JP7048219B2 - Pachinko machine - Google Patents

Pachinko machine Download PDF

Info

Publication number
JP7048219B2
JP7048219B2 JP2017097685A JP2017097685A JP7048219B2 JP 7048219 B2 JP7048219 B2 JP 7048219B2 JP 2017097685 A JP2017097685 A JP 2017097685A JP 2017097685 A JP2017097685 A JP 2017097685A JP 7048219 B2 JP7048219 B2 JP 7048219B2
Authority
JP
Japan
Prior art keywords
random number
bit
buffer
number generation
game
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.)
Active
Application number
JP2017097685A
Other languages
Japanese (ja)
Other versions
JP2018191916A (en
Inventor
貴博 上田
Original Assignee
株式会社平和
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社平和 filed Critical 株式会社平和
Priority to JP2017097685A priority Critical patent/JP7048219B2/en
Publication of JP2018191916A publication Critical patent/JP2018191916A/en
Application granted granted Critical
Publication of JP7048219B2 publication Critical patent/JP7048219B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、遊技機に関する。 The present invention relates to a gaming machine.

メダルやパチンコ玉などの遊技媒体に対して一定の遊技価値を付与し、このような遊技媒体を獲得するための遊技を行うパチンコ機やスロットマシンなどの遊技機が知られている。この種の遊技機では、遊技の進行や演出の決定などのために乱数を用いた様々な抽選が行われている。例えば、従来、所定のサイクルでカウントアップされるリーチ乱数値設定領域のカウント値を、スタートSWが遊技球を検出したことに基づいて読み込み、RAMのリーチ乱数値蓄積領域にリーチ乱数値として蓄積し、このリーチ乱数値に基づいてリーチ演出における特別図柄の変動パターンの内容を設定するパチンコ機が提案されている(下記の特許文献1)。また、ハードウェアに由来する不規則性を利用したいわゆるハードウェア乱数方式の他、ソフトウェア乱数方式、例えば、メルセンヌ・ツイスタ法などの乱数生成アルゴリズムによって擬似乱数を生成し、抽選に用いるスロットマシンが知られている(下記の特許文献2)。 There are known gaming machines such as pachinko machines and slot machines that give a certain amount of gaming value to gaming media such as medals and pachinko balls and perform games for acquiring such gaming media. In this type of gaming machine, various lottery using random numbers is performed for the progress of the game and the determination of the production. For example, conventionally, the count value in the reach random value setting area, which is counted up in a predetermined cycle, is read based on the detection of the game ball by the start SW, and is accumulated as the reach random value in the reach random value storage area of the RAM. , A pachinko machine has been proposed that sets the content of a variation pattern of a special symbol in a reach effect based on this reach random value (Patent Document 1 below). In addition to the so-called hardware random number method that utilizes the irregularity derived from hardware, the slot machine that generates pseudo-random numbers by a software random number method, for example, a random number generation algorithm such as the Mersenne Twister method, is known for lottery. (Patent Document 2 below).

特開2005-329139号公報Japanese Unexamined Patent Publication No. 2005-329139 特許第5467559号公報Japanese Patent No. 5467559

上記のメルセンヌ・ツイスタ法のようなソフトウェア乱数生成処理系は、乱数周期が長い、高次元(623次元)に乱数が均等分布する良質な疑似乱数列を生成することができる。ところが、近年のソフトウェアによる乱数生成プログラムは、例えば64ないし32ビット程度のビット幅の乱数を生成するよう構成されていることが多いのに対して、遊技機、例えば抽選や演出制御のために必要になる乱数はそれよりもビット幅の小さい16ビット幅程度の乱数である場合があり、乱数生成プログラムで生成した乱数を、抽選や演出のための制御プログラムで利用できる乱数に変換する必要がある。その場合、例えば32ビットずつ乱数生成プログラムで生成した乱数を1つずつ16ビットに変換するような処理を行うと、生成したビットパターンを全て利用できず、また処理負荷が増大する虞がある。 A software random number generation processing system such as the Mersenne Twister method described above can generate a high-quality pseudo-random number sequence in which random numbers are evenly distributed in high dimensions (623 dimensions) with a long random number period. However, while recent software-based random number generation programs are often configured to generate random numbers with a bit width of, for example, 64 to 32 bits, they are necessary for game machines, such as lottery and production control. The random number that becomes is may be a random number with a bit width of about 16 bits, which is smaller than that, and it is necessary to convert the random number generated by the random number generation program into a random number that can be used in the control program for lottery or production. .. In that case, for example, if the random numbers generated by the random number generation program for 32 bits are converted into 16 bits one by one, all the generated bit patterns cannot be used and the processing load may increase.

本発明の課題は、上記に鑑み、遊技機において、乱数生成系で生成される乱数と、乱数を利用する制御系、例えば、演出制御部が必要とする乱数のサイズが異なっている場合でも効率よく、また容易に乱数生成手段で乱数を発生させ、乱数を利用する制御系が必要とするサイズの乱数に分割して出力し、利用させることができるようにすることにある。 In view of the above, the subject of the present invention is efficiency even when the size of the random number generated by the random number generation system and the control system using the random number, for example, the random number required by the effect control unit are different in the game machine. It is often and easily generated by a random number generation means, divided into random numbers of a size required by a control system using the random numbers, output, and made available for use.

上記課題を解決するため、本発明においては、乱数に基づき制御を行う制御手段(P1)と、所定アルゴリズムに基づき乱数を生成する乱数生成手段(P3)と、前記乱数生成手段により生成された乱数を複数個の乱数に分割する分割手段(S12~S14)と、を備え、前記分割手段(S12~S14)により複数個に分割された乱数を、乱数が生成された順序を崩さないように残らず前記制御手段(P1)に出力し、前記制御手段(P1)は、分割された乱数に基づき制御を行う構成を採用した。 In order to solve the above problems, in the present invention, a control means (P1) that controls based on a random number, a random number generation means (P3) that generates a random number based on a predetermined algorithm, and a random number generated by the random number generation means. Is provided with a dividing means (S12 to S14) for dividing the random numbers into a plurality of random numbers, and the random numbers divided into a plurality of random numbers by the dividing means (S12 to S14) are left so as not to break the order in which the random numbers are generated. The control means (P1) is output to the control means (P1), and the control means (P1) adopts a configuration in which control is performed based on the divided random numbers.

上記構成によれば、乱数生成手段が生成する乱数および制御手段が必要とする乱数のサイズ、例えばビット幅などが異なっているような場合でも、効率よく、また容易に乱数生成手段で乱数を発生させ、例えば制御手段が必要とするサイズの乱数に分割して乱数が生成された順序を崩さないように制御手段に出力し、利用させることができる。 According to the above configuration, even when the size of the random number generated by the random number generation means and the random number required by the control means, for example, the bit width, are different, the random number generation means efficiently and easily generates the random number. For example, it can be divided into random numbers of a size required by the control means and output to the control means so as not to break the order in which the random numbers are generated, and can be used.

なお、上記の課題を解決するための手段、および発明の効果の欄に括弧書きで示した参照符号は、下記の実施形態の部材との対応付けを示す便宜上のものに過ぎず、本発明の構成を限定することを意図したものではない。 It should be noted that the means for solving the above problems and the reference numerals shown in parentheses in the column of the effect of the invention are merely for convenience showing the association with the members of the following embodiments, and are merely for convenience of the present invention. It is not intended to limit the configuration.

本発明の実施の形態に係る遊技機の扉が開放された状態における外観構成を示す斜視図である。It is a perspective view which shows the appearance structure in the state which the door of the gaming machine which concerns on embodiment of this invention is opened. 本発明の実施形態に係る遊技機の正面図である。It is a front view of the gaming machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機の機能ブロックを説明する図である。It is a figure explaining the functional block of the gaming machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機の副制御部の詳細構成を説明する図である。It is a figure explaining the detailed structure of the auxiliary control part of the gaming machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機のメモリアドレス空間を示す図である。It is a figure which shows the memory address space of the gaming machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機における乱数生成に係る流れを説明する概念図である。It is a conceptual diagram explaining the flow concerning the random number generation in the gaming machine which concerns on embodiment of this invention. デバッグカウンタのカウンタ値の32ビット拡張の方法を説明する模式図である。It is a schematic diagram explaining the method of 32-bit extension of the counter value of a debug counter. 本発明の実施形態に係る遊技機における電源投入時の乱数生成処理を示すフローチャート図である。It is a flowchart which shows the random number generation processing at the time of power-on in the gaming machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機における乱数バッファへの乱数の格納処理を説明する概念図である。It is a conceptual diagram explaining the storage process of a random number in a random number buffer in the gaming machine which concerns on embodiment of this invention. (a)はタスク管理プログラムにおけるタスクのスケジューリングを説明する模式図、(b)は図10(a)にてスケジューリングされたタスクの実行状態を示すタイムチャート図である。(A) is a schematic diagram illustrating task scheduling in a task management program, and (b) is a time chart diagram showing an execution state of the task scheduled in FIG. 10 (a). 本発明の実施形態に係る遊技機におけるシステム安定時の乱数生成処理を示すフローチャートである。It is a flowchart which shows the random number generation processing at the time of system stabilization in the gaming machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機における32ビット乱数の生成個数を決定する処理を示すフローチャートである。It is a flowchart which shows the process of determining the generation number of 32-bit random numbers in the gaming machine which concerns on embodiment of this invention. (a)は本発明の実施形態に係る遊技機における乱数取得ドライバの要部を示すフローチャート図、(b)および(c)は当該の乱数取得ドライバで用いられる乱数バッファの枯渇に対処する異なる代替処理をそれぞれ示すフローチャート図である。(A) is a flowchart showing a main part of the random number acquisition driver in the game machine according to the embodiment of the present invention, and (b) and (c) are different alternatives for dealing with the exhaustion of the random number buffer used in the random number acquisition driver. It is a flowchart which shows each process. 本発明の実施形態に係る遊技機における、乱数の生成異常に対処する回復処理を備えた乱数生成処理を示すフローチャートである。It is a flowchart which shows the random number generation process which includes the recovery process which copes with the random number generation abnormality in the gaming machine which concerns on embodiment of this invention. 本発明の変形例に係る遊技機の外観構成を示す斜視図である。It is a perspective view which shows the appearance structure of the gaming machine which concerns on the modification of this invention. 本発明の変形例に係る遊技機におけるリールの図柄配列を説明する図である。It is a figure explaining the symbol arrangement of the reel in the gaming machine which concerns on the modification of this invention. 本発明の変形例に係る遊技機の機能ブロックを説明する図である。It is a figure explaining the functional block of the gaming machine which concerns on the modification of this invention.

以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。また、本明細書及び図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略するとともに、本発明に直接関係のない要素については、図示を省略する。 Hereinafter, this embodiment will be described. The embodiments described below do not unreasonably limit the content of the present invention described in the claims. Moreover, not all of the configurations described in the present embodiment are essential constituent requirements of the present invention. Further, in the present specification and the drawings, elements having substantially the same function and configuration are designated by the same reference numerals to omit duplicate description, and elements not directly related to the present invention are shown. Is omitted.

1.構成
図1は、本実施形態の遊技機であるパチンコ機100の斜視図であり、扉が開放された状態を示している。図1に示すように、パチンコ機100は、略矩形状に組まれた四辺によって囲繞空間が形成される外枠102と、外枠102にヒンジ機構によって開閉自在に取り付けられた中枠104と、中枠104にヒンジ機構によって開閉自在に取り付けられた前枠106と、を備えている。
1. 1. Configuration FIG. 1 is a perspective view of the pachinko machine 100, which is the gaming machine of the present embodiment, and shows a state in which the door is opened. As shown in FIG. 1, the pachinko machine 100 includes an outer frame 102 in which a surrounding space is formed by four sides assembled in a substantially rectangular shape, and an inner frame 104 that is openably and closably attached to the outer frame 102 by a hinge mechanism. The middle frame 104 is provided with a front frame 106 that is openable and closable by a hinge mechanism.

中枠104は、外枠102と同様に、略矩形状に組まれた四辺によって囲繞空間が形成されている。パチンコ機100では、中枠104の囲繞空間に遊技盤108を保持している。また、前枠106には、ガラス製又は樹脂製の透過板110が保持されている。そして、パチンコ機100では、中枠104及び前枠106を外枠102に対して閉じると、遊技盤108と透過板110とが所定の間隔を維持して略平行に対面するとともに、パチンコ機100の正面側から、透過板110を介して遊技盤108が視認可能となる。 Similar to the outer frame 102, the middle frame 104 has a surrounding space formed by four sides assembled in a substantially rectangular shape. In the pachinko machine 100, the game board 108 is held in the surrounding space of the middle frame 104. Further, the front frame 106 holds a transparent plate 110 made of glass or resin. Then, in the pachinko machine 100, when the middle frame 104 and the front frame 106 are closed with respect to the outer frame 102, the game board 108 and the transmission plate 110 face each other substantially in parallel while maintaining a predetermined distance, and the pachinko machine 100 The game board 108 can be visually recognized from the front side of the machine via the transmission plate 110.

図2は、本実施形態におけるパチンコ機100の正面図である。図2に示すように、前枠106の下部には、パチンコ機100の正面側に突出する操作ハンドル112が設けられている。操作ハンドル112は、遊技者によって回転操作可能に設けられており、遊技者が操作ハンドル112を回転させて発射操作を行うと、操作ハンドル112の回転角度に応じた強度で、不図示の発射機構によって遊技球が発射される。このようにして発射された遊技球は、遊技盤108に設けられたレール114a、114b間を上昇して遊技領域116に導かれることになる。 FIG. 2 is a front view of the pachinko machine 100 according to the present embodiment. As shown in FIG. 2, an operation handle 112 projecting to the front side of the pachinko machine 100 is provided at the lower part of the front frame 106. The operation handle 112 is provided so as to be rotatable by the player, and when the player rotates the operation handle 112 to perform a firing operation, the firing mechanism (not shown) has a strength corresponding to the rotation angle of the operating handle 112. Fires a game ball. The game ball launched in this way climbs between the rails 114a and 114b provided on the game board 108 and is guided to the game area 116.

遊技領域116は、遊技盤108と透過板110(図1参照)との間隔に形成される空間であって、遊技球が流下又は転動可能な領域である。遊技盤108には、多数の釘や風車が設けられており、遊技領域116に導かれた遊技球が釘や風車に衝突して、不規則な方向に流下、転動するようにしている。 The game area 116 is a space formed at a distance between the game board 108 and the transmission plate 110 (see FIG. 1), and is an area where the game ball can flow down or roll. A large number of nails and windmills are provided on the game board 108, and the game ball guided to the game area 116 collides with the nails and the windmills so as to flow down and roll in an irregular direction.

遊技領域116は、発射機構の発射強度に応じて遊技球の進入度合いを互いに異にする第1遊技領域116a及び第2遊技領域116bを備えている。第1遊技領域116aは、パチンコ機100に正対した遊技者から見て遊技領域116の左側に位置し、第2遊技領域116bは、パチンコ機100に正対した遊技者から見て遊技領域116の右側に位置している。パチンコ機100では、レール114a、114bが遊技領域116の左側にあることから、発射機構によって所定の強度未満の発射強度で発射された遊技球が第1遊技領域116aに進入し、所定の強度以上の発射強度で発射された遊技球が第2遊技領域116bに進入することになる。 The game area 116 includes a first game area 116a and a second game area 116b in which the degree of entry of the game ball differs from each other according to the firing intensity of the firing mechanism. The first gaming area 116a is located on the left side of the gaming area 116 as seen from the player facing the pachinko machine 100, and the second gaming area 116b is the gaming area 116 as seen from the player facing the pachinko machine 100. It is located on the right side of. In the pachinko machine 100, since the rails 114a and 114b are on the left side of the game area 116, the game ball launched by the launch mechanism with a firing intensity lower than the predetermined strength enters the first game area 116a and exceeds the predetermined strength. The gaming ball launched at the firing intensity of the above will enter the second gaming area 116b.

また、遊技領域116には、遊技球が入球可能な一般入賞口118、第1始動口120、第2始動口122が設けられており、一般入賞口118、第1始動口120、第2始動口122に遊技球が入球すると、それぞれ所定の賞球が遊技者に払い出される。なお、パチンコ機100において、賞球数は、1個以上であれば何個でもよく、また、一般入賞口118、第1始動口120、第2始動口122のそれぞれで払い出す賞球数を異ならせてもよいし、同じ賞球数に設定してもよい。パチンコ機100では、第1始動口120に遊技球が入球して払い出す賞球数を、第2始動口122に遊技球が入球して払い出す賞球数よりも少なく設定することも可能である。 Further, the game area 116 is provided with a general winning opening 118, a first starting opening 120, and a second starting opening 122 into which a game ball can enter, and the general winning opening 118, the first starting opening 120, and the second starting opening 122 are provided. When a game ball enters the starting port 122, a predetermined prize ball is paid out to the player. In the pachinko machine 100, the number of prize balls may be any number as long as it is one or more, and the number of prize balls to be paid out at each of the general winning opening 118, the first starting port 120, and the second starting opening 122 is set. They may be different or set to the same number of prize balls. In the pachinko machine 100, the number of prize balls that the game ball enters and pays out at the first starting port 120 may be set to be smaller than the number of prize balls that the game ball enters and pays out at the second starting port 122. It is possible.

本実施形態のパチンコ機100では、第1始動口120内に第1始動領域が設けられ、第2始動口122内に第2始動領域が設けられている。そして、パチンコ機100では、所定の契機として、第1始動口120又は第2始動口122に遊技球が入球して第1始動領域又は第2始動領域に遊技球が進入すると、予め設けられた複数の特別図柄の中からいずれか1つの特別図柄を決定するための抽選が行われる。各特別図柄には、遊技者にとって有利な大役遊技の実行可否や、以後の遊技状態をどのような遊技状態にするかといった種々の特典(遊技利益)が対応付けられている。したがって、遊技者は、第1始動口120又は第2始動口122に遊技球が入球すると、所定の賞球を獲得するのと同時に、種々の特典を受ける権利獲得の機会を獲得することとなる。 In the pachinko machine 100 of the present embodiment, the first starting area is provided in the first starting port 120, and the second starting area is provided in the second starting port 122. Then, in the pachinko machine 100, when the game ball enters the first starting port 120 or the second starting port 122 and the game ball enters the first starting area or the second starting area, the pachinko machine 100 is provided in advance. A lottery is held to determine one of the special symbols from among the plurality of special symbols. Each special symbol is associated with various benefits (game profits) such as whether or not a player can execute a major role game that is advantageous to the player, and what kind of game state the subsequent game state should be. Therefore, when the game ball enters the first starting port 120 or the second starting port 122, the player obtains a predetermined prize ball and at the same time obtains an opportunity to acquire the right to receive various benefits. Become.

また、第2始動口122には、可動片122bが開閉可能に設けられており、可動片122bの状態に応じて、第2始動口122への遊技球の進入容易性が変化するように構成されている。具体的には、可動片122bが閉状態にあるときには、第2始動口122への遊技球の入球が不可能となり、可動片122bが開き遊技球の直径よりも開いた状態にあるときには、第2始動口122への遊技球の入球が可能となっている。 Further, the second starting port 122 is provided with a movable piece 122b that can be opened and closed, and is configured so that the ease of entry of the game ball into the second starting port 122 changes according to the state of the movable piece 122b. Has been done. Specifically, when the movable piece 122b is in the closed state, it is impossible for the game ball to enter the second starting port 122, and when the movable piece 122b is open and is in a state of being wider than the diameter of the game ball, It is possible to enter the game ball into the second starting port 122.

パチンコ機100では、遊技領域116に設けられたゲート124内の進入領域を遊技球が通過すると、普通図柄の抽選が行われ、抽選によって当たりに当選すると、可動片122bが所定時間、開状態に制御される。可動片122bが開状態に制御されることで、本実施形態のパチンコ機100では、可動片122bが遊技球を第2始動口122に導く受け皿として機能し、第2始動口122への遊技球の入球が容易となる。なお、パチンコ機100は、可動片122bが閉状態にあるときに、第2始動口122への遊技球の入球が不可能となるように構成されているが、第2始動口122が閉状態にある場合にも一定の頻度で遊技球が入球可能となるように構成されていてもよい。 In the pachinko machine 100, when the game ball passes through the approach area in the gate 124 provided in the game area 116, a lottery of ordinary symbols is performed, and when the winning is won by the lottery, the movable piece 122b is opened for a predetermined time. Be controlled. By controlling the movable piece 122b to be in the open state, in the pachinko machine 100 of the present embodiment, the movable piece 122b functions as a saucer for guiding the game ball to the second starting port 122, and the game ball to the second starting port 122. It becomes easy to enter the ball. The pachinko machine 100 is configured so that the game ball cannot enter the second starting port 122 when the movable piece 122b is in the closed state, but the second starting port 122 is closed. It may be configured so that the game ball can enter the ball at a constant frequency even when it is in a state.

遊技領域116には、遊技球が入球可能な大入賞口128が設けられている。大入賞口128には、開閉扉128bが開閉可能に設けられており、通常、開閉扉128bが大入賞口128を閉鎖して、大入賞口128への遊技球の入球が不可能となっている。これに対して、パチンコ機100では、大役遊技が実行されると、開閉扉128bが開放されて、大入賞口128への遊技球の入球が可能となる。そして、パチンコ機100では、大入賞口128に遊技球が入球すると、所定の賞球が遊技者に払い出される。 The game area 116 is provided with a large winning opening 128 into which a game ball can enter. An opening / closing door 128b is provided in the large winning opening 128 so that the opening / closing door 128b can be opened / closed. Normally, the opening / closing door 128b closes the large winning opening 128, making it impossible for a game ball to enter the large winning opening 128. ing. On the other hand, in the pachinko machine 100, when the big role game is executed, the opening / closing door 128b is opened, and the game ball can enter the big winning opening 128. Then, in the pachinko machine 100, when a game ball enters the large prize opening 128, a predetermined prize ball is paid out to the player.

遊技領域116の最下部には、一般入賞口118、第1始動口120、第2始動口122、大入賞口128のいずれにも入球しなかった遊技球を、遊技領域116から遊技盤108の背面側に排出する排出口130が設けられている。 At the bottom of the game area 116, game balls that did not enter any of the general winning opening 118, the first starting opening 120, the second starting opening 122, and the large winning opening 128 are placed from the game area 116 to the game board 108. A discharge port 130 for discharging is provided on the back side of the above.

パチンコ機100には、遊技の進行中等に演出を行う演出装置200として、液晶表示装置からなる演出表示装置201、駆動装置からなる演出役物装置202、さまざまな点灯態様や発光色に制御されるランプからなる演出照明装置204、スピーカからなる楽曲出力装置206、遊技者の演出に関する操作を受け付ける演出操作装置208が設けられている。 The pachinko machine 100 is controlled by an effect display device 201 composed of a liquid crystal display device, an effect accessory device 202 composed of a drive device, and various lighting modes and emission colors as an effect device 200 for producing an effect while a game is in progress. An effect lighting device 204 composed of a lamp, a music output device 206 composed of a speaker, and an effect operation device 208 for receiving operations related to the player's effect are provided.

演出表示装置201は、遊技盤108の略中央部分において、パチンコ機100の正面側から視認可能な位置に画像を表示する画像表示部を備えている。演出表示装置201は、図2に示すように、画像表示部に演出図柄210a~210cが変動表示され、演出図柄210a~210cの停止表示態様によって大役抽選結果が遊技者に報知される変動演出が実行されることとなる。 The effect display device 201 includes an image display unit that displays an image at a position visible from the front side of the pachinko machine 100 in a substantially central portion of the game board 108. As shown in FIG. 2, in the effect display device 201, the effect symbols 210a to 210c are variablely displayed on the image display unit, and the effect lottery result is notified to the player depending on the stop display mode of the effect symbols 210a to 210c. It will be executed.

演出役物装置202は、演出表示装置201よりも前方に配置され、通常、遊技盤108の背面側に退避しているが、演出図柄210a~210cの変動表示中などに、演出表示装置201の前方まで移動して、遊技者に大当たりの期待感を付与するものである。 The effect display device 202 is arranged in front of the effect display device 201 and is normally retracted to the back side of the game board 108. However, during the variable display of the effect symbols 210a to 210c, the effect display device 201 It moves to the front and gives the player a sense of expectation of a big hit.

演出照明装置204は、例えばLED(Light Emitting Diode)から構成され、演出役物装置202や遊技盤108等に設けられており、演出表示装置201に表示される画像等に合わせて、さまざまに点灯制御される。 The effect lighting device 204 is composed of, for example, an LED (Light Emitting Diode), is provided on the effect accessory device 202, the game board 108, or the like, and is lit in various ways according to the image or the like displayed on the effect display device 201. Be controlled.

楽曲出力装置206は、前枠106の上部位置や外枠102(図1参照)の最下部位置に設けられ、演出表示装置201に表示される画像等に合わせて、パチンコ機100の正面側に向けてさまざまな楽曲を出力する。なお、楽曲とは、楽音、噪音、音声、擬音等、音に関する全ての概念を含む。 The music output device 206 is provided at the upper position of the front frame 106 and the lowest position of the outer frame 102 (see FIG. 1), and is located on the front side of the pachinko machine 100 in accordance with the image displayed on the effect display device 201. Output various songs for. The musical piece includes all concepts related to sound such as musical tones, tones, sounds, and onomatopoeia.

演出操作装置208は、遊技者の押下操作を受け付けるボタンと、遊技者の回転操作を受け付ける回転操作部(例えば、ジョグダイヤル)と、で構成され、パチンコ機100の幅方向略中央位置であって、かつ、透過板110よりも下方位置に設けられている。演出操作装置208は、演出表示装置201に表示される画像等に合わせて有効化され、操作有効期間内に遊技者の操作を受け付けると、当該操作に応じて、様々な演出が実行される。 The effect operation device 208 is composed of a button for receiving a player's pressing operation and a rotation operation unit (for example, a jog dial) for receiving a player's rotation operation, and is substantially at the center position in the width direction of the pachinko machine 100. Moreover, it is provided at a position below the transmission plate 110. The effect operation device 208 is enabled according to an image or the like displayed on the effect display device 201, and when the player's operation is received within the operation valid period, various effects are executed according to the operation.

また、演出操作装置208の後方には、パチンコ機100から払い出される賞球や、遊技球貸出装置から貸し出される遊技球が導かれる上皿132が設けられ、上皿132の下方に下皿134が設けられている。パチンコ機100では、上皿132が遊技球で一杯になると、遊技球が下皿134に導かれることとなる。また、下皿134の底面には、下皿134から遊技球を排出するための球抜き孔(不図示)が形成されている。球抜き孔は、通常、開閉板(不図示)によって閉じられているが、球抜きつまみ134aを図中左右方向にスライドさせることにより、当該球抜きつまみ134aと一体となって開閉板がスライドし、球抜き孔から下皿134の下方に遊技球を排出することが可能となっている。 Further, behind the effect operation device 208, a prize ball paid out from the pachinko machine 100 and an upper plate 132 to which the game ball rented from the game ball lending device is guided are provided, and a lower plate 134 is provided below the upper plate 132. It is provided. In the pachinko machine 100, when the upper plate 132 is filled with the game balls, the game balls are guided to the lower plate 134. Further, on the bottom surface of the lower plate 134, a ball extraction hole (not shown) for discharging the game ball from the lower plate 134 is formed. The ball pulling hole is normally closed by an opening / closing plate (not shown), but by sliding the ball pulling knob 134a in the left-right direction in the figure, the opening / closing plate slides integrally with the ball pulling knob 134a. , It is possible to eject the game ball below the lower plate 134 from the ball extraction hole.

遊技盤108には、遊技領域116の外方であって、かつ、遊技者が視認可能な位置に、遊技に係る種々の状況を表示するための装置として、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170及び右打ち報知表示器172が設けられている。 On the game board 108, as a device for displaying various situations related to the game at a position outside the game area 116 and visible to the player, the first special symbol display 160, No. 1 2 A special symbol display 162, a first special symbol hold display 164, a second special symbol hold display 166, a normal symbol display 168, a normal symbol hold display 170, and a right-handed notification display 172 are provided.

図3は、本実施形態のパチンコ機100の機能ブロック図である。主制御部300は、遊技の進行を制御し、メインCPU300aと、メインROM300bと、メインRAM300cと、を備えている。メインCPU300aは、各検出スイッチやタイマからの入力信号に基づいて、メインROM300bに格納されたプログラムを読み出して演算処理を行うとともに、各装置や表示器を直接制御したり、あるいは演算処理の結果に応じて他の制御部に主制御部300で生成したコマンドを送信したりすることで、遊技の進行に係る制御処理を実行する。メインRAM300cは、メインCPU300aの演算処理時におけるデータのワークエリアとして機能する。 FIG. 3 is a functional block diagram of the pachinko machine 100 of the present embodiment. The main control unit 300 controls the progress of the game, and includes a main CPU 300a, a main ROM 300b, and a main RAM 300c. Based on the input signals from each detection switch and timer, the main CPU 300a reads the program stored in the main ROM 300b and performs arithmetic processing, directly controls each device and display, or produces the result of arithmetic processing. By transmitting the command generated by the main control unit 300 to other control units in response, the control process related to the progress of the game is executed. The main RAM 300c functions as a data work area during arithmetic processing of the main CPU 300a.

主制御部300には、一般入賞口118に遊技球が入球したことを検出する一般入賞口検出スイッチ118sと、第1始動口120に遊技球が入球したことを検出する第1始動口検出スイッチ120sと、第2始動口122に遊技球が入球したことを検出する第2始動口検出スイッチ122sと、ゲート124を遊技球が通過したことを検出するゲート検出スイッチ124sと、大入賞口128に遊技球が入球したことを検出する大入賞口検出スイッチ128sと、が接続されており、各検出スイッチから出力される検出信号が主制御部300に入力されるよう構成されている。 The main control unit 300 includes a general winning opening detection switch 118s that detects that a game ball has entered the general winning opening 118, and a first starting port that detects that a game ball has entered the first starting opening 120. The detection switch 120s, the second start port detection switch 122s that detects that the game ball has entered the second start port 122, the gate detection switch 124s that detects that the game ball has passed through the gate 124, and a big prize. A large winning opening detection switch 128s for detecting that a game ball has entered the mouth 128 is connected, and the detection signal output from each detection switch is configured to be input to the main control unit 300. ..

また、主制御部300には、第2始動口122の可動片122bを作動する普通電動役物ソレノイド122cと、大入賞口128を開閉する開閉扉128bを作動する大入賞口ソレノイド128cと、が接続されており、主制御部300によって、第2始動口122及び大入賞口128の開閉制御が実行されるよう構成されている。 Further, the main control unit 300 includes a normal electric accessory solenoid 122c that operates the movable piece 122b of the second starting port 122, and a large winning opening solenoid 128c that operates the opening / closing door 128b that opens and closes the large winning opening 128. It is connected, and is configured so that the main control unit 300 executes opening / closing control of the second starting port 122 and the large winning opening 128.

また、主制御部300には、第1特別図柄表示器160と、第2特別図柄表示器162と、第1特別図柄保留表示器164と、第2特別図柄保留表示器166と、普通図柄表示器168と、普通図柄保留表示器170と、右打ち報知表示器172と、が接続されており、主制御部300によって、これら各表示器の表示制御が実行される。 Further, the main control unit 300 includes a first special symbol display 160, a second special symbol display 162, a first special symbol hold display 164, a second special symbol hold display 166, and a normal symbol display. The device 168, the normal symbol hold display 170, and the right-handed notification display 172 are connected, and the display control of each of these displays is executed by the main control unit 300.

本実施形態のパチンコ機100では、主に第1始動口120又は第2始動口122への遊技球の入球によって開始される特別遊技と、ゲート124を遊技球が通過することによって開始される普通遊技と、に遊技の種別が大別される。そして、主制御部300のメインROM300bには、特別遊技及び普通遊技を進行するための種々のプログラムや、各種の遊技に必要なデータ、テーブルが記憶されている。 In the pachinko machine 100 of the present embodiment, a special game started mainly by entering the game ball into the first start port 120 or the second start port 122, and a special game started by the game ball passing through the gate 124. The types of games are roughly divided into normal games and games. The main ROM 300b of the main control unit 300 stores various programs for advancing special games and normal games, as well as data and tables required for various games.

更に、主制御部300には、上記メインCPU300aと、メインROM300bと、メインRAM300c以外にも、乱数発生器430aやサンプリング回路430bが実装されており、乱数発生器430aは、大役遊技判定用にハードウェア乱数(例えば 10進数表記で0~65535)を発生させる。乱数発生器430aにより発生された乱数は、サンプリング回路430bを通じてメインCPU300aに入力される。メインCPU300aは、上記第1始動口検出スイッチ120sもしくは第2始動口検出スイッチ122sが遊技球を検出すると、上記サンプリング回路430bを通じて乱数発生器430aから乱数を取得し、この取得した乱数に基づいて特別図柄の当否に係る抽選を実行する。また、ゲート検出スイッチ124sが遊技球を検出すると、上記サンプリング回路430bを通じて乱数発生器430aから乱数を取得し、この取得した乱数に基づいて普通図柄の当否に係る抽選を実行する。そして、これら抽選の結果に基づいて、普通電動役物ソレノイド122cに信号を出力し可動片122bを作動させる制御、大入賞口ソレノイド128cに信号を出力し開閉扉128bを作動させる制御等、遊技の進行に係る制御を実行する。 Further, in addition to the main CPU 300a, the main ROM 300b, and the main RAM 300c, a random number generator 430a and a sampling circuit 430b are mounted on the main control unit 300, and the random number generator 430a is hard for determining a major game. Generates a hardware random number (for example, 0 to 65535 in decimal notation). The random number generated by the random number generator 430a is input to the main CPU 300a through the sampling circuit 430b. When the first start port detection switch 120s or the second start port detection switch 122s detects a game ball, the main CPU 300a acquires a random number from the random number generator 430a through the sampling circuit 430b, and is special based on the acquired random number. A lottery related to the success or failure of the symbol is executed. Further, when the gate detection switch 124s detects the game ball, a random number is acquired from the random number generator 430a through the sampling circuit 430b, and a lottery relating to the success or failure of the normal symbol is executed based on the acquired random number. Then, based on the results of these lottery, a signal is output to the ordinary electric accessory solenoid 122c to operate the movable piece 122b, a signal is output to the large winning opening solenoid 128c to operate the opening / closing door 128b, and the like. Performs progress control.

また、主制御部300には、払出・発射制御部310及び副制御部330が接続されている。パチンコ機100は、それぞれ独立した制御基板として、主制御部300と、払出・発射制御部310と、副制御部330と、を有しており、副制御部330は、主制御部300から副制御部330への一方向にのみ通信可能な態様で主制御部300と接続されている。なお、各基板には、不図示の電源基板が接続されており、電源基板を介して商用電源から各基板に電力供給が実行されている。 Further, a payout / launch control unit 310 and a sub control unit 330 are connected to the main control unit 300. The pachinko machine 100 has a main control unit 300, a payout / launch control unit 310, and a sub control unit 330 as independent control boards, and the sub control unit 330 is subordinate to the main control unit 300. It is connected to the main control unit 300 in such a manner that it can communicate with the control unit 330 in only one direction. A power supply board (not shown) is connected to each board, and power is supplied from a commercial power source to each board via the power supply board.

払出・発射制御部310は、遊技球を発射させるための制御及び賞球を払い出すための制御を行う。払出・発射制御部310も、主制御部300と略同様に、CPU、ROM、RAMを備えており、主制御部300に対して双方向に通信可能に接続されている。払出・発射制御部310には、遊技情報出力端子板312が接続されており、主制御部300から出力される遊技進行上の種々の情報が、払出・発射制御部310及び遊技情報出力端子板312を介して、遊技店のホールコンピュータ等に出力されることとなる。 The payout / launch control unit 310 controls to launch the game ball and controls to pay out the prize ball. The payout / launch control unit 310 also includes a CPU, a ROM, and a RAM, similarly to the main control unit 300, and is connected to the main control unit 300 so as to be able to communicate in both directions. A game information output terminal board 312 is connected to the payout / launch control unit 310, and various information on the game progress output from the main control unit 300 is transmitted to the payout / launch control unit 310 and the game information output terminal board. It will be output to a hall computer or the like of a game store via 312.

また、払出・発射制御部310には、貯留部に貯留された遊技球を賞球として遊技者に払い出すための払出モータ314が接続されている。払出・発射制御部310は、主制御部300から送信された払出個数指定コマンドに基づいて払出モータ314を制御して所定の賞球を遊技者に払い出すように制御する。このとき、パチンコ機100では、払い出された遊技球数が払出球計数スイッチ316sによって検出され、払い出すべき賞球が遊技者に払い出されたかが把握されるように構成されている。 Further, a payout motor 314 for paying out the game ball stored in the storage unit to the player as a prize ball is connected to the payout / launch control unit 310. The payout / launch control unit 310 controls the payout motor 314 based on the payout number designation command transmitted from the main control unit 300 to control the player to pay out a predetermined prize ball. At this time, the pachinko machine 100 is configured so that the number of game balls paid out is detected by the payout ball counting switch 316s, and it is known whether the prize balls to be paid out are paid out to the player.

また、払出・発射制御部310には、下皿134の満タン状態を検出する皿満タン検出スイッチ318sが接続されている。皿満タン検出スイッチ318sは、賞球として払い出される遊技球を下皿134に導く通路に設けられており、当該通路を遊技球が通過するたびに、遊技球検出信号を払出・発射制御部310に出力するように構成されている。 Further, a plate full tank detection switch 318s for detecting a full tank state of the lower plate 134 is connected to the payout / launch control unit 310. The plate full tank detection switch 318s is provided in a passage that guides the game ball to be paid out as a prize ball to the lower plate 134, and each time the game ball passes through the passage, the game ball detection signal is paid out and the launch control unit 310. It is configured to output to.

そして、皿満タン検出スイッチ318sは、下皿134に所定量以上の遊技球が貯留された状態である満タン状態になると、下皿134に向かう通路内に遊技球が滞留することで、払出・発射制御部310に向けて遊技球検出信号を連続的に出力する。払出・発射制御部310は、遊技球検出信号が所定時間連続して入力された場合に、下皿134が満タン状態であると判断し、皿満タンコマンドを主制御部300に送信する。払出・発射制御部310は、皿満タンコマンドを送信した後、遊技球検出信号の連続入力が途絶えた場合には、満タン状態が解除されたと判断し、皿満タン解除コマンドを主制御部300に送信する。 Then, when the plate full tank detection switch 318s is in a full tank state in which a predetermined amount or more of the game balls are stored in the lower plate 134, the game balls stay in the passage toward the lower plate 134 and are discharged. -The game ball detection signal is continuously output to the launch control unit 310. When the game ball detection signal is continuously input for a predetermined time, the payout / launch control unit 310 determines that the lower plate 134 is in a full tank state, and transmits a plate full tank command to the main control unit 300. If the continuous input of the game ball detection signal is interrupted after the dish full tank command is transmitted, the payout / launch control unit 310 determines that the full tank state has been canceled, and issues the dish full tank release command to the main control unit. Send to 300.

また、払出・発射制御部310には、遊技球の発射制御を行う払出・発射制御回路320が設けられている。払出・発射制御部310には、操作ハンドル112に設けられ、当該操作ハンドル112に遊技者が触れたことを検出するタッチセンサ112sと、操作ハンドル112の操作角度を検出する操作ボリューム112aと、が接続されている。そして、タッチセンサ112s及び操作ボリューム112aから信号が入力されると、払出・発射制御回路320において、遊技球発射装置に設けられた発射用ソレノイド112cを通電して遊技球を発射させる制御が実行される。 Further, the payout / launch control unit 310 is provided with a payout / launch control circuit 320 that controls the launch of the game ball. The payout / launch control unit 310 includes a touch sensor 112s provided on the operation handle 112 and detecting that the player touches the operation handle 112, and an operation volume 112a for detecting the operation angle of the operation handle 112. It is connected. Then, when a signal is input from the touch sensor 112s and the operation volume 112a, the payout / launch control circuit 320 executes a control to energize the launch solenoid 112c provided in the game ball launcher to launch the game ball. To.

副制御部330は、主に遊技中や待機中などの各演出を制御し、図3及び図4に示すように、サブCPU330a1及びVDP(Video Display Processor)330a2によって構成される演出用制御チップ330aと、サブROM330bと、サブRAM330cと、を備えている。また、副制御部330には、演出装置200が接続されていると共に、演出操作装置208として、遊技者の操作を検出する押下検出スイッチ2081s及び回転検出スイッチ2082sが接続されている。押下検出スイッチ2081sは、遊技者が演出操作装置208のボタンを押下操作した場合に、遊技者の押下操作を検出し、回転検出スイッチ2082sは、遊技者が演出操作装置208の回転操作部を回転操作した場合に、遊技者の回転操作を検出する。 The sub-control unit 330 mainly controls each effect such as during a game or during standby, and as shown in FIGS. 3 and 4, an effect control chip 330a composed of a sub CPU 330a1 and a VDP (Video Display Processor) 330a2. And a sub ROM 330b and a sub RAM 330c. Further, the effect device 200 is connected to the sub control unit 330, and the press detection switch 2081s and the rotation detection switch 2082s for detecting the player's operation are connected as the effect operation device 208. The press detection switch 2081s detects the player's pressing operation when the player presses the button of the effect operation device 208, and the rotation detection switch 2082s causes the player to rotate the rotation operation unit of the effect operation device 208. When operated, the player's rotation operation is detected.

サブROM330bは、詳しくは図4に示す制御ROM654、画像・音声ROM611などにより構成されており、演出プログラムP1、乱数種生成プログラムP2、乱数生成プログラムP3、タスク管理プログラムP4、乱数取得ドライバP5、デバッグ情報取得ドライバP6などの各種プログラムや、演出の内容を決定するための複数の演出抽選テーブルなどの演出データが格納されている。サブCPU330a1は、これらサブROM330bに格納されたプログラムを読み出して演算処理を行うことにより、演出制御手段、乱数種生成手段、乱数生成手段、タスク管理手段として機能する。また、サブRAM330cは、詳しくは図4に示すCPURAM602、内蔵eDRAM604及びバックアップSRAM655などにより構成されており、サブCPU330a1の演算処理時におけるデータのワークエリアとして機能する。 The sub ROM 330b is specifically composed of the control ROM 654 and the image / audio ROM 611 shown in FIG. 4, and includes an effect program P1, a random number seed generation program P2, a random number generation program P3, a task management program P4, a random number acquisition driver P5, and debugging. Various programs such as the information acquisition driver P6 and production data such as a plurality of production lottery tables for determining the content of the production are stored. The sub CPU 330a1 functions as an effect control means, a random number seed generation means, a random number generation means, and a task management means by reading the programs stored in the sub ROM 330b and performing arithmetic processing. Further, the sub RAM 330c is specifically composed of the CPU RAM 602, the built-in eRAM 604, the backup SRAM 655, etc. shown in FIG. 4, and functions as a data work area at the time of arithmetic processing of the sub CPU 330a1.

演出制御手段は、演出プログラムP1がサブCPU330a1により読み出し、実行されることによって機能する手段であり、実行する演出を乱数に基づいて決定する演出抽選処理、演出表示装置201に画像を表示させる制御である画像表示処理、演出役物装置202を駆動させる駆動制御処理、演出照明装置204を点灯させる点灯制御処理、楽曲出力装置206から楽曲を出力させる楽曲出力制御処理等の演出に係る制御を実行する。演出制御手段は、これらの演出処理を、主制御部300から送信されたコマンドやタイマからの入力信号、演出操作装置208からの入力信号などの外部信号に基づいて実行する。なお、この外部信号を生成するタイマとしては、ウォッチ・ドッグ・タイマなどがある。 The effect control means is a means that functions by reading and executing the effect program P1 by the sub CPU 330a1. The effect lottery process that determines the effect to be executed based on a random number, and the control that displays an image on the effect display device 201. It executes control related to production such as a certain image display process, a drive control process for driving the effect accessory device 202, a lighting control process for lighting the effect lighting device 204, and a music output control process for outputting music from the music output device 206. .. The effect control means executes these effect processes based on external signals such as commands transmitted from the main control unit 300, input signals from the timer, and input signals from the effect operation device 208. The timer that generates this external signal includes a watch dog timer and the like.

乱数種生成手段は、乱数種生成プログラムP2がサブCPU330a1により読み出し、実行されることによって機能する手段であり、上記演出抽選処理にて使用されるソフトウェア乱数(擬似乱数)を演算する際の基となる乱数種(以下、シード値ともいう)を生成する。 The random number seed generation means is a means that functions by being read and executed by the sub CPU 330a1 by the random number seed generation program P2, and is a basis for calculating a software random number (pseudo-random number) used in the above-mentioned effect lottery process. Generates a random number species (hereinafter also referred to as a seed value).

乱数生成手段は、乱数生成プログラムP3がサブCPU330a1により読み出し、実行されることによって機能する手段であり、所定の乱数生成アルゴリズムに基づいて演算により乱数を生成する乱数生成処理を実行する。副制御部330では、ハードウェア乱数を用いて抽選を行う主制御部300とは異なり、乱数生成アルゴリズムに基づいた演算により生成されるソフトウェア乱数を使用する。 The random number generation means is a means that functions by being read and executed by the sub CPU 330a1 by the random number generation program P3, and executes a random number generation process that generates random numbers by calculation based on a predetermined random number generation algorithm. The sub-control unit 330 uses software random numbers generated by an operation based on a random number generation algorithm, unlike the main control unit 300, which draws lots using hardware random numbers.

タスク管理手段は、タスク管理プログラムP4がサブCPU330a1により読み出し、実行されることによって機能する手段であり、サブCPU330a1が実行する制御処理に係るタスクの優先度を設定する。なお、ここで、タスクとは、サブCPU330a1が実行することのできる処理の単位であり、プログラムを実行する際の処理(以下、プロセスともいう)を細分化した処理単位である。タスク管理手段は、間隔の短い所定時間毎(本実施の形態では30fps(33.33ms)のサイクル)に優先度の設定を更新すると共に、サブCPU330a1は、上記所定時間内において実行可能なタスクを優先度に従って逐次処理する。上記処理が繰り返し実行されることによって、遊技者には複数のプロセスが同時に実行されているように見える。 The task management means functions by reading and executing the task management program P4 by the sub CPU 330a1 and sets the priority of the task related to the control process executed by the sub CPU 330a1. Here, the task is a unit of processing that can be executed by the sub CPU 330a1, and is a processing unit that subdivides the processing (hereinafter, also referred to as a process) when executing the program. The task management means updates the priority setting every predetermined time with a short interval (cycle of 30 fps (33.33 ms) in the present embodiment), and the sub CPU 330a1 performs a task that can be executed within the predetermined time. Sequential processing is performed according to priority. By repeatedly executing the above processes, it appears to the player that a plurality of processes are being executed at the same time.

<副制御部の詳細構成>
ついで、上記副制御部330の詳細構成について図4及び図5に基づいて説明をする。図4に示すように、演出用制御チップ330aは、副制御部330の制御主体を構成するサブCPU330a1、およびVDP330a2を備えており、CPUをVDPに取り込む形で一体のハードウェアLSIによって構成されている。
<Detailed configuration of sub-control unit>
Next, the detailed configuration of the sub-control unit 330 will be described with reference to FIGS. 4 and 5. As shown in FIG. 4, the effect control chip 330a includes a sub CPU 330a1 and a VDP 330a2 that form a control main body of the sub control unit 330, and is configured by an integrated hardware LSI in a form of incorporating the CPU into the VDP. There is.

サブCPU330a1は、CPUコア601、CPUコア601が待機時間なくアクセス可能なCPURAM602、遊技機で一般的な同図左側の周辺部材(651~656)との入出力を行うためのI/Oポートアレイ603、主にキャッシュメモリなどとして利用される内蔵eDRAM(Embeded DRAM)604、デバッグ時に使用されるハードウェアカウンタであるデバッグカウンタ605を備えている。 The sub CPU330a1 is an I / O port array for inputting / outputting the CPU core 601 and the CPU RAM 602 that the CPU core 601 can access without waiting time, and the peripheral members (651 to 656) on the left side of the figure, which are common in game machines. It includes a built-in eDRAM (Embedd DRAM) 604 mainly used as a cache memory and the like, and a debug counter 605 which is a hardware counter used at the time of debugging.

I/Oポートアレイ603は、主制御部300と主にコマンド入出力を行うための主制御部I/O651(コマンド受信手段)、計時制御に利用されるRTC(Real Time Clock)652、例えば副制御部330の基板上に配置されたDIPスイッチ653、副制御部330のファームウェアの格納などに用いられる副制御部基板上に配置された制御ROM654、必要に応じて副制御部330の状態をバックアップするために用いられるバックアップSRAM655、およびデバッグUART656などと接続され、これら各部との信号入出力に用いられる。DIPスイッチ653は、デバッグ、検証動作などのためのモード設定などに利用される。 The I / O port array 603 includes a main control unit 300, a main control unit I / O 651 (command receiving means) mainly for input / output commands, and an RTC (Real Time Clock) 652 used for timekeeping control, for example, a sub. The DIP switch 653 arranged on the board of the control unit 330, the control ROM 654 arranged on the sub-control unit board used for storing the firmware of the sub-control unit 330, and the state of the sub-control unit 330 are backed up as needed. It is connected to a backup SRAM 655, a debug UART 656, etc., which are used for these purposes, and is used for signal input / output with each of these parts. The DIP switch 653 is used for mode setting for debugging, verification operation, and the like.

VDP330a2は、演出表示装置201と入出力を行うためのLCDI/F641、およびVRAM642から成る画像制御部640を備える。なお、画像制御部640には、画像レンダリングなどを行う画像処理ハードウェアなどが含まれていてもよい。また、本実施形態のVDP330a2は、例えば遊技機に特化された製品であって、楽曲出力装置206を構成するスピーカに対する音声出力を行うためのサウンドI/F621から成る音声制御部620、演出役物装置202などの可動物の駆動系のモータ、ソレノイドの制御、センサ類の検出信号を取り込むためのASIB I/F631を有する可動物/センサ制御部630を備える。更に、VDP330a2は、演出音声や演出画像の背景やキャラクタのような素材を格納した画像・音声ROM611(CGROM)からデータを読み出すためのCGROMI/F650を備えている。 The VDP330a2 includes an image control unit 640 including an effect display device 201, an LCDI / F641 for input / output, and a VRAM642. The image control unit 640 may include image processing hardware or the like for performing image rendering or the like. Further, the VDP330a2 of the present embodiment is, for example, a product specialized for a game machine, and is a sound control unit 620 composed of a sound I / F 621 for outputting sound to a speaker constituting the music output device 206, and a directing role. A movable object / sensor control unit 630 having ASIB I / F631 for controlling a motor of a drive system of a movable object such as an object device 202, controlling a solenoid, and capturing detection signals of sensors is provided. Further, the VDP330a2 includes a CGROMI / F650 for reading data from an image / audio ROM 611 (CGROM) that stores a production voice, a background of the production image, and a material such as a character.

図5は、副制御部330の記憶領域、特にサブCPU330a1がアクセス/管理するメモリアドレス空間の構成の一例を示す図である。なお、図5においては、メモリの高位アドレスを図の下方に、また低位アドレスを図の上方に取っている。図5に示すメモリ配置では、低位アドレスの領域には、メモリマップトI/Oのための記憶領域が並ぶ。即ち、これらメモリマップトI/Oのための領域には、制御ROM654、バックアップSRAM655、外部制御信号I/O606、デバッグUARTI/O656などにサブCPU330a1がアクセスするための領域が含まれる。 FIG. 5 is a diagram showing an example of the configuration of the storage area of the sub control unit 330, particularly the memory address space accessed / managed by the sub CPU 330a1. In FIG. 5, the high address of the memory is taken at the lower part of the figure, and the low address is taken at the upper part of the figure. In the memory arrangement shown in FIG. 5, the storage area for the memory-mapped I / O is arranged in the low address area. That is, the area for these memory-mapped I / O includes an area for the sub CPU 330a1 to access the control ROM 654, the backup SRAM 655, the external control signal I / O 606, the debug UARTI / O656, and the like.

図5の構成では、更にその高位側アドレスに、内蔵eDRAM604の領域が配置され、内蔵eDRAM604の高位側のアドレスにVDP330a2のVRAM642の空間がマッピングされている。また、VRAM642の高位側アドレスの空間には、CPUコア601のレジスタに対してメモリマップトI/Oが可能なCPUレジスタI/O607の領域が配置されている。更に、CPUレジスタI/O607よりも上位アドレス側の空間には、CPURAM602の空間がマッピングされている。 In the configuration of FIG. 5, the area of the built-in eRAM604 is further arranged at the higher address, and the space of the VRAM 642 of the VDP 330a2 is mapped to the higher address of the built-in eRAM 604. Further, in the space of the higher address of the VRAM 642, an area of the CPU register I / O 607 that can be memory-mapped I / O is arranged with respect to the register of the CPU core 601. Further, the space of the CPU RAM 602 is mapped to the space on the upper address side of the CPU register I / O 607.

より詳しくは、バックアップSRAM655にはバックアップ用のバッテリーが接続されており、電源がOFFになっても記憶したデータを保持することができるようになっている。このため、バックアップSRAM655のアドレス領域内には、電源OFF時にサブRAMの特定領域の内容をバックアップするバックアップ領域6552が設けられている。また、バックアップSRAM655のアドレス領域には、後述の乱数種の生成のための変数として用いられる32ビットのカウンタ値を記憶する補助カウンタ6551が設けられている。この補助カウンタ6551は、乱数種生成時に1回だけ固定幅のインクリメント値が加算される。この固定幅のインクリメント値には任意の素数が使用される。 More specifically, a backup battery is connected to the backup SRAM 655 so that the stored data can be retained even when the power is turned off. Therefore, in the address area of the backup SRAM 655, a backup area 6552 for backing up the contents of the specific area of the sub RAM when the power is turned off is provided. Further, in the address area of the backup SRAM 655, an auxiliary counter 6551 for storing a 32-bit counter value used as a variable for generating a random number species described later is provided. In this auxiliary counter 6551, the increment value of the fixed width is added only once when the random number seed is generated. An arbitrary prime number is used for the increment value of this fixed width.

また、CPURAM602のアドレス領域内には、乱数に関するデータを保存する乱数用変数領域6021と、プロセスを切り替える際にサブCPU330a1が使用しているレジスタやフラグなどの状態(以下、コンテキストという)などを保存するカーネルスタック領域6022と、が設けられている。また、上記乱数用変数領域6021には、乱数生成時に参照される状態ベクトル、乱数種の値、乱数の発生回数などの乱数に係る情報が記憶される乱数情報記憶領域6021bと、生成された乱数が格納される乱数バッファ6021aと、が設けられている。 Further, in the address area of the CPU RAM 602, a random number variable area 6021 for storing data related to random numbers and states such as registers and flags used by the sub CPU 330a1 when switching processes (hereinafter referred to as context) are stored. The kernel stack area 6022 and the like are provided. Further, in the random number variable area 6021, a random number information storage area 6021b in which information related to a random number such as a state vector referred to at the time of random number generation, a value of a random number type, and the number of times a random number is generated is stored, and a generated random number. Is provided with a random number buffer 6021a in which the is stored.

なお、上記乱数の発生回数とは、乱数バッファ6021aに乱数が格納された回数ではなく、乱数バッファ6021aから乱数が取り出された回数を意味する。また、乱数バッファ6021aは、乱数が格納された順に読み出される先入先出バッファ(FIFO(First-in First-out)バッファ)であり、瞬間的に多量の乱数が使用されても格納されている乱数が枯渇しないように所定の容量(本実施の形態では512段のバッファ)を備えている。 The number of occurrences of the random number does not mean the number of times the random number is stored in the random number buffer 6021a, but the number of times the random number is taken out from the random number buffer 6021a. Further, the random number buffer 6021a is a first-in first-out buffer (FIFO (First-in First-out) buffer) that is read out in the order in which the random numbers are stored, and is a random number that is stored even if a large number of random numbers are momentarily used. It is provided with a predetermined capacity (512 buffers in the present embodiment) so as not to be exhausted.

2.副制御部における乱数制御処理の流れ
ついで、副制御部330における乱数制御に係る処理の流れについて図6に基づいて説明をする。本実施形態において副制御部330では上記ソフトウェア乱数を抽選前に予め生成して乱数バッファ6021aに格納するため、これを主制御部300にて実行すると出玉に係る抽選を予め実行することとなってしまう。従って、本実施形態では、上記ソフトウェア乱数を演出に係る処理を実行する副制御部330にて使用している。以下、この副制御部330に係る乱数処理を中心に説明を行う。まず、演出プログラムP1による乱数の取得の流れについて説明をする。
2. 2. Flow of random number control processing in the sub-control unit Next, a flow of processing related to random number control in the sub-control unit 330 will be described with reference to FIG. In the present embodiment, the sub-control unit 330 generates the software random number in advance before the lottery and stores it in the random number buffer 6021a. Therefore, when this is executed by the main control unit 300, the lottery related to the payout is executed in advance. It ends up. Therefore, in the present embodiment, the software random number is used by the sub-control unit 330 that executes the process related to the effect. Hereinafter, the random number processing related to the sub-control unit 330 will be mainly described. First, the flow of random number acquisition by the effect program P1 will be described.

演出抽選処理を実行するために演出プログラムP1から乱数の取得要求があると、乱数バッファ6021aに格納されている乱数が演出プログラムP1へと受け渡される。ここで、上記乱数バッファ6021aなどの乱数に係るデータは、上述したようにCPURAM602に全て記憶されており、メモリアドレス空間上においてカーネルが使用するシステム層に位置している。一方で、演出プログラムP1は、OS上にて動作するソフトウェアであるアプリケーションであり、メモリアドレス空間上においてシステム層よりも低位のユーザ層に位置する領域にアクセスを行う。ここで、上記演出プログラムP1がシステム層に位置する乱数用変数領域6021に直接アクセスするようにすると、演出プログラムP1に不具合等があった場合、カーネルが使用するシステム層のデータにまで影響が生じる虞がある。このため、本実施の形態では、上記演出プログラムP1が乱数バッファ6021aから乱数を取得する場合、必ず、乱数取得ドライバP5を介して上記システム層に位置する乱数バッファ6021aから乱数が受け渡されるようになっている。 When there is a random number acquisition request from the effect program P1 in order to execute the effect lottery process, the random numbers stored in the random number buffer 6021a are passed to the effect program P1. Here, all the data related to the random numbers such as the random number buffer 6021a are stored in the CPU RAM 602 as described above, and are located in the system layer used by the kernel on the memory address space. On the other hand, the effect program P1 is an application that is software that operates on the OS, and accesses an area located in a user layer lower than the system layer in the memory address space. Here, if the effect program P1 directly accesses the random number variable area 6021 located in the system layer, if there is a problem in the effect program P1, the data in the system layer used by the kernel may be affected. There is. Therefore, in the present embodiment, when the effect program P1 acquires a random number from the random number buffer 6021a, the random number is always passed from the random number buffer 6021a located in the system layer via the random number acquisition driver P5. It has become.

同様に、デバッグ時に外部コンピュータなどからデバッグ情報の要求があった場合も、デバッグ情報取得ドライバP6を介して乱数種や乱数の発生回数などの情報が乱数情報記憶領域6021bから受け渡されるようになっている。即ち、本実施の形態においては、システム層側にある乱数制御クラスには、演出プログラムP1などのユーザ層側からは直接アクセスすることが禁止されており、上記乱数やデバッグ情報などの乱数に係る情報は、必ず上記の乱数取得ドライバP5、またはデバッグ情報取得ドライバP6のいずれかの乱数用ドライバクラスを経由して取得するようになっている。 Similarly, when a request for debug information is received from an external computer or the like during debugging, information such as a random number type and the number of times a random number is generated is passed from the random number information storage area 6021b via the debug information acquisition driver P6. ing. That is, in the present embodiment, it is prohibited to directly access the random number control class on the system layer side from the user layer side such as the effect program P1, and the information related to the random number such as the above random number and the debug information. Is always acquired via the random number driver class of either the above random number acquisition driver P5 or the debug information acquisition driver P6.

ついで、上記乱数制御クラスにおける乱数の生成の流れについて説明をする。乱数制御クラスでは、乱数の生成にあたり、乱数種生成プログラムP2によって乱数生成の基となる乱数種が生成される。具体的には、乱数種生成プログラムP2は、下式(1)に従って補助カウンタ6551の32ビットカウンタ値(補助カウンタ値)に基づいて乱数種(シード値)を演算する。 Next, the flow of random number generation in the above random number control class will be described. In the random number control class, when generating a random number, the random number seed generation program P2 generates a random number seed that is the basis of random number generation. Specifically, the random number seed generation program P2 calculates a random number seed (seed value) based on the 32-bit counter value (auxiliary counter value) of the auxiliary counter 6551 according to the following equation (1).

シード値=(補助カウンタ値XORチェックサム値)XOR
((デバッグカウンタ[bit7:0]<<16)
+(デバッグカウンタ[bit15:8]<<24)) …(1)
Seed value = (auxiliary counter value XOR checksum value) XOR
((Debug counter [bit7: 0] << 16)
+ (Debug counter [bit15: 8] << 24))… (1)

即ち、乱数種生成プログラムP2は、補助カウンタ値とチェックサム値の排他的論理和(XOR)を求め、更に、デバッグカウンタ605のカウンタ値との排他的論理和(XOR)を求めることによって乱数種を演算している。なお、上記チェックサム値は、バックアップ領域6552の特定領域から何らかのチェックサム演算により求めた32ビットのチェックサム値である。 That is, the random number seed generation program P2 obtains the exclusive OR (XOR) of the auxiliary counter value and the checksum value, and further obtains the exclusive OR (XOR) of the counter value of the debug counter 605. Is being calculated. The checksum value is a 32-bit checksum value obtained from a specific area of the backup area 6552 by some checksum operation.

また、デバッグカウンタ605のカウンタ値は、16ビット長のデータである一方、目的のシード値や補助カウンタ値は32ビット長のデータであるため、デバッグカウンタ605のカウンタ値は上式(1)の2行目と3行目に示すようなビットシフト演算によって32ビットに拡張するよう加工した上で使用する。図7はこのデバッグカウンタ605のカウンタ値の加工処理を示している。 Further, since the counter value of the debug counter 605 is 16-bit length data, while the target seed value and auxiliary counter value are 32-bit length data, the counter value of the debug counter 605 is the above equation (1). It is used after being processed so as to be expanded to 32 bits by a bit shift operation as shown in the second and third lines. FIG. 7 shows the processing of the counter value of the debug counter 605.

この加工処理では、図7上段に示すように、デバッグカウンタ605の下位8ビット(0~7ビット)のデータを取り出して16ビット左シフト演算し32ビット拡張した結果(上式(1)2行目)と、デバッグカウンタ605の上位8ビット(8~15ビット)のデータを取り出して24ビット左シフト演算し32ビット拡張した結果(上式(1)3行目)を加算して、図7下段のデバッグカウンタ605のカウンタ値とする。 In this processing, as shown in the upper part of FIG. 7, the data of the lower 8 bits (0 to 7 bits) of the debug counter 605 is taken out, 16-bit left shift calculation is performed, and the result is expanded by 32 bits (2 lines in the above equation (1)). (Eye) and the result of taking out the data of the upper 8 bits (8 to 15 bits) of the debug counter 605, performing a 24-bit left shift operation, and expanding by 32 bits (the above equation (1), 3rd line) are added, and FIG. It is the counter value of the lower debug counter 605.

なお、補助カウンタ6551は、バックアップSRAM655に設けられているため、電源がOFFされてもデータが保持されると共に、全RAMクリア時であってもその値が初期化されることはない。従って、RAMクリアされることでシード値が固定されることが防止される。また、上記のようにデバッグカウンタ605のカウンタ値を加工して用いることによってシード値が「0」となることを防止すると共に、ビットシフト演算して32ビット拡張することにより、特にシード値の下位ビットから上位ビットの全てのビットをランダムに攪拌する、特に上位16ビット側の値も漏らさずランダムに攪拌することができるようになっている。 Since the auxiliary counter 6551 is provided in the backup SRAM 655, the data is retained even when the power is turned off, and the value is not initialized even when all the RAMs are cleared. Therefore, it is prevented that the seed value is fixed by clearing the RAM. Further, by processing and using the counter value of the debug counter 605 as described above, the seed value is prevented from becoming "0", and by performing a bit shift operation and expanding by 32 bits, the seed value is particularly lower than the seed value. All the bits of the upper bit from the bit can be agitated at random, and in particular, the value on the upper 16 bit side can be agitated at random without leaking.

乱数種が生成されると、生成された乱数種が乱数情報記憶領域6021bに格納されると共に、補助カウンタ6551の値が更新される。そして、乱数生成プログラムP3は、上記乱数情報記憶領域6021bに格納された乱数種を使用してソフトウェア乱数を演算し、生成した乱数を乱数バッファ6021aに格納する乱数生成処理を実行する。 When the random number seed is generated, the generated random number seed is stored in the random number information storage area 6021b, and the value of the auxiliary counter 6551 is updated. Then, the random number generation program P3 calculates a software random number using the random number seed stored in the random number information storage area 6021b, and executes a random number generation process of storing the generated random number in the random number buffer 6021a.

なお、乱数生成処理において、本実施の形態ではメルセンヌ・ツイスタ法(Mersenne twister法)を用いて乱数を発生させている。メルセンヌ・ツイスタ法は、M系列乱数発生アルゴリズムを用いた擬似乱数発生方法である。M系列乱数発生アルゴリズムとは、高次の漸化式によって乱数を発生するアルゴリズムであり、当該式において排他的論理和の演算を行うことを特徴とするものである。また、メルセンヌ・ツイスタ法では、乱数生成プログラムP3が乱数列の次の値を生成するために内部で保持する所定数(本実施の形態では623個)の状態ベクトル(初期値)を備えている必要があり、この状態ベクトルは、上述した乱数情報記憶領域6021bに記憶されている。 In the random number generation process, in the present embodiment, a random number is generated by using the Mersenne Twister method. The Mersenne Twister method is a pseudo-random number generation method using an M-sequence random number generation algorithm. The M-sequence random number generation algorithm is an algorithm that generates random numbers by a high-order recurrence formula, and is characterized by performing an exclusive OR operation in the formula. Further, in the Mersenne Twister method, the random number generation program P3 has a predetermined number (623 in this embodiment) of state vectors (initial values) held internally to generate the next value of the random number sequence. It is necessary, and this state vector is stored in the above-mentioned random number information storage area 6021b.

3.乱数の生成タイミング
ついで、上記乱数の生成タイミングについて説明をする。メルセンヌ・ツイスタ法では、乱数周期が非常に長く(219937-1)、また高次元(623次元)に均等分布する乱数列を生成でき、生成した乱数は任意のビット長(8/16/32/64bit)の乱数データとして使用することができる。しかし、その反面、初期化時と624n回目(nは自然数)の乱数の取得時には状態ベクトルのデータを更新する必要があり、処理負荷が一時的に増加するデメリットがある。即ち、メルセンヌ・ツイスタ法では、乱数周期よりも短い所定周期で分割して状態ベクトルの更新を行うようになってはいるものの、乱数生成時に丁度この状態ベクトルの更新の所定周期が到来すると、それによって処理負荷が一時的に増大する。
3. 3. Random number generation timing Next, the random number generation timing will be described. In the Mersenne Twister method, a random number sequence with a very long random number period (2 19937-1 ) and even distribution in high dimensions (623 dimensions) can be generated, and the generated random numbers have an arbitrary bit length (8/16/32). It can be used as random number data of / 64 bits). However, on the other hand, it is necessary to update the state vector data at the time of initialization and at the time of acquiring the 624nth random number (n is a natural number), which has a demerit that the processing load temporarily increases. That is, in the Mersenne Twister method, the state vector is updated by dividing it into a predetermined period shorter than the random number period, but when the predetermined period of updating this state vector arrives at the time of random number generation, it is determined. Temporarily increases the processing load.

