JP2018183290A - Game machine - Google Patents
Game machine Download PDFInfo
- Publication number
- JP2018183290A JP2018183290A JP2017085623A JP2017085623A JP2018183290A JP 2018183290 A JP2018183290 A JP 2018183290A JP 2017085623 A JP2017085623 A JP 2017085623A JP 2017085623 A JP2017085623 A JP 2017085623A JP 2018183290 A JP2018183290 A JP 2018183290A
- Authority
- JP
- Japan
- Prior art keywords
- game
- area
- medal
- game program
- state
- 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.)
- Granted
Links
Images
Landscapes
- Slot Machines And Peripheral Devices (AREA)
Abstract
Description
本発明は、パチンコ遊技機やスロットマシン等の遊技機に関する。 The present invention relates to a gaming machine such as a pachinko gaming machine or a slot machine.
この種の遊技機としては、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、がそれぞれ別個にROMに割り当てられたものが提案されている(例えば、特許文献1参照)。 As this type of gaming machine, a game program area for storing a game program related to the progress of the game and a non-game program area for storing a non-game program not related to the progress of the game are separately allocated to the ROM. Has been proposed (see, for example, Patent Document 1).
特許文献1に記載の遊技機では、遊技プログラムにおいて、非遊技プログラムに含まれる処理を実行する度に、遊技プログラムから非遊技プログラムを呼び出すようにすると、何度も遊技プログラムと非遊技プログラムとを行き来することとなり、処理が複雑化するという問題が生じる。
In the gaming machine described in
本発明は、このような問題点に着目してなされたものであり、遊技プログラムと非遊技プログラムとの行き来を極力減らすことができる遊技機を提供することを目的とする。 The present invention has been made paying attention to such problems, and an object of the present invention is to provide a gaming machine that can reduce the traffic between a game program and a non-game program as much as possible.
上記課題を解決するために、本発明の手段1の遊技機は、
遊技を行う遊技機(スロットマシン1)において、
プログラムを記憶可能な記憶領域を有する記憶手段(ROM41b)と、
記憶手段に記憶されたプログラムに基づいて制御を行う制御手段(メインCPU41a)と、
を備え、
前記記憶手段(ROM41b)の記憶領域は、
遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、
前記遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、
を含み、
前記遊技プログラムからの1回の非遊技プログラム(非遊技関連処理)の呼出により該非遊技プログラムにおいて異常判定(センサ監視処理)及び外部機器へ出力される外部出力信号の出力制御(試験信号出力処理)を行う
ことを特徴としている。
この特徴によれば、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、が別個に割り当てられた構成において、遊技プログラムからの1回の非遊技プログラムの呼出により該非遊技プログラムにおいて異常判定及び外部機器へ出力される外部出力信号の出力制御が行われるため、遊技プログラムと非遊技プログラムとの行き来を極力減らすことができる。
In order to solve the above problems, the gaming machine of
In a gaming machine (slot machine 1) that performs a game,
Storage means (
Control means (
With
The storage area of the storage means (
A game program area in which a game program related to the progress of the game is stored;
A non-game program area for storing a non-game program that is called by the game program and is not related to the progress of the game;
Including
When a non-game program (non-game related process) is called from the game program once, abnormality determination (sensor monitoring process) in the non-game program and output control of an external output signal output to an external device (test signal output process) It is characterized by performing.
According to this feature, a game program area that stores a game program related to the progress of the game, a non-game program area that is a program called by the game program and stores a non-game program that is not related to the progress of the game, In the configuration in which the non-game program is called from the game program once, abnormality determination and output control of the external output signal output to the external device are performed in the non-game program. Going and going to and from the game program can be reduced as much as possible.
尚、本発明は、本発明の請求項に記載された発明特定事項のみを有するものであって良いし、本発明の請求項に記載された発明特定事項とともに該発明特定事項以外の構成を有するものであっても良い。 In addition, this invention may have only the invention specific matter described in the claim of this invention, and has a structure other than this invention specific matter with the invention specific matter described in the claim of this invention. It may be a thing.
本発明に係る遊技機を実施するための形態を実施例に基づいて以下に説明する。 A mode for carrying out a gaming machine according to the present invention will be described below based on examples.
本発明が適用された遊技機であるスロットマシンの実施例1について図面を用いて説明すると、本実施例のスロットマシン1は、図1に示すように、前面が開口する筐体1aと、この筐体1aの側端に回動自在に枢支された前面扉1bと、から構成されている。
本実施例のスロットマシン1の筐体1aの内部には、図2に示すように、外周に複数種の図柄が配列されたリール2L、2C、2R(以下、左リール、中リール、右リール)が水平方向に並設されており、図1に示すように、これらリール2L、2C、2Rに配列された図柄のうち連続する3つの図柄が前面扉1bに設けられた透視窓3から見えるように配置されている。
Inside the
リール2L、2C、2Rの外周部には、互いに識別可能な複数種類の図柄(例えば、「7」、「BAR」、「スイカ」、「チェリー」、「ベル」、「リプレイ」等)が所定の順序で、それぞれ20個ずつ描かれている。リール2L、2C、2Rの外周部に描かれた図柄は、前面扉1bの略中央に設けられた透視窓3において各々上中下三段に表示される。
A plurality of types of symbols (eg, “7”, “BAR”, “watermelon”, “cherry”, “bell”, “replay”, etc.) that can be distinguished from each other) are predetermined on the outer peripheral portions of the
各リール2L、2C、2Rは、各々対応して設けられたリールモータ32L、32C、32R(図3参照)によって回転されることで、各リール2L、2C、2Rの図柄が透視窓3に連続的に変化しつつ表示される一方で、各リール2L、2C、2Rの回転が停止されることで、透視窓3に3つの連続する図柄が表示結果として導出表示されるようになっている。
The
尚、本実施例のリール2L、2C、2Rは、リールモータ32L、32C、32Rを用いて、外周面に複数の図柄が配置されたリール2L、2C、2Rを回転させることで、遊技者から視認可能な複数の図柄を移動させる変動表示を行うことが可能な構成であるが、複数の図柄を移動させる変動表示を行う手段は、リール以外であっても良く、例えば、外周面に複数の図柄が配置されたベルトを移動させることで変動表示を行うことが可能な構成等であっても良い。
Note that the
リール2L、2C、2Rの内側には、リール2L、2C、2Rそれぞれに対して、基準位置を検出するリールセンサ33L、33C、33Rと、リール2L、2C、2Rを背面から照射するリールLED55と、が設けられている。また、リールLED55は、リール2L、2C、2Rの連続する3つの図柄に対応する12のLEDからなり、各図柄をそれぞれ独立して照射可能とされている。
Inside the
また、リールセンサ33L、33C、33Rは、各リール2L、2C、2Rについて図柄番号1の図柄の領域の下端が各リールにおける所定位置を通過するときに、検出信号を出力するように配置されており、各リールについて図柄番号1の図柄の領域の下端がリール基準位置となる。
The reel sensors 33L, 33C, and 33R are arranged to output a detection signal when the lower end of the symbol area of
前面扉1bの各リール2L、2C、2Rの手前側(遊技者側)の位置には、液晶表示器51(図1参照)の表示領域51aが配置されている。液晶表示器51は、液晶素子に対して電圧が印加されていない状態で透過性を有する液晶パネルを有しており、表示領域51aの透視窓3に対応する透過領域51b及び透視窓3を介して遊技者側から各リール2L、2C、2Rが視認できるようになっている。
A
前面扉1bには、図1に示すように、メダルを投入可能なメダル投入部4、メダルが払い出されるメダル払出口9、クレジット(遊技者所有の遊技用価値として記憶されているメダル数)を用いて、その範囲内において遊技状態に応じて定められた規定数の賭数のうち最大の賭数を設定する際に操作されるMAXBETスイッチ6、クレジットとして記憶されているメダル及び賭数の設定に用いたメダルを精算する(クレジット及び賭数の設定に用いた分のメダルを返却させる)際に操作される精算スイッチ10、ゲームを開始する際に操作されるスタートスイッチ7、リール2L、2C、2Rの回転を各々停止する際に操作されるストップスイッチ8L、8C、8R、演出に用いられる演出用スイッチ56が遊技者により操作可能にそれぞれ設けられている。
As shown in FIG. 1, on the
尚、本実施例では、回転を開始した3つのリール2L、2C、2Rのうち、最初に停止するリールを第1停止リールと称し、また、その停止を第1停止と称する。同様に、2番目に停止するリールを第2停止リールと称し、また、その停止を第2停止と称し、3番目に停止するリールを第3停止リールと称し、また、その停止を第3停止あるいは最終停止と称する。
In this embodiment, among the three
また、前面扉1bには、図1に示すように、クレジットとして記憶されているメダル枚数が表示されるクレジット表示器11、入賞の発生により払い出されたメダル枚数やエラー発生時にその内容を示すエラーコード等が表示される遊技補助表示器12、賭数が1設定されている旨を点灯により報知する1BETLED14、賭数が2設定されている旨を点灯により報知する2BETLED15、賭数が3設定されている旨を点灯により報知する3BETLED16、メダルの投入が可能な状態を点灯により報知する投入要求LED17、スタートスイッチ7の操作によるゲームのスタート操作が有効である旨を点灯により報知するスタート有効LED18、ウェイト(前回のゲーム開始から一定期間経過していないためにリールの回転開始を待機している状態)中である旨を点灯により報知するウェイト中LED19、リプレイゲーム中である旨を点灯により報知するリプレイ中LED20が設けられた遊技用表示部13が設けられている。
Further, as shown in FIG. 1, the
MAXBETスイッチ6の内部には、MAXBETスイッチ6の操作による賭数の設定操作が有効である旨を点灯により報知するBETスイッチ有効LED21(図3参照)が設けられており、ストップスイッチ8L、8C、8Rの内部には、該当するストップスイッチ8L、8C、8Rによるリールの停止操作が有効である旨を点灯により報知する左、中、右停止有効LED22L、22C、22R(図3参照)がそれぞれ設けられており、演出用スイッチ56の内部には、演出用スイッチ56の操作が有効である旨を点灯により報知する演出用LED56a(図3参照)が設けられている。
Inside the
前面扉1bの内側には、図2に示すように、所定のキー操作により前面扉1bを開放することなく後述するエラー状態及び打止状態を解除するためのリセット操作を検出するリセットスイッチ23、後述する設定値の変更中や設定値の確認中にその時点の設定値が表示される設定値表示器24、所定の契機に打止状態(リセット操作がなされるまでゲームの進行が規制される状態)に制御する打止機能の有効/無効を選択するための打止スイッチ36a、所定の契機に自動精算処理(クレジットとして記憶されているメダルを遊技者の操作によらず精算(返却)する処理)に制御する自動精算機能の有効/無効を選択するための自動精算スイッチ36b、メダル投入部4から投入されたメダルの流路を、筐体1aの内部に設けられた後述のホッパータンク34a(図2参照)側またはメダル払出口9側のいずれか一方に選択的に切り替えるための流路切替ソレノイド30、メダル投入部4から投入され、ホッパータンク34a側に流下したメダルを検出する投入メダルセンサ31、投入メダルセンサ31の上流側で異物の挿入を検出する投入口センサ26を有するメダルセレクタ29、前面扉1bの開放状態を検出するドア開放検出スイッチ25(図3参照)が設けられている。
On the inner side of the
筐体1aの内部には、図2に示すように、前述したリール2L、2C、2R、リールモータ32L、32C、32R(図3参照)、各リール2L、2C、2Rのリール基準位置をそれぞれ検出可能なリールセンサ33L、33C、33R(図3参照)からなるリールユニット2、外部出力信号を出力するための外部出力基板1000(図3参照)、メダル投入部4から投入されたメダルを貯留するホッパータンク34a、ホッパータンク34aに貯留されたメダルをメダル払出口9より払い出すためのホッパーモータ34b(図3参照)、ホッパーモータ34bの駆動により払い出されたメダルを検出する払出センサ34c(図3参照)からなるホッパーユニット34、電源ボックス100が設けられている。
As shown in FIG. 2, the
ホッパーユニット34の側部には、ホッパータンク34aからあふれたメダルが貯留されるオーバーフロータンク35が設けられている。オーバーフロータンク35の内部には、貯留されたメダルが満タン状態となったことを検出する満タンセンサ35a(図3参照)が設けられている。
On the side of the
電源ボックス100の前面には、図2に示すように、設定変更状態または設定確認状態に切り替えるための設定キースイッチ37、通常時においてはエラー状態や打止状態を解除するためのリセットスイッチとして機能し、設定変更状態においては後述する内部抽選の当選確率(出玉率)の設定値を変更するための設定スイッチとして機能するリセット/設定スイッチ38、電源をon/offする際に操作される電源スイッチ39が設けられている。
As shown in FIG. 2, a
尚、電源ボックス100は、筐体1aの内部に設けられており、さらに前面扉1bは、店員等が所持する所定のキー操作により開放可能な構成であるため、これら電源ボックス100の前面に設けられた設定キースイッチ37、リセット/設定スイッチ38、電源スイッチ39は、キーを所持する店員等の者のみが操作可能とされ、遊技者による操作ができないようになっている。また、所定のキー操作により検出されるリセットスイッチ23も同様である。特に、設定キースイッチ37は、キー操作により前面扉1bを開放したうえで、さらにキー操作を要することから、遊技店の店員のなかでも、設定キースイッチ37の操作を行うキーを所持する店員のみ操作が可能とされている。
The
本実施例のスロットマシン1においてゲームを行う場合には、まず、メダルをメダル投入部4から投入するか、あるいはクレジットを使用して賭数を設定する。クレジットを使用するにはMAXBETスイッチ6を操作すれば良い。遊技状態に応じて定められた規定数の賭数が設定されると、入賞ラインLN(図1参照)が有効となり、スタートスイッチ7の操作が有効な状態、すなわち、ゲームが開始可能な状態となる。尚、遊技状態に対応する規定数のうち最大数を超えてメダルが投入された場合には、その分はクレジットに加算される。
When a game is played in the
入賞ラインとは、各リール2L、2C、2Rの透視窓3に表示された図柄の組合せが入賞図柄の組合せであるかを判定するために設定されるラインである。本実施例では、図1に示すように、リール2Lの中段、リール2Cの中段、リール2Rの中段、すなわち中段に水平方向に並んだ図柄に跨がって設定された入賞ラインLNのみが入賞ラインとして定められている。尚、本実施例では、1本の入賞ラインのみを適用しているが、複数の入賞ラインを適用しても良い。
The winning line is a line that is set to determine whether a combination of symbols displayed on the
また、本実施例では、入賞ラインLNに入賞を構成する図柄の組合せが揃ったことを認識しやすくするために、入賞ラインLNとは別に、無効ラインLM1〜4(LM1は、左中右リールの各上段にわたるラインであり、LM2は、左中右リールの各中段にわたるラインであり、LM3は、左中右リールの各下段にわたるラインであり、LM4は、左リールの下段、中リールの中段、右リールの上段にわたるラインである。)を設定している。無効ラインLM1〜4は、これら無効ラインLM1〜4に揃った図柄の組合せによって入賞が判定されるものではなく、入賞ラインLNに特定の入賞を構成する図柄の組合せが揃った際に、無効ラインLM1〜4のいずれかに入賞ラインLNに揃った場合に入賞となる図柄の組合せ(例えば、ベル‐ベル‐ベル)が揃う構成とすることで、入賞ラインLNに特定の入賞を構成する図柄の組合せが揃ったことを認識しやすくするものである。 Further, in this embodiment, in order to make it easy to recognize that the combination of symbols constituting the winning line is aligned on the winning line LN, in addition to the winning line LN, the invalid lines LM1 to 4 (LM1 is the left middle right reel). LM2 is a line over each middle stage of the left middle right reel, LM3 is a line over each bottom stage of the left middle right reel, and LM4 is a bottom stage of the left reel and a middle stage of the middle reel , The line that extends to the top of the right reel.) The invalid lines LM1 to LM4 are not determined based on the combination of symbols arranged in the invalid lines LM1 to LM4. When the combination of symbols constituting a specific prize is arranged on the winning line LN, the invalid line is displayed. When a combination of symbols (for example, bell-bell-bell) is selected when winning line LN is aligned with any of LM1 to LM4, a symbol that constitutes a specific winning line on winning line LN is displayed. It is easy to recognize that the combination is complete.
本実施例では、図1に示すように、リール2Lの上段、リール2Cの上段、リール2Rの上段、すなわち上段に水平方向に並んだ図柄に跨がって設定された無効ラインLM1、リール2Lの下段、リール2Cの下段、リール2Rの下段、すなわち下段に水平方向に並んだ図柄に跨がって設定された無効ラインLM2、リール2Lの上段、リール2Cの中段、リール2Rの下段、すなわち右下がりに並んだ図柄に跨がって設定された無効ラインLM3、リール2Lの下段、リール2Cの中段、リール2Rの上段、すなわち右上がりに並んだ図柄に跨がって設定された無効ラインLM4の4種類が無効ラインLMとして定められている。
In this embodiment, as shown in FIG. 1, the invalid line LM1 and the
また、本実施例では、入賞役として、入賞ラインLNに役として定められた所定の図柄の組合せ(例えば、「ベル‐スイカ‐チェリー」)が揃ったときに入賞するとともに、かつ所定の図柄組合せが揃うことにより無効ラインLM1〜LM4のいずれかに所定の図柄組合せよりも認識しやすい指標となる図柄の組合せ(例えば、「スイカ‐スイカ‐スイカ」)が揃うことにより、無効ラインLM1〜LM4のいずれかに揃った図柄の組合せによって入賞したように見せることが可能な役を含む。以下では、所定の図柄の組合せが入賞ラインLNに揃ったときに無効ラインLM1〜LM4のいずれかに揃う図柄の組合せを、指標となる図柄の組合せと呼び、指標となる図柄の組合せを構成する図柄を指標図柄と呼ぶ。 Further, in this embodiment, as a winning combination, a winning combination is achieved when a predetermined symbol combination (for example, “Bell-Watermelon-Cherry”) determined as a winning combination in the winning line LN is prepared, and a predetermined symbol combination is also obtained. If the combination of symbols (for example, “watermelon-watermelon-watermelon”), which is an index that is easier to recognize than the predetermined symbol combination, is aligned with any of the invalid lines LM1 to LM4, the invalid lines LM1 to LM4 It includes a role that can appear as if it has been won by a combination of symbols arranged in any one of them. Hereinafter, a combination of symbols that is aligned with any of the invalid lines LM1 to LM4 when a predetermined symbol combination is aligned with the winning line LN is referred to as a symbol combination serving as an index, and constitutes a symbol combination serving as an index. The symbol is called an index symbol.
ゲームが開始可能な状態でスタートスイッチ7を操作すると、各リール2L、2C、2Rが回転し、各リール2L、2C、2Rの図柄が連続的に変動する。この状態でいずれかのストップスイッチ8L、8C、8Rを操作すると、対応するリール2L、2C、2Rの回転が停止し、透視窓3に表示結果が導出表示される。
When the
そして全てのリール2L、2C、2Rが停止されることで1ゲームが終了し、入賞ラインLN上に予め定められた図柄の組合せ(以下、役ともいう)が各リール2L、2C、2Rの表示結果として停止した場合には入賞が発生し、その入賞に応じて定められた枚数のメダルが遊技者に対して付与され、クレジットに加算される。また、クレジットが上限数(本実施例では50)に達した場合には、メダルが直接メダル払出口9(図1参照)から払い出されるようになっている。また、入賞ラインLN上に、遊技状態の移行を伴う図柄の組合せが各リール2L、2C、2Rの表示結果として停止した場合には図柄の組合せに応じた遊技状態に移行するようになっている。
Then, when all the
尚、本実施例では、スタートスイッチ7の操作が有効な状態でスタートスイッチ7の操作が検出されたときにゲームが開始し、全てのリールが停止したときにゲームが終了する。また、ゲームを実行するための1単位の制御(ゲーム制御)は、前回のゲームの終了に伴う全ての制御が完了したときに開始し、当該ゲームの終了に伴う全ての制御が完了したときに終了する。
In this embodiment, the game starts when the operation of the
また、本実施例では、3つのリールを用いた構成を例示しているが、リールを1つのみ用いた構成、2つのリールを用いた構成、4つ以上のリールを用いた構成としても良く、2以上のリールを用いた構成においては、2以上の全てのリールに導出された表示結果の組合せに基づいて入賞を判定する構成とすれば良い。また、本実施例では、物理的なリールにて可変表示装置が構成されているが、液晶表示器などの画像表示装置にて可変表示装置が構成されていても良い。 In this embodiment, a configuration using three reels is illustrated, but a configuration using only one reel, a configuration using two reels, a configuration using four or more reels may be used. In the configuration using two or more reels, a winning determination may be made based on a combination of display results derived for all two or more reels. In this embodiment, the variable display device is configured by physical reels. However, the variable display device may be configured by an image display device such as a liquid crystal display.
また、本実施例におけるスロットマシン1にあっては、ゲームが開始されて各リール2L、2C、2Rが回転して図柄の変動が開始した後、いずれかのストップスイッチ8L、8C、8Rが操作されたときに、当該ストップスイッチ8L、8C、8Rに対応するリールの回転が停止して図柄が停止表示される。ストップスイッチ8L、8C、8Rの操作が行われたときから、対応するリール2L、2C、2Rの回転を停止するまでの最大停止遅延時間は190ミリ秒(ms)である。
In the
リール2L、2C、2Rは、1分間に80回転し、80×20(1リール当たりの図柄コマ数)=1600コマ分の図柄を変動させるので、190ミリ秒の間では最大で4コマの図柄を引き込むことができることとなる。つまり、停止図柄として選択可能なのは、ストップスイッチ8L、8C、8Rが操作されたときに表示されている図柄と、そこから4コマ先までにある図柄、合計5コマ分の図柄である。
The
このため、例えば、ストップスイッチ8L、8C、8Rのいずれかが操作されたときに当該ストップスイッチに対応するリールの下段に表示されている図柄を基準とした場合は、当該基準とした図柄から4コマ先までの図柄を下段に表示させることができるため、リール2L、2C、2R各々において、ストップスイッチ8L、8Rのうちいずれかが操作されたときに当該ストップスイッチに対応するリールの入賞ライン上に表示されている図柄を含めて5コマ以内に配置されている図柄を入賞ライン上に表示させることができる。
For this reason, for example, when any of the stop switches 8L, 8C, 8R is operated and the symbol displayed on the lower stage of the reel corresponding to the stop switch is used as a reference, the
以下では、特に区別する必要がない場合にはリール2L、2C、2Rを単にリールという場合がある。また、リール2Lを左リール、リール2Cを中リール、リール2Rを右リールという場合がある。また、ストップスイッチ8L、8C、8Rの操作によりリール2L、2C、2Rを停止させる操作を停止操作という場合がある。
Hereinafter, the
図3は、スロットマシン1の構成を示すブロック図である。スロットマシン1には、図3に示すように、遊技制御基板40、演出制御基板90、電源基板101が設けられており、遊技制御基板40によって遊技の制御が行われ、演出制御基板90によって遊技状態に応じた演出の制御が行われ、電源基板101によってスロットマシン1を構成する電気部品の駆動電源が生成され、各部に供給される。
FIG. 3 is a block diagram showing the configuration of the
電源基板101には、外部からAC100Vの電源が供給されるとともに、このAC100Vの電源からスロットマシン1を構成する電気部品の駆動に必要な直流電圧が生成され、遊技制御基板40及び演出制御基板90に供給されるようになっている。また、電源基板101には、前述したホッパーモータ34b、払出センサ34c、満タンセンサ35a、設定キースイッチ37、リセット/設定スイッチ38、電源スイッチ39が接続されている。
The
遊技制御基板40には、前述したMAXBETスイッチ6、スタートスイッチ7、ストップスイッチ8L、8C、8R、精算スイッチ10、リセットスイッチ23、打止スイッチ36a、自動精算スイッチ36b、投入メダルセンサ31、ドア開放検出スイッチ25、リールセンサ33L、33C、33Rが接続されているとともに、電源基板101を介して前述した払出センサ34c、満タンセンサ35a、設定キースイッチ37、リセット/設定スイッチ38が接続されており、これら接続されたスイッチ類の検出信号が入力されるようになっている。また、遊技制御基板40には、前述したクレジット表示器11、遊技補助表示器12、1〜3BETLED14〜16、投入要求LED17、スタート有効LED18、ウェイト中LED19、リプレイ中LED20、BETスイッチ有効LED21、左、中、右停止有効LED22L、22C、22R、設定値表示器24、流路切替ソレノイド30、リールモータ32L、32C、32Rが接続されているとともに、電源基板101を介して前述したホッパーモータ34bが接続されており、これら電気部品は、遊技制御基板40に搭載されたメイン制御部41の制御に基づいて駆動されるようになっている。
On the
遊技制御基板40には、メインCPU41a、ROM41b、RAM41c、I/Oポート41dを備えたマイクロコンピュータにより構成され、内部抽選用の乱数を生成する乱数回路等を備えており、遊技の進行に関する処理を行うとともに遊技制御基板40に搭載された制御回路の各部を直接的または間接的に制御するメイン制御部41と、遊技制御基板40に直接または電源基板101を介して接続されたスイッチ類から入力された検出信号を取り込んでメイン制御部41に伝送するスイッチ検出回路44と、メイン制御部41から出力されたモータ駆動信号(ステッピングモータの位相信号)をリールモータ32L、32C、32Rに伝送するモータ駆動回路45と、メイン制御部41から出力されたソレノイド駆動信号を流路切替ソレノイド30に伝送するソレノイド駆動回路46と、メイン制御部41から出力されたLED駆動信号を遊技制御基板40に接続された各種表示器やLEDに伝送するLED駆動回路47と、スロットマシン1に供給される電源の電圧を監視して電圧の低下を検出したときに、その旨を示す電圧低下信号をメイン制御部41に対して出力する電断検出回路48と、電源投入時または電源遮断時等の電力供給が不安定な状態においてメイン制御部41にシステムリセット信号を与えるリセット回路49と、が搭載されている。
The
メイン制御部41は、メインCPU41aが演算を行うために用いられる複数のレジスタを備える。当該複数のレジスタには、アキュムレータレジスタ、フラグレジスタ、汎用レジスタ、インデックスレジスタ、インタラプトレジスタ、リフレッシュレジスタ、プログラムカウンタなどのレジスタが含まれる。また、これらのレジスタのうちアキュムレータレジスタ、フラグレジスタ、汎用レジスタには、それぞれ対になるように構成された表レジスタ及び裏レジスタが含まれる(以下、表レジスタ及び裏レジスタを単にレジスタと呼ぶ場合がある)。メインCPU41aは、プログラムに含まれる演算命令や読出命令等の各種の命令を実行することにより、所定のレジスタの値を更新することや、所定のレジスタの値(アドレス)により指定されるRAM41cの記憶領域に記憶した値(データ)を更新することが可能である。
The
メイン制御部41が備えるレジスタのうちフラグレジスタは、その状態が、メインCPU41aにより実行された命令による演算結果を示すように変化するように構成されており、フラグレジスタの状態の変化を利用して、先の命令による演算結果に応じた処理をメインCPU41aに行わせることができるようになっている。
Of the registers included in the
また、フラグレジスタは、複数のビット(本実施例では、8ビット)で構成されており、複数のビットには、メインCPU41aの処理の負担を減らすために、メインCPU41aが実行する演算命令の演算結果に応じて状態が変化するが、特定命令(例えば、読出命令LD(以下、LD命令と呼ぶ場合がある)等)では状態が変化しないように構成された第1ビット(以下、第1ゼロフラグZと呼ぶ場合がある。)や、演算命令の演算結果に応じて状態が変化し、特定命令でも状態が変化するように構成された第2ビット(以下、第2ゼロフラグTZと呼ぶ場合がある)などが含まれる。尚、後述する遊技プログラムに含まれる各処理では、命令に基づいて処理を進行させる際に、フラグレジスタに含まれる第2ゼロフラグ以外のビットの値を参照して判定等を行うようになっており、第2ゼロフラグのビットの値については参照して判定等を行うことがないようになっている。
The flag register is composed of a plurality of bits (8 bits in this embodiment), and the plurality of bits include an arithmetic instruction executed by the
また、メイン制御部41は、サブ制御部91に各種のコマンドを送信する。メイン制御部41からサブ制御部91へ送信されるコマンドは一方向のみで送られ、サブ制御部91からメイン制御部41へ向けてコマンドが送られることはない。
In addition, the
また、I/Oポート41dは、出力ポート0〜9を含み、メイン制御部41は、出力ポート0及び出力ポート1よりリールモータ32L、32C、32Rの制御信号を出力可能であり、出力ポート2より左・中・右停止有効LED22L、22C、22Rの制御信号、流路切替ソレノイド30の制御信号を出力可能であり、出力ポート3よりホッパーモータ34bの制御信号、外部出力信号を出力可能であり、出力ポート4及び出力ポート5よりクレジット表示器11、遊技補助表示器12、1〜3BETLED14〜16、投入要求LED17、スタート有効LED18、ウェイト中LED19、リプレイ中LED20、BETスイッチ有効LED21の制御信号を出力可能であり、出力ポート6より試験信号を出力可能であり、出力ポート7より外部出力信号を出力可能であり、出力ポート8及び出力ポート9よりコマンドを出力可能である。
The I /
メイン制御部41は、メイン処理として遊技制御基板40に接続された各種スイッチ類の検出状態が変化するまでは制御状態に応じた処理を繰り返しループし、各種スイッチ類の検出状態の変化に応じて段階的に移行する処理を実行する。また、メイン制御部41は、一定時間間隔(本実施例では、約0.56ミリ秒)毎にタイマ割込み処理(メイン)を実行する。尚、タイマ割込み処理(メイン)の実行間隔は、メイン処理において制御状態に応じて繰り返す処理が一巡する時間とタイマ割込み処理(メイン)の実行時間とを合わせた時間よりも長い時間に設定されており、今回と次回のタイマ割込み処理(メイン)との間で必ず制御状態に応じて繰り返す処理が最低でも一巡することとなる。
The
演出制御基板90には、演出用スイッチ56が接続されており、この演出用スイッチ56の検出信号が入力されるようになっている。また、液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55等の演出装置が接続されており、これら演出装置は、演出制御基板90に搭載されたサブ制御部91による制御に基づいて駆動されるようになっている。尚、本実施例では、演出制御基板90に搭載されたサブ制御部91により、液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55等の演出装置の出力制御が行われる構成であるが、サブ制御部91とは別に演出装置の出力制御を直接的に行う出力制御部を演出制御基板90または他の基板に搭載し、サブ制御部91がメイン制御部41からのコマンドに基づいて演出装置の出力パターンを決定し、サブ制御部91が決定した出力パターンに基づいて出力制御部が演出装置の出力制御を行う構成としても良く、このような構成では、サブ制御部91及び出力制御部の双方によって演出装置の出力制御が行われることとなる。また、本実施例では、演出装置として液晶表示器51、演出効果LED52、スピーカ53、54、リールLED55を例示しているが、演出装置は、これらに限られず、例えば、機械的に駆動する表示装置や機械的に駆動する役モノなどを演出装置として適用しても良い。
An
演出制御基板90は、サブCPU91a、ROM91b、RAM91c、I/Oポート91dを備えたマイクロコンピュータにより構成されて演出の制御を行うサブ制御部91と、演出制御基板90に接続された液晶表示器51の表示制御を行う表示制御回路92と、演出効果LED52と、リールLED55の駆動制御を行うLED駆動回路93と、スピーカ53、54からの音声出力制御を行う音声出力回路94と、電源投入時またはサブCPU91aからの初期化命令が一定時間入力されないときにサブCPU91aにリセット信号を与えるリセット回路95と、演出制御基板90に接続されたスイッチ類から入力された検出信号を検出するスイッチ検出回路96と、日付情報及び時刻情報を含む時間情報を出力する時計装置97と、スロットマシン1に供給される電源電圧を監視し、電圧低下を検出したときに、その旨を示す電圧低下信号をサブCPU91aに対して出力する電断検出回路98と、その他の回路等、が搭載されている。
The
サブ制御部91は、遊技制御基板40から送信されるコマンドを受けて、演出を行うための各種の制御を行うとともに、演出制御基板90に搭載された制御回路の各部を直接的または間接的に制御する。
In response to the command transmitted from the
本実施例のスロットマシン1は、設定値に応じてメダルの払出率が変わる構成である。詳しくは、内部抽選等の遊技者に対する有利度に影響する抽選において設定値に応じた当選確率を用いることにより、メダルの払出率が変わるようになっている。設定値は1〜6の6段階からなり、6が最も払出率が高く、5、4、3、2、1の順に値が小さくなるほど払出率が低くなる。すなわち設定値として6が設定されている場合には、遊技者にとって最も有利度が高く、5、4、3、2、1の順に値が小さくなるほど有利度が段階的に低くなる。
The
設定値を変更するためには、設定キースイッチ37をon状態としてからスロットマシン1の電源をonする必要がある。設定キースイッチ37をon状態として電源をonすると、設定値表示器24にRAM41cから読み出された設定値が表示値として表示され、リセット/設定スイッチ38の操作による設定値の変更が可能な設定変更状態に移行する。設定変更状態において、リセット/設定スイッチ38が操作されると、設定値表示器24に表示された表示値が1ずつ更新されていく(設定値6からさらに操作されたときは、設定値1に戻る)。そして、スタートスイッチ7が操作されると表示値を設定値として確定する。そして、設定キースイッチ37がoffされると、確定した表示値(設定値)がメイン制御部41のRAM41cに格納され、遊技の進行が可能な状態に移行する。
In order to change the setting value, it is necessary to turn on the power of the
本実施例のスロットマシン1は、遊技状態に応じて設定可能な賭数の規定数が定められており、遊技状態に応じて定められた規定数の賭数が設定されたことを条件にゲームを開始させることが可能となる。尚、本実施例では、遊技状態に応じた規定数の賭数が設定された時点で、入賞ラインLNが有効化される。
In the
そして、本実施例では、全てのリール2L、2C、2Rが停止した際に、有効化された入賞ライン(本実施例の場合、常に入賞ラインLNが有効化されるため、以下では、有効化された入賞ラインLNを単に入賞ラインという)上に役と呼ばれる図柄の組合せが揃うと入賞となる。役は、同一図柄の組合せであっても良いし、異なる図柄を含む組合せであっても良い。
In this embodiment, when all the
入賞となる役の種類は、遊技状態に応じて定められているが、大きく分けて、メダルの払い出しを伴う小役と、賭数の設定を必要とせずに次のゲームを開始可能となる再遊技役と、遊技者にとって有利な遊技状態への移行を伴う特別役と、がある。以下では、小役と再遊技役をまとめて一般役とも呼ぶ。遊技状態に応じて定められた各役の入賞が発生するためには、内部抽選に当選して、当該役の当選フラグがRAM41cに設定されている必要がある。内部抽選は、メイン制御部41が、上記した各役への入賞を許容するか否かを、全てのリール2L、2C、2Rの表示結果が導出される以前(具体的には、スタートスイッチ7の検出時)に乱数を用いて決定するものである。尚、これら各役の当選フラグのうち、小役及び再遊技役の当選フラグは、当該フラグが設定されたゲームにおいてのみ有効とされ、次のゲームでは無効となるが、特別役の当選フラグは、当該フラグにより許容された役の組合せが揃うまで有効とされ、許容された役の組合せが揃ったゲームにおいて無効となる。すなわち特別役の当選フラグが一度当選すると、例え、当該フラグにより許容された役の組合せを揃えることができなかった場合にも、その当選フラグは無効とされずに、次のゲームへ持ち越されることとなる。
The type of winning combination is determined according to the game state, but it can be roughly divided into a small role with payout of medals and a replay that can start the next game without the need to set the number of bets. There are a game combination and a special combination with a transition to a game state advantageous to the player. Below, a small role and a re-playing role are collectively called a general role. In order to win each winning combination determined according to the gaming state, it is necessary to win the internal lottery and set the winning flag of the winning combination in the
また、内部抽選では、特別役と重複して当選する一般役(以下、重複当選役と呼ぶ)が設けられており、内部抽選にて当該重複当選役が当選した場合には、特別役も重複して当選し得るようになっており、当該重複当選役を構成する図柄組合せがリール2L、2C、2Rに停止することで、特別役が当選している可能性がある旨が示唆されるようになっている。
In addition, in the internal lottery, there is a general role (hereinafter referred to as a duplicate winning role) that is elected in duplicate with the special role. If the duplicate winning role is won in the internal lottery, the special role is also duplicated. The combination of symbols constituting the duplicate winning combination is stopped on the
また、内部抽選では、予め定められた所定の停止順で停止操作が行われる場合にのみ当該役を構成する図柄を入賞ラインLNに揃えて停止させ、入賞を発生させることが可能な小役、再遊技役(以下押し順役と呼ぶ場合がある)と、停止順によらず役を構成する図柄を入賞ラインLNに揃えて停止させ、入賞を発生させることが可能な小役、再遊技役(非押し順役と呼ぶ場合がある)とが当選し得るようになっている。 In addition, in the internal lottery, a small combination that can generate a winning by stopping the symbols constituting the winning combination on the winning line LN only when the stopping operation is performed in a predetermined predetermined stopping order, A re-playing role (which may be referred to as a push order) and a small role or re-playing role that can cause a winning to occur by aligning the symbols constituting the role to the winning line LN regardless of the stopping order, Can be won).
また、内部抽選では、当選し得る役として、通常の役とは異なる特殊役(特殊小役または特殊再遊技役)が含まれており、内部抽選にて特殊役が当選することで、規定のゲーム数にわたり後述のアシストタイム(以下、ATという)に制御される権利(以下、ATの権利という)が当選し得るようになっている。 In addition, in the internal lottery, special roles (special small roles or special replaying roles) that are different from the normal roles are included as the roles that can be won. A right (hereinafter referred to as AT right) controlled by an assist time (hereinafter referred to as AT) described later can be won over the number of games.
本実施例のスロットマシン1は、メイン制御部41により、内部抽選結果に応じて遊技者にとって有利となるストップスイッチ8L、8C、8Rの操作態様を遊技補助表示器12の点灯態様により報知するナビ報知を実行可能な報知期間となるアシストタイム(以下、ATという)に制御可能となっており、ATに制御される権利が当選し、所定の開始条件(例えば、ATの権利の当選後、所定のゲーム数が経過すること、ATの権利の当選後、所定の図柄組合せがリール2L、2C、2Rに停止すること等)が成立することで、メイン制御部41はATの制御を開始して、ATに制御する。そして、ATに制御している場合には、遊技状態に応じたナビ対象役(前述の押し順役のうち該当する役)に当選することにより、ナビ報知を実行して、遊技者にとって有利となるストップスイッチ8L、8C、8Rの操作態様(押し順、操作タイミング)を報知するとともに、遊技者にとって有利となる操作態様を特定可能なコマンドをサブ制御部91に対して送信することで、液晶表示器51等を用いたナビ演出を実行させる。ナビ報知及びナビ演出により報知される操作態様にて、ストップスイッチ8L、8C、8Rを操作することで、内部抽選にて当選した押し順役を確実に入賞させることができるようになっている。尚、本実施例においてメイン制御部41は、ATに制御していない通常状態であっても、一定の条件を満たすことにより、ナビ報知を実行し、ナビ演出を実行させることが可能である。
In the
次に、メイン制御部41が行うリール2L、2C、2Rの停止制御について説明する。メイン制御部41は、リールの回転が開始したとき、及びリールが停止し、かつ未だ回転中のリールが残っているときに、当選番号及びROM41bに格納されているテーブルインデックス、テーブル作成用データを参照して、回転中のリール別に停止制御テーブルを作成する。そして、ストップスイッチ8L、8C、8Rのうち、回転中のリールに対応するいずれかの操作が有効に検出されたときに、該当するリールの停止制御テーブルを参照し、参照した停止制御テーブルの滑りコマ数に基づいて、操作されたストップスイッチ8L、8C、8Rに対応するリール2L、2C、2Rの回転を停止させる制御を行う。
Next, the stop control of the
本実施例では、滑りコマ数として0〜4の値が定められており、停止操作を検出してから最大4図柄を引き込んでリールを停止させることが可能である。すなわち停止操作を検出した停止操作位置を含め、最大5コマの範囲から図柄の停止位置を指定できるようになっている。また、1図柄分リールを移動させるのに1コマの移動が必要であるので、停止操作を検出してから最大4図柄を引き込んでリールを停止させることが可能であり、停止操作を検出した停止操作位置を含め、最大5図柄の範囲から図柄の停止位置を指定できることとなる。 In this embodiment, a value of 0 to 4 is determined as the number of sliding symbols, and it is possible to stop the reel by drawing in a maximum of 4 symbols after detecting a stop operation. In other words, the stop position of the symbol can be designated from a range of a maximum of 5 frames including the stop operation position where the stop operation is detected. In addition, since it is necessary to move one frame to move the reel for one symbol, it is possible to stop the reel by pulling in a maximum of four symbols after detecting the stop operation. The symbol stop position can be designated from a range of up to five symbols including the operation position.
本実施例では、いずれかの役に当選している場合には、停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で当選している役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、最大4コマの引込範囲で揃えずに停止させる制御が行われることとなる。 In this embodiment, if any of the winning combinations is won, when the stop operation is performed, the winning combination can be stopped on the winning line within a drawing range of up to four frames. If possible, control is performed to align and stop, and the winning combination that has not been won is controlled to be stopped without being aligned in the drawing range of a maximum of 4 frames.
特別役が前ゲーム以前から持ち越されている状態で小役が当選した場合など、特別役と小役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で当選している小役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、入賞ライン上に最大4コマの引込範囲で当選している小役を引き込めない場合には、入賞ライン上に最大4コマの引込範囲で当選している特別役を揃えて停止させることができれば、これを揃えて停止させる制御が行われ、当選していない役は、4コマの引込範囲で揃えずに停止させる制御が行われることとなる。すなわちこのような場合には、特別役よりも小役を入賞ライン上に揃える制御が優先され、小役を引き込めない場合にのみ、特別役を入賞させることが可能となる。尚、特別役と小役を同時に引き込める場合には、小役のみを引き込み、特別役と同時に小役が入賞ライン上に揃わないようになる。また、特別役と小役が同時に当選している場合に、小役よりも特別役を入賞ライン上に揃える制御が優先され、特別役を引き込めない場合にのみ、小役を入賞ライン上に揃える制御を行っても良い。 When a special role and a small role are elected at the same time, such as when a special role is elected while the special role has been carried over from before the previous game, the maximum on the winning line when the stop operation is performed If it is possible to align and stop the winning roles in the 4-frame pull-in range, control will be performed to align them and stop them, and the winning roles will be selected on the winning line within the maximum 4-frame pull-in range. If it is not possible to withdraw, if a special role that has been elected within the draw range of up to 4 frames can be aligned and stopped on the winning line, it will be controlled and stopped. Control to stop without aligning in the drawing range of 4 frames will be performed. That is, in such a case, priority is given to the control for aligning the small combination on the winning line over the special combination, and the special combination can be won only when the small combination cannot be drawn. In the case where a special combination and a small combination can be withdrawn at the same time, only the small combination is drawn, and the small combination is not aligned on the winning line at the same time as the special combination. Also, when a special role and a small role are elected at the same time, priority is given to the control of aligning the special role on the winning line over the small role, and only when the special role cannot be drawn, the small role is placed on the winning line. You may perform control to align.
また、本実施例では、特別役が前ゲーム以前から持ち越されている状態で再遊技役が当選した場合など、特別役と再遊技役が同時に当選している場合には、停止操作が行われた際に、入賞ライン上に最大4コマの引込範囲で再遊技役の図柄を揃えて停止させる制御を行う。尚、この場合、再遊技役を構成する図柄または同時当選する再遊技役を構成する図柄は、リール2L、2C、2Rのいずれについても5図柄以内、すなわち4コマ以内の間隔で配置されており、4コマの引込範囲で必ず任意の位置に停止させることができるので、特別役と再遊技役が同時に当選している場合には、遊技者によるストップスイッチ8L、8C、8Rの操作タイミングに関わらずに、必ず再遊技役が揃って入賞することとなる。すなわちこのような場合には、特別役よりも再遊技役を入賞ライン上に揃える制御が優先され、必ず再遊技役が入賞することとなる。尚、特別役と再遊技役を同時に引き込める場合には、再遊技役のみを引き込み、再遊技役と同時に特別役が入賞ライン上に揃わないようになる。
Also, in this embodiment, when the special role and the replaying role are won at the same time, such as when the replaying role is won while the special role has been carried over from before the previous game, the stop operation is performed. In this case, the control is performed so that the symbols of the re-gamer are aligned and stopped on the winning line within a drawing range of up to 4 frames. In this case, the symbols constituting the re-gamer or the symbols constituting the re-gamer to be simultaneously elected are arranged at intervals of 5 symbols or less, that is, within 4 frames, for any of the
尚、本実施例では、停止操作が行われたタイミング別の滑りコマ数を特定可能な停止制御テーブルを用いてリールの停止制御を行う構成であるが、停止可能な位置を特定可能な停止位置テーブルから停止位置を特定し、特定した停止位置にリールを停止させる停止制御を行う構成、停止制御テーブルや停止位置テーブルを用いずに、停止操作がされたタイミングで停止可能な停止位置を検索・特定し、特定した停止位置にリールを停止させる停止制御を行う構成、停止制御テーブルを用いた停止制御、停止位置テーブルを用いた停止制御、停止制御テーブルや停止位置テーブルを用いずに停止可能な停止位置を検索・特定することによる停止制御を併用する構成、停止制御テーブルや停止位置テーブルを一部変更して停止制御を行う構成としても良い。 In this embodiment, the reel stop control is performed by using a stop control table that can specify the number of sliding frames for each timing at which the stop operation is performed. A configuration that performs stop control by specifying the stop position from the table and stopping the reel at the specified stop position, and searching for a stop position that can be stopped when the stop operation is performed without using the stop control table or the stop position table. A configuration that performs stop control that identifies and stops the reel at the specified stop position, stop control using the stop control table, stop control using the stop position table, and can be stopped without using the stop control table or the stop position table A configuration that uses stop control by searching and specifying the stop position together, and a configuration that performs stop control by partially changing the stop control table and stop position table. It may be.
[メダルセレクタについて]
前面扉1bの内側に配置されたメダルセレクタ29の構造について、図4〜図6に基づいて説明する。尚、以下の説明において、前面扉1bの裏面側からメダルセレクタ29を見た状態を、メダルセレクタ29の前面側として説明する。
[About medal selector]
The structure of the
メダルセレクタ29は、図4及び図5に示すように直方体形状に構成されており、当該メダルセレクタ29の本体部の上側壁には、当該本体部の内部へメダルが流入可能な流入口141が設けられ、本体部の左側壁には、当該本体部の内部からホッパータンク34a側の外部へメダルが流出可能な流出口142が設けられ、本体部の下側壁には、当該本体部の内部からメダル払出口9側の外部へメダルを排出可能な排出口143が設けられている。そして、メダルセレクタ29の本体部の内部には、流入口141から流出口142に連通する正面視略L字状のメダル流下流路が形成されている。このメダル流下流路の側壁は、図4(b)及び図5(b)に示すように、流下するメダルの上端が下端よりも前方側に傾く姿勢となるように下方から上方にかけて前面側に傾斜している。また、流入口141から排出口143に連通する正面視略S字状のメダル流下流路が形成されている。以下、メダルセレクタ29の本体部の内部のメダル流下流路のうち流入口141側の流路をメダル流入流路29a、流出口142側の流路をメダル受入流路29b、排出口143側の流路をメダル返却流路29cと呼ぶ。
The
メダルセレクタ29では、投入されたメダルの真偽(形状、大きさ、厚み等)が判別されるようになっており、真正なメダルは、流入口141から流入した後、メダルセレクタ29の本体部内部のメダル流入流路29a及びメダル受入流路29bを流下して、投入メダルセンサ31a〜31cの検出範囲Aを通過することで、投入メダルセンサ31a〜31cにて検出された後、流出口142から流出される。そして、当該メダルは、メダルシュート142a(図2参照)を介して、ホッパータンク34aに導かれるようになっている。一方、偽メダルは、流入口141から流入した後、メダル流入流路29aの流下中にメダル返却流路29cへ落下させられて、当該メダル返却流路29cを流下し、排出口143から流出される。そして、当該メダルは、メダルセレクタ29の下方に設けられたメダル返却通路(図示略)を介してメダル払出口9(図1参照)から下皿に返却されるようになっている。
In the
また、メダル流入流路29a、メダル受入流路29b、メダル返却流路29cの合流部分には、メダルセレクタ29の本体部の前面側に設けられる流路切替ソレノイド30(図3参照)の励磁に連係して、メダル流入流路29aを流下するメダルがメダル受入流路29bへ流入する前に、当該メダルをメダル流入流路29aから下方に向けて強制的に落下させて、当該メダルをメダル返却流路29cに流入させるための流路切替板147が揺動自在に設けられている。
Further, at the junction of the
流路切替板147は、流路切替ソレノイド30が励磁されていない状態、すなわちメダルの受付が許可されていない状態において、図4(a)(b)に示すように、メダル流入流路29aの下方側が開放状態となり、メダル流入流路29aとメダル返却流路29cが連通した状態となるように搖動可能である。また、流路切替ソレノイド30が励磁されている状態、すなわちメダルの受付が許可されている状態において、図5(a)(b)に示すように、流路切替板147の上部が図中左方向(矢印A方向)に揺動することで、流路切替板147の上端面がメダル流入流路29aの底面を構成する状態となり、メダル流入流路29aの下方側を閉鎖状態として、メダル流入流路29aとメダル返却流路29cが連通しない状態となるように搖動可能に構成されている。このような構成により、流路切替ソレノイド30が励磁されている状態では、流入口141から流入してメダル流入流路29aを流下するメダルは流路切替板147の上端面に沿って流下し、メダル受入流路29bに流入して流出口142から流出されるようになっている。
As shown in FIGS. 4 (a) and 4 (b), the flow
また、メダル流入流路29aの上流側には、流入口141から流入したメダルの通過を検出する投入口センサ26が設けられており、メダル受入流路29bの下流側には、流出口142に排出されるメダルの通過を検出する投入メダルセンサ31a〜31cが設けられている。
Further, an
投入メダルセンサ31a〜31cのうち投入メダルセンサ31a及び31cは、投光部と受光部の間をメダルが通過することにより受光部が投光部からの光の遮断を検知することでメダルの通過を検出するフォトセンサであり、投入メダルセンサ31bは、メダルの通過に連動して動作する可動片180の動作を検知器183により検知することでメダルの通過を検出する物理センサである。尚、以下、投入メダルセンサ31aを投入メダルセンサ1、投入メダルセンサ31bを投入メダルセンサ2、投入メダルセンサ31cを投入メダルセンサ3と呼ぶ場合がある。また、投入メダルセンサ31a〜31cによりメダルの通過が検出される範囲を検出範囲Aと呼ぶ場合がある。
Of the inserted
次に、物理センサである投入メダルセンサ31bの構成について、図4〜図6に基づいて説明する。図6(a)(b)は、図4(a)のC−C断面図のうち投入メダルセンサ31bの周辺を示す図であり、図6(a)は、投入メダルセンサ31a〜31cの検出範囲Aをメダルが通過していないときの図であり、図6(b)は、投入メダルセンサ31a〜31cの検出範囲Aをメダルが通過しているときの図である。
Next, the configuration of the inserted
図4(a)、図5(a)、図6(a)(b)に示すように、メダルセレクタ29におけるメダル受入流路29bの下流側の下方部分の側壁に、投入メダルセンサ31bの可動片180が、メダル受入流路29bに出没可能に設けられている。また、図6(a)(b)に示すように、メダル受入流路29bの外部における可動片180に対応する位置に、検知器183が設置されている。検知器183は、検知部183aに投光部と受光部が設けられている。
As shown in FIGS. 4 (a), 5 (a), 6 (a) and 6 (b), the inserted
そして、図6(a)に示すように、可動片180は、メダル受入流路29bをメダルが通過する際に、メダルが可動片180の先端部180bをメダル受入流路29b内から退けることにより、可動片180の端部に設けられた被検知部180aを、検知部183aの投光部と受光部の間に進入させるようになっており、投光部から受光部へ照射される光が遮断されて、検知器183によりメダルの通過が検出されるようになっている。一方、図6(b)に示すように、可動片180は、メダル受入流路29bをメダルが通過していない状態では、当該可動片180の先端部180bがメダル受入流路29b内に突出するように付勢されている。この状態では、可動片180の被検知部180aが検知部183aの投光部と受光部の間に進入せず、検知部183aの投光部から受光部に照射される光を遮断することがないので、検知器183によりメダルの通過が検出されないようになっている。
As shown in FIG. 6A, when the medal passes through the medal receiving
[メイン制御部のメモリ領域とプログラムについて]
図7は、メイン制御部41が用いるメモリ領域のアドレスマップである。図7に示すように、メイン制御部41が用いるメモリ領域は、ROM41bに割り当てられたメモリ領域(0000H〜7FFFH)と、RAM41cに割り当てられたメモリ領域(F000H〜FFFFH)と、を含む。
[About the memory area and program of the main control unit]
FIG. 7 is an address map of the memory area used by the
ROM41bのメモリ領域は、プログラム及び固定データが格納されるプログラム/データ領域(0000H〜26FFH)と、プログラムのタイトル、バージョン等の任意のデータを設定可能なROMコメント領域(2700H〜277FH)と、後述するCALLV命令のサブルーチンの上位アドレス及びタイマ割込み処理(メイン)の先頭アドレスが設定されるベクタテーブル領域(2780H〜27A7H)と、メイン制御部41の内部機能をハードウェア的に設定するためのパラメータが設定されるHWパラメータ領域(27A8H〜27FFH)と、アクセスが禁止される未使用領域(2800H〜7FFFH)を含む。
The memory area of the
ROM41bにおけるHWパラメータ領域に設定されるパラメータは、プログラム/データ領域で使用するROM領域の最終アドレス(HPRGEND)、アクセス禁止するRAM領域の開始アドレス(HRAMSTAT)及び最終アドレス(HRAMEND)を含む。
The parameters set in the HW parameter area in the
RAM41cのメモリ領域は、ワークとして使用可能な使用可能領域(F000H〜F400H)と、メイン制御部41に搭載されている各機能を制御するためのレジスタ群が格納される内部機能レジスタ領域(F4B0H〜F6FFH)と、アクセスが禁止される未使用領域(F401H〜F4AFH、F700H〜FFFFH)と、を含む。
The memory area of the
図8は、メイン制御部41のROM41bにおけるプログラム/データ領域及びRAM41cにおける使用可能領域のアドレスマップである。
FIG. 8 is an address map of the program / data area in the
図8(a)に示すように、ROM41bにおけるプログラム/データ領域は、遊技の進行に係わる遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムが用いる遊技データが記憶される遊技データ領域と、未使用領域1と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、非遊技プログラムが用いる非遊技データが記憶される非遊技データ領域と、未使用領域2と、を含む。
As shown in FIG. 8A, the program / data area in the
尚、遊技の進行とは、遊技を構成する一連のプロセスを進行させることであり、スロットマシンであれば、賭数を設定してゲームを開始可能とする段階、ゲームを開始してリールを回転させる段階、リールを停止させて表示結果を導出させる段階、表示結果に応じてメダル等の価値を付与する段階、を進行させることである。 The progress of the game is to advance a series of processes constituting the game. In the case of a slot machine, the stage where the game can be started by setting the number of bets is started and the reel is rotated. A step of stopping the reel, a step of deriving a display result, and a step of assigning a value such as a medal according to the display result.
遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、がそれぞれ別個に割り当てられているとともに、遊技プログラム領域及び非プログラム領域のうちROM41bの記憶領域において後方に割り当てられていた非プログラム領域の手前の領域は、少なくとも16バイト以上の未使用領域1が割り当てられているため、遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。
A game program area related to the progress of the game and a non-game program not related to the progress of the game are allocated separately, and are allocated backward in the storage area of the
また、遊技プログラム領域と遊技データ領域、非遊技プログラム領域と非遊技データ領域はそれぞれ連続する領域に割り当てられる一方、遊技の進行に係わる遊技プログラム領域及び遊技データ領域と、遊技の進行に係わらない非遊技プログラム及び非遊技データ領域と、が少なくとも16バイト以上の未使用領域1を挟んで連続しない領域に割り当てられているため、遊技の進行に係わる遊技プログラム領域及び遊技データ領域と、遊技の進行に係わらない非遊技プログラム及び非遊技データ領域と、を記憶領域の違いに応じて容易に特定することができる。
The game program area and the game data area, the non-game program area and the non-game data area are allocated to continuous areas, respectively, while the game program area and the game data area related to the progress of the game are not related to the progress of the game. Since the game program and the non-game data area are allocated to areas that are not continuous across the
尚、上記において記憶領域の前後とは、記憶領域に割り当てられたアドレス値の大小関係であり、アドレスが小さい方が前方となり、アドレスが大きい方が後方となる。このため、一の記憶領域よりも後方に割り当てられた記憶領域とは、一の記憶領域よりもアドレス値が大きい記憶領域が該当し、一の記憶領域よりも前方に割り当てられた記憶領域とは、一の記憶領域よりもアドレス値が小さい記憶領域が該当する。 In the above description, before and after the storage area is a magnitude relationship between the address values assigned to the storage area. The smaller address is the front and the larger address is the rear. For this reason, the storage area allocated behind the one storage area corresponds to the storage area having an address value larger than that of the one storage area, and the storage area allocated ahead of the one storage area. This corresponds to a storage area having an address value smaller than that of one storage area.
また、非遊技プログラム領域よりも後方に遊技プログラムが割り当てられ、非遊技プログラム領域よりも後方に割り当てられた遊技プログラムの手前に未使用領域が割り当てられた構成としても良く、このような構成においても遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。 Also, a configuration may be adopted in which a game program is allocated behind the non-game program area, and an unused area is allocated before the game program allocated behind the non-game program area. A game program area related to the progress of the game and a non-game program not related to the progress of the game can be easily specified according to the difference in the storage area.
また、遊技プログラム領域と、非遊技プログラム領域と、が未使用領域1を挟んで隣接する領域に割り当てられる構成としても良く、このような構成であっても、遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。
Further, the game program area and the non-game program area may be assigned to areas adjacent to each other with the
また、ROM41bのプログラム/データ領域の未使用領域1、2には、全ての領域に0値が格納されているため、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データと、未使用領域1、2と、を容易に区別することができるとともに、未使用領域1、2に不正なデータが格納されている場合でも容易に発見することができる。
In addition, in the
尚、ROM41bのプログラム/データ領域の未使用領域1、2における全ての領域に1が格納される構成としても良く、このような構成とした場合でも、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データと、未使用領域1、2と、を容易に区別することができるとともに、未使用領域1、2に不正なデータが格納されている場合でも容易に発見することができる。
It should be noted that 1 may be stored in all of the
また、遊技プログラム領域と、非遊技プログラム領域と、が別個の領域に割り当たられた構成であれば、遊技プログラム領域と、非遊技プログラム領域と、が隣接する領域にわら当てられる構成としても良く、このような構成であっても遊技の進行に係わる遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムと、を記憶領域の違いに応じて容易に特定することができる。 Further, as long as the game program area and the non-game program area are assigned to separate areas, the game program area and the non-game program area may be assigned to adjacent areas. Even with such a configuration, it is possible to easily identify a game program area related to the progress of the game and a non-game program not related to the progress of the game according to the difference in the storage areas.
また、遊技プログラム領域及び非遊技プログラム領域はいずれも、アドレスを2進数表記した場合に下位4桁の値が同じ0のアドレス(0H)から開始するようになっており、ROM41bのプログラム/データ領域のうち遊技の進行に係る遊技プログラム領域と、遊技の進行に係わらない非遊技プログラム領域と、を他の領域と容易に区別することができる。
The game program area and the non-game program area both start from an address (0H) having the same lower 4 digits when the address is expressed in binary, and the program / data area of the
また、遊技プログラム領域及び非遊技プログラム領域はいずれも、アドレスを2進数表記した場合に下位4桁の値が同じ0のアドレスから開始するだけでなく、16進数表記した場合に下位1桁の値が同じ0のアドレス(0H)から開始するので、アドレスを2進数表記した場合だけでなく、16進数表記した場合にも遊技プログラム領域と、非遊技プログラム領域と、を他の領域と容易に区別することができる。
In addition, both the game program area and the non-game program area not only start from an address having the same low-
尚、遊技プログラム領域及び非遊技プログラム領域がいずれも、アドレスを2進数表記したか、16進数表記したか、に関わらず、下位N(Nは1以上の自然数)桁が同じ値のアドレスから開始する構成であれば、遊技プログラム領域と、非遊技プログラム領域と、を他の領域と容易に区別することが可能であり、例えば、下位N(Nは1以上の自然数)桁の値が同じ1のアドレスから開始する構成でも同様の効果が得られるものである。 It should be noted that both the game program area and the non-game program area start from an address having the same value in the lower N (N is a natural number of 1 or more) regardless of whether the address is expressed in binary or hexadecimal. With this configuration, the game program area and the non-game program area can be easily distinguished from other areas. For example, the value of the lower N (N is a natural number of 1 or more) digits is the same 1 The same effect can be obtained with a configuration starting from the address.
図8(b)に示すように、RAM41cの使用可能領域は、遊技プログラムがワークとして用いる遊技RAM領域と、非遊技プログラムがワークとして用いる非遊技RAM領域と、未使用領域4と、を含んでおり、遊技RAM領域には、特別ワークと、重要ワークと、一般ワークと、未使用領域3と、遊技プログラムがデータを退避する遊技スタック領域と、が含まれ、非遊技RAM領域には、遊技プログラムが参照可能な領域と、遊技プログラムが参照不可能な領域と、非遊技プログラムがデータを退避する非遊技スタック領域と、が含まれる。尚、本実施例では、遊技スタック領域と非遊技スタック領域とをそれぞれ異なる領域に個別に備える構成であるが、遊技プログラム及び非遊技プログラムが共用する一のスタック領域を備える構成としても良い。
As shown in FIG. 8B, the usable area of the
未使用領域3は、遊技プログラム及び非遊技プログラムのいずれも使用しない領域であり、予め定められた容量の遊技RAM領域に対して余剰となった領域である。
The
また、未使用領域4は、遊技プログラム及び非遊技プログラムのいずれも使用しない16バイト以上の領域である。遊技RAM領域と、非遊技RAM領域とが、未使用領域4を挟んで連続しない領域に割り当てられているため、遊技の進行に係わる遊技プログラムが用いる遊技RAM領域と、遊技の進行に係わらない非遊技プログラムが用いる非遊技RAM領域と、を記憶領域の違いに応じて容易に特定することができる。
The
以下では、遊技プログラム領域、遊技データ領域及び遊技RAM領域をまとめて遊技領域と称す場合があり、非遊技プログラム領域、非遊技データ領域及び非遊技RAM領域をまとめて非遊技領域と称す場合がある。また、未使用領域1及び未使用領域2、未使用領域3及び未使用領域4をまとめて未使用領域と称す場合がある。
Hereinafter, the game program area, the game data area, and the game RAM area may be collectively referred to as a game area, and the non-game program area, the non-game data area, and the non-game RAM area may be collectively referred to as a non-game area. . Further, the
メイン制御部41は、HWパラメータ領域に設定されるパラメータに基づいて、ROM41bのプログラム/データ領域のうちアクセスが禁止された領域へのアクセスがあったとき、RAM41cの使用可能領域のうちアクセスが許可に設定されていない領域へのアクセスがあったとき、ROM41bのうちプログラム/データ領域以外の領域へのアクセスがあったとき、RAM41cのうち使用可能領域以外の領域へのアクセスがあったときに、すなわち正常な動作ではアクセスすることのないメモリ領域へのアクセスがあったときにイリーガルアクセスリセットを発生させることで、遊技の進行を不能化させるので、ROM41bの未使用領域や動作とは関係しない領域、RAM41cの未使用領域等に不正なプログラムが格納された場合であっても、不正なプログラムが実行されてしまうことを防止できる。
Based on the parameters set in the HW parameter area, the
特に本実施例では、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域の先頭アドレスから非遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域(遊技プログラム領域から非遊技データ領域までの領域)へのアクセスを一括して許可に設定する一方で、それ以外の領域、すなわちプログラム/データ領域のうち遊技プログラムや遊技データ、非遊技プログラム、非遊技データが格納されていない非遊技データよりも後の領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
In particular, in the present embodiment, a game program area and a non-game program area are allocated to the program / data area of the
また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち非遊技プログラム領域の先頭アドレスから遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域へのアクセスを一括して許可に設定する一方で、それ以外の領域へのアクセスが禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
In addition, a game area is allocated behind the non-game program area in the program / data area permitted to be accessed by the program in the
尚、プログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、プログラム/データ領域のうち遊技プログラム領域を含む一かたまりの領域(遊技プログラム領域から遊技データ領域までの領域)、非遊技プログラムを含む一かたまりの領域(非遊技プログラム領域から非遊技データ領域までの領域)へのアクセスをそれぞれ許可に設定し、他の領域へのアクセスを禁止する構成としても良く、このような構成とした場合でも、プログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、プログラム/データ領域のうち遊技プログラム領域を含む一かたまりの領域(遊技プログラム領域から遊技データ領域までの領域)、非遊技プログラムを含む一かたまりの領域(非遊技プログラム領域から非遊技データ領域までの領域)へのアクセスをそれぞれ許可に設定し、他の領域へのアクセスを禁止する構成としても良く、このような構成とした場合でも、プログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域へのアクセスが禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
A game program area and a non-game program area are allocated to the program / data area, an
また、上記では、プログラム/データ領域においてアクセスを許可する領域そのものを設定する構成であるが、プログラム/データ領域においてアクセスを禁止する領域を設定することで、間接的にアクセスを許可する領域が設定される構成としても良い。 In the above description, the area where access is permitted is set in the program / data area. However, by setting the area where access is prohibited in the program / data area, the area where access is indirectly permitted is set. It is good also as a structure to be performed.
メイン制御部41は、HWパラメータ領域に設定されるパラメータに基づいて、プログラム走行を許可する指定エリア以外の領域においてユーザプログラムが実行された場合、すなわち正常な動作ではユーザプログラムが実行されることのない領域でユーザプログラムが実行された場合に、IAT回路506aがIAT発生信号を出力することで、遊技の進行を不能化させるので、ROM41bの未使用領域や動作とは関係しない領域、RAM41cの未使用領域等に不正なプログラムが格納された場合であっても、不正なプログラムが実行されてしまうことを防止できる。
Based on the parameters set in the HW parameter area, the
特に本実施例では、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域、非遊技プログラム領域の各々について、IAT回路506aがプログラム走行を許可する指定エリアとして設定する一方で、それ以外の領域、すなわちプログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域でのプログラム走行が禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
In particular, in the present embodiment, a game program area and a non-game program area are allocated to the program / data area of the
また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域、非遊技プログラム領域の各々について、IAT回路506aがプログラム走行を許可する指定エリアとして設定する一方で、それ以外の領域でのプログラム走行が禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
In addition, a game area is allocated behind the non-game program area in the program / data area permitted to be accessed by the program in the
尚、プログラム/データ領域に遊技プログラム領域と、非遊技プログラム領域と、が割り当てられ、遊技プログラム領域よりも後方の非遊技プログラム領域の手前の領域に未使用領域1が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち遊技プログラム領域の先頭アドレスから非遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域(遊技プログラム領域から非遊技データ領域までの領域)について、IAT回路506aがプログラム走行を許可する指定エリアとして一括して設定し、他の領域でのプログラム走行が禁止される構成としても良く、このような構成とした場合でも、プログラム/データ領域のうち遊技プログラムや非遊技プログラムが格納されていない領域でのプログラム走行が禁止されるため、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。また、ROM41bのうちプログラムによってアクセスが許可されたプログラム/データ領域において非遊技プログラム領域よりも後方に遊技領域が割り当てられ、非遊技プログラム領域よりも後方の遊技プログラム領域の手前の領域に未使用領域が割り当てられるとともに、HWパラメータ領域に設定されるパラメータに基づいて、プログラム/データ領域のうち非遊技プログラム領域の先頭アドレスから遊技プログラムの最終アドレスまでの領域を含む一かたまりの領域(遊技プログラム領域から非遊技データ領域までの領域)について、IAT回路506aがプログラム走行を許可する指定エリアとして一括して設定し、他の領域でのプログラム走行が禁止されるようにしても、不正プログラムや不正データによる意図しない制御が行われてしまうことを防止できる。
A game program area and a non-game program area are allocated to the program / data area, an
また、上記では、プログラム/データ領域においてプログラム走行を許可する領域そのものを設定する構成であるが、プログラム/データ領域においてプログラム走行を禁止する領域を設定することで、間接的にプログラム走行を許可する領域が設定される構成としても良い。 In the above description, the program / data area is configured to set the area that permits the program travel. However, the program / data area allows the program travel to be indirectly permitted by setting the area that prohibits the program travel. It is good also as a structure by which an area | region is set.
[プログラムが用いる命令について]
メイン制御部41が実行するプログラムは、プログラム全体の進行を管理するメインルーチンと、他のプログラムの実行中に呼び出されるサブルーチンとを含む。
[Instructions used by the program]
The program executed by the
また、メイン制御部41にプログラム/データ領域に格納されたプログラムを呼び出して実行させる呼出命令として、CALL命令、CALLV命令、RST命令等を含む。
In addition, CALL instructions, CALLV instructions, RST instructions, and the like are included as calling instructions that cause the
CALL命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたサブルーチンを呼び出して実行させる命令である。メイン制御部41は、CALL命令によりサブルーチンを呼び出す場合には、呼び出し元のアドレスをスタック領域に格納し、指定されたアドレスに格納されたサブルーチンを呼び出して実行する。そして、当該サブルーチンの終了後、スタック領域に格納されている呼び出し元のアドレス、すなわちCALL命令を実行した呼び出し元のメインルーチンまたはサブルーチンのプログラムに復帰する。
The CALL instruction is an instruction for calling and executing a subroutine stored at an address designated in the main routine or the subroutine. When calling the subroutine by the CALL instruction, the
また、CALL命令は、通常のCALL命令と、特殊なCALL命令であるCALLV命令と、を含む。通常のCALL命令は、上位アドレス及び下位アドレスの双方を指定して指定された上位アドレス及び下位アドレスによりアドレスを特定してサブルーチンを呼び出す命令であるのに対して、CALLV命令は、下位アドレスのみを指定することで、ROM41bのベクタテーブル領域に予め設定された上位アドレス及び指定された下位アドレスによりアドレスを特定してサブルーチンを呼び出す命令であり、通常のCALL命令に比較して少ないデータ量でサブルーチンを呼び出すことが可能となる。
The CALL instruction includes a normal CALL instruction and a CALLV instruction which is a special CALL instruction. A normal CALL instruction is an instruction that specifies both an upper address and a lower address and specifies an address by the specified upper address and lower address to call a subroutine, whereas a CALLV instruction only receives a lower address. By specifying, this is an instruction for calling a subroutine by specifying an address based on an upper address preset in the vector table area of the
RST命令は、予め定められた複数の特定アドレスに対応する値を指定することで、指定された値に対応する特定アドレスに格納されたサブルーチンを呼び出して実行させる命令であり、上記した通常のCALL命令やCALLV命令に比較して少ないデータ量でサブルーチンを呼び出すことが可能となる。メイン制御部41は、RST命令によりサブルーチンを呼び出す場合には、呼び出し元のアドレスをスタック領域に格納し、指定された値に対応する特定アドレスに格納されたサブルーチンを呼び出して実行する。そして、当該サブルーチンの終了後、スタック領域に格納されている呼び出し元のアドレス、すなわちRST命令を実行した呼び出し元のメインルーチンまたはサブルーチンに復帰する。
The RST instruction is an instruction to call and execute a subroutine stored at a specific address corresponding to a specified value by specifying a value corresponding to a plurality of predetermined specific addresses. Subroutines can be called with a smaller amount of data than instructions and CALLV instructions. When calling the subroutine by the RST instruction, the
ジャンプ命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたプログラムに移動する命令である。メイン制御部41は、ジャンプ命令により指定されたアドレスに格納されたプログラムに移動し、移動先のプログラムを実行する。この場合には、CALL命令やRST命令と異なり、移動後のプログラムが終了しても移動元のプログラムに復帰することはない。
The jump instruction is an instruction to move to a program stored at an address specified in the main routine or subroutine. The
ROM41bに格納された遊技プログラムのうち特に使用頻度の高いサブルーチンは、ROM41bの遊技プログラム領域のうち先頭アドレスが特定値(例えば00H)となる領域に格納されている。一方、ROM41bのベクタテーブル領域には、CALLV命令で呼び出すサブルーチンの上位アドレスとして特定値が設定されている。そして、メイン制御部41は、先頭アドレスの上位アドレスが特定値となるサブルーチンを呼び出すときに、CALLV命令を用いて下位アドレスのみ指定することで、上位アドレスとしてベクタテーブル領域に設定された特定値を特定し、下位アドレスとして指定された下位アドレスを特定し、上位及び下位を合わせたアドレスに格納されたサブルーチンを呼び出して実行する。このため、遊技プログラムのうち特に使用頻度の高いサブルーチンを呼び出す際に用いるアドレスの一部を構成する上位アドレスが特定値として予めベクタテーブルに設定されており、ベクタテーブルに設定された特定値に基づいてアドレスが特定されるため、上位アドレス及び下位アドレスの双方を指定してプログラムを呼び出す通常のCALL命令に比較して少ないデータ量にてサブルーチンを呼び出すことが可能となり、これらのサブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
Among the game programs stored in the
本実施例では、CALLV命令により用いられるROM41bのベクタテーブル領域、及びRST命令により用いられるROM41bの特定アドレスの領域には、遊技プログラムのサブルーチンの先頭が格納されており、CALLV命令及びRST命令では通常のCALL命令に比較して少ないデータ量でサブルーチンを呼び出すことが可能であるため、遊技プログラムにおいてCALLV命令やRST命令を用いることで、当該遊技プログラムのデータ容量を削減することができるようになっている。また、ROM41bのベクタテーブル領域及び特定アドレスの領域には、遊技プログラムのサブルーチンの先頭が格納されており、非遊技プログラムの先頭が格納されないようになっており、CALLV命令及びRST命令により非遊技プログラムが呼び出されるようになってしまい、遊技プログラムのデータ容量の削減を阻害することがないようになっている。
In this embodiment, the beginning of the subroutine of the game program is stored in the vector table area of the
尚、ROM41bに格納された非遊技プログラムのうち特に使用頻度の高いサブルーチンを、ROM41bの非遊技プログラム領域のうち先頭アドレスが特定値となる領域に格納するとともに、ROM41bのベクタテーブル領域に、CALLV命令で呼び出すサブルーチンの上位アドレスとして特定値を設定し、メイン制御部41が先頭アドレスの上位アドレスが特定値となるサブルーチンを呼び出すときに、CALLV命令を用いて下位アドレスのみ指定することで、これらのサブルーチンを呼び出して実行する構成とした場合でも、上位アドレス及び下位アドレスの双方を指定してプログラムを呼び出す通常のCALL命令に比較して少ないデータ量にてサブルーチンを呼び出すことが可能となり、これらのサブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
Of the non-game programs stored in the
また、CALLV命令で呼び出す際に用いる上位アドレスを、ベクタテーブル領域ではなく、メイン制御部41の特定のレジスタに設定する構成としても良い。
In addition, the upper address used when calling with the CALLV instruction may be set in a specific register of the
また、CALLV命令に限らず、アドレスの一部が、ベクタテーブル領域に格納された値、特定のレジスタに設定された値等を用いて特定され、アドレスの残りの部分を指定することで、サブルーチンの格納アドレスが特定可能となる特殊なCALL命令を用いる構成であれば、サブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。また、ベクタテーブル領域を構成する複数の領域に、それぞれアドレスよりもデータ量の小さい識別値を割り当て、これら複数の領域にそれぞれサブルーチンの格納アドレスを設定するとともに、識別値を指定することで、識別値に対応する領域に格納されたサブルーチンの格納アドレスを特定可能となる特殊なCALL命令を用いる構成であっても、サブルーチンを呼び出す際にアドレスを指定するためのプログラムの無駄を削減することができる。 In addition to the CALLV instruction, a part of the address is specified by using a value stored in the vector table area, a value set in a specific register, etc. If a special CALL instruction that enables the storage address to be specified is used, it is possible to reduce the waste of a program for designating an address when calling a subroutine. In addition, identification values having a data amount smaller than the addresses are assigned to the plurality of areas constituting the vector table area, the storage addresses of the subroutines are set in the plurality of areas, and the identification values are designated, thereby identifying the areas. Even in a configuration using a special CALL instruction that makes it possible to specify a storage address of a subroutine stored in an area corresponding to a value, it is possible to reduce waste of a program for designating an address when calling the subroutine. .
メイン制御部41は、システムリセット信号の入力によるシステムリセット、WDT(ウォッチドックタイマ、図示略)によるWDTリセット、前述のイリーガルアクセスリセットが発生することで起動することとなるが、この際、ベクタテーブル領域に設定された値、すなわちCALLV命令のサブルーチンの上位アドレス及びタイマ割込み処理(メイン)の先頭アドレスが、プログラム領域のうちプログラム等が実際に格納された領域を示す値であるか、またはFFFFH(未使用のベクタテーブル領域に設定される値)であるか、を判定し、ベクタテーブル領域に設定された値がプログラムの設定される領域外を示す値でもなく、FFFFHでもない場合には、起動しないようになっており、割込の発生等により本来意図していない処理が実行されてしまうことを事前に防止できる。
The
メイン制御部41にプログラム/データ領域に格納されたデータを読み出させる読出命令としてLD命令を含む。LD命令は、メインルーチンまたはサブルーチンにおいて指定されたアドレスに格納されたデータを指定されたレジスタに読み出す命令である。メイン制御部41は、LD命令により指定されたアドレスに格納されたデータを読み出し、LD命令により指定されたレジスタに読み出したデータを格納する。
An LD command is included as a read command that causes the
また、LD命令は、通常のLD命令と、特殊なLD命令であるLDQ命令と、を含む。通常のLD命令は、上位アドレス及び下位アドレスの双方を指定して指定された上位アドレス及び下位アドレスによりROM41bまたはRAM41cの特定領域に格納されているデータを読み出す命令であるのに対して、LDQ命令は、下位アドレスのみを指定することで、前述のRAM41cの内部機能レジスタ領域における特別なレジスタ(Qレジスタ)に予め設定された上位アドレス及び指定された下位アドレスによりアドレスを特定してROM41bまたはRAM41cの特定領域に格納されているデータを読み出して指定されたレジスタに読み出したデータを格納する命令であり、通常のLD命令に比較して少ないデータ量で所定のデータを所定のレジスタに格納することが可能となる。
The LD instruction includes a normal LD instruction and an LDQ instruction which is a special LD instruction. The normal LD instruction is an instruction for reading out data stored in a specific area of the
メインルーチンまたはサブルーチンにおいてROM41b、RAM41cの特定領域に格納されているデータを読み出す場合に、特殊なLD命令であるLDQ命令を用いることで、特定領域を示す全てのアドレス(上位部分及び下位部分)を指定するのではなく、アドレスの下位部分のみを指定して特定領域のデータを読み出すことが可能である。LDQ命令を用いることで、上位アドレス及び下位アドレスの双方を指定してデータを読み出す通常のLD命令に比較して少ないデータ量にてデータを読み出すことが可能となり、データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
When reading data stored in specific areas of the
また、RAM41cの遊技RAM領域に格納された遊技データのうち特に使用頻度の高い遊技データを、遊技RAM領域のうち先頭アドレスが特定値となる領域に格納するとともに、当該特定値を特別なレジスタ(Qレジスタ)に遊技データの上位アドレスとして設定し、当該遊技データをメイン制御部41が読み出すときに、LDQ命令を用いて下位アドレスのみ指定することで、遊技データを読み出す構成とした場合に、上位アドレス及び下位アドレスの双方を指定してデータを読み出す通常のLD命令に比較して少ないデータ量にて遊技データを読み出すことが可能となり、これらの遊技データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。
In addition, among the game data stored in the game RAM area of the
また、メイン制御部41は、特別なレジスタ(Qレジスタ)に設定する値を、メインルーチンまたはサブルーチンにおいて変更することが可能であり、後述するように起動時において行う初期設定処理での内蔵レジスタの設定において、特別なレジスタ(Qレジスタ)に、特に遊技プログラムによる使用頻度の高い遊技データの先頭アドレスを示す特定値を設定するようになっている。また、遊技プログラムから非遊技プログラムを呼び出す際には、特別なレジスタ(Qレジスタ)に設定する値を退避し、遊技プログラムに復帰した際に、特別なレジスタ(Qレジスタ)に設定する値を退避していた値に再び設定するようになっている。これらにより、遊技プログラムが実行されているときには、遊技プログラムによる使用頻度の高い遊技データの先頭アドレスを示す特定値が特別なレジスタ(Qレジスタ)に設定されるようになっており、遊技プログラムは、LDQ命令を用いて使用頻度の高い遊技データを読み出すことができるようになっている。
The
尚、特殊なLD命令としてLDQ命令で読み出す際に用いる上位アドレスを、特別なレジスタ(例えば、Qレジスタ)以外の所定の記憶領域、例えば、ベクタテーブル領域に設定する構成としても良く、ベクタテーブル領域などの所定の記憶領域に格納された値を用いてアドレスの一部が特定され、アドレスの残りの部分をプログラムにより指定することで、データの格納アドレスが特定可能となる特殊なLD命令を用いる構成であれば、データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。また、例えば、ベクタテーブル領域を構成する複数の領域に、それぞれアドレスよりもデータ量の小さい識別値を割り当て、これら複数の領域にそれぞれデータの格納アドレスを設定するとともに、識別値を指定することで、識別値に対応する領域に格納されたデータの格納アドレスを特定可能となる特殊なLD命令を用いる構成であっても、データを読み出す際にアドレスを指定するためのプログラムの無駄を削減することができる。 The upper address used when reading with the LDQ instruction as a special LD instruction may be set in a predetermined storage area other than a special register (for example, Q register), for example, a vector table area. A special LD instruction is used in which a part of an address is specified using a value stored in a predetermined storage area, and the data storage address can be specified by specifying the remaining part of the address by a program. If it is a structure, the waste of the program for designating an address when reading data can be reduced. In addition, for example, by assigning identification values having a data amount smaller than addresses to a plurality of areas constituting the vector table area, setting data storage addresses in the plurality of areas, and specifying the identification values, respectively. Even if the configuration uses a special LD instruction that makes it possible to specify the storage address of data stored in the area corresponding to the identification value, it is possible to reduce the waste of the program for specifying the address when reading the data Can do.
また、本実施例では、Qレジスタに特定値として、特定プログラムにおいて用いられる値と同一の値を記憶させる構成であるが、特定プログラムにおいて用いられる値と異なる値を記憶させる構成としても良い。例えば、非特プログラムが呼び出される際に、Qレジスタに特定値として特定プログラムにおいて用いられる値と異なる値であって、非遊技プログラムにおける使用頻度の高いデータの記憶されている記憶領域の先頭アドレスの値を記憶させ、非特定プログラムにおいてデータを呼び出す際にLDQ命令を用いることで、非特定プログラムのデータ容量を削減することができる。 In this embodiment, the Q register is configured to store the same value as the value used in the specific program as the specific value, but may be configured to store a value different from the value used in the specific program. For example, when a non-special program is called, a value different from a value used in the specific program as a specific value in the Q register, and the value of the top address of the storage area in which frequently used data in the non-game program is stored Can be stored, and the data capacity of the non-specific program can be reduced by using the LDQ instruction when calling data in the non-specific program.
遊技プログラムとは、遊技の進行に係わるプログラムであり、当該プログラムに基づく処理を実行しないと、遊技の進行に支障をきたす処理を実行するためのプログラムである。一方、非遊技プログラムとは、遊技の進行に係わらないプログラムであり、遊技プログラムから呼び出されて当該プログラムに基づく処理が実行されずに遊技プログラムに復帰した場合でも、遊技を進行させることが可能な処理を実行するためのプログラムである。 The game program is a program related to the progress of the game, and is a program for executing a process that hinders the progress of the game unless the process based on the program is executed. On the other hand, a non-game program is a program that is not related to the progress of the game, and even when the game program is called to return to the game program without executing processing based on the program, the game can be advanced. It is a program for executing processing.
遊技プログラムでは、前述のCALL命令やLD命令について、特殊なCALL命令であるCALLV命令、RST命令、特殊なLD命令であるLDQ命令を含むいずれの命令も使用されることがあり、特殊なCALL命令を用いてアドレスを特定してサブルーチンを呼び出すことも、特殊なLD命令を用いてROM41b、RAM41cにおける特定の遊技データ、非遊技データを読み出すことも可能になっている。
In the game program, any of the above-described CALL instruction and LD instruction may include any CALLV instruction, RST instruction, which is a special CALL instruction, or LDQ instruction, which is a special LD instruction. It is possible to call a subroutine by specifying an address using, or to read out specific game data and non-game data in the
非遊技プログラムでは、前述のCALL命令について、通常のCALL命令が使用される一方、特殊なCALL命令であるCALLV命令が使用されないようになっており、通常のCALL命令を用いてアドレスを特定してサブルーチンを呼び出すことがある一方で、特殊なCALL命令を用いてサブルーチンを呼び出すことがなく、非遊技プログラムによりROM41bにおける遊技プログラム領域にアクセスされてしまうことがないようになっている。
In the non-game program, while the normal CALL instruction is used for the CALL instruction described above, the CALLV instruction which is a special CALL instruction is not used, and the address is specified using the normal CALL instruction. While the subroutine may be called, the subroutine is not called using a special CALL instruction, and the game program area in the
また、非遊技プログラムでは、前述のLD命令について、通常のLD命令、特殊なLD命令であるLDQ命令も使用されることがあり、通常のLD命令を用いてアドレスを特定して所定のデータを読み出すことも、特殊なLD命令を用いてサブルーチンやデータを読み出すことも可能となっている。 In addition, in the non-game program, an ordinary LD instruction or an LDQ instruction, which is a special LD instruction, may be used for the above-described LD instruction. It is possible to read the subroutine and data using a special LD instruction.
このように、本実施例では、特殊なCALL命令であるCALLV命令やRST命令により用いられるROM41bのベクタテーブル領域及び特定アドレスの領域には、遊技プログラムのサブルーチンの先頭が格納されており、これらの特殊なCALL命令を用いることで遊技プログラムを呼び出すことが可能になっている。このように特殊なCALL命令により遊技プログラムのみを呼び出すことが可能な場合には、非遊技プログラムにより特殊なCALL命令が用いられることで、非遊技プログラムにより遊技プログラムが呼び出されてしまい、意図しない遊技の進行が行われたり、意図しない遊技プログラムにより遊技データが書き換えられたりしてしまう虞がある。これに対して、非遊技プログラムにより特殊なCALL命令によらず通常CALL命令によりプログラムを呼び出すことで、ベクタテーブル領域及び特定アドレスの領域を用いないことにより、意図せず遊技プログラムが呼び出されて遊技の進行が行われることを防止できるようになっている。
As described above, in this embodiment, the beginning of the subroutine of the game program is stored in the vector table area and the specific address area of the
また、本実施例では、特殊なLD命令であるLDQ命令は、特別なレジスタ(Qレジスタ)に記憶されている特定値を用いて遊技RAM領域を特定して、所定の遊技データを読み出すことが可能になっており、非特定プログラムでも特殊なLD命令を使用することで、非特定プログラムのデータ容量を削減しつつ、遊技データを容易に読み出すことができるようになっている。 In this embodiment, the LDQ instruction, which is a special LD instruction, reads a predetermined game data by specifying a game RAM area by using a specific value stored in a special register (Q register). The game data can be easily read while reducing the data capacity of the non-specific program by using a special LD instruction even in the non-specific program.
尚、特殊なLD命令であるLDQ命令は、特別なレジスタ(Qレジスタ)に記憶されている特定値を用いて遊技RAM領域を特定して、所定の遊技データを読み出すことが可能になっているが、特殊なLD命令により遊技データを読み出す際に、特別なレジスタ(Qレジスタ)の特定値が破損している場合には、遊技RAM領域を正常に特定することができず、意図しないデータが読み出されてしまう虞がある。これに対して、非遊技プログラムにより特殊なLD命令であるLDQ命令によらず通常のLD命令によりデータを読み出すようにすることで、遊技プログラムから非遊技プログラムに切り替わったときに特定値が破損した場合でも、非遊技プログラムから遊技RAM領域を特定してデータが読み出されるので、意図しないデータが読み出されることを防止できる。 The LDQ instruction, which is a special LD instruction, can read out predetermined game data by specifying a game RAM area using a specific value stored in a special register (Q register). However, when the game data is read by a special LD instruction, if the specific value of the special register (Q register) is damaged, the game RAM area cannot be normally specified, and unintended data is stored. There is a risk of being read out. On the other hand, when a non-game program switches from a game program to a non-game program by reading data using a normal LD command instead of the LDQ command, which is a special LD command, the specific value is damaged. Even in this case, the game RAM area is specified from the non-game program and data is read out, so that unintended data can be prevented from being read out.
本実施例では、メイン制御部41が実行可能な命令として、メイン制御部41の備えるレジスタの値を、スタックポインタSPが示すRAM41cのスタック領域に所定の順序で記憶させることで退避させる退避命令と、当該退避命令によりRAM41cのスタック領域に退避させていたレジスタの値を、退避させるときと逆の順序で当該スタック領域から順次読み出して、当該順序に対応するレジスタに設定することで、該当するレジスタの状態を退避命令により退避させたときの状態に復帰させる復帰命令と、を含む。
In the present embodiment, as an instruction that can be executed by the
退避命令は、メイン制御部41が備えるすべてのレジスタの値をRAM41cのスタック領域に退避させる第1退避命令(PUSH ALL)と、メイン制御部41が備えるすべてのレジスタのうち、演算結果が格納されるフラグレジスタの値をRAM41cのスタック領域に退避させる第2退避命令(PUSH AF)と、を含む。第1退避命令は、2バイトのプログラム容量を必要とする命令であり、第2退避命令は、1バイトのプログラム容量を必要とする命令である。遊技プログラムにおいて退避命令を実行することで、遊技プログラム用に設定されているスタックポインタSPが示す遊技スタック領域にレジスタの値を退避させることが可能であり、非遊技プログラムにおいて退避命令を実行することで、非遊技プログラム用に設定されているスタックポインタSPが示す非遊技スタック領域にレジスタの値を退避させることが可能である。
The save instruction stores the operation result of the first save instruction (PUSH ALL) that saves the values of all the registers included in the
復帰命令は、メイン制御部41が備えるすべてのレジスタについて、RAM41cのスタック領域に退避されている値を設定して復帰させる第1復帰命令(POP ALL)と、メイン制御部41が備えるすべてのレジスタのうち、演算結果が格納されるフラグレジスタについて、RAM41cのスタック領域に退避されている値を設定して復帰させる第2復帰命令(POP AF)と、を含む。第1復帰命令は、2バイトのプログラム容量を必要とする命令であり、第2復帰命令は、1バイトのプログラム容量を必要とする命令である。遊技プログラムにおいて復帰命令を実行することで、遊技プログラム用に設定されているスタックポインタSPが示す遊技スタック領域から退避されていたレジスタの値を呼び出して、該当するレジスタに設定して復帰させることが可能であり、非遊技プログラムにおいて復帰命令を実行することで、非遊技プログラム用に設定されているスタックポインタSPが示す非遊技スタック領域から退避されていたレジスタの値を呼び出して、該当するレジスタに設定して復帰させることが可能である。
The return instruction includes a first return instruction (POP ALL) for setting and returning a value saved in the stack area of the
[遊技の流れについて]
本実施例においてメイン制御部41のメインCPU41aは、図9に示すように、遊技プログラムに基づく処理において非遊技プログラムを呼び出して非遊技プログラムに基づく処理を実行し、非遊技プログラムに基づく処理の終了後、遊技プログラムに基づく処理に復帰する。
[About the game flow]
In this embodiment, as shown in FIG. 9, the
図9に示すように、メインCPU41aは、原則として遊技プログラムに基づく処理を実行するにあたり、遊技データ領域の遊技データを参照して遊技プログラムに基づく処理を実行するとともに、遊技RAM領域をワークとして使用し、遊技RAM領域の内容を参照及び更新することが可能である。また、メインCPU41aは、原則として非遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域の遊技データを参照して非遊技プログラムに基づく処理を実行するとともに、非遊技RAM領域をワークとして使用し、非遊技RAM領域の内容を参照及び更新することが可能である。
As shown in FIG. 9, the
また、メインCPU41aは、遊技プログラムに基づく処理を実行するにあたり、非遊技データ領域を参照することはなく、非遊技RAM領域を更新することはないが、非遊技RAM領域を参照することは可能であり、非遊技プログラムに基づく処理を実行するにあたり、遊技データ領域を参照することはなく、遊技RAM領域を更新することはないが、遊技RAM領域を参照することは可能である。
The
また、遊技プログラムに基づく処理は、非遊技RAM領域のうち遊技プログラムに必要な特定の領域(例えば、異常の検知を示すエラーフラグの設定領域等)のみ参照可能とされており、非遊技プログラムに基づく処理は、遊技RAM領域のうち非遊技プログラムに必要な特定の領域(例えば、内部当選フラグの設定領域、遊技状態の設定領域、RTの設定領域等)のみ参照可能とされている。また、非遊技RAM領域のうち遊技プログラムに基づく処理が参照可能な特定の領域、遊技RAM領域のうち非遊技プログラムに基づく処理が参照可能な特定の領域は、連続するアドレス領域に割り当てられることが好ましいが、一部または全部が連続しないアドレス領域に割り当てられる構成であっても良い。 In addition, the process based on the game program can be referred to only a specific area necessary for the game program in the non-game RAM area (for example, an error flag setting area indicating abnormality detection). In the processing based on the game RAM area, only specific areas required for the non-game program (for example, an internal winning flag setting area, a gaming state setting area, an RT setting area, etc.) can be referred to. In addition, a specific area in the non-game RAM area where the process based on the game program can be referred to, and a specific area in the game RAM area where the process based on the non-game program can be referred to may be assigned to a continuous address area. However, a configuration in which part or all of the address areas are allocated to non-contiguous address areas may be used.
このように本実施例では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムが参照する遊技データが読み出し可能に記憶される遊技データ領域と、遊技プログラムが参照するワークデータが読み出し及び書き込み可能に記憶される遊技RAM領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、非遊技プログラムが参照する非遊技データが読み出し可能に記憶される非遊技データ領域と、非遊技プログラムが参照するワークデータが読み出し及び書き込み可能に記憶される非遊技RAM領域と、がそれぞれ別個に割り当てられているため、遊技プログラム、遊技データ及び遊技プログラムのワークデータと、非遊技プログラム、非遊技データ及び非遊技プログラムのワークデータと、を記憶領域の違いに応じて容易に特定することができる。 As described above, in this embodiment, a game program area in which a game program related to the progress of a game is stored, a game data area in which game data referred to by the game program is readable and stored, and work data referred to by the game program Is a game RAM area that is stored so as to be readable and writable, a program that is called by the game program, a non-game program area that stores a non-game program that is not related to the progress of the game, and a non-game that is referenced by the non-game program Since a non-game data area in which data is stored in a readable manner and a non-game RAM area in which work data referred to by the non-game program are stored in a readable and writable manner are separately allocated, a game program, Game data and work program work data; Game program, the workpiece data of the non game data and non-game program, can be easily identified according to a difference in the storage area.
また、遊技プログラム領域及び遊技データ領域と、非遊技プログラム領域及び非遊技データ領域と、を分けることで、それぞれの機能に応じてROM41bに占める領域をコンパクトに管理することができるため、各領域において該当するデータを特定することがさらに容易となる。
In addition, by dividing the game program area and the game data area from the non-game program area and the non-game data area, the area occupied by the
また、本実施例では、遊技プログラムを実行する際に、非遊技RAM領域を参照することが可能であり、非遊技プログラムを実行する際に、遊技RAM領域を参照することが可能であるため、遊技プログラムを実行するにあたり、非遊技プログラムが使用していたデータを簡単に利用することができ、非遊技プログラムを実行するにあたり、遊技プログラムが使用していたデータを簡単に利用することができる。一方で、遊技プログラムを実行する際に、非遊技RAM領域を更新することは不可能であり、非遊技プログラムを実行する際に、遊技RAM領域を更新することは不可能であるため、遊技プログラムが非遊技プログラムの処理に影響を及ぼすことなく、非遊技プログラムが遊技プログラムの処理に影響を及ぼすことがない。 Further, in this embodiment, when executing the game program, it is possible to refer to the non-game RAM area, and when executing the non-game program, it is possible to refer to the game RAM area. In executing the game program, the data used by the non-game program can be easily used, and in executing the non-game program, the data used by the game program can be used easily. On the other hand, it is impossible to update the non-game RAM area when executing the game program, and it is impossible to update the game RAM area when executing the non-game program. Does not affect the processing of the non-game program, and the non-game program does not affect the processing of the game program.
また、本実施例では、遊技プログラムに基づく処理は、非遊技RAM領域のうち遊技プログラムに必要な特定の領域(例えば、異常の検知を示すエラーフラグの設定領域等)のみ参照可能とされており、非遊技プログラムに基づく処理は、遊技RAM領域のうち非遊技プログラムに必要な特定の領域(例えば、内部当選フラグの設定領域、遊技状態の設定領域、RTの設定領域等)のみ参照可能とされているので、遊技プログラムが非遊技RAM領域において参照可能なデータ、非遊技プログラムが参照可能なデータが特定の領域に制限されているため、遊技プログラムまたは非遊技プログラムの参照先を容易に特定することができる。 Further, in this embodiment, the processing based on the game program can be referred to only a specific area required for the game program in the non-game RAM area (for example, an error flag setting area indicating abnormality detection). The processing based on the non-gaming program can be referred to only specific areas (for example, an internal winning flag setting area, a gaming state setting area, an RT setting area, etc.) necessary for the non-gaming program in the gaming RAM area. Therefore, since the data that can be referred to by the game program in the non-game RAM area and the data that can be referred to by the non-game program are limited to a specific area, the reference destination of the game program or the non-game program can be easily specified. be able to.
メイン制御部41が遊技プログラム及び非遊技プログラムを実行することで行う各種処理の制御内容について、図10〜図30に基づいて説明する。
Control contents of various processes performed by the
[メイン制御部41の起動時の処理と初期設定処理について]
メイン制御部41が行う起動時の処理と初期設定処理について、図10に基づいて説明する。起動時の処理、初期設定処理は、遊技プログラムに含まれるサブルーチンである。
[Processing at the time of starting the
The startup process and initial setting process performed by the
メイン制御部41は、スロットマシン1への電力供給が開始された際に、リセットの発生によりタイマ割込みが禁止に設定された状態で起動し、ROM41bに格納されているプログラムに従って各種処理を行う。起動した後は、まず、遊技プログラムに含まれる起動時設定処理を行って、すべての出力ポート0〜9を初期化し、メイン制御部41が備える内部レジスタをROM41bの所定領域に予め設定されている内蔵レジスタ初期化テーブルに基づいて初期化した、遊技プログラムに含まれる初期設定処理を行う。
When the power supply to the
図10に示すように、初期設定処理はタイマ割込みが禁止された状態で開始され、初期設定処理では、まず、入力ポートの所定領域を参照して(Sa1)、電断検出回路48から出力される電断検出信号がON状態であるか否かを判定する(Sa2)。そして、電断検出信号がON状態である場合には、電断検出信号がOFF状態となるまで待機する。その後、スロットマシン1の電源電圧が正常となり、電断検出信号がOFF状態となった後は、RAM41cの所定領域のパリティを算出し(Sa3)、スタックポインタに予め定められた初期アドレスを設定する(Sa4)。そして、Sa3のステップにおいて算出したパリティが正常であるか否かを判定し(Sa5)、パリティが正常ある場合には、電断時にRAM41cの所定領域に設定されたRAM破壊診断用固定データを取得して(Sa6)、当該RAM破壊診断用固定データに基づきRAM41cの記憶内容が破壊されていないか否かを診断する(Sa7)。
As shown in FIG. 10, the initial setting process is started in a state where timer interrupts are prohibited. In the initial setting process, first, a predetermined area of the input port is referred to (Sa1) and output from the power
Sa5のステップにおいてパリティが正常であると判定した場合、及びSa7のステップにおいてRAM41cの記憶内容を診断した場合は、Sa3のステップにおいて算出したRAMのパリティとSa7における診断の結果に基づいて、RAM41cに異常があるか否かを判定する(Sa8)。尚、RAM41cに異常がある場合とは、パリティが正常でない場合、またはパリティが正常であるが記憶内容に異常があると診断した場合である。
If it is determined in step Sa5 that the parity is normal, and if the storage contents of
そして、RAM41cに異常がある場合には、上述の第2退避命令を用いて、メイン制御部41が備えるレジスタのうち演算結果が格納されるフラグレジスタの値を、遊技RAM領域の遊技スタック領域に所定の順序で記憶させることで退避させた後(Sa9)、上述のCALL命令を用いて、非遊技プログラムに含まれる非遊技RAM領域初期化処理を呼び出して行う(Sa10)。
If there is an abnormality in the
非遊技RAM領域初期化処理では、まず、上述のLD命令を用いて、呼び出し元の遊技プログラムにより使用されていたスタックポインタSPにより示される遊技スタック領域から現在のスタックポインタSPが示すアドレスの値を読み出し、非遊技RAM領域の所定領域に記憶させて退避させる。その後、LD命令を用いて、前回の非遊技プログラムの終了時にスタックポインタSPにより示されるアドレスとして記憶されている値を、非遊技RAM領域の所定領域から読み出し、スタックポインタSPが示す値として設定することで、スタックポインタSPを非遊技プログラム用に設定する。そして、上述の第1退避命令を用いて、フラグレジスタを含むメイン制御部41が備えるすべてのレジスタ(アキュムレータレジスタ、フラグレジスタ、汎用レジスタ、インデックスレジスタ、インタラプトレジスタ、リフレッシュレジスタ、プログラムカウンタなど)の値を、スタックポインタSPにより特定される非遊技RAM領域の非遊技スタック領域に所定の順序で記憶させることで退避させる。尚、非遊技プログラムに含まれる非遊技RAM領域初期化処理が遊技プロクラムから呼び出されることに伴って、スタックポインタSPを遊技プログラム用から非遊技プログラム用に変更する際に、LD命令が用いられることで、フラグレジスタの第2ゼロフラグTZが変更されることとなり、当該LD命令の実行される前後でフラグレジスタの状態が変化することがある。すなわち、遊技プログラムから非遊技RAM領域初期化処理が呼び出された際に、当該非遊技RAM領域初期化処理により非遊技プログラム用のスタックポインタSPが設定された後に退避させられるレジスタの状態は、遊技プログラムが非遊技RAM領域初期化処理を呼び出したときのレジスタの状態と異なることがある。
In the non-game RAM area initialization process, first, using the above-described LD instruction, the address value indicated by the current stack pointer SP is obtained from the game stack area indicated by the stack pointer SP used by the calling game program. Read and store in a predetermined area of the non-game RAM area and evacuate. Thereafter, using the LD instruction, the value stored as the address indicated by the stack pointer SP at the end of the previous non-game program is read from a predetermined area of the non-game RAM area and set as the value indicated by the stack pointer SP. Thus, the stack pointer SP is set for the non-game program. Then, using the first save instruction described above, the values of all the registers (accumulator register, flag register, general-purpose register, index register, interrupt register, refresh register, program counter, etc.) included in the
その後、初期化対象RAMの先頭アドレス(未使用領域4の最初のアドレス)と終了アドレス(非遊技RAM領域の最後のアドレス)を指定し、当該先頭アドレスを指定アドレスの初期値として指定アドレスのデータをクリアした後に指定アドレスを次のアドレスに更新する処理を、指定アドレスが当該終了アドレスとなるまで繰り返し実行することで、初期化対象RAMの先頭アドレスから終了アドレスまでの領域(本実施例では、未使用領域4の最初から非遊技RAM領域の最後までの領域)を初期化する。尚、非遊技RAM領域初期化処理において、初期化対象RAMの先頭アドレスと終了アドレスとを指定することで、初期化対象RAMの容量を算出し、当該容量分のRAM領域を初期化対象RAMの先頭アドレスから順次クリアすることで、初期化対象RAMの先頭アドレスから終了アドレスまでの領域を初期化する構成としても良い。
Thereafter, the start address of the initialization target RAM (first address of the unused area 4) and the end address (last address of the non-game RAM area) are specified, and the data of the specified address is set with the start address as the initial value of the specified address. By repeatedly executing the process of updating the designated address to the next address after clearing until the designated address reaches the end address, the area from the start address to the end address of the initialization target RAM (in this embodiment, The area from the beginning of the
そして、上述の第1復帰命令を用いて、非遊技RAM領域初期化処理を開始した際に非遊技スタック領域に記憶させて退避させていたレジスタの値を、退避させるときと逆の順序で非遊技スタック領域から順次読み出して、当該順序に対応するレジスタに設定することで、非遊技RAM領域初期化処理を開始したときの状態にすべてのレジスタを復帰させる。その後、上述のLD命令を用いて、非遊技RAM領域初期化処理を開始した際に非遊技RAM領域の所定領域に退避させたスタックポインタSPの値を読み出し、スタックポインタSPが示す値として設定することで、非遊技RAM領域初期化処理を開始したときの状態にスタックポインタSPを復帰させて、非遊技RAM領域初期化処理を終了させる。尚、非遊技プログラムに含まれる非遊技RAM領域初期化処理を終了させて、遊技プロクラムに復帰させるために、当該非遊技RAM領域初期化処理の開始時に退避させていたすべてのレジスタの値を復帰させた後に、スタックポインタSPを非遊技プログラム用から遊技プログラム用に変更する際に、LD命令が用いられることで、フラグレジスタの第2ゼロフラグTZが変更されることとなり、当該LD命令の実行される前後でフラグレジスタの状態が変化することがある。すなわち、非遊技RAM領域初期化処理が終了されるときのレジスタの状態は、当該非遊技RAM領域初期化処理が開始されるときに退避されたレジスタの状態と異なることがある。 Then, using the above-described first return instruction, the register values stored and saved in the non-game stack area when the non-game RAM area initialization process is started are stored in the reverse order of the saving. By sequentially reading from the game stack area and setting the registers corresponding to the order, all the registers are restored to the state when the non-game RAM area initialization process is started. Thereafter, using the above-described LD instruction, the value of the stack pointer SP saved in a predetermined area of the non-game RAM area when the non-game RAM area initialization process is started is read and set as a value indicated by the stack pointer SP. Thus, the stack pointer SP is restored to the state when the non-game RAM area initialization process is started, and the non-game RAM area initialization process is ended. In order to finish the non-game RAM area initialization process included in the non-game program and return to the game program, all register values saved at the start of the non-game RAM area initialization process are restored. Then, when the stack pointer SP is changed from the non-game program to the game program, the LD instruction is used, so that the second zero flag TZ of the flag register is changed, and the LD instruction is executed. The state of the flag register may change before and after. That is, the state of the register when the non-game RAM area initialization process is completed may be different from the state of the register saved when the non-game RAM area initialization process is started.
Sa10のステップにおいて非遊技RAM領域初期化処理を行い、RAM41cの非遊技RAM領域を初期化して、初期設定処理に戻った際には、上述の第2復帰命令を用いて、Sa9のステップにおいて遊技スタック領域に退避させたフラグレジスタの値を、退避させるときと逆の順序で遊技スタック領域から順次読み出してフラグレジスタに設定することで、非遊技RAM領域初期化処理を行う前の状態にフラグレジスタの状態を復帰させる(Sa11)。Sa10のステップにおける非遊技RAM領域初期化処理の内部での全レジスタの退避処理及び復帰処理と、Sa9及びSa11のステップにおけるフラグレジスタの退避処理及び復帰処理とが行われることにより、非遊技RAM領域初期化処理が行われた後において、メイン制御部41が備えるすべてのレジスタの状態が、当該処理が行われる前の状態に完全に復帰されることになる。
When the non-game RAM area initialization process is performed in the step Sa10, the non-game RAM area in the
Sa8のステップにおいてRAM41cに異常がないと判定した場合、及びSa11のステップにおいてレジスタを復帰させた場合は、RAM41cに設定されているRAM破壊診断用固定データをクリアして(Sa12)、RAM41cに異常がある場合に初期化処理を行う対象となる遊技RAM領域のアドレスを指定するためのRAM破壊時初期化開始アドレスを設定する(Sa13)。その後、入力ポート2を参照して設定キースイッチ37がON状態であるか否かを判定する(Sa14)。
When it is determined that there is no abnormality in the
Sa14のステップにおいて設定キースイッチ37がON状態であると判定した場合は、設定変更処理を行う。設定変更処理では、リセット/設定スイッチ38及びスタートスイッチ7が所定の手順で操作されることにより設定値が確定され、設定キースイッチ37がOFFにされたことが検出されることで、設定変更処理を終了して、遊技を進行可能な状態に移行する。また、設定変更処理では、設定変更処理を開始する際に、設定変更処理を開始する旨を示す設定コマンド(開始)をサブ制御部91に対して送信し、設定変更処理を終了する際に、設定変更処理を終了する旨を示す設定コマンド(終了)するようになっている。また、設定変更処理では、設定変更処理を終了する際に、設定変更時の初期化対象RAM領域の先頭アドレスを指定し、メイン処理のSb47のステップに復帰する。そして、Sb47のステップにおいてRAM初期化処理が行われることで、設定変更時の初期化対象RAM領域の先頭アドレスから遊技RAM領域の終端のアドレスまでの領域、すなわちすべての遊技RAM領域が初期化されるようになっている。尚、RAM41cの使用中のスタック領域を除く全ての遊技RAM領域を初期する構成としても良い。
If it is determined in step Sa14 that the setting
Sa14のステップにおいて設定キースイッチ37がON状態でないと判定した場合は、Sa3のステップにおいて算出したRAMのパリティとSa7における診断結果に基づいて、RAM41cに異常があるか否かを判定し(Sa15)、RAM41cに異常がないと判定した場合には、外部出力信号を出力するための出力バッファをクリアする(Sa16)。また、RAM41cの所定領域に設定されており、後述のメイン処理においてリールの回転エラーが検出された回数を計数するためのリールエラーカウンタをクリアする(Sa17)。その後、RAM41cの記憶内容に基づいてスタックポインタSPに電断時のアドレスを設定することで、スタックポインタを電断時の状態に復帰させ(Sa18)、ポート入力処理を2回連続で行う(Sa19、Sa20)。
If it is determined in step Sa14 that the setting
ポート入力処理は、パラレル入力ポート511に入力される各種スイッチ類の検出信号等の入力状態に関する入力状態データ(各種スイッチ類の現在の入力状態を示す入力データ、前回と今回の入力データが同じ状態である旨を示す確定データ、前回から確定データが変化した旨を示すエッジデータ)を更新する処理である。RAM41cの遊技RAM領域の所定領域には、各種スイッチ類の入力状態データを格納するポート入力バッファ0〜2が設けられており、ポート入力処理により更新される各種スイッチ類の入力状態データは、その種類毎に予め定められたポート入力バッファの所定ビットに格納されるようになっている。ポート入力処理では、パラレル入力ポート511の入力ポート0〜2にされる各種スイッチ類の検出状態(ON状態またはOFF状態)を入力データとして、ポート入力バッファの所定ビットに格納する。また、前回と今回のポート入力処理での検出状態(ON状態またはOFF状態)を比較して、今回と前回の入力データが同じ状態である場合には、今回の入力データの検出状態を示すように確定データを更新する一方、今回と前回の入力データが異なる状態である場合には、前回の確定データを維持する。また、今回と前回の確定データを比較して、確定データがOFF状態からON状態に変化した場合には、確定データがOFF状態からON状態に変化した旨を示すONエッジデータをポート入力バッファ0〜2の所定ビットに格納し、確定データがON状態からOFF状態に変化した場合には、確定データがON状態からOFF状態に変化した旨を示すOFFエッジデータをポート入力バッファ0〜2の所定ビットに格納する。ポート入力バッファに格納された各種スイッチ類の入力データ、確定データ、エッジデータは、遊技プログラム及び非遊技プログラムから参照することが可能である。
In the port input process, input state data relating to the input state of detection signals and the like of various switches input to the parallel input port 511 (input data indicating the current input state of various switches, the previous and current input data being in the same state) Update data indicating that the fixed data has changed since the previous time). In a predetermined area of the game RAM area of the
また、初期設定処理では、ポート入力処理を2回連続して行うことで、その後、ポート入力処理が行われる際に、初期設定処理が行われた以後の各種スイッチ類の入力状態すなわちスロットマシン1への電力供給が再開された後の各種スイッチ類の入力状態に基づいて、各種スイッチ類の検出信号等の入力状態に関する入力状態データが作成されるので、意図しない入力状況が特定されてしまうことを防止できるようになっている。また、ポート入力処理において、3回以上のポート入力処理により取得された入力データ(例えば、今回、前回及び前々回の入力データ)に基づいて確定データを作成する構成でも良い。このような構成では、確定データを作成するために必要なポート入力処理の回数よりも1回少ない回数連続してポート入力処理を初期設定処理において行う構成とすることで、初期設定処理が行われた後にポート入力処理が行われる際に、初期設定処理が行われた以後の各種スイッチ類の入力状態に基づいて入力状態データを作成させることができる。
Further, in the initial setting process, the port input process is performed twice in succession, and when the port input process is performed thereafter, the input state of various switches after the initial setting process is performed, that is, the
Sa19及びSa20のステップにおいてポート入力処理を行った後は、所定の入力ポートを参照して(Sa21)、リセット/設定スイッチ38がON状態であるか否かを判定し(Sa22)、リセット/設定スイッチ38がON状態である場合には、当該リセット/設定スイッチ38がON状態である旨を示すステータスデータをRAM41cの所定領域に設定する(Sa23)。
After performing port input processing in steps Sa19 and Sa20, it is determined whether or not the reset / setting
Sa22のステップにおいてリセット/設定スイッチ38がON状態でないと判定した場合、及びSa23のステップにおいてステータスデータを設定した後は、電断前の制御状態に復帰した旨を示す復帰コマンドをサブ制御部91に送信した後(Sa24)、タイマ割込み処理(メイン)のコマンド送信処理において、ドア開放検出スイッチ25の検出状態を示すドアコマンドを送信する旨を示すドアコマンド送信フラグをRAM41cの所定領域に設定する(Sa25)。コマンド送信処理では、通常、ドア開放検出スイッチ25の検出状態が変化した場合にドアコマンドを送信するが、RAM41cの所定領域にドアコマンド送信フラグが設定されている場合には、ドア開放検出スイッチ25の検出状態が変化したか否かにかかわらず、ドア開放検出スイッチ25の検出状態を示すドアコマンドを送信する。
If it is determined in step Sa22 that the reset / setting
そして、Sa25のステップにおいてドアコマンド送信フラグを設定した後は、すべてのレジスタをRAM41cに記憶されている電断前の状態に復帰させ(Sa26)、タイマ割込みを許可に設定して(Sa27)、初期設定処理を終了させてタイマ割込み処理(メイン)に移行させた後、スロットマシン1への電力供給が停止される前に実行していたメイン処理における処理に復帰する。
Then, after setting the door command transmission flag in the step of Sa25, all the registers are returned to the state before the power interruption stored in the
一方、Sa15のステップにおいて、RAM41cに異常があると判定した場合には、遊技RAM初期化処理を行って(Sa28)、Sa13のステップにおいて設定したRAM破壊時初期化開始アドレスからRAM41cの遊技RAM領域の終端までの領域を初期化する。その後、Sa9〜Sa11のステップまでの処理と同様に、レジスタのうちフラグが設定されるフラグレジスタの値を遊技RAM領域の遊技スタック領域に退避させた後(Sa29)、非遊技プログラムに含まれる非遊技RAM領域初期化処理を呼び出して行って(Sa30)、RAM41cのすべての非遊技RAM領域を初期化した後、呼び出し元に戻り、Sa29のステップにおいて退避させたレジスタを復帰させる(Sa31)。
On the other hand, if it is determined in step Sa15 that there is an abnormality in the
Sa31のステップにおいてレジスタを復帰させた後は、ドアコマンド送信フラグを設定し(Sa32)、タイマ割込みを許可に設定し(Sa33)、RAM41cに異常がある旨を示すRAM異常エラーコード(E8)を所定のレジスタに準備して(Sa34)、初期設定処理を終了させてエラー処理に移行させる。
After restoring the register in the step of Sa31, the door command transmission flag is set (Sa32), the timer interrupt is set to enable (Sa33), and a RAM abnormality error code (E8) indicating that there is an abnormality in the
尚、エラー処理では、遊技の進行が不能化されるエラー状態に制御する。また、所定のレジスタに準備されているエラーコード(E8)を特定可能なエラーコマンドをサブ制御部91に対して送信し、当該エラーコード(E8)をRAM41cの所定領域にその他の処理(例えば、後述するセンサ監視処理等)でも参照可能なエラーフラグとして設定する。また、当該エラーコード(E8)を遊技補助表示器12に表示させるように制御する。その後は、所定のレジスタに準備されているエラーコード(E8)に応じたエラー状態の解除条件が成立したことが特定されるまでエラー状態の制御を行う。RAM異常エラーコード(E8)が所定のレジスタに準備されてエラー状態に移行された場合には、設定キースイッチ37をONにした状態で電源スイッチ39を投入することによって、設定変更状態に移行させてすべての遊技RAM領域を初期化させることで、RAM41cのデータの異常を確実に解消してエラー状態を解除することができるようになっている。一方、設定キースイッチ37をON状態にせずに電源スイッチ39をONにした場合には、RAM41cの異常が再び検出されて、再度、エラー状態となる。
In the error processing, control is made to an error state in which the progress of the game is disabled. Further, an error command capable of specifying an error code (E8) prepared in a predetermined register is transmitted to the
このように、メイン制御部41は、スロットマシン1への電力供給が開始された後には、初期設定処理を最初に行うようになっており、初期設定処理では、スロットマシン1への電力供給が開始された際のメイン制御部41の状態に応じて、タイマ割込み処理(メイン)、設定変更処理、エラー処理のいずれかに移行させる。そして、これらの処理に移行させる際に、移行させる処理の種類を特定可能なコマンドをサブ制御部91に対して送信するようになっており、タイマ割込み処理(メイン)に移行させる場合すなわちスロットマシン1への電力供給が停止される前の制御状態に復帰した場合には、復帰コマンドをサブ制御部91に対して送信し、設定変更処理を開始して設定変更状態に移行する場合には、設定コマンド(開始)をサブ制御部91に対して送信し、RAM41cの異常によりエラー処理を開始してエラー状態に移行する場合には、エラーコマンドをサブ制御部91に対して送信する。
As described above, the
尚、メイン制御部41は、初期設定処理から設定変更処理に移行した後は、設定変更状態を経て、ゲームの進行が可能な状態に復帰するようになっており、当該ゲームの進行が可能な状態に復帰する際には、当該設定変更状態が終了されることを特定可能な設定コマンド(終了)をサブ制御部91に対して送信する一方で、復帰コマンドは送信しない。また、RAM41cの異常によりエラー処理に移行した後は、上述のように設定変更処理に移行されてエラー状態が解除されることで、ゲームの進行が可能な状態に復帰するようになっており、エラー処理が終了されてゲームの進行が可能な状態に復帰する場合にも、サブ制御部91に対して復帰コマンドを送信しない。
In addition, after shifting from the initial setting process to the setting change process, the
このように、本実施例のメイン制御部41は、スロットマシン1への電力供給が開始されることで起動し、遊技プログラムに含まれる起動時設定処理を行い、当該起動時設定処理によりすべての出力ポート0〜9を初期化するようになっている。
As described above, the
また、メイン制御部41は、起動時設定処理を行った後、遊技プログラムに含まれる初期設定処理を行う。そして、初期設定処理では、RAM41cに異常があると判定した場合に、非遊技プログラムに含まれる非遊技RAM領域初期化処理を呼び出して、RAM41cの非遊技RAM領域の所定領域を初期化する。また、初期設定処理では、遊技プログラムに含まれるRAM初期化処理を呼び出して、RAM41cの遊技RAM領域の所定領域を初期化するようになっており、遊技RAM領域は遊技プログラムにより初期化し、非遊技RAM領域は非遊技プログラムにより初期化する構成になっている。
In addition, the
[メイン処理について]
メイン制御部41が行うメイン処理の制御内容について、図11に基づいて説明する。尚、メイン処理は、一単位の遊技毎に繰り返し実行される。そして、メイン処理の一周期が遊技の一単位に相当している。また、メイン処理は、遊技プログラムに含まれ、複数の処理を含む。以下、特に非遊技プログラムに含まれる旨を示さない処理は、遊技プログラムに含まれる。尚、遊技プログラムにより呼び出される遊技プログラムには、非遊技プログラムを呼び出すものもある。
[About main processing]
The control content of the main process performed by the
図11に示すように、メイン制御部41は、まず、上述の第2退避命令を用いて、レジスタのうち演算結果が格納されるフラグレジスタの値を、遊技RAM領域の遊技スタック領域に所定の順序で記憶させることで退避させて(Sb1)、上述のCALL命令を用いて、非遊技プログラムに含まれるRT情報出力処理を呼び出して行う(Sb2)。
As shown in FIG. 11, the
RT情報出力処理では、まず、上述のLD命令を用いて、呼び出し元の遊技プログラムにより使用されていたスタックポインタSPにより示される遊技スタック領域から現在のスタックポインタSPが示すアドレスの値を読み出し、非遊技RAM領域の所定領域に記憶させて退避させる。その後、LD命令を用いて、前回の非遊技プログラムの終了時にスタックポインタSPにより示されるアドレスとして記憶されている値を、非遊技RAM領域の所定領域から読み出し、スタックポインタSPが示す値として設定することで、スタックポインタSPを非遊技プログラム用に設定する。そして、上述の第1退避命令を用いて、フラグレジスタを含むメイン制御部41が備えるすべてのレジスタ(アキュムレータレジスタ、フラグレジスタ、汎用レジスタ、インデックスレジスタ、インタラプトレジスタ、リフレッシュレジスタ、プログラムカウンタなど)の値を、スタックポインタSPにより特定される非遊技RAM領域の非遊技スタック領域に所定の順序で記憶させることで退避させる。尚、上述の非遊技RAM領域初期化処理が呼び出される場合と同様に、非遊技プログラムに含まれるRT情報出力処理を遊技プロクラムから呼び出されることに伴って、スタックポインタSPを遊技プログラム用から非遊技プログラム用に変更する際に、LD命令が用いられることで、フラグレジスタの第2ゼロフラグが変更されることとなり、当該LD命令の実行される前後でフラグレジスタの状態が変化することがある。すなわち、遊技プログラムからRT情報出力処理が呼び出された際に、当該RT情報出力処理により非遊技プログラム用のスタックポインタSPが設定された後に退避させられるレジスタの状態は、遊技プログラムがRT情報出力処理を呼び出したときのレジスタの状態と異なることがある。
In the RT information output process, first, by using the above-described LD instruction, the value of the address indicated by the current stack pointer SP is read from the game stack area indicated by the stack pointer SP used by the calling game program. It is stored in a predetermined area of the game RAM area and saved. Thereafter, using the LD instruction, the value stored as the address indicated by the stack pointer SP at the end of the previous non-game program is read from a predetermined area of the non-game RAM area and set as the value indicated by the stack pointer SP. Thus, the stack pointer SP is set for the non-game program. Then, using the first save instruction described above, the values of all the registers (accumulator register, flag register, general-purpose register, index register, interrupt register, refresh register, program counter, etc.) included in the
その後、遊技RAM領域の所定領域に設定されているスロットマシン1の遊技状態に関する情報を参照し、当該遊技状態に関する情報(例えば、RTの状態)を外部出力信号として出力ポート7より出力させるように設定する。そして、RT情報出力処理を開始した際に非遊技スタック領域に記憶させて退避させていたレジスタの値を、退避させるときと逆の順序で非遊技スタック領域から順次読み出して、当該順序に対応するレジスタに設定することで、RT情報出力処理を開始したときの状態にすべてのレジスタを復帰させる。その後、上述のLD命令を用いて、RT情報出力処理を開始した際に非遊技RAM領域の所定領域に退避させたスタックポインタSPの値を読み出し、スタックポインタSPが示す値として設定することで、RT情報出力処理を開始したときの状態にスタックポインタSPを復帰させて、RT情報出力処理を終了させる。尚、上述の非遊技RAM領域初期化処理が終了される場合と同様に、非遊技プログラムに含まれるRT情報出力処理を終了させて、遊技プロクラムに復帰させるために、当該RT情報出力処理の開始時に退避させていたすべてのレジスタの値を復帰させた後に、スタックポインタSPを非遊技プログラム用から遊技プログラム用に変更する際に、LD命令が用いられることで、フラグレジスタの第2ゼロフラグTZが変更されることとなり、当該LD命令の実行される前後でフラグレジスタの状態が変化することがある。すなわち、RT情報出力処理が終了されるときのレジスタの状態は、当該RT情報出力処理が開始されるときに退避されたレジスタの状態と異なることがある。
Thereafter, the information regarding the gaming state of the
Sb2のステップにおいてRT情報出力処理を行った後には、上述の第2復帰命令を用いて、Sb1のステップにおいて退避させたフラグレジスタの値を、退避させるときと逆の順序で遊技スタック領域から順次読み出してフラグレジスタに設定することで復帰させる(Sb3)。Sb2のステップにおけるRT情報出力処理の内部での全レジスタの退避処理及び復帰処理と、Sb1及びSb3のステップにおけるフラグレジスタの退避処理及び復帰処理とが行われることにより、RT情報出力処理が行われた後において、メイン制御部41が備えるすべてのレジスタの状態が、当該処理が行われる前の状態に完全に復帰されることになる。
After the RT information output process is performed in the Sb2 step, the flag register values saved in the Sb1 step are sequentially used from the game stack area in the reverse order to the save using the above-described second return instruction. It returns by reading and setting to a flag register (Sb3). RT information output processing is performed by performing save processing and return processing of all registers in the RT information output processing in the step of Sb2, and flag register saving processing and recovery processing in the steps of Sb1 and Sb3. After that, the state of all the registers included in the
Sb3のステップにおいてフラグレジスタを復帰させた後は、タイマ割込みが1回行われるまで待機する割込み1回待ち処理を行う(Sb4)。割込み1回待ち処理では、タイマ割込みを許可に設定してタイマ割込み処理(メイン)が1回行われるまで待機する。そして、タイマ割込み処理(メイン)が1回行われたことが特定されることで、当該割込み1回待ち処理を終了する。 After the flag register is restored in step Sb3, a one-time interrupt process is performed to wait until the timer interrupt is performed once (Sb4). In the interrupt one-wait process, the timer interrupt is set to be permitted, and the process waits until the timer interrupt process (main) is performed once. Then, when it is specified that the timer interrupt process (main) has been performed once, the interrupt once wait process is terminated.
割込み1回待ち処理を行うことにより、次のタイマ割込み処理(メイン)が行われるまでの時間が最大限に確保されている状態で、割込み1回待ち処理の後に行われる処理を行うことができ、割込み1回待ち処理の後に行われる一連の処理の途中で意図せずタイマ割込みが行われてしまうことがないようになっている。Sb4のステップにおいて割込み1回待ち処理を行うことにより、割込み1回待ち処理の後に行われる遊技開始待ち処理のSc1のステップ〜Sc10のステップまでの処理の途中で意図せずタイマ割込みが行われてしまうことを防止して、Sc1のステップ〜Sc10のステップまでの処理を一連の処理として行うことができるようになっている。 By performing the one-wait interrupt processing, the processing that is performed after the one-wait interrupt processing can be performed in a state in which the time until the next timer interrupt processing (main) is performed is maximized. The timer interrupt is not unintentionally performed in the middle of a series of processes performed after the interrupt one-wait process. By performing the one-interrupt waiting process at the step Sb4, a timer interrupt is unintentionally performed during the process from the Sc1 step to the Sc10 step of the game start waiting process performed after the one-interrupt waiting process. The process from the step Sc1 to the step Sc10 can be performed as a series of processes.
また、割込み1回待ち処理を行うことにより、タイマ割込み処理を確実に1回行うことで、当該タイマ割込み処理に含まれる各処理が行われた後の状態で、割込み1回待ち処理の後に行われる一連の処理を行うことができる。例えば、Sb4のステップにおいて割込み1回待ち処理を行うことにより、タイマ割込み処理に含まれる後述のポート入力処理が行われて、各種スイッチ類やセンサ類の入力データが更新された状態で、遊技開始待ち処理のSc1のステップ〜Sc10のステップまでの処理を行うことができるようになっている。 In addition, by performing the interrupt once wait process, the timer interrupt process is performed once, so that after each process included in the timer interrupt process is performed, the interrupt interrupt process is performed after the interrupt once wait process. A series of processes can be performed. For example, by performing a one-time interrupt process in step Sb4, the port input process described later included in the timer interrupt process is performed, and the game starts with the input data of various switches and sensors updated. Processing from the step Sc1 to the step Sc10 of the waiting process can be performed.
そして、タイマ割込み処理(メイン)が行われた後、遊技開始待ち処理を行って(Sb5)、前の一遊技の制御の終了後から次の一遊技を開始させるまでの処理を行う。遊技開始待ち処理では、メダルの投入等に応じて賭数を設定する処理を行い、規定数の賭数が設定された状態でスタートスイッチ7の操作が検出されることで、次の一遊技を開始させる処理を行う。
Then, after the timer interrupt process (main) is performed, a game start waiting process is performed (Sb5), and the process from the end of the control of the previous one game to the start of the next one game is performed. In the game start waiting process, a process for setting the bet number according to the insertion of medals, etc. is performed, and the operation of the
そして、入賞の発生を許容するか否かを決定(内部抽選)するための内部抽選処理を行う(Sb6)。内部抽選処理では、スロットマシン1において予め設定された設定値(1〜6)やスタートスイッチ7の検出による遊技の開始と同時に取得された内部抽選用の乱数値に基づいて、入賞の発生を許容するか否か(すなわち、表示結果の導出を許容するか否か)を決定する内部抽選を行う。
Then, an internal lottery process for determining whether or not winning is allowed (internal lottery) is performed (Sb6). In the internal lottery process, a winning is allowed based on a preset value (1-6) preset in the
その後、Sb1のステップと同様に、上述の第2退避命令を用いて、メイン制御部41が備えるレジスタのうち演算結果が格納されるフラグレジスタの値を遊技RAM領域の遊技スタック領域に所定の順序で記憶させることで退避させ(Sb7)、タイマ割込みを禁止に設定した後(Sb8)、上述のCALL命令を用いて、非遊技プログラムに含まれる当選情報出力処理を行って(Sb9)、内部抽選の抽選結果に関する情報を出力ポートより出力するための設定を行う。
Thereafter, similarly to the step of Sb1, using the above-described second save instruction, the value of the flag register in which the operation result is stored among the registers included in the
当選情報出力処理では、まず、上述のRT情報出力処理と同様にして、上述のLD命令を用いて、呼び出し元の遊技プログラムにより使用されていたスタックポインタSPの値を読み出し、非遊技RAM領域の所定領域に退避させる。その後、LD命令を用いて、前回の非遊技プログラムの終了時にスタックポインタSPにより示されるアドレスとして記憶されている値を読み出し、現在のスタックポインタSPが示す値として設定することで、スタックポインタSPを非遊技プログラム用に設定する。そして、上述の第1退避命令を用いて、上述のフラグレジスタを含むメイン制御部41が備えるすべてのレジスタの値を、非遊技RAM領域の非遊技スタック領域に所定の順序で記憶させることで退避させる。尚、非遊技プログラムに含まれる当選情報出力処理が遊技プロクラムから呼び出されることに伴って、スタックポインタSPを遊技プログラム用から非遊技プログラム用に変更する際に、LD命令が用いられることで、フラグレジスタの第2ゼロフラグTZが変更されることとなり、当該LD命令の実行される前後でフラグレジスタの状態が変化することがある。すなわち、遊技プログラムから当選情報出力処理が呼び出された際に、当該当選情報出力処理により非遊技プログラム用のスタックポインタSPが設定された後に退避させられるレジスタの状態は、遊技プログラムが当選情報出力処理を呼び出したときのレジスタの状態と異なることがある。
In the winning information output process, first, similarly to the RT information output process described above, the value of the stack pointer SP used by the calling game program is read using the LD instruction described above, and the non-game RAM area is read. Retreat to a predetermined area. After that, by using the LD instruction, the value stored as the address indicated by the stack pointer SP at the end of the previous non-game program is read and set as the value indicated by the current stack pointer SP, so that the stack pointer SP is set. Set for non-gaming programs. Then, by using the first save instruction described above, the values of all the registers included in the
その後、遊技RAM領域の所定領域に設定されている内部抽選の抽選結果を参照し、内部抽選における特別役の当選状況、一般役の当選状況を特定可能なデータを、非遊技プログラムである後述の試験信号出力処理から参照可能にRAM41cの所定領域に設定する。尚、当該当選情報出力処理によりRAM41cの所定領域に設定された特別役の当選状況、一般役の当選状況は、後述の試験信号出力処理にて参照されて、試験信号として出力されるようになっている。
Then, referring to the lottery result of the internal lottery set in a predetermined area of the game RAM area, data that can identify the winning situation of the special role and the winning situation of the general role in the internal lottery is a non-game program described later A predetermined area of the
そして、上述のRT情報出力処理と同様にして、上述の第1復帰命令を用いて、当選情報出力処理を開始した際に退避させていたレジスタの値を非遊技スタック領域から順次読み出して、当選情報出力処理を開始したときの状態にすべてのレジスタを復帰させる。その後、上述のLD命令を用いて当選情報出力処理を開始した際に非遊技RAM領域の所定領域に退避させたスタックポインタSPの値を読み出し、スタックポインタSPが示す値として設定することで、当選情報出力処理を開始したときの状態にスタックポインタSPを復帰させて、当選情報出力処理を終了させる。尚、非遊技プログラムに含まれる当選情報出力処理を終了させて、遊技プロクラムに復帰させるために、当該当選情報出力処理の開始時に退避させていたすべてのレジスタの値を復帰させた後に、スタックポインタSPを非遊技プログラム用から遊技プログラム用に変更する際に、LD命令が用いられることで、フラグレジスタの第2ゼロフラグTZが変更されることとなり、当該LD命令の実行される前後でフラグレジスタの状態が変化することがある。すなわち、当選情報出力処理が終了されるときのレジスタの状態は、当該当選情報出力処理が開始されるときに退避されたレジスタの状態と異なることがある。 In the same manner as the RT information output process described above, the register values saved when the winning information output process was started are sequentially read out from the non-game stack area using the first return instruction described above. All registers are restored to the state when the information output process was started. Thereafter, when the winning information output process is started using the above-described LD instruction, the value of the stack pointer SP saved in the predetermined area of the non-game RAM area is read and set as the value indicated by the stack pointer SP. The stack pointer SP is returned to the state when the information output process is started, and the winning information output process is terminated. In addition, in order to end the winning information output process included in the non-game program and return to the game program, after returning all the register values saved at the start of the winning information output process, the stack pointer When the SP is changed from the non-game program to the game program, the LD instruction is used, so that the second zero flag TZ of the flag register is changed, and the flag register before and after the execution of the LD instruction is changed. The state may change. That is, the state of the register when the winning information output process is ended may be different from the state of the register saved when the winning information output process is started.
Sb9のステップにおいて当選情報出力処理を行った後は、タイマ割込みを許可に設定する(Sb10)。そして、Sb3のステップと同様に、上述の第2復帰命令を用いて、Sb7のステップにおいて遊技スタック領域に退避させたフラグレジスタの値を、退避させるときと逆の順序で遊技スタック領域から順次読み出してフラグレジスタに設定することで、当選情報出力処理を行う前の状態にフラグレジスタを復帰させる(Sb11)。Sb9のステップにおける当選情報出力処理の内部での全レジスタの退避処理及び復帰処理と、Sb7及びSb11のステップにおけるフラグレジスタの退避処理及び復帰処理とが行われることにより、当選情報出力処理が行われた後において、メイン制御部41が備えるすべてのレジスタの状態が、当該処理が行われる前の状態に完全に復帰されることになる。
After the winning information output process is performed in step Sb9, the timer interrupt is set to be permitted (Sb10). Then, similarly to the step of Sb3, using the above-described second return instruction, the value of the flag register saved in the game stack area in the step of Sb7 is sequentially read from the game stack area in the reverse order of the saving. By setting in the flag register, the flag register is returned to the state before the winning information output process is performed (Sb11). The winning information output process is performed by performing the saving process and restoring process of all the registers in the winning information output process in the step of Sb9 and the saving process and restoring process of the flag register in the steps of Sb7 and Sb11. After that, the state of all the registers included in the
Sb11のステップにおいてレジスタを復帰させた後、演出制御処理(Sb12)、フリーズ制御設定処理(Sb13)、制御状態コマンド群送信処理(Sb14)、遊技開始コマンド送信処理(Sb15)を順次行う。演出制御処理では、メイン制御部41が演出制御を行う際に参照する演出用フラグの設定を行う。フリーズ制御設定処理では、所定終了条件が成立するまで遊技の進行を遅延させるフリーズ制御について、当該フリーズ制御を行う旨の要求の有無を確認して、要求がある場合にフリーズ制御の種類や当該フリーズ制御を行うタイミングをRAM41cの所定領域に設定する。制御状態コマンド群送信処理では、一遊技の開始時点における各種の制御状態を特定可能な複数のコマンドを含む制御状態コマンド群をサブ制御部91に対して送信する。遊技開始コマンド送信処理では、一遊技が開始された旨を特定可能な遊技開始コマンドをサブ制御部91に対して送信する。
After returning the register in step Sb11, the effect control process (Sb12), the freeze control setting process (Sb13), the control state command group transmission process (Sb14), and the game start command transmission process (Sb15) are sequentially performed. In the effect control process, an effect flag that is referred to when the
Sa15のステップにおいて遊技開始コマンド処理と行った後は、Sb13のステップにおいてRAM41cに設定されたフリーズ制御の種類やタイミングに基づいてフリーズ制御を実行するフリーズ実行処理を行う(Sb16)。フリーズ実行処理では、Sb13のステップにおいて遊技の開始時にフリーズ制御を行う旨が設定されている場合には、フリーズ制御を実行して所定期間にわたり遊技の制御を遅延させる。また、フリーズ制御の種類として、リール2L、2C、2Rを用いた演出(以下、リール演出と呼ぶ)を伴うフリーズ制御の種類が設定されている場合には、リールモータ32L、32C、32Rを励磁させる励磁パターンとして演出用加速パターン(例えば、遊技でのリールの回転と異なる方向に回転させる加速パターン、遊技でのリールの回転に比べて遅い速度で、遊技での回転と同じ方向に回転を開始させる加速パターン、リールを振動させる加速パターン等)をRAM41cの所定領域に設定して、フリーズ制御を行っている期間内においてリール演出を行うように制御する。
After performing the game start command process in the step of Sa15, the freeze execution process for executing the freeze control based on the type and timing of the freeze control set in the
Sb16のステップにおいてフリーズ制御実行処理を行った後は、演出制御を行っている旨を示すウェイト中LED19をON状態(点灯状態)に制御し(Sb17)、前回の遊技におけるリール回転開始時点からの経過時間を計時するためにRAM41cの所定領域に設定されている一遊技時間管理用タイマを参照して(Sb18)、一遊技時間管理用タイマに基づいて前回の遊技におけるリール回転開始時点から一遊技の規定時間(本実施例では4.1秒)が経過したか否かを判定する(Sb19)。そして、一遊技の規定時間が経過していないと判定した場合は、一遊技時間管理用タイマに基づいて一遊技の規定時間が経過するまで待機し、一遊技時間管理用タイマに基づいて一遊技規定時間が経過した後に、一遊技時間管理用タイマに予め定められた所定値(本実施例では、4.1秒に対応する値)を設定して、新たにリール回転開始時点からの経過時間の計時を開始させ(Sb20)、ウェイト中LED19をOFF状態(消灯状態)に制御し(Sb21)、リール2L、2C、2Rの回転制御を開始させる旨を特定可能なリール回転開始コマンドをサブ制御部91に対して送信するリール回転開始コマンド送信処理を行う(Sb22)。一方、Sa19のステップにおいて一遊技の規定時間が経過していると判定した場合は、直ちに、Sb20〜Sb22のステップの処理を行う。尚、一遊技時間管理用タイマは、Sb20のステップにおいて所定値が設定された後は、所定時間毎に減算されて、遊技におけるリール回転開始時点から一遊技の規定時間(本実施例では4.1秒)が経過したときに、0となるようになっており、一遊技時間管理用タイマが0か否かに基づいて一遊技規定時間が経過したか否かを判定できるようになっている。
After performing the freeze control execution process in the step of Sb16, the waiting
Sa22のステップにおいてリール回転開始コマンド送信処理を行った後は、リールモータ32L、32C、32Rを励磁制御する際の励磁パターンとして、遊技用の所定速度でリールを回転制御する通常加速パターンをRAM41cの所定領域に設定し(Sb23)、RAM41cに設定されている励磁パターンに基づいてリールモータ32L、32C、32Rを励磁制御することでリールの回転を開始させるリール起動処理を行う(Sb24)。
After the reel rotation start command transmission process is performed in step Sa22, a normal acceleration pattern for controlling the rotation of the reel at a predetermined speed for gaming is used as an excitation pattern for the excitation control of the
そして、ナビ報知処理を行う(Sb25)。ナビ報知処理では、ATの制御が行われており、内部抽選にて報知対象役が当選している場合には、当該報知対象役に応じて遊技者にとって有利な停止態様を特定可能なナビ番号を、遊技補助表示器12に表示させるように制御する一方、ATの制御が行われていない場合には、ナビ番号を遊技補助表示器12に表示させないように制御する。
Then, a navigation notification process is performed (Sb25). In the navigation notification process, when the AT is controlled and the notification target combination is won in the internal lottery, the navigation number that can specify a stop mode advantageous to the player according to the notification target combination Is controlled so as to be displayed on the game
Sb25のステップにおいてナビ報知処理を行った後は、リールの停止制御に必要な各種情報をRT状態及び内部抽選の抽選結果に応じて設定するリール停止初期設定処理(Sb26)を行う。そして、フリーズ制御処理を行い(Sb27)、Sb13のステップにおいて、当該タイミングでフリーズ制御を行う旨が設定されている場合には、設定されている種類のフリーズ制御を行う。 After the navigation notification process is performed in the step of Sb25, a reel stop initial setting process (Sb26) for setting various information necessary for the reel stop control according to the RT state and the lottery result of the internal lottery is performed. Then, freeze control processing is performed (Sb27), and if it is set in step Sb13 that freeze control is performed at the timing, the set type of freeze control is performed.
Sb27のステップにおいてフリーズ制御処理を行った後は、リールの停止制御を行うリール停止制御処理を行う(Sb28)。リール停止制御処理では、回転制御中のリールが所定の定速回転で回転されているかを判定し、定速回転で回転されていないリールがある場合には、リールエラーを検出して、該当するリールについて定速回転まで加速させる励磁パターンを設定して、回転制御中のすべてのリールが定速回転で回転されるように制御する。一方、回転制御中のすべてのリールが定速回転で回転されている場合には、回転制御中のリールの停止操作の受け付けを有効化し、ストップスイッチによる停止操作が行われるまで待機する。そして、停止操作が有効化されているリールについて有効な停止操作が検出されること(停止操作が有効なストップスイッチについてONエッジデータが検出されること)で、有効な停止操作が行われたリールについて、リール停止初期設定処理にて設定された情報等に基づいて所定の停止位置で停止させるリール停止制御を行う。このようなリール停止制御を、回転制御中のリールについて繰り返し行って、すべてのリールの回転を停止させることで、リール停止処理を終了させる。 After the freeze control process is performed in step Sb27, a reel stop control process for controlling the reel stop is performed (Sb28). In the reel stop control process, it is determined whether the reel whose rotation is being controlled is rotated at a predetermined constant speed. If there is a reel that is not rotated at a constant speed, a reel error is detected and the corresponding reel is detected. An excitation pattern for accelerating the reel to a constant speed is set, and control is performed so that all the reels under rotation control are rotated at a constant speed. On the other hand, when all the reels under rotation control are rotating at a constant speed, the reception of the stop operation of the reels under rotation control is validated, and the operation waits until the stop operation is performed by the stop switch. Then, when a valid stop operation is detected for a reel for which the stop operation is enabled (ON edge data is detected for a stop switch for which the stop operation is valid), a reel for which a valid stop operation has been performed. Is controlled to stop at a predetermined stop position based on information set in the reel stop initial setting process. Such reel stop control is repeatedly performed for the reels under rotation control, and the reel stop process is terminated by stopping the rotation of all the reels.
そして、リール停止処理を終了させた後は、フリーズ制御処理を行い(Sb29)、Sb13のステップにおいて、当該タイミングでフリーズ制御を行う旨が設定されている場合には、設定されている種類のフリーズ制御を行う。 After the reel stop process is terminated, a freeze control process is performed (Sb29). If it is set in step Sb13 that the freeze control is performed at the timing, the type of freeze set. Take control.
その後、RT状態チェック処理(Sb30)、入賞判定処理(Sb31)を行う。RT状態チェック処理では、リールにRT状態の移行を伴うRT移行図柄の組合せが停止しているか否かを判定し、RT移行図柄の組合せが停止している場合には、RAM41cの所定領域に設定されている現在のRT状態を、当該RT移行図柄の組合せに応じたRT状態に更新する。入賞判定処理では、内部抽選結果及びリール2L、2C、2Rに停止している図柄組合せに基づいて不正入賞が発生しているか否かを判定する。
Thereafter, RT state check processing (Sb30) and winning determination processing (Sb31) are performed. In the RT state check process, it is determined whether or not the combination of RT transition symbols accompanying the transition of the RT state is stopped on the reel. The current RT state being updated is updated to an RT state corresponding to the combination of the RT transition symbols. In the winning determination process, it is determined whether or not an illegal winning has occurred based on the internal lottery result and the symbol combination stopped on the
そして、Sa31のステップにおける入賞判定処理を行った後は、メダル投入部4からのメダルの投入に関する異常やホッパーからのメダルの払い出しに関する異常が検出されているか否かを判定する投入払出エラーチェック処理を行う(Sa32)。
Then, after the winning determination process in the step of Sa31 is performed, an insertion / payout error check process for determining whether an abnormality related to the insertion of medals from the
投入払出エラーチェック処理では、払出センサ34cの信号(以下、メダル払出信号と呼ぶ場合がある)の遷移に異常が検出された旨を示す払出エラーフラグや、投入メダルセンサ31の信号(以下、メダル投入信号と呼ぶ場合がある)の遷移に異常が検出された旨を示す投入エラーフラグが、RAM41cの所定領域に設定されているか否かを判定し、払出エラーフラグや投入エラーフラグが設定されていない場合には、投入払出エラーチェック処理を終了させる。一方、払出エラーフラグが設定されている場合には、メダル払出信号の異常が検出された旨を示すエラーコード(E4)を所定のレジスタに準備して、エラー処理を行う。また、投入エラーフラグがRAM41cの所定領域に設定されているか否かを判定し、投入エラーフラグが設定されている場合には、メダル投入信号の異常が検出された旨を示すエラーコード(E5)を所定のレジスタに準備して、エラー処理を行う。
In the insertion / payout error check process, a payout error flag indicating that an abnormality has been detected in the transition of the signal of the
エラー処理では、所定のレジスタに準備されているエラーコード(E4、E5)を特定可能なエラーコマンドをサブ制御部91に対して送信し、当該エラーコード(E4、E5)をRAM41cの所定領域にその他の処理でも参照可能なエラーフラグとして設定する。また、当該エラーコード(E4、E5)を遊技補助表示器12に表示させるように制御する。その後は、所定のレジスタに準備されているエラーコード(E4、E5)に応じたエラー状態の解除条件が成立したことが特定されるまでエラー状態の制御を行う。エラーコード(E4)が所定のレジスタに準備されてエラー状態に移行された場合には、エラー状態の解除条件として、払出センサ34cの検出状態がOFF状態であり、かつリセット/設定スイッチ38またはリセットスイッチ23がON状態となったことが成立するまで待機し、当該解除条件が成立することで、エラー状態を解除する旨のエラーコマンド(解除)をサブ制御部91に対して送信し、エラー処理を終了させて、投入払出エラーチェック処理に戻る。また、エラーコード(E5)がレジスタに準備されてエラー状態に移行された場合には、エラー状態の解除条件として、投入メダルセンサ31a〜31cの検出状態がOFF状態であり、かつリセット/設定スイッチ38またはリセットスイッチ23がON状態となったことが成立するまで待機し、当該解除条件が成立することで、エラー状態を解除する旨のエラーコマンド(解除)をサブ制御部91に対して送信し、エラー処理を終了させて、投入払出エラーチェック処理に戻る。
In the error processing, an error command capable of specifying an error code (E4, E5) prepared in a predetermined register is transmitted to the
そして、メダル払出信号の異常が検出されて移行されたエラー処理、メダル投入信号の異常が検出されて移行されたエラー処理が終了された場合には、エラー処理を実行した旨を示すエラー実行フラグを所定のレジスタに設定し、投入払出エラーチェック処理を終了する。また、払出エラーフラグや投入エラーフラグが設定されておらず、エラー処理に移行しなかった場合には、エラー実行フラグを設定することとなく、投入払出エラーチェック処理を終了する。 Then, when the error process that has been transferred when the abnormality of the medal payout signal is detected and the error process that has been transferred because of the abnormality of the medal insertion signal is completed, an error execution flag indicating that the error process has been executed Is set in a predetermined register, and the input / output error check processing is terminated. If the payout error flag or the input error flag is not set and the process does not proceed to the error process, the input / output error check process is terminated without setting the error execution flag.
Sb32のステップにおいてエラーチェック処理(Sb32)を行った後は、割込み1回待ち処理を行い(Sb33)、タイマ割込み処理(メイン)が行われるまで待機する。そして、タイマ割込み処理(メイン)が1回行われたことを条件に、割込み1回待ち処理を終了させる。 After the error check process (Sb32) is performed in step Sb32, the process waits for one interrupt (Sb33) and waits until the timer interrupt process (main) is performed. Then, on the condition that the timer interrupt process (main) has been performed once, the interrupt one-wait process is terminated.
Sb33のステップにおいて割込み1回待ち処理を行った後は、Sb3のステップやSb7のステップと同様に、上述の第2復帰命令を用いて、メイン制御部41が備えるレジスタのうち演算結果が格納されるフラグレジスタの値を遊技RAM領域の遊技スタック領域に所定の順序で記憶させることで退避させ(Sb34)、タイマ割込みを禁止に設定した後(Sb35)、上述のCALL命令を用いて、非遊技プログラムに含まれる役比モニタ用データ処理を行う(Sb36)。
After waiting for one interrupt at the step Sb33, the operation result is stored in the register included in the
このように、Sb33のステップにおいて割込み1回待ち処理を行った後に、役比モニタ用データ処理(Sb36)を行うことで、次のタイマ割込み処理(メイン)が行われるまでの時間が最大限に確保されている状態で、当該役比モニタ用データ処理を行うことができ、当該役比モニタ用データ処理の途中で意図せずタイマ割込みが行われてしまうことを防止できる。また、Sb35のステップにおいてタイマ割込みを禁止に設定して、タイマ割込みが禁止された状態で役比モニタ用データ処理を行い、その後のSb37のステップにおいてタイマ割込みの禁止設定を解除することで、当該役比モニタ用データ処理の途中で意図せずタイマ割込みが行われてしまうことを確実に防止できる。また、Sb33のステップにおいて、役比モニタ用データ処理を行うためにタイマ割込みを禁止状態に設定する前に割込み1回待ち処理を行って、タイマ割込み処理(メイン)を行わせることで、タイマ割込みが禁止されている状態(Sb35〜Sb37)であるときに、タイマ割込みを行うタイミングとなることを防止でき、タイマ割込みが禁止されている状態(Sb35〜Sb37)であるときに、タイマ割込みを行うタイミングとなることで、当該タイマ割込みの禁止が解除されたときに、タイマ割込みが行われて、意図しないタイミングでタイマ割込み処理(メイン)が行われてしまうことがないようになっている。 As described above, after performing the interrupt once waiting process in the step Sb33, the time until the next timer interrupt process (main) is performed is maximized by performing the role ratio monitor data process (Sb36). In the secured state, the ratio monitoring data processing can be performed, and it is possible to prevent a timer interrupt from being unintentionally performed during the ratio monitoring data processing. Also, in step Sb35, the timer interrupt is set to be prohibited, the role monitor data processing is performed in a state where the timer interrupt is disabled, and in the subsequent step Sb37, the timer interrupt prohibition setting is canceled, It is possible to reliably prevent an unintentional timer interrupt from occurring during the role monitor data processing. In step Sb33, a timer interrupt process (main) is performed by performing a one-time interrupt process before setting the timer interrupt to the disabled state in order to perform the role monitoring data process, thereby causing the timer interrupt process (main) to be performed. When the timer interrupt is prohibited (Sb35 to Sb37), the timer interrupt timing can be prevented, and when the timer interrupt is prohibited (Sb35 to Sb37), the timer interrupt is performed. With the timing, when the prohibition of the timer interrupt is canceled, the timer interrupt is performed, and the timer interrupt process (main) is not performed at an unintended timing.
また、Sb35のステップにおいてタイマ割込みを禁止に設定することで、上述のSb8のステップにおいてタイマ割込みを禁止に設定する場合と同様に、Sb34のステップにおいてフラグレジスタを退避させたときから役比モニタ用データ処理が開始され、すべてのレジスタの値を退避させる処理が行われるまでの期間に、タイマ割込み処理が行われることにより、レジスタの状態が当該フラグレジスタを退避させたときの状態から変化されてしまうことがないようになっている。 Further, by setting the timer interrupt to be prohibited in the step Sb35, as in the case of setting the timer interrupt to be disabled in the step Sb8 described above, the ratio monitor is used from the time when the flag register is saved in the step Sb34. The timer interrupt processing is performed during the period from when data processing is started until the processing for saving all register values is performed, so that the state of the register is changed from the state when the flag register is saved. It is designed not to end up.
役比モニタ用データ処理では、まず、上述のRT情報出力処理等と同様にして、上述のLD命令を用いて、呼び出し元の遊技プログラムにより使用されていたスタックポインタSPの値を読み出し、非遊技RAM領域の所定領域に退避させる。その後、LD命令を用いて、前回の非遊技プログラムの終了時にスタックポインタSPにより示されるアドレスとして記憶されている値を読み出し、スタックポインタSPが示す値として設定することで、スタックポインタSPを非遊技プログラム用に設定する。そして、上述の第1退避命令を用いて、フラグレジスタを含むメイン制御部41が備えるすべてのレジスタの値を、非遊技RAM領域の非遊技スタック領域に所定の順序で記憶させることで退避させる。尚、非遊技プログラムに含まれる役比モニタ用データ処理が遊技プロクラムから呼び出されることに伴って、スタックポインタSPを遊技プログラム用から非遊技プログラム用に変更する際に、LD命令が用いられることで、フラグレジスタの第2ゼロフラグTZが変更されることとなり、当該LD命令の実行される前後でフラグレジスタの状態が変化することがある。すなわち、遊技プログラムから役比モニタ用データ処理が呼び出された際に、当該役比モニタ用データ処理により非遊技プログラム用のスタックポインタSPが設定された後に退避させられるレジスタの状態は、遊技プログラムが役比モニタ用データ処理を呼び出したときのレジスタの状態と異なることがある。
In the role ratio monitor data processing, first, similarly to the RT information output processing described above, the value of the stack pointer SP used by the calling game program is read using the LD instruction described above, and the non-game It is saved in a predetermined area of the RAM area. Thereafter, by using the LD instruction, the value stored as the address indicated by the stack pointer SP at the end of the previous non-game program is read and set as the value indicated by the stack pointer SP, whereby the stack pointer SP is set to the non-game. Set for the program. Then, by using the first save instruction described above, the values of all the registers included in the
その後、非遊技プログラムに含まれる各状態カウント処理を行って、予め定められた所定期間(例えば、現在のゲームから6000ゲーム前までの期間、現在のゲームから175000ゲーム前までの期間、遊技者にとって有利な状態に制御された区間(有利区間)等)におけるメダルの払い出し枚数に関するデータを更新する。 Thereafter, each state count process included in the non-game program is performed, and a predetermined period (for example, a period from the current game to 6000 games before, a period from the current game to 175,000 games before, for the player) Data relating to the number of medals to be paid out in an advantageous section (advantageous section, etc.) is updated.
そして、上述の第1復帰命令を用いて、役比モニタ用データ処理を開始した際に非遊技スタック領域に記憶させて退避させていたレジスタの値を、退避させるときと逆の順序で非遊技スタック領域から順次読み出して、当該順序に対応するレジスタに設定することで、役比モニタ用データ処理を開始したときの状態にすべてのレジスタを復帰させる。その後、上述のLD命令を用いて、役比モニタ用データ処理を開始した際に非遊技RAM領域の所定領域に退避させたスタックポインタSPの値を読み出し、スタックポインタSPが示す値として設定することで、役比モニタ用データ処理を開始したときの状態にスタックポインタSPを復帰させて、役比モニタ用データ処理を終了させる。尚、非遊技プログラムに含まれる役比モニタ用データ処理を終了させて、遊技プロクラムに復帰させるために、当該役比モニタ用データ処理の開始時に退避させていたすべてのレジスタの値を復帰させた後に、スタックポインタSPを非遊技プログラム用から遊技プログラム用に変更する際に、LD命令が用いられることで、フラグレジスタの第2ゼロフラグTZが変更されることとなり、当該LD命令の実行される前後でフラグレジスタの状態が変化することがある。すなわち、役比モニタ用データ処理が終了されるときのレジスタの状態は、当該役比モニタ用データ処理が開始されるときに退避されたレジスタの状態と異なることがある。 Then, by using the first return instruction described above, the register values stored and saved in the non-game stack area when the ratio monitoring data processing is started are not played in the reverse order of the saving. By sequentially reading from the stack area and setting the registers corresponding to the order, all registers are returned to the state when the role monitor data processing is started. Thereafter, by using the above-described LD instruction, the value of the stack pointer SP saved in the predetermined area of the non-game RAM area when the role ratio monitoring data process is started is read and set as the value indicated by the stack pointer SP. Thus, the stack pointer SP is returned to the state when the role ratio monitoring data processing is started, and the role ratio monitoring data processing is ended. In addition, in order to finish the role monitor data processing included in the non-game program and return to the game program, all register values saved at the start of the role monitor data processing are restored. Later, when the stack pointer SP is changed from a non-game program to a game program, the second zero flag TZ of the flag register is changed by using the LD instruction, and before and after the LD instruction is executed. As a result, the state of the flag register may change. That is, the state of the register when the role ratio monitoring data processing is ended may be different from the state of the register saved when the role ratio monitoring data processing is started.
Sb36のステップにおいて役比モニタ用データ処理を行った後は、タイマ割込みを許可に設定する(Sb37)。そして、Sb3のステップやSb11のステップと同様に、上述の第2復帰命令を用いて、Sb34のステップにおいて退避させたフラグレジスタの値を、退避させるときと逆の順序で遊技スタック領域から順次読み出してフラグレジスタに設定することで、役比モニタ用データ処理を行う前の状態にフラグレジスタを復帰させる(Sb38)。Sb36のステップにおける役比モニタ用データ処理の内部での全レジスタの退避処理及び復帰処理と、Sb34及びSb38のステップにおけるフラグレジスタの退避処理及び復帰処理とが行われることにより、役比モニタ用データ処理が行われた後において、メイン制御部41が備えるすべてのレジスタの状態が、当該処理が行われる前の状態に完全に復帰されることになる。
After performing the role monitor data processing in the step of Sb36, the timer interrupt is set to be permitted (Sb37). Then, similarly to the step Sb3 and the step Sb11, the value of the flag register saved in the step Sb34 is sequentially read from the game stack area in the reverse order to the save using the second return instruction described above. By setting in the flag register, the flag register is returned to the state before performing the role monitor data processing (Sb38). By performing the saving process and restoring process for all registers in the role ratio monitoring data process in step Sb36 and the flag register saving process and restoration process in steps Sb34 and Sb38, the role ratio monitoring data After the processing is performed, the state of all the registers included in the
Sb38のステップにおいてフラグレジスタを復帰させた後、リプレイ中LED20をOFF状態(消灯状態)に制御し(Sb39)、リプレイ中である旨を示す再遊技中フラグをクリアし(Sb40)、遊技補助表示器12におけるナビ番号の表示をクリアした後(Sb41)、当該ゲームの結果として発生した入賞に応じた枚数のメダルを払い出すメダル払出処理を行う(Sb42)。
After the flag register is restored in step Sb38, the replaying
メダル払出処理では、発生した入賞に応じて、入賞役毎に予め定められた所定枚数のメダルを遊技者に対して付与して、付与するメダル枚数分をクレジットに加算し、クレジットが上限数(本実施例では、50)に達した場合には、ホッパーモータ34bを駆動させてクレジットに加算されなかった分のメダルをメダル払出口9から払い出す。
In the medal payout process, a predetermined number of medals determined in advance for each winning combination are given to the player according to the generated winning, and the number of medals to be given is added to the credit, and the credit is limited to the upper limit number ( In this embodiment, when 50) is reached, the
Sb42のステップにおいてメダル払出処理を行った後は、フリーズ制御処理を行い(Sb43)、Sb13のステップにおいて、当該タイミングでフリーズ制御を行う旨が設定されている場合には、設定されている種類のフリーズ制御を行う。 After the medal payout process is performed in the step Sb42, the freeze control process is performed (Sb43), and in the step Sb13, if it is set that the freeze control is performed at the timing, the type of the set type is set. Perform freeze control.
そして、遊技終了時設定処理を行って(Sb44)、再遊技役の図柄組合せがリール2L、2C、2Rに停止しているか否かを判定し、再遊技役の図柄組合せが停止している場合には、次ゲームにおいて再遊技を行うための賭数を設定する処理(本実施例では、RAM41cの所定領域に設定されている再遊技用メダルカウンタに、再遊技用メダルとして3を設定する。)や、再遊技中フラグをRAM41cの所定領域に設定する処理、リプレイ中LED20をON状態(点灯状態)に制御する処理等を行う。
When the game end setting process is performed (Sb44), it is determined whether or not the symbol combination of the re-gamer is stopped on the
そして、遊技終了時の出玉制御を行う出玉制御処理を行った後(Sb45)、遊技終了時における初期化対象のRAM41cの領域の先頭アドレスを設定し(Sb46)、RAM初期化処理を行って(Sb47)、当該先頭アドレスからRAM41cの終端までの領域を初期化する。
Then, after performing a ball control process for performing the ball control at the end of the game (Sb45), the start address of the area of the
そして、RAM41cの所定領域に設定されており、当該ゲームにおける内部抽選の抽選結果を示す当選フラグをクリアした後(Sb48)、一遊技が終了した旨を特定可能な遊技終了コマンドをサブ制御部91に対して送信する遊技終了コマンド送信処理を行い(Sb49)、Sb1のステップに戻り、Sb1〜Sb49のステップを繰り返し行う。メイン処理が一巡することで、一単位の遊技の制御に関する処理が終了することとなり、一単位の遊技毎にメイン処理が繰り返し実行されることとなる。
Then, after clearing a winning flag set in a predetermined area of the
このように、本実施例のメイン制御部41が行うメイン処理は、遊技プログラムに含まれる処理から非遊技プログラムに含まれる処理、例えば、非遊技RAM領域初期化処理、メダルセンサ処理、役比モニタ用データ処理、非遊技関連処理等を呼び出すようになっている。そして、非遊技プログラムに含まれる処理を呼び出す際には、該当する非遊技プログラムの処理を呼び出す毎に、呼び出し元の遊技プログラム側で、メイン制御部41が備えるレジスタのうちフラグレジスタの値を遊技スタック領域に記憶させて退避させ、呼び出し先の非遊技プログラム側で、遊技プログラムで使用しているスタックポインタSPの値を非遊技RAM領域に記憶させて退避するとともに、メイン制御部41が備えるすべてのレジスタの値を非遊技スタック領域に記憶させて退避させる処理を行う。そして、呼び出された非遊技プログラムに応じた処理(例えば、非遊技RAM領域初期化処理において非遊技RAM領域を初期化する処理、後述のメダルセンサ処理におけるメダルセンサチェック処理、後述の役比モニタ用データ処理における各状態カウント処理、後述の非遊技関連処理におけるセンサ監視処理、試験信号出力処理、メダル通過時間タイマ更新処理、役比モニタ表示データ選択処理等)を行うようになっている。
As described above, the main process performed by the
また、メイン制御部41は、非遊技プログラムの処理を行った後には、非遊技プログラム側で、当該非遊技プログラムの開始時に非遊技スタック領域に退避させた、すべてのレジスタの値を該当するレジスタに読み込んで当該非遊技プログラムの開始時の状態にレジスタを復帰させるとともに、当該非遊技プログラムの開始時に非遊技RAM領域に記憶させたスタックポインタSPの値をスタックポインタSPに設定して、当該非遊技プログラムの開始時の状態にスタックポインタSPを復帰させ、さらに、呼び出し元の遊技プログラム側で、非遊技プログラムの呼び出し前に遊技スタック領域に記憶させたフラグレジスタの値を、該当するフラグレジスタに読み込んで当該非遊技プログラムの呼び出し前の状態にレジスタを復帰させる処理を行うようになっている。
In addition, after processing the non-game program, the
また、メイン制御部41は、非遊技プログラムに従って各種処理を行う場合には、上述のCALL命令等を用いて遊技プログラムから非遊技プログラムを呼び出すことで、当該非遊技プログラムに従って各種処理を行い、当該非遊技プログラムに応じた各処理が終了することで、呼び出し元の遊技プログラムに復帰ようになっている。
In addition, when performing various processes according to the non-game program, the
本実施例のメイン制御部41(メインCPU41a)は、遊技プログラムに含まれるメイン処理から非遊技プログラムに含まれるRT情報出力処理、当選情報出力処理、役比モニタ用データ処理等を呼び出すことが可能であり、メイン処理により呼び出された非遊技プログラムに含まれる処理(RT情報出力処理、当選情報出力処理、役比モニタ用データ処理等)は、呼び出されて所定の処理を開始する際に、まず、LD命令を用いて、呼び出し元の遊技プログラムであるメイン処理により使用してスタックポインタSPの値を読み出してRAM41cの所定領域に退避させる処理を行うとともに、LD命令を用いて、前回の非遊技プログラムの終了時に退避させたスタックポインタSPの値を読み出して現在のスタックポインタSPが示す値として設定することで、スタックポインタSPを非遊技プログラム用に設定する処理を行う。
The main control unit 41 (
また、メイン処理により呼び出された非遊技プログラムは、LD命令を用いて、スタックポインタSPを非遊技プログラム用に設定した後、第1退避命令(PUSH ALL)を用いて、すべてのレジスタをRAM41cの所定領域に退避させる処理を行う。この際、スタックポインタSPを非遊技プログラム用に設定するために、LD命令が用いられることで、フラグレジスタの第2ゼロフラグTZが変更されることとなり、当該LD命令の実行される前後でフラグレジスタの状態が変化して、非遊技プログラム用のスタックポインタSPが設定されたときにおけるフラグレジスタの状態が、メイン処理が非遊技プログラムを呼び出すときにおける状態と異なることがある。すなわち、非遊技プログラム側にて、第1退避命令を用いて退避されるすべてのレジスタのうちフラグレジスタ以外のレジスタについては、メイン処理が非遊技プログラムを呼び出すときの状態と同じ状態である一方で、フラグレジスタについては、メイン処理が非遊技プログラムを呼び出すときの状態と異なることがある。
The non-game program called by the main process uses the LD instruction to set the stack pointer SP for the non-game program, and then uses the first save instruction (PUSH ALL) to store all the registers in the
また、メイン処理により呼び出された非遊技プログラムは、当該非遊技プログラムを終了させて遊技プログラムに含まれるメイン処理に復帰させる際に、第1復帰命令(POP ALL)を用いて、当該非遊技プログラムの処理の開始時に退避させたすべてのレジスタの値を復帰させた後、LD命令を用いて、スタックポインタSPを遊技プログラム用に設定して、メイン処理に復帰させる。この際に、LD命令が用いられることで、フラグレジスタの第2ゼロフラグTZが変更されることとなり、当該LD命令の実行される前後でフラグレジスタの状態が変化して、遊技プログラムからメイン処理に復帰するときのフラグレジスタの状態が、メイン処理が非遊技プログラムを呼び出したときの状態と異なることがある。すなわち、非遊技プログラムからメイン処理に復帰したときにおけるすべてのレジスタのうちフラグレジスタ以外のレジスタについては、メイン処理が非遊技プログラムを呼び出したときの状態と同じ状態である一方で、フラグレジスタについては、メイン処理が非遊技プログラムを呼び出したときの状態と異なることがある。 The non-game program called by the main process uses the first return instruction (POP ALL) to terminate the non-game program and return to the main process included in the game program. After all the register values saved at the start of the process are restored, the LD pointer is used to set the stack pointer SP for the game program and return to the main process. At this time, by using the LD instruction, the second zero flag TZ of the flag register is changed, and the state of the flag register changes before and after the execution of the LD instruction. The state of the flag register when returning may be different from the state when the main process calls the non-game program. That is, of all the registers when returning from the non-game program to the main process, the registers other than the flag register are in the same state as when the main process calls the non-game program, while the flag register The main process may be different from the state when the non-game program is called.
このように、非遊技プログラム側にて、第1退避命令及び第1復帰命令を用いて退避及び復帰されたフラグレジスタの状態は、メイン処理が非遊技プログラムを呼び出したときの状態、すなわちメイン処理が用いていたフラグレジスタの状態と異なる状態となることがあり、非遊技プログラム側では、メイン制御部41が備えるフラグレジスタを含むすべてのレジスタについてメイン処理が非遊技プログラムを呼び出すときの状態を保護することが困難である。
Thus, on the non-game program side, the state of the flag register saved and restored using the first save instruction and the first return instruction is the state when the main process calls the non-game program, that is, the main process. May be different from the state of the flag register used by the player, and the non-game program side protects the state when the main process calls the non-game program for all the registers including the flag register included in the
これに対して、本実施例のメイン処理では、非遊技プログラムに含まれる処理(RT情報出力処理、当選情報出力処理、役比モニタ用データ処理等)を呼び出す際に、該当する非遊技プログラムの処理を呼び出す毎に、呼び出し元のメイン処理側で、第2退避命令(PUSH AF)を用いて、メイン制御部41が備えるレジスタのうちフラグレジスタの状態を遊技スタック領域に記憶させて退避させて、非遊技プログラムに含まれる処理からメイン処理に復帰した際に、メイン処理側で、第2復帰命令(POP AF)を用いて、フラグレジスタの状態を遊技スタック領域に退避させていた状態に復帰させる。これにより、メイン処理では、呼び出した非遊技プログラムに含まれる処理から復帰した際に、メイン処理側において非遊技プログラムを呼び出すときに退避させた状態に、フラグレジスタの状態を復帰させることができるので、非遊技プログラム側により復帰されたレジスタのうちフラグレジスタ以外のレジスタについては、メイン処理が非遊技プログラムを呼び出すときの状態と同じ状態である一方で、フラグレジスタについては、メイン処理が非遊技プログラムを呼び出すときの状態と異なることがある場合でも、メイン処理に非遊技プログラムから復帰したときに、すべてのレジスタの状態を、メイン処理が非遊技プログラムを呼び出したときの状態に復帰させることができるようになっている。
On the other hand, in the main process of this embodiment, when calling a process (RT information output process, winning information output process, role monitor data process, etc.) included in the non-game program, the corresponding non-game program Each time a process is called, the main processing side of the caller uses the second save instruction (PUSH AF) to store the flag register state of the registers included in the
また、遊技プログラムに含まれるメイン処理から呼び出される非遊技プログラムに含まれる処理は、第1退避命令(PUSH ALL)を用いて、メイン制御部41が備えるすべてのレジスタの状態を非遊技スタック領域に退避させ、第1復帰命令(POP ALL)を用いて、メイン制御部41が備えるすべてのレジスタの状態を非遊技スタック領域に退避させた状態に復帰させる一方、メイン処理は、第2退避命令(PUSH AF)を用いて、メイン制御部41が備えるレジスタのうちフラグレジスタのみの状態を遊技スタック領域に退避させ、第2復帰命令(POP AF)を用いて、フラグレジスタの状態を遊技スタック領域に退避させた状態に復帰させるようになっている。これにより、遊技プログラムでは、1バイトの第2退避命令及び第2復帰命令を用いてフラグレジスタの状態を退避及び復帰させるので、非遊技プログラムにおいて用いられる2バイトの第1退避命令及び第1復帰命令を用いてレジスタの状態を退避及び復帰させる場合に比較して、遊技プログラムの容量を削減することができる。また、遊技プログラムでは、第2退避命令を用いて複数のレジスタのうちフラグレジスタのみの状態を遊技スタック領域に退避させるので、非遊技プログラムにおいて用いられる第1退避命令を用いてすべてのレジスタの状態を退避させる場合に比較して、遊技スタック領域の容量を削減することができる。
The process included in the non-game program called from the main process included in the game program uses the first save instruction (PUSH ALL) to set the state of all the registers included in the
本実施例のメイン処理など遊技プログラムに含まれる処理では、当該プログラムに基づいて各種処理を進行させるための判定に、フラグレジスタのうち第2ゼロフラグの値を用いることがないようになっている。 In the process included in the game program such as the main process of the present embodiment, the value of the second zero flag in the flag register is not used for the determination for proceeding various processes based on the program.
本実施例のメイン処理では、非遊技プログラムに含まれる処理(RT情報出力処理、当選情報出力処理、役比モニタ用データ処理等)を呼び出す際に、タイマ割込みを禁止に設定し、呼び出した処理からメイン処理に復帰した際に、タイマ割込みを許可に設定することで、非遊技プログラムに含まれる処理が実行されている期間にわたりタイマ割込みを禁止状態にするようになっている。 In the main process of this embodiment, when calling a process included in a non-game program (RT information output process, winning information output process, role monitor data process, etc.), the timer interrupt is disabled and the process is called. When returning from the main process to the main process, the timer interrupt is set to “permitted” so that the timer interrupt is disabled during the period during which the process included in the non-game program is being executed.
本実施例のメイン処理では、非遊技プログラムに含まれる処理(当選情報出力処理、役比モニタ用データ処理等)を呼び出す際に、フラグレジスタを退避させた後、タイマ割込みを禁止に設定して、呼び出した処理からメイン処理に復帰した際に、タイマ割込みを許可に設定した後、フラグレジスタを復帰させるようになっている。 In the main processing of this embodiment, when calling processing included in the non-game program (winning information output processing, role monitoring data processing, etc.), the timer interrupt is disabled after saving the flag register. When returning from the called process to the main process, the flag register is returned after setting the timer interrupt to be enabled.
本実施例の遊技プログラムに含まれるメイン処理等では、非遊技プログラムに含まれる当選情報出力処理、メダルセンサ処理、役比モニタ用データ処理等を呼び出すことが可能であり、これらの非遊技プログラムに含まれる処理は、次のタイマ割込み処理(メイン)が行われるまでの時間が十分に確保されている状態でメイン制御部41により実行される場合には、次のタイマ割込み処理(メイン)が行われるまでの時間内に、該処理に含まれるすべての処理が完了するが、次のタイマ割込み処理(メイン)が行われるまでの時間が十分に確保されていない状態でメイン制御部41により実行される場合には、次のタイマ割込み処理(メイン)が行われるまでの時間内に、該処理に含まれるすべての処理が完了せず、当該処理の実行中に次のタイマ割込み処理(メイン)が行われるタイミングとなる可能性がある容量のプログラムにより構成されている。
In the main process etc. included in the game program of the present embodiment, it is possible to call the winning information output process, medal sensor process, role monitoring data process, etc. included in the non-game program. The included process is executed by the
そして、本実施例の遊技プログラム(メイン処理、遊技開始待ち処理等)では、非遊技プログラムを呼び出す際に、割込み1回待ち処理を行ってタイマ割込み処理(メイン)が行われた後に、遊技プログラムから非遊技プログラムを呼び出す処理を含む一連の処理を行い、非遊技プログラム呼び出すようになっている。すなわち、割込み1回待ち処理を契機として非遊技プログラムを呼び出して行うことで、次のタイマ割込み処理(メイン)が行われるまでの時間が十分に確保されている状態で、非遊技プログラムを実行するようになっている。 In the game program of this embodiment (main process, game start waiting process, etc.), when calling a non-game program, the interrupt program is waited once and the timer interrupt process (main) is performed. A series of processes including a process for calling a non-game program is performed to call a non-game program. That is, the non-game program is executed in a state in which sufficient time is secured until the next timer interrupt process (main) is performed by calling and executing the non-game program in response to the interrupt one-wait process. It is like that.
[遊技開始待ち処理について]
本実施例のメイン制御部41が行う遊技開始待ち処理の制御内容について、図12に基づいて説明する。尚、遊技開始待ち処理は、遊技プログラムに含まれており、遊技プログラムに含まれるメイン処理において呼び出されるサブルーチンである。
[About the game waiting process]
The control content of the game start waiting process performed by the
図12に示すように、遊技開始待ち処理では、まず、メダル投入枚数表示処理を行い(Sc1)、スロットマシン1に投入済みのメダル枚数に応じた1〜3BETLED14〜16をON状態(点灯状態)に制御する。その後、ホッパータンク34aが満タン状態である旨を特定可能なエラーコード(E1)を所定のレジスタに準備し(Sc2)、所定のポート入力バッファを参照して、満タンセンサ35aの確定データに基づいてホッパータンク34aが満タン状態であるか否かを判定する(Sc3)。
As shown in FIG. 12, in the game start waiting process, first, a medal insertion number display process is performed (Sc1), and 1 to 3
Sc3のステップにおいてホッパータンク34aが満タン状態であると判定した場合には、エラー処理を行う(Sc4)。エラー処理では、遊技の進行が不能化されるエラー状態に制御する。また、所定のレジスタに準備されているエラーコード(E1)を特定可能なエラーコマンドをサブ制御部91に対して送信し、当該エラーコード(E1)をRAM41cの所定領域にその他の処理でも参照可能なエラーフラグとして設定する。また、当該エラーコード(E1)を遊技補助表示器12に表示させるように制御する。その後は、所定のレジスタに準備されているエラーコード(E1)に応じたエラー状態の解除条件が成立したことが特定されるまでエラー状態の制御を行う。エラーコード(E1)がレジスタに設定されてエラー状態に移行された場合には、満タンセンサ35aの確定データがOFF状態となるまで待機し、当該満タンセンサ35aの確定データがOFF状態となることで、エラー状態を解除する旨のエラーコマンド(解除)をサブ制御部91に対して送信し、エラー処理を終了させて、Sc5のステップへ進む。
If it is determined in step Sc3 that the
Sc3のステップにおいてホッパータンク34aが満タン状態でないと判定した場合、及びSc4のステップにおけるエラー処理を終了した場合には、RAM41cの所定領域に設定されている再遊技用メダルカウンタの値を所定のレジスタに読み込む(Sc5)。尚、再遊技用メダルカウンタには、前回のメイン処理における遊技終了時設定処理により、前回の遊技の結果に応じた値が設定されており、前回の遊技において再遊技役が入賞して再遊技が付与された場合には、遊技を行うために必要な賭数の規定数に相当する数値(例えば、3)が設定されている一方で、前回の遊技において再遊技が付与されなかった場合には、0が設定されている。
If it is determined in step Sc3 that the
その後、RAM41cの再遊技用メダルカウンタをクリアし(Sc6)、Sc5のステップにおいて読み込んだ再遊技用メダルカウンタの値が0より大きいか否か、すなわち再遊技が付与されている否かを判定し(Sc7)、再遊技が付与されている場合には、メダル投入実行処理を行う(Sc8)。メダル投入実行処理では、再遊技用メダルカウンタの値を賭数に設定するとともに、1〜3BETLED14〜16をON状態(点灯状態)に設定して規定数の賭数(本実施例では、3)が設定されている旨を報知する。また、賭数の設定に使用されたメダル枚数を特定可能な投入枚数コマンドをサブ制御部91に対して送信する。
Thereafter, the replay medal counter in the
Sc7のステップにおいて再遊技用メダルカウンタの値が0である、すなわち再遊技が付与されていないと判定した場合、及びSc8のステップにおいて再遊技が付与されたことによりメダル投入実行処理を行った後は、メダル手入れ許可設定処理を行う(Sc9)。メダル手入れ許可設定処理では、RAM41cの所定領域に設定されているクレジットの値を参照し、当該クレジットの値が最大値(本実施例では、50)に達していない場合に、メダル投入部4からのメダルの投入を許可する旨を示すメダル手入れ許可フラグをRAM41cの所定領域に設定する。
After performing the medal insertion execution process when the value of the replay medal counter is 0 in the step of Sc7, that is, when it is determined that no replay is given, and when the replay is given in the step of Sc8 Performs medal care permission setting processing (Sc9). In the medal care permission setting process, the value of the credit set in the predetermined area of the
Sc9のステップにおいてメダル手入れ許可設定処理を行った後は、割込み1回待ち処理を行う(Sc10)。割込み1回待ち処理を行うことで、タイマ割込み処理(メイン)が行われて各種スイッチ類の検出状態やLEDの点灯状態、各種タイマ等が更新されることとなり、これらの各種スイッチ類の検出状態が更新された状態で、その後の処理(例えば、後述のメダル投入払出エラーチェック処理、メダル投入信号処理、操作入力受付処理)を行わせることができる。 After the medal care permission setting process is performed in the step of Sc9, a process of waiting for one interruption is performed (Sc10). By performing a one-time interrupt process, timer interrupt processing (main) is performed and the detection status of various switches, LED lighting status, various timers, etc. are updated, and the detection status of these various switches Then, the subsequent processing (for example, medal insertion / payout error check processing, medal insertion signal processing, operation input reception processing described later) can be performed.
Sc10のステップにおいて割込み1回待ち処理を行ってタイマ割込みが1回行われた後は、上述のメイン処理のSb32のステップと同様の投入払出エラーチェック処理を行う(Sc11)。そして、RAM41cの所定領域にエラー実行フラグが設定されているか否かに基づいて、エラーチェック処理にてエラー処理が実行されたか否かを判定する(Sc12)。
After the waiting process is performed once in the step of Sc10 and the timer interruption is performed once, the same input / output error check processing as the step of Sb32 of the main processing described above is performed (Sc11). Then, based on whether or not an error execution flag is set in a predetermined area of the
Sc12のステップにおいてエラーチェック処理にてエラー処理が実行されたと判定した場合は、Sc10のステップに戻り、Sc10〜Sc12のステップの各処理を再び行う。その後、メダル払出信号の遷移やメダル投入信号の遷移に異常が検出されない状態で、Sc10〜Sc12のステップの各処理が行われることで、エラー実行フラグが設定されていない状態で、Sc12のステップの処理が行われることとなる。 If it is determined that the error check process has been executed in the error check process in the step Sc12, the process returns to the step Sc10 and the processes in the steps Sc10 to Sc12 are performed again. Thereafter, each process of steps Sc10 to Sc12 is performed in a state where no abnormality is detected in the transition of the medal payout signal and the transition of the medal insertion signal, so that the error execution flag is not set and the step of Sc12 is performed. Processing will be performed.
一方、Sc12のステップにおいてエラー実行フラグが設定されていないと判定した場合は、メダル投入信号処理を行う(Sc13)。メダル投入信号処理では、メダル投入信号の遷移に基づいてメダルの投入状況を判定する。そして、正常なメダルの投入が検出された場合は、賭数の設定やクレジットにメダルを受け付けて、メダル投入信号処理を終了する。一方、異常なメダルの投入が検出された場合は、エラーコード(E5)を準備してエラー処理を行う。その後、エラー状態が解除されてエラー処理が終了されることで、メダル投入信号処理を終了する。 On the other hand, if it is determined in step Sc12 that the error execution flag is not set, medal insertion signal processing is performed (Sc13). In the medal insertion signal process, the medal insertion status is determined based on the transition of the medal insertion signal. When a normal medal insertion is detected, a medal is accepted for setting the bet amount and credit, and the medal insertion signal processing is terminated. On the other hand, when the insertion of an abnormal medal is detected, an error code (E5) is prepared and error processing is performed. Thereafter, the error state is canceled and the error processing is ended, whereby the medal insertion signal processing is ended.
Sc13のステップにおいてメダル投入信号処理を行った後は、各種スイッチの操作を受け付ける有効化して、操作が有効化されているスイッチの操作が行われることで、当該スイッチによる操作を受け付ける操作入力受付処理を行う(Sc14)。 After the medal insertion signal process is performed in the step of Sc13, the operation input reception process is performed in which the operation of the various switches is validated and the operation of the switch in which the operation is validated is performed. (Sc14).
操作入力受付処理では、メダル投入信号の遷移に基づいてメダルが通過中でないときに、RAM41cの所定領域に設定されているクレジットが、1以上である場合には、MAXBETスイッチ6による操作の受け付けを有効化する。また、メダル投入信号の遷移に基づいてメダルが通過中でないときに、RAM41cの所定領域に設定されている賭数が規定数である場合には、スタートスイッチ7による操作の受け付けを有効化する。また、メダル投入信号の遷移に基づいてメダルが通過中でない場合に、精算スイッチ10及び設定キースイッチ37による操作の受け付けを有効化する。
In the operation input reception process, when the medal is not passing based on the transition of the medal insertion signal and the credit set in the predetermined area of the
また、操作入力受付処理では、スタートスイッチ7による操作が有効な状態で、スタートスイッチ7の操作が検出された場合には、スタートスイッチ7が操作された旨を示すスタートフラグを所定レジスタに設定した後、流路切替ソレノイド30をOFF状態としてメダルの流路をメダル払出口9側に切り替える処理を行う。また、設定キースイッチ37による操作が有効な状態で、設定キースイッチ37による操作が検出された場合には、設定値表示器24に設定値を表示させる設定値表示処理を行う。また、精算スイッチ10による操作が有効な状態で、精算スイッチ10による操作が検出された場合には、クレジットに記憶されている分のメダルを遊技者に返却する精算処理を行う。また、MAXBETスイッチ6による操作が有効な状態で、MAXBETスイッチ6による操作が検出された場合には、クレジットに基づいて可能な範囲で規定数までのメダル枚数を賭数に設定し、賭数に設定した分のメダル枚数をクレジットから減算する処理を行う。操作が検出されたスイッチ類に応じた処理を行った後、操作入力受付処理を終了させる。
Further, in the operation input reception process, when the operation of the
Sc14のステップにおいて操作入力受付処理を行った後は、スタートフラグに基づいてスタートスイッチ7による有効な操作が検出されたか否かを判定する(Sc15)。所定のレジスタにスタートフラグが設定されておらず、スタートスイッチ7による有効な操作が検出されなかったと判定した場合は、Sc16のステップに進み、スタート有効LED18の点灯状態を制御するLED表示処理を行う。
After performing the operation input acceptance process in the step of Sc14, it is determined whether an effective operation by the
LED表示処理では、Sc14のステップの操作入力受付処理によりスタートスイッチ7による操作が有効に設定されている状態において、リセットスイッチ23以外のスイッチ類の操作が検出されない場合に、スタート有効LED18をON状態(点灯状態)に制御し、スタートスイッチ7による操作が有効に設定されている状態において、リセットスイッチ23以外のスイッチ類の操作が検出される場合、及びスタートスイッチ7による操作が有効に設定されていない場合に、スタート有効LED18をOFF状態(消灯状態)に制御して、スタート有効LED18の点灯状態によりスタートスイッチ7による操作が有効であるか無効であるかを報知する。
In the LED display process, when the operation of the
Sc15のステップにおいて、所定のレジスタにスタートフラグが設定されており、スタートスイッチ7による有効な操作が検出されたと判定した場合は、内部抽選用の乱数値を乱数回路42から取得して、RAM41cの所定領域に設定する(Sc17)。その後、設定されている賭数を特定可能なメダル投入状態データをRAM41cの所定領域に設定し(Sc18)、スタート有効LED18をOFF状態(消灯状態)に設定し(Sc19)、メダル手入れ許可フラグをRAM41cの所定領域からクリアし(Sc20)、遊技補助表示器12における払出枚数の表示をクリアするように制御して(Sc21)、遊技開始待ち処理を終了させ、メイン処理に戻る。その後、メイン処理では、Sc17のステップにおいて取得された乱数値を用いて内部抽選が行われ、スタートスイッチ7の操作が検出されたことに応じてリール2L、2C、2Rの回転が開始されることで、一遊技が開始されることとなる。
In step Sc15, when it is determined that a start flag is set in a predetermined register and a valid operation by the
このように、遊技プログラムに含まれる遊技開始待ち処理では、遊技プログラムに含まれるメダル投入信号処理を呼び出すことが可能であり、メダル投入信号処理を呼び出す際には、タイマ割込み処理(メイン)が1回行われるまで待機する割込み1回待ち処理を行った後に、当該メダル投入信号処理を呼び出すようになっている。後述のようにタイマ割込み処理(メイン)では、投入メダルセンサ31a〜31cを含むセンサ類の入力データを更新するポート入力処理が行われるようになっており、遊技開始待ち処理により割込み1回待ち処理1を行った後に、メダル投入信号処理を呼び出して行うことで、当該メダル投入信号処理により呼び出されるメダルセンサ処理において、タイマ割込み処理(メイン)により更新された最新の入力データに基づく処理を行わせることが可能となっている。
Thus, in the game start waiting process included in the game program, the medal insertion signal process included in the game program can be called. When the medal insertion signal process is called, the timer interrupt process (main) is 1 The medal insertion signal process is called after the waiting process is performed once for the interrupt to wait until it is repeated. As will be described later, in the timer interrupt process (main), a port input process for updating input data of sensors including the inserted
次に、本実施例のメイン制御部41が遊技開始待ち処理から呼び出して行うメダル投入信号処理の制御内容について、図13に基づいて説明する。尚、メダル投入信号処理は、遊技プログラムに含まれており、遊技プログラムに含まれる遊技開始待ち処理において呼び出されるサブルーチンである。
Next, the control contents of the medal insertion signal process performed by the
図13に示すように、メダル投入信号処理では、まず、上述の遊技開始待ち処理のメダル手入れ許可設定処理においてメダル投入部4からのメダルの投入を許可する旨を示すメダル手入れ許可フラグが設定されているか否かを判定する(Sd1)。そして、メダル手入れ許可フラグが設定されていない場合は、メダル投入信号処理を終了して、呼び出し元の遊技開始待ち処理に戻る。一方、メダル手入れ許可フラグが設定されている場合は、RAM41cの所定領域に設定されているメダル投入信号状態遷移データを参照する(Sd2)。メダル投入信号状態遷移データは、投入メダルセンサ31a〜31cの検出信号(以下、メダル投入信号と呼ぶ場合がある)の状態の遷移を特定可能なデータであり、非遊技プログラムに含まれるメダルセンサチェック処理により、投入メダルセンサ31a〜31cの入力データ等に基づいて所定のタイミングで更新されて、RAM41cの非遊技RAM領域の所定領域に設定されている。
As shown in FIG. 13, in the medal insertion signal process, first, a medal care permission flag indicating that the medal insertion permission from the
そして、Sd2のステップにおいて参照したメダル投入信号状態遷移データに基づいて、メダルセレクタ29における投入メダルセンサ31a〜31cの検出範囲A(図4、図5参照)を、メダル投入部4から投入されたメダルが通過中であるか否かを判定する(Sd3)。投入メダルセンサ31a〜31cの検出範囲Aをメダルが通過中でないと判定した場合は、流路切替ソレノイド30をON状態に制御して(Sd4)、メダル投入部4から投入されたメダルがメダルセレクタ29内のメダル流入流路29a及びメダル受入流路29bを流下してホッパータンク34aに導かれるように、メダル投入部4から投入されたメダルの流路を筐体1aの内部に設けられたホッパータンク34a側に切替えるように制御する。その後、メダル投入部4からメダルを投入可能である旨を示す投入要求LED17をON状態に制御し(Sd5)、メダル投入信号無視タイマをクリアする(Sd6)。
The detection range A (see FIGS. 4 and 5) of the inserted
ここで、メダル投入信号無視タイマは、流路切替ソレノイド30をOFF状態に設定する際に、少なくとも流路切替ソレノイド30をOFF状態とする制御信号の出力を設定してから、当該流路切替ソレノイド30が作動してメダル投入部4から投入されたメダルの流路がメダル払出口9側に実際に切り替えられるまでの切替時間の経過を計時して、切替時間の計時中には所定処理においてメダル投入信号を無視するように制御するためのタイマである。メダル投入信号無視タイマには、メダルの流路を切り替えるために流路切替ソレノイド30の制御信号の出力が設定された際に、少なくとも流路切替ソレノイド30の制御信号の出力設定を行ってから実際にメダルの流路が切り替えられるまでの所定時間(本実施例では、504ミリ秒)が設定される。その後、タイマ割込み処理(メイン)によりメダル投入信号無視タイマが減算されて更新され、0となることで切替時間が経過したことを特定できるようになっている。
Here, when setting the flow
Sd3のステップにおいて投入メダルセンサ31a〜31cの検出範囲Aをメダルが通過中であると判定した場合、及びSd6のステップにおいてメダル投入信号無視タイマをクリアした後は、上述の第2退避命令を用いて、メイン制御部41が備えるレジスタのうち演算結果が格納されるフラグレジスタの値を、遊技RAM領域の遊技スタック領域に所定の順序で記憶させることで退避させた後(Sd7)、タイマ割込みを禁止に設定し(Sd8)、上述のCALL命令を用いて、非遊技プログラムに含まれるメダルセンサ処理を呼び出して行う(Sd9)。
When it is determined in step Sd3 that the medal is passing through the detection range A of the inserted
メダルセンサ処理では、まず、上述のRT情報出力処理と同様にして、上述のLD命令を用いて、呼び出し元の遊技プログラムにより使用されていたスタックポインタSPにより示される遊技スタック領域から現在のスタックポインタSPが示すアドレスの値を読み出し、非遊技RAM領域の所定領域に記憶させて退避させる。その後、LD命令を用いて、前回の非遊技プログラムの終了時にスタックポインタSPにより示されるアドレスとして記憶されている値を、非遊技RAM領域の所定領域から読み出し、スタックポインタSPが示す値として設定することで、スタックポインタSPを非遊技プログラム用に設定する。そして、上述の第1退避命令を用いて、フラグレジスタを含むメイン制御部41が備えるすべてのレジスタ(アキュムレータレジスタ、フラグレジスタ、汎用レジスタ、インデックスレジスタ、インタラプトレジスタ、リフレッシュレジスタ、プログラムカウンタなど)の値を、スタックポインタSPにより特定される非遊技RAM領域の非遊技スタック領域に所定の順序で記憶させることで退避させる。尚、非遊技プログラムに含まれるメダルセンサ処理が遊技プロクラムから呼び出されることに伴って、スタックポインタSPを遊技プログラム用から非遊技プログラム用に変更する際に、LD命令が用いられることで、フラグレジスタの第2ゼロフラグTZが変更されることとなり、当該LD命令の実行される前後でフラグレジスタの状態が変化することがある。すなわち、遊技プログラムからメダルセンサ処理が呼び出された際に、当該メダルセンサ処理により非遊技プログラム用のスタックポインタSPが設定された後に退避させられるレジスタの状態は、遊技プログラムがメダルセンサ処理を呼び出したときのレジスタの状態と異なることがある。
In the medal sensor process, first, in the same manner as the RT information output process described above, the current stack pointer is determined from the game stack area indicated by the stack pointer SP used by the calling game program using the LD instruction described above. The value of the address indicated by the SP is read out, stored in a predetermined area of the non-game RAM area, and saved. Thereafter, using the LD instruction, the value stored as the address indicated by the stack pointer SP at the end of the previous non-game program is read from a predetermined area of the non-game RAM area and set as the value indicated by the stack pointer SP. Thus, the stack pointer SP is set for the non-game program. Then, using the first save instruction described above, the values of all the registers (accumulator register, flag register, general-purpose register, index register, interrupt register, refresh register, program counter, etc.) included in the
その後、メダル投入信号状態遷移データが正常であるか否かを判定する。そして、メダル投入信号状態遷移データが正常である場合には、メダルが投入メダルセンサ31a〜31cの検出範囲Aを正常に通過した旨を示すメダル通過状態参照データ(正常通過)またはメダルが投入メダルセンサ31a〜31cの検出範囲Aを通過し始めたことを検知した旨を示すメダル通過状態参照データ(メダル検知)、投入メダルセンサ31a〜31cの検出範囲Aでのメダルの通過状態が前回の判定時から変化していない旨を示すメダル通過状態参照データ(変化なし)をRAM41cの非遊技RAM領域の所定領域に設定する。その後、投入メダルセンサ31a〜31cの入力データに基づいてメダル投入信号状態遷移データを更新する。一方、メダル投入信号状態遷移データに異常がある場合には、メダル投入信号に関する異常が検出された旨を示すエラーコード(E5)を特定可能なメダル関連エラーデータを非遊技RAM領域の所定領域に設定する等の処理を行う。
Thereafter, it is determined whether or not the medal insertion signal state transition data is normal. If the medal insertion signal state transition data is normal, the medal passage state reference data (normal passage) indicating that the medal has successfully passed the detection range A of the
そして、上述のRT情報出力処理と同様にして、上述の第1復帰命令を用いて、メダルセンサ処理を開始した際に退避させていたレジスタの値を非遊技スタック領域から順次読み出して、メダルセンサ処理を開始したときの状態にすべてのレジスタを復帰させる。その後、上述のLD命令を用いて、メダルセンサ処理を開始した際に非遊技RAM領域の所定領域に退避させたスタックポインタSPの値を読み出し、スタックポインタSPが示す値として設定することで、メダルセンサ処理を開始したときの状態にスタックポインタSPを復帰させて、当選情報出力処理を終了させる。尚、非遊技プログラムに含まれるメダルセンサ処理を終了させて、遊技プロクラムに復帰させるために、当該メダルセンサ処理の開始時に退避させていたすべてのレジスタの値を復帰させた後に、スタックポインタSPを非遊技プログラム用から遊技プログラム用に変更する際に、LD命令が用いられることで、フラグレジスタの第2ゼロフラグTZが変更されることとなり、当該LD命令の実行される前後でフラグレジスタの状態が変化することがある。すなわち、メダルセンサ処理が終了されるときのレジスタの状態は、当該メダルセンサ処理が開始されるときに退避されたレジスタの状態と異なることがある。 Then, in the same manner as the RT information output process described above, the register values saved when the medal sensor process is started are sequentially read out from the non-game stack area using the first return instruction described above, and the medal sensor Restore all registers to the state they were in when processing started. Thereafter, by using the above-described LD instruction, the value of the stack pointer SP saved in a predetermined area of the non-game RAM area when the medal sensor process is started is read and set as a value indicated by the stack pointer SP. The stack pointer SP is returned to the state when the sensor process is started, and the winning information output process is ended. In order to end the medal sensor process included in the non-game program and return to the game program, after returning all register values saved at the start of the medal sensor process, the stack pointer SP is set. When changing from the non-game program to the game program, the second zero flag TZ of the flag register is changed by using the LD instruction, and the state of the flag register before and after the execution of the LD instruction is changed. May change. That is, the state of the register when the medal sensor process is ended may be different from the state of the register saved when the medal sensor process is started.
Sd9のステップにおいてメダルセンサ処理を行った後は、タイマ割込みを許可に設定し(Sd10)、上述の第2復帰命令を用いて、Sd7のステップにおいて退避させたレジスタの値を、退避させるときと逆の順序で遊技スタック領域から順次読み出してフラグレジスタに設定することで、当選情報出力処理を行う前の状態にフラグレジスタを復帰させる(Sd11)。Sd9のステップにおけるメダルセンサ処理の内部での全レジスタの退避処理及び復帰処理と、Sd7及びSd11のステップにおけるフラグレジスタの退避処理及び復帰処理とが行われることにより、メダルセンサ処理が行われた後において、メイン制御部41が備えるすべてのレジスタの状態が、当該処理が行われる前の状態に完全に復帰されることになる。
After the medal sensor process is performed in the step Sd9, the timer interrupt is set to be permitted (Sd10), and the value of the register saved in the step Sd7 is saved using the second return instruction described above. By sequentially reading from the game stack area in the reverse order and setting the flag register, the flag register is returned to the state before the winning information output process is performed (Sd11). After the medal sensor process is performed by performing the save process and the return process of all the registers in the medal sensor process in the step of Sd9 and the save process and the return process of the flag register in the steps of Sd7 and Sd11. In this case, the state of all the registers included in the
その後、非遊技RAM領域の所定領域を参照してメダル関連エラーデータを所定のレジスタに読み込み(Sd12)、エラーコード(E5)が設定されているか否かを判定する(Sd13)。そして、エラーコード(E5)が設定されている場合すなわちメダル関連エラーデータが所定のレジスタに読み込まれて、エラーコード(E5)が所定のレジスタに準備されている場合には、エラー処理を行って(Sd14)、遊技の進行を不能化するエラー状態に制御する。 Thereafter, referring to a predetermined area of the non-game RAM area, medal-related error data is read into a predetermined register (Sd12), and it is determined whether or not an error code (E5) is set (Sd13). When the error code (E5) is set, that is, when the medal related error data is read into a predetermined register and the error code (E5) is prepared in the predetermined register, error processing is performed. (Sd14), it controls to the error state that disables the progress of the game.
エラー処理では、エラー処理では、遊技の進行が不能化されるエラー状態に制御する。また、所定のレジスタに準備されているエラーコード(E5)を特定可能なエラーコマンドをサブ制御部91に対して送信し、当該エラーコード(E5)をRAM41cの所定領域にその他の処理でも参照可能なエラーフラグとして設定する。また、当該エラーコード(E5)を遊技補助表示器12に表示させるように制御する。その後は、所定のレジスタに準備されているエラーコード(E5)に応じたエラー状態の解除条件が成立したことが特定されるまでエラー状態の制御を行う。エラーコード(E5)が所定のレジスタに準備されてエラー状態に移行された場合には、エラー状態の解除条件として、投入メダルセンサ31a〜31cの検出状態がOFF状態であり、かつリセット/設定スイッチ38またはリセットスイッチ23がON状態となったことが成立するまで、遊技を進行させる制御を行わずに待機する。そして、当該解除条件が成立することで、エラー状態を解除する旨のエラーコマンド(解除)をサブ制御部91に対して送信し、エラー処理を終了させてメダル投入信号処理に戻る。
In the error process, the error process is controlled to an error state in which the progress of the game is disabled. Further, an error command capable of specifying an error code (E5) prepared in a predetermined register is transmitted to the
Sd13のステップにおいてメダル関連エラーデータとしてエラーコード(E5)が設定されていないと判定した場合、及びSd14のステップのエラー処理が終了した後は、RAM41cの非遊技RAM領域の所定領域に設定されているメダル通過状態参照データを参照して(Sd15)、メダル通過状態参照データの内容を判定する(Sd16、Sd17)。
When it is determined that the error code (E5) is not set as the medal related error data in the step of Sd13, and after the error processing of the step of Sd14 is completed, it is set to a predetermined area of the non-game RAM area of the
Sd16のステップにおいて、メダル通過状態参照データ(変化なし)が設定されていると判定した場合は、メダル投入信号処理を終了して遊技開始待ち処理に戻る。Sd17のステップにおいて、メダル通過状態参照データ(メダル検知)が設定されていると判定した場合は、Sd18のステップに進み、Sd17のステップにおいて、メダル通過状態参照データ(正常通過)が設定されており、メダル通過状態参照データ(メダル検知)が設定されていないと判定した場合には、Sd21のステップへ進む。 If it is determined in step Sd16 that medal passing state reference data (no change) is set, the medal insertion signal process is terminated and the process returns to the game start waiting process. If it is determined in step Sd17 that medal passing state reference data (medal detection) is set, the process proceeds to step Sd18, and in step Sd17, medal passing state reference data (normal passing) is set. If it is determined that the medal passage state reference data (medal detection) is not set, the process proceeds to step Sd21.
Sd17のステップにおいてメダル通過状態参照データ(メダル通過)が設定されていると判定した場合には、投入状況判定処理を行う(Sd18)。投入状況判定処理では、RAM41cの所定領域に設定されている現在のクレジット数を計数するクレジットカウンタを参照し、当該クレジットカウンタの値がスロットマシン1のクレジットの最大値(本実施例では、50)より1少ない状況、すなわち次に受け付けるメダルがクレジットに加算可能な最終メダルとなる状況であるか否かを判定する。そして、次に受け付けるメダルがクレジットに加算可能な最終メダルであるか否かを特定可能な最終受付フラグを所定のレジスタに設定して、投入状況判定処理を終了する。
If it is determined in step Sd17 that medal passage state reference data (medal passage) is set, an insertion state determination process is performed (Sd18). In the insertion status determination process, a credit counter that counts the current number of credits set in a predetermined area of the
Sd18のステップにおいて投入状況判定処理を行った後は、所定のレジスタに設定されている最終受付フラグに基づいて、次に受け付けるメダルがクレジットに加算可能な最終メダルであると判定される場合には、メダルブロッカオフ処理を行って(Sd20)、流路切替ソレノイド30をOFF状態に設定することで、メダル投入部4から投入されたメダルの流路をホッパータンク34a側からメダル払出口9側に切り替えて、投入メダルセンサ31cにより検出されているメダルより後にメダル投入部4に投入されたメダルを、メダル返却流路29cを介してメダル払出口9から返却するように制御する。また、メダルブロッカオフ処理では、流路切替ソレノイド30をOFF状態に設定した後、遊技RAM領域に設定されているメダル投入信号状態遷移データを参照して、投入メダルセンサ31a〜31cの検出範囲Aをメダルが通過中か否かを判定し、当該検出範囲Aをメダルが通過中である場合には、上述のメダル投入信号無視タイマに所定値(本実施例では、504ミリ秒に対応する値)を設定して、メダル投入信号無視タイマによる所定時間の計時を開始させる。これにより、メダルブロッカオフ処理の終了後から所定時間にわたり後述のセンサ監視処理において、メダル投入信号の状態にかかわらず、メダル投入信号の異常が判定されてセンサエラー参照データ(投入メダルセンサ)が設定されるようなことがないようになっている。
After performing the insertion situation determination process in step Sd18, when it is determined that the next medal to be accepted is the final medal that can be added to the credit based on the final acceptance flag set in the predetermined register. Then, the medal blocker off process is performed (Sd20), and the flow
Sd20のステップにおいてメダルブロッカオフ処理を行った後は、メダル投入信号処理を終了させて遊技開始待ち処理に戻る。一方、最終受付フラグに基づいて、次に受け付けるメダルがクレジットに加算可能な最終メダルでないと判定される場合には、メダルブロッカオフ処理を行わずにメダル投入信号処理を終了させて遊技開始待ち処理に戻る。 After the medal blocker off process is performed in step Sd20, the medal insertion signal process is terminated and the process returns to the game start waiting process. On the other hand, if it is determined that the medal to be accepted next is not the final medal that can be added to the credit based on the final acceptance flag, the medal insertion signal process is terminated without performing the medal blocker off process, and the game start waiting process Return to.
Sd17のステップにおいてメダル通過状態参照データ(正常通過)が設定されており、メダル通過状態参照データ(正常通過)が設定されていないと判定した場合には、ポート入力バッファの所定領域を参照して、投入メダルセンサ31bの確定データを取得し(Sd21)、当該確定データがON状態であるか否かを判定する(Sd22)。そして、投入メダルセンサ31bの確定データがON状態であると判定した場合は、ポート入力バッファの所定領域を参照して、投入メダルセンサ31cの入力データを取得し(Sd23)、当該入力データがOFF状態であるか否かを判定する(Sd24)。
When it is determined that the medal passage state reference data (normal passage) is set and the medal passage state reference data (normal passage) is not set in step Sd17, the predetermined area of the port input buffer is referred to. Then, the confirmed data of the inserted
Sd19のステップにおいて投入メダルセンサ31bの確定データがON状態でないと判定した場合、及び、投入メダルセンサ31bの確定データがON状態であり、かつ、Sd20のステップにおいて当該投入メダルセンサ31bの入力データがOFF状態でないと判定した場合、すなわちメダル受入流路29bをメダルが通過中である場合または当該メダル受入流路29bにメダルがない場合には、メダル投入信号処理を終了させる。一方、Sd22のステップにおいて投入メダルセンサ31bの確定データがON状態であると判定し、かつ、Sd24のステップにおいて当該投入メダルセンサ31bの入力データがOFF状態である判定した場合、すなわちメダル受入流路29bにおいて投入メダルセンサ31cがメダルを検出可能な検出位置をメダルが通過し終えたときである場合には、メダル投入処理を行う(Sd25)。
If it is determined in step Sd19 that the confirmed data of the inserted
メダル投入処理では、RAM41cの所定領域に記憶されている現在設定されている賭数を参照して、規定数の賭数が設定されているか否かを判定する。そして、規定数の賭数が設定されていない場合には、現在の賭数に1加算し、既に、規定数の賭数が設定されている場合には、クレジットカウンタに1加算する。
In the medal insertion process, it is determined whether or not a prescribed number of bets has been set with reference to the currently set bet numbers stored in a predetermined area of the
Sd25のステップにおいてメダル投入処理を行った後は、メダル手入れ許可設定処理を行って(Sd26)、クレジットカウンタに基づいてクレジットの値が最大値(本実施例では、50)に達していない場合に、メダル投入部4からのメダルの投入を許可する旨を示すメダル手入れ許可フラグをRAM41cの所定領域に設定する。
After performing the medal insertion process in the step of Sd25, the medal care permission setting process is performed (Sd26), and the credit value does not reach the maximum value (50 in this embodiment) based on the credit counter. Then, a medal care permission flag indicating that the medal insertion from the
Sd26のステップにおいてメダル手入れ許可設定処理を行った後、メダル手入れ許可フラグが設定されていない場合は、メダル投入信号無視タイマに予め定められた所定値(本実施例では、504ミリ秒に対応する値)を設定してメダル投入信号無視タイマによる所定時間の計時を開始させた後(Sd28)、メダル投入信号処理を終了させる。一方、メダル手入れ許可フラグが設定されている場合は、メダル投入信号無視タイマの設定を行わずに、メダル投入信号処理を終了させる。尚、メダル投入信号無視タイマは、Sd28のステップにおいて所定値(本実施例では、504ミリ秒に対応する値)が設定された後、所定時間毎に減算されて、予め定められた所定時間(本実施例では4.1秒)が経過したときに、0となるようになっておりメダル投入信号無視タイマが0か否かに基づいて所定時間が経過したか否かを判定できるようになっている。 If the medal care permission flag is not set after performing the medal care permission setting process in the step of Sd26, this corresponds to a predetermined value (in this example, 504 milliseconds) determined in the medal insertion signal ignore timer. Value) is set to start measuring a predetermined time by the medal insertion signal ignoring timer (Sd28), and the medal insertion signal processing is terminated. On the other hand, when the medal care permission flag is set, the medal insertion signal processing is ended without setting the medal insertion signal ignoring timer. The medal insertion signal ignoring timer is subtracted every predetermined time after a predetermined value (in this embodiment, a value corresponding to 504 milliseconds) is set in the step of Sd28, and a predetermined predetermined time ( In the present embodiment, when 4.1 seconds) elapses, it becomes 0, and it is possible to determine whether or not a predetermined time has elapsed based on whether or not the medal insertion signal ignore timer is 0. ing.
このように、遊技プログラムに含まれるメダル投入信号処理では、非遊技プログラムに含まれるメダルセンサ処理を呼び出すことが可能であり、メダルセンサ処理を呼び出す際には、フラグレジスタの値をRAM41cの遊技スタック領域に退避させ、メダルセンサ処理からメダル投入信号処理に復帰した際には、フラグレジスタの値をRAM41cの遊技スタック領域に退避させていた値に復帰させるようになっている。
As described above, in the medal insertion signal process included in the game program, the medal sensor process included in the non-game program can be called. When the medal sensor process is called, the value of the flag register is set to the game stack of the
また、遊技プログラムに含まれるメダル投入信号処理では、非遊技プログラムに含まれるメダルセンサ処理を呼び出す際には、タイマ割込みを禁止に設定して、メダルセンサ処理を行い、その後、メダルセンサ処理からメダル投入信号処理に復帰した際には、タイマ割込みを許可に設定することで、非遊技プログラムに含まれるメダルセンサ処理の実行中には、タイマ割込みを禁止状態とするようになっている。 In the medal insertion signal process included in the game program, when calling the medal sensor process included in the non-game program, the timer interrupt is set to be prohibited and the medal sensor process is performed. When returning to the insertion signal processing, the timer interruption is set to be permitted, so that the timer interruption is prohibited during execution of the medal sensor processing included in the non-game program.
また、遊技プログラムに含まれるメダル投入信号処理では、非遊技プログラムに含まれるメダルセンサ処理を呼び出す際には、フラグレジスタの値を退避させた後、タイマ割込みを禁止に設定して、メダルセンサ処理を行うようになっている。 Also, in the medal insertion signal processing included in the game program, when calling the medal sensor processing included in the non-game program, the value of the flag register is saved and then the timer interrupt is set to prohibition, and the medal sensor processing Is supposed to do.
また、遊技プログラムに含まれるメダル投入信号処理では、タイマ割込みを禁止設定した状態で非遊技プログラムに含まれるメダルセンサ処理を行った後、メダルセンサ処理からメダル投入信号処理に復帰した際に、タイマ割込みを許可に設定した後、フラグレジスタの値をRAM41cの遊技スタック領域に退避させていた値に復帰させるようになっている。
Also, in the medal insertion signal processing included in the game program, after the medal sensor processing included in the non-game program is performed with the timer interrupt prohibited, the timer is returned when returning from medal sensor processing to medal insertion signal processing. After setting the interrupt to permit, the value of the flag register is restored to the value saved in the game stack area of the
また、メダル投入信号処理は、遊技開始待ち処理により呼び出される処理であり、上述のように、遊技開始待ち処理では、タイマ割込み処理(メイン)が1回行われるまで待機する割込み1回待ち処理を行った後に、当該メダル投入信号処理を呼び出すようになっている。また、メダル投入信号処理では、該メダル投入信号処理を開始し、所定処理を行った後、タイマ割込みを禁止に設定して、非遊技プログラムに含まれるメダルセンサ処理を呼び出して行うようになっている。このように、遊技機開始待ち処理及びメダル投入信号処理では、遊技開始待ち処理が割込み1回待ち処理を行った後にメダル投入信号処理を呼び出し、当該メダル投入信号処理においてメダルセンサ処理を行うことで、少なくとも遊技開始待ち処理での割込み1回待ち処理によりタイマ割込み処理(メイン)が行われ、該タイマ割込み処理(メイン)に含まれるポート入力処理によりセンサ類の入力データが更新された状態で、メダルセンサ処理を行わせるようになっている。 The medal insertion signal process is a process called by the game start waiting process. As described above, in the game start waiting process, the interrupt one-wait process that waits until the timer interrupt process (main) is performed once is performed. After the execution, the medal insertion signal processing is called. Also, in the medal insertion signal processing, the medal insertion signal processing is started, and after predetermined processing is performed, the timer interrupt is disabled and the medal sensor processing included in the non-game program is called and performed. Yes. Thus, in the gaming machine start waiting process and the medal insertion signal process, the game start waiting process calls the medal insertion signal process after performing the interrupt once waiting process, and performs the medal sensor process in the medal insertion signal process. The timer interrupt process (main) is performed by at least one interrupt waiting process in the game start waiting process, and the input data of the sensors is updated by the port input process included in the timer interrupt process (main). Medal sensor processing is performed.
[メダルセンサ処理及びメダルセンサチェック処理について]
本実施例のメイン制御部41が行うメダルセンサ処理及びメダルセンサチェック処理の制御内容について、図14及び図15に基づいて説明する。尚、メダルセンサ処理は、非遊技プログラムに含まれており、遊技プログラムに含まれるメダル投入信号処理において呼び出されるサブルーチンである。また、メダルセンサチェック処理は、非遊技プログラムに含まれており、非遊技プログラムに含まれるメダルセンサ処理において呼び出されるサブルーチンである。
[About medal sensor processing and medal sensor check processing]
The control contents of the medal sensor process and the medal sensor check process performed by the
図14に示すように、メダルセンサ処理では、まず、上述のLD命令を用いて、呼び出し元の遊技プログラムにより使用されていたスタックポインタSPの示すアドレスの値を非遊技RAM領域の所定領域に記憶させて退避させる(Se1)。その後、上述のLD命令を用いて、当該スタックポインタSPの値として非遊技スタック領域の所定値(前回の非遊技プログラムの終了時に記憶された値)を設定することで、スタックポインタSPを非遊技プログラム用に設定する(Se2)。そして、上述の第1退避命令を用いて、メイン制御部41が備えるすべてのレジスタの値を非遊技スタック領域に所定の順序で記憶させることで退避させる(Se3)。その後、非遊技プログラムに含まれるメダルセンサチェック処理を行う(Se4)。
As shown in FIG. 14, in the medal sensor process, first, the value of the address indicated by the stack pointer SP used by the calling game program is stored in a predetermined area of the non-game RAM area using the above-described LD instruction. And retreat (Se1). Thereafter, by using the above-described LD instruction, a predetermined value in the non-game stack area (a value stored at the end of the previous non-game program) is set as the value of the stack pointer SP, so that the stack pointer SP is set to non-game. Set for the program (Se2). Then, using the above-described first save instruction, the values of all the registers included in the
Se4のステップにおいてメダルセンサチェック処理を行った後は、上述の第1復帰命令を用いて、Se3のステップにおいて退避させていたレジスタの値を非遊技スタック領域から順次読み出して、当選情報出力処理を開始したときの状態にすべてのレジスタを復帰させた後(Se5)、LD命令を用いて、Se1のステップにおいて非遊技RAM領域の所定領域に記憶させて退避させていたスタックポインタSPの値を、スタックポインタSPに設定することで、メダルセンサ処理を開始したときの状態にスタックポインタSPを復帰させ(Se6)、メダルセンサ処理を終了させて呼び出し元のメダル投入信号処理に戻る。 After performing the medal sensor check process in the Se4 step, the register values saved in the Se3 step are sequentially read out from the non-game stack area using the above-described first return instruction, and the winning information output process is performed. After returning all the registers to the state when they were started (Se5), using the LD instruction, the value of the stack pointer SP stored and saved in the predetermined area of the non-game RAM area in the step of Se1 is By setting the stack pointer SP, the stack pointer SP is returned to the state when the medal sensor process is started (Se6), the medal sensor process is terminated, and the process returns to the caller medal insertion signal process.
図15に示すように、メダルセンサチェック処理では、まず、RAM41cのうち非遊技RAM領域の所定領域に設定されているメダル通過状態参照データ及びメダル関連エラー参照データをクリアする(Sf1、Sf2)。メダル通過状態参照データは、メダルセンサチェック処理の処理結果として投入メダルセンサ31a〜31cの検出範囲Aにおけるメダルの通過状態を特定可能なデータであり、当該メダルセンサチェック処理により、投入メダルセンサ31a〜31cの入力データ等に基づいて、メダルが投入メダルセンサ31a〜31cの検出範囲Aを正常に通過したと判定されたことや、メダルが投入メダルセンサ31a〜31cの検出範囲Aを通過し始めたことを検知したと判定されたこと、投入メダルセンサ31a〜31cによるメダルの検出状態が前回の判定時から変化していないと判定されたことを特定可能である。メダル通過状態参照データの初期値は、メダルの検出状態が前回の判定時から変化していない旨を示すメダル通過状態参照データ(変化なし)である。また、メダル関連エラー参照データは、メダルセンサチェック処理の処理結果として、投入メダルセンサ31a〜31cの検出信号(以下、メダル投入信号と呼ぶ場合がある)に関する異常(エラーコードE5)が検出された旨を特定可能なデータである。また、メダル通過状態参照データ及びメダル関連エラー参照データは、RAM41cの非遊技RAM領域に設定されることで、非遊技プログラムにより参照及び更新が可能である一方で遊技プログラムからは参照のみが可能である。
As shown in FIG. 15, in the medal sensor check process, first, the medal passing state reference data and the medal related error reference data set in a predetermined area of the non-game RAM area in the
Sf1、Sf2のステップにおいてメダル通過状態参照データ及びメダル関連エラー参照データをクリアした後、ポート入力バッファの所定領域を参照して投入メダルセンサ31a〜31cの現在データを取得し(Sf3)、メダル投入信号の状態の遷移が正常であるか否かを判定するための正誤データを、ROM41bの所定領域を参照して取得し(Sf4)、RAM41cの所定領域を参照して前回以前のメダルセンタチェック処理において格納されたメダル投入信号状態遷移データを取得する(Sf5)。
After clearing the medal passage state reference data and the medal related error reference data in the steps Sf1 and Sf2, the current data of the inserted
そして、Sf5のステップにおいて取得したメダル投入信号状態遷移データとSf4のステップにおいて取得した正誤データを比較して、メダル投入信号状態遷移データが正しいか否かを判定する(Sf6)。 Then, the medal insertion signal state transition data acquired in step Sf5 and the correct / wrong data acquired in step Sf4 are compared to determine whether or not the medal insertion signal state transition data is correct (Sf6).
Sf6のステップにおいてメダル投入信号状態遷移データが正しいと判定した場合は、Sf3のステップにおいて取得した投入メダルセンサ31a〜31cの現在データに基づいてメダル投入信号状態遷移データを更新することで、新たなメダル投入信号状態遷移データを作成してRAM41cの非遊技RAM領域の所定領域に格納する(Sf7)。
When it is determined that the medal insertion signal state transition data is correct in the step Sf6, the medal insertion signal state transition data is updated based on the current data of the
そして、RAM41cの非遊技RAM領域の所定領域に設定されているメダル通過時間タイマを参照し(Sf8)、Sf7のステップにおいて更新したメダル投入信号状態遷移データに基づいて、投入メダルセンサ31a〜31cの今回及び前回の検出状態がOFF状態であるか否かを判定する(Sf9、Sf10)。メダル通過時間タイマは、投入メダルセンサ31a〜31cの検出範囲Aをメダルが通過している状態であると判定される期間の継続時間を計時するタイマである。後述のするように、メダル投入信号状態遷移データに基づいて、メダル投入信号がON状態となったときに計時が開始された後、タイマ割込み処理(メイン)により更新されるようになっている。
Then, referring to the medal passage time timer set in a predetermined area of the non-game RAM area of the
Sf9、Sf10のステップにおいて投入メダルセンサ31a〜31cの今回の検出状態がOFF状態であり、かつ前回の検出状態がOFF状態でないと判定した場合、すなわち投入メダルセンサ31a〜31cの検出範囲Aの内にあったメダルが当該検出範囲を出たことにより、当該投入メダルセンサ31a〜31cの検出状態がON状態からOFF状態に変化した可能性がある場合には、Sf8のステップにおいて参照したメダル通過時間タイマが、投入メダルセンサ31a〜31cの検出範囲Aをメダルが正常に通過するために要する正常通過時間範囲の最短値(本実施例では、10.08ミリ秒)未満であるか否かを判定する(Sf11)。尚、正常通過時間範囲は、メダルが投入メダルセンサ31a〜31cの検出範囲を通過するために要する時間の実測値や、メダルセレクタ29のメダル受入流路29bの形状、メダル受入流路29bにおける投入メダルセンサ31a〜31cの配置、投入メダルセンサ31a〜31cの特性等に基づいて予め定められている(本実施例では、10.08ミリ秒〜99.68ミリ秒の範囲である)。
When it is determined in the steps Sf9 and Sf10 that the current detection state of the inserted
そして、Sf11のステップにおいてメダル通過時間タイマが正常通過時間範囲の最短値未満でないと判定した場合は、Sf7のステップにおいて格納されたメダル投入信号状態遷移データをクリアし(Sf12)、メダル通過時間タイマをクリアした後(Sf13)、メダルが投入メダルセンサ31a〜31cの検出範囲Aを正常に通過した旨を示すメダル通過状態参照データ(正常通過)をRAM41cの非遊技RAM領域の所定領域に設定して、メダルセンサチェック処理を終了する。一方、メダル通過時間タイマが正常通過時間範囲の最短値未満でない場合は、後述するSf19のステップへ進む。
If it is determined in step Sf11 that the medal passage time timer is not less than the shortest value in the normal passage time range, the medal insertion signal state transition data stored in step Sf7 is cleared (Sf12), and the medal passage time timer is cleared. After clearing (Sf13), the medal passing state reference data (normal passing) indicating that the medal has successfully passed the detection range A of the inserted
Sf9、Sf10のステップにおいて投入メダルセンサ31a〜31cの今回及び前回の検出状態がともにOFF状態であると判定した場合、すなわち投入メダルセンサ31a〜31cの検出範囲Aをメダルが通過しておらず、投入メダルセンサ31a〜31cの検出状態が前回の判定時から変化していない場合には、メダル通過状態参照データがSf1のステップにおいて初期化された状態、すなわちメダル通過状態参照データ(変化なし)がRAM41cの所定領域に設定されている状態を維持して、メダルセンサチェック処理を終了する。
When it is determined in the steps Sf9 and Sf10 that the current and previous detection states of the inserted
Sf9のステップにおいて投入メダルセンサ31a〜31cの今回の検出状態がOFF状態でないと判定した場合、すなわち投入メダルセンサ31a〜31cの検出範囲Aをメダルが通過しており、投入メダルセンサ31a〜31cがON状態である場合には、Sf8のステップにおいて参照したメダル通過時間タイマが正常通過時間範囲の最大値(本実施例では、99.68ミリ秒)を超えたか否かを判定する(Sf15)。
If it is determined in step Sf9 that the current detection state of the inserted
そして、Sf15のステップにおいてメダル通過時間タイマが正常通過時間範囲の最大値を超えていないと判定した場合は、メダル通過時間タイマが動作中であるか否かを判定する(Sf16)。メダル通過時間タイマが作動中でない場合、すなわち投入メダルセンサ31a〜31cの検出範囲Aにメダルが新たに進入したことにより、当該投入メダルセンサ31a〜31cの検出状態がOFF状態からON状態に変化したときであり、未だメダル通過時間タイマによる計時を開始していないときである場合には、メダル通過時間タイマを0に設定して始動させた後(Sf17)、メダルが投入メダルセンサ31a〜31cの検出範囲Aを通過し始めたことを検知した旨を示すメダル通過状態参照データ(メダル検知)をRAM41cの非遊技領域の所定領域に設定して、メダルセンサチェック処理を終了する。一方、Sf15のステップにおいてメダル通過時間タイマが正常通過時間範囲の最大値を超えたと判定した場合は、後述するSf19のステップへ進む。また、Sf16のステップにおいてメダル通過時間タイマが作動中であると判定した場合、すなわち投入メダルセンサ31a〜31cの検出範囲Aをメダルが通過しており、投入メダルセンサ31a〜31cのON状態が継続されている場合には、メダル通過状態参照データがSf1のステップにおいて初期化された状態、すなわちメダル通過状態参照データ(変化なし)がRAM41cの所定領域に設定されている状態を維持して、メダルセンサチェック処理を終了する。尚、メダル通過時間タイマは、Sf17のステップにおいて0に設定されて始動された後、タイマ割込み処理により所定時間毎に加算されるようになっており、Sf17のステップにおいて0に設定されてからの経過時間、すなわちメダル投入信号状態遷移が正しく、かつ投入メダルセンサ31a〜31cがON状態となったことが判定されたときからの経過時間がメダル通過時間タイマにより計時されるようになっている。
If it is determined in step Sf15 that the medal passage time timer does not exceed the maximum value of the normal passage time range, it is determined whether or not the medal passage time timer is operating (Sf16). When the medal passage time timer is not in operation, that is, when a medal newly enters the detection range A of the inserted
Sf6のステップにおいてメダル投入信号状態遷移データが正しくないと判定した場合、Sf11のステップにおいてメダル通過時間タイマが正常通過時間範囲の最小値未満であると判定した場合、Sf15のステップにおいてメダル通過時間タイマが正常通過時間範囲の最大値を超えたと判定した場合には、メダル投入信号に関して異常が生じている旨を示すメダル関連エラー参照データ(E5)をRAM41cの非遊技RAM領域の所定領域に設定し(Sf19)、Sf7のステップにおいてRAM41cの所定領域に格納したメダル投入信号状態遷移データをクリアし(Sf20)、メダル通過時間タイマをクリアして計時を停止させた後(Sf21)、メダルセンサチェック処理を終了してメダルセンサ処理に戻る。尚、Sf19のステップにおいてメダル関連エラー参照データ(E5)が設定されて、メダルセンサチェック処理に戻る場合には、その後、遊技プログラムに含まれる遊技開始待ち処理のメダル投入信号処理においてメダル関連エラー参照データ(E5)が参照されることで、エラー状態に制御されることとなる。
If it is determined in step Sf6 that the medal insertion signal state transition data is not correct, if it is determined in step Sf11 that the medal passage time timer is less than the minimum value of the normal passage time range, the medal passage time timer in step Sf15. Is determined to have exceeded the maximum value of the normal passing time range, medal related error reference data (E5) indicating that an abnormality has occurred with respect to the medal insertion signal is set in a predetermined area of the non-game RAM area of the
図16に示すように、非遊技プログラムに含まれるメダルセンサチェック処理のSf6のステップにおけるメダル投入信号状態遷移が正しいか否かの判定では、投入メダルセンサ1〜3(投入メダルセンサ31a〜31c)により当該投入メダルセンサ1〜3の検出範囲をメダルが通過し始めたことが検出される際には、投入メダルセンサ1(投入メダルセンサ31a)がOFF状態からON状態となった後、投入メダルセンサ2(投入メダルセンサ31b)がOFF状態からON状態となり、その後、投入メダルセンサ3(投入メダルセンサ31b)がOFF状態からON状態となる遷移が、メダル投入信号遷移状態データに基づいて特定される場合に、メダル投入信号状態遷移が正しいと判定されるようになっている。
As shown in FIG. 16, in determining whether or not the medal insertion signal state transition is correct in step Sf6 of the medal sensor check process included in the non-game program, inserted
また、投入メダルセンサ1〜3により当該投入メダルセンサ1〜3の検出範囲をメダルが通過したことが検出される際には、投入メダルセンサ1がON状態からOFF状態となった後、投入メダルセンサ2がON状態からOFF状態となり、その後、投入メダルセンサ3がON状態からOFF状態となる遷移が、メダル投入信号遷移状態データに基づいて特定される場合、及び投入メダルセンサ1がON状態からOFF状態となった後、投入メダルセンサ3がON状態からOFF状態となり、その後、投入メダルセンサ2がON状態からOFF状態となる遷移が、メダル投入信号遷移状態データに基づいて特定される場合に、メダル投入信号状態遷移が正しいと判定されるようになっている。
When the inserted
そして、メダルセンサチェック処理では、メダル投入信号遷移状態データが正しいと判定されており、かつ投入メダルセンサ1〜3のいずれかがON状態であると判定されることで、メダル通過状態参照データ(検知)が設定されることとなる。すなわち、投入メダルセンサ1〜3のうち投入メダルセンサ1が最初にOFF状態からON状態に変化する場合に、メダル投入信号遷移状態データが正しいと判定されるので、メダル投入信号遷移状態データが正しいと判定されており、かつ投入メダルセンサ1がON状態となったときに、メダル通過状態参照データ(検知)が設定されることとなる。
In the medal sensor check process, it is determined that the medal insertion signal transition state data is correct, and it is determined that any of the
また、メダル投入信号遷移状態データが正しいと判定されており、かつ投入メダルセンサ1〜3のすべてがON状態であると判定されることで、メダル通過状態参照データ(正常通過)が設定されることとなる。すなわち、投入メダルセンサ1〜3のうち投入メダルセンサ2が最後にON状態からOFF状態に変化する場合、及び投入メダルセンサ3が最後にON状態からOFF状態に変化する場合に、メダル投入信号遷移状態データが正しいと判定されるので、メダル投入信号遷移状態データが正しいと判定されており、かつ投入メダルセンサ2及び3がOFF状態となったときに、メダル通過状態参照データ(正常通過)が設定されることとなる。
Further, when it is determined that the medal insertion signal transition state data is correct and all the
遊技プログラムに含まれるメダル投入信号処理では、Sd16及びSd17のステップによりメダル通過状態参照データ(正常通過)が設定されていると判定した後に、Sd21〜Sd24のステップにより投入メダルセンサ1〜3の入力データがON状態からOFF状態となったことが特定される場合に、その後のメダル投入処理等に進むようになっている。すなわち、メダルセンサチェック処理によりメダル通過状態参照データ(正常通過)が設定された際に、投入メダルセンサ2または3のON状態からOFF状態への立下りが検出されることで、正常なメダルの投入が検出されるようになっている。
In the medal insertion signal process included in the game program, after determining that the medal passage state reference data (normal passage) is set in the steps Sd16 and Sd17, the input of the
[役比モニタ用データ処理について]
本実施例のメイン制御部41が行う役比モニタ用データ処理の制御内容について、図17〜図20に基づいて説明する。尚、役比モニタ用データ処理は、非遊技プログラムに含まれており、遊技プログラムに含まれるメイン処理において呼び出されるサブルーチンである。また、役比モニタ用データ処理は、非遊技プログラムに含まれるサブルーチンである各状態カウント処理を呼び出し、当該各状態カウント処理は、非遊技プログラムに含まれるサブルーチンである役物比率更新処理を更に呼び出すようになっている。
[About data processing for role monitoring]
The control content of the role ratio monitor data processing performed by the
メイン制御部41は、過去6000ゲーム間の役物払出比率と総累計払出数に対する役物払出比率とを比率表示として、2桁の7セグメント表示器で構成されるクレジット表示器11と遊技補助表示器12に表示させる制御を行う。クレジット表示器11と遊技補助表示器12は、遊技の進行に応じた情報が表示される表示器であり、比率表示を常時表示させることができないため、遊技が行われていない状況下で遊技店の店員などにより所定の操作が行われたことにより比率表示を表示させる。
The
具体的には、ゲームが行われていないときに、通常施錠されている前面扉1bを遊技店の店員が所持する鍵により解錠して開放状態とした上で、筐体1aの内部に設けられたリセット/設定スイッチ38を操作すると、メイン制御部41は、クレジット表示器11と遊技補助表示器12における現在の表示内容が切り替えて比率表示の表示を開始させる。
Specifically, when the game is not being performed, the normally locked
また、比率表示は、比率表示の種類を示す略記を構成する上位2桁の英数字と、比率を示す下位2桁の数字とからなる4桁の英数字により構成されており、上位2桁の表示内容をクレジット表示器11に、下位2桁の表示内容を遊技補助表示器12に表示させ、比率表示の開始から予め定められた表示順で所定時間毎に切り替えて比率表示を表示させる。
In addition, the ratio display is composed of four alphanumeric characters consisting of the upper two digits of the abbreviation indicating the type of ratio display and the lower two digits of the ratio. The display content is displayed on the
クレジット表示器11と遊技補助表示器12とに比率表示を表示させた状態で、前面扉1bの閉鎖、スロットマシン1へのメダルの投入、エラーの発生、設定キースイッチ37の操作、精算スイッチ10の操作、スロットマシン1への電力供給の停止のいずれかが検出される、比率表示を表示させる前に表示されていた元の表示内容へ切り替えて比率表示を終了させる。
With the ratio display displayed on the
メイン制御部41は、メイン処理の遊技終了時設定処理(図12のSb44のステップ)において、各リール2L、2C、2Rに導出された表示結果に応じて入賞が発生したか否かを判定する処理を行った後に、タイマ割込みを禁止に設定し、非遊技プログラムに含まれる役比モニタ用データ処理を実行する。
The
図17に示すように、役比モニタ用データ処理では、まず、上述のLD命令を用いて、呼び出し元の遊技プログラムにより使用されていたスタックポインタSPの示すアドレスの値を非遊技RAM領域の所定領域に記憶させて退避させ(Sg1)、その後、LD命令を用いて、当該スタックポインタSPの値として非遊技スタック領域の所定値(前回の非遊技プログラムの終了時に記憶された値)を設定することで、スタックポインタSPを非遊技プログラム用に設定する(Sg2)。そして、上述の第1退避命令を用いて、メイン制御部41が備えるすべてのレジスタの値を非遊技スタック領域に所定の順序で記憶させることで退避させる(Sg3)。そして、非遊技プログラムに含まれる各状態カウント処理(Sg4)を実行した後、上述の第1復帰命令を用いて、Sg3のステップにおいて退避させていたレジスタの値を非遊技スタック領域から順次読み出して、役比モニタ用データ処理を開始したときの状態にすべてのレジスタを復帰させた後(Sg5)、LD命令を用いて、Sg1のステップにおいて非遊技RAM領域の所定領域に記憶させて退避させていたスタックポインタSPの値を、スタックポインタSPに設定することで、役比モニタ用データ処理を開始したときの状態にスタックポインタSPを復帰させ(Sg6)、役比モニタ用データ処理を終了させて呼び出し元のメイン処理に戻り、Sb37のステップへ進む。その後、メイン処理では、タイマ割込みが許可されて(Sb37)、その後の処理が実行される。
As shown in FIG. 17, in the role monitor data processing, first, by using the above-described LD instruction, the value of the address indicated by the stack pointer SP used by the calling game program is determined in the non-game RAM area. The area is stored and saved (Sg1), and then a predetermined value of the non-game stack area (value stored at the end of the previous non-game program) is set as the value of the stack pointer SP using the LD instruction. Thus, the stack pointer SP is set for the non-game program (Sg2). Then, using the first save instruction described above, the values of all the registers included in the
図18に示すように、各状態カウント処理では、総累計ゲーム数の加算が可能であるかが判定される(Sh1)。総累計ゲーム数は、3バイトの記憶領域に格納されており、上限値として16777215ゲームまで計数可能である。 As shown in FIG. 18, in each state count process, it is determined whether the total cumulative number of games can be added (Sh1). The total cumulative number of games is stored in a 3-byte storage area and can be counted up to 16777215 games as an upper limit.
総累計ゲーム数の加算ができない場合は、Sh22のステップに進む。総累計ゲーム数の加算ができる場合、ゲームが行われたとして1を加算する(Sh2〜Sh4)。前述したとおり、遊技機に用いられるマイクロコンピュータは最大2バイトの値同士の演算しか行うことができないため、この加算は3バイトデータ加算&格納処理(Sh4)のサブルーチンを呼び出して実行される。そして、加算した結果、総累計ゲーム数が上限に到達したかが判定される(Sh4)。総累計ゲーム数が上限値に到達していない場合はSh7のステップへ進む。総累計ゲーム数が上限値に到達している場合、総累計カウント停止フラグに上限値に到達した旨を示す値が設定され(Sh5、Sh6)、Sh7のステップへ進む。尚、前述したSh1のステップでは総累計カウント停止フラグを参照して総累計ゲーム数の加算が可能であるかが判定される。 If the total cumulative number of games cannot be added, the process proceeds to step Sh22. If the total cumulative number of games can be added, 1 is added as a game has been played (Sh2 to Sh4). As described above, since the microcomputer used in the gaming machine can only perform operations between values of a maximum of 2 bytes, this addition is executed by calling a subroutine of 3-byte data addition & storage processing (Sh4). Then, as a result of the addition, it is determined whether the total cumulative number of games has reached the upper limit (Sh4). If the total cumulative number of games has not reached the upper limit, the process proceeds to step Sh7. When the total cumulative number of games has reached the upper limit, a value indicating that the upper limit has been reached is set in the total cumulative count stop flag (Sh5, Sh6), and the process proceeds to step Sh7. In the above-described step of Sh1, it is determined with reference to the total cumulative count stop flag whether the total cumulative number of games can be added.
Sh7からのステップでは、総累計ゲーム数が0〜5999ゲームの範囲にあるか、6000〜174999ゲームの範囲にあるか、175000ゲーム以上の範囲にあるか、が判定される(Sh7〜Sh20)。判定の結果に応じて、それぞれの範囲にあることを示す値を点灯識別セグとして設定する(Sh8、Sh18、Sh19)。設定された点灯識別セグは、表示モニタ消化遊技判定フラグに格納される。そして、非遊技プログラムに含まれる役物比率更新処理(Sh22)を実行した後に、役比モニタ用データ処理に復帰する。 In steps from Sh7, it is determined whether the total cumulative number of games is in the range of 0-5999 games, in the range of 6000-174999 games, or in the range of 175000 games or more (Sh7-Sh20). Depending on the result of the determination, values indicating the respective ranges are set as lighting identification segments (Sh8, Sh18, Sh19). The set lighting identification segment is stored in the display monitor digestion game determination flag. Then, after executing the combination ratio update process (Sh22) included in the non-game program, the process returns to the combination ratio monitor data process.
図19に示すように、役物比率更新処理では、まず遊技回数判定用のゲーム回数の1加算を行う(Si1)。ここで後述する判定用ゲーム数カウンタに1が加算される。次に今回のゲームで入賞が発生したことにより払出される入賞メダル枚数の加算を行う(Si2、Si3)。ここで累計バッファ1〜3の総払出カウンタにそれぞれ入賞メダル枚数の加算が行われる。
As shown in FIG. 19, in the accessory ratio update process, first, 1 is added to the number of games for determining the number of games (Si1). Here, 1 is added to the determination game number counter described later. Next, the number of winning medals to be paid out due to the occurrence of winning in this game is added (Si2, Si3). Here, the number of winning medals is added to the total payout counters of the
累計バッファ1には3バイトの総払出カウンタと3バイトの役物払出カウンタとが設けられており、ゲームで入賞が発生してメダルの払出が行われるとそれぞれのカウンタで計数が行われる。計数を開始してから6000ゲームに到達すると総払出カウンタと役物払出カウンタを初期値である0に更新し次のゲームは初期値から計数を開始する。
The
累計バッファ2も累計バッファ1と同様に3バイトの総払出カウンタと3バイトの役物払出カウンタとが設けられており、ゲームで入賞が発生してメダルの払出が行われるとそれぞれのカウンタで計数が行われる。計数を開始してから6000ゲームに到達すると総払出カウンタと役物払出カウンタを初期値である0に更新し次のゲームは初期値から計数を開始する。但し、計数を開始するゲームは累計バッファ1と2000ゲームずれている。
Similarly to the
累計バッファ3も累計バッファ1、累計バッファ2と同様に3バイトの総払出カウンタと3バイトの役物払出カウンタとが設けられており、ゲームで入賞が発生してメダルの払出が行われるとそれぞれのカウンタで計数が行われる。計数を開始してから6000ゲームに到達すると総払出カウンタと役物払出カウンタを初期値である0に更新し次のゲームは初期値から計数を開始する。但し、計数を開始するゲームが累計バッファ1と4000ゲーム、累計バッファ1と2000ゲームずれている。
The
続いて、総累計払出枚数の加算が可能であるかが判定される(Si4)。総累計払出枚数の加算ができない場合は、Si10のステップに進む。総累計払出枚数の加算が可能である場合、総累計払出枚数に入賞メダル枚数の加算が行われる。そして、加算した結果、総累計払出枚数が上限に到達したかが判定される(Si7)。総累計払出枚数が上限値に到達していない場合はSi10のステップへ進む。総累計払出枚数が上限値に到達している場合、総累計カウント停止フラグに上限値に到達した旨を示す値が設定され(Si8、Si9)、Si10のステップへ進む。尚、総累計払出枚数の加算が可能であるかは総累計カウント停止フラグを参照して判定されるとともに、総累計ゲーム数が上限値に到達したときと、総累計払出枚数が上限値に到達したときとで同じフラグが用いられる。 Subsequently, it is determined whether the total cumulative payout number can be added (Si4). If the total accumulated payout number cannot be added, the process proceeds to step Si10. When the total cumulative payout number can be added, the number of winning medals is added to the total cumulative payout number. Then, as a result of the addition, it is determined whether the total accumulated payout number has reached the upper limit (Si7). If the total accumulated payout number has not reached the upper limit value, the process proceeds to step Si10. When the total cumulative payout number has reached the upper limit value, a value indicating that the upper limit value has been reached is set in the total cumulative count stop flag (Si8, Si9), and the process proceeds to step Si10. Whether or not the total cumulative payout number can be added is determined by referring to the total cumulative count stop flag, and when the total cumulative game number reaches the upper limit and when the total cumulative payout number reaches the upper limit. The same flag is used when
Si10、Si11のステップでは遊技において役物が作動しているか否か、つまりBBまたはRBに制御されている期間であるかが判定される。役物が作動していない場合、Si17に進む。役物が作動している場合、今回のゲームで入賞が発生したことにより払出される入賞メダル枚数を役物作動期間の払出枚数として加算を行う(Si12、Si13)。ここで累計バッファ1〜3の役物払出カウンタにそれぞれ入賞メダル枚数の加算が行われる。
In the steps of Si10 and Si11, it is determined whether or not an accessory is operating in the game, that is, whether or not it is a period controlled by BB or RB. If the accessory is not working, go to Si17. When the winning combination is in operation, the number of winning medals to be paid out as a result of winning a prize in the current game is added as the payout number of the winning combination operating period (Si12, Si13). Here, the number of winning medals is respectively added to the accessory payout counters of the
続いて、総累計役物払出枚数の加算が可能であるかが判定される(Si14)。総累計役物払出枚数の加算ができない場合は、Si17のステップに進む。総累計役物払出枚数の加算が可能である場合、総累計役物払出枚数に入賞メダル枚数の加算が行われ(Sb15、16)、Si17のステップへ進む。尚、総累計役物払出枚数の加算が可能であるかは総累計カウント停止フラグを参照して判定される。 Subsequently, it is determined whether the total accumulated bonus payout number can be added (Si14). If the total accumulated bonus payout number cannot be added, the process proceeds to step Si17. If the total accumulated feature payout number can be added, the number of winning medals is added to the total accumulated feature payout number (Sb15, 16), and the process proceeds to step Si17. Note that whether or not the total accumulated feature payout number can be added is determined with reference to the total accumulated count stop flag.
以上のように更新された総累計払出枚数と総累計役物払出枚数から総累計払出数に対する役物払出比率の算出を行う(Si17、Si18)。そして算出された値が総累計払出数に対する役物払出比率として格納される(Si19)。 The bonus payout ratio with respect to the total cumulative payout number is calculated from the total cumulative payout number and the total cumulative payout number updated as described above (Si17, Si18). The calculated value is stored as an accessory payout ratio with respect to the total cumulative payout number (Si19).
続いて、判定用ゲーム数カウンタを参照して、当該ゲームが更新ゲーム数か否かを判定する(Si20〜Si23)。判定用ゲーム数カウンタは1〜6000ゲームの間で循環して計数されるカウンタであり、計数を開始してからのゲーム数が2000ゲーム、4000ゲーム、6000ゲームに到達したかを判定するために用いられるカウンタである。上記判定は、判定用カウンタを2000で除算して余りが生じたか否かにより判定され、余りが生じていた場合、当該ゲームが更新ゲーム数でないとして各状態カウント処理に復帰する。 Subsequently, with reference to the determination game number counter, it is determined whether or not the game is an updated game number (Si20 to Si23). The determination game number counter is a counter that circulates and counts between 1 and 6000 games to determine whether the number of games since the start of counting has reached 2000 games, 4000 games, and 6000 games. This is the counter used. The above determination is made based on whether or not a remainder is generated by dividing the determination counter by 2000. If there is a remainder, the game returns to each state count process assuming that the game is not the number of updated games.
判定用カウンタを2000で除算して余りが生じなかった場合、除算結果の商より当該ゲームが2000ゲーム、4000ゲーム、6000ゲームのいずれの更新ゲームかを特定する(Si24)。そして、累計バッファ1〜3のうち、特定された更新ゲームに対応する累計バッファより総払出カウンタの値を読み出して6000回算出用バッファに6000ゲーム累計払出枚数として格納するとともに読み出し元の総払出カウンタを初期値である0に更新する(Si25〜Si27)。同様に特定された更新ゲームに対応する累計バッファより役物払出カウンタの値を読み出して6000回算出用バッファに6000ゲーム累計役物払出枚数として格納するとともに読み出し元の役物払出カウンタを初期値である0に更新する(Si28〜Si30)。
If there is no remainder when the determination counter is divided by 2000, it is specified from the quotient of the division result whether the game is an updated game of 2000 games, 4000 games, or 6000 games (Si24). Then, a value of the total payout counter is read from the cumulative buffer corresponding to the specified update game among the
さらに、6000回算出用バッファに格納された6000ゲーム累計払出枚数と6000ゲーム累計役物払出枚数とから6000ゲーム累計払出枚数に対する役物払出比率の算出を行う。6000ゲーム累計払出枚数と6000ゲーム累計役物払出枚数はいずれも3バイトのデータであるため、実施例1のスロットマシンにおいて説明した演算方法により、役物払出比率の算出を行う(Si31、Si32)。そして算出された値が過去6000ゲーム間の役物払出比率として格納される(Si33)。その後、各状態カウント処理に復帰する。 Further, the bonus payout ratio for the 6000 game cumulative payout number is calculated from the 6000 game cumulative payout number and the 6000 game cumulative payout number stored in the 6000 times calculation buffer. Since the 6000 game cumulative payout number and the 6000 game cumulative payout number are both 3-byte data, the payout ratio is calculated by the calculation method described in the slot machine of the first embodiment (Si31, Si32). . The calculated value is stored as a bonus payout ratio between the past 6000 games (Si33). Thereafter, the process returns to each state count process.
総累計払出数に対する役物払出比率、過去6000ゲーム間の役物払出比率は、表示モニタ用データ選択処理において参照され、遊技店の店員等により所定操作が行われた際に、遊技補助表示器12に順次表示されることとなる。この際、表示されている比率表示の種類を示す略記は、クレジット表示器11に表示される。
The bonus payout ratio with respect to the total cumulative payout count and the bonus payout ratio between the past 6000 games are referred to in the display monitor data selection process, and when a predetermined operation is performed by a store clerk or the like of the game store, 12 are sequentially displayed. At this time, an abbreviation indicating the type of the displayed ratio display is displayed on the
図20を参照して、役比モニタ用データ処理による累計バッファ1〜3及び6000回算出用バッファ、総累計払出枚数と総累計役物払出枚数が格納される総累計算出用バッファの更新状況を説明する。累計バッファ1〜3、6000回算出用バッファ及び総累計算出用バッファの記憶内容は工場出荷時または何らかの原因でRAM41cのデータに異常が生じて初期化されない限りは保持されている。
Referring to FIG. 20, the update statuses of the
各バッファ値が初期化された状態から累計バッファ1と総累計算出用バッファでの計数が開始される。2000ゲームが経過すると累計バッファ2での計数が開始される。累計バッファ1は計数を継続している。続いて2000ゲームが経過すると累計バッファ3での計数が開始される。累計バッファ1と累計バッファ2は計数を継続している。
Counting in the
さらに2000ゲームが経過すると累計バッファ1での計数期間が6000ゲームに達する。ここで累計バッファ1の計数内容が6000回算出用バッファに格納される。そして累計バッファ1の計数内容は初期化され初期値(0)から計数を開始する。
When 2000 games have passed, the counting period in the
次の2000ゲームが経過すると累積バッファ2での計数期間が6000ゲームに達する。ここで累積バッファ2の計数内容が6000回算出用バッファに格納される。そして累積バッファ2の計数内容は初期化され初期値(0)から計数を開始する。
When the next 2000 games elapse, the counting period in the
このように累計バッファ1〜3に計数された6000ゲーム間の計数結果が2000ゲーム毎に6000回算出用バッファに格納されていく。なおこの間、総累計算出用バッファの計数結果は初期化されることなく累積して計数が行われている。
In this way, the counting results between 6000 games counted in the
[タイマ割込み処理について]
本実施例のメイン制御部41が行うタイマ割込み処理(メイン)の制御内容について、図21に基づいて説明する。尚、タイマ割込み処理(メイン)は、遊技プログラムに含まれるサブルーチンである。
[About timer interrupt processing]
The control content of the timer interrupt process (main) performed by the
図21に示すように、タイマ割込み処理(メイン)では、まず、すべての表レジスタと裏レジスタを交換した後(Sj1)、タイマ割込を禁止に設定し(Sj2)、RAM41cの所定領域に設定されている電圧低下状態カウンタの値を取得する(Sj3)。そして、電断検出回路48から電圧低下信号が入力される入力ポートを参照して(Sj4)、電圧低下信号が入力されているか否かを判定する(Sj5)。電圧低下信号が入力されている場合には、電圧低下状態カウンタが予め定められた上限値(本実施例では、4)に達しているか否かを判定し(Sj6)、電圧低下状態カウンタが上限値に達している場合には、後述する電断処理(メイン)を行う(Sj7)。
As shown in FIG. 21, in the timer interrupt process (main), first, all the front and back registers are exchanged (Sj1), then the timer interrupt is disabled (Sj2) and set in a predetermined area of the
Sj5のステップにおいて電圧低下信号が入力されていないと判定した場合、及びSj6のステップにおいて電圧低下状態カウンタが上限値に達していないと判定した場合は、Sj8のステップに進み、電圧低下状態カウンタを更新する。Sj5のステップからSj8のステップに進んだ場合には、電圧低下状態カウンタに0を加算することで、現在の値を維持する一方で、Sj5のステップからSj8のステップに進んだ場合には、電圧低下状態カウンタに1加算するように更新する。 If it is determined in step Sj5 that no voltage drop signal is input, or if it is determined in step Sj6 that the voltage drop state counter has not reached the upper limit value, the process proceeds to step Sj8, and the voltage drop state counter is set. Update. When the process proceeds from the step Sj5 to the step Sj8, the current value is maintained by adding 0 to the voltage drop state counter. On the other hand, when the process proceeds from the step Sj5 to the step Sj8, the voltage decreases. Update the decrease state counter to add 1.
そして、入力ポートから各種スイッチ類の検出状態を入力し、入力データ、確定データ、エッジデータ(ONエッジデータ及びOFFエッジデータ)を生成するポート入力処理を行う(Sj9)。その後、上述の第2退避命令を用いて、メイン制御部41が備えるレジスタのうち演算結果が格納されるフラグレジスタの値を、遊技RAM領域の遊技スタック領域に所定の順序で記憶させることで退避させた後(Sj10)、非遊技プログラムに含まれる非遊技関連処理を行う(Sj11)。その後、上述の第2復帰命令を用いて、Sj10のステップにおいて遊技スタック領域に退避させたフラグレジスタの値を、退避させるときと逆の順序で遊技スタック領域から順次読み出してフラグレジスタに設定することで、非遊技関連処理を行う前の状態にフラグレジスタを復帰させる(Sj12)。
Then, the detection state of various switches is input from the input port, and port input processing for generating input data, confirmed data, and edge data (ON edge data and OFF edge data) is performed (Sj9). Thereafter, by using the second save instruction described above, the value of the flag register in which the operation result is stored among the registers included in the
非遊技関連処理では、まず、上述のLD命令を用いて、呼び出し元の遊技プログラムにより使用されていたスタックポインタSPにより示される遊技スタック領域から現在のスタックポインタSPが示すアドレスの値を読み出し、非遊技RAM領域の所定領域に記憶させて退避させる。その後、LD命令を用いて、前回の非遊技プログラムの終了時にスタックポインタSPにより示されるアドレスとして記憶されている値を、非遊技RAM領域の所定領域から読み出し、スタックポインタSPが示す値として設定することで、スタックポインタSPを非遊技プログラム用に設定する。そして、上述の第1退避命令を用いて、フラグレジスタを含むメイン制御部41が備えるすべてのレジスタ(アキュムレータレジスタ、フラグレジスタ、汎用レジスタ、インデックスレジスタ、インタラプトレジスタ、リフレッシュレジスタ、プログラムカウンタなど)の値を、スタックポインタSPにより特定される非遊技RAM領域の非遊技スタック領域に所定の順序で記憶させることで退避させる。尚、非遊技プログラムに含まれる非遊技関連処理が遊技プロクラムから呼び出されることに伴って、スタックポインタSPを遊技プログラム用から非遊技プログラム用に変更する際に、LD命令が用いられることで、フラグレジスタの第2ゼロフラグTZが変更されることとなり、当該LD命令の実行される前後でフラグレジスタの状態が変化することがある。すなわち、遊技プログラムから非遊技関連処理が呼び出された際に、当該非遊技関連処理により非遊技プログラム用のスタックポインタSPが設定された後に退避させられるレジスタの状態は、遊技プログラムが非遊技関連処理を呼び出したときのレジスタの状態と異なることがある。
In the non-game related processing, first, using the above-described LD instruction, the value of the address indicated by the current stack pointer SP is read from the game stack area indicated by the stack pointer SP used by the calling game program. It is stored in a predetermined area of the game RAM area and saved. Thereafter, using the LD instruction, the value stored as the address indicated by the stack pointer SP at the end of the previous non-game program is read from a predetermined area of the non-game RAM area and set as the value indicated by the stack pointer SP. Thus, the stack pointer SP is set for the non-game program. Then, using the first save instruction described above, the values of all the registers (accumulator register, flag register, general-purpose register, index register, interrupt register, refresh register, program counter, etc.) included in the
その後、投入メダルセンサ31a〜31cや払出センサ34cに関する異常を検出するセンサ監視処理、遊技の結果に関連して発生する試験信号を出力する試験信号出力処理、非遊技プログラムが用いる各種タイマを更新する非遊技関連タイマ更新処理、役比モニタに表示させる出力データを選択する役比モニタ出データ選択処理を順次行う。また、センサ監視処理では、投入メダルセンサ31a〜31cや払出センサ34cに関する異常が検出した場合に、検出された異常の種類を特定可能なセンサエラー参照データをRAM41cの非遊技RAM領域の所定領域に設定するようになっている。
Thereafter, a sensor monitoring process for detecting an abnormality relating to the inserted
そして、上述の第1復帰命令を用いて、非遊技関連処理を開始した際に非遊技スタック領域に記憶させて退避させていたレジスタの値を、退避させるときと逆の順序で非遊技スタック領域から順次読み出して、当該順序に対応するレジスタに設定することで、非遊技関連処理を開始したときの状態にすべてのレジスタを復帰させる。その後、上述のLD命令を用いて、非遊技関連処理を開始した際に非遊技RAM領域の所定領域に退避させたスタックポインタSPの値を読み出し、スタックポインタSPが示す値として設定することで、非遊技関連処理を開始したときの状態にスタックポインタSPを復帰させて、非遊技関連処理を終了させる。尚、非遊技プログラムに含まれる非遊技関連処理を終了させて、遊技プロクラムに復帰させるために、当該非遊技関連処理の開始時に退避させていたすべてのレジスタの値を復帰させた後に、スタックポインタSPを非遊技プログラム用から遊技プログラム用に変更する際に、LD命令が用いられることで、フラグレジスタの第2ゼロフラグTZが変更されることとなり、当該LD命令の実行される前後でフラグレジスタの状態が変化することがある。すなわち、非遊技関連処理が終了されるときのレジスタの状態は、当該非遊技関連処理が開始されるときに退避されたレジスタの状態と異なることがある。 Then, the non-game stack area is stored in the non-game stack area when the non-game related processing is started by using the first return instruction described above, and the value of the register saved in the non-game stack area is reversed. All the registers are restored to the state when the non-game-related processing is started by sequentially reading from and setting the registers corresponding to the order. After that, by using the above-described LD instruction, the value of the stack pointer SP saved in the predetermined area of the non-game RAM area when the non-game related process is started is read and set as the value indicated by the stack pointer SP. The stack pointer SP is returned to the state when the non-game related process is started, and the non-game related process is ended. In order to end the non-game related processing included in the non-game program and return to the game program, the stack pointer is restored after all the register values saved at the start of the non-game related processing are restored. When the SP is changed from the non-game program to the game program, the LD instruction is used, so that the second zero flag TZ of the flag register is changed, and the flag register before and after the execution of the LD instruction is changed. The state may change. That is, the state of the register when the non-game related process is ended may be different from the state of the register saved when the non-game related process is started.
Sj12のステップにおいてフラグレジスタを復帰させた後は、Sj11のステップにおける非遊技関連処理により設定されたセンサエラー参照データを参照し(Sj13)、今回のタイマ割込みにおける非遊技関連処理により設定されたセンサエラー参照データと、前回のタイマ割込みにおける非遊技関連処理により設定されたセンサエラー参照データの論理和を算出する(Sj14)。そして、RAM41cの遊技RAM領域の所定領域に設定されており、投入メダルセンサ31a〜31cや払出センサ34cに関する異常が検出されているか否かを特定可能なセンサエラーフラグを、Sj14のステップで算出した論理和に基づいて更新する。Sj13〜Sj15のステップを行うことで、センサエラー参照データに基づいて異常が検出されていることが特定される場合には、センサエラーフラグが異常が検出されていることを示す状態であるか否かにかかわらず、当該異常が検出されている旨を示すように、センサエラーフラグを更新する。一方、センサエラー参照データに基づいて異常が検出されていないことが特定される場合には、センサエラーフラグの状態を維持する。すなわち、センサエラー参照データに基づいて異常が検出されていることが特定される場合には、センサエラー参照データの内容をセンサエラーフラグに反映させる一方で、センサエラー参照データに基づいて異常が検出されていないことや異常が解除されたことが特定される場合には、センサエラー参照データの内容をセンサエラーフラグに反映させないようになっている。
After returning the flag register in step Sj12, the sensor error reference data set by the non-game related process in step Sj11 is referred to (Sj13), and the sensor set by the non-game related process in the current timer interrupt The logical sum of the error reference data and the sensor error reference data set by the non-game related process in the previous timer interrupt is calculated (Sj14). Then, a sensor error flag that is set in a predetermined area of the game RAM area of the
Sj15のステップにおいてセンサエラーフラグを更新した後は、メイン制御部41の内部に設けられた乱数回路における乱数値を更新する乱数値更新処理を行い(Sj16)、メイン制御部41の内部に設けられたウォッチドッグタイマ(WDT)のレジスタをクリアする(Sj17)。その後、RAM41cの所定領域に設けられ、タイマ割込みに含まれる処理を分岐させるための分岐用カウンタの値を所定のレジスタに読み込み、所定値(本実施例では、1)を加算して更新し、更新された値を、RAM41cの所定領域の分岐用カウンタの値として設定する(Sj18)。この分岐用カウンタを更新する処理では、当該分岐用カウンタが0〜2である場合は1加算し、分岐用カウンタが3である場合は初期化して0に戻すことで、0〜3の範囲で更新する。すなわち分岐用カウンタの値は、タイマ割込み処理(メイン)が実行される毎に、0→1→2→3→0・・・の順番でループする。そして、分岐用カウンタの値は、タイマ割込み処理(メイン)において実行される各処理において参照され、例えば、分岐用カウンタが所定値となったときに所定の制御を実行する等、各処理内の制御が分岐されることとなる。
After the sensor error flag is updated in the step of Sj15, a random value update process for updating a random number value in a random number circuit provided in the
Sj18のステップにおいて分岐用カウンタを更新した後、当該分岐用カウンタが4であるか否かを判定し(Sj19)、分岐用カウンタが4である場合には、RAM41cの所定領域に設定されている所定の各種タイマを更新するタイマ更新処理(Sj20)、出力ポートに接続された各種LED等の表示器(クレジット表示器11、遊技補助表示器12、1〜3BETLED14〜16、投入要求LED17、スタート有効LED18、ウェイト中LED19、リプレイ中LED20等)の点灯状態をメイン処理等の各処理による設定に応じてダイナミック点灯させるための点灯信号を設定して送信等を行うに制御するLEDダイナミック表示処理(Sj21)を行う。
After updating the branching counter in step Sj18, it is determined whether or not the branching counter is 4 (Sj19). If the branching counter is 4, it is set in a predetermined area of the
Sj19のステップにおいて分岐用カウンタが4でないと判定した場合、及びSj21のステップにおいてLEDダイナミック表示処理を行った後は、外部出力信号のうちメダルが投入された旨を示すメダル投入信号やメダルの払い出しが行われる旨を示すメダル払出信号の出力設定を更新して、スロットマシン1の外部に送信するメダル投入払出信号送信処理(Sj22)、外部出力信号のうちセキュリティ信号(ドア開放信号、設定変更信号、投入エラー信号、払出エラー信号)の出力設定を更新して、スロットマシン1の外部に送信するセキュリティ信号送信処理(Sj24)、コマンドキューに設定されたドアコマンドや操作終了コマンド等の各種コマンドを送信させる等を行うコマンド送信処理(Sj25)を順次行う。
When it is determined in step Sj19 that the branching counter is not 4, and after the LED dynamic display process is performed in step Sj21, a medal insertion signal indicating that a medal has been inserted out of the external output signal or a medal payout The medal insertion / payout signal transmission process (Sj22) for updating the output setting of the medal payout signal to indicate that is performed and transmitting it to the outside of the
その後、分岐用カウンタを参照して、当該分岐用カウンタが2であるか否かを判定し、分岐用カウンタが2である場合には、リールに関する異常が生じている場合(リールエラー中)に設定されるリールエラーフラグがRAM41cの所定領域に設定されているか否かに基づいて、リールエラー中であるか否か判定する(Sj26)。そして、リールエラー中でない場合は、ゲームの進行状況等に応じて各リールモータ32L、32C、32Rの励磁パターンの設定等を行ってリールの回転及び停止を制御するリール制御処理を行う(Sj27)。
Thereafter, referring to the branching counter, it is determined whether or not the branching counter is 2. When the branching counter is 2, when an abnormality relating to the reel occurs (during a reel error) Whether or not a reel error is occurring is determined based on whether or not the reel error flag to be set is set in a predetermined area of the
そして、Sj25のステップにおいて分岐用タイマが2でないと判定した場合、Sj26のステップにおいてリールエラー中であると判定した場合、及びSj27のステップにおけるリール制御処理を終了した場合は、リール制御処理により設定された励磁パターンに応じた駆動信号を各リールモータ32L、32C、32Rに出力されることで、各リールモータ32L、32C、32Rを所定の制御態様で回転、停止させるリールモータ駆動信号出力処理(Sj29)、ソレノイド駆動回路46に対して制御信号を送信する処理や左・中・右停止有効LED22L、22C、22Rの点灯状態を更新する処理等を行うポート出力更新処理(Sj30)を順次行った後、すべての表レジスタと裏レジスタを交換し(Sj31)、タイマ割込を許可に設定して(Sj32)、タイマ割込み処理(メイン)を終了させて、当該タイマ割込み処理(メイン)が開始されたときのメイン処理に復帰させる。
If it is determined in step Sj25 that the branching timer is not 2, a reel error is determined in step Sj26, and if the reel control process in step Sj27 is terminated, the setting is performed by the reel control process. Reel motor drive signal output processing for rotating and stopping each
次いで、メイン制御部41が行う電断処理(メイン)の制御内容について、図22に基づいて説明する。尚、電断処理(メイン)は、遊技プログラムに含まれるサブルーチンである。
Next, the control content of the power interruption process (main) performed by the
メイン制御部41は、上述のタイマ割込み処理(メイン)において電圧低下状態が所定時間継続したと判定される場合に電断処理(メイン)を実行する。
The
図22に示すように、電断処理(メイン)では、まず、すべての表レジスタと裏レジスタを交換し(Sk1)、メイン制御部41が備えるすべてのレジスタの値を、遊技RAM領域の遊技スタック領域に所定の順序で記憶させることで退避させ(Sk2)、スタックポインタSPにより示される遊技スタック領域の現在のアドレスを遊技RAM領域の所定領域に記憶させることで退避させる(Sk3)。尚、メイン制御部41がレジスタの値を記憶させる遊技RAM領域の遊技スタック領域やスタックポインタSPにより示されるアドレスの値を記憶させる遊技RAM領域の所定領域を含む遊技RAM領域の所定領域は、バックアップ電源によりバックアップされており、スロットマシン1への電力供給が停止しても、バックアップ電源により電力が供給される限り当該遊技RAM領域の記憶内容が保存されるようになっている。
As shown in FIG. 22, in the power interruption process (main), first, all the front registers and back registers are exchanged (Sk1), and the values of all the registers included in the
そして、まず、メイン制御部41が備えるパラレル出力ポートのうちホッパーモータ34bの駆動信号が出力される出力ポート3を初期化して(Sk4)、出力状態をOFF状態にする。これにより、ホッパーユニット34によりメダルの払い出しが行われている場合には、メダルの払い出しをまず優先的に停止させる。その後、パラレル出力ポートのうちリールモータ32L、32C、32Rの駆動信号が出力される出力ポート0、1を初期化して(Sk5)、リール2L、2C、2Rが回転制御されている場合には、リール2L、2C、2Rの回転を停止させる。
First, among the parallel output ports included in the
その後、パラレル出力ポートのうち左・中・右停止有効LED22L、22C、22R及び流路切替ソレノイド30の制御信号が出力される出力ポート2、クレジット表示器11、遊技補助表示器12の制御信号が出力される出力ポート4、5、試験用信号を出力する出力ポート6、7、サブ制御部91に対してコマンドを送信する出力ポート8、9を順次初期化して(Sk6〜Sk11)、各種スイッチ類への制御信号等の出力を停止させる。
Thereafter, the control signals of the
Sk4〜Sk11のステップにおいて出力ポート0〜9を初期化した後、RAM41cの所定領域に破壊診断用データ(本実施例では、5A(H))を設定し(Sk12)、RAM41cの所定領域に設定されているパリティ調整用データをクリアする(Sk13)。そして、RAM41cのすべての格納領域(未使用領域及び未使用スタック領域を含む)の排他的論理和が0になるように新たなRAM41cのパリティ調整用データを計算して(Sk14)、当該パリティ調整用データをRAM41cの所定領域に設定し(Sk15)、RAM41cへのアクセスを禁止に設定し(Sk16)、ループ処理に入る。
After the
ループ処理では、電圧低下信号の出力状況を監視した状態で待機する。この状態で、電圧低下信号が入力されなくなった場合に電圧の回復を判定し、起動処理(メイン)からプログラムをスタートさせる。一方、電圧低下信号が入力されたまま電圧が低下すると内部的に動作停止状態になる。 In the loop processing, the process waits in a state where the output state of the voltage drop signal is monitored. In this state, when the voltage drop signal is not input, it is determined that the voltage has been restored, and the program is started from the startup process (main). On the other hand, when the voltage drops while the voltage drop signal is input, the operation is stopped internally.
以上の処理によって、AC100Vの電力供給が停止される場合には、電断処理(メイン)が実行され、電断前のレジスタの値が遊技RAM領域の遊技スタック領域に退避されるとともに、当該遊技スタック領域を含むRAM41cの遊技RAM領域の所定領域の内容もバックアップ電源が供給されることで保持されるため、スロットマシン1への電力供給が再開された際に実行される起動処理(メイン)において、電断前の制御状態に復帰させることが可能となる。さらに電断前の制御状態において停止操作が有効であったか否も特定できるようになっている。
When the power supply of AC100V is stopped by the above processing, the power interruption process (main) is executed, the value of the register before the power interruption is saved in the game stack area of the game RAM area, and the game In the startup process (main) executed when the power supply to the
[非遊技関連処理について]
本実施例のメイン制御部41が行う非遊技関連処理の制御内容について、図23〜図21に基づいて説明する。尚、非遊技関連処理は、非遊技プログラムに含まれており、遊技プログラムに含まれるタイマ割込み処理(メイン)により呼び出されるサブルーチンである。また、非遊技関連処理は、非遊技プログラムに含まれるセンサ監視処理、試験信号出力処理、メダル通過時間タイマ更新処理、表示モニタ出力データ選択処理を順次呼び出すようになっている。
[About non-game related processing]
The control content of the non-game related process performed by the
図23に示すように、非遊技関連処理では、まず、上述のLD命令を用いて、呼び出し元の遊技プログラムにより使用されていたスタックポインタSPにより示される遊技スタック領域の現在のアドレスの値を、非遊技RAM領域の所定領域に記憶させて退避させる(Sm1)。その後、LD命令を用いて、当該スタックポインタSPの値として非遊技スタック領域の所定値(前回の非遊技プログラムの終了時にスタックポインタSPにより示されるアドレスとして非遊技RAM領域の所定領域に記憶されている値)を設定することで、スタックポインタSPを非遊技プログラム用に設定する(Sm2)。そして、上述の第1退避命令を用いて、フラグレジスタを含むメイン制御部41が備えるすべてのレジスタの値を、スタックポインタSPにより特定される非遊技RAM領域の非遊技スタック領域に所定の順序で記憶させることで退避させる(Sm3)。その後、非遊技プログラムに含まれており、投入メダルセンサ31a〜31c、払出センサ34cの検出信号に異常が発生しているか否かを判定するセンサ監視処理(Sm4)、スロットマシン1に接続される試験装置に試験用信号を出力する試験信号出力処理(Sm5)、投入メダルセンサ31a〜31cの検出範囲のメダルの通過時間を計時するタイマを更新するメダル通過時間タイマ更新処理(Sm6)、役比モニタに表示させる役比データを選択する役比モニタ表示データ選択処理(Sm7)を順次行う。
As shown in FIG. 23, in the non-game related processing, first, using the above-described LD instruction, the value of the current address of the game stack area indicated by the stack pointer SP used by the calling game program is It is stored in a predetermined area of the non-game RAM area and saved (Sm1). Thereafter, by using the LD instruction, the value of the stack pointer SP is stored in a predetermined value of the non-game stack area (the address indicated by the stack pointer SP at the end of the previous non-game program is stored in the predetermined area of the non-game RAM area. The stack pointer SP is set for a non-game program (Sm2). Then, using the first save instruction described above, the values of all the registers included in the
Sm7のステップにおける役比モニタ表示データ選択処理の処理を行った後は、上述の第1復帰命令を用いて、Sm3のステップにおいて非遊技スタック領域に記憶させて退避させていたレジスタの値を、退避させるときと逆の順序で非遊技スタック領域から順次読み出して、当該順序に対応するレジスタに設定することで、非遊技関連処理を開始したときの状態にすべてのレジスタを復帰させる(Sm8)。その後、上述のLD命令を用いて、Sm1のステップにおいて非遊技RAM領域の所定領域に退避させた遊技プログラム用のスタックポインタSPの値を読み出し、スタックポインタSPが示す値として設定することで、非遊技関連処理を開始したときの状態にスタックポインタSPを復帰させて(Sm9)、非遊技関連処理を終了させて呼び出し元のタイマ割込み処理(メイン)に戻る。 After performing the role ratio monitor display data selection process in the step Sm7, the value of the register stored and saved in the non-game stack area in the step Sm3 using the above-described first return instruction, By sequentially reading from the non-game stack area in the reverse order to the saving and setting to the register corresponding to the order, all the registers are restored to the state when the non-game related processing is started (Sm8). Thereafter, by using the above-described LD instruction, the value of the stack pointer SP for the game program saved in the predetermined area of the non-game RAM area in the step of Sm1 is read and set as the value indicated by the stack pointer SP. The stack pointer SP is returned to the state at the start of the game-related process (Sm9), the non-game-related process is terminated, and the process returns to the caller timer interrupt process (main).
このように、メイン制御部41は、非遊技プログラムに含まれる非遊技関連処理に従って各種処理(センサ監視処理、試験信号出力処理、メダル通過時間タイマ更新処理、役比モニタ表示データ選択処理)を行う場合には、遊技プログラムに含まれるタイマ割込み処理(メイン)(Sj11)から非遊技関連処理を呼び出すことで、当該非遊技関連処理の各種処理を行い、当該各処理が終了することで、呼び出し元のタイマ割込み処理(メイン)に戻るようになっている。
As described above, the
また、非遊技関連処理では、遊技プログラムであるタイマ割込み処理(メイン)から呼び出された後、まず、スタックポインタSP及びレジスタを退避させる処理を行って、その後、センサ監視処理、試験信号出力処理、メダル通過時間タイマ更新処理、役比モニタ表示データ選択処理等の複数の処理を行う。そして、これらの処理がすべて終了した後、遊技プログラムから呼び出されたときに退避させたスタックポインタSP及びレジスタを復帰させて、呼び出し元のタイマ割込み処理(メイン)に戻る構成になっている。このような構成すなわち遊技プログラムから1回の呼出処理により呼び出された非遊技プログラムにおいて、複数の処理(例えば、センサ監視処理、試験信号出力処理、メダル通過時間タイマ更新処理、役比モニタ表示データ選択処理等)を行う構成では、非遊技プログラムにおいて行う複数の各処理毎に、スタックポインタSP及びレジスタを退避させる処理及びこれらを復帰させる処理を行わず、まとめて1回の処理とすることができる。 Further, in the non-game related process, after being called from the timer interrupt process (main) which is a game program, the stack pointer SP and the register are first saved, and then the sensor monitoring process, the test signal output process, A plurality of processes such as a medal passage time timer update process and a role ratio monitor display data selection process are performed. After all these processes are completed, the stack pointer SP and the registers saved when called from the game program are restored, and the process returns to the caller timer interrupt process (main). In such a configuration, that is, in a non-game program called from a game program by a single call process, a plurality of processes (for example, sensor monitoring process, test signal output process, medal passage time timer update process, role monitor display data selection) In the configuration in which the processing is performed), for each of a plurality of processes performed in the non-game program, the process of saving the stack pointer SP and the register and the process of restoring them are not performed, and the process can be performed once. .
また、遊技プログラム(例えば、タイマ割込み処理(メイン))から非遊技プログラム(例えば、非遊技関連処理)を呼び出す際に、遊技プログラム側において、メイン制御部41が備えるレジスタのうち演算結果が格納されるフラグレジスタの値を、遊技RAM領域の遊技スタック領域に記憶させることで退避させた後、非遊技プログラムを呼び出し、当該非遊技プログラムが終了された後に、当該非遊技プログラムを呼び出す前に退避させたフラグレジスタの値を、遊技スタック領域から順次読み出して該当するフラグレジスタに設定することで、非遊技プログラムを呼び出す前の状態にフラグレジスタを復帰させるようになっている。これにより、遊技プログラムは、非遊技プログラムを呼び出すことで、当該非遊技プログラムが演算を行うためにフラグレジスタを使用して、当該フラグレジスタの値を変更させた場合でも、遊技プログラムに復帰した際に、当該非遊技プログラムを呼び出す前の状態にフラグレジスタの値を復帰させて、その後の処理を行うことができるようになっている。
In addition, when a non-game program (for example, non-game related process) is called from a game program (for example, timer interrupt processing (main)), the calculation result is stored in the register of the
また、非遊技プログラム(例えば、非遊技関連処理)では、遊技プログラム(例えば、タイマ割込み処理(メイン))により呼び出された際に、まず、呼び出し元の遊技プログラムにより使用されていたスタックポインタSPにより示される遊技スタック領域の現在のアドレスの値を、非遊技RAM領域の所定領域に記憶させて退避させる。そして、非遊技プログラムに応じた所定の処理を行った後、当該非遊技プログラムを終了させる際に、非遊技プログラムを開始した際に非遊技RAM領域の所定領域に退避させたスタックポインタSPの値をスタックポインタSPに設定することで、非遊技プログラムを開始したときの状態にスタックポインタSPを復帰させるようになっている。これにより、非遊技プログラムは、当該非遊技プログラムにおいてスタックポインタSPを使用して、当該スタックポインタSPを変更させた場合でも、非遊技プログラムを終了させる際に、当該非遊技プログラムを開始したときの状態にスタックポインタSPを復帰させた状態で、呼び出し元の遊技プログラムに復帰させることができるようになっている。 Also, in a non-game program (for example, non-game related processing), when called by a game program (for example, timer interrupt processing (main)), first, the stack pointer SP used by the calling game program is used. The value of the current address of the indicated game stack area is stored in a predetermined area of the non-game RAM area and saved. Then, after performing a predetermined process according to the non-game program, when the non-game program is terminated, the value of the stack pointer SP saved to the predetermined area of the non-game RAM area when the non-game program is started Is set as the stack pointer SP, so that the stack pointer SP is restored to the state when the non-game program is started. Thereby, even when the stack pointer SP is changed in the non-game program and the stack pointer SP is changed, the non-game program is started when the non-game program is started. In the state where the stack pointer SP is returned to the state, it is possible to return to the calling game program.
また、非遊技プログラム(例えば、非遊技関連処理)では、遊技プログラム(例えば、タイマ割込み処理(メイン))により呼び出された際に、メイン制御部41が備えるすべてのレジスタの値を、非遊技RAM領域の非遊技スタック領域に記憶させることで退避させる。そして、非遊技プログラムに応じた所定の処理を行った後、当該非遊技プログラムを終了させる際に、当該非遊技プログラムを開始した際に非遊技スタック領域に記憶させて退避させていたレジスタの値を、非遊技スタック領域から順次読み出して、該当するレジスタに設定することで、当該非遊技プログラムを開始したときの状態にすべてのレジスタを復帰させるようになっている。これにより、非遊技プログラムは、当該非遊技プログラムにおいて、各種処理を行うためにレジスタを使用して、当該レジスタの値を変更させた場合でも、非遊技プログラムを終了させる際に、当該非遊技プログラムを開始したときの状態にすべてのレジスタの値を復帰させた状態で、呼び出し元の遊技プログラムに復帰させることができるようになっている。
Further, in a non-game program (for example, non-game related processing), when called by a game program (for example, timer interrupt processing (main)), the values of all the registers included in the
また、非遊技プログラムでは、遊技プログラムにより呼び出された際に、メイン制御部41が備える全てのレジスタの値を、非遊技RAM領域の非遊技スタック領域に記憶させることで退避させ、当該非遊技プログラムを終了させる際に、非遊技スタック領域に記憶させて退避させていたレジスタの値を該当するレジスタに設定することで、当該非遊技プログラムを開始したときの状態にすべてのレジスタを復帰させるようになっている。遊技プログラムにより使用されていたレジスタの値を、非遊技RAM領域の非遊技スタック領域に記憶させて退避させ、当該非遊技スタック領域からレジスタに復帰させるので、遊技スタック領域に全てのレジスタの値を退避させるための領域を設ける必要がなく、遊技スタック領域にはフラグレジスタの値を退避させるための領域のみを設ければ良いので、当該遊技スタック領域の容量を低減することができる。
Further, in the non-game program, when called by the game program, the values of all the registers included in the
また、メイン制御部41がフラグレジスタの値を退避させる命令に1バイトのプログラム容量を必要とする一方、メイン制御部41が全てのレジスタの値を退避させる命令に2バイトのプログラム容量を必要とする。そして、遊技プログラムから非遊技プログラムを呼び出す際に、遊技プログラム側において、メイン制御部41が備えるレジスタのうちフラグレジスタの値を、遊技RAM領域の遊技スタック領域に退避させた後、非遊技プログラムを呼び出し、非遊技プログラム側において、全てのレジスタの値を、非遊技RAM領域の非遊技スタック領域に退避させるようになっており、遊技プログラム側で全てのレジスタを退避させる場合よりも遊技プログラムのプログラム容量を削減できるようになっている。
The
[センサ監視処理について]
図24に示すように、センサ監視処理では、タイマ割込み処理(メイン)において更新され、RAM41cの遊技RAM領域の所定領域に設定されるタイマ割込み処理(メイン)の分岐用カウンタを参照して払出センサ34c、34dの検出状態に異常が生じているか否かを監視する払出センサに関する処理を行うタイミング(分岐用タイマが0であるタイミング)であるか否かを判定する(Sn1)。そして、払出センサに関する処理を行うタイミングである場合は、Sn2のステップに進む。一方、払出センサに関する処理をタイミングでない場合は、Sn16のステップに進み、投入メダルセンサ31a〜31cの検出状態に異常が生じているか否かを監視する投入センサに関する処理を行う。
[About sensor monitoring processing]
As shown in FIG. 24, in the sensor monitoring process, the payout sensor is updated with reference to the timer interruption process (main) branch counter that is updated in the timer interrupt process (main) and set in a predetermined area of the game RAM area of the
Sn1のステップにおいて払出センサに関する処理を行うタイミングであると判定した場合は、当該センサ監視処理による監視結果を遊技プログラムに伝達するためにRAM41cの非遊技RAM領域の所定領域に設定されているセンサエラー参照データをクリアする(Sn2)。そして、RAM41cの遊技RAM領域の所定領域に設定されており、エラーコードE1〜E5の異常が発生しているか否かを特定可能なエラーフラグを参照して(Sn3)、エラーコードE2、E3、E4の異常が発生しているか否かを判定する(Sn4)。
If it is determined in the step of Sn1 that it is time to perform a process related to the payout sensor, a sensor error set in a predetermined area of the non-game RAM area of the
Sn4のステップにおいてエラーコードE2、E3、E4の異常が発生していると判定した場合は、Sn16のステップに進む一方、エラーコードE2、E3、E4の異常が発生していないと判定した場合は、払出センサ34c、34dの確定データが記憶されているポート入力バッファの所定領域を参照した後(Sn5)、RAM41cの遊技RAM領域の所定領域を参照して、ホッパーユニット34によりメダルを払い出す払出制御を行っている旨を示す払出中フラグが設定されているか否かを判定する(Sn6)。
If it is determined in step Sn4 that an error has occurred in error codes E2, E3, and E4, the process proceeds to step Sn16, while if it is determined that no error in error codes E2, E3, and E4 has occurred. After referring to a predetermined area of the port input buffer in which the confirmed data of the
Sn6のステップにおいて払出中フラグが設定されていると判定した場合は、Sn5のステップにおいて参照した払出センサ34c、34dの確定データに基づいて、払出センサ34c、34dの一方がON状態であるか否かを判定し(Sn7)、払出センサ34c、34dの一方がON状態である場合は、払出センサ34c、34dのエッジデータが記憶されているポート入力バッファの所定領域を参照し(Sn8)、エッジデータ(ONエッジデータまたはOFFエッジデータ)が設定されているか否かを判定する(Sn9)。
If it is determined in the Sn6 step that the payout flag is set, whether one of the
そして、Sn7のステップにおいて払出センサ34c、34dの一方がON状態であり、かつSn7のステップにおいてエッジデータが設定されていると判定した場合、すなわちホッパーユニット34から払出された1枚のメダルが払出センサ34c、34dの検出範囲を通過し始めたとき、またはホッパーユニット34から払出された1枚のメダルが払出センサの検出範囲を通過し終えたときである場合は、RAM41cの非遊技RAM領域の所定領域に設定されているセンサチェックタイマ1を初期化して0に設定し(Sn10)、新たなメダルの通過時間の計時を開始させる。そして、Sn9のステップにおいてエッジデータが設定されていないと判定した場合、及びSn10のステップにおいてセンサチェックタイマ1を初期化した後は、センサチェックタイマ1に1を加算して更新する(Sn11)。
When it is determined that one of the
センサチェックタイマ1は、払出センサ34c、34dの検出範囲をメダルが通過し始めたときから通過し終えたときまでの時間と、払出センサ34c、34dの検出範囲をメダルが通過し終えたときから次のメダルが通過し始めたときまでの時間とを計時するためのタイマである。センサ監視処理におけるSn11のステップにより更新されることにより、センサチェックタイマ1は、払出中フラグが設定されている期間すなわちホッパーユニット34によりメダルの払出制御が行われている期間中において、払出センサに関する処理を行うタイミング(タイマ割込み処理(メイン)4回毎に1回のタイミングであり、2.24ミリ秒)毎に更新されるようになっている。
The
Sn7のステップにおいて払出センサ34c、34dの一方がON状態であり、かつSn9のステップにおいてエッジデータが設定されていないと判定した場合、すなわちメダル払出制御がホッパーユニット34から払出された1枚のメダルが払出センサ34c、34dの検出範囲を通過中である場合、または払出制御中において1枚のメダルが払出された後、次のメダルが払出されるまでの間の期間である場合は、センサチェックタイマ1を一単位時間(本実施例では、2.24ミリ秒)分加算して更新する(Sn11)。
When it is determined that one of the
そして、Sn11のステップにおいてセンサチェックタイマ1を更新した後、当該センサチェックタイマ1の値が予め定められた監視時間の最大値(本実施例では、11.20ミリ秒)を超えたか否かを判定する(Sn12)。
Then, after updating the
ここで、センサチェックタイマ1の監視時間の最大値は、少なくともホッパーユニット34により払出されてメダルが払出センサ34c、34dの検出範囲を通過し始めてから通過し終えるまでに要する時間の最大値、及び、ホッパーユニット34により払い出されたメダルが払出センサ34c、34dの検出範囲を通過し終えた後、次のメダルがホッパーユニット34により払い出されて、払出センサ34c、34dの検出範囲を通過し始めるまでに要する時間のうち長い方の時間以上の時間に設定されている。これにより、メダルを払い出す払出制御が行われている期間において、センサチェックタイマ1に基づいて、少なくとも、払出センサ34c、34dの検出状態がON状態で継続し得る時間、及び払出センサ34c、34dの検出状態がOFF状態で継続し得る時間よりも長い期間が経過したか否かが判定されるようになっている。
Here, the maximum value of the monitoring time of the
Sn12のステップにおいてセンサチェックタイマ1の値が監視時間の最大値を超えたと判定した場合は、払出センサ34c、34dの検出状態に基づいて異常が検出された旨を示すセンサエラー参照データ(払出センサ)をRAM14cの非遊技RAM領域の所定領域に設定した後(Sn13)、センサチェックタイマ1を初期化して0に設定し(Sn14)、新たなメダルの通過時間の計時を開始させて、Sn14のステップにおいて設定したセンサチェックタイマ1の値(0)をRAM41cの所定領域に格納して(Sn15)、Sn17のステップに進む。一方、j12のステップにおいてセンサチェックタイマ1の値が監視時間の最大値を超えていないと判定した場合には、当該センサチェックタイマ1の値をRAM41cの所定領域に格納して(Sn15)、Sn17のステップに進む。
If it is determined in step Sn12 that the value of the
また、Sn6のステップにおいて払出中フラグが設定されていると判定した場合であり、Sn7のステップにおいて払出センサ34c、34dの一方がON状態でないと判定した場合は、Sn8〜Sn13のステップの処理を行うことなく、Sn14のステップに進むことで、センサエラー参照データをSn2のステップにおいてクリアした状態で維持して、Sn14のステップへ進み、センサチェックタイマ1を初期化して0に設定した後、当該Sn14のステップにおいて設定したセンサチェックタイマ1の値(0)をRAM41cの所定領域に格納して(Sn15)、Sn17のステップに進む。
Further, when it is determined that the paying flag is set in the step of Sn6, and when it is determined that one of the
また、Sn6のステップにおいて払出中フラグが設定されていないと判定した場合は、Sn5のステップにおいて参照した払出センサ34c、34dの確定データに基づいて、払出センサ34c、34dの双方がOFF状態であるか否かを判定し(Sn16)、払出センサ34c、34dの双方がOFF状態である場合は、Sn7のステップに進む。そして、Sn7のステップにおいて払出センサ34c、34dの一方がON状態でないと判定されることで、センサエラー参照データ(払出センサ)を設定せずに、Sn17のステップに進むこととなる。
If it is determined in the step Sn6 that the payout flag is not set, both the
一方で、Sn6のステップにおいて払出中フラグが設定されていないと判定した場合であって、Sn16のステップにおいて払出センサ34c、34dの双方がOFF状態でないと判定した場合は、Sn13のステップに進み、センサエラー参照データ(払出センサ)をRAM14cの非遊技RAM領域の所定領域に設定した後、センサチェックタイマ1を初期化し(Sn14)、当該センサチェックタイマ1の値をRAM41cの所定領域に記憶させて(Sn15)、Sn17のステップに進む。
On the other hand, if it is determined in the Sn6 step that the payout flag is not set, and if it is determined in the Sn16 step that both the
以上のSn1〜16のステップの処理が行われることで、払出センサ34c、34dの検出状態に基づいてメダルの払い出しに関する異常が生じているか否かを判定する払出センサに関する処理が行われることとなり、当該処理が行われた後は、Sn17のステップ以降の処理を行うことで、投入センサに関する処理を払出センサに関する処理に続けて行うようになっている。
By performing the processing of the above steps Sn1 to Sn16, processing related to the payout sensor for determining whether or not an abnormality related to the payout of medals has occurred based on the detection state of the
図25に示すように、センサ監視処理における投入センサに関する処理では、まず、メダル投入部4からのメダルの投入を許可する旨を示すメダル手入れ許可フラグがRAM41cの所定領域に設定されているか否かを判定し(Sn17)、メダル手入れ許可フラグが設定されていない場合は、センサ監視処理を終了させて、呼び出し元の非遊技関連処理に戻る。
As shown in FIG. 25, in the process related to the insertion sensor in the sensor monitoring process, first, whether or not a medal care permission flag indicating permission of insertion of medals from the
Sn17のステップにおいてメダル手入れ許可フラグが設定されていると判定した場合は、RAM41cの遊技RAM領域の所定領域を参照し(Sn18)、投入メダルセンサ31a〜31cや払出センサ34cに関する異常(以下、メダルセンサエラーと呼ぶ場合がある)が検出されているか否かを特定可能なセンサエラーフラグが設定されているか否かに基づいて、メダルセンサエラー中であるか否かを判定する(Sn19)。そして、メダルセンサエラー中である場合は、センサ監視処理を終了させて、呼び出し元の非遊技関連処理に戻る。
If it is determined in the step of Sn17 that the medal care permission flag is set, a predetermined area of the game RAM area of the
Sn19のステップにおいてメダルセンサエラー中でないと判定した場合は、遊技RAM領域におけるポート入力バッファに設定されている投入メダルセンサ31a〜31c(図26中では、投入メダルセンサ1、2、3)の現在データを参照し(Sn20)、投入メダルセンサ31a〜31cがON状態であるか否かを判定する(Sn21)。
If it is determined that the medal sensor error is not in the step of Sn19, the inserted
Sn21のステップにおいて投入メダルセンサ31a〜31cがON状態であると判定した場合は、投入メダルセンサ31a〜31cのON状態をRAM41cの非遊技RAM領域の所定領域に退避させ(Sn22)、RAM41cの非遊技RAM領域の所定領域に設定されているセンサチェックタイマ2を参照して、当該センサチェックタイマ2が0であるか否かを判定する(Sn23)。
When it is determined in the step of Sn21 that the inserted
センサチェックタイマ2は、投入メダルセンサ31a〜31cの検出範囲をメダルが通過し始めたときから通過し終えたときまでの時間を計時するためのタイマである。センサ監視処理におけるSn27のステップにより更新されることにより、センサチェックタイマ1は、投入メダルセンサ31aがON状態である期間において、センサ監視処理が行われるタイミング(タイマ割込み処理(メイン)毎であり、0.56ミリ秒)毎に更新されるようになっている。
The
Sn23のステップにおいてセンサチェックタイマ2が0あると判定した場合は、Sn20のステップにおいて参照した投入メダルセンサ31b、31c(図26中では、投入メダルセンサ2、3)がON状態であるか否かを判定し(Sn24)、投入メダルセンサ31b、31cがON状態でない場合は、RAM41cの所定領域にメダル投入信号処理により設定されるメダル投入信号無視タイマに基づいて、メダル投入信号を参照しないメダル投入信号無視時間内(本実施例では、流路切替ソレノイド30によるメダルの流路の切替制御を開始してから504ミリ秒内)であるか否かを判定し(Sn25)、当該メダル投入信号無視時間内でない場合は、センサチェックタイマ2に一単位時間(本実施例では、0.56ミリ秒)分加算して更新し(Sn26)、加算後のセンサチェックタイマ2の値が、投入メダルセンサ31aの検出範囲をメダルが正常に通過するために要する正常通過時間範囲の最大値(本実施例では、99.68m)を超えたか否かを判定する(Sn27)。尚、正常通過時間範囲は、メダルが投入メダルセンサ31a〜31cの検出範囲を通過するために要する時間の実測値や、メダルセレクタ29のメダル受入流路29bの形状、メダル受入流路29bにおける投入メダルセンサ31a〜31cの配置、投入メダルセンサ31a〜31cの特性等に基づいて予め定められている(本実施例では、10.08ミリ秒〜99.68ミリ秒の範囲である)。
If it is determined in step Sn23 that the
そして、Sn27のステップにおいてセンサチェックタイマ2の値が正常通過時間範囲の最大値を超えたと判定した場合、Sn24のステップにおいて投入メダルセンサ31b、31cがON状態であると判定した場合は、投入メダルセンサ31a〜31cの検出状態に基づいて異常が検出された旨を示すセンサエラー参照データ(投入メダルセンサ)をRAM14cの非遊技RAM領域の所定領域に設定した後(Sn28)、センサチェックタイマ2を初期化して0に設定して(Sn29)、新たなメダルの通過時間の計時を開始させる。そして、センサ監視処理を終了させて呼び出し元の非遊技関連処理に戻る。
If it is determined in step Sn27 that the value of the
また、Sn21のステップにおいて投入メダルセンサ31a〜31cがON状態でないと判定した場合、Sn26のステップにおいてメダル投入信号無視タイマに基づいてメダル投入信号無視時間内でないと判定した場合、Sn27のステップにおいてセンサチェックタイマ2の値が正常通過時間範囲の最大値を超えていないと判定した場合は、当該センサチェックタイマ2の値をRAM41cの所定領域に格納して(Sn30)、センサ監視処理を終了させて呼び出し元の非遊技関連処理に戻る。
If it is determined in the step Sn21 that the inserted
このように、センサ監視処理では、Sn1〜Sn16のステップの処理が行われることで、払出センサに関する処理が行われて、払出センサ34c、34dの検出状態に基づいてメダルの払い出しに関する異常が生じているか否かが判定されることとなり、Sn17〜Sn30のステップの処理が行われることで、投入メダルセンサ31a〜31cの検出状態に基づいてメダルの投入に関する異常が生じているか否かが判定されるようになっている。
As described above, in the sensor monitoring process, the processes of the steps Sn1 to Sn16 are performed, whereby the process related to the payout sensor is performed, and an abnormality related to the payout of medals occurs based on the detection state of the
また、センサ監視処理では、払出センサに関する処理を行うことで、メダルの払い出しに関する異常が生じているか否かを判定した後、判定の結果にかかわらず、投入センサに関する処理を続けて行って、メダルの投入に関する異常が生じているか否かの判定を行うようになっている。 Further, in the sensor monitoring process, it is determined whether or not an abnormality related to the medal payout has occurred by performing a process related to the payout sensor, and then the process related to the insertion sensor is continuously performed regardless of the result of the determination. It is determined whether or not there is an abnormality related to the input.
[試験信号出力処理について]
メイン制御部41が行う試験信号出力処理について、図26に基づいて説明する。メイン制御部41は、上述のセンサ監視処理を行った後、続けて試験信号処理を行う。
[Test signal output processing]
The test signal output process performed by the
図26に示すように、試験信号出力処理では、まず、メイン処理によりRAM41cの遊技RAM領域の所定領域に設定される一遊技時間管理用タイマを参照し(Sp1)、一遊技時間管理用タイマの値が所定値(本実施例では、一遊技時間管理用タイマによる計時を開始させるときの値であり、4.1秒に対応する値)であるか否かを判定する(Sp2)。尚、当該試験号出力処理を呼び出した非遊技関連処理の更に呼び出し元であるタイマ割込み処理(メイン)が行われる前に、メイン処理のSb20のステップが行われていた場合に、一遊技時間管理用タイマの値が所定値に設定されている。
As shown in FIG. 26, in the test signal output process, first, the one game time management timer set in the predetermined area of the game RAM area of the
Sp2のステップにおいて一遊技時間管理用タイマが初期値であると判定した場合に、タイマ割込み処理(メイン)によりRAM41cの遊技RAM領域の所定領域に設定される分岐用カウンタを参照し(Sp3)、当該分岐用カウンタが所定値(本実施例では、3)である場合には、RAM41cの所定領域に設定されている試験信号出力タイマに予め定められた所定値(試験装置に対して出力する出力データ数に応じた値であり、本実施例では、一の出力データを特定可能な試験信号の出力を継続させる時間((22.4ミリ秒)×出力データ数(4)))を設定して計時を開始させる(Sp4)。一方、Sp2のステップにおいて一遊技時間管理用タイマが初期値でないと判定した場合、Sp3のステップにおいて分岐用タイマが3でないと判定した場合、Sp4のステップにおいて試験信号出力タイマを設定した後は、試験信号として出力する出力データが記憶されているRAM41cの所定領域を特定するための出力データアドレスの初期アドレスを取得する(Sp5)。尚、出力データは、内部抽選における特別役の当選状況、一般役の当選状況を特定可能なデータである。また、当該出力データは、上述のメイン処理のSb9のステップにおいて行われる当選情報出力処理により、RAM41cの所定領域に設定されている。
When it is determined in the step Sp2 that the one game time management timer is the initial value, the branch interrupt counter (main) refers to a branch counter set in a predetermined area of the game RAM area of the
その後、試験信号出力タイマの値を参照して(Sp6)、試験信号出力タイマによる所定時間の計時が終了しているか否かを判定する(Sp7)。そして、試験信号出力タイマが0でなく試験信号出力タイマによる所定時間の計時が終了していない場合は、出力データ固定モードが設定されているか否かを判定する(Sp8)。出力データ固定モードは、上述のメイン処理のSb2のステップにおいて行われるRT情報出力処理により設定される出力データを試験信号として出力する場合に設定される。 Thereafter, the value of the test signal output timer is referred to (Sp6), and it is determined whether or not the measurement of the predetermined time by the test signal output timer has ended (Sp7). If the test signal output timer is not 0 and the time measurement for the predetermined time by the test signal output timer has not ended, it is determined whether or not the output data fixing mode is set (Sp8). The output data fixing mode is set when the output data set by the RT information output process performed in step Sb2 of the main process is output as a test signal.
そして、出力データ固定モードが設定されていない場合は、試験信号出力タイマを1単位時間(本実施例では、0.56ミリ秒)分減算して更新させた後(Sp9)、Sp6のステップにおいて参照した試験信号出力タイマの値を所定値(本実施例では、一の出力データを特定可能な試験信号の出力を継続させる時間(22.4ミリ秒)に相当する値)で除算したときの余り値が0であるか否かを判定する(Sp10)。そして、余り値が0である場合は、Sp5のステップに戻り、Sp9のステップにおいて更新した試験信号出力タイマの値に基づいてSp5〜Sp10のステップの処理を行う。一方、余り値が0でない場合は、Sp6のステップにおいて参照した試験信号出力タイマの値を所定値(本実施例では、一の出力データを特定可能な試験信号の出力を継続させる時間(22.4ミリ秒)に対応する値)で除算したときの商を算出し、Sp5のステップにおいて取得した初期アドレスの出力データアドレスに商の値を加算して(Sp11)、Sp12のステップに進む。そして、出力データアドレスを更に1アドレス分進めて、当該出力データアドレスに基づいて特定されるRAM41cの所定領域に記憶されている出力データを取得する(Sp13)。
If the output data fixing mode is not set, the test signal output timer is updated by subtracting one unit time (0.56 milliseconds in this embodiment) (Sp9), and then in the Sp6 step. When the value of the referenced test signal output timer is divided by a predetermined value (in this embodiment, the value corresponding to the time (22.4 milliseconds) for which the output of one test data can be specified is continued) It is determined whether or not the remainder value is 0 (Sp10). If the remainder value is 0, the process returns to the step Sp5, and the processing of the steps Sp5 to Sp10 is performed based on the value of the test signal output timer updated in the step Sp9. On the other hand, if the remainder value is not 0, the value of the test signal output timer referred to in the step of Sp6 is set to a predetermined value (in this embodiment, the time for continuing the output of the test signal that can specify one output data (22. The quotient when dividing by the value (corresponding to 4 milliseconds) is calculated, the value of the quotient is added to the output data address of the initial address acquired in the step Sp5 (Sp11), and the process proceeds to the step Sp12. Then, the output data address is further advanced by one address, and the output data stored in the predetermined area of the
また、Sp8のステップにおいて出力データ固定モードが設定されていると判定した場合は、Sp12のステップに進み、Sp6のステップにおいて設定した初期アドレスの出力データアドレスを1アドレス分進めて(Sp12)、当該出力データアドレスに基づいて特定されるRAM41cの所定領域に記憶されている出力データを取得する(Sp13)。
If it is determined in step Sp8 that the output data fixing mode is set, the process proceeds to step Sp12, and the output data address of the initial address set in step Sp6 is advanced by one address (Sp12). Output data stored in a predetermined area of the
その後、Sp13のステップにおいて取得した出力データを試験信号出力として設定し(Sp14)、試験信号出力を出力ポート6に設定して出力させる(Sp15)。また、Sp7のステップにおいて、Sp6のステップにおいて参照した試験信号出力タイマの値が0であると判定した場合は、試験信号出力をOFF状態に設定し(Sp16)、試験信号出力を出力ポート6に設定して出力させる(Sp15)。Sp15のステップにおいて試験信号の出力を設定した後は、試験信号出力処理を終了させて呼び出し元の非遊技関連処理に戻る。
Thereafter, the output data acquired in the step of Sp13 is set as the test signal output (Sp14), and the test signal output is set to the
このような制御により、メイン制御部41は、一遊技時間管理用タイマが初期値に設定されて始動されたとき、すなわち遊技としてリール2L、2C、2Rの回転制御が開始されたときかた、所定期間(本実施例では、89.6ミリ秒(22.4ミリ秒×4))にわたり試験信号を出力ポート6から出力させるようになっている。
By such control, the
また、メイン制御部41は、試験信号として、内部抽選における一般役及び特別役の当選状況を特定可能な4つの出力データを、所定時間(本実施例では、22.4ミリ秒)毎に順次切り替えられて出力ポート6より出力させるようになっている。
Further, the
次に、メイン制御部41が行うメダル通過時間タイマ更新処理について、図27に基づいて説明する。メイン制御部41は、上述の試験信号出力処理を行った後、続けてメダル通過時間タイマ更新処理を行う。
Next, the medal passage time timer update process performed by the
図27に示すように、メダル通過時間タイマ更新処理では、まず、非遊技プログラムに含まれるメダルセンサ処理により、RAM41cの非遊技RAM領域の所定領域に設定されているメダル通過時間タイマを参照し、当該メダル通過時間タイマの値が0であるか否かを判定する(Sq1)。
As shown in FIG. 27, in the medal passage time timer update process, first, the medal passage time timer set in a predetermined area of the non-game RAM area of the
メダル通過時間タイマの値が0である場合、すなわちメダルセンサ処理により投入メダルセンサ31a〜31cの検出範囲をメダルが通過する時間を計時していない場合は、メダル通過時間タイマ更新処理を終了して、呼び出し元の非遊技関連処理に戻る。
When the value of the medal passage time timer is 0, that is, when the time for the medal to pass through the detection range of the inserted
一方、メダル通過時間タイマの値が0でない場合、すなわちメダルセンサ処理により投入メダルセンサ31a〜31cの検出範囲をメダルが通過する時間を計時している場合は、メダル通過時間タイマに所定値を加算することで更新した後(Sq2)、メダル通過時間タイマ更新処理を終了して、呼び出し元の非遊技関連処理に戻る。
On the other hand, when the value of the medal passage time timer is not 0, that is, when the time for the medal to pass through the detection range of the inserted
[表示モニタ出力データ選択処理について]
メイン制御部41が行う表示モニタ出力データ選択処理について、図28及び図29に基づいて説明する。メイン制御部41は、上述のメダル通過時間タイマ更新処理を行った後、続けて表示モニタ出力データ選択処理を行う。
[Display monitor output data selection processing]
The display monitor output data selection process performed by the
表示モニタ出力データ選択処理は、メイン制御部41により0.56ミリ秒毎に行われるタイマ割込み処理(メイン)においてポート入力処理の後に開始され、タイマ割込み処理(メイン)のLEDダイナミック表示処理で用いられるLEDの点灯データを設定する処理である。また、表示モニタ出力データ選択処理は、表示モニタ出力データ選択処理(1)(図28参照)及び表示モニタ出力データ選択処理(2)(図29参照)により構成され(以下、表示モニタ出力データ選択処理(1)及び(2)をまとめて表示モニタ出力データ選択処理と呼ぶ場合がある)、表示モニタ出力データ選択処理(1)において表示モニタ出力データ選択処理(2)が呼び出されて実行されるようになっている。
The display monitor output data selection process is started after the port input process in the timer interrupt process (main) performed every 0.56 milliseconds by the
図28に示すように、表示モニタ出力データ選択処理(1)が開始されると、遊技RAM領域に格納されているクレジット表示器11と遊技補助表示器12、及び1BETLED14などの点灯用データを非遊技RAM領域の点灯用データ格納領域にコピーする(Sr1〜Sr4)。
As shown in FIG. 28, when the display monitor output data selection process (1) is started, the lighting data such as the
続いて、メダルが投入可能な状態であるかが、遊技メダルブロッカーの状態によって判定される。ゲーム中やエラー中、設定変更や設定確認が行われている状態では遊技メダルブロッカーがオフとなっており、メダルを投入することができない。メダルが投入可能な状態でなければ、後述するSr8のステップでのリセット/設定スイッチ38の操作の判定が行われることなくSr13のステップに進み、表示モニタフラグにオフデータが設定される。メダルが投入可能な状態であればSr6のステップに進む。
Subsequently, whether or not a medal can be inserted is determined by the state of the game medal blocker. The game medal blocker is off when the setting change or setting check is being performed during a game or error, and medals cannot be inserted. If the medal cannot be inserted, the process proceeds to Sr13 without determining the operation of the reset / setting
Sr6のステップでは、前面扉1bの開放状態を検出するドア開放検出スイッチ25の状態を参照して前面扉1bが開放状態であるかが判定される。前面扉1bが開放状態でない場合、後述するSr8のステップでのリセット/設定スイッチ38の操作の判定が行われることなくSr13のステップに進み、表示モニタフラグにオフデータが設定される。前面扉1bが開放状態である場合、Sr7のステップに進む。
In step Sr6, it is determined whether the
Sr7のステップでは、遊技RAM領域に格納されている投入済みメダル数の値を参照して賭数が設定されているかが判定される。賭数が設定されている場合、後述するSr8のステップでのリセット/設定スイッチ38の操作の判定が行われることなくSr13のステップに進み、表示モニタフラグにオフデータが設定される。賭数が設定されていない場合、Sr8のステップに進む。
In step Sr7, it is determined whether the bet amount is set with reference to the value of the inserted medals stored in the game RAM area. When the bet number is set, the process proceeds to step Sr13 without determining the operation of the reset / setting
Sr8のステップでは、リセット/設定スイッチ38が操作されているかが判定される。リセット/設定スイッチ38が操作されていない場合、Sr15のステップに進み、後述する表示モニタフラグの内容の判定が行われる。リセット/設定スイッチ38が操作されている場合、Sr9のステップに進んで、クレジット表示器11と遊技補助表示器12に比率表示を行うための設定が行われる。
In step Sr8, it is determined whether the reset / setting
クレジット表示器11と遊技補助表示器12に比率表示を行うための設定として、表示モニタ選択用タイマと表示モニタ表示内容ベクタの初期化を行う(Sr9〜Sr11)。続いて、表示モニタフラグにオンデータを設定し(Sr12、Sr14)、表示モニタフラグの内容の判定を行うためSr15のステップに進む。尚、表示モニタ選択用タイマは一の比率表示を表示する所定期間(例えば5秒)を計測するためのタイマであり、当該所定期間の計時を開始する際に、当該所定期間に相当する値(本実施例では、8927)が初期値として設定された後、タイマ割込み処理(メイン)が行われる毎に一単位時間(本実施例では、0.56ミリ秒)分減算され、当該表示モニタ選択用タイマの値が0となることで所定期間の経過が計時されるようになっている。また、表示モニタ表示内容ベクタは所定順序で切り替えて表示される比率表示の種類を特定するためのデータである。
As a setting for performing a ratio display on the
具体的に、表示モニタ表示内容ベクタに設定されるデータとして、「0」に総累計ゲーム数に対する有利区間割合が対応し、「1」に過去6000ゲーム間の連役払出比率が対応し、「2」に過去6000ゲーム間の役物払出比率が対応し、「3」に総累計払出数に対する連役払出比率が対応し、「4」に総累計払出数に対する役物払出比率が対応している。但し、本実施例では、比率表示をクレジット表示器11及び遊技補助表示器12に表示させる際には、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、総累計払出数に対する連役払出比率の算出及び表示は行われない。
Specifically, as data set in the display monitor display content vector, “0” corresponds to the advantageous section ratio with respect to the total cumulative number of games, “1” corresponds to the combined payout ratio between the past 6000 games, “ “2” corresponds to the payout ratio between the past 6000 games, “3” corresponds to the combined payout ratio with respect to the total cumulative payout number, and “4” corresponds to the payout ratio with respect to the total cumulative payout number. Yes. However, in this embodiment, when the ratio display is displayed on the
Sr15、Sr16のステップでは表示モニタフラグの値が取得されて、オンデータが設定されているかオフデータが設定されているかの判定が行われる。表示モニタフラグは比率表示が行われる場合にオンデータが設定され、比率表示が行われない場合にオフデータが設定されている。 In steps Sr15 and Sr16, the value of the display monitor flag is acquired, and it is determined whether on-data or off-data is set. The display monitor flag is set to ON data when ratio display is performed, and is set to OFF data when ratio display is not performed.
Sr16のステップにおいて表示モニタフラグにオフデータが設定されていると判定された場合、以降のステップが実行されることなく、タイマ割込み処理(メイン)に復帰する。尚、タイマ割込み処理(メイン)におけるSd15のLEDダイナミック表示処理では、非遊技RAM領域の点灯用データ格納領域に格納されている点灯用データを参照して、クレジット表示器11と遊技補助表示器12、及び1BETLED14などを点灯させる。Sr16以降のステップが実行されることなく、タイマ割込み処理(メイン)に復帰した場合、非遊技RAM領域の点灯用データ格納領域にはSr1〜Sr4のステップでコピーされた遊技RAMに格納されていた点灯データ、つまり比率表示が行われないときに表示されるその他の表示(クレジット表示器11によるクレジット数の表示、遊技補助表示器12による払出枚数の表示等)を行う点灯データが格納されている。従って、その他の表示がクレジット表示器11と遊技補助表示器12、及び1BETLED14などで行われる。
If it is determined in step Sr16 that the off-data is set in the display monitor flag, the process returns to the timer interrupt process (main) without executing the subsequent steps. In the LED dynamic display process of Sd15 in the timer interrupt process (main), the
図29を参照して、Sr16のステップにおいて表示モニタフラグにオンデータが設定されていると判定された場合に実行される表示モニタ出力データ選択処理(2)を説明する。 With reference to FIG. 29, the display monitor output data selection process (2) executed when it is determined in step Sr16 that on-data is set in the display monitor flag will be described.
表示モニタ出力データ選択処理(2)では、まず、表示モニタ選択用タイマを更新して、比較値に達しているかが判定される(Ss1〜Ss4)。表示モニタ選択用タイマが比較値に達していない場合、Ss7のステップに進む。表示モニタ選択用タイマが比較値に達している場合、表示モニタ選択用タイマが0クリアされるとともに、比率表示の種類を切り替えるために表示モニタ表示内容ベクタが更新され(Ss5、Ss6)、Ss7のステップに進む。 In the display monitor output data selection process (2), first, the display monitor selection timer is updated to determine whether the comparison value has been reached (Ss1 to Ss4). If the display monitor selection timer has not reached the comparison value, the process proceeds to step Ss7. When the display monitor selection timer has reached the comparison value, the display monitor selection timer is cleared to 0, and the display monitor display content vector is updated to switch the type of ratio display (Ss5, Ss6). Proceed to step.
Ss7からのステップでは、表示モニタ表示内容ベクタの値より7SEG表示モニタ出力用テーブルに格納されたデータを読み出して、クレジット表示器11に現在表示中の表示内容を示す略記(例えば、表示順1の過去6000ゲーム間の有利区間比率が表示されている場合には、「1A」)を表示するためのデータが取得される(Ss7〜Ss10)。
In the step from Ss7, the data stored in the 7SEG display monitor output table is read from the value of the display monitor display content vector, and the abbreviation (for example,
続いて、表示モニタ消化遊技判定フラグを参照して、総累計ゲーム数が5999ゲームを超えているかを判定する(Ss11、Ss12)。 Subsequently, with reference to the display monitor digest game determination flag, it is determined whether the total number of accumulated games exceeds 5999 games (Ss11, Ss12).
総累計ゲーム数が5999ゲームを超えていない場合、現在表示中の表示内容を示す略記を点滅させるために表示モニタ選択用タイマが取得され、該タイマ値を0.3秒にあたる値で除算して点灯期間か消灯期間かが判定される(Ss13〜Ss15)。消灯期間と判定された場合(演算結果が奇数の場合)、現在表示中の表示内容を示す略記を表示するためのデータとしてクリアデータが取得され、クレジット表示器11に対応する点灯用データ格納領域に格納され(Ss16、Ss17)、クレジット表示器11が消灯される。また、点灯期間と判定された場合(演算結果が偶数の場合)、先に取得された現在表示中の表示内容を示す略記を表示するためのデータがクレジット表示器11に対応する点灯用データ格納領域に格納され(Ss17)、クレジット表示器11に現在表示中の表示内容を示す略記が表示される。これにより、総累計ゲーム数が5999ゲームを超えていない場合、クレジット表示器11に現在表示中の表示内容を示す略記が0.3秒間隔で点灯消灯を繰り返す。
When the total cumulative number of games does not exceed 5999 games, a display monitor selection timer is acquired to flash the abbreviation indicating the currently displayed display content, and the timer value is divided by a value corresponding to 0.3 seconds. It is determined whether it is a lighting period or an extinguishing period (Ss13 to Ss15). When it is determined that the period is extinguished (when the calculation result is an odd number), clear data is acquired as data for displaying an abbreviation indicating the currently displayed display content, and the lighting data storage area corresponding to the
総累計ゲーム数が5999ゲームを超えている場合、一律に先に取得された現在表示中の表示内容を示す略記を表示するためのデータがクレジット表示器11に対応する点灯用データ格納領域に格納され(Ss17)、クレジット表示器11に現在表示中の表示内容を示す略記が表示される。これにより、総累計ゲーム数が5999ゲームを超えている場合、クレジット表示器11に現在表示中の表示内容を示す略記が点滅することなく表示される。
When the total cumulative number of games exceeds 5999 games, data for displaying the abbreviation indicating the currently displayed display content that is uniformly acquired first is stored in the lighting data storage area corresponding to the
次に、前述の略記に対応する現在表示すべき比率を表示するためのデータとして一旦、「−−」を表示するためのデータが取得される(Ss18)。そして、表示モニタ表示内容ベクタを参照していずれの比率を表示するかが判定される(Ss20、Ss21)。 Next, data for displaying “-” is acquired once as data for displaying the ratio to be displayed corresponding to the abbreviation (Ss18). Then, it is determined which ratio is to be displayed with reference to the display monitor display content vector (Ss20, Ss21).
ここで、表示モニタ表示内容ベクタに累計ゲーム数に対する有利区間割合に対応する値、過去6000ゲーム間の連役払出比率に対応する値、総累計払出数に対する連役払出比率に対応する値が格納されている場合、これらの割合や比率の元となるデータは集計されていない。このため、Ss38のステップに進み、「−−」を表示するためのデータが遊技補助表示器12への表示内容として点灯用データ格納領域に格納され、タイマ割込み処理(メイン)に復帰する。前述したとおり、タイマ割込み処理(メイン)におけるSd15のLEDダイナミック表示処理では、非遊技RAM領域の点灯用データ格納領域に格納されている点灯用データを参照して、クレジット表示器11と遊技補助表示器12、及び1BETLED14などを点灯させる。従って、クレジット表示器11と遊技補助表示器12には総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、総累計払出数に対する連役払出比率のいずれかを示す略記と「−−」が表示されることになる。
Here, the display monitor display content vector stores a value corresponding to the advantageous section ratio with respect to the cumulative number of games, a value corresponding to the combined payout ratio between the past 6000 games, and a value corresponding to the combined payout ratio with respect to the total cumulative payout number. If this is the case, the data that is the basis for these ratios and ratios is not aggregated. Therefore, the process proceeds to step Ss38, where data for displaying “-” is stored in the lighting data storage area as display contents on the game
続いて、役物比率の規定割合(しきい値)となる70%が設定される(Ss22)。比率表示は表示値が規定割合を超える場合には通常と異なる表示態様で行われる。尚、表示値が規定割合を超える場合、表示値を点滅表示する。 Subsequently, 70% which is the specified ratio (threshold value) of the accessory ratio is set (Ss22). The ratio display is performed in a different display mode when the display value exceeds the specified ratio. When the display value exceeds the specified ratio, the display value is blinked.
そして、過去6000ゲーム間の役物払出比率が格納された領域のアドレスが初期値としてセットされるとともに、該初期値に対して表示モニタ表示内容ベクタの値を用いて演算を行い、過去6000ゲーム間の役物払出比率と総累計払出数に対する役物払出比率とから表示モニタ表示内容ベクタの値に対応した役物払出比率が取得される(Ss23〜Ss25)。 Then, the address of the area in which the payout ratio between the past 6000 games is stored is set as an initial value, and calculation is performed on the initial value using the value of the display monitor display content vector. The bonus payout ratio corresponding to the value of the display monitor display content vector is acquired from the bonus payout ratio and the bonus payout ratio relative to the total cumulative payout number (Ss23 to Ss25).
そして、取得した役物払出比率と設定された規定割合とを比較し、取得した役物払出比率がしきい値以上の値である場合、点滅表示を行うための設定がなされる(Ss26〜Ss29)。 Then, the acquired payout ratio is compared with the set specified ratio, and when the acquired payout ratio is a value equal to or greater than the threshold value, a setting for blinking is made (Ss26 to Ss29). ).
さらに、取得した役物払出比率にもとづいて遊技補助表示器12の10の位、1の位の各々に表示するデータを特定する(Ss30〜Ss32)。さらに、点滅表示を行うための設定がなされているかを判定する(Ss33)。点滅表示を行うための設定がなされていない場合、特定されたデータが遊技補助表示器12への表示内容として点灯用データ格納領域に格納され、タイマ割込み処理(メイン)に復帰する。前述したとおり、タイマ割込み処理(メイン)におけるSd15のLEDダイナミック表示処理では、非遊技RAM領域の点灯用データ格納領域に格納されている点灯用データを参照して、クレジット表示器11と遊技補助表示器12、及び1BETLED14などを点灯させる。従って、クレジット表示器11と遊技補助表示器12には、過去6000ゲーム間の役物払出比率を示す略記と過去6000ゲーム間の役物払出比率、または総累計払出数に対する役物払出比率を示す略記と総累計払出数に対する役物払出比率が表示されることになる。
Further, the data to be displayed in each of the tenth place and the first place of the game
点滅表示を行うための設定がなされている場合は、総累計ゲーム数が5999ゲームを超えていない場合と同様に、役物払出比率を点滅させるために表示モニタ選択用タイマが取得され、該タイマ値を0.3秒にあたる値で除算して点灯期間か消灯期間かが判定される(Ss34〜Ss36)。点灯期間である場合、遊技補助表示器12への表示内容として役物比率を表示するためのデータが点灯用データ格納領域に格納され、タイマ割込み処理(メイン)に復帰する。消灯期間である場合、役物比率を表示するためのデータとしてクリアデータが取得される。そして、遊技補助表示器12への表示内容としてクリアデータが点灯用データ格納領域に格納され(Ss37、Ss38)、タイマ割込み処理(メイン)に復帰する。
When the setting for performing blinking display is made, a display monitor selection timer is acquired for blinking the bonus payout ratio, as in the case where the total cumulative number of games does not exceed 5999 games. The value is divided by a value corresponding to 0.3 seconds to determine whether it is a lighting period or an extinguishing period (Ss34 to Ss36). If it is the lighting period, data for displaying the accessory ratio as the display contents on the game
これにより、役物払出比率がしきい値以上の値である場合、クレジット表示器11と遊技補助表示器12には、過去6000ゲーム間の役物払出比率を示す略記と過去6000ゲーム間の役物払出比率、または総累計払出数に対する役物払出比率を示す略記と総累計払出数に対する役物払出比率が表示されるとともに、遊技補助表示器12に表示される役物払出比率を示す数値が0.3秒間隔で点灯消灯を繰り返すこととなる。
As a result, when the bonus payout ratio is equal to or greater than the threshold value, the
具体的には、図30に示すように、クレジット表示器11に表示させる比率表示の種類を示す略記を、0.3秒間隔で繰り返し点灯消灯させる点滅制御(オン‐オフ制御)を行う際には、一の比率表示を表示する期間(例えば5秒)を計測するための表示モニタ選択用タイマの値(本実施例では、8927〜0)を、0.3秒にあたる値(本実施例では、536)で除算して得られる商が偶数である場合、すなわち2進数表記で最下位ビットの値が0である場合は、クレジット表示器11の出力データとしてクリアデータを設定することで、クレジット表示器11を消灯状態に制御する。一方、表示モニタ選択用タイマの値を、0.3秒にあたる値で除算して得られる商が奇数である場合、すなわち2進数表記で最下位ビットの値が1である場合は、クレジット表示器11の出力データとして役物比率の略記を表示するためのデータを設定することで、クレジット表示器11を点灯状態に制御する。
Specifically, as shown in FIG. 30, when performing a blink control (on-off control) in which an abbreviation indicating the type of ratio display displayed on the
また、遊技補助表示器12に役物払出比率を示す数値を、0.3秒間隔で繰り返し点灯消灯させる点滅制御を行う際には、略記を点滅制御する場合と同様に、表示モニタ選択用タイマの値(本実施例では、8927〜0)を、0.3秒にあたる値(本実施例では、536)で除算して、得られる商が偶数である場合は、遊技補助表示器12の出力データとしてクリアデータを設定することで、クレジット表示器11を消灯状態に制御する。一方、表示モニタ選択用タイマの値を、0.3秒にあたる値で除算して得られる商が奇数である場合は、遊技補助表示器12の出力データとして役物比率の略記を表示するためのデータを設定することで、クレジット表示器11を点灯状態に制御する。
In addition, when performing flashing control for repeatedly turning on and off the numerical value indicating the bonus payout ratio on the game
このように、本実施例のメイン制御部41は、表示モニタ選択用タイマの値に対して特定値(0.3秒に対応する536)を用いた演算の結果(例えば、表示モニタ選択用タイマの値を特定値で除算した商)に基づいてクレジット表示器11及び遊技補助表示器12の出力データを設定する制御を、表示モニタ用データ選択処理を行う毎、すなわちタイマ割込み処理(メイン)を行う毎に繰り返し行うことで、クレジット表示器11及び遊技補助表示器12での表示を点滅制御するようになっている。
As described above, the
また、メイン制御部41は、表示モニタ選択用タイマの値に対して特定値を用いた演算の結果に基づいてクレジット表示器11及び遊技補助表示器12の出力データを設定する制御を、表示モニタ用データ選択処理を行う毎に繰り返し行うことで、クレジット表示器11及び遊技補助表示器12の表示を点滅制御するようになっており、当該点滅制御において、表示モニタ選択用タイマの初期値に対して特定値を用いた演算の結果に基づいて行う制御すなわち点滅制御の最初の制御をオフ制御とするようになっている。
In addition, the
また、当該点滅制御において、表示モニタ選択用タイマの最終値(0)に対して特定値を用いた演算の結果に基づいて行う制御すなわち点滅制御の最後の制御をオフ制御とするようになっている。 In the blinking control, the control that is performed based on the result of the calculation using the specific value for the final value (0) of the display monitor selection timer, that is, the last control of the blinking control is set to OFF control. Yes.
以上のように、本実施例のメイン制御部41は、役比モニタ用データ処理により総累計ゲーム数が達している範囲を特定可能な点灯識別セグが表示モニタ消化遊技判定フラグに格納する。そして、過去6000ゲーム間の役物払出比率や総累計ゲーム数に対する役物払出比率の略記をクレジット表示器11に表示させるとともに、略記に対応する役物払出比率を示す数値を遊技補助表示器12に表示させる場合に、表示モニタ消化遊技判定フラグに格納された点灯識別セグに基づいて、総累計ゲーム数が0〜5999ゲームの範囲であるときには、クレジット表示器11での役物払出比率の略記の表示を点灯消灯に繰り返し制御する点滅制御を行い、総累計ゲーム数が6000ゲーム以上の範囲であるときには、クレジット表示器11での役物払出比率の略記の表示を点滅させることなく点灯させるように制御する。クレジット表示器11での略記の表示を点滅制御することにより、集計が6000ゲームに到達していないことが認識できるようになっており、表示されている割合、比率に偏りが生じている可能性が認識できるようになっている。ここで、メイン制御部41が役物払出比率の略記の表示を点滅制御する累計ゲーム数の範囲(本実施例では、0〜5999ゲーム)は、スロットマシン1の設計値に応じて定められるものであり、少なくともスロットマシン1において役物払出比率が概ね設計値に収束するために必要なゲーム数までの範囲である。
As described above, the
尚、本実施例では、メイン制御部41は、比率表示として、過去6000ゲーム間の役物払出比率及び総累計払出数に対する役物払出比率の算出を行い、クレジット表示器11及び遊技補助表示器12に表示させることが可能である一方で、比率表示として、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、総累計払出数に対する連役払出比率を算出せず、クレジット表示器11及び遊技補助表示器12に表示させない構成であるが、比率表示として、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、総累計払出数に対する連役払出比率等の比率表示を算出して表示させる構成としても良い。例えば、比率表示として総累計ゲーム数に対する有利区間割合を表示させる構成では、有利区間割合が概ねスロットマシンの設計値に収束する規定ゲーム数(例えば、175000ゲーム)に累計ゲーム数が達するまでは、クレジット表示器11及び遊技補助表示器12における当該有利区間割合の表示を点滅制御し、規定ゲーム数に累計ゲーム数が達した以降は、当該有利区間割合の表示を点滅させずに点灯させるように制御することが好ましい。また、例えば、比率表示として総累計払出数に対する連役払出比率や過去6000ゲーム間の連役払出比率を表示させる構成では、連役払出比率が概ねスロットマシンの設計値に収束する規定ゲーム数(例えば、17500ゲーム)に累計ゲーム数が達するまでは、クレジット表示器11及び遊技補助表示器12における当該連役払出比率の表示を点滅制御し、規定ゲーム数に累計ゲーム数が達した以降は、当該連役払出比率の表示を点滅させずに点灯させるように制御することが好ましい。
In the present embodiment, the
[作用効果について]
従来の遊技機として、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、がそれぞれ別個にROMに割り当てられた構成のものがある。このような構成では、遊技プログラムにおいて、非遊技プログラムに含まれる処理を実行する度に、遊技プログラムから非遊技プログラムを呼び出すようにすると、何度も遊技プログラムと非遊技プログラムとを行き来することとなり、処理が複雑化するという問題が生じる。
[About the effects]
As a conventional gaming machine, a game program area in which a game program related to the progress of the game is stored and a non-game program area in which a non-game program not related to the progress of the game is stored are separately allocated to the ROM. There is a thing of composition. In such a configuration, when a non-game program is called from a game program every time a process included in the non-game program is executed in the game program, the game program and the non-game program are repeatedly transferred. This causes a problem that the processing becomes complicated.
これに対して、本実施例の遊技機であるスロットマシン1は、プログラムが記憶される記憶領域を有するROM41bと、当該ROM41bに記憶されたプログラムに基づいて制御を行うメイン制御部41と、を備え、ROM41bの記憶領域は、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、を含み、遊技プログラムであるタイマ割込み処理から非遊技プログラムである非遊技関連処理の1回の呼出により該非遊技プログラムにおいて複数種類の異常判定(メダルの払い出しに関する異常の判定及びメダルの投入に関する異常の判定)を行う構成である。このような構成では、遊技の進行に係る遊技プログラムが記憶されるROM41bの遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶されるROM41bの非遊技プログラム領域と、が別個に割り当てられた構成において、遊技プログラムからの1回の非遊技プログラムの呼出により該非遊技プログラムにおいて複数種類の異常判定が行われるため、遊技プログラムと非遊技プログラムとの行き来を極力減らすことができる。
On the other hand, the
尚、本実施例では、遊技プログラムに含まれるタイマ割込み処理から呼び出される非遊技プログラムに含まれる非遊技関連処理において、メダルの払い出しに関する異常の判定及びメダルの投入に関する異常の判定の2種類の異常の判定を行う構成であるが、遊技プログラムから1回の呼出により呼び出される非遊技プログラムにおいて、3種類以上の複数種類の異常の判定を行う構成でも良い。 In this embodiment, in the non-game related process included in the non-game program called from the timer interrupt process included in the game program, there are two types of abnormalities: determination of abnormality relating to medal payout and determination of abnormality relating to medal insertion. However, in a non-game program called by a single call from the game program, it may be configured to determine three or more types of abnormalities.
また、本実施例では、遊技プログラムから非遊技プログラムを呼び出す構成であり、非遊技プログラムに含まれるタイマ割込み処理から、非遊技プログラムに含まれ、複数種類の異常の判定を行う非遊技関連処理を呼び出す構成であるが、複数種類の異常の判定を行う非遊技プログラムを呼び出す遊技プログラムとして、タイマ割込み処理以外の遊技プログラムに含まれる処理を適用しても良い。 In this embodiment, the non-game program is called from the game program. From the timer interrupt process included in the non-game program, the non-game related process for determining a plurality of types of abnormality is included in the non-game program. Although it is a structure to call, as a game program for calling a non-game program that determines a plurality of types of abnormalities, a process included in a game program other than the timer interrupt process may be applied.
また、本実施例では、遊技プログラムに含まれるタイマ割込み処理から呼び出される非遊技プログラムに含まれる非遊技関連処理において、一のサブルーチンであるセンサ監視処理を行うことで、メダルの払い出しに関する異常の判定及びメダルの投入に関する異常の判定を行う構成すなわち一のサブルーチンにより複数種類の異常の判定を行う構成であるが、遊技プログラムにより呼び出される非遊技プログラムが複数のサブルーチンにより構成され、サブルーチン毎に一種類の異常の判定を行う構成、例えば、非遊技関連処理において、メダルの払い出しに関する異常の判定を行う第1サブルーチンと、メダルの投入に関する異常の判定を行う第2サブルーチンが行われることで、複数種類の異常の判定を行う構成でも良い。このような構成では、複数種類の異常判定を行う処理を異常判定の種類毎にそれぞれサブルーチンとして設定することで、プログラムの管理が容易となる。 Further, in this embodiment, in the non-game related process included in the non-game program called from the timer interrupt process included in the game program, a sensor monitoring process, which is one subroutine, is performed to determine abnormality relating to the medal payout. And a configuration for determining an abnormality relating to the insertion of a medal, that is, a configuration for determining a plurality of types of abnormality by one subroutine, but a non-game program called by a game program is configured by a plurality of subroutines, one type for each subroutine In the non-game related process, for example, a first subroutine for determining an abnormality related to the medal payout and a second subroutine for determining an abnormality regarding the insertion of medals are performed. It may be configured to determine the abnormality. In such a configuration, the management of the program is facilitated by setting a plurality of types of abnormality determination processing as a subroutine for each type of abnormality determination.
本実施例のスロットマシン1は、遊技プログラムが記憶される遊技プログラム領域及び非遊技プログラムが記憶される非遊技プログラム領域を有するROM41bと、当該ROM41bに記憶されたプログラムに基づいて制御を行うメイン制御部41と、を備える構成であり、遊技プログラムであるタイマ割込み処理から非遊技プログラムである非遊技関連処理を呼び出すときに、遊技プログラムにて用いていたレジスタ及びスタックポインタSPを退避させるとともに、非遊技プログラムから遊技プログラムに復帰するときに、退避したレジスタ及びスタックポインタSPを復帰させる構成である。このような構成では、遊技プログラムから非遊技プログラムを呼び出すに際して、遊技プログラムにて用いていたレジスタ及びスタックポインタSPのデータが破損してしまうことを防止できる。
The
本実施例のスロットマシン1は、遊技プログラムが記憶される遊技プログラム領域及び非遊技プログラムが記憶される非遊技プログラム領域を有するROM41bと、当該ROM41bに記憶されたプログラムに基づいて制御を行うメイン制御部41と、データを一時的に記憶可能な記憶領域を有するRAM41cと、を備え、RAM41cは、遊技プログラムが用いる遊技データが読み出し及び書き込み可能に記憶される遊技RAM領域と、非遊技プログラムが用いる非遊技データが読み出し可能に記憶される非遊技RAM領域と、を含み、遊技プログラムに含まれるタイマ割込み処理から、非遊技プログラムに含まれる非遊技関連処理を1回呼出すことにより、該非遊技関連処理において複数種類の異常判定として、メダルの払い出しに関する異常の判定及びメダルの投入に関する異常の判定を行って、当該異常判定の結果を特定可能なセンサエラー参照データを非遊技RAM領域に記憶させ、非遊技関連処理からタイマ割込み処理に復帰したときに、該遊技プログラムであるタイマ割込み処理では、他の処理を行うことなく、非遊技RAM記憶領域に記憶されたセンサエラー参照データを参照する構成である。このような構成では、非遊技プログラムによる異常判定の結果を他の処理を行うよりも前に参照するため、異常判定の結果をいち早く遊技プログラムが行う処理に反映させることができる。また、異常判定を行う非遊技プログラムから遊技プログラムに復帰後、他の処理を行うよりも前にセンサエラー参照データを参照するため、最新のセンサエラー参照データが反映されたエラーフラグに基づいて他の処理を行わせることができる。
The
本実施例のスロットマシン1は、遊技プログラムが記憶される遊技プログラム領域及び非遊技プログラムが記憶される非遊技プログラム領域を有するROM41bと、当該ROM41bに記憶されたプログラムに基づいて制御を行うメイン制御部41と、を備え、遊技プログラムに含まれるタイマ割込み処理から、非遊技プログラムに含まれる非遊技関連処理を1回呼出すことにより、該非遊技関連処理において複数種類の異常判定として、メダルの払い出しに関する異常の判定及びメダルの投入に関する異常の判定を行う構成であり、非遊技関連処理では、メダルの払い出しに関する異常の判定を行って異常が判定された場合でも、メダルの払い出しに関する異常の判定の後に、メダルの投入に関する異常の判定を続けて行う構成である。このような構成では、遊技プログラムであるタイマ割込み処理から呼び出される非遊技プログラムである非遊技関連処理において、メダルの払いだしに関する異常の判定を行って異常が判定されたか否かに関わらず、他の種類の異常であるメダルの投入に関する異常についても判定を行うことができる。
The
尚、本実施例では、遊技プログラムに含まれるタイマ割込み処理から呼び出される非遊技プログラムに含まれる非遊技関連処理において、メダルの払い出しに関する異常の判定及びメダルの投入に関する異常の判定の2種類の異常の判定を行う構成であるが、遊技プログラムから1回の呼出により呼び出される非遊技プログラムにおいて、2種類以上の複数種類の異常の判定を行う構成でも良く、このような構成においては、非遊技プログラムにおいて行われる複数種類の異常の判定のうち一の種類の異常が判定されても他の種類の異常判定を続けて行う構成とすることで、いずれかの種類の異常が判定されたか否かに関わらず、他の種類の異常についても異常判定を行うことができる。 In this embodiment, in the non-game related process included in the non-game program called from the timer interrupt process included in the game program, there are two types of abnormalities: determination of abnormality relating to medal payout and determination of abnormality relating to medal insertion. However, in a non-game program called by a single call from a game program, it may be configured to determine two or more types of abnormalities. In such a configuration, a non-game program Whether one type of abnormality is determined or not, even if one type of abnormality is determined, the other type of abnormality determination is continuously performed. Regardless, abnormality determination can be performed for other types of abnormality.
本実施例のスロットマシン1は、遊技プログラムに含まれるタイマ割込み処理から、非遊技プログラムに含まれる非遊技関連処理を1回呼出すことにより、該非遊技関連処理において複数種類の異常判定として、遊技媒体であるメダルの払い出しに関する異常の判定及びメダルの投入に関する異常の判定を行う構成である。このような構成では、遊技媒体であるメダルの払い出しに関する異常判定と、メダルの投入に関する異常判定と、を1回の非遊技プログラムの呼出により行うことができる。
The
本実施例の遊技機であるスロットマシン1は、プログラムが記憶される記憶領域を有するROM41bと、当該ROM41bに記憶されたプログラムに基づいて制御を行うメイン制御部41と、を備え、ROM41bの記憶領域は、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、を含み、遊技プログラム(タイマ割込み処理)からの1回の非遊技プログラム(非遊技関連処理)の呼出により該非遊技プログラムにおいて、異常判定(センサ監視処理におけるメダルの払い出しに関する異常の判定、メダルの投入に関する異常の判定)、スロットマシン1に接続される外部機器へ出力される外部出力信号のうち試験装置へ出力される試験信号の出力制御(試験信号出力処理)、遊技の履歴に基づく状態である役比を所定表示器(クレジット表示器11、遊技補助表示器12)に表示させる表示制御(役比モニタ表示データ選択処理)を含む複数の制御を行う構成である。このような構成では、遊技の進行に係る遊技プログラムが記憶されるROM41bの遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶されるROM41bの非遊技プログラム領域と、が別個に割り当てられた構成において、遊技プログラムからの1回の非遊技プログラムの呼出により該非遊技プログラムにおいて異常判定、試験信号の出力制御、遊技の履歴に基づく状態である役比を所定表示器に表示させる表示制御を含む複数の制御が行われるため、遊技プログラムと非遊技プログラムとの行き来を極力減らすことができる。
The
尚、本実施例では、メイン制御部41は、遊技プログラム(タイマ割込み処理)からの1回の非遊技プログラム(非遊技関連処理)の呼出により該非遊技プログラムにおいて、複数の制御として、異常判定(センサ監視処理におけるメダルの払い出しに関する異常の判定、メダルの投入に関する異常の判定)、試験装置へ出力される試験信号の出力制御(試験信号出力処理)、遊技の履歴に基づく状態である役比を所定表示器に表示させる表示制御(役比モニタ表示データ選択処理)、タイマを更新する制御(メダル通過時間タイマ更新処理)を行う構成であるが、1回の非遊技プログラムの呼出により少なくとも2種類以上の制御を行う構成でも良く、遊技プログラムからの1回の非遊技プログラムの呼出により、例えば、異常判定及び試験信号の出力制御を行う構成、異常判定及び役比を所定表示器に表示させる表示制御を行う構成、試験信号の出力制御及び役比を所定表示器に表示させる表示制御を行う構成、異常判定及びタイマを更新する制御を行う構成等でも良い。これらの構成でも、遊技プログラムと非遊技プログラムとの行き来を極力減らすことができる。
In the present embodiment, the
また、本実施例では、メイン制御部41は、遊技プログラム(タイマ割込み処理)からの1回の非遊技プログラム(非遊技関連処理)の呼出により該非遊技プログラムにおいて異常判定、試験装置へ出力される試験信号の出力制御、遊技の履歴に基づく状態である役比を所定表示器に表示させる表示制御を含む複数の制御を行う構成であり、当該異常判定では、2種類の異常判定(メダルの払い出しに関する異常の判定及びメダルの投入に関する異常の判定)を行う構成であるが、異常判定において1種類の異常判定を行う構成としても良いし、3種類以上の複数の異常判定を行う構成としても良い。このような構成でも、遊技プログラムと非遊技プログラムとの行き来を極力減らすことができる。
Further, in this embodiment, the
本実施例のスロットマシン1は、遊技プログラムが記憶される遊技プログラム領域及び非遊技プログラムが記憶される非遊技プログラム領域を有するROM41bと、当該ROM41bに記憶されたプログラムに基づいて制御を行うメイン制御部41と、を備える構成であり、遊技プログラムに含まれるタイマ割込み処理から非遊技プログラムに含まれる非遊技関連処理の1回の呼出により該非遊技関連処理において異常判定(メダルの払い出しに関する異常の判定、メダルの投入に関する異常の判定)を行う処理であるセンサ監視処理及び試験装置へ出力される試験信号の出力制御を行う処理である試験信号出力処理を行う構成であり、該非遊技関連処理において、センサ監視処理及び試験信号出力処理がそれぞれサブルーチンとして呼び出される構成である。このような構成では、異常判定を行う処理及び外部機器へ出力される外部出力信号の出力制御を行う処理がそれぞれサブルーチンとして設定されているため、プログラムの管理が容易となる。
The
本実施例のスロットマシン1は、遊技プログラムであるタイマ割込み処理から非遊技プログラムである非遊技関連処理の1回の呼出により該非遊技プログラムにおいて異常判定(例えば、メダルの払い出しに関する異常の判定、メダルの投入に関する異常の判定)を行う処理であるセンサ監視処理及び試験信号の出力制御を行う処理である試験信号出力処理を行う構成であり、非遊技プログラムにおける試験信号出力処理では、遊技プログラムの処理ではオンデータやオフデータが設定されることのない出力ポート(本実施例では、出力ポート6)すなわち遊技プログラムの処理で用いられない出力ポートを用いて試験信号の出力状態を設定する構成である。このような構成では、非遊技プログラムにおける試験信号出力処理によって、遊技プログラムの処理によって出力状態が制御される信号が意図せずに出力状態に制御されてしまうことを防止できる。
The
本実施例のスロットマシン1は、遊技プログラムが記憶される遊技プログラム領域及び非遊技プログラムが記憶される非遊技プログラム領域を有するROM41bと、当該ROM41bに記憶されたプログラムに基づいて制御を行うメイン制御部41と、を備える構成であり、遊技プログラムに含まれるタイマ割込み処理から非遊技プログラムに含まれる非遊技関連処理の1回の呼出により該非遊技関連処理において異常判定(メダルの払い出しに関する異常の判定、メダルの投入に関する異常の判定)を行う処理であるセンサ監視処理及び遊技の履歴に基づく状態である役比を所定表示器(クレジット表示器11、遊技補助表示器12)に表示させる表示制御を行う表示モニタ用データ選択処理を行う構成であり、該非遊技関連処理において、センサ監視処理及び表示モニタ用データ選択処理がそれぞれサブルーチンとして呼び出される構成である。このような構成では、異常判定を行う処理及び役比の表示制御を行う処理がそれぞれサブルーチンとして設定されているため、プログラムの管理が容易となる。
The
本実施例のスロットマシン1は、クレジット表示器11に、クレジットを示す数字または役比の種類を示す数字及び記号のいずれかを表示させることが可能であるとともに、遊技補助表示器12に、払い出されるメダルの払出枚数を示す数字、ナビ報知によるナビ番号を示す数字、エラーコード、または役比の比率を示す数字のいずれかを表示させることが可能であり、遊技プログラムは、遊技の状態を示す表示としてクレジット、払出枚数、ナビ番号、エラーコードを、遊技プログラム領域に記憶されている表示データを用いて表示する表示制御を行い、非遊技プログラムは、遊技の履歴に基づく状態を示す表示として役比の種類及び比率を、非遊技プログラム領域に記憶されている表示データを用いて表示する表示制御を行う構成であり、非遊技プログラムにおける遊技の履歴に基づく状態を表示させる表示制御で用いる表示データと、遊技プログラムにおいて遊技の状態を表示させる表示制御で用いる表示データと、が共通の表示態様(例えば、数字「0」〜「9」)を表示させるものであっても、遊技プログラム領域と、非遊技プログラム領域と、にそれぞれ表示データが記憶されている構成である。このような構成では、非遊技プログラムにおける遊技の履歴に基づく状態を表示させる役比の表示制御では、非遊技プログラム領域に記憶された表示データを用い、遊技プログラムにおいて遊技の状態を表示させるクレジット等の表示制御では、遊技プログラム領域に記憶された表示データを用いることで、遊技プログラムと非遊技プログラムとの行き来を極力減らすことができる。
The
本実施例のスロットマシン1は、遊技プログラムが記憶される遊技プログラム領域及び非遊技プログラムが記憶される非遊技プログラム領域を有するROM41bと、当該ROM41bに記憶されたプログラムに基づいて制御を行うメイン制御部41と、を備える構成であり、遊技プログラムに含まれるタイマ割込み処理から非遊技プログラムに含まれる非遊技関連処理の1回の呼出により該非遊技関連処理においてスロットマシン1に接続される外部機器へ出力される外部出力信号のうち試験装置へ出力される試験信号の出力制御を行う処理である試験信号出力処理及び遊技の履歴に基づく状態である役比を所定表示器(クレジット表示器11、遊技補助表示器12)に表示させる表示制御を行う表示モニタ用データ選択処理を行う構成であり、該非遊技関連処理において、試験信号出力処理及び表示モニタ用データ選択処理がそれぞれサブルーチンとして呼び出される構成である。このような構成では、試験信号の出力制御を行う処理及び役比の表示制御を行う処理がそれぞれサブルーチンとして設定されているため、プログラムの管理が容易となる。
The
従来の遊技機では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、がそれぞれ別個にROMに割り当てられた構成のものがある。このような構成では、遊技プログラムで用いる遊技データの記憶領域と、非遊技プログラムで用いる非遊技データの記憶領域と、についても別個の領域に割り当てられているが、遊技プログラムにおいて非遊技データを参照する処理を実行する度に、遊技プログラムから非遊技データ領域のデータを参照することとすると、遊技プログラムから何度も遊技データ領域と非遊技データ領域の双方にアクセスする必要があり、処理が複雑化するという問題が生じる。 In a conventional gaming machine, a game program area in which a game program related to the progress of the game is stored and a non-game program area in which a non-game program not related to the progress of the game is stored are separately allocated to the ROM. There is a configuration one. In such a configuration, the storage area for game data used in the game program and the storage area for non-game data used in the non-game program are also allocated to separate areas. Refer to the non-game data in the game program. If the game program refers to the data in the non-game data area every time the process is executed, it is necessary to access both the game data area and the non-game data area many times from the game program. Problem arises.
これに対して、本実施例の遊技機であるスロットマシン1は、プログラムを記憶可能な記憶領域を有するROM41bと、当該ROM41bに記憶されたプログラムに基づいて制御を行うメイン制御部41と、データを一時的に記憶可能な記憶領域を有するRAM41cと、を備え、ROM41bの記憶領域は、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、を含み、RAM41cの記憶領域は、遊技プログラムが用いる遊技データが読み出し及び書き込み可能に記憶される遊技RAM領域と、非遊技プログラムが用いる非遊技データが読み出し可能に記憶される非遊技RAM領域と、を含み、非遊技プログラムである非遊技関連処理のセンサ監視処理において、異常判定としてメダルの払い出しに関する異常の判定、メダルの投入に関する異常の判定を行うとともに、これらの異常判定の結果に基づいて非遊技RAM領域に記憶されている第1異常データとしてセンサエラー参照データを更新し、非遊技関連処理を呼び出した遊技プログラムであるタイマ割込み処理(メイン)では、非遊技関連処理から遊技プログラムに復帰したときに、非遊技RAM領域に記憶されている第1異常データを参照して、該第1異常データに基づいて遊技RAM領域に記憶されている第2異常データとしてセンサエラーフラグを更新可能であり、その後行われる遊技プログラムであるメイン処理では、遊技RAM領域に記憶されている第2異常データを参照して、遊技の進行を不能化するエラー状態に移行させるか否かを判断する構成である。
On the other hand, the
このような構成では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、が別個に割り当てられ、さらに遊技プログラムが用いる遊技データが読み出し及び書き込み可能に記憶される遊技RAM領域と、非遊技プログラムが用いる非遊技データが読み出し可能に記憶される非遊技RAM領域と、が別個に割り当てられた構成において、遊技プログラムでは、非遊技プログラムから遊技プログラムに復帰したときに、非遊技データ領域に記憶されている第1異常データを参照して、該第1異常データに基づいて遊技データ領域に記憶されている第2異常データを更新し、さらに遊技プログラムでは、遊技データ領域に記憶されている第2異常データを参照して、遊技の進行を不能化するエラー状態に移行させるか否かを判断するので、一度、非遊技データ領域の第1異常データを参照し、遊技データ領域の第2異常データを更新することで、その後行われるメイン処理等の遊技プログラムにおいて、異常判定に関連する処理を行う毎に何度も非遊技データ領域の第1異常データにアクセスすることなく、非遊技プログラムによる異常判定の結果を参照することが可能となるため、遊技プログラムから非遊技データ領域を参照する頻度を極力減らすことができる。 In such a configuration, a game program area that stores a game program related to the progress of the game, a non-game program area that is a program called by the game program and stores a non-game program that is not related to the progress of the game, Are separately allocated, and a game RAM area in which game data used by the game program is stored in a readable and writable manner and a non-game RAM area in which non-game data used by the non-game program are stored in a readable manner are separately provided. In the configuration assigned to the game program, when returning from the non-game program to the game program, the game program refers to the first abnormal data stored in the non-game data area and plays a game based on the first abnormal data. Update the second abnormal data stored in the data area, and further Gram refers to the second abnormal data stored in the game data area to determine whether or not to shift to an error state that disables the progress of the game, so once the first abnormality in the non-game data area By referring to the data and updating the second abnormal data in the game data area, in the game program such as the main process to be performed thereafter, the first in the non-game data area is repeatedly performed every time the process related to the abnormality determination is performed. Since it is possible to refer to the result of the abnormality determination by the non-game program without accessing the abnormal data, the frequency of referring to the non-game data area from the game program can be reduced as much as possible.
本実施例のスロットマシン1は、非遊技プログラムである非遊技関連処理から遊技プログラムであるタイマ割込み処理に復帰したときに、非遊技RAM領域に記憶されている第1異常データとしてメダル関連エラー参照データを参照して、該第1異常データに基づいて遊技RAM領域に記憶されている第2異常データとしてセンサエラーフラグを更新可能な構成であり、非遊技プログラムから遊技プログラムに復帰したときに、非遊技RAM領域に記憶されている第1異常データを参照して、当該第1異常データと遊技RAM領域に記憶されているセンサエラーフラグの論理和を演算して、当該演算結果に応じてセンサエラーフラグを更新することで、該第1異常データから異常の発生が特定される場合には第2異常データを更新し、該第1異常データから異常の発生が特定されない場合には第2異常データを更新しない構成である。このような構成では、第1異常データから異常の発生が特定される場合には第2異常データが更新され、第1異常データから異常の発生が特定されない場合には第2異常データが更新されないので、異常が発生した後、異常が解消されて非遊技プログラムで第1異常データが更新された場合でも、遊技プログラム側で異常の発生が確認されるまでは、第2異常データから異常の発生を特定することができる。
When the
本実施例のスロットマシン1は、遊技プログラムであるタイマ割込み処理(メイン)により呼び出される非遊技プログラムである非遊技関連処理において、異常判定を行って該異常判定の結果を特定可能な第1異常データとしてメダル関連エラー参照データを非遊技RAM領域に記憶させる構成であり、遊技プログラムであるタイマ割込み処理(メイン)は、非遊技プログラムである非遊技関連処理から遊技プログラムに復帰したときに、他の処理を行うことなく、非遊技RAM領域に記憶されている第1異常データとしてメダル関連エラー参照データを参照し、該第1異常データに基づいて遊技RAM領域に記憶されている第2異常データとしてセンサエラーフラグを更新可能である構成である。このような構成では、非遊技プログラムによる異常判定の結果を他の処理を行うよりも前に参照するため、異常判定の結果をいち早く遊技プログラムが行う処理に反映させることができる。また、このような構成では、非遊技関連処理が行われた後に、他の処理により、第1異常データに基づいて更新される前の第2異常データを用いた処理が行われてしまうことを防止できる。
The
従来の遊技機では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、がそれぞれ別個にROMに割り当てられた構成のものがある。このような構成では、遊技プログラムによる信号出力と、非遊技プログラムによる信号出力と、を共通の出力ポートを用いて行った場合に、非遊技プログラムによって設定された信号の出力データが残ってしまうことにより、遊技プログラムによる出力信号として出力されてしまう虞がある。 In a conventional gaming machine, a game program area in which a game program related to the progress of the game is stored and a non-game program area in which a non-game program not related to the progress of the game is stored are separately allocated to the ROM. There is a configuration one. In such a configuration, when the signal output by the game program and the signal output by the non-game program are performed using a common output port, the output data of the signal set by the non-game program remains. As a result, there is a risk of being output as an output signal from the game program.
これに対して、本実施例の遊技機であるスロットマシン1は、プログラムを記憶可能な記憶領域を有するROM41bと、当該ROM41bに記憶されたプログラムに基づいて制御を行うメイン制御部41と、信号を出力するための出力ポート0〜9と、を備え、ROM41bの記憶領域は、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、を含み、出力ポート0〜9は、遊技プログラムにおいて出力データ、例えば、リールモータ32L、32C、32Rの制御信号や流路切替ソレノイド30の制御信号、クレジット表示器11の制御信号、サブ制御部91へのコマンド等が設定され、非遊技プログラムにおいては出力データが設定されることのない第1出力ポート(出力ポート0〜5、7〜9)と、非遊技プログラムにおいて出力データ、例えば、試験信号等が設定され、遊技プログラムにおいては出力データが設定されることのない第2出力ポート(出力ポート6)と、を含み、第1出力ポート及び第2出力ポートの初期化は遊技プログラムである起動時設定処理や電断処理(メイン)から行う構成である。このような構成では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、が別個に割り当てられた構成において、遊技プログラムにおいて出力データが設定され、非遊技プログラムにおいては出力データが設定されることのない第1出力ポートと、非遊技プログラムにおいて出力データが設定され、遊技プログラムにおいては出力データが設定されることのない第2出力ポートと、をそれぞれ別個に備えるので、非遊技プログラムによって設定された信号の出力データが残ってしまうことにより、遊技プログラムによる出力信号として出力されてしまうようなことがなく、遊技プログラムによる制御と非遊技プログラムによる制御の独立性を担保することができるとともに、第1出力ポート及び前記第2出力ポートの初期化は遊技プログラムから行うことで、出力ポートの初期化に際しての制御を簡素化できる。
On the other hand, the
本実施例のスロットマシン1は、遊技プログラムにおいて出力データが設定され、非遊技プログラムにおいては出力データが設定されることのない第1出力ポート(出力ポート0〜5、7〜9)と、非遊技プログラムにおいて出力データが設定され、遊技プログラムにおいては出力データが設定されることのない第2出力ポート(出力ポート6)と、を備える構成であり、遊技プログラムは、初期化条件として、スロットマシン1への電力供給が開始されたこと、電断が検出されたことが成立したときに、第1出力ポート及び第2出力ポートの初期化を行う構成である。このような構成では、初期化条件が成立したときの制御を簡素化できる。
In the
本実施例のスロットマシン1は、遊技プログラムにおいて出力データが設定され、非遊技プログラムにおいては出力データが設定されることのない第1出力ポート(出力ポート0〜5、7〜9)と、非遊技プログラムにおいて出力データが設定され、遊技プログラムにおいては出力データが設定されることのない第2出力ポート(出力ポート6)と、を備える構成であり、第2出力ポートから試験信号を出力する構成である。このような構成では、遊技を進行するために必須とならない試験信号を出力するための制御を非遊技プログラムにおいて行うことで、遊技プログラムの容量を削減することができる。
In the
本実施例のスロットマシン1は、データを一時的に記憶可能な記憶領域を有するRAM41cを備え、当該RAM41cの記憶領域は、遊技プログラムが用いる遊技データが読み出し及び書き込み可能に記憶される遊技RAM領域と、非遊技プログラムが用いる非遊技データが読み出し可能に記憶される非遊技RAM領域と、を含み、遊技RAM領域は、遊技プログラムであり、初期設定処理やメイン処理から呼び出すRAM初期化処理によって初期化し、非遊技RAM領域は、非遊技プログラムであり、初期設定処理から呼び出す非遊技RAM領域初期化処理によって初期化する構成である。このような構成では、遊技プログラムと非遊技プログラムでは、遊技データと、非遊技データと、を互いに参照することは可能であるが、初期化を含め、互いに書き換えを不能とすることで、遊技プログラムによる制御と非遊技プログラムによる制御の独立性を担保することができる。
The
本実施例のスロットマシン1は、データを一時的に記憶可能な記憶領域を有するRAM41cを備え、当該RAM41cの記憶領域は、遊技プログラムが用いる遊技データが読み出し及び書き込み可能に記憶される遊技RAM領域と、非遊技プログラムが用いる非遊技データが読み出し可能に記憶される非遊技RAM領域と、を含み、設定変更処理が行われる場合には、遊技RAM領域初期化処理を行うことで、遊技RAM領域を初期化する一方で非遊技RAM領域を初期化しない構成である。このような構成では、遊技RAM領域の初期化を伴う設定変更処理が行われる場合でも、非遊技RAM領域が初期化されることがないので、非遊技RAM領域に記憶されている記憶内容、例えば、遊技の履歴に基づく状態である役比を所定表示器に表示させるためのデータ等が初期化されてしまうことを防止できる。
The
本実施例のスロットマシン1は、データを一時的に記憶可能な記憶領域を有するRAM41cを備え、当該RAM41cの記憶領域は、遊技プログラムが用いる遊技データが読み出し及び書き込み可能に記憶される遊技RAM領域と、非遊技プログラムが用いる非遊技データが読み出し可能に記憶される非遊技RAM領域と、を含み、非遊技RAM領域は、初期設定処理においてRAMパリティやRAM破壊診断用固定データを用いてRAM41cの異常を判定し、RAM41cの記憶内容に異常があると判定したときに、遊技RAM領域初期化処理及び非遊技RAM領域初期化処理を行うことで、RAM41cのすべての領域を初期化する構成である。このような構成では、RAM41cに記憶されている内容に異常があり、遊技の制御が正常に行われない虞がある場合にRAM41cの非遊技RAM領域を初期化することができる。また、RAM41cに記憶されている内容に異常がある場合に、非遊技RAM領域を初期化するので、設定変更がされても初期化されない非遊技RAM領域に記憶されている記憶内容、例えば、遊技の履歴に基づく状態である役比を所定表示器に表示させるためのデータ等を正常化させて、非遊技RAM領域に記憶されている記憶内容に基づく処理の正常な動作を担保することができる。
The
従来の遊技機では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、がそれぞれ別個にROMに割り当てられた構成のものがある。このような構成では、非遊技プログラムにおいてメダルの通過の不正を検知しているが、遊技プログラムにおいては投入されたメダルの通過のみを判定しているため、非遊技プログラムが正常に動作しなかった場合に、不正が行われていてもメダルの通過が判定されてしまう虞がある。 In a conventional gaming machine, a game program area in which a game program related to the progress of the game is stored and a non-game program area in which a non-game program not related to the progress of the game is stored are separately allocated to the ROM. There is a configuration one. In such a configuration, the non-game program detects an illegal passage of medals, but the game program only determines the passage of inserted medals, so the non-game program did not operate normally. In this case, there is a possibility that the passage of medals may be determined even if fraud is performed.
これに対して、本実施例の遊技機であるスロットマシン1は、プログラムを記憶可能な記憶領域を有するROM41bと、当該ROM41bに記憶されたプログラムに基づいて制御を行うメイン制御部41と、を備え、ROM41bの記憶領域は、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、を含み、遊技プログラムにおいて第1条件として、投入メダルセンサ31bまたは31cの確定データがON状態であり、かつ入力データがOFF状態であること、すなわち入力データがON状態からOFF状態に変化したことが成立することで、遊技媒体であるメダルの通過を検出する第1検出処理(メダル投入信号処理)を行い、非遊技プログラムにおいて第2条件として、投入メダルセンサ31a〜31cの検出状態に基づいて特定されるメダル投入信号状態遷移データが正常であり、かつ投入メダルセンサ31bまたは31cの確定データがON状態からOFF状態に変化したことが成立することで遊技媒体であるメダルの通過を検出する第2検出処理(メダルセンサチェック処理)を行い、遊技プログラムでは、第1検出処理及び第2検出処理の双方で遊技媒体の通過が検出されたときに賭け数及びクレジットに加算する遊技媒体が通過したことを判定する構成である。
On the other hand, the
このような構成では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、が別個に割り当てられた構成において、遊技プログラムにおいて第1条件が成立することで遊技媒体の通過を検出する第1検出処理、及び遊技プログラムにおいて第2条件が成立することで遊技媒体の通過を検出する第2検出処理の双方で遊技媒体の通過が検出されたときに遊技媒体の通過を判定するので、遊技プログラムの容量を増やすことなく、遊技媒体の通過を適切に判定することができる。 In such a configuration, a game program area that stores a game program related to the progress of the game, a non-game program area that is a program called by the game program and stores a non-game program that is not related to the progress of the game, In the configuration in which the first condition is established in the game program, the first detection process for detecting the passage of the game medium when the first condition is satisfied, and the passage of the game medium is detected when the second condition is satisfied in the game program. Since the passage of the game medium is determined when the passage of the game medium is detected in both of the second detection processes to be performed, it is possible to appropriately determine the passage of the game medium without increasing the capacity of the game program.
本実施例のスロットマシン1は、第1条件として、投入メダルセンサ31bまたは31cの確定データがON状態であり、かつ入力データがOFF状態であることが成立することで、遊技媒体であるメダルの通過を検出する第1検出処理(メダル投入信号処理)を行い、第2条件として、投入メダルセンサ31a〜31cの検出状態に基づいて特定されるメダル投入信号状態遷移データが正常であり、かつ投入メダルセンサ31bまたは31cの確定データがON状態からOFF状態に変化したことが成立することで遊技媒体であるメダルの通過を検出する第2検出処理(メダルセンサチェック処理)を行う構成であり、第2条件は、第1条件よりも多くの情報を含むメダル投入信号の状態遷移に基づいて成立する構成である。このような構成では、遊技プログラムの容量を増やすことなく、遊技媒体の通過に係る不正を排除することができる。
In the
本実施例のスロットマシン1は、非遊技プログラムであるメダルセンサチェック処理において、第2条件として、投入メダルセンサ31a〜31cの検出状態に基づいて特定されるメダル投入信号状態遷移データが正常であり、かつ投入メダルセンサ31bまたは31cの確定データがON状態からOFF状態に変化したことが成立することで遊技媒体であるメダルの通過を検出する第2検出処理(メダルセンサチェック処理)を行う構成であり、第2検出処理により遊技媒体の通過が正常に検出されなかったときに異常と判定して、メダル関連エラー参照データ(E5)を設定する構成である。このような構成では、遊技プログラムの容量を増やすことなく、遊技媒体の通過に係る不正を検知することができる。
In the
本実施例のスロットマシン1は、第1条件として、投入メダルセンサ31bまたは31cの確定データがON状態であり、かつ入力データがOFF状態であることが成立することで、遊技媒体であるメダルの通過を検出する第1検出処理(メダル投入信号処理)を行い、第2条件として、投入メダルセンサ31a〜31cの検出状態に基づいて特定されるメダル投入信号状態遷移データが正常であり、かつ投入メダルセンサ31bまたは31cの確定データがON状態からOFF状態に変化したことが成立することで遊技媒体であるメダルの通過を検出する第2検出処理(メダルセンサチェック処理)を行う構成であり、第1検出処理及び第2検出処理において、共通の投入メダルセンサ31a〜31cを用いて遊技媒体の通過を検出する構成である。このような構成では、共通のセンサを対象として遊技プログラムと非遊技プログラムの双方で遊技媒体の通過を検出するため、遊技プログラムの容量を増やすことなく、遊技媒体の通過を適切に判定することができる。
In the
本実施例のスロットマシン1は、一定期間毎に定期処理を実行するタイマ割込み処理(メイン)により、投入メダルセンサ31a〜31cの検出状態を取得可能であり、第1条件として、投入メダルセンサ31bまたは31cの確定データがON状態であり、かつ入力データがOFF状態であることが成立することで、遊技媒体であるメダルの通過を検出する第1検出処理(メダル投入信号処理)を行い、第2条件として、投入メダルセンサ31a〜31cの検出状態に基づいて特定されるメダル投入信号状態遷移データが正常であり、かつ投入メダルセンサ31bまたは31cの確定データがON状態からOFF状態に変化したことが成立することで遊技媒体であるメダルの通過を検出する第2検出処理(メダルセンサチェック処理)を行う構成であり、第1検出処理及び第2検出処理では、同じタイマ割込み処理(メイン)にて取得された投入メダルセンサ31a〜31cの検出状態を用いて遊技媒体の通過を検出する構成である。このような構成では、同じタイマ割込み処理(メイン)にて取得した投入メダルセンサ31a〜31cの検出状態を用いて遊技プログラムと非遊技プログラムの双方で遊技媒体の通過を検出するため、遊技プログラムの容量を増やすことなく、遊技媒体の通過を適切に判定することができる。
The
従来の遊技機では、例えば、リールのバックライトを点滅させる等、オンとオフを繰り返す制御を行う構成のものがある。このような構成では、リールのバックライトのオンとオフを繰り返す制御を行うために、所定回の割込毎に点灯と消灯を繰り返すデータに基づいて制御しており、そのためのデータを必要とする。 Some conventional gaming machines are configured to perform control to repeatedly turn on and off, for example, blinking a backlight of a reel. In such a configuration, in order to perform control to repeatedly turn on and off the backlight of the reel, control is performed based on data that repeatedly turns on and off every predetermined number of interruptions, and data for that is required .
これに対して、本実施例の遊技機であるスロットマシン1のメイン制御部41は、所定時間にわたり電子部品、例えば、7セグメント表示器で構成されるクレジット表示器11、遊技補助表示器12のオン制御とオフ制御とを繰り返す制御を行うことが可能であり、所定時間を計測するためのタイマ値を更新するとともに、該タイマ値と特定値を用いて演算し、演算の結果に応じてオン制御とオフ制御とを切り替える構成である。このような構成では、所定時間を計測するためのタイマ値と特定値を用いて演算し、演算の結果に応じてオン制御とオフ制御とを切り替えるので、切り替えのためのデータを別個に必要としないため、オン制御とオフ制御とを繰り返す制御を行うためのデータ容量を削減することができる。
On the other hand, the
尚、本実施例では、メイン制御部41は、電子部品として7セグメント表示器で構成されるクレジット表示器11、遊技補助表示器12に対してオン制御とオフ制御を行って、点滅させることが可能な構成であるが、メイン制御部41は、電子部品として7セグメント表示器以外の発光手段、例えば、LEDやランプ(本実施例では、ウェイト中LED19やリプレイ中LED20、演出効果LED52等)や、ソレノイド等で動作する動作手段、バイブレータなどの振動手段などを適用する構成でも良い。
In the present embodiment, the
また、本実施例では、メイン制御部41が、電子部品のオン制御とオフ制御を行う際に、タイマ値と特定値を用いた演算の結果に応じてオン制御とオフ制御とを切り替える構成であるが、サブ制御部91やその他の制御手段が、タイマ値と特定値を用いた演算の結果に応じて、所定の電子部品のオン制御とオフ制御を行う構成でも良い。
In the present embodiment, the
本実施例のメイン制御部41は、タイマ値と特定値を用いた演算の結果に応じてオン制御とオフ制御とを切り替えることで、所定時間にわたり電子部品のオン制御とオフ制御とを繰り返す制御を行う構成であり、タイマ値を特定値で除算し、除算した商の最下位ビットの値によってオン制御とオフ制御とを切り替える構成である。このような構成では、簡単な処理でオン制御とオフ制御とを切り替えることができる。
The
尚、本実施例では、メイン制御部41は、タイマ値を特定値で除算し、除算した商の最下位ビットの値によってオン制御とオフ制御とを切り替える構成であるが、タイマ値を特定値で除算する以外の演算、例えば、タイマ値を所定ビット数シフトさせて得られる値の最下位ビットの値によってオン制御とオフ制御とを切り替える構成でも良いし、四則演算を行う構成でも良い。
In the present embodiment, the
本実施例のメイン制御部41は、タイマ値と特定値を用いた演算の結果に応じてオン制御とオフ制御とを切り替えることで、所定時間にわたり電子部品のオン制御とオフ制御とを繰り返す制御を行う構成であり、タイマ値が更新される毎に特定値を用いて演算する構成である。このような構成では、簡単な処理でオン制御とオフ制御とを切り替えることができる。
The
尚、本実施例では、メイン制御部41は、タイマ値が更新される毎に特定値を用いて演算する構成であるが、タイマ値の更新が所定回数行われる毎に特定値を用いて演算する構成でも良い。このような構成では、演算の回数を削減して処理負担を軽減できる。
In the present embodiment, the
本実施例のメイン制御部41は、タイマ値と特定値を用いた演算の結果に応じてオン制御とオフ制御とを切り替えることで、所定時間にわたり電子部品のオン制御とオフ制御とを繰り返す制御を行う構成であり、電子部品は、7セグメント表示器で構成されるクレジット表示器11、遊技補助表示器12、遊技機情報表示器50などの発光手段である。このような構成では、所定時間にわたり発光手段を点滅させる場合のデータ容量を削減することができる。
The
本実施例のメイン制御部41は、タイマ値と特定値を用いた演算の結果に応じてオン制御とオフ制御とを切り替えることで、所定時間にわたり電子部品のオン制御とオフ制御とを繰り返すオン‐オフ制御を行う構成であり、当該オン‐オフ制御において、タイマ値の初期値に対する特定値を用いた演算の結果によって行われる制御をオフ制御とする構成である。このような構成では、オン制御の状態である電子部品に対して、オン‐オフ制御を開始させる場合でも、当該オン‐オフ制御を開始させるときにまずオフ制御を行った後、オン制御とオフ制御を繰り返すので、オン‐オフ制御を開始したことを認識させることができる。
The
尚、本実施例では、メイン制御部41は、タイマ値と特定値を用いた演算の結果に応じてオン制御とオフ制御とを切り替えることで、所定時間にわたり電子部品に対してオン‐オフ制御を行う構成であり、当該オン‐オフ制御において、タイマ値の初期値に対する特定値を用いた演算の結果によって行われる制御をオフ制御とする構成であるが、メイン制御部41は、タイマ値の初期値に対する特定値を用いた演算の結果によって行われる制御をオン制御とする構成でも良く、このような構成では、電子部品に対してオン‐オフ制御を開始する前に、一旦、電子部品をオフ制御した後、当該オン‐オフ制御を開始する構成とすることで、当該オン‐オフ制御を開始したことを認識させることができる。
In the present embodiment, the
本実施例のメイン制御部41は、タイマ値と特定値を用いた演算の結果に応じてオン制御とオフ制御とを切り替えることで、所定時間にわたり電子部品のオン制御とオフ制御とを繰り返すオン‐オフ制御を行う構成であり、タイマ値の最終値に対する特定値を用いた演算の結果によって行われる制御をオフ制御とする構成である。このような構成では、所定時間にわたる電子部品に対するオン‐オフ制御の終了時の制御をオフ制御とすることで、当該オン‐オフ制御の終了後に、電子部品をオン状態とする制御が行われる場合(例えば、クレジット表示器11及び遊技補助表示器12において、表示モニタ用データ選択処理により役物の比率表示を表示させる制御を行った後、当該比率表示を表示させる前に表示されていた表示内容(例えば、クレジット、払出枚数、エラーコード)を再び表示させる場合や、複数種類の比率表示のうち一の比率表示を表示させた後、他の比率表示を表示させる場合等)でも、オフ制御を行った後にオン状態とする制御を行うこととなるので、オン‐オフ制御とその後のオン制御との区切りを認識させることができる。
The
尚、本実施例では、メイン制御部41は、タイマ値と特定値を用いた演算の結果に応じてオン制御とオフ制御とを切り替えることで、所定時間にわたり電子部品に対してオン‐オフ制御を行う構成であり、当該オン‐オフ制御において、タイマ値の最終値に対する特定値を用いた演算の結果によって行われる制御をオフ制御とする構成であるが、メイン制御部41は、タイマ値の最終値に対する特定値を用いた演算の結果によって行われる制御をオン制御とする構成でも良く、このような構成では、電子部品に対するオン‐オフ制御を終了するときに、電子部品をオフ制御する構成とすることで、当該オン‐オフ制御とその後のオン制御との区切りを認識させることができる。
In the present embodiment, the
本実施例のスロットマシン1は、小役の入賞に伴い所定枚数のメダルを付与し、特別役の入賞に伴い遊技者にとって有利に制御し、予め定められた特定期間、例えば、過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間等において付与されたメダルの総数である総累計払出数を計数することや、特定期間のうち有利に制御された期間(BB、RB)において付与されたメダルの総数である役物払出枚数を計数することが可能であり、計数された総累計払出数に占める役物払出枚数により計数された役物払出枚数の割合である役物払出比率を算出し、算出された役物払出比率を特定可能にクレジット表示器11及び遊技補助表示器12に表示することが可能な構成であり、特定期間(本実施例では、6000ゲーム)に到達するタイミングが異なる複数の累計バッファ1〜3を有しており、特定期間に到達する毎に該当するカウンタの計数値を用いて役物払出比率を算出し、累計バッファ1〜3による計数開始から最初に特定期間に到達するまでの期間において、役物払出比率の表示を点滅させる構成である。このような構成では、クレジット表示器11及び遊技補助表示器12に表示された役物払出比率が正常な値ではないことを認識させることができる。また、特定期間に到達するタイミングが異なる複数の累計バッファ1〜3をそれぞれ有しているため、最初の累計バッファが特定期間に一度到達した後は、当該累計バッファが次回特定期間に到達するまで待つことなく、他の累計バッファが特定期間に到達する毎に、役物払出比率を最新の情報に更新させることができる。
The
尚、本実施例1では、メイン制御部41は、過去6000ゲーム間の役物払出比率と総累計払出数に対する役物払出比率とを比率表示として、クレジット表示器11及び遊技補助表示器12に表示させることが可能な構成であるが、実施例1でも実施例2と同様に、過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する有利区間払出比率を算出して、これらの割合や比率をクレジット表示器11及び遊技補助表示器12に表示させることが可能な構成としても良い。
In the first embodiment, the
[作用効果について2]
従来の遊技機では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、が別個に割り当てられ、非遊技プログラムを実行する際には、該当する非遊技プログラムを遊技プログラムから呼び出すように構成されたものが提案されている。このような構成では、遊技プログラムから非遊技プログラムを呼び出すに際して、非遊技プログラムにおいてレジスタの値をスタック領域に退避させて保護し、当該非遊技プログラムに基づく処理が全て終了した際に、退避させていた値をレジスタに復帰させた後、遊技プログラムに復帰させるが、非遊技プログラムの呼び出しに関連して実行される命令により値が更新された後のレジスタの値が退避されるので、遊技プログラムに復帰させる際に、レジスタが非遊技プログラムを呼び出したときと異なる状態に復帰されてしまう虞がある。
[Function and effect 2]
In a conventional gaming machine, a game program area in which a game program related to the progress of the game is stored, a non-game program area in which a non-game program that is called by the game program and is not related to the progress of the game, Are separately assigned, and when executing a non-game program, a configuration is proposed in which the corresponding non-game program is called from the game program. In such a configuration, when a non-game program is called from a game program, the register value is saved in the stack area for protection in the non-game program, and is saved when all processing based on the non-game program is completed. After the value is restored to the register, the game program is restored, but the value of the register after the value is updated by the instruction executed in connection with the call of the non-game program is saved. When returning, the register may return to a different state from when the non-game program is called.
これに対して、本実施例の遊技機であるスロットマシン1は、プログラムを記憶可能な記憶領域を有するROM41bと、当該ROM41bに記憶されたプログラムに基づいて制御を行うメインCPU41aと、を備え、ROM41bの記憶領域は、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、を含み、メインCPU41aは、複数のレジスタに格納される値に基づいて処理を実行するとともに、複数のレジスタは、非遊技プログラムの呼び出しに関連して実行される読出命令LDにより値が更新されるフラグレジスタを含み、遊技プログラムに含まれる処理(メイン処理、メダル投入信号処理等)から非遊技プログラムに含まれる処理(非遊技RAM領域初期化処理、RT情報出力処理、当選情報出力処理、役比モニタ用データ処理、メダルセンサ処理等)を呼び出すときに、呼び出し元の遊技プログラムによりフラグレジスタの値を遊技プログラムが用いるRAM41cの遊技スタック領域に退避し、呼び出された非遊技プログラムにより、読出命令LDを用いて、該非遊技プログラムが用いるスタックポインタSPを設定した後、該非遊技プログラムにより複数のレジスタ全ての値を非遊技スタック領域に退避する構成である。このような構成では、RAM41cにおいて、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、が別個に割り当てられた構成において、遊技プログラムから非遊技プログラムを呼び出すに際して、読出命令LDの実行により値が更新されるフラグレジスタの値を遊技プログラムが用いるRAM41cの遊技スタック領域に退避し、非遊技プログラムにより読出命令LDを用いて該非遊技プログラムが用いるスタックポインタSPを設定した後、全てのレジスタの値をRAM41cの非遊技スタック領域に退避するので、フラグレジスタの値を遊技スタック領域に退避させて保護した状態で、非遊技プログラムを実行することができる。
On the other hand, the
尚、本実施例では、メインCPU41aは、遊技プログラムから非遊技プログラムを呼び出すに際し、遊技プログラムにより第2退避命令(PUSH)を用いてフラグレジスタの値を遊技スタック領域に退避させる構成であるが、遊技プログラムから非遊技プログラムを呼び出すに際し、フラグレジスタの値を遊技スタック領域以外の所定領域(例えば、遊技スタック領域以外の遊技RAM領域、裏フラグレジスタ等)に退避させる構成でも良い。また、遊技プログラムから非遊技プログラムを呼び出すに際し、遊技プログラムにより少なくともフラグレジスタを含む複数のレジスタの値を退避させる構成でも良い。
In this embodiment, the
本実施例のメインCPU41aは、複数のレジスタ全ての値をスタックポインタSPが示すRAM41cの所定領域に退避させる第1退避命令(PUSH ALL)と、複数のレジスタのうちフラグレジスタの値をスタックポインタSPが示すRAM41cの所定領域に退避させる第2退避命令(PUSH AF)と、を含む複数の命令を実行可能であり、フラグレジスタのみの値を退避させる第2退避命令の方が、複数のレジスタ全ての値を退避させる第1退避命令よりもプログラム容量が小さい構成である。このような構成では、遊技プログラムにおいて第2退避命令を用いてフラグレジスタの値を退避させ、非遊技プログラムにおいて第1退避命令を用いて複数のレジスタ全ての値を退避させることで、遊技プログラムの容量を削減することができる。
The
本実施例のメインCPU41aは、指定の領域に格納されたデータを他の指定する領域に読み出させる読出命令LDを実行することが可能であり、該読出命令LDを用いて、スタックポインタSPが示す値をRAM41cの指定領域に読み出させて記憶させること、RAM41cの指定領域に記憶されている値を読み出させてスタックポインタSPが示す値として設定することが可能であり、該読出命令LDを実行することでフラグレジスタの第2ゼロフラグの値を更新する構成であるとともに、メインCPU41aは、遊技プログラムから非遊技プログラムを呼び出す際に、遊技プログラムにより第2ゼロフラグを含むフラグレジスタの値をRAM41cの遊技スタック領域に退避させる構成であり、フラグレジスタに格納される値のうち読出命令LDの実行により更新される第2ゼロフラグの値は、遊技プログラムにおいてプログラムの進行ための判定に用いられない値である構成である。このような構成では、読出命令LDの実行により更新される第2ゼロフラグの値は、遊技プログラムによる判定に用いられることのない値であるが、非遊技プログラムを呼び出す際に該第2ゼロフラグを含むフラグレジスタの値を退避させて保護することで、遊技プログラムが非遊技プログラムから復帰したときに意図しない動作が行われることを確実に防止することができる。
The
本実施例のメインCPU41aは、遊技プログラムに含まれており、基本処理を行うメイン処理と、当該メイン処理の実行中に割り込んで処理を行うことが可能なタイマ割込み処理(メイン)と、を含む処理を実行可能であり、遊技プログラムに含まれるメイン処理から非遊技プログラムに含まれる処理(当選情報出力処理、役比モニタ用データ処理、メダルセンサ処理等)を呼び出すときに、フラグレジスタの値をRAM41cの遊技スタック領域に退避させた後、タイマ割込み処理(メイン)の割込を禁止する構成である。このような構成では、非遊技プログラムを呼び出すに際して割込が禁止される期間を極力短くすることができる。また、フラグレジスタの値を退避させた後に、タイマ割込み処理(メイン)が行われることによってフラグレジスタの値が変更されてしまうことを防止できる。
The
尚、本実施例では、メインCPU41aは、遊技プログラムに含まれるメイン処理から非遊技プログラムに含まれる処理を呼び出すときに、フラグレジスタの値を遊技スタック領域に退避させた後にタイマ割込み処理(メイン)の割込を禁止する構成であるが、メインCPU41aは、遊技プログラムに含まれるメイン処理から非遊技プログラムに含まれる処理を呼び出すときに、フラグレジスタの値をRAM41cの遊技スタック領域に退避させる前に、タイマ割込み処理(メイン)の割込を禁止する構成でも良い。このような構成では、フラグレジスタの値を遊技スタック領域に退避させた後に、タイマ割込み処理(メイン)が行われることによってフラグレジスタの値が変更されてしまうことを防止できる。
In this embodiment, when the
従来の遊技機では、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、が別個に割り当てられ、非遊技プログラムを実行する際には、該当する非遊技プログラムを遊技プログラムから呼び出すように構成されたものが提案されている。このような構成では、遊技プログラムから非遊技プログラムを呼び出すに際して、予めタイマ割込みを禁止し、当該非遊技プログラムに基づく処理が全て終了し、遊技プログラムに復帰した際に、タイマ割込みの禁止を解除するように構成すると、非遊技プログラムの実行中にタイマ割込みが行われることを防止できるが、非遊技プログラムの実行に伴いタイマ割込みが禁止されることによってタイマ割込みの実行が遅延されてしまう虞がある。 In a conventional gaming machine, a game program area in which a game program related to the progress of the game is stored, a non-game program area in which a non-game program that is called by the game program and is not related to the progress of the game, Are separately assigned, and when a non-game program is executed, the corresponding non-game program is called from the game program. In such a configuration, when calling a non-game program from a game program, the timer interrupt is prohibited in advance, and when the processing based on the non-game program is completed and the game program is restored, the timer interrupt prohibition is canceled. With this configuration, it is possible to prevent the timer interrupt from being performed during the execution of the non-game program, but there is a possibility that the execution of the timer interrupt may be delayed due to the prohibition of the timer interrupt accompanying the execution of the non-game program. .
これに対して、本実施例の遊技機であるスロットマシン1は、プログラムを記憶可能な記憶領域を有するROM41bと、当該ROM41bに記憶されたプログラムに基づいて制御を行うメインCPU41aと、を備え、ROM41bの記憶領域は、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、を含み、メインCPU41aは、基本処理(メイン処理、メイン処理に含まれる遊技開始待ち処理、メダル投入信号処理等)と、当該基本処理の実行中に定期的に発生する割込条件が成立したときに当該基本処理に割り込んで処理を実行可能なタイマ割込み処理(メイン)と、を実行可能であり、基本処理であり、遊技プログラムに含まれる処理(メイン処理、メダル投入信号処理等)から非遊技プログラムに含まれる処理(当選情報出力処理、メダルセンサ処理、役比モニタ用データ処理)を呼び出すときに、非遊技プログラムの実行中におけるタイマ割込を禁止するとともに、遊技プログラムから非遊技プログラムを呼び出す処理を含む一連の処理を行う前に、割込条件が成立してタイマ割込み処理(メイン)が実行されるまで待機する割込み1回待ち処理を実行し、タイマ割込み処理(メイン)が実行された後に、遊技プログラムから非遊技プログラムを呼び出す処理を含む一連の処理を行うことで、非遊技プログラムを呼び出す構成である。このような構成では、メイン制御部41が備えるRAM41cにおいて、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、が別個に割り当てられた構成において、遊技プログラムから非遊技プログラムを呼び出すに際してタイマ割込み処理(メイン)が禁止されるとともに、遊技プログラムから非遊技プログラムを呼び出す前に、割込み1回待ち処理を実行し、タイマ割込み処理(メイン)が実行された後に、非遊技プログラムを呼び出すので、次の割込条件が成立するまでの期間が十分な状況で、遊技プログラムから非遊技プログラムを呼び出す処理を含む一連の処理が行われ、非遊技プログラムが呼び出されて実行されることとなり、非遊技プログラムの実行に伴い割込が禁止されることによってタイマ割込み処理(メイン)の実行が遅延してしまうことを防止できる。
On the other hand, the
尚、本実施例では、メインCPU41aは、遊技プログラムに含まれるメイン処理の一部であるメダル投入信号処理から非遊技プログラムに含まれるメダルセンサ処理を呼び出す場合や、メイン処理からRT情報出力処理を呼び出す場合に、遊技プログラムから非遊技プログラムを呼び出す前に割込み1回待ち処理を行い、タイマ割込み処理(メイン)が実行された後に、非遊技プログラムを呼び出す構成であり、割込み1回待ち処理が行われ、遊技プログラムに含まれる複数の処理が行われた後に、非遊技プログラムを呼び出す構成であるが、遊技プログラムから非遊技プログラムを呼び出すに際し、非遊技プログラムを呼び出す直前に割込み1回待ち処理を行う構成でも良く、このような構成とすることで、非遊技プログラムの実行に伴い割込が禁止される状態で、割込条件が成立することを確実に防止できる。
In this embodiment, the
本実施例のメインCPU41aは、基本処理を実行するメイン処理と、当該メイン処理の実行中に定期的に発生する割込条件が成立したときに当該メイン処理に割り込んで処理を実行可能なタイマ割込み処理(メイン)と、を含む処理を実行可能であり、メイン処理から非遊技プログラムを呼び出すに際し、割込み1回待ち処理を実行した後、非遊技プログラムを呼び出す構成であり、遊技プログラムに含まれるメイン処理から呼び出される非遊技プログラムに含まれる役比モニタ用データ処理は、実行に所定時間(次のタイマ割込み処理(メイン)の契機となる割込が発生するタイミングを超え得る時間)を要する処理である。このような構成では、非遊技プログラムの実行によりタイマ割込が禁止される期間が長くなっても、タイマ割込み処理(メイン)の実行が遅延してしまうことを防止できる。
The
本実施例のスロットマシン1では、遊技プログラムに含まれるメイン処理と、当該メイン処理の実行中に定期的に発生する割込条件が成立したときに当該メイン処理に割り込んで処理を実行可能なタイマ割込み処理(メイン)と、を含む処理を実行可能であり、メイン処理は、遊技プログラムに含まれる遊技開始待ち処理を介して遊技プログラムに含まれるメダル投入信号処理を呼び出し、当該メダル投入信号処理から非遊技プログラムに含まれるメダルセンサ処理を呼び出すことが可能であり、メダル投入信号処理からメダルセンサ処理を呼び出す前の遊技開始待ち処理において、割込み1回待ち処理を実行し、タイマ割込み処理(メイン)が行われた後に、メダルセンサ処理を呼び出す構成であり、タイマ割込み処理(メイン)において、各種スイッチ類(例えば、スタートスイッチ7等)やセンサ類(例えば、投入メダルセンサ31a〜31c等)の入力データを更新するポート入力処理が実行され、メダルセンサ処理において入力データを参照してメダルの投入状況が判定される構成である。このような構成では、タイマ割込み処理(メイン)において更新された最新の入力データを参照して、非遊技プログラムに含まれるメダルセンサ処理を実行することができる。
In the
以上、本発明の実施例を図面により説明してきたが、本発明はこの実施例に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。 Although the embodiments of the present invention have been described with reference to the drawings, the present invention is not limited to these embodiments, and modifications and additions within the scope of the present invention are included in the present invention. Needless to say.
前記実施例では、本発明を遊技用価値としてメダル並びにクレジットを用いて賭数が設定されるスロットマシンに適用した例について説明したが、遊技用価値として遊技球を用いて賭数を設定するスロットマシンや、遊技用価値としてクレジットのみを使用して賭数を設定する完全クレジット式のスロットマシンに適用しても良い。遊技球を遊技用価値として用いる場合は、例えば、メダル1枚分を遊技球5個分に対応させることができ、前記実施例で賭数として3を設定する場合は、15個の遊技球を用いて賭数を設定するものに相当する。 In the above-described embodiment, the example in which the present invention is applied to a slot machine in which bets are set using medals and credits as game values has been described. However, slots for setting bets using game balls as game values. The present invention may be applied to a machine or a fully credit type slot machine that sets a bet amount using only credit as a gaming value. When using a game ball as a game value, for example, one medal can correspond to five game balls, and when 3 is set as the number of bets in the above embodiment, 15 game balls are used. This is equivalent to setting the number of bets using.
さらに、メダル及び遊技球等の複数種類の遊技用価値のうちいずれか1種類のみを用いるものに限定されるものではなく、例えば、メダル及び遊技球等の複数種類の遊技用価値を併用できるものであっても良い。すなわち、メダル及び遊技球等の複数種類の遊技用価値のいずれを用いても賭数を設定してゲームを行うことが可能であり、かつ入賞の発生によってメダル及び遊技球等の複数種類の遊技用価値のいずれをも払い出し得るスロットマシンを適用しても良い。 Further, the present invention is not limited to the use of only one of a plurality of types of game values such as medals and game balls, for example, a combination of a plurality of types of game values such as medals and game balls. It may be. That is, it is possible to play a game by setting the number of bets using any of a plurality of types of gaming values such as medals and game balls, and a plurality of types of games such as medals and game balls when a winning occurs. You may apply the slot machine which can pay out all of utility values.
また、前記実施例及び変形例では、本発明が遊技機の一例であるスロットマシン1に適用された例が示されていたが、本発明はこれに限定されるものではなく、遊技機の他の一例であり、遊技領域に遊技球を発射することにより遊技を行うパチンコ遊技機であって、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、がそれぞれ別個にROMに割り当てられた構成である遊技機等においても適用可能である。また、パチンコ遊技機であって、演出用LEDを点滅させる等、電子部品についてオンとオフを繰り返す制御を行う構成である遊技機等においても適用可能である。
Further, in the above-described embodiments and modifications, the example in which the present invention is applied to the
構成1−1の遊技機は、
遊技を行う遊技機(スロットマシン1)において、
プログラムを記憶可能な記憶領域を有する記憶手段(ROM41b)と、
記憶手段に記憶されたプログラムに基づいて制御を行う制御手段(メインCPU41a)と、
を備え、
前記記憶手段(ROM41b)の記憶領域は、
遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、
前記遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、
を含み、
前記制御手段は、複数のレジスタに格納される値に基づいて処理を実行するとともに、
前記複数のレジスタは、前記非遊技プログラムの呼び出しに関連して実行される所定命令(読出命令LD)により値が更新される特定レジスタ(フラグレジスタ)を含み、
前記遊技プログラムから前記非遊技プログラム(RT情報出力処理、当選情報出力処理、役比モニタ用データ処理、メダルセンサ処理)を呼び出すときに、前記遊技プログラムにより前記特定レジスタの値を前記遊技プログラムが用いる遊技用スタック領域に退避し、前記非遊技プログラムにより前記非遊技プログラムが用いる非遊技用スタック領域のスタックポインタを設定した後、前記複数のレジスタ全ての値を前記非遊技スタック領域に退避する
ことを特徴としている。
この特徴によれば、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、が別個に割り当てられた構成において、遊技プログラムから非遊技プログラムを呼び出すに際して、所定命令の実行により値が更新される特定レジスタの値を遊技プログラムが用いる遊技用スタック領域に退避し、非遊技プログラムにより非遊技プログラムが用いる非遊技用スタック領域のスタックポインタを設定した後、全てのレジスタの値を非遊技スタック領域に退避するので、特定レジスタの値を遊技用スタック領域に退避して保護された状態で、非遊技プログラムを実行することができる。
The gaming machine of configuration 1-1 is
In a gaming machine (slot machine 1) that performs a game,
Storage means (
Control means (
With
The storage area of the storage means (
A game program area in which a game program related to the progress of the game is stored;
A non-game program area for storing a non-game program that is called by the game program and is not related to the progress of the game;
Including
The control means executes processing based on values stored in a plurality of registers,
The plurality of registers include a specific register (flag register) whose value is updated by a predetermined instruction (read instruction LD) executed in association with the calling of the non-game program,
When the non-game program (RT information output process, winning information output process, role ratio monitoring data process, medal sensor process) is called from the game program, the game program uses the value of the specific register by the game program. Saving to the game stack area, setting a stack pointer of the non-game stack area used by the non-game program by the non-game program, and then saving all values of the plurality of registers to the non-game stack area. It is a feature.
According to this feature, a game program area that stores a game program related to the progress of the game, a non-game program area that is a program called by the game program and stores a non-game program that is not related to the progress of the game, When a non-game program is called from a game program, the value of a specific register whose value is updated by execution of a predetermined instruction is saved in the game stack area used by the game program, and the non-game program After setting the stack pointer of the non-game stack area used by the non-game program, all register values are saved to the non-game stack area, so the specific register values are saved to the game stack area and protected. Thus, the non-game program can be executed.
構成1−2の遊技機は、構成1−1に記載の遊技機であって、
前記特定レジスタ(フラグレジスタ)の値を退避させる命令(第2退避命令PUSH AF )の方が、前記複数のレジスタ全ての値を退避させる命令(第1退避命令PUSH ALL)よりもプログラム容量が小さい
ことを特徴としている。
この特徴によれば、遊技プログラムの容量を削減することができる。
The gaming machine of configuration 1-2 is the gaming machine described in configuration 1-1,
The instruction for saving the value of the specific register (flag register) (second save instruction PUSH AF) has a smaller program capacity than the instruction for saving the values of all the plurality of registers (first save instruction PUSH ALL). It is characterized by that.
According to this feature, the capacity of the game program can be reduced.
構成1−3の遊技機は、構成1−1または1−2に記載の遊技機であって、
前記特定レジスタ(フラグレジスタ)に格納される値のうち前記所定命令(読出命令LD)の実行により更新される値(第2ゼロフラグの値)は、前記遊技プログラムの判定に用いられない値である
ことを特徴としている。
この特徴によれば、所定命令の実行により更新される値は、遊技プログラムの判定に用いられることのない値であるが、非遊技プログラムを呼び出す際に保護することで意図しない動作が行われることを確実に防止することができる。
The gaming machine of configuration 1-3 is the gaming machine according to configuration 1-1 or 1-2,
Of the values stored in the specific register (flag register), the value updated by execution of the predetermined instruction (read instruction LD) (the value of the second zero flag) is a value that is not used for the determination of the game program. It is characterized by that.
According to this feature, the value updated by the execution of the predetermined instruction is a value that is not used for the determination of the game program, but an unintended operation is performed by protecting when calling the non-game program. Can be reliably prevented.
構成1−4の遊技機は、構成1−1〜1−3のいずれかに記載の遊技機であって、
前記制御手段(メインCPU41a)は、
基本処理(メイン処理)を実行する基本処理実行手段と、
前記基本処理の実行中に割り込んで割込処理(タイマ割込み処理(メイン))を実行可能な割込処理実行手段と、
を含み、
前記基本処理において前記遊技プログラムから前記非遊技プログラム(例えば、当選情報出力処理、役比モニタ用データ処理、メダルセンサ処理)を呼び出すときに、前記特定レジスタ(フラグレジスタ)の値を前記遊技プログラムが用いる遊技用スタック領域に退避する前に割込を禁止する
ことを特徴としている。
この特徴によれば、特定レジスタの値を遊技用スタック領域に退避した後に、割込処理によって特定レジスタの値が変更されてしまうことを防止できる。
A gaming machine according to configuration 1-4 is the gaming machine according to any one of configurations 1-1 to 1-3,
The control means (
Basic processing execution means for executing basic processing (main processing);
Interrupt processing execution means capable of interrupting and executing interrupt processing (timer interrupt processing (main)) during execution of the basic processing;
Including
When the non-game program (for example, winning information output process, role ratio monitoring data process, medal sensor process) is called from the game program in the basic process, the game program sets the value of the specific register (flag register). It is characterized by prohibiting interrupts before retreating to the game stack area to be used.
According to this feature, it is possible to prevent the value of the specific register from being changed by the interrupt process after the value of the specific register is saved in the game stack area.
構成1−5の遊技機は、構成1−1〜1−3のいずれかに記載の遊技機であって、
前記制御手段は、
基本処理(メイン処理)を実行する基本処理実行手段と、
前記基本処理の実行中に割り込んで割込処理(タイマ割込み処理(メイン))を実行可能な割込処理実行手段と、
を含み、
前記基本処理において前記遊技プログラムから前記非遊技プログラム(当選情報出力処理、役比モニタ用データ処理、メダルセンサ処理非遊技関連処理)を呼び出すときに、前記特定レジスタ(フラグレジスタ)の値を前記遊技プログラムが用いる遊技用スタック領域に退避した後に割込を禁止する
ことを特徴としている。
この特徴によれば、非遊技プログラムを呼び出すに際して割込が禁止される期間を極力短くすることができる。
A gaming machine according to Configuration 1-5 is the gaming machine according to any one of Configurations 1-1 to 1-3,
The control means includes
Basic processing execution means for executing basic processing (main processing);
Interrupt processing execution means capable of interrupting and executing interrupt processing (timer interrupt processing (main)) during execution of the basic processing;
Including
When the non-game program (winning information output process, role monitoring data process, medal sensor process non-game related process) is called from the game program in the basic process, the value of the specific register (flag register) is set to the game It is characterized by prohibiting interrupts after saving to the game stack area used by the program.
According to this feature, the period during which interruption is prohibited when calling a non-game program can be shortened as much as possible.
構成1−6の遊技機は、構成1−1〜1−5のいずれかに記載の遊技機であって、
前記制御手段(メインCPU41a)は、プログラムに基づいて制御命令を実行可能であり、
前記制御命令は、プログラムにおいて指定された指定値及び所定値領域(ベクタテーブル領域)に予め記憶されている所定値からなるアドレスにより特定される記憶領域に記憶されているプログラムを呼び出す所定呼出命令(CALLV命令、RST命令)を含み、
前記遊技プログラムでは、所定呼出命令を用いてプログラムを呼び出し、
前記非遊技プログラムでは、所定呼出命令を用いずにプログラムを呼び出す。
ことを特徴としている。
この特徴によれば、非遊技プログラムから不用意に遊技プログラム領域にアクセスされてしまうことを防止できる。
A gaming machine of Configuration 1-6 is the gaming machine according to any of Configurations 1-1 to 1-5,
The control means (
The control instruction is a predetermined call instruction for calling a program stored in a storage area specified by an address consisting of a specified value specified in a program and a predetermined value stored in a predetermined value area (vector table area) in advance. CALLV instruction, RST instruction)
In the game program, the program is called using a predetermined call instruction,
In the non-game program, the program is called without using a predetermined call instruction.
It is characterized by that.
According to this feature, it is possible to prevent a game program area from being inadvertently accessed by a non-game program.
構成2−1の遊技機は、
遊技を行う遊技機(スロットマシン1)において、
プログラムを記憶可能な記憶領域を有する記憶手段(ROM41b)と、
記憶手段に記憶されたプログラムに基づいて制御を行う制御手段(メインCPU41a)と、
を備え、
前記記憶手段(ROM41b)の記憶領域は、
遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、
前記遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、
を含み、
前記制御手段は、
基本処理(メイン処理)を実行する基本処理実行手段と、
前記基本処理の実行中に定期的に発生する割込条件が成立したときに前記基本処理に割り込んで割込処理(タイマ割込み処理(メイン))を実行可能な割込処理実行手段と、
を含み、
前記基本処理において前記遊技プログラムから前記非遊技プログラム(役比モニタ用データ処理、メダルセンサ処理)を呼び出すときに、前記非遊技プログラムの実行中に割込が禁止されるとともに、
前記基本処理において前記遊技プログラムから前記非遊技プログラムを呼び出す前に、前記割込条件が成立して前記割込処理が実行されるまで待機する待機処理(割込み1回待ち処理)を実行し、前記割込処理が実行された後に前記非遊技プログラムを呼び出す
ことを特徴としている。
この特徴によれば、遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、が別個に割り当てられた構成において、遊技プログラムから非遊技プログラムを呼び出すに際して割込が禁止されるとともに、基本処理において遊技プログラムから非遊技プログラムを呼び出す前に、割込条件が成立して割込処理が実行されるまで待機する待機処理を実行し、割込処理が実行された後に非遊技プログラムを呼び出すので、次の割込条件が成立するまでの期間が十分な状況で非遊技プログラムが実行されることとなり、非遊技プログラムの実行に伴い割込が禁止されることによって割込処理の実行が遅延してしまうことを防止できる。
The gaming machine of configuration 2-1 is
In a gaming machine (slot machine 1) that performs a game,
Storage means (
Control means (
With
The storage area of the storage means (
A game program area in which a game program related to the progress of the game is stored;
A non-game program area for storing a non-game program that is called by the game program and is not related to the progress of the game;
Including
The control means includes
Basic processing execution means for executing basic processing (main processing);
Interrupt processing execution means capable of interrupting the basic processing and executing interrupt processing (timer interrupt processing (main)) when an interrupt condition that occurs periodically during execution of the basic processing is satisfied;
Including
When calling the non-game program (ratio monitoring data processing, medal sensor processing) from the game program in the basic processing, interrupts are prohibited during execution of the non-game program,
Before calling the non-game program from the game program in the basic process, execute a standby process (waiting once interrupt) until the interrupt condition is satisfied and the interrupt process is executed, The non-game program is called after the interruption process is executed.
According to this feature, a game program area that stores a game program related to the progress of the game, a non-game program area that is a program called by the game program and stores a non-game program that is not related to the progress of the game, In the configuration in which the non-game program is called from the game program, the interrupt condition is established and the interrupt process is established before the non-game program is called from the game program in the basic process. Since the non-game program is called after the wait process is executed and the interrupt process is executed, the non-game program is executed in a sufficient period until the next interrupt condition is satisfied. Therefore, interrupts are prohibited when the non-game program is executed. There can be prevented from being delayed.
構成2−2の遊技機は、構成2−1に記載の遊技機であって、
前記基本処理(メイン処理)において前記遊技プログラム(メイン処理)から呼び出される前記非遊技プログラム(役比モニタ用データ処理、メダルセンサ処理)は、実行に所定時間要する処理である
ことを特徴としている。
この特徴によれば、非遊技プログラムの実行により割込が禁止される期間が長くなっても、割込処理の実行が遅延してしまうことを防止できる。
The gaming machine of configuration 2-2 is the gaming machine described in configuration 2-1,
The non-game program (role ratio monitoring data process, medal sensor process) called from the game program (main process) in the basic process (main process) is a process that takes a predetermined time to execute.
According to this feature, it is possible to prevent the execution of the interrupt process from being delayed even if the period during which the interrupt is prohibited is increased due to the execution of the non-game program.
構成2−3の遊技機は、構成2−1または2−2に記載の遊技機であって、
前記割込処理(タイマ割込み処理(メイン))において所定データ(入力データ)の更新に関する処理(ポート入力処理)が実行され、
前記非遊技プログラム(メダルセンサ処理)において前記所定データを参照する処理が実行される
ことを特徴としている。
この特徴によれば、割込処理において更新された最新の所定データを参照して非遊技プログラムを実行することができる。
The gaming machine of configuration 2-3 is the gaming machine described in configuration 2-1 or 2-2,
Processing related to updating predetermined data (input data) (port input processing) is executed in the interrupt processing (timer interrupt processing (main)),
In the non-game program (medal sensor process), a process of referring to the predetermined data is executed.
According to this feature, the non-game program can be executed with reference to the latest predetermined data updated in the interrupt process.
構成2−4の遊技機は、構成2−1〜2−3のいずれかに記載の遊技機であって、
前記基本処理(メイン処理)において前記遊技プログラム(例えば、メイン処理、メダル投入信号処理)から前記非遊技プログラム(例えば、当選情報出力処理、役比モニタ用データ処理、メダルセンサ処理)を呼び出すときに、特定レジスタ(フラグレジスタ)の値を前記遊技プログラムが用いる遊技用スタック領域に退避する前に割込を禁止する
ことを特徴としている。
この特徴によれば、特定レジスタの値を遊技用スタック領域に退避した後に、割込処理によって特定レジスタの値が変更されてしまうことを防止できる。
A gaming machine having configuration 2-4 is the gaming machine according to any one of configurations 2-1 to 2-3,
When calling the non-game program (for example, winning information output processing, role ratio monitoring data processing, medal sensor processing) from the gaming program (for example, main processing, medal insertion signal processing) in the basic processing (main processing) The interrupt is prohibited before the value of the specific register (flag register) is saved in the game stack area used by the game program.
According to this feature, it is possible to prevent the value of the specific register from being changed by the interrupt process after the value of the specific register is saved in the game stack area.
構成2−5の遊技機は、構成2−1〜2−3のいずれかに記載の遊技機であって、
前記基本処理において前記遊技プログラム(メイン処理、メダル投入信号処理)から前記非遊技プログラム(当選情報出力処理、役比モニタ用データ処理、メダルセンサ処理)を呼び出すときに、特定レジスタ(フラグレジスタ)の値を前記遊技プログラムが用いる遊技用スタック領域に退避した後に割込を禁止する
ことを特徴としている。
この特徴によれば、非遊技プログラムを呼び出すに際して割込が禁止される期間を極力短くすることができる。
The gaming machine of configuration 2-5 is the gaming machine according to any one of configurations 2-1 to 2-3,
When the non-game program (winning information output process, role monitoring data process, medal sensor process) is called from the game program (main process, medal insertion signal process) in the basic process, a specific register (flag register) An interrupt is prohibited after the value is saved in the game stack area used by the game program.
According to this feature, the period during which interruption is prohibited when calling a non-game program can be shortened as much as possible.
構成2−6の遊技機は、構成2−1〜2−5のいずれかに記載の遊技機であって、
前記制御手段(メインCPU41a)は、プログラムに基づいて制御命令を実行可能であり、
前記制御命令は、プログラムにおいて指定された指定値及び所定値領域(ベクタテーブル領域)に予め記憶されている所定値からなるアドレスにより特定される記憶領域に記憶されているプログラムを呼び出す所定呼出命令(CALLV命令、RST命令)を含み、
前記遊技プログラムでは、所定呼出命令を用いてプログラムを呼び出し、
前記非遊技プログラムでは、所定呼出命令を用いずにプログラムを呼び出す。
ことを特徴としている。
この特徴によれば、非遊技プログラムから不用意に遊技プログラム領域にアクセスされてしまうことを防止できる。
A gaming machine of configuration 2-6 is the gaming machine according to any of configurations 2-1 to 2-5,
The control means (
The control instruction is a predetermined call instruction for calling a program stored in a storage area specified by an address consisting of a specified value specified in a program and a predetermined value stored in a predetermined value area (vector table area) in advance. CALLV instruction, RST instruction)
In the game program, the program is called using a predetermined call instruction,
In the non-game program, the program is called without using a predetermined call instruction.
It is characterized by that.
According to this feature, it is possible to prevent a game program area from being inadvertently accessed by a non-game program.
本発明が適用されたスロットマシンの実施例2について説明する。尚、本実施例のスロットマシンの構成は、前述した実施例1と同一の構成を含むため、ここでは異なる点について主に説明する。 Second Embodiment A slot machine to which the present invention is applied will be described. The configuration of the slot machine according to the present embodiment includes the same configuration as that of the first embodiment described above, and therefore, different points will be mainly described here.
実施例1のメイン制御部41は、役比モニタ用データ処理により集計された、過去6000ゲーム間の役物払出比率と総累計払出数に対する役物払出比率とを比率表示として、クレジット表示器11及び遊技補助表示器12に表示させることが可能な構成であるが、実施例2のメイン制御部41は、遊技制御基板40に7セグメント表示器で構成される遊技機情報表示器50を備え、過去6000ゲーム間の役物払出比率や総累計払出数に対する役物払出比率などの比率表示を、遊技機情報表示器50に表示させる構成である。
The
また、実施例1のメイン制御部41は、比率表示として、役比モニタ用データ処理により、過去6000ゲーム間の役物払出比率と総累計払出数に対する役物払出比率とを表示させる構成であるが、実施例2のメイン制御部41は、比率表示として、過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の役物払出比率、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率を表示させる構成である。
In addition, the
また、実施例1のメイン制御部41は、6000ゲーム分のメダルの払い出しに関するデータを計数可能な3つの累計バッファ1〜3を用いて、比率表示を行うためのデータを集計する構成であるが、実施例2のメイン制御部41は、1セットで2バイトのデータを格納可能なバッファが15セット設けられている5つのリングバッファを用いて、比率表示を行うためのデータを集計する構成である。
In addition, the
以下、本実施例2のスロットマシン1について、図31〜図35に基づいて説明する。図31に示すように、遊技制御基板40が筐体1aの内部の所定位置に取り付けられた状態において、遊技制御基板40の正面側(遊技者側)の下部には7セグメント表示器で構成される遊技機情報表示器50が配置されている。遊技機情報表示器50は、遊技制御基板40が基板ケース120aに封入されている状態で、当該基板ケース120aの外部から表示内容を視認可能となっており、メイン制御部41により集計され、遊技機情報表示器50に表示されるスロットマシン1における有利区間割合等の情報を、店員等が認識できるようになっている。
Hereinafter, the
このため、前面扉1bを開放した状態において基板ケース120aを介して遊技機情報表示器50の表示内容が視認できるようになっている。また、筐体1aの内部では、遊技機情報表示器50の表示内容の視認性が妨げられないようになっている。詳しくは、遊技機情報表示器50の表示側の位置に、スロットマシン1に設けられたリール等の部品全般、他の基板等が設けられることがなく、遊技機情報表示器50の表示側の位置を、スロットマシン1に設けられた電子部品同士を接続する配線が通過しないようになっている。また、遊技機情報表示器50を搭載した遊技制御基板40を収納する基板ケース120aにおいて、封印シールや開封者を記入するための記入部、スロットマシン1や遊技制御基板40の管理情報や管理履歴等の情報が表示されるラベル、当該ラベルが貼着される貼着部、当該情報が印字、刻印される表示部、放熱穴、放熱用のファン等の部品などが遊技機情報表示器50の表示側の位置を避けて設けられている。
For this reason, the display content of the gaming
また、基板ケース120aは、遊技制御基板40を収容した後封止されるようになっており、封止された状態では、痕跡を残すことなく封止を解除して開放することができないようになっている。封止する方法としては、封止片をワンウェイネジで封止したり、ケースの一部を溶着したり、剥がした跡が残る封印シールを貼着したりする方法などがある。これにより、遊技機情報表示器50と遊技制御基板40とを接続する接続線を断線させて、基板ケース120aに封入された遊技制御基板40に搭載されている遊技機情報表示器50が正しく表示内容を表示することができないようにしたり、遊技機情報表示器50の表示面にシール等を貼着して視認性を阻害するような不正が行われることを防止できる。
In addition, the
メイン制御部41は、図32に示すように、過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の役物払出比率、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率を遊技機情報表示器50に表示させる制御を行う。
As shown in FIG. 32, the
過去6000ゲーム間の有利区間割合とは、過去6000ゲーム間においてATに関連する有利区間に制御されたゲーム数の割合である。ATに関連する有利区間とは、AT非当選の状態においてATに当選したときから、当選したATに伴うATの制御が全て終了し、非ATに移行するまでの期間である。総累計ゲーム数に対する有利区間割合は、工場出荷時或いは何らかの原因でRAM41cのデータが初期化されてからの累計ゲーム数である総累計ゲーム数に対してATに関連する有利区間に制御されたゲーム数の割合である。過去6000ゲーム間の連役払出比率とは、過去6000ゲーム間において払い出されたメダル数の累計である総払出枚数に占める過去6000ゲーム間において制御されたBB中に払い出されたメダル数の累計である連役払出枚数の比率である。過去6000ゲーム間の役物払出比率とは、過去6000ゲーム間において払い出されたメダル数の累計である総払出枚数に占める過去6000ゲーム間において制御されたBB中及びRB中に払い出されたメダル数の累計である役物払出枚数の比率である。過去6000ゲーム間の有利区間払出比率とは、過去6000ゲーム間において払い出されたメダル数の累計である総払出枚数に占める過去6000ゲーム間において制御されたATに関連する有利区間中に払い出されたメダル数の累計である有利区間払出枚数の比率である。総累計払出数に対する連役払出比率とは、工場出荷時或いは何らかの原因でRAM41cのデータが初期化されてからのメダルの払出枚数の累計である総累計払出数に占める工場出荷時或いは何らかの原因でRAM41cのデータが初期化されてから現在までにおいて制御されたBB中に払い出されたメダル数の累計である連役払出枚数の比率である。総累計払出数に対する役物払出比率とは、総累計払出数に占める工場出荷時或いは何らかの原因でRAM41cのデータが初期化されてから現在までにおいて制御されたBB中及びRB中に払い出されたメダル数の累計である役物払出枚数の比率である。総累計払出数に対する有利区間払出比率とは、総累計払出数に占める工場出荷時或いは何らかの原因でRAM41cのデータが初期化されてから現在までにおいて制御されたATに関連する有利区間中に払い出されたメダル数の累計である有利区間払出枚数の比率である。
The advantageous section ratio between the past 6000 games is the ratio of the number of games controlled to the advantageous section related to AT among the past 6000 games. The advantageous interval related to the AT is a period from the time when the AT is won in the AT non-winning state to the time when all the AT controls associated with the selected AT are completed and the AT shifts to the non-AT. The advantageous section ratio with respect to the total cumulative number of games is a game controlled in the advantageous section related to AT with respect to the total cumulative number of games, which is the cumulative number of games since the data in the
尚、本実施例では、ボーナスとして、RBと、RBが連続して作動するBBのみを搭載する構成であるが、全ての種類の小役の入賞が許容されるが、一部のリールについて引込が制限されるCT、CTが連続して作動するCBを搭載する構成であっても良く、CTを搭載する場合には、CT中に払い出されたメダル数は、役物払出比率に反映され、CBを搭載する場合には、CB中に払い出されたメダル数は、連役払出比率に反映されることとなる。 In this embodiment, as a bonus, only RB and BB in which RB continuously operates are mounted. However, all types of small roles are permitted, but some reels are drawn. However, when the CT is installed, the number of medals paid out during the CT is reflected in the bonus payout ratio. When the CB is mounted, the number of medals paid out during the CB is reflected in the combined payout ratio.
メイン制御部41は、電源投入後、電力供給が停止するまでの期間において過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の役物払出比率、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率を、図32に示す表示順にて所定期間(本実施例では、30秒間)毎に切り替えて遊技機情報表示器50に表示させる。
The
この際、遊技機情報表示器50には、上位2桁に現在表示中の表示内容を示す略記(例えば、表示順1の過去6000ゲーム間の有利区間比率が表示されている場合には、「1A」)が表示される。現在表示中の表示内容を示す略記は、表示される2桁のうち最下位の桁の表示内容が数字以外の文字(本実施例では、「A」「C」「F」の英字)となっており、遊技機情報表示器50において、略記及び割合、比率が表示されているときに、略記の数字部分が、割合、比率と隣り合うことがないようになっている。これにより、略記の数字部分と割合、比率とが隣り合って割合、比率の表示内容が誤認されてしまうことを防止できる。
At this time, in the gaming
また、この際、遊技機情報表示器50には、下2桁に前述の略記に対応する現在表示すべき割合、比率(以下、表示すべきデータと呼ぶ場合がある)が表示され、いずれのデータについても%で表示されるようになっている。遊技機情報表示器50の下2桁に表示されるデータとして、0〜99%が表示されることとなるが、本実施例では、遊技機情報表示器50の下2桁双方を用いて表示すべきデータを表示するようになっており、例えば、表示すべきデータが1桁の場合には、遊技機情報表示器50の下2桁のうち上位の桁に「0」を表示する一方で、下位の桁に表示すべきデータの値を表示する(例えば、5%を表示する場合には、遊技機情報表示器50の下2桁に「05」を表示する)。また、表示すべきデータが2桁の場合には、遊技機情報表示器50の下2桁に表示すべきデータを表示する(例えば、15%を表示する場合には、遊技機情報表示器50の下2桁に「15」を表示する)。このように、遊技機情報表示器50に表示すべきデータが、1桁であるか2桁であるかにかかわらず、遊技機情報表示器50の下2桁双方を用いて表示すべきデータを表示することで、割合、比率の表示内容が誤認されてしまうことを防止できる。また、1桁であるか2桁であるかにかかわらず、遊技機情報表示器50の下2桁双方を用いて表示すべきデータを表示することで、常に遊技機情報表示器50の下2桁にいずれかのデータが表示されることとなり、例えば、下2桁の表示器の一方にデータが表示されない場合に、当該表示器の異常を認識させることができる。
At this time, the gaming
尚、現在表示中の表示内容を示す略記を、表示される2桁のうち最上位の桁の表示内容が数字以外の文字(例えば、「A1」)となるようにして、遊技機情報表示器50における下2桁に当該略記を表示させるとともに、遊技機情報表示器50における上2桁に現在表示すべきデータ(例えば、過去6000ゲーム間の有利区間比率)を表示させる構成でも、略記の数字部分と割合、比率とが隣り合って割合、比率の表示内容が誤認されてしまうことを防止できる。
It should be noted that the abbreviation indicating the currently displayed display content is changed so that the display content of the highest digit of the two displayed digits is a character other than a number (for example, “A1”). In the configuration in which the abbreviation is displayed in the last two digits in 50 and the data to be currently displayed (for example, the advantageous section ratio between the past 6000 games) is displayed in the upper two digits in the gaming
また、遊技機情報表示器50における下2桁、上2桁のいずれに略記と現在表示すべきデータとを表示させるかにかかわらず、略記を表示する2桁と、現在表示すべきデータを表示する2桁の色彩を異ならせる構成でも、略記の数字部分と割合、比率とが隣り合って割合、比率の表示内容が誤認されてしまうことを防止できる。
Moreover, regardless of whether the abbreviation and the data to be currently displayed are displayed in the lower two digits or the upper two digits in the gaming machine
また、本実施例のメイン制御部41は、有利区間割合、連役払出比率、役物払出比率、有利区間払出比率、連役払出比率、役物払出比率、有利区間払出比率を、図32に示す表示順にて所定期間毎に切り替えて表示させる際に、これらの表示が一巡し終えるまでの一の期間内においては、ゲームが進行されて、これらの値が新たな値に更新され得る場合であっても、新たな値に更新することを制限して、元の値を用いて表示を一巡させる。詳しくは、これらの表示が一巡し終えるまでの一の期間内において、ゲームが進行されて、これらの値が新たな値に更新され得る場合には、新たな値を演算してRAM41cの所定領域に記憶させるが、遊技機情報表示器50に表示内容を表示させるための出力バッファに当該新たな値を設定することなく、元の値を設定することで、遊技機情報表示器50における表示を元の値を用いて一巡させ、一巡の表示が終了したときから、新たな値を出力バッファに設定することで、その後、新たな値で表示を行うようにしても良いし、これらの表示が一巡し終えるまでの一の期間内において、これらの値が新たな値に更新され得る場合には、新たな値を求めるための演算を行うことを制限して、遊技機情報表示器50における表示を一巡させ、一巡の表示が終了した際に、新たな値を求めるための演算を行い、その後、当該新たな値を用いて遊技機情報表示器50における表示を行うようにしても良い。このようにすることで、遊技機情報表示器50における表示内容が一巡するまでの期間において、異なる時期に演算された有利区間割合等の表示内容が混在してしまうことを防止できる。
In addition, the
また、メイン制御部41は、過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合が規定割合(例えば、70%)を超える場合には、通常と異なる表示態様(例えば、通常が常時点灯であれば点滅点灯等)にて有利区間割合を表示する。また、メイン制御部41は、過去6000ゲーム間の連役払出比率、総累計払出数に対する連役払出比率が規定割合(例えば、60%)を超える場合には、通常と異なる表示態様(例えば、通常が常時点灯であれば点滅点灯等)にて連役払出比率を表示する。また、メイン制御部41は、過去6000ゲーム間の役物払出比率、総累計払出数に対する役物払出比率が規定割合(例えば、70%)を超える場合には、通常と異なる表示態様(例えば、通常が常時点灯であれば点滅点灯等)にて役物払出比率を表示する。また、メイン制御部41は、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する有利区間払出比率が規定割合(例えば、80%)を超える場合には、通常と異なる表示態様(例えば、通常が常時点灯であれば点滅点灯等)にて有利区間払出比率を表示する。
Also, the
このように有利区間割合、連役払出比率、役物払出比率、有利区間払出比率が規定割合を超えると、通常と異なる表示態様にて表示されるようになっており、射幸性が高い状態に制御されている可能性があることを警告できるようになっている。 In this way, when the advantageous section ratio, consecutive-action payout ratio, accessory payout ratio, and advantageous section payout ratio exceed the specified ratio, it is displayed in a display mode different from normal, and the state of gambling is high. You can now warn you that you may be in control.
また、メイン制御部41は、過去6000ゲーム間の有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の役物払出比率、過去6000ゲーム間の有利区間払出比率を遊技機情報表示器50に表示させる場合において、過去のゲーム数が6000ゲームに到達していない状態であるときには、例えば、遊技機情報表示器50の上位2桁の表示を点滅させる等、通常とは異なる表示態様に制御することで、集計が6000ゲームに到達していないことが認識できるようになっており、表示されている割合、比率に偏りが生じている可能性が認識できるようになっている。
The
また、メイン制御部41は、総累計ゲーム数に対する有利区間割合を遊技機情報表示器50に表示させる場合において、過去のゲーム数が有利区間割合が概ねスロットマシンの設計値に収束する規定ゲーム数(例えば、175000ゲーム)に到達していない状態であるときには、例えば、遊技機情報表示器50の上位2桁の表示を点滅させる等、通常とは異なる表示態様に制御することで、有利区間割合が概ねスロットマシンの設計値に収束する規定ゲーム数に到達していないことが認識できるようになっており、表示されている割合、比率に偏りが生じている可能性が認識できるようになっている。
In addition, when the
また、メイン制御部41は、総累計払出数に対する連役払出比率を遊技機情報表示器50に表示させる場合において、過去のゲーム数が連役払出比率が概ねスロットマシンの設計値に収束する規定ゲーム数(例えば、17500ゲーム)に到達していない状態であるときには、例えば、遊技機情報表示器50の上位2桁の表示を点滅させる等、通常とは異なる表示態様に制御することで、連役払出比率が概ねスロットマシンの設計値に収束する規定ゲーム数に到達していないことが認識できるようになっており、表示されている割合、比率に偏りが生じている可能性が認識できるようになっている。
In addition, when the
また、メイン制御部41は、総累計払出数に対する役物払出比率を遊技機情報表示器50に表示させる場合において、過去のゲーム数が役物払出比率が概ねスロットマシンの設計値に収束する規定ゲーム数(例えば、6000ゲーム)に到達していない状態であるときには、例えば、遊技機情報表示器50の上位2桁の表示を点滅させる等、通常とは異なる表示態様に制御することで、役物払出比率が概ねスロットマシンの設計値に収束する規定ゲーム数に到達していないことが認識できるようになっており、表示されている割合、比率に偏りが生じている可能性が認識できるようになっている。
In addition, when the
また、メイン制御部41は、総累計払出数に対する有利区間払出比率を遊技機情報表示器50に表示させる場合において、過去のゲーム数が有利区間払出比率が概ねスロットマシンの設計値に収束する規定ゲーム数(例えば、175000ゲーム)に到達していない状態であるときには、例えば、遊技機情報表示器50の上位2桁の表示を点滅させる等、通常とは異なる表示態様に制御することで、有利区間払出比率が概ねスロットマシンの設計値に収束する規定ゲーム数に到達していないことが認識できるようになっており、表示されている割合、比率に偏りが生じている可能性が認識できるようになっている。
Further, when the
尚、メイン制御部41は、6000ゲームに到達していない状態では、遊技機情報表示器50の下位2桁に「00」を表示し、6000ゲームに到達した以降の状態では、遊技機情報表示器50の下位2桁に表示すべき割合、比率を表示する、すなわち6000ゲームに到達した以降の状態では、遊技機情報表示器50の下位2桁の表示態様を、6000ゲーム以降の表示態様とは異なる表示態様とする構成とすることが好ましく、このような構成とすることで、6000ゲームに到達していない状態では、遊技機情報表示器50の上位2桁の表示(例えば、「1A」)により特定される有利区間割合等の集計が6000ゲームに到達していないことが認識でき、表示されている割合、比率に偏りが生じている可能性が認識できる。また、6000ゲームに到達していない状態では、遊技機情報表示器50の下位2桁に「00」を表示する構成とすることで、6000ゲームに到達していない状態では、常に遊技機情報表示器50の下2桁にデータが表示されることとなり、例えば、下2桁の表示器の一方にデータが表示されない場合に、当該表示器の異常を認識させることができる。
The
また、メイン制御部41は、過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の役物払出比率、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率を算出するために用いるデータが正常か否かを判定し、異常と判定された場合(総払出枚数より役物払出枚数、連役払出枚数、有利区間払出枚数が多い場合、格納された値がある一定のデータ形式(01繰り返しなど)である場合等)には、異常と判定されたデータ及び当該データに関連するデータを初期化し、遊技機情報表示器50に異常が検知された旨の表示(例えば、「FFFF」)をさせて、その旨を報知するようになっており、これらのデータの算出が正常に行われていないことを認識できるようになっている。
In addition, the
尚、異常と判定されたデータ及び当該データに関連するデータを初期化する際には、例えば、過去6000ゲーム間に対する有利区間割合、連役払出比率、役物払出比率、有利区間払出比率のうちの少なくともいずれか1つが異常と判定された場合には、これら全てに関するデータを初期化するようにしても良いし、一部のデータのみを初期化するようにしても良い。総累計ゲーム数に対する有利区間割合、連役払出比率、役物払出比率、有利区間払出比率のうちの少なくともいずれか1つが異常と判定された場合には、これらの全てに関するデータを初期化するようにしても良いし、一部データのみを初期化するようにしても良い。また、過去6000ゲーム間に対するデータの一部に異常が判定された際に、過去6000ゲーム間及び総累計ゲーム数に対するデータの全てを初期化したり、逆に、総累計ゲーム数に対するデータの一部に異常が判定された際に、過去6000ゲーム間及び総累計ゲーム数に対するデータの全てを初期化するようにしても良い。 In addition, when initializing data determined to be abnormal and data related to the data, for example, among the advantageous section ratio, the combined payout ratio, the accessory payout ratio, and the advantageous section payout ratio for the past 6000 games When it is determined that at least one of the above is abnormal, the data regarding all of these may be initialized, or only a part of the data may be initialized. If it is determined that at least one of the advantageous section ratio, the combined payout ratio, the accessory payout ratio, and the advantageous section payout ratio with respect to the total cumulative number of games is abnormal, the data regarding all of them is initialized. Alternatively, only some data may be initialized. In addition, when an abnormality is determined in a part of the data for the past 6000 games, all of the data for the past 6000 games and the total cumulative number of games are initialized, or conversely, a part of the data for the total cumulative number of games When an abnormality is determined, all the data for the past 6000 games and the total cumulative number of games may be initialized.
また、過去6000ゲーム間及び総累計ゲーム数に対する有利区間割合、連役払出比率、役物払出比率、有利区間払出比率を算出するために用いるデータが正常か否かを判定し、異常と判定された場合には、その旨を報知し、その後、所定の操作(例えば、スタートスイッチ7、ストップスイッチ8L、8C、8R、設定キースイッチ37等のスイッチ類が所定の手順で操作されること)されることで、当該データに関する初期化を行うようにしても良い。
In addition, it is determined whether the data used for calculating the advantageous section ratio, the consecutive payout ratio, the accessory payout ratio, and the advantageous section payout ratio between the past 6000 games and the total cumulative number of games is normal. If this happens, a notification to that effect is made, and then a predetermined operation (for example, switches such as
また、異常が判定された旨の報知では、上述のように、遊技機情報表示器50に異常が検知された旨の表示(例えば、「FFFF」)をさせて、その旨を報知しても良いし、異常が判定された際に、その旨を特定可能なコマンドをサブ制御部91に対して送信し、サブ制御部91側において液晶表示器51等により異常が判定された旨を報知させるようにしても良い。
In addition, in the notification that the abnormality is determined, as described above, the gaming
また、メイン制御部41は、データの収集を開始してから6000ゲームに到達するまでの期間、すなわち過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の役物払出比率、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率等を算出するためのデータが不十分な期間において、遊技機情報表示器50の表示内容が、データの収集を開始してから6000ゲーム以降の表示態様とは異なる態様で表示されるようになっており、表示内容を算出するためのデータが不十分な期間であることを認識できるようになっている。
In addition, the
尚、本実施例では、電源投入後、電力供給が停止するまでの期間において過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の役物払出比率、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率が、所定期間毎に切り替えて表示されるようになっているが、前面扉1bの開放状態が検出されている場合のみ表示されるようにしたり、所定の操作スイッチ(例えばリセット/設定スイッチ38)の操作が検出されている場合のみ表示されるようにしたり、ゲーム中でないときに表示されるようにしたり、設定変更状態や設定確認中に表示されるようにしたり、電源投入後から所定期間のみ表示されるようにしたりしても良い。また、所定期間毎に自動で切り替わるのではなく、所定の操作がされる毎に表示内容が切り替わるようにしても良い。
In this embodiment, after the power is turned on, during the period until the power supply is stopped, the advantageous section ratio between the past 6000 games, the advantageous section ratio with respect to the total cumulative number of games, the combined payout ratio between the past 6000 games, and the past 6000 Predetermined ratios of bonuses between games, favorable payout ratio between past 6000 games, continuous payout ratio with respect to total cumulative payout ratio, payout ratio with respect to total cumulative payout ratio, and advantageous section payout ratio with respect to total cumulative payout The display is switched for each period, but is displayed only when the open state of the
また、本実施例では、遊技機情報表示器50の表示内容を算出するために用いるデータ異常が判定されたことや表示内容を算出するためのデータが不十分な期間であることが遊技機情報表示器50を用いて報知される構成であるが、その旨を特定可能なコマンドをサブ制御部91に送信し、サブ制御部91が制御する表示器や演出装置にて確認できるようにしても良い。
Further, in this embodiment, the gaming machine information indicates that the data abnormality used for calculating the display content of the gaming
また、本実施例では、過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の役物払出比率、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率が、遊技機情報表示器50に表示される構成であるが、これらの表示に加えて設定変更によってRAM41cが初期化されたこと、スロットマシン1に設けられた配線(バックアップ電源の配線等)の断線検出があったときなどに、その旨が認識可能となる内容が遊技機情報表示器50に表示されるようにしても良い。
Also, in this embodiment, the advantageous section ratio between the past 6000 games, the advantageous section ratio with respect to the total cumulative number of games, the combined payout ratio between the past 6000 games, the accessory payout ratio between the past 6000 games, and between the past 6000 games The gaming
特に、ボーナス中、有利区間中やボーナスの持越中に設定変更がされてボーナスや有利区間が強制的に終了されたり、持越中のボーナスがクリアされた場合、ボーナスの持越中のままゲームが規定数以上行われたり、故意に有利区間を終了させる操作が行われたりしたこと(例えば、AT中のRT2、RT3において、故意にRT1移行再遊技やSBを入賞させたり、特定図柄を停止させてRT1に移行させる操作が行われる場合、すなわち故意に遊技者にとって相対的に有利な遊技状態から不利な遊技状態に移行された場合等)を検出した場合、及び、遊技機情報表示器50が断線等が生じたことにより正常に接続されていない可能性を検出した場合には、その旨を特定可能に報知する。このようにすることで、有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されないように不正に操作された可能性があることを認識することができる。
In particular, if the setting is changed during a bonus, advantageous section or bonus carryover, and the bonus or advantageous section is forcibly terminated, or the bonus being carried over is cleared, the game is defined while the bonus is carried over. It has been performed more than a few times, or an operation that intentionally ends the advantageous section has been performed (for example, in RT2 or RT3 during AT, RT1 transition replay or SB is deliberately won, or a specific symbol is stopped When an operation for shifting to RT1 is performed, that is, when a game state that is intentionally shifted from a relatively advantageous gaming state to a disadvantaged gaming state is detected, and the gaming
また、後述するように総累計データのオーバーフローを回避する処理において、当該総累計データ等を初期化した場合には、その旨を特定可能に、上述のように有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されないように不正に操作された可能性がある場合とは異なる態様で、報知することが好ましく、このようにすることで、オーバーフローを回避する処理より総累計データが初期化されたことを、有利区間割合等として正しい情報が表示されないようにするための不正な操作による初期化とは、別に認識させることができる。 In addition, in the process of avoiding the overflow of the total cumulative data as will be described later, when the total cumulative data is initialized, the fact that the advantageous section ratio, the bonus payout ratio, It is preferable to notify in a manner different from the case where there is a possibility that the information is illegally operated so that correct information is not displayed as the combined service payout ratio, advantageous section payout ratio, etc., and in this way, overflow is avoided. It is possible to recognize that the total accumulated data has been initialized by the processing to be performed separately from initialization by an illegal operation for preventing correct information from being displayed as an advantageous section ratio or the like.
尚、上述のように有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されないように不正に操作された可能性がある場合には、その旨を検出して当該検出の履歴をメイン制御部41側で記録し、当該検出時には報知することなく、その後、所定の操作(例えば、スタートスイッチ7やストップスイッチ8L、8C、8R、設定キースイッチ37等のスイッチ類を所定の手順で操作すること、遊技制御基板40に検査用端末等の所定の外部機器を接続すること等)が行われることで、これらの履歴を、メイン制御部41側に設けられた表示器(例えば、遊技機情報表示器50等)やサブ制御部91側に設けられた表示器(例えば、液晶表示器51等)、スロットマシン1の外部の表示器等により確認できるようにしても良い。
In addition, as described above, if there is a possibility that an illegal operation is performed so that correct information is not displayed as an advantageous section ratio, an item payout ratio, a continuous combination payout ratio, an advantageous section payout ratio, etc., that fact is detected. Then, the history of the detection is recorded on the
また、設定変更がされたこと、断線検出がされたこと、遊技機情報表示器50の接続不良が発生して有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されない可能性があること、上述のように有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されないように不正に操作された可能性があること、をサブ制御部91が制御する表示器や演出装置にて確認できるようにしても良い。また、ボーナス中、有利区間中やボーナスの持越中に設定変更がされてボーナスや有利区間が強制的に終了されたり、持越中のボーナスがクリアされたこと、有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されないように不正に操作された可能性があることが検出されたことの履歴をサブ制御部91側で記録し、所定の操作でこれらの履歴を確認できるようにしても良い。
In addition, the settings are changed, the disconnection is detected, the connection failure of the gaming
次に、メイン制御部41が、これらの情報を表示するためのデータの集計、計算方法について説明する。
Next, a method for counting and calculating data for the
メイン制御部41は、上述の有利区間割合等のスロットマシン1に関する情報を集計して計算し、当該計算結果に基づく情報を、遊技制御基板40に搭載された遊技機情報表示器50に表示させる処理として遊技機情報表示処理を実行することが可能である。遊技機情報表示処理を行うためのプログラムは、前述の非遊技プログラムに含まれており、遊技機情報表示処理を実行する際にメイン制御部41が用いる各種データは、ROM41bの非遊技データ領域に記憶されている。また、メイン制御部41は、当該遊技機情報表示処理を実行する際に、RAM41cの非遊技RAM領域をワークとして使用するようになっている。尚、メイン制御部41が遊技機情報表示処理を実行する際に使用する当該非遊技RAM領域は、バックアップ電源によりバックアップされており、スロットマシン1への電力供給が停止しても、バックアップ電源により電力が供給される限り当該非遊技RAM領域の記憶内容が保存されるようになっている。また、メイン制御部41は、上述のように設定値を変更する操作が行われることで、RAM41cの遊技RAM領域に記憶されているデータは初期化されることとなるが、遊技機情報表示処理を実行する際に使用する当該非遊技RAM領域は、設定値を変更する操作が行われる際や他の遊技RAM領域について初期化条件が成立した際にも、初期化対象とされないようになっており、特に、上述の有利区間割合等のスロットマシン1に関する情報を集計し、計算し、表示させるためのデータが初期化されることがないようになっている。
The
[遊技機情報表示器に表示されるデータの集計方法について]
図33に示すように、メイン制御部41のRAM41cにおける非遊技RAM領域の所定領域には、スロットマシン1において行われたゲーム回数を計数可能なゲーム回数カウンタ、1ゲーム毎に1加算され、特定期間(本実施例では、6000ゲーム)が経過する毎に初期化される第1のゲーム数カウンタ、1ゲーム毎に1加算され、特定期間(本実施例では、6000ゲーム)を所定数(本実施例では、15)で分割した所定期間(本実施例では、400ゲーム)が経過する毎に初期化される第2のゲーム数カウンタ、1ゲーム毎に1加算されるが初期化されることがない第3のゲーム数カウンタが設けられている。また、1セット分のデータを計数可能な第1〜第5のデータ計数バッファ、1セットで2バイトのデータを格納可能なバッファが15セット設けられている第1〜第5のリングバッファが設定されている。
[Aggregating data displayed on the gaming machine information display]
As shown in FIG. 33, in a predetermined area of the non-game RAM area in the
メイン制御部41は、第1〜第5のデータ計数バッファ及び第1〜第5のリングバッファを用いて、特定期間(本実施例では、6000ゲーム)において付与されたメダルの総枚数である総払出枚数、特定期間(本実施例では、6000ゲーム)においてBBまたはRBに制御されている期間に付与されたメダルの枚数である役物払出枚数、特定期間(本実施例では、6000ゲーム)においてBBに制御されている期間に付与されたメダルの枚数である連役払出枚数、特定期間(本実施例では、6000ゲーム)においてATに制御される有利区間(ATに当選した後、ATに制御されてからATの残りゲーム数が0となりATの制御が終了されるまでの期間)において付与されたメダルの枚数である有利区間払出枚数、特定期間(本実施例では、6000ゲーム)においてATに制御される有利区間(ATに当選した後、ATに制御されてからATの残りゲーム数が0となりATの制御が終了されるまでの期間)のゲーム数である遊技区間ゲーム回数を計数することが可能である。
The
具体的には、メイン制御部41は、小役の入賞に伴いメダルの払い出しが行われた場合には、第1のデータ計数バッファに、払い出されたメダルの枚数を加算し、BBまたはRBに制御されている期間において、小役の入賞に伴いメダルが払出された際に、当該払い出されたメダルの枚数を第2のデータ計数バッファに加算し、BBに制御されている期間において、小役の入賞に伴いメダルが払出された際に、当該払い出されたメダルの枚数を第3のデータ計数バッファに加算し、ATに制御される有利区間(ATに当選した後、ATに制御されてからATの残りゲーム数が0となりATの制御が終了されるまでの期間)において、小役の入賞に伴いメダルが払出された際に、当該払い出されたメダルの枚数を第4のデータ計数バッファに加算し、ATに制御される有利区間(ATに当選した後、ATに制御されてからATの残りゲーム数が0となりATの制御が終了されるまでの期間)においてゲームが行われた際に、第5のデータ計数バッファに1ゲームを加算する。尚、本実施例では、メイン制御部41は、小役入賞の発生が判定されたタイミングで、第1〜第4のデータ計数バッファにメダル数を加算する構成であるが、第1〜第4のデータ計数バッファにメダル数が加算されるタイミングは、小役入賞の発生により実際にメダルが付与されたタイミング(クレジットの加算または実際のメダルの払出の検出)でも良い。
Specifically, the
そして、第2のゲーム数カウンタに基づいて、所定期間が経過したことが特定される毎に、第1〜第5のリングバッファの所定のセットのバッファ(前回更新されたセット+1セット目のバッファ、初回または前回更新されたセットが15セット目の場合は1セット目のバッファ)を初期化し、第1〜第5のデータ計数カウンタ値を、第1〜第5のリングバッファの所定のセットのバッファに加算するとともに、第1〜第5のデータ計数バッファ値を、RAM41cの非遊技RAM領域に設けられた3バイトの集計データ領域A’〜D’、F’にそれぞれ加算する。また、RAM41cの非遊技RAM領域に設けられた3バイトの集計データ領域a’〜d’、f’を初期化し、第1〜第5のリングバッファの1セット目から15セット目までの全てのセットのバッファのデータを、対応する集計データ領域a’〜d’、f’に順次加算する。その後、第1〜第5のデータバッファを初期化する。また、集計データ領域E’を第3のゲーム数カウンタの値に更新する。
Then, every time it is specified that the predetermined period has passed based on the second game number counter, a predetermined set of buffers of the first to fifth ring buffers (previously updated set + 1 set buffer) When the first or last updated set is the 15th set, the first set buffer) is initialized, and the first to fifth data count counter values are set to the predetermined set of the first to fifth ring buffers. In addition to adding to the buffer, the first to fifth data count buffer values are respectively added to the 3-byte aggregate data areas A ′ to D ′ and F ′ provided in the non-game RAM area of the
これらの処理を行うことにより、所定期間毎に、第1〜第5のリングバッファの所定のセットのバッファのデータ、集計データ領域a’〜d’、f’、A’〜F’がそれぞれ最新の情報に更新されることとなる。 By performing these processes, the data of the predetermined set of the first to fifth ring buffers, the total data areas a ′ to d ′, f ′, and A ′ to F ′ are updated for each predetermined period. The information will be updated.
また、メイン制御部41は、所定期間が経過したことが特定される毎に、集計データ領域a’〜d’、A’〜D’をそれぞれ最新の情報に更新した後、当該集計データ領域のうち集計データ領域a’、A’に設定されているデータが3バイトに達しているか否かを判定して、3バイトに達していないデータについては、当該集計データ領域a’、A’のデータをRAM41cの非遊技RAM領域に設けられた2バイトの二次演算データ領域a、Aに設定する。一方、3バイトに達しているデータについて所定の16ビット分のデータを抽出する抽出処理を行い、抽出されたデータを対応する二次演算データ領域a、Aに設定する。図34(a)に示すように、抽出処理では、集計データ領域のデータを参照して、最上位の位を特定し、当該最上の位を示す最上位データをRAM41cの非遊技RAM領域の所定領域に設定する。そして、当該最上位の位以下の16ビットのデータを抽出する。
Further, each time it is specified that the predetermined period has elapsed, the
また、当該集計データ領域のうちb’〜d’については、集計データ領域b’〜d’のデータにそれぞれ100を乗算した値を、RAM41cの非遊技RAM領域に設けられた3バイトの一次演算データ領域b”〜d”にそれぞれ設定する。その後、集計データ領域aについて抽出処理が行われたか否かを参照し、集計データ領域aについて抽出処理が行われていない場合には、当該集計データ領域b”〜d”のデータをRAM41cの非遊技RAM領域に設けられた2バイトの二次演算データ領域b〜dに設定する。一方、集計データ領域aについて抽出処理が行われている場合には、抽出処理を行い、集計データ領域aの抽出処理において特定された最上位を特定し、当該最上位以下の16ビット分のデータを抽出して、二次演算データ領域b〜dに設定する。
In addition, for b ′ to d ′ of the total data area, a primary calculation of 3 bytes provided in the non-game RAM area of the
また、当該集計データ領域のうちB’〜D’については、集計データ領域B’〜D’のデータにそれぞれ100を乗算した値を、RAM41cの非遊技RAM領域に設けられた3バイトの一次演算データ領域B”〜D”にそれぞれ設定する。その後、集計データ領域Aについて抽出処理が行われたか否かを参照し、集計データ領域Aについて抽出処理が行われていない場合には、当該集計データ領域B”〜D”のデータをRAM41cの非遊技RAM領域に設けられた2バイトの二次演算データ領域B〜Dに設定する。一方、集計データ領域Aについて抽出処理が行われている場合には、抽出処理を行い、集計データ領域Aの抽出処理において特定された最上位を特定し、当該最上位以下の16ビット分のデータを抽出して、二次演算データ領域B〜Dに設定する。
In addition, for B ′ to D ′ in the total data area, a primary calculation of 3 bytes provided in the non-game RAM area of the
そして、メイン制御部41は、二次演算データ領域bのデータを、二次演算データ領域aのデータで除算することで、特定期間(本実施例では、6000ゲーム)における総払出枚数の割合を算出し、二次演算データ領域cのデータを、二次演算データ領域aのデータで除算することで、特定期間(本実施例では、6000ゲーム)における役物出枚数の割合を算出し、二次演算データ領域cのデータを、二次演算データ領域aのデータで除算することで、特定期間(本実施例では、6000ゲーム)における連役出枚数の割合を算出し、二次演算データ領域dのデータを、二次演算データ領域aのデータで除算することで、特定期間(本実施例では、6000ゲーム)における有利区間払出枚数の割合を算出する。
Then, the
また、二次演算データ領域Bのデータを、二次演算データ領域Aのデータで除算することで、スロットマシン1における累計の総払出枚数の割合を算出し、二次演算データ領域Bのデータを、二次演算データ領域Aのデータで除算することで、スロットマシン1における累計の役物出枚数の割合を算出し、二次演算データ領域Cのデータを、二次演算データ領域Aのデータで除算することで、スロットマシン1における累計の連役出枚数の割合を算出し、二次演算データ領域Dのデータを、二次演算データ領域Aのデータで除算することで、スロットマシン1における累計の有利区間払出枚数の割合を算出する。
Further, by dividing the data in the secondary calculation data area B by the data in the secondary calculation data area A, the ratio of the total payout number in the
また、メイン制御部41は、所定期間が経過したことが特定される毎に、集計データ領域f’、E’、F’をそれぞれ最新の情報に更新した後、当該集計データ領域のうち集計データ領域E’に設定されているデータが3バイトに達しているか否かを判定して、3バイトに達していない場合には、当該集計データ領域E’のデータをRAM41cの非遊技RAM領域に設けられた2バイトの二次演算データ領域Eに設定する。一方、3バイトに達している場合には抽出処理を行い、抽出されたデータを対応する二次演算データ領域Eに設定する。図34(b)に示すように、抽出処理では、集計データ領域のデータを参照して、最上位の位を特定し、当該最上の位を示す最上位データをRAM41cの非遊技RAM領域の所定領域に設定する。そして、当該最上位の位以下の16ビットのデータを抽出する。
The
また、当該集計データ領域f’については、集計データ領域f’のデータに100を乗算した値を、RAM41cの非遊技RAM領域に設けられた3バイトの一次演算データ領域f”に設定する。その後、集計データ領域f”に設定されているデータが3バイトに達しているか否かを判定して、3バイトに達していない場合には、当該集計データ領域f”のデータをRAM41cの非遊技RAM領域に設けられた2バイトの二次演算データ領域fに設定する。一方、3バイトに達している場合には抽出処理を行い、抽出されたデータを対応する二次演算データ領域fに設定する。
For the total data area f ′, a value obtained by multiplying the data in the total data area f ′ by 100 is set in the 3-byte primary calculation data area f ″ provided in the non-game RAM area of the
また、集計データ領域fについて抽出処理が行われたか否かを参照し、集計データ領域fについて抽出処理が行われていない場合には、所定期間のゲーム数である6000をRAM41cの非遊技RAM領域に設けられた2バイトの二次演算データ領域gに設定する。一方、集計データ領域fについて抽出処理が行われている場合には、所定期間のゲーム数である6000について抽出処理を行い、集計データ領域fの抽出処理において特定された最上位を特定し、当該最上位以下の16ビット分のデータを抽出して、二次演算データ領域gに設定する。
Further, referring to whether or not the extraction process has been performed for the total data area f, and when the extraction process has not been performed for the total data area f, 6000 which is the number of games in a predetermined period is set to the non-game RAM area of the
また、当該集計データ領域F’については、集計データ領域F’のデータに100を乗算した値を、RAM41cの非遊技RAM領域に設けられた3バイトの一次演算データ領域F”に設定する。その後、集計データ領域Eについて抽出処理が行われたか否かを参照し、集計データ領域Eについて抽出処理が行われていない場合には、当該集計データ領域F”のデータをRAM41cの非遊技RAM領域に設けられた2バイトの二次演算データ領域Fに設定する。一方、集計データ領域Eについて抽出処理が行われている場合には、抽出処理を行い、集計データ領域Eの抽出処理において特定された最上位を特定し、当該最上位以下の16ビット分のデータを抽出して、二次演算データ領域Fに設定する。
For the total data area F ′, a value obtained by multiplying the data in the total data area F ′ by 100 is set in the 3-byte primary calculation data area F ″ provided in the non-game RAM area of the
そして、メイン制御部41は、二次演算データ領域Fのデータを、二次演算データ領域Eのデータで除算することで、スロットマシン1における総累計のゲーム数における有利区間ゲーム回数の割合を算出し、二次演算データ領域fのデータを、二次演算データ領域gで除算することで、所定期間における有利区間ゲーム回数の割合を算出する。
Then, the
メイン制御部41は、所定時間毎に、二次演算データ領域の該当領域を参照して、所定期間の総払出枚数の割合、総累計の総払出枚数の割合、所定期間の連役払出枚数の割合、所定期間の役物払出枚数の割合、所定期間の有利区間払出枚数の割合、総累計の連役払出枚数の割合、総累計の役物払出枚数の割合、総累計の有利区間払出枚数の割合を特定して、遊技機情報表示器50の出力バッファに設定することで、遊技機情報表示器50に表示させる。
The
メイン制御部41は、所定期間が経過したときに、第1〜第5リングバッファのデータに基づいて二次演算データを算出する、すなわち所定期間が経過する毎に、二次演算データを更新するので、所定期間が経過するまでは前回算出された二次演算データが維持され、当該二次演算データに基づいて、遊技機情報表示器50に総払出枚数等を表示させるので、前回の所定期間が経過した後、次の所定期間が経過するまでは、前回の所定期間が経過したときの、総払出枚数等が遊技機情報表示器50に表示されることとなる。
The
尚、所定時間毎に、上述の総払出枚数等に加えて、所定期間の有利区間ゲーム回数、累計の有利区間ゲーム回数を特定して、遊技機情報表示器50の出力バッファに設定することで、遊技機情報表示器50に表示させる構成としても良い。
In addition to the total number of payouts and the like described above, the number of advantageous section games and the total number of advantageous section games for a predetermined period are specified and set in the output buffer of the gaming
また、本実施例では、3バイトからなる総累計データがオーバーフローし得る場合、すなわち総支払枚数等のデータが3バイト以上の数値に達し得る場合には、オーバーフローを回避する処理を実行して、一度関連するデータを消去する。 Further, in this embodiment, when the total accumulated data consisting of 3 bytes can overflow, that is, when the data such as the total number of payments can reach a numerical value of 3 bytes or more, a process for avoiding the overflow is executed, Delete related data once.
詳しくは、総累計データが予め定められた規定数に達したときに、当該規定数に達した総累計データ及び当該総累計データに関連するデータを初期化する。この際、規定数に達した総累計データに関連するデータは、演算に用いられる全てのデータ(本実施例では、総支払枚数、役物払出枚数、連役払出枚数、ゲーム回数、有利区間ゲーム回数の集計データの全て)を初期化するようにしても良いし、相対的に関連性の高い一部データ(例えば、総累計データとして総払出枚数の集計データA’が規定数に達した場合には、連役払出比率、役物払出比率、有利区間払出比率の演算の際に集計データA’とともに用いられる連役払出枚数の集計データB’比率、役物払出枚数の集計データC’、有利区間払出枚数の集計データD’、総累計データとしてゲーム数の集計データE’が規定数に達した場合には、有利区間割合(F/E)の演算の際に集計データE’とともに用いられる有利区間ゲーム回数の集計データF’)を初期化するようにしても良い。 Specifically, when the total cumulative data reaches a predetermined number, the total cumulative data that has reached the predetermined number and data related to the total cumulative data are initialized. At this time, the data related to the total accumulated data that has reached the specified number is all the data used in the calculation (in this embodiment, the total number of paid items, the number of bonus items to be paid, the number of consecutively paid items, the number of games, the advantageous interval game All of the total data of the number of times) may be initialized, or a part of relatively highly relevant data (for example, the total data A ′ of the total number of payouts reaches the specified number as the total cumulative data) Includes the combined data B ′ ratio of the combined payout number used together with the total data A ′ in the calculation of the combined payout ratio, the accessory payout ratio, and the advantageous section payout ratio, When the total data D ′ of the advantageous section payout number and the total data E ′ of the number of games as the total accumulated data reach the specified number, they are used together with the total data E ′ when calculating the advantageous section ratio (F / E). Advantageous section game times Summing data F ') may be to initialize.
尚、総累計データが予め定められた規定数に達したときに、当該規定数に達した総累計データ及び当該総累計データに関連するデータを、所定の比率で減少させる(例えば、総累計データを現在の値を0.5倍する等)ことで、総累計データのオーバーフローを回避するようにしても良く、この際に、規定数に達した総累計データ及び当該総累計データに関連するデータの全てのデータを所定の比率で減少させるようにしても良いし、規定数に達した総累計データ及び当該総累計データと相対的に関連性の高い一部データを所定の比率で減少させるようにしても良い。 When the total cumulative data reaches a predetermined specified number, the total cumulative data that has reached the predetermined number and the data related to the total cumulative data are decreased by a predetermined ratio (for example, the total cumulative data By multiplying the current value by 0.5, etc.), it is possible to avoid overflow of the total cumulative data. At this time, the total cumulative data reaching the specified number and the data related to the total cumulative data It is possible to reduce all of the data at a predetermined ratio, or reduce the total cumulative data that has reached the specified number and some data that is relatively related to the total cumulative data at a predetermined ratio. Anyway.
また、総累計データが予め定められた規定数に達したときに、当該規定数に達した総累計データ及び当該総累計データに関連するデータを初期化または減少等する場合において、総累計データの規定数は、総累計データの最大値(RAM41cの各集計データ領域(3バイト)に格納可能な値の最大値)であっても良いし、総累計データの最大値よりも小さな所定の値(3バイト内で切りの良い値、例えば、「16000000(10進数)」等)であっても良い。
In addition, when the total cumulative data reaches a predetermined number, the total cumulative data that has reached the predetermined number and the data related to the total cumulative data are initialized or reduced, etc. The specified number may be the maximum value of the total cumulative data (the maximum value that can be stored in each total data area (3 bytes) of the
また、本実施例では、3バイトからなる総累計データがオーバーフローし得る場合、すなわち総支払枚数等のデータが3バイト以上の数値に達し得る場合には、オーバーフローを回避する処理として、一度関連するデータを消去する構成であるが、関連するデータを消去せずに、計数を停止する構成であっても良い。 Also, in this embodiment, when the total accumulated data of 3 bytes can overflow, that is, when the data such as the total number of payments can reach a numerical value of 3 bytes or more, it is related once as a process for avoiding the overflow. Although it is the structure which erases data, the structure which stops a count may be sufficient, without erasing related data.
また、これら遊技機情報表示器50に表示されるデータは、1ゲーム毎に実施するようにしても良いし、入賞が発生したゲームだけ実施するようにしても良い。
Further, the data displayed on the gaming
遊技機に用いられるマイクロコンピュータは小数点以下の演算を行うことができないため、本実施例では、以下の第1の演算方法を用いて演算を行っている。第1の演算方法においては、まず、分子の値を100倍する。そしてこの100倍した値を分母の値で除算する。これにより小数点以下の演算を行うことなく割合を算出することができる。つまり、被除数を100倍することにより、小数点以下2桁までの演算結果を求められるようにしている。ここで、小数点以下3桁までの演算結果を求める場合1000倍すれば良い。 Since the microcomputer used in the gaming machine cannot perform calculation after the decimal point, in this embodiment, the calculation is performed using the following first calculation method. In the first calculation method, first, the value of the numerator is multiplied by 100. Then, the value multiplied by 100 is divided by the denominator value. As a result, the ratio can be calculated without performing calculation after the decimal point. That is, by multiplying the dividend by 100, it is possible to obtain a calculation result up to two decimal places. Here, when the calculation result up to 3 digits after the decimal point is obtained, it may be multiplied by 1000.
尚、小数点以下の演算を行うことができないマイクロコンピュータが行う演算方法としては、以下の第2の演算方法を用いても良い。第2の演算方法では、まず、分母の値を100で除算する。そしてこの100で除算した値で分子の値を除算する。これにより小数点以下の演算を行うことなく割合を算出することができる。つまり、除数を100で除算することにより、小数点以下2桁までの演算結果を求められるようにしている。ここで、小数点以下3桁までの演算結果を求める場合1000で除算すれば良い。 Note that the following second calculation method may be used as a calculation method performed by a microcomputer that cannot perform calculation after the decimal point. In the second calculation method, first, the denominator value is divided by 100. Then, the value of the numerator is divided by the value divided by 100. As a result, the ratio can be calculated without performing calculation after the decimal point. That is, by dividing the divisor by 100, it is possible to obtain the calculation result up to two decimal places. Here, when the calculation result up to 3 digits after the decimal point is obtained, it may be divided by 1000.
また、遊技機に用いられるマイクロコンピュータは最大2バイトの値同士の演算しか行うことができない。従って、本実施例では、演算を容易にするために、下位ビットを必要に応じて切り捨てるようになっている。このような演算方法を用いることで遊技機において用いられるマイクロコンピュータでの演算が容易になる一方で誤差が生じる。ただし、算出するための期間が長くなることにより誤差は縮小され、本来の数値に近似することとなる。このため、本実施例では、演算の対象となる値が2バイト以下の場合には、下位ビットを切り捨てることなく、そのままの値を用いて演算を行い、演算の対象となる値が2バイトを超える場合に、下位ビットを切り捨てた値を用いて演算を行うようになっている。 Further, a microcomputer used in a gaming machine can only perform a calculation between values of a maximum of 2 bytes. Therefore, in this embodiment, in order to facilitate the calculation, lower bits are truncated as necessary. By using such a calculation method, calculation with a microcomputer used in a gaming machine becomes easy, but an error occurs. However, as the period for calculation becomes longer, the error is reduced and approximates the original numerical value. For this reason, in this embodiment, when the value to be calculated is 2 bytes or less, the calculation is performed using the value as it is without truncating the lower bits, and the value to be calculated is 2 bytes. When exceeding, the calculation is performed using the value obtained by rounding down the lower bits.
従来のスロットマシンでは、予め定められた設計値に基づいて遊技者にとって有利な状態に制御されるようになっている。 In the conventional slot machine, the player is controlled to be in an advantageous state based on a predetermined design value.
しかしながら、このような従来の方法では、遊技店に設置された後は、予め定められた設計値に基づいて有利な状態に制御されているか否かを確認することが困難であった。 However, in such a conventional method, it is difficult to confirm whether or not it is controlled to be in an advantageous state based on a predetermined design value after being installed in a game store.
これに対して本実施例では、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において付与されたメダルの総数に占める特定期間における有利期間(BB、RB、有利区間)において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率が算出され、遊技機情報表示器50に表示されるので、スロットマシン1が市場に出荷された後も予め定められた設計値に基づいて有利な状態に制御されているか否かを確認することができる。
On the other hand, in the present embodiment, in the specific period occupying the total number of medals given in the specific period (the past 6000 games, the factory shipment, or the period from the initialization of the data in the
また、本実施例では、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において有利期間(有利区間)に制御されたゲーム数の割合である有利区間比率が算出され、遊技機情報表示器50に表示されるので、市場に出荷された後も射幸性の度合いとなる情報を確認することができる。
In the present embodiment, the number of games controlled in the advantageous period (advantageous section) in a specific period (the past 6000 games, the factory shipment or the period from the initialization of the data in the
尚、本実施例では、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において有利区間に制御されたゲーム数の割合である有利区間比率が算出され、遊技機情報表示器50に表示される構成であるが、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)においてBB、RB等のボーナスに制御されたゲーム数の割合が算出され、遊技機情報表示器50に表示される構成としても良く、このような構成でも市場に出荷された後も射幸性の度合いとなる情報を確認することができる。
In the present embodiment, the advantage is the ratio of the number of games controlled in the advantageous period in the specific period (the past 6000 games, the factory shipment or the period from the initialization of the data in the
また、本実施例では、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)の連役払出比率、役物払出比率、有利区間払出比率を算出する際に、これらの元となるデータが所定条件を満たすか否かに応じて異なる算出方法により連役払出比率、役物払出比率、有利区間払出比率を算出するので、これらの元となるデータに合わせて最適な算出方法を選択することができる。例えば、特定期間における払出総数、特定期間の有利区間における払出総数が、2バイト以内であれば、算出の元となるデータを加工することなくそのまま用いて連役払出比率、役物払出比率、有利区間払出比率を算出する一方、特定期間における払出総数、特定期間の有利区間における払出総数が、2バイトを超える場合であれば、算出の元となるデータを2バイト以内のデータに加工してから連役払出比率、役物払出比率、有利区間払出比率を算出することで、誤差の少ない最適な算出方法にて連役払出比率、役物払出比率、有利区間払出比率を算出することができる。
In the present embodiment, the combined payout ratio, the payout ratio, and the advantageous section payout for a specific period (for the past 6000 games, at the time of factory shipment or from the initialization of the data in the
尚、本実施例では、第1の期間(過去6000ゲーム間)において付与されたメダルの総数に占める第1の期間における有利期間(BB、RB、有利区間)において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率、第2の期間(工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において付与されたメダルの総数に占める第2の期間における有利期間(BB、RB、有利区間)において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率が算出され、それぞれ遊技機情報表示器50に表示されるとともに、第1の期間における連役払出比率、役物払出比率、有利区間払出比率を算出する場合にも、第2の期間における連役払出比率、役物払出比率、有利区間払出比率を算出する場合にも、共通の算出方法により連役払出比率、役物払出比率、有利区間払出比率が算出される構成であるが、第1の期間における連役払出比率、役物払出比率、有利区間払出比率を算出する方法と、第2の期間における連役払出比率、役物払出比率、有利区間払出比率を算出する方法とが異なる構成としても良い。例えば、上記の例では、連役払出比率、役物払出比率、有利区間払出比率を算出するにあたり、分子を100倍して結果が%となるようにしているが、分母を1/100倍して結果が%となるようにすると、第1の期間における総払出枚数は、2バイト以内に収めることができる。このような構成においては、第1の期間における連役払出比率、役物払出比率、有利区間払出比率を算出する場合には、算出の元となるデータを加工することなくそのまま用いて連役払出比率、役物払出比率、有利区間払出比率を算出する一方、第2の期間における連役払出比率、役物払出比率、有利区間払出比率を算出する場合には、算出の元となるデータを2バイト以内のデータに加工してから連役払出比率、役物払出比率、有利区間払出比率を算出することで、用いるデータの容量に応じて最適な方法で連役払出比率、役物払出比率、有利区間払出比率を算出することができるようになる。
In this embodiment, the ratio of the total number of medals awarded in the advantageous period (BB, RB, advantageous interval) in the first period to the total number of medals awarded in the first period (between the past 6000 games). The combined payout ratio, the payout ratio, the advantageous section payout ratio, and the total number of medals awarded in the second period (from the factory shipment or from the initialization of the data in the
また、本実施例では、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)の連役払出比率、役物払出比率、有利区間払出比率を算出する際に用いるデータが、特定期間における総払出枚数、特定期間における有利区間の総払出枚数とは別個に記憶されるので、特定期間の連役払出比率、役物払出比率、有利区間払出比率を簡単な手順で算出することができる。
In the present embodiment, the combined payout ratio, the payout ratio, and the advantageous section payout for a specific period (for the past 6000 games, at the time of factory shipment or from the initialization of the data in the
また、本実施例では、特定ゲーム数(6000ゲーム)の期間における連役払出比率、役物払出比率、有利区間払出比率を算出するにあたり、特定ゲーム数を所定数(15)で分割した所定ゲーム数(400ゲーム)の期間の総払出枚数、所定ゲーム数の期間の役物払出枚数、所定ゲーム数の期間の連役払出枚数、所定ゲーム数の期間の有利区間払出枚数をそれぞれ記憶する15セットのバッファからなるリングバッファを備え、これらリングバッファに記憶された総払出枚数、役物払出枚数、連役払出枚数、有利区間払出枚数をそれぞれ合算することで、特定ゲーム数の期間における総払出枚数、役物払出枚数、連役払出枚数、有利区間払出枚数を算出し、特定ゲーム数(6000ゲーム)の期間における連役払出比率、役物払出比率、有利区間払出比率を算出するようになっており、直近の特定ゲーム数における連役払出比率、役物払出比率、有利区間払出比率を容易に算出することができる。 Further, in the present embodiment, a predetermined game in which the number of specific games is divided by a predetermined number (15) in calculating the consecutive combination payout ratio, the accessory payout ratio, and the advantageous section payout ratio in the period of the specific number of games (6000 games). 15 sets for storing the total number of payouts for a period of 400 games, the number of payouts for a period of a predetermined number of games, the number of consecutive payouts for a period of a predetermined number of games, and the number of advantageous sections of a predetermined number of games The total number of payouts in a specific game number period is obtained by adding together the total payout number, the item payout number, the continuous function payout number, and the advantageous section payout number stored in these ring buffers. , Calculate the number of items to be paid out, the number of consecutive items to be paid out, and the number of advantageous sections to be paid out. Is adapted to calculate the section payout ratio, continuous combination payout ratio in the last number of a particular game, the character object payout ratio, it is possible to easily calculate the advantageous section payout ratio.
また、本実施例では、特定ゲーム数(6000ゲーム)の期間における有利区間割合を算出するにあたり、特定ゲーム数を所定数(15)で分割した所定ゲーム数(400ゲーム)の期間の有利区間のゲーム数をそれぞれ記憶する15セットのバッファからなるリングバッファを備え、これらリングバッファに記憶された有利区間のゲーム数を合算することで、特定ゲーム数の期間における有利区間のゲーム数を算出し、特定ゲーム数(6000ゲーム)の期間における有利区間のゲーム数を算出するようになっており、直近の特定ゲーム数における有利区間のゲーム数を容易に算出することができる。 Further, in this embodiment, in calculating the advantageous section ratio in the period of the specific number of games (6000 games), the advantageous section in the period of the predetermined number of games (400 games) obtained by dividing the specific number of games by the predetermined number (15). A ring buffer consisting of 15 sets of buffers each storing the number of games is provided, and by calculating the number of games in the advantageous section stored in these ring buffers, the number of games in the advantageous section in the specific game number period is calculated, The number of games in the advantageous section in the period of the specific number of games (6000 games) is calculated, and the number of games in the advantageous section in the most recent specific number of games can be easily calculated.
また、本実施例では、遊技制御基板40は、透明な樹脂を成形した基板ケース120aに収容された状態で筐体1aに取り付けられており、遊技機情報表示器50は、遊技制御基板40が基板ケース120aに収容され、筐体1aに取り付けられた状態で、基板ケース120aを介してその表示内容を視認できるようなっている。また、基板ケース120aは、遊技制御基板40を収容した後封止されるようになっており、封止された状態では、痕跡を残すことなく封止を解除して開放することができないようになっている。このため、遊技機情報表示器50に不正な細工がされることを防止できる。
Further, in this embodiment, the
また、本実施例では、RAM41cに遊技の進行に応じたデータが記憶される遊技RAM領域と、遊技機情報表示器50に役払出比率、役物払出比率、有利区間払出比率等を表示するために用いられるデータが記憶される非遊技RAM領域と、を備え、設定変更状態への移行等によりRAM41cの初期化条件が成立した場合に、遊技RAM領域のデータは初期化される一方、非遊技RAM領域のデータは初期化されないので、初期化条件が成立した場合でも、それ以前のデータを加味して役払出比率、役物払出比率、有利区間払出比率等を算出して表示することができる。
In the present embodiment, a game RAM area in which data corresponding to the progress of the game is stored in the
本実施例では、メイン制御部41により、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において付与されたメダルの総数に占める特定期間における有利期間(BB、RB、有利区間)において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率を算出し、遊技制御基板40に搭載された遊技機情報表示器50に表示させる構成であり、遊技機情報表示器50は、遊技制御基板40が基板ケース120aに封入されている状態で、当該基板ケース120aの外部から表示内容を視認可能となっているとともに、遊技制御基板40に封入された基板ケース120aは、筐体1aの内部に配置されるようになっており、筐体1aの内部は、遊技機情報表示器50の視認性を妨げないように構成されているため、スロットマシン1の前面扉1bを開放するだけで遊技機情報表示器50の表示を確認することが可能であり、遊技機情報表示器50の表示に基づいて、設計値に基づいて有利な状態に制御されているか否かを容易に確認することができる。
In the present embodiment, the
本実施例では、メイン制御部41により、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において付与されたメダルの総数に占める特定期間における有利期間(BB、RB、有利区間)において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率を算出し、遊技制御基板40に搭載された遊技機情報表示器50に表示させる構成であり、ボーナス中、有利区間中やボーナスの持越中に設定変更がされてボーナスや有利区間が強制的に終了されたり、持越中のボーナスがクリアされたり、ボーナスの持越中のままゲームが規定数以上行われたり、故意に有利区間を終了させる操作が行われたり、遊技機情報表示器50に接続不良が生じたりしたこと、すなわち有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が表示されないように不正に操作された可能性があることを検出するようになっており、有利区間割合、役物払出比率、連役払出比率、有利区間払出比率等として正しい情報が遊技機情報表示器50により適正に表示されなくなる可能性のある事象が発生したことが検知されるので、これらの情報が適正に表示されないようにする不正を防止できる。
In the present embodiment, the
本実施例では、メイン制御部41により、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において付与されたメダルの総数に占める特定期間における有利期間(BB、RB、有利区間)において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率を算出し、遊技制御基板40に搭載された遊技機情報表示器50に表示させる構成であり、連役払出比率、役物払出比率、有利区間払出比率を算出する際に用いる総支払枚数等のデータが3バイト以上の数値に達する場合には、オーバーフローを回避する処理を実行して、一度関連するデータを消去することで、連役払出比率、役物払出比率、有利区間払出比率を算出する際に用いる総支払枚数等のデータが上限値を超えることが回避されるため、連役払出比率等を算出する際に用いる総支払枚数等のデータが上限値を超えてしまう状況に至っても、連役払出比率、役物払出比率、有利区間払出比率を算出して、これらの情報を遊技機情報表示器50に表示させることができる。
In the present embodiment, the
本実施例では、メイン制御部41により、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において付与されたメダルの総数に占める特定期間における有利期間(BB、RB、有利区間)において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率を算出し、遊技制御基板40に搭載された遊技機情報表示器50に表示させる構成であり、メイン制御部41は、遊技機情報表示器50において連役払出比率、役物払出比率、有利区間払出比率等の情報を、所定の表示順にて周期的(本実施例では、30秒毎)に切り替えて表示するようになっており、これら連役払出比率等の表示が一巡し終えるまでの一の期間内においては、これらの値が新たな値に更新され得る場合であっても、新たな値に更新することを制限して、元の値を用いて表示を一巡させるので、遊技機情報表示器50において連役払出比率等の多くの情報を効率良く表示することができるとともに、一の周期で表示される複数種類の情報として同時期に更新された情報が表示されるので、一の周期中に異なる時期の情報が混在してしまうことを防止できる。
In the present embodiment, the
本実施例では、メイン制御部41により、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において付与されたメダルの総数に占める特定期間における有利期間(BB、RB、有利区間)において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率を算出し、遊技制御基板40に搭載された遊技機情報表示器50に表示させる構成であり、メイン制御部41は、過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の役物払出比率、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率を算出するために用いるデータが正常か否かを判定し、これらのデータの少なくともいずれかに異常と判定された場合には、異常と判定されたデータ及び当該データに関連するデータを初期化し、異常が検知された旨の表示(例えば、「FFFF」)を遊技機情報表示器50にさせて、その旨を報知するようになっているので、有利区間割合等を算出するのに必要なデータが初期化されたことで、これらのデータの算出が正常に行われておらず、有利区間割合等が正常な値ではない可能性を認識させることができる。
In the present embodiment, the
尚、メイン制御部41は、RAM41cの異常が検出された場合には、過去6000ゲーム間の有利区間割合、総累計ゲーム数に対する有利区間割合、過去6000ゲーム間の連役払出比率、過去6000ゲーム間の役物払出比率、過去6000ゲーム間の有利区間払出比率、総累計払出数に対する連役払出比率、総累計払出数に対する役物払出比率、総累計払出数に対する有利区間払出比率を算出するために用いるデータが記憶される非遊技RAM領域を初期化する構成としても良く、このような構成とすることで、これらのデータのうち異常が生じているデータを特定せずに、簡素な処理で、これらのデータを新たに算出させることができる。
When the abnormality of the
本実施例では、メイン制御部41により、特定期間(過去6000ゲーム間、工場出荷時または何らかの原因でRAM41cのデータが初期化されてから現在までの期間)において付与されたメダルの総数に占める特定期間における有利期間(BB、RB、有利区間)において付与されたメダルの総数の割合である連役払出比率、役物払出比率、有利区間払出比率を算出し、遊技制御基板40に搭載された遊技機情報表示器50に表示させる構成であり、メイン制御部41は、ゲームの進行に応じて小役入賞の発生が判定されたタイミング、すなわち、メダルが払い出される小役の図柄組合せリールに停止されたときに、メダルが実際に払い出されて、払い出しが完了するのを待つことなく、データ計数バッファにメダル数を加算するので、小役の入賞に伴う払い出しが完了するのを待つことなく連役払出比率、役物払出比率、有利区間払出比率の算出に用いられるデータを更新することができる。
In the present embodiment, the
尚、本実施例では、メイン制御部41は、ゲームの進行に応じて小役入賞の発生が判定されたタイミングで、データ計数バッファにメダル数を加算する構成であるが、データ計数バッファにメダル数が加算されるタイミングは、小役入賞の発生により実際にメダルが付与されたタイミング(クレジットの加算または実際のメダルの払出の検出)とする構成であっても良く、このような構成とすることで、メダルが払い出される小役の図柄組合せリールに停止されたときに、メダルが実際に払い出されて、払い出しが完了してから、連役払出比率、役物払出比率、有利区間払出比率の算出に用いられるデータを更新することができる。
In the present embodiment, the
以上、本発明の実施例2を説明してきたが、本発明はこの実施例2に限定されるものではなく、本発明の主旨を逸脱しない範囲における変更や追加があっても本発明に含まれることは言うまでもない。また、実施例1と同一もしくは類似する構成については、実施例1で説明したものと同様の効果を有するものである。また、実施例1について例示した変形例についても実施例2に適用可能である。 As described above, the second embodiment of the present invention has been described. However, the present invention is not limited to the second embodiment, and changes and additions within the scope of the present invention are included in the present invention. Needless to say. Further, the same or similar configuration as the first embodiment has the same effect as that described in the first embodiment. Further, the modified example illustrated for the first embodiment is also applicable to the second embodiment.
1 スロットマシン
2L、2C、2R リール
6 MAXBETスイッチ
7 スタートスイッチ
8L、8C、8R ストップスイッチ
41 メイン制御部
91 サブ制御部
1
Claims (1)
プログラムを記憶可能な記憶領域を有する記憶手段と、
記憶手段に記憶されたプログラムに基づいて制御を行う制御手段と、
を備え、
前記記憶手段の記憶領域は、
遊技の進行に係る遊技プログラムが記憶される遊技プログラム領域と、
前記遊技プログラムによって呼び出されるプログラムであり、遊技の進行に係わらない非遊技プログラムが記憶される非遊技プログラム領域と、
を含み、
前記遊技プログラムからの1回の非遊技プログラムの呼出により該非遊技プログラムにおいて異常判定及び外部機器へ出力される外部出力信号の出力制御を行う、遊技機。 In gaming machines that perform games,
Storage means having a storage area capable of storing a program;
Control means for performing control based on a program stored in the storage means;
With
The storage area of the storage means is
A game program area in which a game program related to the progress of the game is stored;
A non-game program area for storing a non-game program that is called by the game program and is not related to the progress of the game;
Including
A gaming machine that performs abnormality determination and output control of an external output signal output to an external device in the non-game program by calling the non-game program once from the game program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017085623A JP6600660B2 (en) | 2017-04-24 | 2017-04-24 | Game machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017085623A JP6600660B2 (en) | 2017-04-24 | 2017-04-24 | Game machine |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2018183290A true JP2018183290A (en) | 2018-11-22 |
JP2018183290A5 JP2018183290A5 (en) | 2019-01-10 |
JP6600660B2 JP6600660B2 (en) | 2019-10-30 |
Family
ID=64357079
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017085623A Expired - Fee Related JP6600660B2 (en) | 2017-04-24 | 2017-04-24 | Game machine |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6600660B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2020116347A (en) * | 2019-01-29 | 2020-08-06 | 株式会社三洋物産 | Game machine |
JP2022145905A (en) * | 2018-12-04 | 2022-10-04 | 株式会社大一商会 | game machine |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6943653B2 (en) * | 2017-07-10 | 2021-10-06 | 株式会社三共 | Pachinko machine |
JP6943652B2 (en) * | 2017-07-10 | 2021-10-06 | 株式会社三共 | Pachinko machine |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006289009A (en) * | 2005-04-08 | 2006-10-26 | Oizumi Corp | Game machine |
JP2009261661A (en) * | 2008-04-25 | 2009-11-12 | Sanyo Product Co Ltd | Game machine |
JP2016195666A (en) * | 2015-04-03 | 2016-11-24 | 株式会社三共 | Game machine |
JP2017018410A (en) * | 2015-07-13 | 2017-01-26 | Kpe株式会社 | Game machine |
JP6083835B1 (en) * | 2016-03-31 | 2017-02-22 | サミー株式会社 | Game machine |
-
2017
- 2017-04-24 JP JP2017085623A patent/JP6600660B2/en not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006289009A (en) * | 2005-04-08 | 2006-10-26 | Oizumi Corp | Game machine |
JP2009261661A (en) * | 2008-04-25 | 2009-11-12 | Sanyo Product Co Ltd | Game machine |
JP2016195666A (en) * | 2015-04-03 | 2016-11-24 | 株式会社三共 | Game machine |
JP2017018410A (en) * | 2015-07-13 | 2017-01-26 | Kpe株式会社 | Game machine |
JP6083835B1 (en) * | 2016-03-31 | 2017-02-22 | サミー株式会社 | Game machine |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2022145905A (en) * | 2018-12-04 | 2022-10-04 | 株式会社大一商会 | game machine |
JP7394486B2 (en) | 2018-12-04 | 2023-12-08 | 株式会社大一商会 | gaming machine |
JP2020116347A (en) * | 2019-01-29 | 2020-08-06 | 株式会社三洋物産 | Game machine |
Also Published As
Publication number | Publication date |
---|---|
JP6600660B2 (en) | 2019-10-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6586118B2 (en) | Game machine | |
JP2018175782A (en) | Game machine | |
JP2021183188A (en) | Game machine | |
JP6600660B2 (en) | Game machine | |
JP6600659B2 (en) | Game machine | |
JP6570565B2 (en) | Game machine | |
JP6826488B2 (en) | Game machine | |
JP6570566B2 (en) | Game machine | |
JP7026482B2 (en) | Pachinko machine | |
JP6570564B2 (en) | Game machine | |
JP6586121B2 (en) | Game machine | |
JP6943652B2 (en) | Pachinko machine | |
JP7027134B2 (en) | Pachinko machine | |
JP6676576B2 (en) | Gaming machine | |
JP6586119B2 (en) | Game machine | |
JP6586120B2 (en) | Game machine | |
JP6570563B2 (en) | Game machine | |
JP7096416B2 (en) | Pachinko machine | |
JP6615147B2 (en) | Game machine | |
JP6943653B2 (en) | Pachinko machine | |
JP6959026B2 (en) | Pachinko machine | |
JP6898764B2 (en) | Pachinko machine | |
JP6898765B2 (en) | Pachinko machine | |
JP6898763B2 (en) | Pachinko machine | |
JP6886332B2 (en) | Pachinko machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20180507 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20181023 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190328 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20190402 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20190529 |
|
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: 20191001 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20191007 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6600660 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |