JP7048219B2 - Pachinko machine - Google Patents
Pachinko machine Download PDFInfo
- 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
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 (
上記のメルセンヌ・ツイスタ法のようなソフトウェア乱数生成処理系は、乱数周期が長い、高次元(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.
以下、本実施形態について説明する。なお、以下に説明する本実施形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また、本実施形態で説明される構成の全てが、本発明の必須構成要件であるとは限らない。また、本明細書及び図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略するとともに、本発明に直接関係のない要素については、図示を省略する。 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
中枠104は、外枠102と同様に、略矩形状に組まれた四辺によって囲繞空間が形成されている。パチンコ機100では、中枠104の囲繞空間に遊技盤108を保持している。また、前枠106には、ガラス製又は樹脂製の透過板110が保持されている。そして、パチンコ機100では、中枠104及び前枠106を外枠102に対して閉じると、遊技盤108と透過板110とが所定の間隔を維持して略平行に対面するとともに、パチンコ機100の正面側から、透過板110を介して遊技盤108が視認可能となる。
Similar to the
図2は、本実施形態におけるパチンコ機100の正面図である。図2に示すように、前枠106の下部には、パチンコ機100の正面側に突出する操作ハンドル112が設けられている。操作ハンドル112は、遊技者によって回転操作可能に設けられており、遊技者が操作ハンドル112を回転させて発射操作を行うと、操作ハンドル112の回転角度に応じた強度で、不図示の発射機構によって遊技球が発射される。このようにして発射された遊技球は、遊技盤108に設けられたレール114a、114b間を上昇して遊技領域116に導かれることになる。
FIG. 2 is a front view of the
遊技領域116は、遊技盤108と透過板110(図1参照)との間隔に形成される空間であって、遊技球が流下又は転動可能な領域である。遊技盤108には、多数の釘や風車が設けられており、遊技領域116に導かれた遊技球が釘や風車に衝突して、不規則な方向に流下、転動するようにしている。
The
遊技領域116は、発射機構の発射強度に応じて遊技球の進入度合いを互いに異にする第1遊技領域116a及び第2遊技領域116bを備えている。第1遊技領域116aは、パチンコ機100に正対した遊技者から見て遊技領域116の左側に位置し、第2遊技領域116bは、パチンコ機100に正対した遊技者から見て遊技領域116の右側に位置している。パチンコ機100では、レール114a、114bが遊技領域116の左側にあることから、発射機構によって所定の強度未満の発射強度で発射された遊技球が第1遊技領域116aに進入し、所定の強度以上の発射強度で発射された遊技球が第2遊技領域116bに進入することになる。
The
また、遊技領域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
本実施形態のパチンコ機100では、第1始動口120内に第1始動領域が設けられ、第2始動口122内に第2始動領域が設けられている。そして、パチンコ機100では、所定の契機として、第1始動口120又は第2始動口122に遊技球が入球して第1始動領域又は第2始動領域に遊技球が進入すると、予め設けられた複数の特別図柄の中からいずれか1つの特別図柄を決定するための抽選が行われる。各特別図柄には、遊技者にとって有利な大役遊技の実行可否や、以後の遊技状態をどのような遊技状態にするかといった種々の特典(遊技利益)が対応付けられている。したがって、遊技者は、第1始動口120又は第2始動口122に遊技球が入球すると、所定の賞球を獲得するのと同時に、種々の特典を受ける権利獲得の機会を獲得することとなる。
In the
また、第2始動口122には、可動片122bが開閉可能に設けられており、可動片122bの状態に応じて、第2始動口122への遊技球の進入容易性が変化するように構成されている。具体的には、可動片122bが閉状態にあるときには、第2始動口122への遊技球の入球が不可能となり、可動片122bが開き遊技球の直径よりも開いた状態にあるときには、第2始動口122への遊技球の入球が可能となっている。
Further, the
パチンコ機100では、遊技領域116に設けられたゲート124内の進入領域を遊技球が通過すると、普通図柄の抽選が行われ、抽選によって当たりに当選すると、可動片122bが所定時間、開状態に制御される。可動片122bが開状態に制御されることで、本実施形態のパチンコ機100では、可動片122bが遊技球を第2始動口122に導く受け皿として機能し、第2始動口122への遊技球の入球が容易となる。なお、パチンコ機100は、可動片122bが閉状態にあるときに、第2始動口122への遊技球の入球が不可能となるように構成されているが、第2始動口122が閉状態にある場合にも一定の頻度で遊技球が入球可能となるように構成されていてもよい。
In the
遊技領域116には、遊技球が入球可能な大入賞口128が設けられている。大入賞口128には、開閉扉128bが開閉可能に設けられており、通常、開閉扉128bが大入賞口128を閉鎖して、大入賞口128への遊技球の入球が不可能となっている。これに対して、パチンコ機100では、大役遊技が実行されると、開閉扉128bが開放されて、大入賞口128への遊技球の入球が可能となる。そして、パチンコ機100では、大入賞口128に遊技球が入球すると、所定の賞球が遊技者に払い出される。
The
遊技領域116の最下部には、一般入賞口118、第1始動口120、第2始動口122、大入賞口128のいずれにも入球しなかった遊技球を、遊技領域116から遊技盤108の背面側に排出する排出口130が設けられている。
At the bottom of the
パチンコ機100には、遊技の進行中等に演出を行う演出装置200として、液晶表示装置からなる演出表示装置201、駆動装置からなる演出役物装置202、さまざまな点灯態様や発光色に制御されるランプからなる演出照明装置204、スピーカからなる楽曲出力装置206、遊技者の演出に関する操作を受け付ける演出操作装置208が設けられている。
The
演出表示装置201は、遊技盤108の略中央部分において、パチンコ機100の正面側から視認可能な位置に画像を表示する画像表示部を備えている。演出表示装置201は、図2に示すように、画像表示部に演出図柄210a~210cが変動表示され、演出図柄210a~210cの停止表示態様によって大役抽選結果が遊技者に報知される変動演出が実行されることとなる。
The
演出役物装置202は、演出表示装置201よりも前方に配置され、通常、遊技盤108の背面側に退避しているが、演出図柄210a~210cの変動表示中などに、演出表示装置201の前方まで移動して、遊技者に大当たりの期待感を付与するものである。
The
演出照明装置204は、例えばLED(Light Emitting Diode)から構成され、演出役物装置202や遊技盤108等に設けられており、演出表示装置201に表示される画像等に合わせて、さまざまに点灯制御される。
The
楽曲出力装置206は、前枠106の上部位置や外枠102(図1参照)の最下部位置に設けられ、演出表示装置201に表示される画像等に合わせて、パチンコ機100の正面側に向けてさまざまな楽曲を出力する。なお、楽曲とは、楽音、噪音、音声、擬音等、音に関する全ての概念を含む。
The
演出操作装置208は、遊技者の押下操作を受け付けるボタンと、遊技者の回転操作を受け付ける回転操作部(例えば、ジョグダイヤル)と、で構成され、パチンコ機100の幅方向略中央位置であって、かつ、透過板110よりも下方位置に設けられている。演出操作装置208は、演出表示装置201に表示される画像等に合わせて有効化され、操作有効期間内に遊技者の操作を受け付けると、当該操作に応じて、様々な演出が実行される。
The
また、演出操作装置208の後方には、パチンコ機100から払い出される賞球や、遊技球貸出装置から貸し出される遊技球が導かれる上皿132が設けられ、上皿132の下方に下皿134が設けられている。パチンコ機100では、上皿132が遊技球で一杯になると、遊技球が下皿134に導かれることとなる。また、下皿134の底面には、下皿134から遊技球を排出するための球抜き孔(不図示)が形成されている。球抜き孔は、通常、開閉板(不図示)によって閉じられているが、球抜きつまみ134aを図中左右方向にスライドさせることにより、当該球抜きつまみ134aと一体となって開閉板がスライドし、球抜き孔から下皿134の下方に遊技球を排出することが可能となっている。
Further, behind the
遊技盤108には、遊技領域116の外方であって、かつ、遊技者が視認可能な位置に、遊技に係る種々の状況を表示するための装置として、第1特別図柄表示器160、第2特別図柄表示器162、第1特別図柄保留表示器164、第2特別図柄保留表示器166、普通図柄表示器168、普通図柄保留表示器170及び右打ち報知表示器172が設けられている。
On the
図3は、本実施形態のパチンコ機100の機能ブロック図である。主制御部300は、遊技の進行を制御し、メインCPU300aと、メインROM300bと、メインRAM300cと、を備えている。メインCPU300aは、各検出スイッチやタイマからの入力信号に基づいて、メインROM300bに格納されたプログラムを読み出して演算処理を行うとともに、各装置や表示器を直接制御したり、あるいは演算処理の結果に応じて他の制御部に主制御部300で生成したコマンドを送信したりすることで、遊技の進行に係る制御処理を実行する。メインRAM300cは、メインCPU300aの演算処理時におけるデータのワークエリアとして機能する。
FIG. 3 is a functional block diagram of the
主制御部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
また、主制御部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
また、主制御部300には、第1特別図柄表示器160と、第2特別図柄表示器162と、第1特別図柄保留表示器164と、第2特別図柄保留表示器166と、普通図柄表示器168と、普通図柄保留表示器170と、右打ち報知表示器172と、が接続されており、主制御部300によって、これら各表示器の表示制御が実行される。
Further, the main control unit 300 includes a first
本実施形態のパチンコ機100では、主に第1始動口120又は第2始動口122への遊技球の入球によって開始される特別遊技と、ゲート124を遊技球が通過することによって開始される普通遊技と、に遊技の種別が大別される。そして、主制御部300のメインROM300bには、特別遊技及び普通遊技を進行するための種々のプログラムや、各種の遊技に必要なデータ、テーブルが記憶されている。
In the
更に、主制御部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
また、主制御部300には、払出・発射制御部310及び副制御部330が接続されている。パチンコ機100は、それぞれ独立した制御基板として、主制御部300と、払出・発射制御部310と、副制御部330と、を有しており、副制御部330は、主制御部300から副制御部330への一方向にのみ通信可能な態様で主制御部300と接続されている。なお、各基板には、不図示の電源基板が接続されており、電源基板を介して商用電源から各基板に電力供給が実行されている。
Further, a payout / launch control unit 310 and a
払出・発射制御部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
また、払出・発射制御部310には、下皿134の満タン状態を検出する皿満タン検出スイッチ318sが接続されている。皿満タン検出スイッチ318sは、賞球として払い出される遊技球を下皿134に導く通路に設けられており、当該通路を遊技球が通過するたびに、遊技球検出信号を払出・発射制御部310に出力するように構成されている。
Further, a plate full tank detection switch 318s for detecting a full tank state of the
そして、皿満タン検出スイッチ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
また、払出・発射制御部310には、遊技球の発射制御を行う払出・発射制御回路320が設けられている。払出・発射制御部310には、操作ハンドル112に設けられ、当該操作ハンドル112に遊技者が触れたことを検出するタッチセンサ112sと、操作ハンドル112の操作角度を検出する操作ボリューム112aと、が接続されている。そして、タッチセンサ112s及び操作ボリューム112aから信号が入力されると、払出・発射制御回路320において、遊技球発射装置に設けられた発射用ソレノイド112cを通電して遊技球を発射させる制御が実行される。
Further, the payout / launch control unit 310 is provided with a payout /
副制御部330は、主に遊技中や待機中などの各演出を制御し、図3及び図4に示すように、サブCPU330a1及びVDP(Video Display Processor)330a2によって構成される演出用制御チップ330aと、サブROM330bと、サブRAM330cと、を備えている。また、副制御部330には、演出装置200が接続されていると共に、演出操作装置208として、遊技者の操作を検出する押下検出スイッチ2081s及び回転検出スイッチ2082sが接続されている。押下検出スイッチ2081sは、遊技者が演出操作装置208のボタンを押下操作した場合に、遊技者の押下操作を検出し、回転検出スイッチ2082sは、遊技者が演出操作装置208の回転操作部を回転操作した場合に、遊技者の回転操作を検出する。
The
サブ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
演出制御手段は、演出プログラム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
乱数種生成手段は、乱数種生成プログラム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
タスク管理手段は、タスク管理プログラム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
サブ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
I/Oポートアレイ603は、主制御部300と主にコマンド入出力を行うための主制御部I/O651(コマンド受信手段)、計時制御に利用されるRTC(Real Time Clock)652、例えば副制御部330の基板上に配置されたDIPスイッチ653、副制御部330のファームウェアの格納などに用いられる副制御部基板上に配置された制御ROM654、必要に応じて副制御部330の状態をバックアップするために用いられるバックアップSRAM655、およびデバッグUART656などと接続され、これら各部との信号入出力に用いられる。DIPスイッチ653は、デバッグ、検証動作などのためのモード設定などに利用される。
The I /
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
図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
図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
より詳しくは、バックアップSRAM655にはバックアップ用のバッテリーが接続されており、電源がOFFになっても記憶したデータを保持することができるようになっている。このため、バックアップSRAM655のアドレス領域内には、電源OFF時にサブRAMの特定領域の内容をバックアップするバックアップ領域6552が設けられている。また、バックアップSRAM655のアドレス領域には、後述の乱数種の生成のための変数として用いられる32ビットのカウンタ値を記憶する補助カウンタ6551が設けられている。この補助カウンタ6551は、乱数種生成時に1回だけ固定幅のインクリメント値が加算される。この固定幅のインクリメント値には任意の素数が使用される。
More specifically, a backup battery is connected to the
また、CPURAM602のアドレス領域内には、乱数に関するデータを保存する乱数用変数領域6021と、プロセスを切り替える際にサブCPU330a1が使用しているレジスタやフラグなどの状態(以下、コンテキストという)などを保存するカーネルスタック領域6022と、が設けられている。また、上記乱数用変数領域6021には、乱数生成時に参照される状態ベクトル、乱数種の値、乱数の発生回数などの乱数に係る情報が記憶される乱数情報記憶領域6021bと、生成された乱数が格納される乱数バッファ6021aと、が設けられている。
Further, in the address area of the
なお、上記乱数の発生回数とは、乱数バッファ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
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
演出抽選処理を実行するために演出プログラム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
同様に、デバッグ時に外部コンピュータなどからデバッグ情報の要求があった場合も、デバッグ情報取得ドライバ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
ついで、上記乱数制御クラスにおける乱数の生成の流れについて説明をする。乱数制御クラスでは、乱数の生成にあたり、乱数種生成プログラム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
シード値=(補助カウンタ値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
また、デバッグカウンタ605のカウンタ値は、16ビット長のデータである一方、目的のシード値や補助カウンタ値は32ビット長のデータであるため、デバッグカウンタ605のカウンタ値は上式(1)の2行目と3行目に示すようなビットシフト演算によって32ビットに拡張するよう加工した上で使用する。図7はこのデバッグカウンタ605のカウンタ値の加工処理を示している。
Further, since the counter value of the
この加工処理では、図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
なお、補助カウンタ6551は、バックアップSRAM655に設けられているため、電源がOFFされてもデータが保持されると共に、全RAMクリア時であってもその値が初期化されることはない。従って、RAMクリアされることでシード値が固定されることが防止される。また、上記のようにデバッグカウンタ605のカウンタ値を加工して用いることによってシード値が「0」となることを防止すると共に、ビットシフト演算して32ビット拡張することにより、特にシード値の下位ビットから上位ビットの全てのビットをランダムに攪拌する、特に上位16ビット側の値も漏らさずランダムに攪拌することができるようになっている。
Since the
乱数種が生成されると、生成された乱数種が乱数情報記憶領域6021bに格納されると共に、補助カウンタ6551の値が更新される。そして、乱数生成プログラムP3は、上記乱数情報記憶領域6021bに格納された乱数種を使用してソフトウェア乱数を演算し、生成した乱数を乱数バッファ6021aに格納する乱数生成処理を実行する。
When the random number seed is generated, the generated random number seed is stored in the random number
なお、乱数生成処理において、本実施の形態ではメルセンヌ・ツイスタ法(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
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
<電源投入時における乱数生成処理>
まず、電源投入時の乱数生成処理について図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
上記初期化処理が実行されると、次に、乱数種生成プログラム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
上述したメルセンヌ・ツイスタ法により乱数生成を実行するに際し、電源投入時は、状態ベクトルのデータが初期化されているため、乱数種生成プログラム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
ここで、本実施の形態では、メルセンヌ・ツイスタ法により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
上述したように乱数バッファ6021aは、512段のFIFO構造のリングバッファにより構成されており、電源投入時には、この512段の乱数バッファ6021aの全てに乱数が格納される。従って、乱数生成プログラムP3は、メルセンヌ・ツイスタ法によって512/2=256個の32ビット長の乱数を生成し、生成した256個の32ビット長の乱数を、生成した乱数の順に上位16ビット、下位16ビットの順序で乱数バッファ6021aに格納して行く(S4)。
As described above, the
そして、512段の乱数バッファ6021aの全てに乱数が格納されると(S5のYes)、乱数生成処理を終了し、乱数バッファ6021aに空きがある場合には(S5のNo)、その空きが無くなるまで乱数を生成する。このように、本実施の形態では、電源投入時に乱数バッファ6021aに空きが無くなるまで乱数を生成するため、遊技が開始する前に最大限、乱数の生成を実行することができ、遊技開始後の乱数生成の負荷を軽減することができる。
Then, when random numbers are stored in all of the 512-stage
<システム安定時における乱数生成処理>
ついで、システム安定時における乱数生成処理について図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
一方、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
このように、タスク管理プログラム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
また、記憶手段としての乱数バッファ6021aをFIFOバッファとして構成し、この乱数バッファ6021aにソフトウェア乱数を格納している。ソフトウェア乱数は、生成する時間軸が乱数値のランダム性に影響を及ぼさず、また、乱数が生成された順序に従って使用されることとなるため、アルゴリズムとして補償されている乱数の正当性を担保することができる。
Further, a
また、前記抽選手段は、実行する演出を乱数に基づいて決定する演出抽選処理を実行すると共に、前記決定された演出を演出装置(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
また、パチンコ機100は、制御処理の実行に係るタスクの優先度を設定すると共に、前記乱数生成手段(P3)による前記乱数生成処理に係るタスクの優先度を、前記演出抽選処理にて決定された演出に関する制御処理に係るタスクよりも低く設定するタスク管理手段(P4)を備えている。
Further, the
即ち、タスク管理プログラム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
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
上記のような構成において、もし仮に図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
そこで、以下では、図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
図12の処理では、まず、乱数バッファ6021aの空き段数Eを求める(S21)。この空き段数Eは、16ビット乱数を格納するための未使用の格納段が何段あるか、即ち、乱数バッファ6021aの空き容量に相当する値で、例えば以下のような処理によってこの空き段数Eを求めることができる。
In the process of FIG. 12, first, the number of empty stages E of the
例えば、制御手段としてのサブ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
また、通常、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
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
続いて、図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)
また、図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
以上のように、図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
しかも、上記のような乱数の分割手段によれば、乱数バッファ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
従って、図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
なお、以上では、上式(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
この予備バッファは、適当な段数の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
以上のような制御を行うことによっても、メルセンヌ・ツイスタ法のような乱数生成手法で保証されている乱数の出現確率分布を損なうことなく、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
<乱数バッファ枯渇に対する対処>
上述のように、本実施の形態では、FIFO構成の乱数バッファ6021aを用意し、演出プログラムP1の乱数取得とは非同期的に低負荷のシステム安定時に実行される乱数生成プログラムP3(乱数生成手段)によって乱数を生成させ、生成させた乱数を乱数バッファ6021aに格納する乱数生成および乱数バッファ格納処理(図11)を実行する。
<Countermeasures against random number buffer exhaustion>
As described above, in the present embodiment, a
また、制御手段としてのサブCPU330a1は、演出プログラムP1(演出制御手段)の要求に応じて、乱数バッファ6021aから乱数の生成順に読み出す、いわばバッファモードによって演出プログラムP1(演出制御手段)に出力する。また、その時、乱数生成プログラムP3に生成させた32ビット乱数を16ビット乱数に分割し、しかも分割した16ビット乱数を捨てることなく、乱数バッファ6021aに格納し、また乱数バッファ6021aを経由して演出プログラムP1(演出制御手段)に出力する。
Further, the sub CPU 330a1 as the control means reads out from the
一方で、演出プログラム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
乱数バッファ6021aは、上記のように16ビット乱数を512個格納できる512段程度のサイズで構成され、演出プログラムP1の要求に先行して図11の乱数生成および乱数バッファ格納処理によって予め未使用の16ビット乱数が乱数バッファ6021aに貯留されているよう動作させることになる。そのためには、例えば予め動作実験を行って、演出プログラムP1の要求に余裕を持って応答できるよう図11の乱数生成および乱数バッファ格納処理に与える優先度をチューニングする手法を利用できる。
As described above, the
しかしながら、入念に上記のようなチューニングを行っても、遊技状態によっては、演出プログラム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
そこで、本実施の形態では、乱数取得ドライバ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
図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
上記ダイレクトモードの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
また、上記ダイレクトモードの他の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
この乱数バッファ6021aの枯渇判定は、例えば、FIFOアクセスのための上記の読み出し、書き込みのポインタR、Wに対するポインタ演算などによって行うことができる。例えば、乱数バッファ6021aの枯渇状態(残量0)は乱数バッファ6021a中の次の書き込みアドレスを指しているアドレス値に、読み出しポインタRのアドレス値が追いついてしまっている状態として、検出することができる。
The exhaustion determination of the
もし、乱数バッファ6021aの枯渇状態(残量0)が生じていなければ、S31からS32へ移行し、乱数バッファ6021aから16ビット乱数を1個読み出し(S32)、続いて読み出しポインタRの値を更新し(S33)、読み出した16ビット乱数を演出プログラムP1に出力する(S34)。
If the
一方、乱数バッファ6021aの枯渇状態(残量0)が生じている場合には、乱数バッファ6021aから読み出せる16ビット乱数が無いため、出力ステップ(S34)で出力できる16ビット乱数を生成する代替処理(S35)を実行する。
On the other hand, when the
図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
図13(b)の代替処理1では、まず、低い優先度のタスク(あるいはプロセス、スレッド)として動作している図11の乱数生成および乱数バッファ格納処理を一時停止させる(S51)。この乱数生成および乱数バッファ格納処理の一時停止には、システムに用意されている例えばシグナル(signal)のようなタスク間通信手段(あるいはプロセス間通信手段、スレッド間通信手段など)を利用することができる。
In the
続いて、乱数生成プログラム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
以上のようにして、乱数バッファ6021aの枯渇状態が検出された場合には、乱数バッファ6021aを経由しないダイレクトモードとして実装した代替処理1を実行する。乱数バッファ6021a(FIFO)を経由せず、緊急避難的に直接、乱数生成プログラムP3を呼び出して32ビット乱数を生成し、16ビット乱数に分割し、その先頭から16ビット乱数を1個、出力することができる。この処理は、演出プログラムP1の要求に迅速に応答するために通常、比較的高い優先度を与えて動作させる乱数取得ドライバP5中で高速に実行することができる。しかも、その場合、32ビット乱数を分割して得た16ビット乱数のうち使用しなかったものは乱数バッファ6021a(FIFO)に格納するようにしているため、メルセンヌ・ツイスタ法のように乱数列の整合性を考慮すると生成した乱数列の途中の幾つかを捨てることができないような乱数生成手法を用いている場合でも、乱数システムの整合性を損うことがない。
When the exhaustion state of the
一方、図13(c)は、上記のダイレクトモードによって16ビット乱数を生成し、出力する他の代替処理2の構成例を示している。図13(c)の代替処理2は、乱数システムの整合性を僅かに損なう可能性があるが、本来の乱数生成プログラムP3を呼び出すことなく、緊急避難的に他の乱数発生手段によって、16ビット乱数を1つ生成(S61)する。
On the other hand, FIG. 13C shows a configuration example of another
図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
なお、図13(c)の代替処理2において、乱数の取得方法を変更する場合に用いる(本来の乱数生成プログラムP3とは異なる)他の乱数発生手段としては、上記のデバッグカウンタ605や補助カウンタ6551を用いる方法以外に、RTC652(システムタイマ)の計時値を適宜ビットシフトして16ビット乱数を取得する、あるいは別途、サブ基板上に配置した不図示のハードウェアによる乱数生成チップの出力を利用する、などの手法を用いることができる。
In the
なお、図13(c)の代替処理2は、本来の乱数生成プログラムP3を呼び出さないため、乱数取得ドライバP5(システムレベルの乱数制御クラス)で実行する他、ユーザレベルの演出プログラムP1側で実行するような構成を採ってもよい。その場合、乱数取得ドライバP5は、図13(a)の先頭で乱数バッファ6021aの枯渇を検出した場合、適宜定めておいたエラーを示す戻り値(エラーコード)をユーザレベルの演出プログラムP1に返して処理をエラー終了するよう実装する。そして、演出プログラムP1側では、その戻り値(エラーコード)を検出した時に、図13(c)のS61に示した他の手段による乱数発生を行うよう動作させればよい。
Since the
以上のようにして、図13(c)の代替処理2によれば、乱数バッファ6021aの枯渇(16ビット乱数の残数0)が生じた場合に演出プログラムP1が必要とする16ビット乱数を生成することができる。図13(c)の代替処理2は、本来の乱数生成プログラムP3を呼び出さずに緊急避難的に16ビット乱数を生成するため、乱数システムの整合性を損う可能性がある。しかしながら、乱数システムの整合性を僅かに損なう犠牲はあるが、より高速に演出プログラムP1に出力すべき代替の16ビット乱数を生成できる可能性がある。
As described above, according to the
また、図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
なお、図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
例えば、ここで、通常状態では、ダイレクトモードで乱数生成プログラム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
<乱数生成異常の対処>
本実施の形態では、乱数生成手法にメルセンヌ・ツイスタ法を用いており、例えば乱数生成系のハードウェアおよびソフトウェアが正常に動作している場合には、非常に長い周期の擬似乱数列を生成し、演出プログラム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
図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
また、乱数の生成異常は、上記のように、例えば乱数生成プログラム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
続いて、それまでに乱数バッファ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
一方、ステップ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
図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
なお、生成異常が生じている乱数を置換する値は、乱数生成プログラム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
以上のようにして、同一ビットパターン(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
なお、回復処理のうち、上記の(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
また、本実施形態では、バックアップSRAM655内の補助カウンタ6551は、断電時(電源OFF時)にその値が保持されるように構成されているが、例えば、断電時に補助カウンタの値を保持せず、かつ、電源投入時に補助カウンタの初期化を実行しないようにして、電源投入時にその値が不定となるように構成しても良い。このように、電源投入時に乱数種の生成に使用される補助カウンタの値を不定とすることにより、電源投入時の乱数種の値が一定の値になるようにすることを防止することができる。
Further, in the present embodiment, the
また、上述した実施形態では、乱数生成アルゴリズムによって乱数バッファ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
また、上述した実施形態では、タスクの完了を契機としてサブ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
また、本実施形態においては、遊技機として、大当たり図柄を含む複数種類の図柄の中からいずれかを決定する図柄決定手段と、図柄が決定されてから所定の変動時間が経過すると、図柄表示部に図柄を表示させる図柄表示手段と、図柄表示部に大当たり図柄が表示されると、複数回のラウンド遊技で構成される大役遊技を実行する大役遊技実行手段と、大役遊技におけるラウンド遊技のうち予め設定された特定ラウンド遊技中に、大入賞口に入球した遊技球が特定領域に進入すると、所定の遊技利益を付与する遊技利益付与手段と、大役遊技中の演出を実行する演出実行手段と、を備えるいわゆる第一種遊技を可能なパチンコ機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
<スロットマシンの機械的構成>
図15は、スロットマシン1の外観構成を示す斜視図である。スロットマシン1は、いわゆる回胴式遊技機と呼ばれるもので、メダルを遊技媒体として用いた遊技を行う種類の遊技機である。
<Mechanical configuration of slot machine>
FIG. 15 is a perspective view showing the external configuration of the
スロットマシン1は、収納箱BX、前面上扉UD及び前面下扉DDからなる箱形の筐体内に複数のリールとしての第1リールR1~第3リールR3からなるリールユニットが収められている。また、筐体内のリールユニットの下部には、メダルの払出装置としてのホッパーユニット920(図17参照)が収められている。また、スロットマシン1の筐体内には、CPU、ROM(情報記憶媒体の一例)、RAM等を搭載し、スロットマシン1の動作を制御する制御基板も収められている。
In the
図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
第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
前面上扉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
また、スロットマシン1では、表示窓DWを通じて図柄を観察するための表示位置として、各リールについて上段、中段、下段が設けられており、各リールの表示位置の組合せによって有効ラインL1が設定されている。なお、スロットマシン1では、1回の遊技に関して必要となるメダルの数、いわゆる規定投入数が、遊技状態に応じてそれぞれ2枚(第2規定投入数)又は3枚(第1規定投入数)に設定されており、各遊技状態に設定された規定投入数に相当するメダルが投入されると第1リールR1~第3リールR3の中段によって構成される有効ラインL1が有効化される。
Further, in the
そして、遊技結果は、表示窓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
前面上扉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
また、前面上扉UDには、演出を行うための演出表示装置930が設けられている。演出表示装置930は、例えば液晶ディスプレイから構成され、遊技を補助したり、遊技を盛り上げたりするための各種の映像や画像が表示される。また、スロットマシン1では、前面上扉UDや前面下扉DDに対して、演出を行うためのスピーカ(図示省略)が複数設けられている。スピーカからは、遊技を補助したり、遊技を盛り上げたりするための各種の音声が出力される。
Further, the front upper door UD is provided with an
前面下扉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
スロットマシン1では、遊技者がメダルをメダル投入口MIに投入するか、メダルが規定投入数以上にクレジットされている場合に、規定投入数と同じ回数シングルベットボタンBTを押下するシングルベット操作又はマックスベットボタンMBを押下するマックスベット操作を行うことで、規定投入数のメダルが投入状態に設定され、第1リールR1~第3リールR3の回転制御を開始することが可能な準備状態にセットされる。そして、遊技者がスタートレバーSLに対して開始操作を実行すると、制御基板において第1リールR1~第3リールR3をステッピングモータの駆動により回転開始させるとともに、乱数を用いた内部抽選が行われ、第1リールR1~第3リールR3の回転速度が所定の速度まで上昇し定常回転になったことを条件に、ストップボタンB1~ストップボタンB3の押下操作が許可、すなわちストップボタンB1~ストップボタンB3による停止操作が有効化される。
In the
その後、遊技者が任意のタイミングでストップボタン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
また、遊技者が任意のタイミングで押下状態にあるストップボタン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
<スロットマシンの電気的構成>
図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
主制御部10は、遊技の進行を制御し、メインCPU11と、メインROM12と、メインRAM13と、を備えている。メインCPU11は、各入力手段からの入力信号に基づいて、メインROM12に格納されたプログラムを読み出して演算処理を行うとともに、各装置や表示器を直接制御したり、あるいは演算処理の結果に応じて他の制御部に主制御部10で生成したコマンドである第1コマンドを送信したりすることで、遊技の進行に係る制御処理を実行する。メインRAM13は、メインCPU11の演算処理時におけるデータのワークエリアとして機能する。
The
メインCPU11は、メインROM12に格納されたプログラムに基づき、メインRAM13と協働して、設定変更手段701、投入受付手段702、乱数生成手段703、内部抽選手段704、リール制御手段705、入賞判定手段706、払出制御手段707、リプレイ処理手段708、遊技状態移行制御手段709、有利期間制御手段710、指示機能状態制御手段711として機能する。
Based on the program stored in the
設定変更手段701は、メインRAM13に記憶されている設定値を変更する制御を行う。スロットマシン1では、収納箱BX内に収められた電源装置に設けられている設定変更スイッチ850から出力される信号である設定信号が入力されることで、設定変更が実行される。スロットマシン1では、設定変更手段701によって確定された設定値に応じて、内部抽選手段704による内部抽選で当選可能な当選エリアのうち一部の当選エリアの当選確率が変更される。
The setting changing means 701 controls to change the setting value stored in the
投入受付手段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
なお、スロットマシン1では、規定投入数に相当するメダルの投入に基づいて有効化されたスタートレバーSLの最初の押下操作が、遊技者による遊技の開始操作として受け付けられ、第1リールR1~第3リールR3の回転を開始させる契機となっているとともに、後述する内部抽選手段704が内部抽選を実行する契機となっている。
In the
メイン側乱数生成手段である乱数生成手段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
抽選テーブル選択処理では、メインROM12に格納されている複数の内部抽選テーブルのうち、いずれの内部抽選テーブルを用いて内部抽選を行うかを現在の遊技状態に基づき選択する。各内部抽選テーブルでは、複数の乱数(例えば、0~65535の65536個の乱数)のそれぞれに対して、リプレイ、小役及びボーナスなどの各種の役やハズレ(不当選)が対応付けられている。
In the lottery table selection process, which of the plurality of internal lottery tables stored in the
乱数判定処理では、スタートスイッチ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
抽選フラグ設定処理では、乱数判定処理の結果に基づいて、当選したと判定された役に対応する抽選フラグを非成立状態(第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
リール制御手段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
また、スロットマシン1では、第1リールR1~第3リールR3について、ストップボタンB1~ストップボタンB3が押下された時点から190ms以内に、押下されたストップボタンに対応する回転中のリールを停止するようになっている。ここで、ストップボタンの押下時点から190ms以内に回転中のリールを停止させる場合、回転している各リールの停止位置は、各リールの直径及び回転速度により、ストップボタンの押下時点からリールが停止するまでに最大で4コマ分回転可能に構成されている。リール制御手段705は、ストップボタンB1~ストップボタンB3のうち押下操作が行われたストップボタンに対応する回転中のリールの外周面上において、内部抽選で当選した役に対応する図柄が、ストップボタンに対する押下操作が行われた時点で有効ラインL1上の表示位置に対して0コマ~4コマの範囲内に位置する場合に、抽選フラグが当選状態に設定されている役に対応する図柄を有効ラインL1上の表示位置に表示するように、押下操作が行われたストップボタンに対応する回転中のリールを停止させる制御を行っている。
Further, in the
リール制御手段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
入賞判定手段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
払出制御手段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
リプレイ処理手段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
遊技状態移行制御手段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
指示機能状態制御手段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
副制御部20は、主制御部10から送信されるコマンドに基づき演出を制御し、サブCPU21と、サブROM22と、サブRAM23と、を備えている。サブCPU21は、主制御部10から送信されたコマンドやタイマからの入力信号等などの外部信号に基づいて、サブROM22に格納されたプログラムを読み出して演算処理を行うとともに、演出表示装置930や音響装置940を含む演出装置900に演出を実行させる演出に係る制御を実行する。サブRAM23は、サブCPU21の演算処理時におけるデータのワークエリアとして機能する。
The
上記サブROM22には、演出プログラムP11、乱数種生成プログラムP21、乱数生成プログラムP31、タスク管理プログラムP41、乱数取得ドライバP51、デバッグ情報取得ドライバP61などの各種プログラムや、演出の内容を決定するための複数の演出抽選テーブルなどのデータが格納されており、サブCPU21は、これらサブROM22に格納されたプログラムを読み出して演算処理を行うことにより、演出制御手段、乱数種生成手段、乱数生成手段、タスク管理手段として機能する。また、サブRAM23には、演出プログラムP11が演出抽選処理を実行する際に使用する乱数が蓄積される乱数バッファ6021a1が設けられている。
In the
演出制御手段は、演出プログラムP11がサブCPU21により読み出し、実行されることによって機能する手段であり、実行する演出を乱数に基づいて決定する演出抽選処理等の演出に係る制御を実行する。演出制御手段は、これらの処理を、主制御部10から送信されたコマンドやタイマからの入力信号、演出操作装置800への遊技者の入力などの外部信号に基づいて実行する。
The effect control means functions by reading and executing the effect program P11 by the
乱数種生成手段は、乱数種生成プログラム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
乱数生成手段は、乱数生成プログラムP31がサブCPU21により読み出し、実行されることによって機能する手段であり、所定の乱数生成アルゴリズムに基づいて演算により乱数を生成する乱数生成処理を実行する。乱数生成プログラムP31は、上述したようにスロットマシン1の電源投入時及びシステム安定時に上記乱数生成処理を実行する。
The random number generation means functions by reading and executing the random number generation program P31 by the
タスク管理手段は、タスク管理プログラムP41がサブCPU21により読み出し、実行されることによって機能する手段であり、サブCPU21が実行する制御処理に係るタスクの優先度を設定する。タスク管理手段は、間隔の短い所定時間毎(本実施の形態では30fps(33.33ms)のサイクル)に優先度の設定を更新すると共に、サブCPU21は、上記所定時間内において実行可能なタスクを優先度に従って逐次処理する。上記処理が繰り返し実行されることによって、遊技者には複数のプロセスが同時に実行されているように見えるようになっている。
The task management means functions by reading and executing the task management program P41 by the
スロットマシン1においても上述したパチンコ機100と同様に、乱数バッファ6021a1を設け、演出プログラムP11が乱数を使用する前に、予め乱数生成プログラムP31によって乱数の生成及び蓄積を行っており、乱数生成のタイミングを乱数使用時以外のタイミングにズラしている。これにより、例えば、スタートスイッチ830が開始操作を検出した後、各ストップボタンB1~ストップボタンB3を押下するまでの間の期間や、遊技者による遊技が実行されていないデモ画面表示時など、サブCPU21に対する外部信号の入力が所定量以下となる低処理負荷状態の際に乱数を生成することができ、乱数生成に係る処理負荷を分散することができる。このため、上述した演出の切替時などサブCPU21が高負荷状態の際にサブCPU21の処理能力を乱数生成のために割くことを回避することができる。
Similar to the
また、上記スロットマシン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
なお、上述した実施の形態に記載した発明は、どのように組み合わされても良く、パチンコ機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
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.
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)
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 |
-
2017
- 2017-05-16 JP JP2017097685A patent/JP7048219B2/en active Active
Patent Citations (7)
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 |