このため、本実施の形態では、サブCPU330a1の負荷が高い状態で、上記乱数生成処理の負荷のピークが到来することを防止するため、上述したように乱数を使用前に先行して生成し、乱数バッファ6021aに蓄積すると共に、遊技機の電源投入時及びサブCPU330a1の負荷の低い低負荷時(以下、システム安定時ともいう)に上記乱数を生成及び格納するように構成されている。以下、これら電源投入時及びシステム安定時における乱数生成処理について詳しく説明をする。 Therefore, in the present embodiment, in order to prevent the peak of the load of the random number generation process from arriving when the load of the sub CPU 330a1 is high, the random numbers are generated in advance before use as described above. It is configured to accumulate in the random number buffer 6021a and to generate and store the random numbers when the power of the gaming machine is turned on and when the load of the sub CPU 330a1 is low (hereinafter, also referred to as system stabilization). Hereinafter, the random number generation processing when the power is turned on and when the system is stable will be described in detail.

<電源投入時における乱数生成処理>
まず、電源投入時の乱数生成処理について図8及び図9に基づいて説明をする。図8に示すように、遊技機の電源がONされると、まず、CPURAM602のカーネルスタック領域6022及び乱数用変数領域6021に対して初期化処理が実行される(図8のS1)。この初期化処理では、乱数用変数領域6021が初期化されるため、乱数情報記憶領域6021bに記憶されている状態ベクトル及び乱数種、乱数バッファ6021aに格納されている乱数などのデータが初期化される。
<Random number generation process when the power is turned on>
First, the random number generation process at the time of turning on the power will be described with reference to FIGS. 8 and 9. As shown in FIG. 8, when the power of the gaming machine is turned on, the initialization process is first executed for the kernel stack area 6022 and the random number variable area 6021 of the CPU RAM 602 (S1 in FIG. 8). In this initialization process, since the random number variable area 6021 is initialized, data such as a state vector and a random number species stored in the random number information storage area 6021b and a random number stored in the random number buffer 6021a are initialized. Random numbers.

上記初期化処理が実行されると、次に、乱数種生成プログラムP2が実行されて乱数種が生成され、この生成された乱数種が乱数情報記憶領域6021bに格納される(S2)。乱数情報記憶領域6021bに新たな乱数種が格納されると、乱数生成プログラムP3が実行されて、この新たな乱数種に基づいて乱数生成が実行される(S3)。 When the initialization process is executed, the random number seed generation program P2 is then executed to generate a random number seed, and the generated random number seed is stored in the random number information storage area 6021b (S2). When a new random number species is stored in the random number information storage area 6021b, the random number generation program P3 is executed, and random number generation is executed based on the new random number species (S3).

上述したメルセンヌ・ツイスタ法により乱数生成を実行するに際し、電源投入時は、状態ベクトルのデータが初期化されているため、乱数種生成プログラムP2(図6)はこの状態ベクトルのデータを更新して乱数情報記憶領域6021bに記憶させる。ついで、乱数生成プログラムP3は、生成する乱数値の数を決定し、上記新たな乱数種及び状態ベクトルに基づいて所望の数の乱数値を生成する。 When the random number generation is executed by the Mersenne Twister method described above, the state vector data is initialized when the power is turned on. Therefore, the random number seed generation program P2 (FIG. 6) updates the state vector data. It is stored in the random number information storage area 6021b. Then, the random number generation program P3 determines the number of random number values to be generated, and generates a desired number of random number values based on the new random number species and the state vector.

ここで、本実施の形態では、メルセンヌ・ツイスタ法により32ビット長の乱数値が生成される。一方で、乱数バッファ6021aには、乱数値は16ビット長のデータとして格納される。従って、図9に示すように、メルセンヌ・ツイスタ法によって生成された32ビット長の乱数値は、上位16ビットの値と、下位16ビットの値とが別々の乱数として乱数バッファ6021aに格納される。 Here, in the present embodiment, a 32-bit length random value is generated by the Mersenne Twister method. On the other hand, the random number value is stored in the random number buffer 6021a as data having a length of 16 bits. Therefore, as shown in FIG. 9, in the 32-bit length random number value generated by the Mersenne Twister method, the upper 16-bit value and the lower 16-bit value are stored in the random number buffer 6021a as separate random numbers. ..

上述したように乱数バッファ6021aは、512段のFIFO構造のリングバッファにより構成されており、電源投入時には、この512段の乱数バッファ6021aの全てに乱数が格納される。従って、乱数生成プログラムP3は、メルセンヌ・ツイスタ法によって512/2=256個の32ビット長の乱数を生成し、生成した256個の32ビット長の乱数を、生成した乱数の順に上位16ビット、下位16ビットの順序で乱数バッファ6021aに格納して行く(S4)。 As described above, the random number buffer 6021a is composed of a ring buffer having a FIFO structure of 512 stages, and when the power is turned on, random numbers are stored in all of the random number buffers 6021a of 512 stages. Therefore, the random number generation program P3 generates 512/2 = 256 32-bit length random numbers by the Mersenne Twister method, and the generated 256 32-bit length random numbers are generated in the order of the generated random numbers in the upper 16 bits. It is stored in the random number buffer 6021a in the order of the lower 16 bits (S4).

そして、512段の乱数バッファ6021aの全てに乱数が格納されると(S5のYes)、乱数生成処理を終了し、乱数バッファ6021aに空きがある場合には(S5のNo)、その空きが無くなるまで乱数を生成する。このように、本実施の形態では、電源投入時に乱数バッファ6021aに空きが無くなるまで乱数を生成するため、遊技が開始する前に最大限、乱数の生成を実行することができ、遊技開始後の乱数生成の負荷を軽減することができる。 Then, when random numbers are stored in all of the 512-stage random number buffers 6021a (Yes in S5), the random number generation process is terminated, and when there is a vacancy in the random number buffer 6021a (No in S5), the vacancy disappears. Generate random numbers up to. As described above, in the present embodiment, since the random numbers are generated until the random number buffer 6021a becomes full when the power is turned on, the random numbers can be generated as much as possible before the game starts, and after the game starts, the random numbers can be generated as much as possible. The load of random number generation can be reduced.

<システム安定時における乱数生成処理>
ついで、システム安定時における乱数生成処理について図10及び図11に基づいて説明をする。システム起動後、タスク管理プログラムP4は、所定時間毎(本実施の形態では30fps(33.33ms)のサイクル)に実行可能なプロセスのタスクに優先度を設定し、サブCPU330a1は、このタスク管理プログラムP4によって設定された優先度に従って各タスクを逐次処理する。
<Random number generation processing when the system is stable>
Next, the random number generation process when the system is stable will be described with reference to FIGS. 10 and 11. After the system is started, the task management program P4 sets a priority for the task of the process that can be executed at predetermined time intervals (cycle of 30 fps (33.33 ms) in this embodiment), and the sub CPU 330a1 sets the priority to the task management program. Each task is sequentially processed according to the priority set by P4.

以下、演出処理を実行するプロセスA~C及び乱数生成処理を実行するプロセスDを実行する場合を例にとって、上記サブCPU330a1によるタスク処理を詳しく説明する。なお、プロセスAは、タスクA1及びA2から構成され、プロセスBはタスクB1から構成され、プロセスCはタスクC1から構成され、プロセスDはタスクD1から構成されているものとする。図10(a)に示すように、本実施の形態に係るタスク管理プログラムP4は、発生したタスク(プロセス)の内、実行可能な状態のタスクに対して優先度を設定し、この設定した優先度に従ってタスクの順序を設定する。例えば、第1サイクルT1では実行するタスクの順序をA1→B1→C1→D1のように設定する。 Hereinafter, the task processing by the sub CPU 330a1 will be described in detail by taking as an example the case of executing the processes A to C for executing the effect processing and the process D for executing the random number generation processing. It is assumed that the process A is composed of tasks A1 and A2, the process B is composed of the task B1, the process C is composed of the task C1, and the process D is composed of the task D1. As shown in FIG. 10A, the task management program P4 according to the present embodiment sets a priority for a task in an executable state among the generated tasks (processes), and the set priority is set. Set the task order according to the degree. For example, in the first cycle T1, the order of tasks to be executed is set as A1 → B1 → C1 → D1.

このように優先度が設定されると、サブCPU330a1は、上記第1サイクルT1内において、タスク管理プログラムP4によって設定された優先度に沿って、各タスクを逐次処理して行く。しかしながら、図10(b)に示すように、第1サイクルT1では、単一サイクルに対して実行可能なタスクの量が多いため、タスクC1を実行した時点にて第1サイクルT1が終了してしまう。このように、当該サイクル内において優先度の低いタスクの処理ができなかった場合、処理することができなかったタスク(第1サイクルT1においてはタスクD1)については処理が持ち越され、タスク管理プログラムP4は、次のサイクル(第2サイクルT2)の開始に際して再度、優先度付けを行う。 When the priority is set in this way, the sub CPU 330a1 sequentially processes each task in the first cycle T1 according to the priority set by the task management program P4. However, as shown in FIG. 10B, in the first cycle T1, the amount of tasks that can be executed is large for a single cycle, so that the first cycle T1 ends when the task C1 is executed. It ends up. In this way, if the low-priority task cannot be processed in the cycle, the processing is carried over for the task that could not be processed (task D1 in the first cycle T1), and the task management program P4. Will prioritize again at the start of the next cycle (second cycle T2).

第1サイクルT1にてプロセスB及びCが終了し、また、タスクA1が実行されたことにより、第2サイクルT2においてはプロセスAのタスクA2が実行可能となる。このため、タスク管理プログラムP4は、上記タスクA2及び未実行のタスクD1に対して優先度を設定し、第2サイクルT2にて実行するタスクの順序をA2→D1とする。第2サイクルT2において、サブCPU330a1は、この設定された優先度に従ってタスクA2及びD1を逐次処理する。第2サイクルT2では、乱数生成処理であるタスクD1よりも優先度の高いタスクがタスクA2のみしかないため、図10(b)に示すようにタスクA2が実行されたのち第2サイクルT2中にて上記タスクD1も実行することができる。 Since the processes B and C are terminated in the first cycle T1 and the task A1 is executed, the task A2 of the process A can be executed in the second cycle T2. Therefore, the task management program P4 sets the priority for the task A2 and the unexecuted task D1, and sets the order of the tasks to be executed in the second cycle T2 from A2 to D1. In the second cycle T2, the sub CPU330a1 sequentially processes the tasks A2 and D1 according to the set priority. In the second cycle T2, only task A2 has a higher priority than task D1, which is a random number generation process. Therefore, as shown in FIG. 10B, after task A2 is executed, during the second cycle T2. The above task D1 can also be executed.

具体的には、図11に示すように、タスクD1が起動されると、乱数生成プログラムP3が呼び出され、乱数生成プログラムP3は、まず、状態ベクトルの更新が必要か否かを確認する(図11のS10)。即ち、今回の乱数生成処理が前回の状態ベクトルの更新から624n回目の乱数生成にあたるか否かを判断し、624n回目の乱数生成の場合は(S10のYes)、乱数情報記憶領域6021bに格納されている状態ベクトルの値を更新する(S15)。更に、状態ベクトルの更新が必要ない場合(S10のNo)は、乱数バッファ6021aがフル(Full)、即ち、乱数バッファ6021aが満杯であるか否かを判定する(S11)。ここで、16ビット乱数を格納できる空き容量がない状態である場合(S11のYes)は、乱数生成プログラムP3を実行するタスクD1を終了する。 Specifically, as shown in FIG. 11, when the task D1 is activated, the random number generation program P3 is called, and the random number generation program P3 first confirms whether or not the state vector needs to be updated (FIG. 11). 11 S10). That is, it is determined whether or not the random number generation process this time corresponds to the 624nth random number generation from the previous update of the state vector, and in the case of the 624nth random number generation (Yes in S10), it is stored in the random number information storage area 6021b. The value of the state vector is updated (S15). Further, when it is not necessary to update the state vector (No in S10), it is determined whether or not the random number buffer 6021a is full, that is, whether or not the random number buffer 6021a is full (S11). Here, when there is no free space for storing the 16-bit random number (Yes in S11), the task D1 for executing the random number generation program P3 is terminated.

一方、16ビット乱数を格納できる空き容量が存在する場合(S11のNo)は、乱数生成プログラムP3が生成すべき乱数の発生個数を決定する(S12)。この図11のS12における乱数の生成個数(N)の決定処理は、後で図12を参照して詳細に説明する。 On the other hand, when there is a free space capable of storing a 16-bit random number (No in S11), the random number generation program P3 determines the number of random numbers generated (S12). The process of determining the number of random numbers generated (N) in S12 of FIG. 11 will be described in detail later with reference to FIG.

乱数生成アルゴリズムによって生成する乱数の個数が決定(S12)されると、乱数生成プログラムP3は、決定された個数の32ビット乱数をメルセンヌ・ツイスタ法によって生成し(S13)、生成された順番を崩さずに上位16ビット側から乱数バッファ6021aに格納する(S14)。なお、図11は、簡略化のため、ステップS10の位置においてのみ状態ベクトルの更新を確認するよう記述しているが、実際の処理では、複数の乱数をステップS13にて生成する場合、そのそれぞれの乱数の1個の生成の度に状態ベクトルの更新が必要か否かを確認するものとする。 When the number of random numbers to be generated by the random number generation algorithm is determined (S12), the random number generation program P3 generates the determined number of 32-bit random numbers by the Mersenne Twister method (S13) and breaks the generated order. Instead, it is stored in the random number buffer 6021a from the upper 16-bit side (S14). Note that FIG. 11 describes that the update of the state vector is confirmed only at the position of step S10 for simplification, but in the actual processing, when a plurality of random numbers are generated in step S13, each of them is described. It is confirmed whether or not the state vector needs to be updated every time one random number is generated.

このように、タスク管理プログラムP4は、各サイクル毎に乱数生成処理に係るタスク(例えばタスクD1)を実行可能タスクのウェイティングキュー(待ち行列)に組み込むと共に、上記乱数生成処理に係るタスクが演出処理に係るタスク(例えばタスクA1、A2、B1、C1)より優先度が低くなるように優先度を設定している。より詳しくは、タスク管理プログラムP4は、乱数生成処理に係るタスクの優先度を最も低くするように設定している。従って、図10(b)のサイクルT1のように他のタスクの処理によってサブCPU330a1の負荷が重い状態(高負荷時)では、乱数生成処理に係るタスクは実行されず、少なくとも所定サイクル内に演出処理に係るタスクが全て実行された低負荷時(即ち、システム安定時)に乱数生成処理に係るタスクが実行されるように構成されている。 In this way, the task management program P4 incorporates the task related to the random number generation process (for example, task D1) into the waiting queue (queue) of the executable task for each cycle, and the task related to the random number generation process performs the effect processing. The priority is set so that the priority is lower than that of the task (for example, tasks A1, A2, B1, C1). More specifically, the task management program P4 is set to have the lowest priority of the task related to the random number generation process. Therefore, in a state where the load of the sub CPU330a1 is heavy (when the load is high) due to the processing of another task as in the cycle T1 of FIG. 10B, the task related to the random number generation processing is not executed, and at least within a predetermined cycle. It is configured so that the task related to the random number generation process is executed when the load is low (that is, when the system is stable) when all the tasks related to the process are executed.

上述したように、本実施の形態に係る遊技機(100)は、乱数に基づいて抽選処理を実行する抽選手段(P1)と、複数の乱数が格納される記憶手段(6021a)と、乱数生成アルゴリズムに基づいて演算により乱数を生成し、生成した乱数を前記記憶手段(6021a)に格納する乱数生成処理を実行して、前記抽選手段(P1)により取得される乱数を予め前記記憶手段(6021a)に格納する乱数生成手段(P3)と、を備え、前記記憶手段(6021a)に格納された乱数は、前記記憶手段(6021a)に格納された順序に従って取得されるように構成されている。 As described above, the gaming machine (100) according to the present embodiment has a lottery means (P1) that executes a lottery process based on random numbers, a storage means (6021a) that stores a plurality of random numbers, and a random number generation. A random number is generated by an operation based on an algorithm, a random number generation process for storing the generated random number in the storage means (6021a) is executed, and the random number acquired by the lottery means (P1) is stored in advance in the storage means (6021a). ), And the random numbers stored in the storage means (6021a) are configured to be acquired in the order stored in the storage means (6021a).

即ち、本実施の形態に係るパチンコ機100は、乱数バッファ6021aを設け、演出プログラムP1が乱数を使用する前に、先行して乱数生成プログラムP3によって乱数の生成及び蓄積を行う。即ち、乱数バッファ6021aを配置して、乱数生成処理を、乱数の取得ないし実際の乱数使用タイミングとは非同期的に実行するよう構成されている。このような構成により、例えば、内部状態の移行や演出時間、エフェクトの強さなど、様々な状態を決定するために瞬間的に多量の乱数を消費し、当該演出に係る各種演算によりサブCPU330a1が高負荷状態となるユーザ操作を契機に発生する演出の発生時や演出の切り替え時を避けて乱数生成を実行することができ、乱数生成に係る処理負荷を分散することができる。特に、メルセンヌ・ツイスタ法などの高性能な乱数生成アルゴリズムは、比較的、処理負荷が高く、乱数値の生成に一定の処理能力が要求されるが、乱数の生成タイミングをズラすことによって、この乱数生成処理による負荷によって他のデバイスの制御を妨げることを防止し、演出上の不備(コマ落ち、音切れ)などの発生を防止することができる。 That is, the pachinko machine 100 according to the present embodiment is provided with a random number buffer 6021a, and before the effect program P1 uses the random numbers, the random number generation program P3 generates and stores the random numbers in advance. That is, the random number buffer 6021a is arranged, and the random number generation process is configured to be executed asynchronously with the acquisition of the random number or the actual timing of using the random number. With such a configuration, for example, a large amount of random numbers are instantaneously consumed in order to determine various states such as the transition of the internal state, the effect time, and the strength of the effect, and the sub CPU330a1 is subjected to various operations related to the effect. Random number generation can be executed while avoiding the time of occurrence of the effect generated by the user operation in the high load state or the time of switching the effect, and the processing load related to the random number generation can be distributed. In particular, high-performance random number generation algorithms such as the Mersenne Twister method have a relatively high processing load and require a certain amount of processing power to generate random number values. It is possible to prevent the load of the random number generation process from interfering with the control of other devices, and to prevent the occurrence of defects in the production (frame dropping, sound interruption) and the like.

また、記憶手段としての乱数バッファ6021aをFIFOバッファとして構成し、この乱数バッファ6021aにソフトウェア乱数を格納している。ソフトウェア乱数は、生成する時間軸が乱数値のランダム性に影響を及ぼさず、また、乱数が生成された順序に従って使用されることとなるため、アルゴリズムとして補償されている乱数の正当性を担保することができる。 Further, a random number buffer 6021a as a storage means is configured as a FIFO buffer, and software random numbers are stored in the random number buffer 6021a. Software random numbers ensure the correctness of the random numbers compensated as an algorithm because the generated time axis does not affect the randomness of the random numbers and they are used in the order in which the random numbers are generated. be able to.

また、前記抽選手段は、実行する演出を乱数に基づいて決定する演出抽選処理を実行すると共に、前記決定された演出を演出装置(200)に実行させる演出制御手段(P1)であり、前記乱数生成手段(P3)は、前記演出制御手段によって実行される制御による処理負荷が所定の負荷以下の状態にて、前記乱数生成処理を実行して生成された乱数を前記記憶手段(6021a)に格納している。 Further, the lottery means is an effect control means (P1) for executing an effect lottery process for determining an effect to be executed based on a random number and causing the effect device (200) to execute the determined effect, and the random number. The generation means (P3) stores the random numbers generated by executing the random number generation process in the storage means (6021a) in a state where the processing load by the control executed by the effect control means is equal to or less than a predetermined load. are doing.

即ち、乱数生成プログラムP3は、例えば、始動口120,122や大入賞口128に遊技球が入球していない時や、遊技者による遊技が実行されていないデモ画面表示時など、サブCPU330a1が低処理負荷状態の際に上記乱数を生成することが出来る。このため、上述した演出の切替時などサブCPU330a1が高負荷状態の際にサブCPU330a1の処理能力を乱数生成のために割くことを回避することができる。 That is, in the random number generation program P3, for example, when the game ball has not entered the start opening 120, 122 or the big winning opening 128, or when the demo screen is displayed when the game is not executed by the player, the sub CPU 330a1 is used. The above random numbers can be generated in a low processing load state. Therefore, it is possible to avoid allocating the processing capacity of the sub CPU 330a1 for random number generation when the sub CPU 330a1 is in a high load state such as when the above-mentioned effect is switched.

また、パチンコ機100は、制御処理の実行に係るタスクの優先度を設定すると共に、前記乱数生成手段(P3)による前記乱数生成処理に係るタスクの優先度を、前記演出抽選処理にて決定された演出に関する制御処理に係るタスクよりも低く設定するタスク管理手段(P4)を備えている。 Further, the pachinko machine 100 sets the priority of the task related to the execution of the control process, and the priority of the task related to the random number generation process by the random number generation means (P3) is determined by the effect lottery process. It is provided with a task management means (P4) that is set lower than the task related to the control process related to the effect.

即ち、タスク管理プログラムP4が、乱数生成処理に係るタスクよりも演出に関する制御処理に係るタスクを低く設定することにより、演出に係るタスクを実行してもなお、乱数生成処理に係るタスクを実行することができる上記低処理負荷状態、即ち、システム安定時に乱数を生成することができる。 That is, the task management program P4 sets the task related to the control process related to the effect lower than the task related to the random number generation process, so that even if the task related to the effect is executed, the task related to the random number generation process is still executed. It is possible to generate a random number in the above-mentioned low processing load state, that is, when the system is stable.

また、前記乱数生成手段(P3)は、電源投入時に前記乱数生成処理を実行する。即ち、電源投入時に乱数生成処理を実行し、乱数バッファ6021aに乱数を格納することによって、遊技が開始されていない状態にて乱数バッファ6021aに乱数を格納することができ、遊技開始後の乱数生成の負荷を軽減することができる。 Further, the random number generation means (P3) executes the random number generation process when the power is turned on. That is, by executing the random number generation process when the power is turned on and storing the random numbers in the random number buffer 6021a, the random numbers can be stored in the random number buffer 6021a in the state where the game is not started, and the random numbers are generated after the game is started. The load can be reduced.

4.乱数生成ないし取得処理の細部
以下では、本実施の形態における乱数生成系、特に乱数生成系の処理の細部において採用可能な種々の構成について詳細に説明する。以下でも、乱数生成はメルセンヌ・ツイスタ法によって行うものとする。
4. Details of Random Number Generation or Acquisition Processing Hereinafter, various configurations that can be adopted in the details of the processing of the random number generation system, particularly the random number generation system in the present embodiment will be described in detail. Even in the following, random number generation shall be performed by the Mersenne Twister method.

<乱数生成および乱数バッファへの格納>
本実施の形態においては、上述のように、乱数生成処理(上記のタスクD1)で呼び出される乱数生成プログラムP3は乱数生成において、32ビット乱数を生成する。一方、ユーザ層(図6)に配置された演出制御手段たる演出プログラムP1が演出制御に必要とする乱数値は16ビット乱数である。
<Random number generation and storage in random number buffer>
In the present embodiment, as described above, the random number generation program P3 called in the random number generation process (task D1 described above) generates a 32-bit random number in the random number generation. On the other hand, the random number value required for the effect control by the effect program P1 which is the effect control means arranged in the user layer (FIG. 6) is a 16-bit random number.

そこで、本実施の形態では、次のような乱数生成手段(乱数生成プログラムP3)によって生成させた乱数を複数の乱数に分割する分割手段を用いる。即ち、演出プログラムP1に出力できる16ビット乱数に対応する16ビットの格納段を例えば512段有する乱数バッファ6021aを配置する(図6)。この乱数バッファ6021aは、乱数生成の処理負荷の分散を考慮して、演出プログラムP1への乱数出力と、乱数生成とを非同期的に行うためのFIFOバッファとして機能させる。そして、図9に示したように、乱数生成プログラムP3に生成させた32ビット乱数1つを上位16ビットと下位16ビットに分割し、乱数バッファ6021aの2つの格納段に格納する。 Therefore, in the present embodiment, a division means for dividing the random number generated by the following random number generation means (random number generation program P3) into a plurality of random numbers is used. That is, a random number buffer 6021a having, for example, 512 stages of 16-bit storage stages corresponding to 16-bit random numbers that can be output to the effect program P1 is arranged (FIG. 6). The random number buffer 6021a functions as a FIFO buffer for asynchronously performing random number output to the effect program P1 and random number generation in consideration of the distribution of the processing load of random number generation. Then, as shown in FIG. 9, one 32-bit random number generated by the random number generation program P3 is divided into upper 16 bits and lower 16 bits, and stored in two storage stages of the random number buffer 6021a.

上記のような構成において、もし仮に図11の乱数生成および乱数バッファ(FIFO)への格納を行う時、乱数バッファ6021aに16ビットの格納域が1段しか空いていない場合には、乱数生成プログラムP3を呼び出して32ビット乱数を生成すると、16ビット乱数を1つは乱数バッファ6021aに格納できるが、残りの16ビット乱数は格納できないことになる。特にメルセンヌ・ツイスタ法のように乱数の均等分布を保証するため、予め乱数情報記憶領域6021bに状態ベクトルを格納しているような手法を乱数生成に用いている場合、乱数バッファ6021aに格納できなかった残りの16ビット乱数を捨て去ってしまうことは乱数列を乱すことになり、適切ではない。 In the above configuration, if the random number generation in FIG. 11 and the storage in the random number buffer (FIFA) are performed and the random number buffer 6021a has only one 16-bit storage area, the random number generation program When P3 is called to generate a 32-bit random number, one 16-bit random number can be stored in the random number buffer 6021a, but the remaining 16-bit random numbers cannot be stored. In particular, when a method such as the Mersenne Twister method in which a state vector is stored in the random number information storage area 6021b in advance is used for random number generation in order to guarantee an even distribution of random numbers, it cannot be stored in the random number buffer 6021a. Discarding the remaining 16-bit random numbers disturbs the random number sequence and is not appropriate.

そこで、以下では、図11のS12の詳細な構成、即ち、サブCPU330a1(図3、図4)が乱数生成プログラムP3に生成させる、分割して乱数バッファ6021aの現在の空き容量に格納できるだけの32ビット乱数の生成個数(N)を決定するための詳細な処理の一例を詳細に示している。 Therefore, in the following, the detailed configuration of S12 in FIG. 11, that is, 32 that can be divided and stored in the current free capacity of the random number buffer 6021a that the sub CPU 330a1 (FIGS. 3 and 4) generates in the random number generation program P3. An example of detailed processing for determining the number of generated bit random numbers (N) is shown in detail.

図12の処理では、まず、乱数バッファ6021aの空き段数Eを求める(S21)。この空き段数Eは、16ビット乱数を格納するための未使用の格納段が何段あるか、即ち、乱数バッファ6021aの空き容量に相当する値で、例えば以下のような処理によってこの空き段数Eを求めることができる。 In the process of FIG. 12, first, the number of empty stages E of the random number buffer 6021a is obtained (S21). The number of free stages E is a value corresponding to the number of unused storage stages for storing 16-bit random numbers, that is, the free capacity of the random number buffer 6021a. For example, the number of free stages E is processed as follows. Can be asked.

例えば、制御手段としてのサブCPU330a1は、上記のように乱数バッファ6021aを512段のFIFOバッファとして管理する。一般に、このようなFIFOバッファの入出力制御には、バッファ中の読出しアドレスを保持する読み出しポインタRと、書き込みアドレスを保持する書き込みポインタWが用いられる。この16ビットデータを格納するFIFO構成の乱数バッファ6021aの格納域(格納段)を指示するポインタR、Wは、16ビット幅の格納域のアドレスを指示するポインタとして実装される。また、ポインタR、Wは1ずつインクリメント(またはデクリメント)させた場合、実際のアドレス値は16ビットの格納域1つに相当するオフセット値ずつ増加(減少)される。なお、このようなポインタの扱いは、例えばC言語などの処理系で一般的なものであるが、他の異なる処理系などにおいては、FIFOバッファの読み書きを制御するポインタ(アドレスカウンタ)に関して、上記と異なる演算規約が用いられる場合がある。 For example, the sub CPU 330a1 as a control means manages the random number buffer 6021a as a 512-stage FIFO buffer as described above. Generally, for input / output control of such a FIFO buffer, a read pointer R holding a read address in the buffer and a write pointer W holding a write address are used. The pointers R and W that indicate the storage area (storage stage) of the random number buffer 6021a having a FIFO structure for storing the 16-bit data are implemented as pointers that indicate the address of the storage area having a width of 16 bits. Further, when the pointers R and W are incremented (or decremented) by 1, the actual address value is increased (decreased) by an offset value corresponding to one 16-bit storage area. It should be noted that such handling of pointers is common in processing systems such as C language, but in other different processing systems, the pointers (address counters) that control the reading and writing of FIFO buffers are described above. A different arithmetic rule may be used.

また、通常、FIFOバッファはいわゆるリングバッファとして使用され、上記のポインタR、Wの値に応じてサブCPU330a1がFIFOバッファとしての乱数バッファ6021aの終端アドレスに対して読み出しまたは書き込みを行った後は、先頭を指すようにリセットされる。そこで、乱数バッファ6021aが512段あって、新しく生成すべき16ビット乱数を格納するための空き段数Eを求める場合には、例えば下式(2)のような演算により、空き段数Eを求めることができる。 Further, the FIFO buffer is usually used as a so-called ring buffer, and after the sub CPU330a1 reads or writes to the terminal address of the random number buffer 6021a as the FIFO buffer according to the values of the pointers R and W described above, the FIFO buffer is used as a so-called ring buffer. Reset to point to the beginning. Therefore, when the random number buffer 6021a has 512 stages and the number of free stages E for storing the newly generated 16-bit random number is obtained, for example, the number of free stages E is obtained by an operation such as the following equation (2). Can be done.

E=(512-W)+(R-1) …(2) E = (512-W) + (R-1) ... (2)

ここで、上式(2)中のR、Wは、上記のポインタR、Wの指示している乱数バッファ6021aのスロット(段)位置を擬似的に表現したものであり、例えばその右辺第1項は書き込みポインタWより後に残っている空き段数、右辺第2項は読み出しによって空いた空き段数に相当する。 Here, R and W in the above equation (2) are pseudo representations of the slot (stage) positions of the random number buffer 6021a instructed by the pointers R and W, for example, the first on the right side thereof. The term corresponds to the number of empty columns remaining after the write pointer W, and the second term on the right side corresponds to the number of empty columns left by reading.

続いて、図12の処理手順において、上記のようにして求めた空き段数Eを用いて、乱数生成プログラムP3に生成させる32ビット乱数の個数Nを次式(3)によって取得する(S22)。 Subsequently, in the processing procedure of FIG. 12, the number N of 32-bit random numbers to be generated by the random number generation program P3 is acquired by the following equation (3) using the number of empty stages E obtained as described above (S22).

N=INT((E+n)/n) - 1 …(3) N = INT ((E + n) / n) -1 ... (3)

ここで上式(3)において、INTは整数化(切り捨て)の演算を示す。また、nは、乱数生成プログラムP3に生成させた(32ビットの)乱数を(16ビットの)乱数バッファ6021aに格納するために分割する分割数を示し、本実施の形態では、n=2である。この上式(3)の演算は、切り捨てのために分割数n分だけ予め空き段数Eの数値を増やしてから分割数nで除し、小数点以下を切り捨てた上、1個の32ビット乱数に相当する1を減算するものである。例えば、分割数n=2で、16ビットの乱数バッファ6021aの空き段数E(空き容量)がE=33の時と、E=32の時では、上式(3)によると、いずれの場合も32ビット乱数の生成個数NはN=16となる。なお、ビット幅の小さい乱数に分割して用いるために、乱数生成プログラムP3に生成させる乱数の個数を求める演算手法は、上式(3)に限定されることなく当業者において任意に変更して構わない。 Here, in the above equation (3), INT indicates an operation of integerization (rounding down). Further, n indicates the number of divisions for storing the (32-bit) random number generated by the random number generation program P3 in the (16-bit) random number buffer 6021a, and in the present embodiment, n = 2. be. In the calculation of the above equation (3), the numerical value of the number of empty stages E is increased in advance by the number of divisions n for truncation, then divided by the number of divisions n, and the number after the decimal point is rounded down to one 32-bit random number. The corresponding 1 is subtracted. For example, when the number of divisions n = 2 and the number of free stages E (free capacity) of the 16-bit random number buffer 6021a is E = 33 and when E = 32, according to the above equation (3), both cases are used. The number of 32-bit random numbers generated N is N = 16. The calculation method for obtaining the number of random numbers to be generated by the random number generation program P3 in order to divide the random numbers into small bit width random numbers is not limited to the above equation (3) and can be arbitrarily changed by those skilled in the art. I do not care.

また、図11の乱数生成および乱数バッファ格納処理が、低負荷のシステム安定時に低い優先度で実行されることを考慮して、一度の呼び出しでなるべく所期の個数の32ビット乱数を生成し、16ビットの乱数バッファ6021aに分割、格納する処理を終了できるよう、32ビット乱数の生成個数Nの最大値を制限することが考えられる。例えば、ステップS12で上式(3)で求めた32ビット乱数の生成個数Nが所定の最大値Mを超えないよう制限する。このように、32ビット乱数の生成個数NをMに制限する場合には、例えばMの値は16、32、48…程度とすることが考えられる(上述の図11に関する説明ではM=16)。 Further, considering that the random number generation and the random number buffer storage process of FIG. 11 are executed with low priority when the system is stable with a low load, a desired number of 32-bit random numbers are generated by one call. It is conceivable to limit the maximum value of the number N of 32-bit random numbers generated so that the process of dividing and storing in the 16-bit random number buffer 6021a can be completed. For example, the number N of 32-bit random numbers generated by the above equation (3) in step S12 is limited so as not to exceed a predetermined maximum value M. In this way, when limiting the number of 32-bit random numbers generated N to M, for example, the value of M may be about 16, 32, 48 ... (M = 16 in the above description with respect to FIG. 11). ..

以上のように、図12に示した処理手順によって、乱数生成プログラムP3が生成する32ビット乱数を、演出プログラムP1が必要とする16ビット乱数に分割して乱数バッファ6021aに格納し、乱数バッファ6021aを介して出力することができる。このような乱数の分割手段を用いることにより、効率よく、また容易に乱数ビットパターンを捨てることなく、演出プログラムP1が必要とするサイズの乱数に分割して出力し、演出プログラムP1に利用させることができる。 As described above, according to the processing procedure shown in FIG. 12, the 32-bit random number generated by the random number generation program P3 is divided into 16-bit random numbers required by the effect program P1 and stored in the random number buffer 6021a, and stored in the random number buffer 6021a. Can be output via. By using such a random number dividing means, the random number bit pattern can be efficiently and easily divided into random numbers of the size required by the effect program P1 and output, and used by the effect program P1. Can be done.

しかも、上記のような乱数の分割手段によれば、乱数バッファ6021aの現在の空き容量に格納できるだけの32ビット乱数の生成個数Nを求めることができ、従って、図12に示した32ビット乱数の生成個数Nの決定処理を図11のS12に適用すれば、図11のS13において、16ビット幅構成の乱数バッファ6021aの空き容量に格納できるだけの生成個数Nの32ビット乱数を乱数生成プログラムP3に生成させることができる。 Moreover, according to the random number dividing means as described above, the number N of 32-bit random numbers generated that can be stored in the current free capacity of the random number buffer 6021a can be obtained, and therefore, the 32-bit random numbers shown in FIG. 12 can be obtained. If the process of determining the number of generations N is applied to S12 of FIG. 11, in S13 of FIG. 11, a 32-bit random number of the number of generations N that can be stored in the free space of the random number buffer 6021a having a 16-bit width configuration is sent to the random number generation program P3. Can be generated.

従って、図12に示した32ビット乱数の生成個数Nの決定処理によれば、簡単なポインタ演算や整数演算を行うだけで、乱数バッファ6021aの空き容量に応じて当該の空き容量に分割手段により複数に分割された乱数を格納できるよう、32ビット乱数の生成個数Nを決定することができ、生成した32ビット乱数を分割して得た16ビット乱数を、その一部を捨てたりすることなく、また生成順に、効率よく乱数を必要とする演出制御手段、例えば演出プログラムP1に出力することができる。このため、図12の32ビット乱数の生成個数Nの決定手法によれば、メルセンヌ・ツイスタ法のような乱数生成手法で保証されている乱数の出現確率分布を損うことがない。 Therefore, according to the determination process of the number N of 32-bit random numbers generated shown in FIG. 12, a simple pointer operation or an integer operation is performed, and the random number buffer 6021a is divided into the free space according to the free space by the means. The number of 32-bit random numbers generated can be determined so that the random numbers divided into multiple parts can be stored, and the 16-bit random numbers obtained by dividing the generated 32-bit random numbers can be used without discarding a part of them. In addition, it can be efficiently output to an effect control means that requires a random number, for example, an effect program P1 in the order of generation. Therefore, according to the method for determining the number of 32-bit random numbers generated in FIG. 12, the random number appearance probability distribution guaranteed by the random number generation method such as the Mersenne Twister method is not impaired.

なお、以上では、上式(3)のような演算によって、乱数バッファ6021aの空き容量に格納できるだけの個数の32ビット乱数を乱数生成プログラムP3に生成させ、これにより、32ビット乱数を分割して得た16ビット乱数を生成順に、効率よく演出プログラムP1の要求に応じて演出プログラムP1に出力させる構成を示した。しかしながら、例えば、上式(3)のような演算を行うことなく32ビット乱数を乱数生成プログラムP3に生成させ、もし32ビット乱数を分割して得た16ビット乱数を全て現状の乱数バッファ6021aの空き容量に格納できない状態が生じた場合に、乱数バッファ6021aに格納できなかった16ビット乱数を格納するための予備バッファを用意しておく構成を採用してもよい。 In the above, the random number generation program P3 is made to generate a number of 32-bit random numbers that can be stored in the free space of the random number buffer 6021a by the calculation as in the above equation (3), thereby dividing the 32-bit random numbers. The configuration in which the obtained 16-bit random numbers are efficiently output to the effect program P1 in the order of generation according to the request of the effect program P1 is shown. However, for example, a 32-bit random number is generated by the random number generation program P3 without performing the calculation as in the above equation (3), and all 16-bit random numbers obtained by dividing the 32-bit random number are used in the current random number buffer 6021a. A configuration may be adopted in which a spare buffer for storing 16-bit random numbers that could not be stored in the random number buffer 6021a is prepared when a state that cannot be stored in the free space occurs.

この予備バッファは、適当な段数の16ビットの格納段で構成し、また、当該の予備バッファに16ビット乱数が格納されているか否かを示す予備バッファフラグを設けておく。また、予備バッファに格納されている乱数の数や読み書き位置を管理するには、上記のポインタR、Wと同様の読み出し位置および書き込み位置をそれぞれ指示するポインタなどを用意することが考えられる。このような予備バッファを用いる場合、例えば乱数生成プログラムP3が、乱数バッファ6021aに空きが生じたか否かを監視し、もし予備バッファに格納されている乱数を格納できる大きさの空き(上式(2)などによって計算できる)が生じている場合には、適宜、予備バッファから乱数バッファ6021aに乱数をコピーし、予備バッファをクリアする。このようにして、32ビット乱数を分割して得た16ビット乱数を生成順に、乱数バッファ6021aから順次、出力させることができる。あるいは、乱数バッファ6021aと予備バッファに格納されている乱数の出力順を本来の順序に管理するために、それぞれのバッファの乱数格納アドレスを順番に格納するポインタのリストを用いるようにしてもよい。このようなポインタのリストを用いることによっても、32ビット乱数を分割して得た16ビット乱数を生成順に、順次、乱数バッファ6021aから、または予備バッファから出力させることができる。 This spare buffer is composed of 16-bit storage stages having an appropriate number of stages, and is provided with a spare buffer flag indicating whether or not a 16-bit random number is stored in the spare buffer. Further, in order to manage the number of random numbers stored in the spare buffer and the read / write position, it is conceivable to prepare pointers for indicating the read position and the write position, which are the same as the pointers R and W described above. When such a spare buffer is used, for example, the random number generation program P3 monitors whether or not the random number buffer 6021a has a vacancy, and if there is a vacancy of a size that can store the random numbers stored in the spare buffer (the above equation (the above equation). 2)) occurs, a random number is copied from the spare buffer to the random number buffer 6021a as appropriate, and the spare buffer is cleared. In this way, the 16-bit random numbers obtained by dividing the 32-bit random numbers can be sequentially output from the random number buffer 6021a in the order of generation. Alternatively, in order to manage the output order of the random numbers stored in the random number buffer 6021a and the spare buffer in the original order, a list of pointers that store the random number storage addresses of the respective buffers in order may be used. By using such a list of pointers, 16-bit random numbers obtained by dividing a 32-bit random number can be sequentially output from the random number buffer 6021a or from the spare buffer in the order of generation.

以上のような制御を行うことによっても、メルセンヌ・ツイスタ法のような乱数生成手法で保証されている乱数の出現確率分布を損なうことなく、32ビット乱数を分割して得た16ビット乱数を生成順に、効率よく順次、演出プログラムP1の要求に応じて出力することができる。なお、以上では、乱数取得ドライバP5を呼び出す乱数の需要側は演出プログラムP1であるものとして説明したが、乱数の需要側の制御系は、演出プログラムP1に限らず、副制御部330のソフトウェアないしハードウェアによって構成される任意の部位であって構わない。 Even by performing the above control, a 16-bit random number obtained by dividing a 32-bit random number is generated without damaging the random number appearance probability distribution guaranteed by a random number generation method such as the Mersenne Twister method. It is possible to output in order, efficiently and sequentially according to the request of the effect program P1. In the above, the demand side of the random number that calls the random number acquisition driver P5 has been described as being the effect program P1, but the control system on the demand side of the random number is not limited to the effect program P1 but is the software of the sub-control unit 330. It may be any part composed of hardware.

<乱数バッファ枯渇に対する対処>
上述のように、本実施の形態では、FIFO構成の乱数バッファ6021aを用意し、演出プログラムP1の乱数取得とは非同期的に低負荷のシステム安定時に実行される乱数生成プログラムP3(乱数生成手段)によって乱数を生成させ、生成させた乱数を乱数バッファ6021aに格納する乱数生成および乱数バッファ格納処理(図11)を実行する。
<Countermeasures against random number buffer exhaustion>
As described above, in the present embodiment, a random number buffer 6021a having a FIFA configuration is prepared, and a random number generation program P3 (random number generation means) executed asynchronously with the random number acquisition of the effect program P1 when the system is stable with a low load. A random number generation and a random number buffer storage process (FIG. 11) are executed in which a random number is generated and the generated random number is stored in the random number buffer 6021a.

また、制御手段としてのサブCPU330a1は、演出プログラムP1(演出制御手段)の要求に応じて、乱数バッファ6021aから乱数の生成順に読み出す、いわばバッファモードによって演出プログラムP1(演出制御手段)に出力する。また、その時、乱数生成プログラムP3に生成させた32ビット乱数を16ビット乱数に分割し、しかも分割した16ビット乱数を捨てることなく、乱数バッファ6021aに格納し、また乱数バッファ6021aを経由して演出プログラムP1(演出制御手段)に出力する。 Further, the sub CPU 330a1 as the control means reads out from the random number buffer 6021a in the order of generating random numbers in response to the request of the effect program P1 (effect control means), and outputs the output to the effect program P1 (effect control means) in a so-called buffer mode. At that time, the 32-bit random number generated by the random number generation program P3 is divided into 16-bit random numbers, and the divided 16-bit random numbers are stored in the random number buffer 6021a without being discarded, and are produced via the random number buffer 6021a. Output to program P1 (effect control means).

一方で、演出プログラムP1は、乱数取得ドライバP5を呼び出すことにより、16ビット乱数を1つ要求する(図6)。この時、システム側の乱数制御クラス(図6)は、乱数バッファ6021aから16ビット乱数を1つ取り出して、演出プログラムP1に出力する。なお、この16ビット乱数の出力には、乱数取得ドライバP5から呼び出し側の演出プログラムP1に対して乱数値をリターン値として返す方式や、また、演出プログラムP1が乱数取得ドライバP5に対して指定したアドレス(あるいは大域的に確保された所定アドレス)の出力バッファに格納する方式などのいずれを用いてもよい。 On the other hand, the effect program P1 requests one 16-bit random number by calling the random number acquisition driver P5 (FIG. 6). At this time, the random number control class (FIG. 6) on the system side takes out one 16-bit random number from the random number buffer 6021a and outputs it to the effect program P1. For the output of this 16-bit random number, a method of returning a random number value as a return value from the random number acquisition driver P5 to the calling effect program P1 or an effect program P1 specified for the random number acquisition driver P5. Either method of storing in the output buffer of the address (or a predetermined address secured globally) may be used.

乱数バッファ6021aは、上記のように16ビット乱数を512個格納できる512段程度のサイズで構成され、演出プログラムP1の要求に先行して図11の乱数生成および乱数バッファ格納処理によって予め未使用の16ビット乱数が乱数バッファ6021aに貯留されているよう動作させることになる。そのためには、例えば予め動作実験を行って、演出プログラムP1の要求に余裕を持って応答できるよう図11の乱数生成および乱数バッファ格納処理に与える優先度をチューニングする手法を利用できる。 As described above, the random number buffer 6021a is configured in a size of about 512 stages capable of storing 512 16-bit random numbers, and is unused in advance by the random number generation and the random number buffer storage process of FIG. 11 prior to the request of the effect program P1. The 16-bit random number is operated so as to be stored in the random number buffer 6021a. For that purpose, for example, it is possible to use a method of conducting an operation experiment in advance and tuning the priority given to the random number generation and the random number buffer storage process of FIG. 11 so that the request of the effect program P1 can be responded with a margin.

しかしながら、入念に上記のようなチューニングを行っても、遊技状態によっては、演出プログラムP1が連続的に16ビット乱数を要求し、図11の乱数生成および乱数バッファ格納処理に先行して大量に16ビット乱数が消費され、乱数バッファ6021aが枯渇、即ち、乱数バッファ6021aに出力すべき16ビット乱数が残っていない空(カラ)状態となる可能性は否定できない。この点を考慮して、16ビット乱数を格納する乱数バッファ6021aの段数(サイズ)を上記の512段などよりもっと多めに取っておく措置も考えられるが、あらゆる遊技ないしそれに対応する演出状態を考慮して、充分な(と考えられる)乱数バッファ6021aの段数を決定するのは容易ではない。また、極めて稀な遊技ないし演出状態まで考慮すると、殆ど使用されないような、無駄に大きすぎる乱数バッファ6021aを確保することになり兼ねない。 However, even if the above tuning is performed carefully, depending on the game state, the effect program P1 continuously requests 16-bit random numbers, and a large amount of 16 is preceded by the random number generation and the random number buffer storage process of FIG. It cannot be denied that the bit random numbers are consumed and the random number buffer 6021a is exhausted, that is, the random number buffer 6021a is in an empty state where no 16-bit random numbers to be output remain. In consideration of this point, it is conceivable to set aside a larger number of stages (size) of the random number buffer 6021a for storing 16-bit random numbers than the above 512 stages, but consider all games or the corresponding production state. Therefore, it is not easy to determine a sufficient number of stages of the random number buffer 6021a (which is considered to be sufficient). Further, considering even an extremely rare game or production state, it may be possible to secure a random number buffer 6021a that is uselessly too large and is rarely used.

そこで、本実施の形態では、乱数取得ドライバP5を図13(a)および、図13(b)または(c)に示すように構成することにより、乱数を必要とする制御系と乱数を生成ないし取得する制御系との間で、乱数の需要/供給の関係を調節する。例えば、乱数バッファ6021aの枯渇が生じた場合に代替処理(下記の代替処理1または2)を実行できるようにし、16ビット×512段程度の乱数バッファ6021aを配置する場合でも、演出プログラムP1に必要とする16ビット乱数を出力できるようにする。なお、図13(a)~(c)の処理においても、乱数生成の手法はメルセンヌ・ツイスタ法であるものとする。 Therefore, in the present embodiment, by configuring the random number acquisition driver P5 as shown in FIGS. 13 (a) and 13 (b) or (c), a control system that requires a random number and a random number are not generated. The relationship between the supply / supply of random numbers is adjusted with the control system to be acquired. For example, when the random number buffer 6021a is exhausted, the alternative process (alternative process 1 or 2 below) can be executed, and even when the random number buffer 6021a of about 16 bits × 512 stages is arranged, it is necessary for the effect program P1. 16-bit random numbers can be output. Also in the processes of FIGS. 13 (a) to 13 (c), it is assumed that the random number generation method is the Mersenne Twister method.

図13では、演出制御手段に出力すべき乱数が前記乱数バッファに残っていない場合に行う代替処理として、上記のFIFO構成の乱数バッファ6021aを経由するバッファモードによらず、演出プログラムP1(演出制御手段)に直接、出力する乱数を生成するダイレクトモードを実行する。この、バッファモードに換えて実行する、乱数バッファ6021aを経由せずに乱数を生成するダイレクトモードの形態としては、例えば次のような2つが考えられる。 In FIG. 13, as an alternative process to be performed when the random number to be output to the effect control means does not remain in the random number buffer, the effect program P1 (effect control) is performed regardless of the buffer mode via the random number buffer 6021a of the FIFO configuration. Execute a direct mode to generate a random number to be output directly to the means). As the form of the direct mode for generating a random number without going through the random number buffer 6021a, which is executed in place of the buffer mode, for example, the following two can be considered.

上記ダイレクトモードの1つは、上記のバッファモードによらず、即ち、乱数バッファ6021aを経由させることなく、本来の乱数生成手段である乱数生成プログラムP3を呼び出して乱数を生成させ、生成した乱数を演出プログラムP1(演出制御手段)に出力するものである(図13(b)の代替処理1)。なお、この場合には、乱数生成プログラムP3を呼び出すと32ビット乱数が1つ生成されるが、演出プログラムP1の要求に応じて出力すべき乱数は16ビット乱数であるから、乱数生成プログラムP3により生成させた32ビット乱数を複数に分割して得た16ビット乱数の一部、即ち、16ビット乱数の1つは演出プログラムP1に出力し、一方、演出プログラムP1に出力しなかった乱数は乱数バッファ6021aに格納し、FIFOアクセスを制御する上記のポインタR、Wを適宜更新する。このような処理によれば、複数に分割して得た16ビット乱数を捨てたり消去したりすることなく、その全てを出力することができ、従って、メルセンヌ・ツイスタ法のように状態ベクトルなどによって予め生成される擬似乱数の出現確率が決定づけられている乱数生成系の整合性を損うことがない。 One of the direct modes is not based on the above buffer mode, that is, without going through the random number buffer 6021a, the random number generation program P3, which is the original random number generation means, is called to generate random numbers, and the generated random numbers are generated. It is output to the effect program P1 (effect control means) (alternative process 1 in FIG. 13B). In this case, when the random number generation program P3 is called, one 32-bit random number is generated, but since the random number to be output in response to the request of the effect program P1 is a 16-bit random number, the random number generation program P3 is used. A part of the 16-bit random numbers obtained by dividing the generated 32-bit random numbers into multiple parts, that is, one of the 16-bit random numbers is output to the effect program P1, while the random numbers not output to the effect program P1 are random numbers. The above pointers R and W, which are stored in the buffer 6021a and control FIFA access, are updated as appropriate. By such processing, all of the 16-bit random numbers obtained by dividing into a plurality of random numbers can be output without discarding or erasing them. Therefore, as in the Mersenne Twister method, a state vector or the like can be used. The consistency of the random number generation system in which the appearance probability of the pseudo-random number generated in advance is determined is not impaired.

また、上記ダイレクトモードの他の1つは、本来の乱数生成手段である乱数生成プログラムP3とは異なる他の手段によって乱数を生成させ、生成した乱数を前記演出制御手段に直接、出力する(図13(c)の代替処理2)ものである。 Further, in the other one of the direct modes, a random number is generated by another means different from the random number generation program P3 which is the original random number generation means, and the generated random number is directly output to the effect control means (Fig.). It is an alternative process 2) of 13 (c).

図13(a)は乱数取得ドライバP5が、演出プログラムP1のクラス呼び出しに応じて、主に上記のバッファモードによって乱数バッファ6021aから乱数を出力する処理手順の全体の流れを示しており、ここではまず乱数バッファ6021aが出力すべき16ビット乱数が残っていない枯渇(空(カラ))状態であるか否かを判定する(S31)。 FIG. 13A shows the entire flow of the processing procedure in which the random number acquisition driver P5 outputs random numbers from the random number buffer 6021a mainly in the above buffer mode in response to the class call of the effect program P1. First, it is determined whether or not the random number buffer 6021a is in an exhausted (empty) state in which no 16-bit random number to be output remains (S31).

この乱数バッファ6021aの枯渇判定は、例えば、FIFOアクセスのための上記の読み出し、書き込みのポインタR、Wに対するポインタ演算などによって行うことができる。例えば、乱数バッファ6021aの枯渇状態(残量0)は乱数バッファ6021a中の次の書き込みアドレスを指しているアドレス値に、読み出しポインタRのアドレス値が追いついてしまっている状態として、検出することができる。 The exhaustion determination of the random number buffer 6021a can be performed by, for example, the pointer calculation for the above-mentioned read / write pointers R and W for FIFO access. For example, the exhausted state (remaining amount 0) of the random number buffer 6021a can be detected as a state in which the address value of the read pointer R has caught up with the address value pointing to the next write address in the random number buffer 6021a. can.

もし、乱数バッファ6021aの枯渇状態(残量0)が生じていなければ、S31からS32へ移行し、乱数バッファ6021aから16ビット乱数を1個読み出し(S32)、続いて読み出しポインタRの値を更新し(S33)、読み出した16ビット乱数を演出プログラムP1に出力する(S34)。 If the random number buffer 6021a is not exhausted (remaining amount 0), the process shifts from S31 to S32, one 16-bit random number is read from the random number buffer 6021a (S32), and then the value of the read pointer R is updated. (S33), and the read 16-bit random number is output to the effect program P1 (S34).

一方、乱数バッファ6021aの枯渇状態(残量0)が生じている場合には、乱数バッファ6021aから読み出せる16ビット乱数が無いため、出力ステップ(S34)で出力できる16ビット乱数を生成する代替処理(S35)を実行する。 On the other hand, when the random number buffer 6021a is exhausted (remaining amount 0), there is no 16-bit random number that can be read from the random number buffer 6021a, so an alternative process for generating a 16-bit random number that can be output in the output step (S34). (S35) is executed.

図13(b)と(c)は、上記のダイレクトモードによって16ビット乱数を生成し、出力する代替処理(S35)のそれぞれ異なる構成例を示している。まず、図13(b)の代替処理1は、FIFOの乱数バッファ6021aを経由せず、緊急避難的に乱数生成プログラムP3を呼び出して少なくとも1個の16ビット乱数を生成して出力するものである。 13 (b) and 13 (c) show different configuration examples of the alternative process (S35) in which a 16-bit random number is generated and output by the above direct mode. First, the alternative process 1 of FIG. 13B calls the random number generation program P3 as an emergency evacuation without going through the random number buffer 6021a of the FIFO to generate and output at least one 16-bit random number. ..

図13(b)の代替処理1では、まず、低い優先度のタスク(あるいはプロセス、スレッド)として動作している図11の乱数生成および乱数バッファ格納処理を一時停止させる(S51)。この乱数生成および乱数バッファ格納処理の一時停止には、システムに用意されている例えばシグナル(signal)のようなタスク間通信手段(あるいはプロセス間通信手段、スレッド間通信手段など)を利用することができる。 In the alternative process 1 of FIG. 13 (b), first, the random number generation and the random number buffer storage process of FIG. 11, which is operating as a low priority task (or process, thread), is temporarily suspended (S51). For this random number generation and suspension of the random number buffer storage process, it is possible to use an intertask communication means (or an interprocess communication means, an interthread communication means, etc.) such as a signal provided in the system. can.

続いて、乱数生成プログラムP3を呼び出して32ビット乱数をN個生成させる(S52)。この32ビット乱数の生成個数Nは、1(ないし数個)程度とする。このN個の32ビット乱数は、演出プログラムP1が必要とするサイズの乱数を得るためn分割(本実施の形態ではn=2)するものとし、N*n個の(本実施の形態では16ビットの)乱数を生成する(S53)。 Subsequently, the random number generation program P3 is called to generate N 32-bit random numbers (S52). The number N of 32-bit random numbers generated is about 1 (or several). The N 32-bit random numbers are divided into n (n = 2 in the present embodiment) in order to obtain random numbers of the size required by the effect program P1, and N * n (16 in the present embodiment). Generate a random number (of bits) (S53).

そして、生成、分割したN*n個の乱数の先頭の1個を演出プログラムP1に出力し(S54)、残りの(N*n-1)個の乱数を乱数バッファ6021aに格納し(S55)、それに応じて乱数バッファ6021aのFIFO入出力を制御する読み出し、および書き込みのポインタR、Wの値を更新する(S56)。更に、S51で一時停止させておいた乱数生成および乱数バッファ格納処理(図11)を再開させる(S57)。このタスク(あるいはプロセス、スレッド)再開処理も、上述の例えばシグナル(signal)のようなタスク(あるいはプロセス、スレッド)間通信手段によって実行する。 Then, the first one of the generated and divided N * n random numbers is output to the effect program P1 (S54), and the remaining (N * n-1) random numbers are stored in the random number buffer 6021a (S55). , The values of the read and write pointers R and W that control the FIFO input / output of the random number buffer 6021a are updated accordingly (S56). Further, the random number generation and the random number buffer storage process (FIG. 11) suspended in S51 are restarted (S57). This task (or process, thread) resumption process is also executed by the intertask (or process, thread) communication means such as the above-mentioned signal (signal).

以上のようにして、乱数バッファ6021aの枯渇状態が検出された場合には、乱数バッファ6021aを経由しないダイレクトモードとして実装した代替処理1を実行する。乱数バッファ6021a(FIFO)を経由せず、緊急避難的に直接、乱数生成プログラムP3を呼び出して32ビット乱数を生成し、16ビット乱数に分割し、その先頭から16ビット乱数を1個、出力することができる。この処理は、演出プログラムP1の要求に迅速に応答するために通常、比較的高い優先度を与えて動作させる乱数取得ドライバP5中で高速に実行することができる。しかも、その場合、32ビット乱数を分割して得た16ビット乱数のうち使用しなかったものは乱数バッファ6021a(FIFO)に格納するようにしているため、メルセンヌ・ツイスタ法のように乱数列の整合性を考慮すると生成した乱数列の途中の幾つかを捨てることができないような乱数生成手法を用いている場合でも、乱数システムの整合性を損うことがない。 When the exhaustion state of the random number buffer 6021a is detected as described above, the alternative process 1 implemented as the direct mode that does not go through the random number buffer 6021a is executed. Directly call the random number generation program P3 as an emergency evacuation without going through the random number buffer 6021a (FIFO) to generate a 32-bit random number, divide it into 16-bit random numbers, and output one 16-bit random number from the beginning. be able to. This process can be executed at high speed in the random number acquisition driver P5 which is usually operated by giving a relatively high priority in order to quickly respond to the request of the effect program P1. Moreover, in that case, among the 16-bit random numbers obtained by dividing the 32-bit random numbers, the unused ones are stored in the random number buffer 6021a (FIFO), so that the random number sequence can be obtained as in the Mersenne Twister method. Even if a random number generation method is used in which some of the generated random number sequences cannot be discarded in consideration of consistency, the consistency of the random number system is not impaired.

一方、図13(c)は、上記のダイレクトモードによって16ビット乱数を生成し、出力する他の代替処理2の構成例を示している。図13(c)の代替処理2は、乱数システムの整合性を僅かに損なう可能性があるが、本来の乱数生成プログラムP3を呼び出すことなく、緊急避難的に他の乱数発生手段によって、16ビット乱数を1つ生成(S61)する。 On the other hand, FIG. 13C shows a configuration example of another alternative process 2 that generates and outputs a 16-bit random number by the above direct mode. The alternative process 2 of FIG. 13 (c) may slightly impair the integrity of the random number system, but it is 16 bits by another random number generation means as an emergency evacuation without calling the original random number generation program P3. Generate one random number (S61).

図13(c)のS61で他の乱数発生手段によって生成された1個の16ビット乱数は、同図のS62において、演出プログラムP1に出力される。なお、この本来の乱数生成プログラムP3とは異なる他の乱数発生手段による16ビット乱数の生成(S61)には、適当なハードウェアタイマやカウンタ、例えばデバッグカウンタ605や補助カウンタ6551の計数値を利用して演出プログラムP1の要求に応じて出力できる16ビット乱数を生成する手法が考えられる。 One 16-bit random number generated by another random number generation means in S61 of FIG. 13C is output to the effect program P1 in S62 of FIG. For the generation of 16-bit random numbers (S61) by another random number generation means different from the original random number generation program P3, appropriate hardware timers and counters, for example, the count values of the debug counter 605 and the auxiliary counter 6551 are used. Then, a method of generating a 16-bit random number that can be output in response to the request of the effect program P1 can be considered.

なお、図13(c)の代替処理2において、乱数の取得方法を変更する場合に用いる(本来の乱数生成プログラムP3とは異なる)他の乱数発生手段としては、上記のデバッグカウンタ605や補助カウンタ6551を用いる方法以外に、RTC652(システムタイマ)の計時値を適宜ビットシフトして16ビット乱数を取得する、あるいは別途、サブ基板上に配置した不図示のハードウェアによる乱数生成チップの出力を利用する、などの手法を用いることができる。 In the alternative process 2 of FIG. 13C, the above-mentioned debug counter 605 or auxiliary counter can be used as other random number generation means (different from the original random number generation program P3) used when changing the random number acquisition method. In addition to the method using 6551, the timed value of RTC652 (system timer) is appropriately bit-shifted to acquire a 16-bit random number, or the output of a random number generation chip separately arranged on a sub-board by hardware (not shown) is used. , Etc. can be used.

なお、図13(c)の代替処理2は、本来の乱数生成プログラムP3を呼び出さないため、乱数取得ドライバP5(システムレベルの乱数制御クラス)で実行する他、ユーザレベルの演出プログラムP1側で実行するような構成を採ってもよい。その場合、乱数取得ドライバP5は、図13(a)の先頭で乱数バッファ6021aの枯渇を検出した場合、適宜定めておいたエラーを示す戻り値(エラーコード)をユーザレベルの演出プログラムP1に返して処理をエラー終了するよう実装する。そして、演出プログラムP1側では、その戻り値(エラーコード)を検出した時に、図13(c)のS61に示した他の手段による乱数発生を行うよう動作させればよい。 Since the alternative process 2 in FIG. 13C does not call the original random number generation program P3, it is executed by the random number acquisition driver P5 (system-level random number control class) and also by the user-level production program P1. You may adopt such a structure. In that case, when the random number acquisition driver P5 detects the exhaustion of the random number buffer 6021a at the beginning of FIG. 13A, it returns a return value (error code) indicating an appropriately determined error to the user-level effect program P1. And implement the process so that it ends with an error. Then, on the effect program P1 side, when the return value (error code) is detected, it may be operated so as to generate a random number by another means shown in S61 of FIG. 13 (c).

以上のようにして、図13(c)の代替処理2によれば、乱数バッファ6021aの枯渇(16ビット乱数の残数0)が生じた場合に演出プログラムP1が必要とする16ビット乱数を生成することができる。図13(c)の代替処理2は、本来の乱数生成プログラムP3を呼び出さずに緊急避難的に16ビット乱数を生成するため、乱数システムの整合性を損う可能性がある。しかしながら、乱数システムの整合性を僅かに損なう犠牲はあるが、より高速に演出プログラムP1に出力すべき代替の16ビット乱数を生成できる可能性がある。 As described above, according to the alternative process 2 of FIG. 13C, the 16-bit random number required by the effect program P1 is generated when the random number buffer 6021a is exhausted (the remaining number of 16-bit random numbers is 0). can do. Since the alternative process 2 of FIG. 13C generates a 16-bit random number in an emergency evacuation without calling the original random number generation program P3, the integrity of the random number system may be impaired. However, there is a possibility that an alternative 16-bit random number to be output to the effect program P1 can be generated at a higher speed at the cost of slightly impairing the integrity of the random number system.

また、図13(a)~(c)に示した処理手法は、乱数バッファ6021aを経由して乱数の入出力を行うバッファモードと、乱数バッファ6021aを経由しないダイレクトモードを設け、乱数の枯渇、言い換えれば乱数の需要と供給に係る状況に応じて、バッファモードとダイレクトモードを切り替える構成であり、このような構成により、乱数の生成系と乱数を利用する処理系の間で、乱数の需要と供給の関係を良好に調節することができる。 Further, the processing methods shown in FIGS. 13A to 13C provide a buffer mode in which random numbers are input / output via the random number buffer 6021a and a direct mode in which the random numbers are not passed through the random number buffer 6021a. In other words, it is a configuration that switches between buffer mode and direct mode according to the situation related to the demand and supply of random numbers, and with such a configuration, the demand for random numbers and the demand for random numbers between the random number generation system and the processing system that uses random numbers. The supply relationship can be adjusted well.

なお、図13(a)~(c)では、通常状態ではバッファモードを用い、代替処理1または2でダイレクトモードを利用する構成を示したが、この関係は逆であってもよい。また、乱数の需要と供給の調整は、必ずしもバッファの枯渇状態の検出を条件として行うべきものとは限らない。 Note that FIGS. 13 (a) to 13 (c) show a configuration in which the buffer mode is used in the normal state and the direct mode is used in the alternative process 1 or 2, but this relationship may be reversed. Further, the adjustment of the supply and demand of random numbers should not always be performed on the condition that the buffer exhaustion state is detected.

例えば、ここで、通常状態では、ダイレクトモードで乱数生成プログラムP3によって乱数を発生させることを考える。この構成では、演出プログラムP1の乱数の需要を満たすことができないタイミングが生じる場合がある。例えば、メルセンヌ・ツイスタ法のように624n回の乱数発生ごとに状態ベクトル更新によって処理が重くなるような乱数方式を乱数生成プログラムP3で用いると、例えば高負荷の時にダイレクトモードで乱数生成プログラムP3を呼び出した時、生成された乱数を取得するまでに長い処理時間がかかってしまう可能性がある。そこで、ダイレクトモードで乱数生成プログラムP3によって乱数を発生させる時に、システムの負荷、例えばサブCPU330a1がロードアベレージ(load average)などの値を取得し、その値が所定以上である場合には、乱数の入出力をバッファモードに切り換えることが考えられる。この場合には、乱数バッファ6021aには、例えば乱数生成プログラムP3と異なる乱数生成手段、例えばハードウェアカウンタやタイマの値から乱数を生成して格納する乱数処理を低優先度のタスクとして動作させておく。そして、ロードアベレージ(load average)などに応じて、システムの負荷が高すぎる場合には、ダイレクトモードで乱数生成プログラムP3を呼び出すことなく、乱数バッファ6021aに蓄積されている乱数を出力する。以上のように、通常状態ではダイレクトモードを用い、代替処理1または2でバッファモードを利用する構成とし、乱数の需要と供給の調整を適切に行える可能性がある。 For example, here, in the normal state, consider generating a random number by the random number generation program P3 in the direct mode. With this configuration, there may be a timing when the demand for random numbers in the effect program P1 cannot be satisfied. For example, if the random number generation program P3 uses a random number method such as the Mersenne Twister method in which the processing becomes heavy due to the state vector update every 624n random number generations, for example, the random number generation program P3 is used in the direct mode when the load is high. When called, it may take a long time to get the generated random numbers. Therefore, when a random number is generated by the random number generation program P3 in the direct mode, the load of the system, for example, the sub CPU330a1 acquires a value such as load average, and if the value is equal to or more than a predetermined value, the random number is generated. It is conceivable to switch the input / output to buffer mode. In this case, in the random number buffer 6021a, for example, a random number generation means different from the random number generation program P3, for example, a random number process for generating and storing a random number from the value of a hardware counter or a timer is operated as a low priority task. .. Then, when the load of the system is too high according to the load average or the like, the random numbers stored in the random number buffer 6021a are output without calling the random number generation program P3 in the direct mode. As described above, there is a possibility that the direct mode is used in the normal state and the buffer mode is used in the alternative process 1 or 2, and the supply and demand of random numbers can be appropriately adjusted.

<乱数生成異常の対処>
本実施の形態では、乱数生成手法にメルセンヌ・ツイスタ法を用いており、例えば乱数生成系のハードウェアおよびソフトウェアが正常に動作している場合には、非常に長い周期の擬似乱数列を生成し、演出プログラムP1はこれを利用することができる。しかしながら、乱数生成系のハードウェアおよびソフトウェアに異常がある場合には、乱数の生成異常が生じる可能性がある。
<Countermeasures for random number generation abnormalities>
In this embodiment, the Mersenne Twister method is used as the random number generation method. For example, when the hardware and software of the random number generation system are operating normally, a pseudo-random number sequence having a very long period is generated. , The production program P1 can use this. However, if there is an abnormality in the hardware and software of the random number generation system, there is a possibility that the random number generation abnormality will occur.

例えば、メルセンヌ・ツイスタ法における状態ベクトルを格納するCPURAM602の乱数情報記憶領域6021bが破損しているような状態が発生すると、本来の乱数列の周期よりも短い周期で、例えば同一ビットパターン(0や、他の特定の値に相当するビットパターン)の乱数が連続的に出力されるような生成異常を生じる可能性がある。例えば、物理的な外乱によってCPURAM602の乱数情報記憶領域6021bがハードウェア的に破損した場合や、システムプログラムの暴走などによって乱数情報記憶領域6021bの乱数制御データ、例えばメルセンヌ・ツイスタ法における状態ベクトルが書き換えられてしまうと、上記のような乱数の生成異常を生じる可能性がある。 For example, when a state occurs in which the random number information storage area 6021b of the CPU RAM 602 that stores the state vector in the Mersenne Twister method is damaged, the cycle is shorter than the cycle of the original random number sequence, for example, the same bit pattern (0 or , A bit pattern corresponding to another specific value) may cause a generation abnormality such that random numbers are continuously output. For example, when the random number information storage area 6021b of the CPU RAM 602 is damaged in terms of hardware due to physical disturbance, or the random number control data of the random number information storage area 6021b is rewritten due to a runaway of the system program, for example, the state vector in the Mersenne Twister method is rewritten. If this happens, the above-mentioned random number generation abnormality may occur.

図14は、上記のような乱数の生成異常を生じた場合の回復処理を実装した図11の乱数生成および乱数バッファ格納処理、特に、図11のS13およびS14に相当する処理手順の流れを示している。 FIG. 14 shows the flow of the random number generation and random number buffer storage processing of FIG. 11 that implements the recovery processing when the above-mentioned random number generation abnormality occurs, and in particular, the processing procedure corresponding to S13 and S14 of FIG. ing.

図14に示す回復処理(S46)は、乱数の生成異常を検出した場合に乱数の取得方法を変更する手続によって構成される。この乱数の取得方法を変更する手続の1つは、例えば、乱数生成プログラムP3(乱数生成手段)とは異なる他の手段によって乱数を生成させ、乱数の生成異常を検出した乱数の少なくとも一部に換えて前記演出制御手段に出力するものである(下記の(A))。また、この乱数の取得方法を変更する手続の他の1つは、例えば乱数生成プログラムP3(乱数生成手段)の初期化または更新(下記の(B))であり、この初期化または更新処理としては、具体的には、乱数生成プログラムP3(乱数生成手段)の乱数情報記憶領域6021bに格納されている乱数制御データの初期化、または更新処理、例えばメルセンヌ・ツイスタ法においては、乱数情報記憶領域6021bに乱数制御データとして格納されている状態ベクトルの更新処理を行うことができる。 The recovery process (S46) shown in FIG. 14 is configured by a procedure for changing the random number acquisition method when a random number generation abnormality is detected. One of the procedures for changing the random number acquisition method is, for example, to generate a random number by a means different from the random number generation program P3 (random number generation means), and to generate at least a part of the random numbers in which the random number generation abnormality is detected. Instead, it is output to the effect control means ((A) below). Further, another procedure for changing the random number acquisition method is, for example, initialization or update of the random number generation program P3 (random number generation means) ((B) below), and as this initialization or update process. Specifically, in the initialization or update process of the random number control data stored in the random number information storage area 6021b of the random number generation program P3 (random number generation means), for example, in the Mersenne Twister method, the random number information storage area. It is possible to update the state vector stored as random number control data in 6021b.

また、乱数の生成異常は、上記のように、例えば乱数生成プログラムP3(乱数生成手段)に発生させ、あるいは更に乱数バッファに分割して格納した複数の乱数に特定の同一値が複数連続した場合に、前記生成異常が発生したことを検出する手法を用いることができる。 Further, as described above, the random number generation abnormality is generated in, for example, the random number generation program P3 (random number generation means), or when a plurality of specific same values are continuously stored in a plurality of random numbers further divided and stored in a random number buffer. In addition, a method for detecting the occurrence of the generation abnormality can be used.

図14の乱数生成、格納処理(図11のS13、S14に相当)では、まず、図11のS12で取得した生成個数Nの32ビット乱数を生成および格納済みか否かを判定する(S41)。ここで、既にN個の32ビット乱数を生成および格納済みの場合は、この乱数生成、格納処理(図11のS13、S14)を終了する。 In the random number generation and storage process of FIG. 14 (corresponding to S13 and S14 of FIG. 11), first, it is determined whether or not the 32-bit random number of the generated number N acquired in S12 of FIG. 11 has been generated and stored (S41). .. Here, if N 32-bit random numbers have already been generated and stored, the random number generation and storage processing (S13, S14 in FIG. 11) is terminated.

一方、図11のS12で取得した生成個数Nの32ビット乱数の生成、格納が終了していない場合には、乱数生成プログラムP3を呼び出して1個の32ビット乱数を生成させ(S42)、n個(本実施の形態ではn=2)の16ビット乱数に分割して乱数バッファ6021aに格納する(S43)。 On the other hand, when the generation and storage of the 32-bit random number of the generation number N acquired in S12 of FIG. 11 is not completed, the random number generation program P3 is called to generate one 32-bit random number (S42), and n It is divided into 16-bit random numbers (n = 2 in this embodiment) and stored in the random number buffer 6021a (S43).

続いて、それまでに乱数バッファ6021aに格納した16ビット乱数列を検査し、乱数の生成異常が発生しているか否かを判定する(S44)。例えば、この判定(S44)は、最後に格納した16ビット乱数列の数個、例えば4~10個程度の数個が全て(連続して)同一値(0または他の特定数値)であるか否かを検査することによって行う。そして、このような乱数の生成異常が発生していない場合には、書き込みポインタWの値を更新(S45)し、制御を上記のS41に復帰させる。なお、乱数の生成異常を検出するために連続して同一値であるか否かを検査する16ビット乱数の数は、必ずしも上記の4~10個の範囲でなくても構わない。例えば、適当な演算方式によって、乱数の生成異常を検出するために連続して同一値であるか否かを検査する乱数の数を決定できる場合には、その乱数の数を採用して構わない。ただし、一般には、連続して同一値であるか否かを検査する16ビット乱数の数が1~3個程度では誤検出が頻出する可能性が大きくなり、10個以上などのように多すぎる場合には、極めて稀にしか発生しない生成異常しか検出できなくなる可能性がある、と考えられる。 Subsequently, the 16-bit random number sequence stored in the random number buffer 6021a up to that point is inspected, and it is determined whether or not a random number generation abnormality has occurred (S44). For example, in this determination (S44), whether several 16-bit random number strings stored at the end, for example, several 4 to 10 are all (consecutively) the same value (0 or other specific numerical value). It is done by inspecting whether or not. Then, when such a random number generation abnormality does not occur, the value of the write pointer W is updated (S45), and the control is returned to the above S41. The number of 16-bit random numbers that are continuously checked for the same value in order to detect an abnormality in random number generation does not necessarily have to be in the above range of 4 to 10. For example, if the number of random numbers to be continuously checked for the same value can be determined by an appropriate calculation method in order to detect an abnormality in random number generation, the number of random numbers may be adopted. .. However, in general, if the number of 16-bit random numbers that continuously check whether the values are the same is about 1 to 3, there is a high possibility that false positives will occur frequently, and there are too many such as 10 or more. In that case, it is considered that there is a possibility that only the production abnormality that occurs very rarely can be detected.

一方、ステップS44で、上記乱数の生成異常が発生している場合には、回復処理(S46)を実行してからS45に移行する。 On the other hand, if the random number generation abnormality has occurred in step S44, the recovery process (S46) is executed and then the process proceeds to S45.

この回復処理(S46)の手法の1つ(A)としては、例えば、本来の乱数生成プログラムP3とは異なる他の手段によって、生成異常が生じている数個(例えば4、6、8程度の数個)の16ビット乱数の少なくとも1つを置換する乱数を他の手段によって生成することが考えられる。この他の手段による乱数の生成(A)には、図13(c)の代替処理2で説明したように、デバッグカウンタ605や補助カウンタ6551の値、RTC652(システムタイマ)の計時値などを適宜ビットシフトして16ビット乱数を取得する手法、あるいは別途、サブ基板上に配置した不図示のハードウェアによる乱数生成チップの出力を利用する手法を用いることができる。 As one of the methods (A) of this recovery process (S46), for example, several (for example, about 4, 6, 8) generation abnormalities are caused by other means different from the original random number generation program P3. It is conceivable to generate a random number that replaces at least one of the 16-bit random numbers (several) by other means. For the random number generation (A) by other means, as described in the alternative process 2 of FIG. 13 (c), the values of the debug counter 605 and the auxiliary counter 6551, the timed values of the RTC652 (system timer), and the like are appropriately used. A method of bit-shifting to acquire a 16-bit random number, or a method of separately using the output of a random number generation chip by hardware (not shown) arranged on a sub-board can be used.

図9には、生成異常が生じている16ビット乱数を本来の乱数生成プログラムP3とは異なる他の手段によって生成した乱数によって置換する様子を示してある。図9の例では、乱数生成プログラムP3が生成した「0」が連続する4個の16ビット乱数の内、少なくともいずれか一つ、例えば乱数バッファ6021aの511段目の値を、他の手段から取得した乱数(例えばデバッグカウンタ605のカウンタ値ないしそれを加工して得た値)に書き換えている。このように、生成した乱数に乱数生成アルゴリズムによって生成される乱数列の周期よりも短い周期性が発生した場合、本来の乱数生成プログラムP3とは異なる他の乱数発生手段で発生させた乱数によって乱数の少なくとも一部を置き換えることによって、例え、乱数生成系のハードウェアないしソフトウェア的に何らかの不具合が発生している場合でも、演出プログラムP1が順次、利用する乱数のランダム性を可能な限り担保することができる。なお、上記乱数値として置き換えるカウンタ値は、デバッグカウンタ605のカウンタ値に限らず、RTC652のカウンタ値などでも良く、乱数生成プログラムP3以外の他の手段により生成された値であればどのような値であっても良い。 FIG. 9 shows how a 16-bit random number in which a generation abnormality has occurred is replaced with a random number generated by a means different from the original random number generation program P3. In the example of FIG. 9, at least one of four 16-bit random numbers in which "0" generated by the random number generation program P3 is continuous, for example, the value in the 511th stage of the random number buffer 6021a is obtained from another means. It is rewritten with the acquired random number (for example, the counter value of the debug counter 605 or the value obtained by processing it). In this way, when the generated random number has a periodicity shorter than the period of the random number sequence generated by the random number generation algorithm, the random number is generated by a random number generation means different from the original random number generation program P3. By replacing at least a part of the above, even if some trouble occurs in the hardware or software of the random number generation system, the randomness of the random numbers used by the production program P1 is sequentially guaranteed as much as possible. Can be done. The counter value to be replaced as the random number value is not limited to the counter value of the debug counter 605, but may be a counter value of RTC652 or the like, and any value as long as it is a value generated by a means other than the random number generation program P3. It may be.

なお、生成異常が生じている乱数を置換する値は、乱数生成プログラムP3以外の他の手段により生成された値、例えば乱数としての使用に支障のない値であればどのような値を用いても良い。 As the value for replacing the random number in which the generation abnormality has occurred, a value generated by a means other than the random number generation program P3, for example, any value that does not hinder the use as a random number is used. Is also good.

また、回復処理(S46)の手法の他の1つ(B)としては、強制的に状態ベクトルの更新処理(例えば図11のS15)を起動して、CPURAM602の乱数情報記憶領域6021bの初期化ないしは更新処理を行う手法を取ることができる。 Further, as another method (B) of the recovery process (S46), the state vector update process (for example, S15 in FIG. 11) is forcibly activated to initialize the random number information storage area 6021b of the CPU RAM 602. Or you can take a method of performing update processing.

以上のようにして、同一ビットパターン(0または他の特定ビットパターン)の連続出力を介して16ビット乱数の生成異常を検出し、もしそのような16ビット乱数の生成異常が発生している場合には、回復処理を行って、乱数システムの整合性を適宜、回復することができる。この回復処理は、乱数の取得方法を変更するものであって、例えば上記のS46で説明したように(A)他の手段による代替乱数の生成、(B)乱数生成系の制御データ、例えば乱数情報記憶領域6021bに格納されている乱数制御データ(状態ベクトル)の初期化ないしは更新処理などを行うことによって実現できる。 As described above, when a 16-bit random number generation abnormality is detected via continuous output of the same bit pattern (0 or another specific bit pattern), and such a 16-bit random number generation abnormality occurs. The consistency of the random number system can be recovered as appropriate by performing a recovery process. This recovery process changes the method of acquiring random numbers, for example, as described in S46 above, (A) generation of alternative random numbers by other means, (B) control data of a random number generation system, for example, random numbers. This can be realized by initializing or updating the random number control data (state vector) stored in the information storage area 6021b.

なお、回復処理のうち、上記の(A)他の手段による代替乱数の生成による手法を取る場合は、図13(c)で説明した代替処理の場合と同様に、ユーザレベルの演出プログラムP1で実行するよう構成することも考えられる。その場合には、直近の数個(例えば4、6、8程度の数個)の16ビット乱数列に同一ビットパターン(0または他の特定ビットパターン)の連続が出現しているか否かの判定(上記のS44)、および、その判定結果に応じた他の手段を用いた代替乱数生成による回復処理(上記のS46)は、演出プログラムP1で実行する。また、図9の例では、生成異常と判断した4個連続する「0」のうち、その3番目に相当する「0」を他の手段から得た乱数に書き換えているが、生成異常と判断する連続する同一値の乱数の内、どの乱数を書き換えるかは任意である。また、生成異常と判断する連続する同一値の乱数を、全て、適当な手段から得た乱数で書き換えるような構成であってもよい。 In the recovery process, when the method of generating the alternative random number by the above-mentioned other means (A) is adopted, the user-level effect program P1 is used in the same manner as in the case of the alternative process described with reference to FIG. 13 (c). It could be configured to do so. In that case, it is determined whether or not a series of the same bit pattern (0 or other specific bit pattern) appears in the latest several (for example, several 4, 6, 8) 16-bit random number sequences. (S44 above) and the recovery process (S46 above) by generating an alternative random number using another means according to the determination result are executed by the effect program P1. Further, in the example of FIG. 9, among the four consecutive "0" determined to be generation abnormalities, the third "0" is rewritten to a random number obtained from another means, but it is determined to be a generation abnormality. It is arbitrary which random number is rewritten among the consecutive random numbers of the same value. Further, it may be configured to rewrite all consecutive random numbers having the same value, which are determined to be generation abnormalities, with random numbers obtained from an appropriate means.

5.変形例
なお、上述した実施の形態では、乱数生成のアルゴリズムとしてメルセンヌ・ツイスタ法を採用したが、本発明はこれに限らず、例えば、Xorshift法などの他の乱数生成アルゴリズムによって乱数を生成しても良い。また、乱数を格納する乱数バッファをFIFOバッファによって構成したが、これに限らず、生成された乱数が生成された順序に従って消費されるように、例えば、乱数を使用する演出プログラムP1などのアプリケーション側のプログラムを構成しても良い。
5. Modification Example In the above-described embodiment, the Mersenne Twister method is adopted as the random number generation algorithm, but the present invention is not limited to this, and random numbers are generated by another random number generation algorithm such as the Xorshift method. Is also good. Further, the random number buffer for storing random numbers is configured by the FIFO buffer, but the present invention is not limited to this, and the application side such as the production program P1 using random numbers so that the generated random numbers are consumed in the order in which they are generated. You may configure the program of.

また、乱数種の生成に補助カウンタ6551のカウンタ値を用いているが、これに限らず、例えば、補助カウンタ6551のカウンタ値を使用する場合に比較して乱数種の生成スピードは落ちるが、RTC652やデバッグカウンタ605のカウンタ値を用いて乱数種を生成しても良い。更に、補助カウンタ6551のカウンタ値をそのまま乱数種として使用しても良い。 Further, the counter value of the auxiliary counter 6551 is used for the generation of the random number seed, but the counter value is not limited to this. Or the counter value of the debug counter 605 may be used to generate a random number seed. Further, the counter value of the auxiliary counter 6551 may be used as it is as a random number seed.

また、本実施形態では、バックアップSRAM655内の補助カウンタ6551は、断電時(電源OFF時)にその値が保持されるように構成されているが、例えば、断電時に補助カウンタの値を保持せず、かつ、電源投入時に補助カウンタの初期化を実行しないようにして、電源投入時にその値が不定となるように構成しても良い。このように、電源投入時に乱数種の生成に使用される補助カウンタの値を不定とすることにより、電源投入時の乱数種の値が一定の値になるようにすることを防止することができる。 Further, in the present embodiment, the auxiliary counter 6551 in the backup SRAM 655 is configured to hold the value when the power is cut off (when the power is turned off). For example, the value of the auxiliary counter is held when the power is cut off. It may be configured so that the value is undefined when the power is turned on by not performing the initialization of the auxiliary counter when the power is turned on. In this way, by making the value of the auxiliary counter used to generate the random number species at power-on indefinite, it is possible to prevent the value of the random number species at power-on from becoming a constant value. ..

また、上述した実施形態では、乱数生成アルゴリズムによって乱数バッファ6021aに格納される乱数よりもビット長の長い乱数を生成し、この乱数生成アルゴリズムによって生成された乱数を複数の乱数に分割して乱数バッファ6021aに格納するように構成したが、これに限らず、例えば、乱数生成アルゴリズムによって生成される乱数のビット長と乱数バッファ6021aに格納される乱数のビット長とを同じにして、分割処理を行わずにそのまま乱数バッファ6021aに格納するように構成しても良い。また、反対に、乱数生成アルゴリズムによって生成される乱数のビット長を、乱数バッファ6021aに格納される乱数のビット長よりも短くし、生成した複数の乱数を結合して1つの乱数として乱数バッファ6021aに格納するようにしても良い。即ち、乱数の正当性を担保できるように、乱数生成アルゴリズムによって生成された乱数を、本来の乱数列の順序を崩さずに残らず使用する形であれば、どのように乱数バッファ6021aに格納するようにしても良い。更に、乱数バッファは、上述した実施の形態のように必ずしも1つである必要はない。例えば、第1の乱数バッファが溢れた場合に、溢れた乱数を格納する第2の乱数バッファが設けられていても良い。 Further, in the above-described embodiment, the random number generation algorithm generates a random number having a bit length longer than the random number stored in the random number buffer 6021a, and the random number generated by this random number generation algorithm is divided into a plurality of random numbers in the random number buffer. It is configured to be stored in 6021a, but is not limited to this, for example, the bit length of the random number generated by the random number generation algorithm and the bit length of the random number stored in the random number buffer 6021a are made the same, and the division process is performed. Instead, it may be configured to be stored in the random number buffer 6021a as it is. On the contrary, the bit length of the random number generated by the random number generation algorithm is made shorter than the bit length of the random number stored in the random number buffer 6021a, and the generated plurality of random numbers are combined to form one random number in the random number buffer 6021a. It may be stored in. That is, in order to ensure the validity of the random numbers, how to store the random numbers generated by the random number generation algorithm in the random number buffer 6021a if the random numbers are used without disturbing the order of the original random number sequences. You may do so. Further, the random number buffer does not necessarily have to be one as in the above-described embodiment. For example, when the first random number buffer overflows, a second random number buffer for storing the overflowing random numbers may be provided.

また、上述した実施形態では、タスクの完了を契機としてサブCPU330a1が次のタスクの実行へと移行しており、タスクの状態変更をきっかけとしてタスクの切り替えを行うように構成されていたが、例えば、タスク管理プログラムP4は、所定のサイクル内において、各タスクが実行される時間を優先度に応じて設定し、このタスクに応じて設定された時間が経過することを契機にサブCPU330a1が次のタスクを実行するように構成しても良い。また、タスクの優先度の設定に限らず、例えば、サブCPU330a1の負荷が所定の負荷を監視し、サブCPU330a1の負荷が所定の負荷以下の際に乱数生成処理を実行するように構成しても良い。この時、乱数生成処理は、割り込み処理により実行されても良いし、その優先度を上げてサイクル処理内で実行されるように設定しても良い。 Further, in the above-described embodiment, the sub CPU 330a1 shifts to the execution of the next task when the task is completed, and is configured to switch the task as a trigger for changing the status of the task, for example. In the task management program P4, the time for each task to be executed is set according to the priority in a predetermined cycle, and the sub CPU 330a1 is next when the time set according to this task elapses. It may be configured to perform a task. Further, the setting is not limited to the task priority setting, and for example, the load of the sub CPU330a1 may be configured to monitor a predetermined load, and the random number generation process may be executed when the load of the subCPU330a1 is equal to or less than the predetermined load. good. At this time, the random number generation process may be executed by the interrupt process, or may be set to be executed in the cycle process by increasing its priority.

更に、上述した実施形態では、抽選手段として演出プログラムP1を例に説明をしたが、本発明はこれに限らず、何らかの乱数抽選を実行するものであれば、上記記憶手段としての乱数バッファ6021aに格納された乱数は、どのような手段(プログラム)に使用されても良く、本発明は、副制御部330のみならず主制御部300に適用されても良い。また、上記サブCPU330a1とVDP330a2とは、必ずしも一体のハードウェアLSIに実装されている必要はなく、別体のLSIによって構成されても良い。 Further, in the above-described embodiment, the effect program P1 has been described as an example of the lottery means, but the present invention is not limited to this, and if any random number lottery is executed, the random number buffer 6021a as the storage means is used. The stored random numbers may be used for any means (program), and the present invention may be applied not only to the sub control unit 330 but also to the main control unit 300. Further, the sub CPU 330a1 and the VDP 330a2 do not necessarily have to be mounted on an integrated hardware LSI, and may be configured by a separate LSI.

また、本実施形態においては、遊技機として、大当たり図柄を含む複数種類の図柄の中からいずれかを決定する図柄決定手段と、図柄が決定されてから所定の変動時間が経過すると、図柄表示部に図柄を表示させる図柄表示手段と、図柄表示部に大当たり図柄が表示されると、複数回のラウンド遊技で構成される大役遊技を実行する大役遊技実行手段と、大役遊技におけるラウンド遊技のうち予め設定された特定ラウンド遊技中に、大入賞口に入球した遊技球が特定領域に進入すると、所定の遊技利益を付与する遊技利益付与手段と、大役遊技中の演出を実行する演出実行手段と、を備えるいわゆる第一種遊技を可能なパチンコ機100を例示したが、これに限らず、例えば、小当たり遊技中に所定の領域に遊技球が侵入することで大役遊技を開始可能な第二種遊技を可能なパチンコ機であっても本発明は適用し得る。また、第三種遊技を実行可能なパチンコ機、これら第一種ないし第三種遊技のいずれかを組み合わせて実行可能なパチンコ機であっても本発明は適用し得る。更に、例えば、外周面に複数種類の図柄が配列されている複数のリールと、遊技者による開始操作を検出するスタートスイッチと、複数のリールに対応して設けられ、各リールを停止させるための停止操作を検出するストップスイッチと、遊技の進行を制御する主制御部と、コマンドに基づき演出を制御する演出制御手段を有する副制御部を備え、主制御部が、複数種類の役の当否を決定する内部抽選を行う内部抽選手段と、スタートスイッチによる開始操作の検出に基づいて、複数のリールを回転させ、ストップスイッチによる停止操作の検出及び内部抽選手段により決定された内部抽選の結果に基づいて、回転中のリールを停止させるリール停止制御を行うリール制御手段と、複数のリールが停止した状態で、役ごとに予め定められた入賞形態を示す図柄組合せが有効ライン上に表示されたことに基づいて、役が入賞したと判定する入賞判定手段と、を有するスロットマシンにも、本発明は適用できる。以下、スロットマシン1について詳述する。 Further, in the present embodiment, as a gaming machine, a symbol determining means for determining one from a plurality of types of symbols including a jackpot symbol, and a symbol display unit when a predetermined fluctuation time elapses after the symbol is determined. A symbol display means for displaying a symbol on the machine, a major role game execution means for executing a major role game composed of a plurality of round games when a jackpot symbol is displayed on the symbol display unit, and a round game in the major role game in advance. During a set specific round game, when a game ball that has entered a large winning opening enters a specific area, a game profit-giving means that grants a predetermined game profit and a production execution means that executes a production during a major role game. Although the pachinko machine 100 capable of so-called first-class gaming provided with the The present invention can be applied even to a pachinko machine capable of seed games. Further, the present invention can be applied to a pachinko machine capable of performing a third-class game, or a pachinko machine capable of performing any of these first-class or third-class games in combination. Further, for example, a plurality of reels in which a plurality of types of symbols are arranged on the outer peripheral surface, a start switch for detecting a start operation by a player, and a start switch corresponding to the plurality of reels are provided to stop each reel. It is equipped with a stop switch that detects a stop operation, a main control unit that controls the progress of the game, and a sub-control unit that has an effect control means that controls the effect based on commands. Based on the internal lottery means for performing the internal lottery to be determined and the detection of the start operation by the start switch, a plurality of reels are rotated, and the detection of the stop operation by the stop switch and the result of the internal lottery determined by the internal lottery means are used. The reel control means for controlling the reel stop to stop the rotating reel and the symbol combination showing the winning form predetermined for each winning combination with a plurality of reels stopped are displayed on the effective line. The present invention can also be applied to a slot machine having a winning determination means for determining that a winning combination has been won based on the above. Hereinafter, the slot machine 1 will be described in detail.

<スロットマシンの機械的構成>
図15は、スロットマシン1の外観構成を示す斜視図である。スロットマシン1は、いわゆる回胴式遊技機と呼ばれるもので、メダルを遊技媒体として用いた遊技を行う種類の遊技機である。
<Mechanical configuration of slot machine>
FIG. 15 is a perspective view showing the external configuration of the slot machine 1. The slot machine 1 is a so-called spinning machine, and is a type of gaming machine that plays a game using a medal as a gaming medium.

スロットマシン1は、収納箱BX、前面上扉UD及び前面下扉DDからなる箱形の筐体内に複数のリールとしての第1リールR1~第3リールR3からなるリールユニットが収められている。また、筐体内のリールユニットの下部には、メダルの払出装置としてのホッパーユニット920(図17参照)が収められている。また、スロットマシン1の筐体内には、CPU、ROM(情報記憶媒体の一例)、RAM等を搭載し、スロットマシン1の動作を制御する制御基板も収められている。 In the slot machine 1, a reel unit composed of a first reel R1 to a third reel R3 as a plurality of reels is housed in a box-shaped housing composed of a storage box BX, a front upper door UD, and a front lower door DD. Further, a hopper unit 920 (see FIG. 17) as a medal payout device is housed in the lower part of the reel unit in the housing. Further, in the housing of the slot machine 1, a CPU, a ROM (an example of an information storage medium), a RAM, and the like are mounted, and a control board for controlling the operation of the slot machine 1 is also housed.

図15に示すように第1リールR1~第3リールR3は、それぞれ外周面が一定の間隔で20の領域(以下、各領域を「コマ」と記載する)に区画されており、各コマに図16に示す複数種類の図柄のいずれかが配列されている。 As shown in FIG. 15, the outer peripheral surfaces of the first reel R1 to the third reel R3 are each divided into 20 regions (hereinafter, each region is referred to as a "frame") at regular intervals, and each frame is divided into 20 regions. Any of the plurality of types of symbols shown in FIG. 16 is arranged.

図16は、スロットマシン1における第1リールR1~第3リールR3の周面に配列された各図柄を示す図である。図16に示すように、第1リールR1~第3リールR3の外周面に、赤7図柄「赤7」、白7図柄「白7」、青7図柄「青7」、BAR図柄「BAR」、リプレイ図柄「RP」、ベル図柄「BL」、チェリー図柄「CH」、スイカ図柄A「WMA」、スイカ図柄B「WMB」、及びブランク図柄「BLK」が配列されている。また、第1リールR1~第3リールR3の周面には、それぞれ20コマの図柄が配列されており、それぞれ停止番号0番~停止番号19番のいずれかの停止番号が割り当てられている。 FIG. 16 is a diagram showing each symbol arranged on the peripheral surface of the first reel R1 to the third reel R3 in the slot machine 1. As shown in FIG. 16, on the outer peripheral surfaces of the first reel R1 to the third reel R3, the red 7 symbol "red 7", the white 7 symbol "white 7", the blue 7 symbol "blue 7", and the BAR symbol "BAR" , Replay symbol "RP", bell symbol "BL", cherry symbol "CH", watermelon symbol A "WMA", watermelon symbol B "WMB", and blank symbol "BLK" are arranged. Further, 20 frames of symbols are arranged on the peripheral surfaces of the first reel R1 to the third reel R3, and each stop number 0 to 19 is assigned.

第1リールR1~第3リールR3は、リール駆動手段としてのステッピングモータ(図示省略)に軸支されており、それぞれステッピングモータの軸周りに回転駆動され、ステッピングモータの駆動パルスのパルス数やパルス幅などを制御することによって、コマ単位(所定の回転角度単位、所定の回転量単位)で停止可能に設けられている。すなわち、スロットマシン1では、ステッピングモータが制御基板から供給された駆動パルスに応じて第1リールR1~第3リールR3を回転駆動し、制御基板から駆動パルスの供給が断たれると、ステッピングモータの回転が停止することに伴って第1リールR1~第3リールR3が停止する。 The first reel R1 to the third reel R3 are pivotally supported by a stepping motor (not shown) as a reel driving means, and are rotationally driven around the axis of the stepping motor, respectively, and the number of pulses and pulses of the driving pulse of the stepping motor. By controlling the width and the like, it is provided so that it can be stopped in frame units (predetermined rotation angle unit, predetermined rotation amount unit). That is, in the slot machine 1, the stepping motor rotationally drives the first reel R1 to the third reel R3 in response to the drive pulse supplied from the control board, and when the supply of the drive pulse is cut off from the control board, the stepping motor The first reel R1 to the third reel R3 stop as the rotation of the first reel stops.

前面上扉UDと前面下扉DDとは、個別に開閉可能に設けられている。前面上扉UDには、第1リールR1~第3リールR3の回転状態及び停止状態を観察可能にする表示窓DWが設けられている。第1リールR1~第3リールR3の停止状態では、第1リールR1~第3リールR3それぞれの外周面に一定間隔で配列された複数種類の図柄のうち、外周面上に連続して配列されている3つの図柄(上段図柄、中段図柄、下段図柄)をスロットマシン1の正面から表示窓DWを通じて観察できるようになっている。 The front upper door UD and the front lower door DD are provided so as to be individually openable and closable. The front upper door UD is provided with a display window DW that enables observation of the rotating state and the stopped state of the first reel R1 to the third reel R3. In the stopped state of the first reel R1 to the third reel R3, among a plurality of types of symbols arranged at regular intervals on the outer peripheral surfaces of the first reel R1 to the third reel R3, they are continuously arranged on the outer peripheral surface. The three symbols (upper symbol, middle symbol, and lower symbol) can be observed from the front of the slot machine 1 through the display window DW.

また、スロットマシン1では、表示窓DWを通じて図柄を観察するための表示位置として、各リールについて上段、中段、下段が設けられており、各リールの表示位置の組合せによって有効ラインL1が設定されている。なお、スロットマシン1では、1回の遊技に関して必要となるメダルの数、いわゆる規定投入数が、遊技状態に応じてそれぞれ2枚(第2規定投入数)又は3枚(第1規定投入数)に設定されており、各遊技状態に設定された規定投入数に相当するメダルが投入されると第1リールR1~第3リールR3の中段によって構成される有効ラインL1が有効化される。 Further, in the slot machine 1, upper, middle, and lower stages are provided for each reel as display positions for observing a symbol through the display window DW, and an effective line L1 is set by a combination of display positions of each reel. There is. In the slot machine 1, the number of medals required for one game, that is, the so-called specified number of medals, is 2 (2nd specified number) or 3 (1st specified number), respectively, depending on the game state. When medals corresponding to the specified number of inserted medals set in each gaming state are inserted, the effective line L1 composed of the middle stages of the first reel R1 to the third reel R3 is activated.

そして、遊技結果は、表示窓DW内の有効ラインL1上に停止表示された図柄組合せによって判定され、有効ラインL1上の図柄組合せが予め定められた役に対応した図柄組合せである場合に、その役が入賞したものとしてホッパーユニット920からメダルの払い出し等が行われる。 Then, the game result is determined by the symbol combination stopped and displayed on the effective line L1 in the display window DW, and when the symbol combination on the effective line L1 is a symbol combination corresponding to a predetermined combination, the combination is determined. As a winning combination, medals will be paid out from the hopper unit 920.

前面上扉UDには、主制御表示装置500を含む遊技情報表示部DSが設けられている。遊技情報表示部DSは、LED、ランプ、7セグメント表示器等からなり、メダルのクレジット数、1回の遊技におけるメダルの払出数あるいは獲得数、ボーナス状態でのメダルの払出数の合計あるいは獲得数の合計、今回の遊技で当選した役の情報、メダルの払い出しに関係するストップボタンB1~ストップボタンB3の押し方を示唆する情報の表示等の各種遊技情報が表示される。主制御表示装置500には、規定投入数のメダルが投入されスタートレバーSLが操作された際に、今回の遊技で当選した役の情報である当選情報に基づき作成される制御信号である当選コマンドに対応する表示である報知表示が表示される。また、主制御表示装置500には、7セグメント表示器のドットであり、後述する有利期間制御手段710によって有利期間が開始されている場合に点灯し、有利期間が開始されていない、つまり非有利期間が開始されている場合に消灯することで有利期間が開始されているか否かを報知する有利期間報知部500Aが設けられている。 The front upper door UD is provided with a game information display unit DS including a main control display device 500. The game information display unit DS consists of an LED, a lamp, a 7-segment display, etc., and is the total number of medals paid out or acquired in one game, and the total number of medals paid out or acquired in a bonus state. Various game information such as the total of the above, information on the winning combination in this game, and information suggesting how to press the stop buttons B1 to B3 related to the payout of medals are displayed. A winning command, which is a control signal created based on winning information, which is information on the winning combination in this game, when a specified number of medals are inserted into the main control display device 500 and the start lever SL is operated. The notification display, which is the display corresponding to, is displayed. Further, the main control display device 500 is a dot of a 7-segment display, which lights up when the advantageous period is started by the advantageous period control means 710 described later, and the advantageous period is not started, that is, it is not advantageous. An advantageous period notification unit 500A is provided to notify whether or not the advantageous period has started by turning off the light when the period has started.

また、前面上扉UDには、演出を行うための演出表示装置930が設けられている。演出表示装置930は、例えば液晶ディスプレイから構成され、遊技を補助したり、遊技を盛り上げたりするための各種の映像や画像が表示される。また、スロットマシン1では、前面上扉UDや前面下扉DDに対して、演出を行うためのスピーカ(図示省略)が複数設けられている。スピーカからは、遊技を補助したり、遊技を盛り上げたりするための各種の音声が出力される。 Further, the front upper door UD is provided with an effect display device 930 for performing an effect. The effect display device 930 is composed of, for example, a liquid crystal display, and displays various images and images for assisting the game and enlivening the game. Further, in the slot machine 1, a plurality of speakers (not shown) for producing an effect are provided on the front upper door UD and the front lower door DD. From the speaker, various sounds for assisting the game and enlivening the game are output.

前面下扉DDには、各種の操作手段が設けられている。操作手段としては、クレジット(貯留)されたメダルを投入する操作を行うための投入操作手段として、1枚のメダルを投入するシングルベットボタンBT及び規定投入数のメダルを投入するマックスベットボタンMB、第1リールR1~第3リールR3を回転させて遊技を開始する契機となる開始操作を遊技者に実行させるための遊技開始操作手段としてのスタートレバーSL、ステッピングモータにより回転駆動されている第1リールR1~第3リールR3のそれぞれを停止させる契機となる停止操作を遊技者に実行させるための停止操作手段としてのストップボタンB1~ストップボタンB3及びクレジットされたメダルを精算するための精算ボタンBS、遊技者の演出に関する操作を受け付ける演出操作装置JGも設けられている。 Various operating means are provided on the front lower door DD. As the operation means, the single bet button BT for inserting one medal and the max bet button MB for inserting a specified number of medals are used as the insertion operation means for inserting the credited (reserved) medals. The first reel is rotationally driven by a start lever SL as a game start operation means for causing the player to execute a start operation that triggers the start of the game by rotating the first reel R1 to the third reel R3, and a stepping motor. Stop button B1 to stop button B3 as a stop operation means for causing the player to execute a stop operation that triggers to stop each of the reels R1 to the third reel R3, and a settlement button BS for settlement of credited medals. , A production operation device JG that accepts operations related to the production of the player is also provided.

演出操作装置JGは、左右に回転可能なリング状の回転操作部JGDと、回転操作部JGDの回転中心に設けられ押下操作することができるボタンJGBとから構成されている。回転操作部JGDは、回転方向及び回転量(角度)を検知し、検知した情報を出力することで遊技者の回転操作を受け付けることができる。ボタンJGBは、押下操作された場合に副制御部20(図17参照)へ信号を出力することで遊技者の押下操作を受け付ける。演出操作装置JGは、演出表示装置930に表示される画像等に合わせて有効化され、操作有効期間内に遊技者の操作を受け付けると、当該操作に応じて、様々な演出が実行される。 The effect operation device JG is composed of a ring-shaped rotation operation unit JGD that can rotate left and right, and a button JGB that is provided at the rotation center of the rotation operation unit JGD and can be pressed. The rotation operation unit JGD can receive the rotation operation of the player by detecting the rotation direction and the rotation amount (angle) and outputting the detected information. When the button JGB is pressed, the button JGB receives the player's pressing operation by outputting a signal to the sub-control unit 20 (see FIG. 17). The effect operation device JG is activated according to the image displayed on the effect display device 930, and when the player's operation is received within the operation valid period, various effects are executed according to the operation.

スロットマシン1では、遊技者がメダルをメダル投入口MIに投入するか、メダルが規定投入数以上にクレジットされている場合に、規定投入数と同じ回数シングルベットボタンBTを押下するシングルベット操作又はマックスベットボタンMBを押下するマックスベット操作を行うことで、規定投入数のメダルが投入状態に設定され、第1リールR1~第3リールR3の回転制御を開始することが可能な準備状態にセットされる。そして、遊技者がスタートレバーSLに対して開始操作を実行すると、制御基板において第1リールR1~第3リールR3をステッピングモータの駆動により回転開始させるとともに、乱数を用いた内部抽選が行われ、第1リールR1~第3リールR3の回転速度が所定の速度まで上昇し定常回転になったことを条件に、ストップボタンB1~ストップボタンB3の押下操作が許可、すなわちストップボタンB1~ストップボタンB3による停止操作が有効化される。 In the slot machine 1, the player inserts a medal into the medal insertion slot MI, or when the medal is credited in excess of the specified number of inserted medals, a single bet operation is performed in which the single bet button BT is pressed the same number of times as the specified number of inserted medals. By pressing the max bet button MB, the specified number of medals to be inserted is set to the inserted state, and the rotation control of the first reel R1 to the third reel R3 is set to the ready state where it is possible to start. Will be done. Then, when the player executes a start operation on the start lever SL, the first reel R1 to the third reel R3 are started to rotate by driving the stepping motor on the control board, and an internal lottery using random numbers is performed. On condition that the rotation speed of the first reel R1 to the third reel R3 has increased to a predetermined speed and the rotation has become steady, the operation of pressing the stop button B1 to the stop button B3 is permitted, that is, the stop buttons B1 to the stop button B3. The stop operation by is enabled.

その後、遊技者が任意のタイミングでストップボタンB1~ストップボタンB3を押下(以下、「押下タイミング」と記載)していくと、ストップボタンB1~ストップボタンB3のそれぞれに内蔵されている停止信号出力手段としてのストップスイッチ840がON動作を行い、制御基板へ出力するリール停止信号をOFF状態からON状態へ変化させる。 After that, when the player presses the stop button B1 to the stop button B3 at an arbitrary timing (hereinafter referred to as "pressing timing"), the stop signal output built in each of the stop button B1 to the stop button B3 is output. The stop switch 840 as a means performs an ON operation, and changes the reel stop signal output to the control board from the OFF state to the ON state.

また、遊技者が任意のタイミングで押下状態にあるストップボタンB1~ストップボタンB3を解放すると、ストップボタンB1~ストップボタンB3のそれぞれに対応するストップスイッチがOFF動作を行い、制御基板へ出力するリール停止信号をON状態からOFF状態に変化させる。そして、制御基板は、ストップボタンB1~ストップボタンB3の押下タイミング及び解放タイミングに応じて信号状態が変化するリール停止信号のOFF状態からON状態への変化に基づいて、内部抽選の結果に応じた停止位置で第1リールR1~第3リールR3を停止させる。 Further, when the player releases the stop button B1 to the stop button B3 which are in the pressed state at an arbitrary timing, the stop switches corresponding to each of the stop buttons B1 to the stop button B3 are turned off, and the reel is output to the control board. The stop signal is changed from the ON state to the OFF state. Then, the control board responds to the result of the internal lottery based on the change from the OFF state to the ON state of the reel stop signal whose signal state changes according to the pressing timing and the release timing of the stop buttons B1 to B3. The first reel R1 to the third reel R3 are stopped at the stop position.

また、前面下扉DDの下部には、メダル払出口MOとメダル受け皿MPとが設けられており、遊技の結果に応じた枚数のメダルがメダル払出口MOからメダル受け皿MPへ払い出されるようになっている。また、遊技機内にクレジットされたメダルが記憶されている状態で、精算ボタンBSが押下された場合、精算ボタンBSの押下に伴ってホッパーユニット920からクレジット数(クレジットされたメダルの枚数)に相当する枚数のメダルを払い出す精算処理を実行し、メダル払出口MOからメダル受け皿MPへメダルを払い出す。 Further, a medal payout outlet MO and a medal tray MP are provided at the lower part of the front lower door DD, and the number of medals according to the result of the game is paid out from the medal payout exit MO to the medal tray MP. ing. Further, when the settlement button BS is pressed while the credited medals are stored in the game machine, it corresponds to the number of credits (the number of credited medals) from the hopper unit 920 as the settlement button BS is pressed. The settlement process for paying out the number of medals to be performed is executed, and the medals are paid out from the medal payment exit MO to the medal tray MP.

<スロットマシンの電気的構成>
図17は、スロットマシン1の機能ブロック図である。スロットマシン1は、それぞれ独立した制御基板である主制御部10と副制御部20とによって制御される。主制御部10は、複数の主操作検出手段としてのメダル投入スイッチ810、ベットスイッチ820、スタートスイッチ830、ストップスイッチ840、設定変更スイッチ850及びリセットスイッチ860の入力手段からの入力信号を受けて、遊技を実行するための各種の演算を行い、演算結果に基づいてリールユニット910、ホッパーユニット920、遊技情報表示部DS等の出力手段の動作を制御する。また、スロットマシン1においては、主制御部10と副制御部20とについて、主制御部10から副制御部20への短方向通信のみを可能に構成され、主制御部10から副制御部20へ各種信号を送信可能であるものの、副制御部20から主制御部10へ各種信号を送信することができないように通信接続されている。
<Electrical configuration of slot machine>
FIG. 17 is a functional block diagram of the slot machine 1. The slot machine 1 is controlled by a main control unit 10 and a sub control unit 20, which are independent control boards. The main control unit 10 receives input signals from the input means of the medal insertion switch 810, the bet switch 820, the start switch 830, the stop switch 840, the setting change switch 850, and the reset switch 860 as the plurality of main operation detection means. Various calculations for executing the game are performed, and the operation of the output means such as the reel unit 910, the hopper unit 920, and the game information display unit DS is controlled based on the calculation results. Further, in the slot machine 1, the main control unit 10 and the sub control unit 20 are configured to enable only short-direction communication from the main control unit 10 to the sub control unit 20, and the main control unit 10 to the sub control unit 20. Although various signals can be transmitted to, the communication connection is made so that various signals cannot be transmitted from the sub control unit 20 to the main control unit 10.

主制御部10は、遊技の進行を制御し、メインCPU11と、メインROM12と、メインRAM13と、を備えている。メインCPU11は、各入力手段からの入力信号に基づいて、メインROM12に格納されたプログラムを読み出して演算処理を行うとともに、各装置や表示器を直接制御したり、あるいは演算処理の結果に応じて他の制御部に主制御部10で生成したコマンドである第1コマンドを送信したりすることで、遊技の進行に係る制御処理を実行する。メインRAM13は、メインCPU11の演算処理時におけるデータのワークエリアとして機能する。 The main control unit 10 controls the progress of the game, and includes a main CPU 11, a main ROM 12, and a main RAM 13. Based on the input signal from each input means, the main CPU 11 reads out the program stored in the main ROM 12 and performs arithmetic processing, directly controls each device and display, or depending on the result of arithmetic processing. By transmitting a first command, which is a command generated by the main control unit 10, to another control unit, control processing related to the progress of the game is executed. The main RAM 13 functions as a data work area during arithmetic processing of the main CPU 11.

メインCPU11は、メインROM12に格納されたプログラムに基づき、メインRAM13と協働して、設定変更手段701、投入受付手段702、乱数生成手段703、内部抽選手段704、リール制御手段705、入賞判定手段706、払出制御手段707、リプレイ処理手段708、遊技状態移行制御手段709、有利期間制御手段710、指示機能状態制御手段711として機能する。 Based on the program stored in the main ROM 12, the main CPU 11 cooperates with the main RAM 13, and the setting changing means 701, the input receiving means 702, the random number generation means 703, the internal lottery means 704, the reel control means 705, and the winning determination means. It functions as a payout control means 707, a replay processing means 708, a game state transition control means 709, an advantageous period control means 710, and an instruction function state control means 711.

設定変更手段701は、メインRAM13に記憶されている設定値を変更する制御を行う。スロットマシン1では、収納箱BX内に収められた電源装置に設けられている設定変更スイッチ850から出力される信号である設定信号が入力されることで、設定変更が実行される。スロットマシン1では、設定変更手段701によって確定された設定値に応じて、内部抽選手段704による内部抽選で当選可能な当選エリアのうち一部の当選エリアの当選確率が変更される。 The setting changing means 701 controls to change the setting value stored in the main RAM 13. In the slot machine 1, the setting change is executed by inputting the setting signal which is the signal output from the setting change switch 850 provided in the power supply device housed in the storage box BX. In the slot machine 1, the winning probability of a part of the winning areas that can be won by the internal lottery by the internal lottery means 704 is changed according to the set value determined by the setting changing means 701.

投入受付手段702は、メダルの投入を受け付ける投入受付期間において、規定投入数に相当するメダルが投入されたことに基づいて、スタートレバーSLに対する遊技開始操作を有効化する処理を行う。具体的には、メダル投入口MIにメダルが投入されると、メダル投入スイッチ810が作動することに伴って、投入受付手段702が、規定投入数を限度として、投入されたメダルを投入状態に設定する。また、投入受付手段702は、メダルがクレジットされた状態でシングルベットボタンBT又はマックスベットボタンMBが押下されるベット操作が実行されると、ベットスイッチ820が作動することに伴って、規定投入数を限度として、クレジットされたメダルを投入状態に設定する。 The insertion receiving means 702 performs a process of validating the game start operation for the start lever SL based on the insertion of medals corresponding to the specified number of insertions during the insertion acceptance period for accepting the insertion of medals. Specifically, when a medal is inserted into the medal insertion slot MI, the medal insertion switch 810 is activated, and the insertion reception means 702 puts the inserted medals into the insertion state up to the specified number of insertions. Set. Further, in the insertion receiving means 702, when the bet operation in which the single bet button BT or the max bet button MB is pressed is executed while the medal is credited, the bet switch 820 is activated and the specified number of insertions are made. The credited medal is set to the inserted state up to the limit.

なお、スロットマシン1では、規定投入数に相当するメダルの投入に基づいて有効化されたスタートレバーSLの最初の押下操作が、遊技者による遊技の開始操作として受け付けられ、第1リールR1~第3リールR3の回転を開始させる契機となっているとともに、後述する内部抽選手段704が内部抽選を実行する契機となっている。 In the slot machine 1, the first pressing operation of the start lever SL activated based on the insertion of medals corresponding to the specified number of insertions is accepted as the start operation of the game by the player, and the first reel R1 to the first reel R1 to the first. The rotation of the 3-reel R3 is started, and the internal lottery means 704, which will be described later, is an opportunity to execute the internal lottery.

メイン側乱数生成手段である乱数生成手段703は、抽選用の乱数を発生させる手段である。乱数は、例えば、インクリメントカウンタ(所定のカウント範囲を循環するように数値をカウントするカウンタ)のカウント値に基づいて発生させることができる。なお、「乱数」には、数学的な意味でランダムに発生する値のみならず、発生自体は規則的であっても、取得タイミング等が不規則であるために実質的に乱数として機能しうる値も含まれる。 The random number generation means 703, which is the main random number generation means, is a means for generating random numbers for lottery. Random numbers can be generated, for example, based on the count value of an increment counter (a counter that counts numerical values so as to circulate in a predetermined count range). It should be noted that the "random number" is not only a value that is randomly generated in a mathematical sense, but even if the generation itself is regular, it can substantially function as a random number because the acquisition timing and the like are irregular. The value is also included.

内部抽選手段704は、遊技者がスタートレバーSLに対して開始操作を実行し、スタートスイッチ830が開始操作を検出することで出力されるスタート信号に基づいて、役の当否を決定する内部抽選を行う手段であって、抽選テーブル選択処理、乱数判定処理、抽選フラグ設定処理等を行う。 The internal lottery means 704 performs an internal lottery to determine the success or failure of the winning combination based on the start signal output when the player executes a start operation on the start lever SL and the start switch 830 detects the start operation. It is a means to perform, such as a lottery table selection process, a random number determination process, and a lottery flag setting process.

抽選テーブル選択処理では、メインROM12に格納されている複数の内部抽選テーブルのうち、いずれの内部抽選テーブルを用いて内部抽選を行うかを現在の遊技状態に基づき選択する。各内部抽選テーブルでは、複数の乱数(例えば、0~65535の65536個の乱数)のそれぞれに対して、リプレイ、小役及びボーナスなどの各種の役やハズレ(不当選)が対応付けられている。 In the lottery table selection process, which of the plurality of internal lottery tables stored in the main ROM 12 is used for the internal lottery is selected based on the current gaming state. In each internal lottery table, each of a plurality of random numbers (for example, 65536 random numbers from 0 to 65535) is associated with various roles such as replay, small role and bonus, and loss (unwinning). ..

乱数判定処理では、スタートスイッチ830から出力されるスタート信号に基づいて、遊技ごとに乱数生成手段703が生成する乱数(抽選用乱数)を取得し、取得した乱数を抽選テーブル選択処理で選択した内部抽選テーブルと比較して、比較結果に基づき役に当選したか否かを判定する。 In the random number determination process, a random number (random number for lottery) generated by the random number generation means 703 is acquired for each game based on the start signal output from the start switch 830, and the acquired random number is selected in the lottery table selection process. It is compared with the lottery table, and it is determined whether or not the winning combination is won based on the comparison result.

抽選フラグ設定処理では、乱数判定処理の結果に基づいて、当選したと判定された役に対応する抽選フラグを非成立状態(第1のフラグ状態、OFF状態)から成立状態(第2のフラグ状態、ON状態)に設定する。スロットマシン1では、2種類以上の役が重複して当選した場合には、重複して当選した2種類以上の役のそれぞれに対応する抽選フラグが成立状態に設定される。なお、抽選フラグの設定情報は、メインRAM13に格納される。 In the lottery flag setting process, based on the result of the random number determination process, the lottery flag corresponding to the winning combination is set from the non-established state (first flag state, OFF state) to the established state (second flag state). , ON state). In the slot machine 1, when two or more types of winning combinations are won in duplicate, a lottery flag corresponding to each of the two or more types of winning combinations is set in the established state. The lottery flag setting information is stored in the main RAM 13.

リール制御手段705は、遊技者がスタートレバーSLへ開始操作を実行することにより作動するスタートスイッチ830から、スタート信号が出力されたことに基づいて、ステッピングモータにより第1リールR1~第3リールR3の回転駆動を開始する。また、リール制御手段705は、第1リールR1~第3リールR3の回転状態が、所定速度(例えば、約80rpm)で定常回転する回転状態となった場合に、各リールに対応するストップボタンB1~ストップボタンB3が押下操作されることでストップスイッチ840によって検出される停止操作を有効化する制御を実行する。そして、リール制御手段705は、停止操作の検出に基づきストップスイッチ840からリール停止信号が出力された場合に、リールユニット910のステッピングモータへの駆動パルス(モータ駆動信号)の供給を停止することにより、第1リールR1~第3リールR3の各リールを停止させる制御を行う。このとき、リール制御手段705は、ステッピングモータにより回転駆動されている第1リールR1~第3リールR3を抽選フラグの設定状態、すなわち内部抽選の結果に応じた態様で停止させる制御を行う。つまり、リール制御手段705は、ストップボタンB1~ストップボタンB3の各ボタンが押下されるごとに、第1リールR1~第3リールR3のうち押下されたストップボタンに対応するリールの停止位置を決定して、決定された停止位置でリールを停止させる制御を行っている。 The reel control means 705 is a first reel R1 to a third reel R3 by a stepping motor based on the fact that a start signal is output from a start switch 830 that is operated by the player executing a start operation to the start lever SL. Starts the rotation drive of. Further, the reel control means 705 has a stop button B1 corresponding to each reel when the rotation state of the first reel R1 to the third reel R3 becomes a rotation state of steady rotation at a predetermined speed (for example, about 80 rpm). -When the stop button B3 is pressed, the control for enabling the stop operation detected by the stop switch 840 is executed. Then, the reel control means 705 stops the supply of the drive pulse (motor drive signal) to the stepping motor of the reel unit 910 when the reel stop signal is output from the stop switch 840 based on the detection of the stop operation. , Controls to stop each reel of the first reel R1 to the third reel R3. At this time, the reel control means 705 controls to stop the first reel R1 to the third reel R3, which are rotationally driven by the stepping motor, in a state in which the lottery flag is set, that is, in a manner corresponding to the result of the internal lottery. That is, the reel control means 705 determines the stop position of the reel corresponding to the pressed stop button among the first reel R1 to the third reel R3 each time each button of the stop button B1 to the stop button B3 is pressed. Then, the reel is controlled to be stopped at the determined stop position.

また、スロットマシン1では、第1リールR1~第3リールR3について、ストップボタンB1~ストップボタンB3が押下された時点から190ms以内に、押下されたストップボタンに対応する回転中のリールを停止するようになっている。ここで、ストップボタンの押下時点から190ms以内に回転中のリールを停止させる場合、回転している各リールの停止位置は、各リールの直径及び回転速度により、ストップボタンの押下時点からリールが停止するまでに最大で4コマ分回転可能に構成されている。リール制御手段705は、ストップボタンB1~ストップボタンB3のうち押下操作が行われたストップボタンに対応する回転中のリールの外周面上において、内部抽選で当選した役に対応する図柄が、ストップボタンに対する押下操作が行われた時点で有効ラインL1上の表示位置に対して0コマ~4コマの範囲内に位置する場合に、抽選フラグが当選状態に設定されている役に対応する図柄を有効ラインL1上の表示位置に表示するように、押下操作が行われたストップボタンに対応する回転中のリールを停止させる制御を行っている。 Further, in the slot machine 1, for the first reel R1 to the third reel R3, the rotating reel corresponding to the pressed stop button is stopped within 190 ms from the time when the stop button B1 to the stop button B3 are pressed. It has become like. Here, when the rotating reel is stopped within 190 ms from the time when the stop button is pressed, the stop position of each rotating reel depends on the diameter and rotation speed of each reel, and the reel stops from the time when the stop button is pressed. It is configured to be rotatable for up to 4 frames before it is done. In the reel control means 705, the stop button is a symbol corresponding to the winning combination in the internal lottery on the outer peripheral surface of the rotating reel corresponding to the stop button to which the pressing operation is performed among the stop buttons B1 to the stop button B3. When the position is within the range of 0 to 4 frames with respect to the display position on the effective line L1 at the time when the pressing operation is performed, the symbol corresponding to the combination in which the lottery flag is set to the winning state is valid. Control is performed to stop the rotating reel corresponding to the stop button on which the pressing operation has been performed so that the reel is displayed at the display position on the line L1.

リール制御手段705は、スタートスイッチ830が開始操作を検出することで出力されるスタート信号を受信し、第1リールR1~第3リールR3の回転を開始して1回の遊技を開始した場合に、一般にウェイト(又はウェイト時間)と称される待機時間(約4.1秒)を設定するように構成されている。そして、リール制御手段705は、待機時間の設定から待機時間が経過するまでの期間内にスタート信号をスタートスイッチ830から受信した場合に、待機時間が経過した後に第1リールR1~第3リールR3の回転を開始するように構成されている。この構成により、リール制御手段705は、1回の遊技の開始から次の遊技の開始までに一定の時間として最小遊技時間(約4.1秒)を経過してから遊技を開始させることができる。 When the reel control means 705 receives the start signal output when the start switch 830 detects the start operation and starts the rotation of the first reel R1 to the third reel R3 to start one game. , It is configured to set a waiting time (about 4.1 seconds) generally referred to as a wait (or wait time). When the reel control means 705 receives the start signal from the start switch 830 within the period from the setting of the standby time to the elapse of the standby time, the reel control means 705 receives the start signal from the start switch 830, and after the standby time elapses, the first reel R1 to the third reel R3 Is configured to start spinning. With this configuration, the reel control means 705 can start the game after the minimum game time (about 4.1 seconds) has elapsed as a fixed time from the start of one game to the start of the next game. ..

入賞判定手段706は、第1リールR1~第3リールR3の全てが停止した時点で有効ラインL1上に表示されている図柄組合せ(第1リールR1~第3リールR3の停止態様)が、予め定められた役の入賞の形態であるか否かを判定する入賞判定処理を行う。スロットマシン1では、入賞判定処理における入賞判定手段706の判定結果に基づいて各処理が実行される。入賞役の判定結果に基づき実行される各処理としては、例えば、小役が入賞した場合には払出制御手段707にメダルを払い出させる枚数を決定する処理が行われ、リプレイが入賞した場合には、リプレイ処理手段708に次回の遊技においてメダルを消費せずに実行させる処理を行わせ、ボーナスが入賞した場合には遊技状態移行制御手段709に入賞したボーナスを作動させる処理が行われる。 In the winning determination means 706, when all of the first reel R1 to the third reel R3 are stopped, the symbol combination displayed on the effective line L1 (the stop mode of the first reel R1 to the third reel R3) is previously set. Performs a winning determination process to determine whether or not the winning combination is in the form of winning. In the slot machine 1, each process is executed based on the determination result of the winning determination means 706 in the winning determination process. As each process executed based on the determination result of the winning combination, for example, when a small winning combination wins, a process of determining the number of medals to be paid out by the payout control means 707 is performed, and when the replay wins a prize. Causes the replay processing means 708 to perform a process of executing the game without consuming medals in the next game, and when a bonus is won, a process of operating the bonus won by the game state transition control means 709 is performed.

払出制御手段707は、入賞判定手段706による入賞判定処理の結果に基づき、払出数に相当するメダルを、払出装置としてのホッパーユニット920に払い出させる払出制御を行う。ホッパーユニット920には、メダルを1枚払い出すごとに作動する払出メダル検出スイッチ925が備えられている。払出制御手段707は、払出メダル検出スイッチ925からの入力信号に基づいて、ホッパーユニット920から実際に払い出されたメダルの数を管理することができるように構成されている。なお、メダルのクレジットが許可されている場合には、ホッパーユニット920によって実際にメダルの払い出しを行う代わりに、メインRAM13のクレジット記憶領域(図示省略)に記憶されているクレジット数(クレジットされたメダルの数)に対して払出数を加算するクレジット加算処理を行って仮想的にメダルを払い出す処理を行う。 The payout control means 707 performs payout control in which medals corresponding to the number of payouts are paid out to the hopper unit 920 as a payout device based on the result of the prize determination process by the prize determination means 706. The hopper unit 920 is provided with a payout medal detection switch 925 that operates every time one medal is paid out. The payout control means 707 is configured to be able to manage the number of medals actually paid out from the hopper unit 920 based on the input signal from the payout medal detection switch 925. If medals are allowed to be credited, the number of credits (credited medals) stored in the credit storage area (not shown) of the main RAM 13 instead of actually paying out the medals by the hopper unit 920. The number of medals is virtually paid out by performing a credit addition process that adds the number of payouts to the number of payouts.

リプレイ処理手段708は、入賞判定手段706により有効ラインL1上に複数種類のリプレイのうちいずれかのリプレイの入賞を示す図柄組合せが停止表示されたと判定され、リプレイが入賞した場合に、次回の遊技に関してメダルの投入を要さずに遊技を実行可能にする準備状態に設定するリプレイ処理(再遊技処理)を行う。すなわち、スロットマシン1では、リプレイが入賞した場合、規定投入数分のメダルを遊技者の手持ちのメダル(クレジットメダルを含む)を使わずに自動的に投入する自動投入処理が行われ、前回の遊技と同じ有効ラインL1を設定した状態で、次回のスタートレバーSLに対する開始操作を待機する。 The replay processing means 708 determines that the winning determination means 706 has stopped and displayed the symbol combination indicating the winning of any one of the plurality of types of replays on the effective line L1, and when the replay wins, the next game The replay process (replay process) is performed to set the ready state so that the game can be executed without the need to insert medals. That is, in the slot machine 1, when the replay wins, the automatic insertion process of automatically inserting the specified number of medals without using the player's own medals (including credit medals) is performed, and the previous insertion process is performed. With the same effective line L1 as in the game set, the next start operation for the start lever SL is waited for.

遊技状態移行制御手段709は、リプレイの当選態様がそれぞれ異なる複数の遊技状態の間での遊技状態の移行と、内部抽選手段704による内部抽選で、抽選フラグが成立状態に設定された場合に、入賞するまで成立状態が維持されるボーナスに当選した場合に、現在の遊技状態からボーナス成立状態への遊技状態の移行と、入賞したボーナスを作動させるとともに作動させたボーナスに対応する遊技状態であるボーナス状態への遊技状態の移行と、の遊技状態移行制御を行う。 The game state transition control means 709 is used when the lottery flag is set to the established state in the transition of the game state between a plurality of game states having different replay winning modes and the internal lottery by the internal lottery means 704. When a bonus that is maintained in the established state until a prize is won, the game state is changed from the current gaming state to the bonus established state, and the winning bonus is activated and the operating state corresponds to the activated bonus. The game state shifts to the bonus state and the game state shift control is performed.

有利期間制御手段710は、特定役の入賞を補助する入賞補助制御を実行可能な遊技が実行される期間である有利期間(有利区間)と、入賞補助制御が実行されない遊技が実行される期間である非有利期間(非有利区間)と、の間での移行に係る制御を実行する。有利期間制御手段710は、有利期間と非有利期間との間での移行に係る制御として、非有利期間内における遊技において、ボーナスが非成立状態であり、かつボーナスの非作動中である場合に設定差がない当選エリアに当選した場合に、非有利期間を終了し有利期間を開始するか否かを決定する抽選である有利期間抽選を実行する。 The advantageous period control means 710 is a period in which an advantageous period (advantageous section) in which a game in which a winning assist control for assisting a winning of a specific combination is executed is executed, and a period in which a game in which the winning assist control is not executed is executed. Performs control over the transition between a non-advantageous period (non-advantageous interval). The advantageous period control means 710, as a control relating to the transition between the advantageous period and the non-advantageous period, when the bonus is not established and the bonus is not operating in the game within the non-advantageous period. When a winning area with no setting difference is won, an advantageous period lottery is executed, which is a lottery for determining whether or not to end the non-advantageous period and start the advantageous period.

有利期間制御手段710は、予め設定された有利期間を終了する条件が成立した場合や、有利期間を開始してから所定の遊技回数(例えば1500ゲーム)の遊技が実行された場合に、有利期間を終了し次ゲームから非有利期間を開始するとともに、有利期間中に使用した指示機能に係る全パラメータを初期化する処理である終了処理を実行する。また、有利期間制御手段710は、有利期間を開始した場合に有利期間報知部500Aを点灯させ、非有利期間を開始した場合に有利期間報知部500Aを消灯させる。 The advantageous period control means 710 has an advantageous period when a condition for ending the preset advantageous period is satisfied or when a predetermined number of games (for example, 1500 games) are executed after the advantageous period is started. Is terminated and the non-advantageous period is started from the next game, and the termination process, which is the process of initializing all the parameters related to the instruction function used during the advantageous period, is executed. Further, the advantageous period control means 710 turns on the advantageous period notification unit 500A when the advantageous period is started, and turns off the advantageous period notification unit 500A when the non-advantageous period is started.

指示機能状態制御手段711は、有利期間制御手段710によって有利期間が開始されている場合に、入賞補助制御を実行可能な状態であるAT状態を含む複数の指示機能状態の間での指示機能状態の移行に係る制御を含む指示機能に係る制御(アシストタイム制御)を行う。指示機能状態制御手段711は、指示機能状態が入賞補助制御を実行可能な状態である場合に、特定役が入賞する確率を上げるための制御として、内部抽選手段704に当選した当選エリアに応じてそれぞれ異なる当選コマンドを作成させ、作成させた当選コマンドを主制御表示装置500に送信させることで、内部抽選で当選した当選エリアがいずれの当選エリアであるかを報知し、遊技者にストップボタンB1~ストップボタンB3の操作方法を指示する機能(指示機能)である報知表示が主制御表示装置500に実行される制御である入賞補助制御を実行可能となるように構成されている。 The instruction function state control means 711 is an instruction function state among a plurality of instruction function states including an AT state which is a state in which the winning assist control can be executed when the advantageous period is started by the advantageous period control means 710. Control related to the instruction function (assist time control) including control related to the transition of. The instruction function state control means 711 corresponds to the winning area won by the internal lottery means 704 as a control for increasing the probability that a specific combination wins when the instruction function state is a state in which the winning assistance control can be executed. By creating different winning commands and transmitting the created winning commands to the main control display device 500, it is notified to which winning area the winning area won in the internal lottery is, and the stop button B1 is notified to the player. The notification display, which is a function (instruction function) for instructing the operation method of the stop button B3, is configured to be able to execute the winning auxiliary control, which is the control executed by the main control display device 500.

副制御部20は、主制御部10から送信されるコマンドに基づき演出を制御し、サブCPU21と、サブROM22と、サブRAM23と、を備えている。サブCPU21は、主制御部10から送信されたコマンドやタイマからの入力信号等などの外部信号に基づいて、サブROM22に格納されたプログラムを読み出して演算処理を行うとともに、演出表示装置930や音響装置940を含む演出装置900に演出を実行させる演出に係る制御を実行する。サブRAM23は、サブCPU21の演算処理時におけるデータのワークエリアとして機能する。 The sub control unit 20 controls the effect based on the command transmitted from the main control unit 10, and includes a sub CPU 21, a sub ROM 22, and a sub RAM 23. The sub CPU 21 reads a program stored in the sub ROM 22 and performs arithmetic processing based on an external signal such as a command transmitted from the main control unit 10 or an input signal from a timer, and also performs arithmetic processing, and also performs an effect display device 930 and sound. The control related to the effect of causing the effect device 900 including the device 940 to execute the effect is executed. The sub RAM 23 functions as a data work area during arithmetic processing of the sub CPU 21.

上記サブROM22には、演出プログラムP11、乱数種生成プログラムP21、乱数生成プログラムP31、タスク管理プログラムP41、乱数取得ドライバP51、デバッグ情報取得ドライバP61などの各種プログラムや、演出の内容を決定するための複数の演出抽選テーブルなどのデータが格納されており、サブCPU21は、これらサブROM22に格納されたプログラムを読み出して演算処理を行うことにより、演出制御手段、乱数種生成手段、乱数生成手段、タスク管理手段として機能する。また、サブRAM23には、演出プログラムP11が演出抽選処理を実行する際に使用する乱数が蓄積される乱数バッファ6021a1が設けられている。 In the sub ROM 22, various programs such as the effect program P11, the random number seed generation program P21, the random number generation program P31, the task management program P41, the random number acquisition driver P51, and the debug information acquisition driver P61, and the contents of the effect are determined. Data such as a plurality of effect lottery tables are stored, and the sub CPU 21 reads the programs stored in these sub ROMs 22 and performs arithmetic processing, whereby the effect control means, the random number seed generation means, the random number generation means, and the task. Functions as a management means. Further, the sub RAM 23 is provided with a random number buffer 6021a1 in which random numbers used by the effect program P11 when executing the effect lottery process are stored.

演出制御手段は、演出プログラムP11がサブCPU21により読み出し、実行されることによって機能する手段であり、実行する演出を乱数に基づいて決定する演出抽選処理等の演出に係る制御を実行する。演出制御手段は、これらの処理を、主制御部10から送信されたコマンドやタイマからの入力信号、演出操作装置800への遊技者の入力などの外部信号に基づいて実行する。 The effect control means functions by reading and executing the effect program P11 by the sub CPU 21, and executes control related to the effect such as the effect lottery process in which the effect to be executed is determined based on a random number. The effect control means executes these processes based on an external signal such as a command transmitted from the main control unit 10, an input signal from the timer, and a player's input to the effect operation device 800.

乱数種生成手段は、乱数種生成プログラムP21がサブCPU21により読み出し、実行されることによって機能する手段であり、上記演出抽選処理にて使用されるソフトウェア乱数(擬似乱数)を演算する際の基となる乱数種(以下、シード値ともいう)を生成する。 The random number seed generation means is a means that functions by being read and executed by the random number seed generation program P21 by the sub CPU 21, and is a basis for calculating a software random number (pseudo-random number) used in the above-mentioned effect lottery process. Generates a random number species (hereinafter also referred to as a seed value).

乱数生成手段は、乱数生成プログラムP31がサブCPU21により読み出し、実行されることによって機能する手段であり、所定の乱数生成アルゴリズムに基づいて演算により乱数を生成する乱数生成処理を実行する。乱数生成プログラムP31は、上述したようにスロットマシン1の電源投入時及びシステム安定時に上記乱数生成処理を実行する。 The random number generation means functions by reading and executing the random number generation program P31 by the sub CPU 21, and executes a random number generation process for generating random numbers by calculation based on a predetermined random number generation algorithm. As described above, the random number generation program P31 executes the random number generation process when the slot machine 1 is powered on and when the system is stable.

タスク管理手段は、タスク管理プログラムP41がサブCPU21により読み出し、実行されることによって機能する手段であり、サブCPU21が実行する制御処理に係るタスクの優先度を設定する。タスク管理手段は、間隔の短い所定時間毎(本実施の形態では30fps(33.33ms)のサイクル)に優先度の設定を更新すると共に、サブCPU21は、上記所定時間内において実行可能なタスクを優先度に従って逐次処理する。上記処理が繰り返し実行されることによって、遊技者には複数のプロセスが同時に実行されているように見えるようになっている。 The task management means functions by reading and executing the task management program P41 by the sub CPU 21, and sets the priority of the task related to the control process executed by the sub CPU 21. The task management means updates the priority setting every predetermined time with a short interval (cycle of 30 fps (33.33 ms) in the present embodiment), and the sub CPU 21 performs a task that can be executed within the predetermined time. Sequential processing is performed according to priority. By repeatedly executing the above processes, the player can see that a plurality of processes are being executed at the same time.

スロットマシン1においても上述したパチンコ機100と同様に、乱数バッファ6021a1を設け、演出プログラムP11が乱数を使用する前に、予め乱数生成プログラムP31によって乱数の生成及び蓄積を行っており、乱数生成のタイミングを乱数使用時以外のタイミングにズラしている。これにより、例えば、スタートスイッチ830が開始操作を検出した後、各ストップボタンB1~ストップボタンB3を押下するまでの間の期間や、遊技者による遊技が実行されていないデモ画面表示時など、サブCPU21に対する外部信号の入力が所定量以下となる低処理負荷状態の際に乱数を生成することができ、乱数生成に係る処理負荷を分散することができる。このため、上述した演出の切替時などサブCPU21が高負荷状態の際にサブCPU21の処理能力を乱数生成のために割くことを回避することができる。 Similar to the pachinko machine 100 described above, the slot machine 1 is also provided with a random number buffer 6021a1 and generates and stores random numbers by the random number generation program P31 in advance before the effect program P11 uses the random numbers. The timing is shifted to a timing other than when random numbers are used. As a result, for example, after the start switch 830 detects the start operation, the period between each stop button B1 and the stop button B3 being pressed, or when the demo screen is displayed when the game is not executed by the player, the sub A random number can be generated in a low processing load state in which the input of an external signal to the CPU 21 is a predetermined amount or less, and the processing load related to the random number generation can be distributed. Therefore, it is possible to avoid allocating the processing capacity of the sub CPU 21 for random number generation when the sub CPU 21 is in a high load state such as when the above-mentioned effect is switched.

また、上記スロットマシン1においても上述したパチンコ機100と同様に、例えば16ビット構成の乱数バッファ6021a1を経由して、乱数生成プログラムP31で生成した32ビット乱数を16ビット乱数に分割して演出プログラムP11に利用する場合、図11および図12に示した乱数生成処理、および32ビット乱数の生成個数(N)の決定処理を実施することができ、上述と同様の作用効果を期待できる。また、上記スロットマシン1においても上述したパチンコ機100と同様に、乱数バッファ6021a1を配置する場合には、乱数バッファ6021a1の枯渇に対処する代替処理(図13(b)、(c))を備えた乱数取得ドライバの構成、特に乱数バッファ6021aを経由して乱数の入出力を行うバッファモードと、乱数バッファ6021aを経由しないダイレクトモードを設け、乱数の枯渇、言い換えれば乱数の需要と供給に係る状況に応じて、バッファモードとダイレクトモードを切り替える構成(図13(a)~(c))を実施することができ、上述と同様の作用効果を期待できる。さらに、乱数の生成異常を検出し、乱数の生成異常の発生に応じて行う回復処理を備えた乱数生成プログラムP31の構成(図14)を実施することができ、上述と同様の作用効果を期待できる。 Further, also in the slot machine 1, similarly to the pachinko machine 100 described above, a 32-bit random number generated by the random number generation program P31 is divided into 16-bit random numbers via, for example, a random number buffer 6021a1 having a 16-bit configuration. When used for P11, the random number generation process shown in FIGS. 11 and 12 and the determination process of the number of 32-bit random numbers generated (N) can be performed, and the same effects as described above can be expected. Further, in the slot machine 1 as well as the pachinko machine 100 described above, when the random number buffer 6021a1 is arranged, an alternative process (FIGS. 13 (b) and (c)) for dealing with the exhaustion of the random number buffer 6021a1 is provided. The configuration of the random number acquisition driver, especially the buffer mode that inputs and outputs random numbers via the random number buffer 6021a and the direct mode that does not pass through the random number buffer 6021a, is provided, and the situation related to the exhaustion of random numbers, in other words, the demand and supply of random numbers. A configuration for switching between the buffer mode and the direct mode (FIGS. 13A to 13C) can be implemented according to the above, and the same effect as described above can be expected. Further, it is possible to implement a configuration (FIG. 14) of a random number generation program P31 having a recovery process for detecting a random number generation abnormality and performing a recovery process in response to the occurrence of the random number generation abnormality, and expects the same effects as described above. can.

なお、上述した実施の形態に記載した発明は、どのように組み合わされても良く、パチンコ機100の実施形態に記載された乱数生成処理の内容については、当然にスロットマシン1に対しても適用することができる。また、上述した実施形態では、リプレイ確率が変動するRT状態とAT状態とを組み合わせた、いわゆるART機について説明をしたが、リプレイについては入賞補助演出を行わないAT機や、ATを搭載せずにボーナスを中心に出玉を増やすノーマル機に対しても本発明は適用することができる。 The inventions described in the above-described embodiments may be combined in any way, and the contents of the random number generation process described in the embodiments of the pachinko machine 100 are naturally applied to the slot machine 1. can do. Further, in the above-described embodiment, a so-called ART machine, which is a combination of an RT state in which the replay probability fluctuates and an AT state, has been described. The present invention can also be applied to a normal machine that increases the number of balls to be played, mainly a bonus.

100:遊技機(パチンコ機)、6021a:記憶手段(乱数バッファ)、P1:抽選手段(演出プログラム:演出制御手段)、P3:乱数生成手段(乱数生成プログラム)、P4:タスク管理手段(タスク管理プログラム)、P5:乱数取得ドライバ 100: Game machine (pachinko machine), 6021a: Storage means (random number buffer), P1: Lottery means (effect program: effect control means), P3: Random number generation means (random number generation program), P4: Task management means (task management) Program), P5: Random number generation driver

Claims (1)

乱数に基づき制御を行う制御手段と、
所定アルゴリズムに基づき乱数を生成する乱数生成手段と、
前記乱数生成手段により生成された乱数を複数個の乱数に分割する分割手段と、
を備え、
前記分割手段により複数個に分割された乱数を、乱数が生成された順序を崩さないように残らず前記制御手段に出力し、
前記制御手段は、分割された乱数に基づき制御を行うことを特徴とする遊技機。
Control means that controls based on random numbers,
Random number generation means that generates random numbers based on a predetermined algorithm,
A division means for dividing a random number generated by the random number generation means into a plurality of random numbers, and a division means.
Equipped with
The random numbers divided into a plurality of pieces by the dividing means are output to the control means without leaving the order in which the random numbers are generated .
The control means is a gaming machine characterized in that control is performed based on a divided random number.
JP2017097685A 2017-05-16 2017-05-16 Pachinko machine Active JP7048219B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017097685A JP7048219B2 (en) 2017-05-16 2017-05-16 Pachinko machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017097685A JP7048219B2 (en) 2017-05-16 2017-05-16 Pachinko machine

Publications (2)

Publication Number Publication Date
JP2018191916A JP2018191916A (en) 2018-12-06
JP7048219B2 true JP7048219B2 (en) 2022-04-05

Family

ID=64568667

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017097685A Active JP7048219B2 (en) 2017-05-16 2017-05-16 Pachinko machine

Country Status (1)

Country Link
JP (1) JP7048219B2 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009285381A (en) 2008-05-30 2009-12-10 Kyoraku Sangyo Kk Game machine
JP2014014550A (en) 2012-07-10 2014-01-30 Kpe Inc Game machine
JP2014113275A (en) 2012-12-07 2014-06-26 Olympia:Kk Game machine
JP2016059439A (en) 2014-09-16 2016-04-25 サミー株式会社 Game machine
JP2016190006A (en) 2015-03-31 2016-11-10 京楽産業.株式会社 Game machine
JP2017006587A (en) 2015-06-26 2017-01-12 株式会社オリンピア Game machine
JP6959761B2 (en) 2017-05-16 2021-11-05 株式会社平和 Pachinko machine

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009285381A (en) 2008-05-30 2009-12-10 Kyoraku Sangyo Kk Game machine
JP2014014550A (en) 2012-07-10 2014-01-30 Kpe Inc Game machine
JP2014113275A (en) 2012-12-07 2014-06-26 Olympia:Kk Game machine
JP2016059439A (en) 2014-09-16 2016-04-25 サミー株式会社 Game machine
JP2016190006A (en) 2015-03-31 2016-11-10 京楽産業.株式会社 Game machine
JP2017006587A (en) 2015-06-26 2017-01-12 株式会社オリンピア Game machine
JP6959761B2 (en) 2017-05-16 2021-11-05 株式会社平和 Pachinko machine

Also Published As

Publication number Publication date
JP2018191916A (en) 2018-12-06

Similar Documents

Publication Publication Date Title
JP5024843B1 (en) Amusement stand
JP4991955B1 (en) Amusement stand
JP6959761B2 (en) Pachinko machine
JP6019371B2 (en) Game machine
JP2021049021A (en) Game machine
JP2013027436A (en) Game machine
JP2018007871A (en) Game machine
JP2018099476A (en) Game machine
JP2013027437A (en) Game machine
JP2023165836A (en) Game machine
JP7048219B2 (en) Pachinko machine
JP5332029B2 (en) Amusement stand
JP7403848B2 (en) gaming machine
JP7403849B2 (en) gaming machine
JP2020099608A (en) Game machine
JP5366065B2 (en) Amusement stand
JP6707580B2 (en) Amusement machine
JP2018094240A (en) Game machine
JP2022032792A (en) Game machine
JP2017170076A (en) Game machine
JP2018191917A (en) Game machine
JP2021137378A (en) Game machine
JP2018201778A (en) Game machine
JP5724086B2 (en) Amusement stand
JP7315239B2 (en) game machine

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181002

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20200205

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20200206

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20201021

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20201027

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210406

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210521

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210810

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20211004

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20220324

R150 Certificate of patent or registration of utility model

Ref document number: 7048219

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150