(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0017】
以下、本発明の実施形態について図面を参照しながら具体的に説明する。
【0018】
(第1の実施の形態)
(遊技機の構成)
まず、
図1及び
図2を用いて、第1の実施の形態における遊技機1の構成について具体的に説明する。なお、
図1は、遊技機の外観斜視図を示す図であり、
図2は、キャビネットの内部構造と前面扉の裏面を示す図である。
【0019】
(遊技機1)
本実施形態における遊技機1は、後述のキャビネット2と、前面扉3等から構成されている。
【0020】
(キャビネット2)
キャビネット2は、略矩形状の箱体であって、正面側に開口を有する。また、キャビネット2には、複数の部品が取り付けられている。
【0021】
(前面扉3)
前面扉3は、キャビネット2の正面側の開口を閉塞するように取り付けられている。また前面扉3には、複数の部品が取り付けられている。
(蝶番機構4)
蝶番機構4は、キャビネット2の正面視左側に設けられており、前面扉3を開閉可能に軸支するために設けられている。
【0022】
(鍵穴5)
鍵穴5は、前面扉3の中央右側に設けられ、施錠装置(図示せず)により前面扉3を開錠するために設けられている。ここで、遊技店の店員等がメンテナンス作業や、遊技者にとって有利な度合を示す設定値の変更等を行う場合に、前面扉3に設けられている施錠装置(図示せず)の開錠が行われる。具体的には、鍵穴5にドアキー(図示せず)を挿入して時計回り方向に所定角度回動することにより開錠する。そして、前面扉3を開放し、メンテナンス作業や、設定値の変更等の作業を行う。なお、メンテナンス作業や、設定値の変更等の作業が終了すると、前面扉3を閉じることにより施錠される。
【0023】
(メダル投入口6)
メダル投入口6は、鍵穴5の正面視左側上方に設けられ、遊技者がメダルを投入するために設けられている。
【0024】
(BETボタン7)
BETボタン7は、メダル投入口6の正面視左側に設けられ、貯留(クレジット)されたメダルのうち、「1」枚のメダルを遊技に使用するために設けられている。
【0025】
(MAXBETボタン8)
MAXBETボタン8は、BETボタン7の正面視右側に設けられ、貯留(クレジット)されたメダルのうち、一遊技(「1」ゲーム)において使用可能な最大枚数のメダルを遊技に使用するために設けられている。ここで、本実施形態において、一遊技において使用可能なメダルの最大値は「3」枚である。
【0026】
(精算ボタン9)
精算ボタン9は、BETボタン7の奥側に設けられ、遊技者が獲得したメダルのうち、貯留(クレジット)されているメダルの精算を行うために設けられている。なお、本実施形態において、貯留(クレジット)可能なメダルの最大値は「50」枚である。
【0027】
(スタートレバー10)
スタートレバー10は、BETボタン7の下方に設けられている。また、スタートレバー10は、遊技者が後述の左リール18、中リール19、右リール20の回転を開始する契機となる開始操作を行うために設けられている。ここで、遊技者による開始操作が検出されたことに基づいて、後述のメイン制御基板300は、乱数値を取得し、当選役を決定する処理や、後述の左リール18、中リール19、右リール20の回転を開始する処理等を行う。
【0028】
(左停止ボタン11)
左停止ボタン11は、スタートレバー10の正面視右側に設けられている。また、左停止ボタン11は、後述の左リール18の回転を停止する契機となる停止操作を検出するために設けられている。
【0029】
(中停止ボタン12)
中停止ボタン12は、左停止ボタン11の正面視右側に設けられている。また、中停止ボタン12は、後述の中リール19の回転を停止する契機となる停止操作を検出するために設けられている。
【0030】
(右停止ボタン13)
右停止ボタン13は、中停止ボタン12の正面視右側に設けられている。また、右停止ボタン13は、後述の右リール20の回転を停止する契機となる停止操作を検出するために設けられている。
【0031】
(セレクター14)
セレクター14は、前面扉3の背面側に設けられている。また、セレクター14は、メダル投入口6に投入されたメダルの材質や形状等が適正であるか否かを判別するために設けられている。セレクター14の詳細については、後述する。
【0032】
(貯留枚数表示器15)
貯留枚数表示器15は、精算ボタン9の正面視右側に設けられている。また、貯留枚数表示器15は、遊技機1に貯留(クレジット)されている遊技者のメダルの貯留(クレジット)枚数を表示するために設けられている。
【0033】
(払出枚数表示器16)
払出枚数表示器16は、貯留枚数表示器15の正面視右側に設けられている。また、払出枚数表示器16は、遊技者に対して払い出されるメダルの払出枚数を表示したり、遊技機1がエラー状態となった場合に、エラー状態になったことを表示したりするために設けられている。
【0034】
(ドア開閉センサ17s)
ドア開閉センサ17sは、鍵穴5の背面側に設けられており、前面扉3が開放しているか否かを検出するために設けられている。ここで、ドア開閉センサ17sは、発光部と受光部からなり、鍵穴5にドアキー(図示せず)を挿入し、当該ドアキー(図示せず)を時計回り方向に所定角度回動させると、施錠部(図示せず)が回動することとなる。そして、受光部は、施錠部が回動することにより、発光部から発光された光を受光することができなくなる。これにより、ドア開閉センサ17sは、前面扉3の開放を検知することとなる。
【0035】
(左リール18)
左リール18は、キャビネット2の内部に設けられており、円筒状の構造を有している。また、左リール18の円筒状の構造の周面には、透光性のシートが装着されており、当該シートには、複数種類の図柄が一列に描かれている。そして、左リール18は、後述の左ステッピングモータ151により回転駆動され、複数種類の図柄が変動表示される。
【0036】
(中リール19)
中リール19は、キャビネット2の内部に設けられており、円筒状の構造を有している。また、中リール19の円筒状の構造の周面には、透光性のシートが装着されており、当該シートには、複数種類の図柄が一列に描かれている。そして、中リール19は、後述の中ステッピングモータ152により回転駆動され、複数種類の図柄が変動表示される。
【0037】
(右リール20)
右リール20は、キャビネット2の内部に設けられており、円筒状の構造を有している。また、右リール20の円筒状の構造の周面には、透光性のシートが装着されており、当該シートには、複数種類の図柄が一列に描かれている。そして、右リール20は、後述の右ステッピングモータ153により回転駆動され、複数種類の図柄が変動表示される。
【0038】
(演出ボタン21)
演出ボタン21は、MAXBETボタン8の正面視右側に設けられており、遊技者が所定のタイミングで操作するために設けられている。ここで、後述のサブ制御基板400は、演出ボタン21の操作が検出された場合に、後述の演出制御基板500を介して、後述の液晶表示装置31の表示制御を行う。
【0039】
(十字キー22)
十字キー22は、演出ボタン21の正面視右側に設けられており、上方向ボタン、下方向ボタン、左方向ボタン、及び右方向ボタンにより構成され、遊技者が所定のタイミングで操作するために設けられている。そして、後述のサブ制御基板400は、十字キー22の操作が検出された場合に、後述の演出制御基板500を介して、後述の液晶表示装置31等の表示制御を行う。
【0040】
(表示窓23)
表示窓23は、左リール18、中リール19、右リール20の前面側に設けられており、左リール18、中リール19、右リール20の周面に描かれた複数の図柄を視認可能とするために設けられている。具体的には、左リール18の周面に描かれた「3」個の図柄、中リール19の周面に描かれた「3」個の図柄、及び右リール20の周面に描かれた「3」個の図柄の合計「9」個の図柄が表示窓23を介して視認可能となる。なお、本実施形態においては、表示窓23に表示される図柄の視認を容易とするために、図示しないバックライトを発光することにより、表示窓23に表示される図柄が照射されることとなる。
【0041】
(有効ライン)
ここで、本実施形態において、有効ラインは、表示窓23に表示された図柄のうち、左リール18の上段に表示された図柄と、中リール19の中段に表示された図柄と、右リール20の下段に表示された図柄を直線で結んだ「右下がりライン」と、左リール18の上段に表示された図柄と、中リール19の上段に表示された図柄と、右リール20の上段に表示された図柄を直線で結んだ「上段ライン」と、左リール18の中段に表示された図柄と、中リール19の中段に表示された図柄と、右リール20の中段に表示された図柄を直線で結んだ「中段ライン」と、左リール18の下段に表示された図柄と、中リール19の中段に表示された図柄と、右リール20の上段に表示された図柄を直線で結んだ「右上がりライン」の計「4」個のラインが有効ラインとなる。
【0042】
(受皿ユニット24)
受皿ユニット24は、前面扉3の正面下方に設けられている。また、受皿ユニット24は、後述のメダル払出口25から排出されたメダルを受け入れて貯留するために設けられている。
【0043】
(メダル払出口25)
メダル払出口25は、前面扉3の下方に設けられており、メダルの払出が行われる場合において、後述のホッパー202により払い出されるメダルを排出するために設けられている。また、メダル払出口25は、セレクターセンサ14sにより、メダル投入口6に投入されたメダルが適正なメダルではないと判別された場合や、メダルの投入を受け付けることが不可能なタイミングに、メダル投入口6にメダルが投入された場合に、メダル投入口6に投入されたメダルを排出するために設けられている。
【0044】
(液晶表示装置31)
液晶表示装置31は、左リール18、中リール19、右リール20の上方に設けられ、動画像・静止画像等を表示するために設けられている。
【0045】
(LED32)
LED32は、前面扉3の前面の周縁に設けられており、遊技者の視覚に訴える形状及び色彩、模様、絵柄等を施してデザイン設計されている。ここで、後述のサブ制御基板400は、LED32を点灯、点滅する処理を行うことにより、遊技者に対して視覚に訴える演出を行う。
【0046】
(スピーカ33)
スピーカ33は、前面扉3の背面側下方に設けられており、演出を行う際にBGMや音声、効果音等を出力するために設けられている。ここで、後述のサブ制御基板400は、スピーカ33から音を出力する処理を行うことにより、遊技者に対して聴覚に訴える演出を行う。
【0047】
(ステータス基板100)
ステータス基板100は、前面扉3の背面側であって、表示窓23の下方に設けられている。また、ステータス基板100には、後述のBETスイッチ7sw、後述のMAXBETスイッチ8sw、後述の精算スイッチ9sw、後述のスタートスイッチ10sw、後述の左停止スイッチ11sw、後述の中停止スイッチ12sw、後述の右停止スイッチ13sw、後述のセレクターセンサ14s、貯留枚数表示器15、払出枚数表示器16、ドア開閉センサ17s、及び後述のメイン制御基板300が接続されている。
【0048】
(リール制御基板150)
リール制御基板150は、左リール18、中リール19、右リール20の上方に設けられており、左リール18、中リール19、右リール20の回転、及び停止を制御するために設けられている。また、リール制御基板150には、後述の左ステッピングモータ151、後述の中ステッピングモータ152、後述の右ステッピングモータ153、後述の左リールセンサ154s、後述の中リールセンサ155s、後述の右リールセンサ156s、及び後述のメイン制御基板300が接続されている。
【0049】
(電源基板200)
電源基板200は、キャビネット2の内部であって、正面視左側に設けられており、遊技機1に電力を供給する制御を行うために設けられている。また、電源基板200には、後述の電源スイッチ201sw、後述のホッパー202、後述の補助収納庫センサ203s、後述のメイン制御基板300、後述のサブ制御基板400、及び後述の演出制御基板500が接続されている。
【0050】
(電源ボタン201)
電源ボタン201は、後述のホッパー202の正面視左側に設けられており、遊技機1に電力を供給する操作を行うために設けられている。
【0051】
(ホッパー202)
ホッパー202は、電源基板200の正面視右側に設けられており、遊技者に対してメダルを払い出すために設けられている。ここで、後述のメイン制御基板300は、メダルを払い出す図柄の組み合わせが有効ライン上に表示された場合に、電源基板200を介してホッパー202を駆動する処理を行い、遊技者に対してメダルを払い出す処理を行う。また、ホッパー202には、メダルを排出させるための排出スリット204が設けられている。ホッパー202の詳細については、後述する。
【0052】
(補助収納庫203)
補助収納庫203は、ホッパー202の正面視右側に設けられており、ホッパー202に貯留されているメダルが溢れた場合に、溢れたメダルを収納するために設けられている。
【0053】
(メイン制御基板300)
メイン制御基板300は、キャビネット2の内部であって、左リール18、中リール19、右リール20の上方に設けられており、遊技機1の制御を行うために設けられている。また、メイン制御基板300は、後述のメインCPU301、後述のメインROM302、後述のメインRAM303、後述のメイン乱数発生器304を備えている。更に、メイン制御基板300には、後述の外部集中端子板30、ステータス基板100、リール制御基板150、電源基板200、及び後述のサブ制御基板400が接続されている。
【0054】
(サブ制御基板400)
サブ制御基板400は、メイン制御基板300の正面視左側に設けられており、主として演出の制御を行うために設けられている。また、サブ制御基板400は、後述のサブCPU401、後述のサブROM402、後述のサブRAM403、後述のサブ乱数発生器404を備えている。更に、サブ制御基板400には、後述の演出ボタンセンサ21s、後述の十字キーセンサ22s、電源基板200、メイン制御基板300、及び後述の演出制御基板500が接続されている。
【0055】
(演出制御基板500)
演出制御基板500は、前面扉3の背面上方に設けられており、主として演出を実行するために設けられている。また、演出制御基板500は、後述の演出制御CPU501、後述の演出制御ROM502、後述の演出制御RAM503、後述のCGROM504、後述の音源IC505、後述の音源ROM506、後述のVDP507を備えている。更に、演出制御基板500には、液晶表示装置31、LED32、スピーカ33、電源基板200、及びサブ制御基板400が接続されている。
【0056】
(遊技機全体のブロック図)
次に、
図3を用いて、遊技機1全体のブロック図について説明する。
【0057】
遊技機1は、遊技機1の主たる動作を制御するメイン制御基板300に対して、ステータス基板100、リール制御基板150、電源基板200、及びサブ制御基板400が接続されている。
【0058】
(BETスイッチ7sw)
BETスイッチ7swは、BETボタン7の操作を検出するためのスイッチである。ここで、ステータス基板100は、BETスイッチ7swにより、BETボタン7の操作が検出された場合に、メイン制御基板300に対してBETスイッチ入力信号を送信する。そして、メイン制御基板300は、ステータス基板100からBETスイッチ入力信号を受信したことに基づいて、貯留(クレジット)されているメダルから「1」枚のメダルを使用する処理等を行う。
【0059】
(MAXBETスイッチ8sw)
MAXBETスイッチ8swは、MAXBETボタン8の操作を検出するためのスイッチである。ここで、ステータス基板100は、MAXBETスイッチ8swにより、MAXBETボタン8の操作が検出された場合に、メイン制御基板300に対してMAXBETスイッチ入力信号を送信する。そして、メイン制御基板300は、ステータス基板100からMAXBETスイッチ入力信号を受信したことに基づいて、貯留(クレジット)されているメダルから「3」枚のメダルを使用する処理等を行う。
【0060】
(精算スイッチ9sw)
精算スイッチ9swは、精算ボタン9の操作を検出するためのスイッチである。ここで、ステータス基板100は、精算スイッチ9swにより、精算ボタン9の操作が検出された場合に、メイン制御基板300に対して精算スイッチ入力信号を送信する。そして、メイン制御基板300は、ステータス基板100から精算スイッチ入力信号を受信したことに基づいて、貯留(クレジット)されているメダルを精算する処理を行う。
【0061】
(スタートスイッチ10sw)
スタートスイッチ10swは、スタートレバー10の操作を検出するためのスイッチである。ここで、ステータス基板100は、スタートスイッチ10swにより、スタートレバー10の操作が検出された場合に、メイン制御基板300に対してスタートスイッチ入力信号を送信する。そして、メイン制御基板300は、ステータス基板100からスタートスイッチ入力信号を受信したことに基づいて、左リール18、中リール19、右リール20の回転を開始する処理等を行う。
【0062】
(左停止スイッチ11sw)
左停止スイッチ11swは、左停止ボタン11の操作を検出するためのスイッチである。ここで、ステータス基板100は、左停止スイッチ11swにより、左停止ボタン11の操作が検出された場合に、メイン制御基板300に対して左停止スイッチ入力信号を送信する。そして、メイン制御基板300は、ステータス基板100から左停止スイッチ入力信号を受信したことに基づいて、回転中の左リール18を停止する処理を行う。
【0063】
(中停止スイッチ12sw)
中停止スイッチ12swは、中停止ボタン12の操作を検出するためのスイッチである。ここで、ステータス基板100は、中停止スイッチ12swにより、中停止ボタン12の操作が検出された場合に、メイン制御基板300に対して中停止スイッチ入力信号を送信する。そして、メイン制御基板300は、ステータス基板100から中停止スイッチ入力信号を受信したことに基づいて、回転中の中リール19を停止する処理を行う。
【0064】
(右停止スイッチ13sw)
右停止スイッチ13swは、右停止ボタン13の操作を検出するためのスイッチである。ここで、ステータス基板100は、右停止スイッチ13swにより、右停止ボタン13の操作が検出された場合に、メイン制御基板300に対して右停止スイッチ入力信号を送信する。そして、メイン制御基板300は、ステータス基板100から右停止スイッチ入力信号を受信したことに基づいて、回転中の右リール20を停止する処理を行う。
【0065】
(セレクターセンサ14s)
セレクターセンサ14sは、メダル投入口6に適正なメダルが投入されたことを検出するためのセンサである。ここで、ステータス基板100は、セレクターセンサ14sにより、適正なメダルの通過が検出された場合に、メイン制御基板300に対してセレクターセンサ入力信号を送信する。そして、メイン制御基板300は、ステータス基板100からセレクターセンサ入力信号を受信したことに基づいて、貯留(クレジット)されるメダルの枚数を「1」加算する処理や、遊技に使用するメダルの枚数に「1」加算する処理を行う。なお、セレクターセンサ14sは、後述するメダル投入検知センサ61、第1メダル通過センサ62、第2メダル通過センサ63を有している。セレクターセンサ14sの詳細については、後述する。
【0066】
(左ステッピングモータ151)
左ステッピングモータ151は、左リール18の内部に設けられており、左リール18の制御を行うために設けられている。また、左ステッピングモータ151は、回転軸を指定された角度で停止させることが可能な構成を備えている。これにより、左リール18は、左ステッピングモータ151に対してパルス信号が出力されるごとに、一定の角度で回転する。なお、メイン制御基板300は、後述の左リールセンサ154sによりリールインデックスが検出されてから左ステッピングモータ151に対してパルス信号を出力した回数をカウントすることによって、左リール18の回転角度を管理する。
【0067】
(中ステッピングモータ152)
中ステッピングモータ152は、中リール19の内部に設けられており、中リール19の制御を行うために設けられている。また、中ステッピングモータ152は、回転軸を指定された角度で停止させることが可能な構成を備えている。これにより、中リール19は、中ステッピングモータ152に対してパルス信号が出力されるごとに、一定の角度で回転する。なお、メイン制御基板300は、後述の中リールセンサ155sによりリールインデックスが検出されてから中ステッピングモータ152に対してパルス信号を出力した回数をカウントすることによって、中リール19の回転角度を管理する。
【0068】
(右ステッピングモータ153)
右ステッピングモータ153は、右リール20の内部に設けられており、右リール20の制御を行うために設けられている。また、右ステッピングモータ153は、回転軸を指定された角度で停止させることが可能な構成を備えている。これにより、右リール20は、右ステッピングモータ153に対してパルス信号が出力されるごとに、一定の角度で回転する。なお、メイン制御基板300は、後述の右リールセンサ156sによりリールインデックスが検出されてから右ステッピングモータ153に対してパルス信号を出力した回数をカウントすることによって、右リール20の回転角度を管理する。
【0069】
(左リールセンサ154s)
左リールセンサ154sは、左リール18の内部に設けられており、発光部と受光部とを有する光センサを備えている。また、左リールセンサ154sは、左リール18が「1」回転したことを示すリールインデックスを検出するために設けられている。
【0070】
(中リールセンサ155s)
中リールセンサ155sは、中リール19の内部に設けられており、発光部と受光部とを有する光センサを備えている。また、中リールセンサ155sは、中リール19が「1」回転したことを示すリールインデックスを検出するために設けられている。
【0071】
(右リールセンサ156s)
右リールセンサ156sは、右リール20の内部に設けられており、発光部と受光部とを有する光センサを備えている。また、右リールセンサ156sは、右リール20が「1」回転したことを示すリールインデックスを検出するために設けられている。
【0072】
(電源スイッチ201sw)
電源スイッチ201swは、電源ボタン201の操作を検出するためのスイッチである。ここで、電源基板200は、電源スイッチ201swにより、電源ボタン201の操作が検出された場合に、遊技機1に電力を供給する処理を行う。
【0073】
(ホッパーセンサ202s)
ホッパーセンサ202sは、ホッパー202が駆動されることにより払い出されるメダルが通過したことを検出するためのセンサである。ここで、電源基板200は、ホッパーセンサ202sにより、メダルの払出が検出された場合に、メイン制御基板300に対してホッパーセンサ入力信号を送信する。そして、メイン制御基板300は、電源基板200からホッパーセンサ入力信号を受信したことに基づいて、払出枚数を減算する処理を行う。ホッパーセンサ202sの詳細については、後述する。
【0074】
(補助収納庫センサ203s)
補助収納庫センサ203sは、補助収納庫203に貯留されたメダルが満杯であることを検出するためのセンサである。ここで、電源基板200は、補助収納庫センサ203sにより、補助収納庫203に貯留されたメダルが満杯であることが検出された場合に、メイン制御基板300に対して、所定の信号を送信する。そして、メイン制御基板300は、電源基板200から所定の信号を受信したことに基づいて、補助収納庫203に貯留されたメダルが満杯である時のエラー処理を行う。
【0075】
(外部集中端子板30)
外部集中端子板30は、遊技に使用したメダルの枚数を特定可能なメダル投入信号や、遊技者に対して払い出したメダルの枚数を特定可能なメダル払出信号、後述のBBに係る図柄の組み合わせが表示されたことを特定可能なBB信号、後述のRBに係る図柄の組み合わせが表示されたことを特定可能なRB信号、不正行為が行われたことを特定可能なセキュリティ信号をホールコンピュータ(図示せず)等の遊技機1の外部に対して送信するために設けられている。
【0076】
(メインCPU301)
メインCPU301は、メイン制御基板300に設けられている。また、メインCPU301は、後述のメインROM302に記憶されているプログラムを読み込み、遊技の進行に合わせて所定の演算処理を行うことにより、ステータス基板100、リール制御基板150、電源基板200、サブ制御基板400に対して所定の信号を送信する。
【0077】
ここで、メインCPU301の概略模式図を、
図32に示し、説明する。
図32に示すように、メインCPU301は、演算装置1100と、制御装置1200と、レジスタ群1300と、クロックジェネレータ1400と、を備え、それぞれバス1500で接続されている。
【0078】
演算装置1100は、算術論理演算装置であり、基本的な四則演算(加算、減算、乗算、除算)および論理演算(AND、OR、NOT)を行う計算機である。なお、演算装置1100は、乗算器や除算器を持たずに、乗算や除算を行うものであってもよく、また、減算も加算器を用いて演算するものでもよい。
【0079】
制御装置1200は、データ(オペランド)と命令(オペコード)をレジスタ群1300の後述する所定のレジスタから取り出し、演算装置1100に渡すとともに、演算装置1100に計算された計算結果をまた所定のレジスタに格納する。
【0080】
レジスタ群1300は、後述する複数のレジスタを有しており、演算装置1100が計算するデータや命令、計算結果等を一時的に保存(一時記憶)する記憶領域である。なおレジスタは、メインCPU301が演算処理等を行うために用意されたメインCPU301専用のメモリであり、他の記憶装置に比べ、サイズは小さいがアクセスが高速で行われるものである。
【0081】
クロックジェネレータ1400は、メインCPU301および接続された各装置の処理のタイミングをとるために、一定に時間を刻み続ける時計であり、常に一定間隔のクロック信号(パルス)を発生させる装置である。
【0082】
なお、レジスタ群1300は、Aレジスタ1311、Bレジスタ1312、Cレジスタ1313、Dレジスタ1314、Eレジスタ1315、Fレジスタ1316、Hレジスタ1317、Lレジスタ1318、SPレジスタ1319、PCレジスタ1320を有している。
【0083】
Aレジスタ1311、Bレジスタ1312、Cレジスタ1313、Dレジスタ1314、Eレジスタ1315、Fレジスタ1316、Hレジスタ1317、Lレジスタ1318は、それぞれ1バイト(8ビット)の記憶容量を持っており、SPレジスタ1319、PCレジスタ1320は、それぞれ2バイト(16ビット)の記憶容量を持っている。なお、Bレジスタ1312とCレジスタ1313、Dレジスタ1314とEレジスタ1315、Hレジスタ1317とLレジスタ1318、Aレジスタ1311とFレジスタ1316は、2つを繋げて2バイト(16ビット)として扱うことができる。
【0084】
(メインROM302)
メインROM302は、メイン制御基板300に設けられている。また、メインROM302は、メインCPU301により実行される制御プログラム、データテーブル、サブ制御基板400に対するコマンドを送信するためのデータ等を記憶するために設けられている。具体的には、メインROM302は、
図11から
図28に示す処理を行うためのプログラム、後述の配列データテーブル(
図4参照)、後述の図柄組み合わせテーブル(
図5参照)、後述の通常遊技状態用当選役決定テーブル(
図6参照)、後述のRT遊技状態用当選役決定テーブル(
図7参照)、後述のRB遊技状態用当選役決定テーブル(
図8参照)等を記憶している。
【0085】
(メインRAM303)
メインRAM303は、メイン制御基板300に設けられている。また、メインRAM303は、メインCPU301によるプログラムの実行により決定された各種データを記憶するために設けられている。具体的には、メインRAM303には、後述の投入枚数カウンタ等の各種カウンタや、後述の設定値格納領域等の各種格納領域が設けられている。
【0086】
また、
図33に示すように、メインROM302およびメインRAM303には、第1記憶領域2100と、第2記憶領域2200と、が設けられている。なお、第1記憶領域2100と第2記憶領域2200とは、完全に独立した領域であり、それぞれを分離可能である。例えば、本実施の形態では、第1記憶領域2100と、第2記憶領域2200と、を1つのメインROM302および1つのメインRAM303上の領域としているが、メインROMおよびメインRAMを複数設け、一方に第1記憶領域2100を設け、他方に第2記憶領域2200を設けてもよい。また、メインROMおよびメインRAMのうち、一方を1つとし、他方を複数設けた構成としてもよい。
【0087】
メインROM302の第1記憶領域2100には、第1制御領域2110と、第1データ領域2120と、が設けられている。また、メインROM302の第2記憶領域2200には、第2制御領域2210と、第2データ領域2220と、が設けられている。さらに、メインRAM303の第1記憶領域2100には、第1ワーク領域2160が設けられており、メインRAM303の第2記憶領域2200には、第2ワーク領域2260が設けられている。
【0088】
第1制御領域2110には、第1制御を行うためのプログラムが記憶されており、例えば、遊技の進行を制御するプログラムが記憶されている。第1制御領域2110に記憶されたプログラムを、例えば、第1制御プログラムという。なお、本実施の形態においては、メインROM302に記憶されるプログラムのうち、特にことわりのないプログラムは、第1制御領域2110に記憶されたものとする。
【0089】
第1データ領域2120には、第1制御領域2110に記憶されたプログラムを実行する際に使用するデータ(各種テーブルや初期値、固定値等の情報)が記憶されている。第1データ領域2120に記憶されたデータを、例えば、第1制御データという。
【0090】
第2制御領域2210には、第2制御を行うためのプログラムが記憶されており、例えば、遊技機1のセキュリティチェックを行うプログラムが記憶されている。第2制御領域2210に記憶されたプログラムを、例えば、第2制御プログラムという。なお、第2制御領域2210に記憶されるプログラムの詳細については、後述する。
【0091】
第2データ領域2220には、第2制御領域2210に記憶されたプログラムを実行する際に使用するデータ(各種テーブルや初期値、固定値等の情報)が記憶されている。第2データ領域2220に記憶されたデータを、例えば、第2制御データという。
【0092】
第1ワーク領域2160は、第1制御において更新および参照が可能であって、第2制御においては更新されず参照のみ可能とされたデータ(可変データ)を記憶する記憶領域である。具体的には、第1ワーク領域2160には、第1制御プログラムの実行においては、データの作成、更新および参照は可能であるが、第2制御プログラムの実行においては、データの作成および更新は行われず、参照のみが可能とされている。
【0093】
第2ワーク領域2260は、第2制御において更新および参照が可能であって、第1制御においては更新されず参照のみ可能とされたデータ(可変データ)を記憶する記憶領域である。具体的には、第2ワーク領域2260には、第2制御プログラムの実行においては、データの作成、更新および参照は可能であるが、第1制御プログラムの実行においては、データの作成および更新は行われず、参照のみが可能とされている。
【0094】
ここで、メインROM302の記憶容量を、「16KB(キロバイト)」とし、第1制御領域2110の記憶容量を、「4.5KB(キロバイト)」、第1データ領域2120の記憶容量を、「3KB(キロバイト)」とする。また、メインRAM303の記憶容量を、「1024KB(キロバイト)」とし、第1ワーク領域2160の記憶容量を、「512KB(キロバイト)」とする。このように、第1記憶領域2100の記憶容量が制限されている場合に、新たなプログラムやデータを増やそうとした際に、追加分のプログラムやデータを、第2記憶領域2200に記憶させるようにすれば、第1記憶領域2100の容量を圧迫せずに、新たな機能を追加させることができる。
【0095】
さらに、第1制御領域2110には、第2制御領域2210に記憶された所定の第2制御プログラムを呼び出すことにより処理を中断し、当該第2制御プログラムからの復帰により処理を再開する第1制御プログラムが記憶されている。
また、第1制御プログラムには、呼び出しを行う第2制御プログラムのアドレスが予め規定されている。
【0096】
また、第2制御領域2210には、第1制御領域2110に記憶された上記第1制御プログラムに呼び出されることにより実行され、終了後にこの第1制御プログラムに復帰させる第2制御プログラムが記憶されている。
また、第1制御領域2110に記憶された第1制御プログラムは、第1制御領域2110に記憶された他の第1制御プログラムをサブルーチンとして呼び出すことがあるが、第2制御領域2210に記憶された第2制御プログラムは、第1制御領域2110に記憶された第1制御プログラムをサブルーチンとして呼び出すことはない。
【0097】
また、第2制御領域2210には、上記のように、自機に関する異常を検出するための処理(以下、セキュリティ処理という)の少なくとも一部を構成する第2制御プログラムが記憶されている。なお、第2制御領域2210には、セキュリティ処理を行う制御プログラムの内の特定(一部)の制御プログラムのみを記憶させてもよいし、セキュリティ処理を行う制御プログラムの全てを記憶させてもよい。
【0098】
上記セキュリティ処理としては、例えば、メダル投入に関する異常検知処理、メダル払出に関する異常検知処理等がある。
例えば、第2制御領域2210には、メダル投入に関する異常検知処理として、セレクターセンサ14sによる検知結果に基づくメダルの投入に関する異常を検出するための処理の少なくとも一部を構成する第2制御プログラムが記憶されている。
また、第2制御領域2210には、メダル払出に関する異常検知処理として、ホッパーセンサ202sによる検知結果に基づくメダルの払い出しに関する異常を検出するための処理の少なくとも一部を構成する第2制御プログラムが記憶されている。
【0099】
また、第2制御領域2210には、試験装置に信号を出力するための処理の少なくとも一部を構成する第2制御プログラムが記憶されている。なお、上記セキュリティ処理と同様に、第2制御領域2210には、試験装置に信号を出力するための処理を行う制御プログラムの内の特定(一部)の制御プログラムのみを記憶させてもよいし、試験装置に信号を出力するための処理を行う制御プログラムの全てを記憶させてもよい。
【0100】
メインROM302、メインRAM303には、上記に示すように、その役割に応じた記憶領域がそれぞれ設けられており、これらの記憶領域を表した仮想空間(以下では「メモリ空間」とも称している)を
図34乃至
図41に示している。詳細については後述する。
【0101】
(メイン乱数発生器304)
メイン乱数発生器304は、メイン制御基板300に設けられている。また、メイン乱数発生器304は、当選役を決定する抽選等で用いられる乱数値を生成するために設けられている。ここで、本実施形態において、メイン乱数発生器304は、「0」〜「65535」の範囲で乱数値を生成する。
【0102】
(メインI/F回路305)
メインI/F回路305は、メイン制御基板300と、ステータス基板100、リール制御基板150、電源基板200、サブ制御基板400間での信号(コマンド)の送受信を行うための回路である。なお、「I/F」とは、「インターフェイス」の略称である。また、メインI/F回路305は、入出力ポート(I/Oポート)306を有している。入出力ポート306は、メイン制御基板300(メインCPU301)と、外部の装置との、データの入出力を行うためのものである。
【0103】
(演出ボタンセンサ21s)
演出ボタンセンサ21sは、演出ボタン21が接続されており、演出ボタン21の操作を検出するために設けられている。ここで、演出ボタンセンサ21sは、演出ボタン21の操作を検出したことに基づいて、サブ制御基板400に対して演出ボタンセンサ入力信号を送信する。そして、サブ制御基板400は、演出ボタンセンサ入力信号を受信したことに基づいて、演出ボタン21が操作されたときの処理を行う。
【0104】
(十字キーセンサ22s)
十字キーセンサ22sは、十字キー22が接続されており、十字キー22の操作を検出するために設けられている。ここで、十字キーセンサ22sは、十字キー22の操作を検出したことに基づいて、サブ制御基板400に対して十字キーセンサ入力信号を送信する。そして、サブ制御基板400は、十字キーセンサ入力信号を受信したことに基づいて、十字キー22が操作されたときの処理を行う。
【0105】
(サブCPU401)
サブCPU401は、サブ制御基板400に設けられている。また、サブCPU401は、後述のサブROM402に記憶されているプログラムを読み込み、メイン制御基板300から受信したコマンドの情報や、演出ボタンセンサ21sや、十字キーセンサ22sから入力された信号に基づいて所定の演算を行い、当該演算の結果を演出制御基板500等に供給するために設けられている。
【0106】
(サブROM402)
サブROM402は、サブ制御基板400に設けられている。また、サブROM402は、サブCPU401により実行される制御プログラム、データテーブル等を記憶するために設けられている。具体的には、サブROM402は、後述の演出決定テーブル(
図10参照)等を記憶している。
【0107】
(サブRAM403)
サブRAM403は、サブ制御基板400に設けられている。また、サブRAM403は、サブCPU401によるプログラムの実行により決定された各種データを記憶するために設けられている。
【0108】
(サブ乱数発生器404)
サブ乱数発生器404は、サブ制御基板400に設けられている。また、サブ乱数発生器404は、演出を決定する抽選等で用いられる乱数値を生成するために設けられている。ここで、本実施形態において、サブ乱数発生器404は、「0」〜「65535」の範囲で乱数値を生成する。
【0109】
(演出制御CPU501)
演出制御CPU501は、演出制御基板500に設けられている。また、演出制御CPU501は、後述の演出制御ROM502に記憶されているプログラムを読み込み、サブ制御基板400から受信した信号に基づいてディスプレイリストを作成するために設けられている。また、演出制御CPU501は、後述のCGROM504に記憶されている画像データを液晶表示装置31に表示させる制御を行う。
【0110】
(演出制御ROM502)
演出制御ROM502は、演出制御基板500に設けられている。また、演出制御ROM502は、演出制御CPU501により実行される制御プログラム、データテーブル等を記憶するために設けられている。具体的には、演出制御ROM502は、演出制御CPU501の制御処理のプログラム、ディスプレイリストを生成するためのディスプレイリスト生成プログラム、アニメーションを表示する際に参照されるアニメシーンの組み合わせやアニメシーンの表示順序、画像の表示時間を示すウエイトフレーム、スプライトの識別番号や転送元アドレス等の各種対象データ、スプライトの表示位置や転送先アドレス等の各種パラメータ、描画方法等が記憶されている。
【0111】
(演出制御RAM503)
演出制御RAM503は、演出制御基板500に設けられている。また、演出制御RAM503は、演出制御CPU501の演算処理時におけるデータのワークエリアとして機能し、演出制御ROM502から読み出されたデータを一時的に記憶するために設けられている。
【0112】
(CGROM504)
CGROM504は、演出制御基板500に設けられている。また、CGROM504は、所定範囲の画素(例えば、「32」ピクセル×「32」ピクセル)における画素毎に色番号を指定する色番号情報と、画像の透明度を示すα値とから構成され画素情報の集合からなる画像データを圧縮して記憶するために設けられている。
【0113】
(音源IC505)
音源IC505は、演出制御基板500に設けられている。また、音源IC505は、後述の音源ROM506に記憶されている音声に関するプログラムやデータを読み込み、スピーカ33を駆動する音声信号を生成するために設けられている。
【0114】
(音源ROM506)
音源ROM506は、演出制御基板500に設けられている。また、音源ROM506は、演出を実行する際に出力される音声に関するプログラムやデータ等を記憶するために設けられている。
【0115】
(VDP507)
VDP507は、いわゆる画像プロセッサであり、演出制御CPU501からの指示に基づいて、第1フレームバッファ領域と第2フレームバッファ領域のうち「表示用フレームバッファ領域」から画像データを読み出す制御を行う。そして、読み出した画像データに基づいて、映像信号(例えば、LVDS信号やRGB信号)を生成することにより、液晶表示装置31に画像を表示する制御が行われる。なお、VDP507は、図示しない制御レジスタ、CGバスインターフェイス、CPUインターフェイス、クロック生成回路、伸長回路、描画回路、表示回路、メモリコントローラ等を備えており、これらをバスによって接続している。
【0116】
次に、
図42に示すセレクター14の動作原理図を用いて、セレクター14について説明する。
図42に示すように、セレクター14は、メダル受入口51と、メダル誘導通路52と、メダル排出口53と、ブロッカ54と、を有している。また、セレクター14には、セレクターセンサ14sとして、メダル投入検知センサ61と、第1メダル通過センサ62と、第2メダル通過センサ63と、が設けられている。
【0117】
メダル受入口51は、メダル投入口6から投入されたメダルを、メダル誘導通路52に受け入れるためのものである。メダル誘導通路52は、メダル受入口51から受け入れられたメダルを、メダル排出口53に誘導するための通路である。なお、メダル誘導通路52には、通路の途中の底部に開口部(溝)が設けられ、ブロッカ54により開口部が塞がれることにより、メダル排出口53への通路が形成されるようになっている。また、メダル誘導通路52の開口部は、メダル払出口25と連通されるようになっている。
【0118】
メダル排出口53は、メダル誘導通路52に誘導されたメダルを、セレクター14から排出させるためのものである。また、メダル排出口53は、セレクターガイド70と接続されており、メダル排出口53から排出されたメダルは、セレクターガイド70に導出される。さらに、セレクターガイド70の排出先には、ホッパー202が設けられており、セレクター14のメダル排出口53から排出されたメダルは、セレクターガイド70を通って、ホッパー202に誘導されるようになっている。
【0119】
ブロッカ54は、セレクター14から排出されるメダルの排出先を切り替えるものである。具体的には、メダルの受け入れを許可する場合には、ブロッカ54は、メダル誘導通路52の開口部を塞ぐように制御され、メダル誘導通路52に受け入れられたメダルは、ブロッカ54の上を転がり、メダル排出口53に誘導される。また、メダルの受け入れを許可しない場合には、ブロッカ54は、メダル誘導通路52の開口部を開口させるように制御され、メダル誘導通路52に受け入れられたメダルは、メダル誘導通路52の開口部から排出され、メダル払出口25に誘導される。
【0120】
メダル投入検知センサ61は、メダル誘導通路52のメダル受入口51からメダル排出口53までの間における、最もメダル受入口51側で、メダル受入口51の近傍に配設され、メダル投入口6からメダル誘導通路52への投入物の投入を検出するものである。なお、メダル投入検知センサ61として、例えば、物理センサが設けられる。
【0121】
第1メダル通過センサ62および第2メダル通過センサ63は、メダル誘導通路52のメダル受入口51からメダル排出口53までの間における、メダル投入検知センサ61の次に、メダル誘導通路52に誘導されたメダルを互いに異なるタイミングで検出する位置に配設されている。また、第1メダル通過センサ62および第2メダル通過センサ63は、離れすぎず、1枚のメダルで双方のセンサが同時にメダルの検出を行う場合がある程度の距離に配設される。
【0122】
これにより、第1メダル通過センサ62および第2メダル通過センサ63は、メダルの正常な通過確認を行うことができる。具体的には、第1メダル通過センサ62および第2メダル通過センサ63は、ともに検出信号がOFFの状態から、第1メダル通過センサ62のみがONとなり、次に、第1メダル通過センサ62がONの状態で第2メダル通過センサ63もONとなる。次いで、第2メダル通過センサ63がONの状態で第1メダル通過センサ62のみがOFFとなり、最後に第1メダル通過センサ62および第2メダル通過センサ63ともにOFFとなることにより、メダルが正常に通過したことを確認することができる。
【0123】
一方、第1メダル通過センサ62および第2メダル通過センサ63から、上記順番以外で検出信号を入力した場合には、メダルの逆流等の不正通過であることを認識することができる。なお、第1メダル通過センサ62および第2メダル通過センサ63として、例えば、光学センサが設けられる。
【0124】
次に、
図43に示すホッパー202の一部断面図、
図44に示すホッパー202の動作原理図を用いて、ホッパー202について説明する。
図43、
図44に示すように、ホッパー202は、メダル貯留槽81と、メダル払出装置82と、を備えている。
【0125】
メダル貯留槽81には、多数のメダルを貯留するメダル貯留部が設けられている。また、メダル貯留槽81は、底部に開口部が設けられ、この開口部からメダル払出装置82にメダルが供給できるようになっている。さらに、メダル貯留槽81の底部外周には、メダル払出装置82と嵌合する嵌合部が設けられている。なお、メダル貯留槽81とメダル払出装置82は、接続面が傾斜して接続されている。
【0126】
メダル払出装置82は、ベース部83と、メインディスク84と、検出レバー87と、を有している。また、メダル払出装置82には、ホッパーモータ91が設けられているとともに、ホッパーセンサ202sとして、払出センサ92が設けられている。
【0127】
ベース部83は、メダル払出装置82の傾斜した上面に設けられ、略中央には、メインディスク84を収納する凹部が形成され、一端にはメダルを排出させ、排出スリット204と連通する排出通路が形成されている。
【0128】
メインディスク84は、ベース部83の凹部に設けられ、上面ディスク85と、下面ディスク86と、を有している。
上面ディスク85は、メダルを受け入れるディスク開口部85aが円周を等分する複数個所(図中6ヶ所)に設けられている。下面ディスク86は、上面ディスク85の下部に設けられ、上面ディスク85の各ディスク開口部85aと対応するように、メダル収納スペース86aが切り欠かれた形状を有している。
【0129】
検出レバー87は、メインディスク84の下部に設けられ、一端にピンが設けられている。検出レバー87のピンは、メインディスク84の外周部近傍でメインディスク84の上面まで突出している。なお、検出レバー87は、バネによって初期位置に付勢されている。
【0130】
ホッパーモータ91は、メダル払出装置82の内部に設けられ、回転軸をメインディスク84の中心軸に軸支し、メインディスク84を回転させるものである。
払出センサ92は、検出レバー87が所定位置に移動した場合に、ON信号を出力し、検出レバー87が初期位置にある場合には、OFF信号を出力するものである。
【0131】
このようなホッパー202において、メダル貯留槽81に貯留されたメダルは、メダル貯留槽81の開口部から、上面ディスク85のディスク開口部85aに受け入れられ、下面ディスク86のメダル収納スペース86aに収納される。そして、ホッパーモータ91が駆動されると、メインディスク84が回転する。
【0132】
メインディスク84が回転すると、メダル収納スペース86aに収納されたメダルも移動され、検出レバー87のピンに当接される。さらに、メインディスク84が回転すると、メダルは、バネの付勢力に抗して検出レバー87を動かし、検出レバー87が払出センサ92に検出され、ON信号が出力される。
【0133】
さらに、メインディスク84が回転すると、メダルは、排出通路を通って排出スリット204から排出される。メダルが排出されると、検出レバー87への押圧が解除され、バネの付勢力によって検出レバー87が初期位置に戻る。これにより、検出レバー87が払出センサ92に検出されなくなり、OFF信号が出力される。
このように、ホッパー202においては、ホッパーモータ91が駆動されることにより、メダルが払い出され、払出センサ92によってメダルの払い出しが検出される。
【0134】
次に、
図34乃至
図41を用いてメインRAMおよびメインROMを構成する記憶領域に基づいて構成されるメモリ空間について説明する。
【0135】
図34乃至
図41は、本発明の実施の形態における遊技機が具備する記憶媒体(メモリ)のメモリ空間を示す図である。
【0136】
特に、これらのメモリ空間(「仮想メモリ空間」、「メモリマップ」、「アドレス空間」とも称する)は、主制御基板が備えるメインROM302およびメインRAM303(「メインRWM(Read Write Memory)」とも称する)の各記憶媒体(メモリ媒体、集積回路(IC))が有する記憶領域を仮想空間上にマッピングしたものを示している。
【0137】
すなわち、主制御基板が備えるメインCPU301が、遊技に関する制御処理を行うにあたって用いる各種のプログラムやデータ(遊技に用いる固定データ(遊技固定データ)、遊技の進行に伴って可変する可変データ(遊技可変データ)等)にアクセス(参照、更新)する仮想空間を示したものが「メモリ空間」である。言い換えれば、メインCPU301は、同一のプリント基板(PCB)上に実装された記憶媒体(メインROM302やメインRAM303)の記憶領域をこのメモリ空間の一部(またはその全部)として認識するものであって、このメインCPU301は、メモリ空間の各記憶領域(セクション)に対してデータの参照、更新等の処理を行う。
【0138】
このときのメインCPU301と記憶領域(メインROM302やメインRAM303)とは、バスによって配線(接続)(「バス配線」とも称する)されたものである。
【0139】
すなわち、実装上、異なる複数の記憶媒体が設けられたとしても、各記憶媒体に記憶されているデータ等を用いる参照元(上記の例では、メインCPU301)は、1つの参照先(メモリ空間上)のデータを参照等していることとなる。
【0140】
このようなメモリ空間は、その記憶する情報の種類や使用用途等に応じて1または複数の領域(記憶領域)に分別されており、その各領域における特定の位置に所定のデータ等を記憶することができる。このとき、各メモリ空間上には、各領域に記憶する所定のデータを識別する(指し示す)ためのアドレス情報(データ識別情報)が設定されており、このアドレス情報をメインCPU301が指定することでメインCPU301は、そのアドレス情報によって識別される、メモリ空間の記憶領域に記憶するデータを参照、更新することができる。
【0141】
図34乃至
図41は、同一のメモリ空間を示したものであって、同種の役割を持つ記憶領域によって構成されている。
【0142】
図34乃至
図41の各図は、縦方向に、メモリ空間の全体容量(総メモリ容量)を表しており、メモリ空間上の位置を特定するための情報としてアドレス情報が設定されている。
図34乃至
図41では、このアドレス情報(16進法)として「0000H」〜「FFFFH」が示されている。このときの「H(ヘキサ)」はアドレス情報が、基数を「16」とした16進法に基づいて表現されたものであることを示すものである。
【0143】
また、メインCPU301によって参照(読み出し)が「0000H」に近い低位アドレスから「FFFFH」に近い高位アドレスの順番で行われる場合においては、遊技の進行に際してその遊技の結果に影響を及ぼすプログラムやデータを各記憶領域内の低位アドレスに記憶させ、他のプログラムやデータを、遊技の進行に際してその遊技の結果に影響を及ぼすプログラムやデータに比べて高位アドレスに記憶させる。
【0144】
低位アドレスにプログラムやデータを記憶させることは、その低位アドレスよりも高位の高位アドレスに記憶したときと比べて、読み出し順序の早いアドレスに記憶させた状態にあることを示している。言い換えれば、プログラムやデータを高速に読み出すことができることを示している。
【0145】
よって、遊技の進行に際して、より処理優先度の高い遊技の結果に影響を及ぼすプログラムやデータをより高速に、アクセス(参照、更新等)を行うことができるようになる。
【0146】
続いて、この
図34乃至
図41の各図は、横方向に、アクセスデータサイズ(領域幅)として「1バイト(8ビット)」が示されている。このアクセスデータサイズは、所定のアドレス情報をメインCPU301が指定したときに(一括で)処理できる処理単位を示すものであって、本例においては、「1バイト(8ビット)単位」で処理が可能であることを示している。
【0147】
これらの各図(
図34乃至
図41)に示すメモリ空間は、第1制御領域2110(「制御領域(1)」とも称する)、第1データ領域2120(「データ領域(1)」とも称する)、第2制御領域2210(「制御領域(2)」とも称する)、第2データ領域2220(「データ領域(2)」とも称する)、第1ワーク領域2160(「第1RWM領域」または「RWM領域(1)」とも称する)、第2ワーク領域2260(「第2RWM領域」または「RWM領域(2)」とも称する)を少なくとも備えている。各領域は、所定の容量(記憶容量、領域長)からなり、所定の情報(プログラムやデータ等)が記憶されている。上記では、第1制御領域2110、第1データ領域2120および第1ワーク領域2160を総称して「使用領域(第1使用領域2100)」と示し、第2制御領域2210、第2データ領域2220および第2ワーク領域2260を総称して「使用領域外(第2使用領域2200)」と示す。
【0148】
これらの各領域(第1制御領域2110、第1データ領域2120、第1ワーク領域2160、第2制御領域2210、第2データ領域2220、第2ワーク領域2260)は、アドレス情報によって明確に分離された領域である(言い換えれば、アドレス情報を指定することによって所定の記憶領域に確実にアクセスできることを示す領域である)ことから、これらの各領域に記憶されたデータ等は、明示的に区別された領域に配置されている。言い換えれば、無造作にデータ等を任意の領域に配置したものではない。
【0149】
上記において示すように、第1制御領域2110には、遊技の進行に関する制御処理を行うための制御プログラムのうち、遊技の結果に影響を及ぼす(与える)制御処理(第1制御処理)を行うための制御プログラム(「第1制御プログラム」とも称する)を記憶する領域である。例えば、第1制御領域2110には、遊技者が遊技媒体(遊技メダル)の投入口に遊技メダルを投入したことを検知する制御処理を行う制御プログラムや、遊技メダルが払い出されたことを検知する制御処理を行う制御プログラムのほか、RB状態、BB状態となったことを通知する制御処理を行う制御プログラムや、ドアが開放された状態にあることを出力する制御処理を行う制御プログラムなどが記憶されている。
【0150】
この第1制御プログラムは、処理を実行することで所定の機能を果たす機能的なまとまりを果たすモジュールが1または複数、設けられて構成されたものである(モジュール化されている)。この第1制御プログラムをモジュール化することによって、所定の機能を実現するための処理が構成要素(制御プログラム中の処理ステップ)間で相互に連関する状態を回避することができ、若しくは、最小限にでき、遊技全体の処理において各機能が実現される仕組み(処理)が容易に把握することができるようになる。
【0151】
また、第1データ領域2120は、第1制御領域2110において記憶している制御プログラム(第1制御プログラム)によって参照されるデータを記憶している領域である。この第1データ領域2120において記憶しているデータは、第1制御プログラムによる第1制御処理に用いられる(すなわち、後述する第2制御プログラムによる第2制御処理において用いられない)固定データ(「第1固定データ」とも称する)である。この固定データとは、初期設定された状態から変更することができないデータであることを示したものであって、「不変データ」とも称することがある。
【0152】
また、第2制御領域2210は、第1制御領域2110において記憶する制御プログラム(上記では、「第1制御プログラム」と称している)とは異なる他の制御プログラム(「第2制御プログラム」と称する)を記憶している。この第2制御領域2210に記憶する第2制御プログラムは、遊技の結果に影響を及ぼさない(与えない)制御処理(第2制御処理)を行うための制御プログラムであると総称することができる。
【0153】
この第2制御プログラムもまた、第1制御プログラムと同様に、処理を実行することで所定の機能を果たす機能的なまとまりを果たすモジュールが1または複数、設けられて構成されたものである(モジュール化されている)。モジュール単位で実行する第2制御プログラムでは、モジュールを実行する直前に(より詳細には、モジュールの冒頭で)レジスタを保護する(レジスタに記憶していたデータを(他の記憶領域に)待避させる)処理を行い(「レジスタ保護処理」若しくは「レジスタ待避処理」と称する)、モジュールの実行完了直後に(より詳細には、モジュールの結びで)レジスタを復帰させる処理を行う(「レジスタ復帰処理」と称する)。
【0154】
このときのレジスタとは、上記に示すように、メインCPU301が演算処理等を行うために用意されたメインCPU301専用のメモリ(記憶装置)である。このレジスタは、他の記憶装置に比べ、記憶できるデータ容量は小さいがアクセス速度が高速で、処理の際に作業領域として用いられる。
【0155】
このほか、第2制御プログラムもまた、モジュール化されていることから、所定の機能を実現するための処理が構成要素(制御プログラム中の処理ステップ)間で相互に連関する状態を回避することができ、若しくは、最小限にでき、遊技全体の処理において各機能が実現される仕組み(処理)が容易に把握することができるようになる。
【0156】
第2制御プログラムの第1の例として、遊技における不正行為(所謂、「ゴト行為」)を防止するために設けられた処理を行うための制御プログラムがある。
【0157】
このときの不正行為とは、遊技媒体(遊技メダル)を検知するセレクターの機能に対して本来の機能を発揮できない若しくは誤認させる行為や、ホッパーの機能に対して本来の機能を発揮できなくする行為若しくは誤認させる行為、遊技機を構成する筐体の内部へと不正にアクセスする行為等の物理的な不正行為のほか、遊技状態等を誤認させる電波を発生させて遊技媒体を不正に獲得する行為などの電磁気的な不正行為が該当する。
【0158】
また、第2制御プログラムの第2の例として、本遊技機における遊技の進行に関する制御処理が正常な動作であるか(意図する動作であるか、正常と判断する条件下での動作であるか等)を判断する試験用の確認信号を遊技機の外部に出力する制御プログラムがある。
【0159】
このときの試験とは、本遊技機に試験用の装置(外部試験装置)を接続し、本遊技機から出力される確認信号をその外部試験装置が受信することでその確認信号に基づく遊技に関する情報が予め指定された情報であること、若しくは、予め指定された範囲に属する情報であることで、上記に示す正常な動作であるかを確認することを示す。
【0160】
以上に示すような処理を行う第2制御プログラムを第2制御領域2210において記憶している。もちろん、これらの制御プログラムの内容はあくまでも例であって、これに限定されることなく、遊技の結果に影響を及ぼさない(与えない)制御処理(第2制御処理)を行うための制御プログラムであれば、どのような内容のプログラムであってもよい。
【0161】
このほか、この第2制御領域2210に記憶している第2制御プログラムは、第1制御領域2110に記憶している第1制御プログラムから予め指定された手法によって呼び出されることによって第2制御処理を実行するものである。より具体的には、第2制御プログラムによる第2制御処理は、第1制御プログラムによる第1制御処理のサブルーチンとして処理されるものであって、第1制御プログラムによる第1制御処理において読み出された第2制御プログラムにおいて第2制御処理が行われ、この第2制御処理が完了したことを返答(通知)する(リターン命令を返す)処理が行われる(サブルーチン処理)。
【0162】
このとき、第1制御プログラムによる第1制御処理としては、第2制御プログラムを呼び出すと、第1制御プログラムによる第1制御処理が一時的に停止した応答待ち状態(リターン待ち状態)へと状態変更する。また、第2制御プログラムの実行が完了してリターン命令が応答されると、第1制御処理としては、「応答待ち状態」を解除して「実行可能状態」へと変更する。
【0163】
これによって、第1制御処理では、第2制御処理を呼び出した、呼び出し直前の処理(ステップ)に戻る(リターンする)こととなり、以降の処理を再開することができるようになる。
【0164】
なお、この第1制御プログラムから呼び出される第2制御プログラムは、予め指定されたプログラム(静的プログラム)としている。このように静的プログラムとすることによって、明示されたプログラムが確実に実行されることが判断できる。
【0165】
そして、第1RWM領域(上記では「第1ワーク領域2160」とも称している)は、第1制御領域2110で記憶している第1制御プログラムによる第1制御処理において、リード(読み取り、参照)のほか、ライト(上書き、更新)することが可能であるデータを記憶している記憶領域である。この第1RWM領域に記憶しているデータは、参照、更新の各処理が可能であることから「可変データ」であると言える。しかしながら、この第1RWM領域に設けられた「可変データ」はあくまで、第1制御領域2110で記憶している第1制御プログラムによる第1制御処理において可変可能なデータであって、第2制御領域2210で記憶している第2制御プログラムによる第2制御処理においては参照のみされるデータ(更新されないデータ)である。
【0166】
このことから、この第1RWM領域は、第1使用領域が具備する領域であって、第1制御領域2110で記憶する第1制御プログラムによる第1制御処理において更新および参照を行い、第2制御領域2210で記憶する第2制御プログラムによる第2制御処理において更新されない可変データを記憶する第1RWM領域であると表現できる。
【0167】
次に、第2RWM領域(上記では「第2ワーク領域2260」とも称している)は、第2制御領域2210で記憶している第2制御プログラムによる第2制御処理において、リード(読み取り、参照)のほか、ライト(上書き、更新)することが可能であるデータを記憶している記憶領域である。この第2RWM領域に記憶しているデータは、参照、更新の各処理が可能であることから「可変データ」であると言える。しかしながら、この第2RWM領域に設けられた「可変データ」はあくまで、第2制御領域2210で記憶している第2制御プログラムによる第2制御処理において可変可能なデータであって、第1制御領域2110で記憶している第1制御プログラムによる第1制御処理においては参照のみがされるデータ(更新されないデータ)である。
【0168】
このことから、この第2RWM領域は、第2使用領域が具備する領域であって、第1RWM領域とは異なり、第2制御領域2210で記憶する第2制御プログラムによる第2制御処理において更新および参照を行い、第1制御領域2110で記憶する第1制御プログラムによる第1制御処理においては更新されない可変データを記憶する第2RWM領域であると表現できる。
【0169】
図34乃至
図41には、上記に示す各領域を配置したメモリ空間を示しており、低位アドレスから高位アドレスに向かって昇順に、第1制御領域2110(「制御領域(1)」と図示)、第1データ領域2120(「データ領域(1)」と図示)、第2制御領域2210(「制御領域(2)」と図示)、第2データ領域2220(「データ領域(2)」と図示)、第1RWM領域(「RWM領域(1)」と図示)、第2RWM領域(「RWM領域(2)」と図示)が配置されている(実装されている)。
【0170】
以下では、
図34(a)について説明する。
【0171】
そのうち、
図34(a)には、第1制御領域2110が実装されたアドレス情報に続くアドレス情報に第1データ領域2120を実装したものであって、すなわち、第1制御領域2110と第1データ領域2120とが連続して配置された状態を示している。このことから、第1制御領域2110とその第1制御領域2110に対する(対応する)第1データ領域2120とが一体となって配置されているとも言える。
【0172】
また、この
図34(a)には、第1データ領域2120を示すアドレス情報よりも高位アドレスのアドレス情報に第2制御領域2210を実装しており、第1データ領域2120を示すアドレス情報と、第2制御領域2210を示すアドレス情報とが連続したものでも、連続しないものでもよい。すなわち、第1データ領域2120と第2制御領域2210とが連続しているか否かは問わない。第1データ領域2120と第2制御領域2210とが連続していない場合には、任意のデータを記憶することができる領域(任意領域)が配置(実装)された状態であることによって連続していない状態としている。この任意領域は、どのようなデータ(任意データ)を記憶しても良いことを示している。もちろん、予め指定された初期データを記憶しておき、他の領域に関係するデータを記憶せず、結果として、いずれの領域としても使用しない「未使用領域」としてもよい。
【0173】
このときの任意領域は、その全ての領域または一部の領域を、任意領域と隣接する他の領域として利用することができる領域を示しており、すなわち、利用する他の領域におけるプログラムやデータ等を任意領域に記憶できることを示している。
【0174】
また、「未使用領域」とは、予め指定されたデータ(データ処理最小単位である(2進数)ビットの「0」または「1」のいずれかのデータ)を初期値(初期データ)として指定しておき、メモリマップ上の他の記憶領域がどのような使用条件に基づいて使用されたとしてもその初期値が変化しない領域である。このほか、未使用領域は、所定のデータの更新(書き込み)を禁止設定された記憶領域とも称することもできる。
【0175】
この任意領域(未使用領域を含む)の詳細については後述する。
【0176】
また、第2制御領域2210が実装されたメモリ空間上のアドレス情報と、この第2制御領域2210に対応する第2データ領域2220が実装されたメモリ空間上のアドレス情報とは連続するものではなく、すなわち、第2制御領域2210と第2データ領域2220とが連続せずに配置された状態を示している。
【0177】
次に、第1RWM領域が実装されたアドレス情報と第2RWM領域が実装されたアドレス情報とが連続しており、すなわち、第1RWM領域と第2RWM領域とが連続して配置されている状態にある。
【0178】
上記に示すような内容から、2つの領域が実装されたアドレス情報同士が連続したものであることによって、各領域が連続したものであると言える。
【0179】
また、各領域が実装されたアドレス情報同士が連続するとは、ある領域(領域A)を示すアドレス情報の次のアドレスが、他の領域(領域B)を示すアドレス情報であって、他の領域(領域B)を示すアドレス情報の前のアドレスが、ある領域(領域A)を示すアドレス情報であることを示している。
【0180】
さらに言えば、ある領域(領域A)、他の領域(領域B)それぞれに領域長がある場合、これらの領域(領域A、領域B)が連続しているとは、一方の領域の最終アドレスと他方の領域の開始アドレスとが連続したものであると言える。これは、一方の領域の開始アドレスから他方の領域の最終アドレスまでの全アドレス情報が連続したものを示している。
【0181】
結果として、アドレス情報同士が連続することと領域同士が連続することとは同義である。
【0182】
よって、以下では、アドレス情報が続いて実装された領域同士を、単に、領域同士が連続していると称して説明する。
【0183】
以下では、
図34(b)について説明する。
【0184】
図34(b)には、第1制御領域2110と第1データ領域2120との間に任意領域を設けることで各領域間を連続せずに配置されており、また、第2制御領域2210と第2データ領域2220とは任意領域を設けることなく連続して配置されている。このとき、第1データ領域2120と、第2制御領域2210との間は、任意領域の有無を問わない。すなわち、第1データ領域2120と第2制御領域2210との間に任意領域を設けずに第1データ領域2120と第2制御領域2210とを連続して配置することとしてもよいし、第1データ領域2120と第2制御領域2210との間に任意領域を設けて第1データ領域2120と第2制御領域2210とを連続せずに配置することとしてもよい。
【0185】
このことから、第2制御領域2210とその第2制御領域2210に対応する第2データ領域2220とが一体となって配置されているとも言える。
【0186】
また、この
図34(b)では、第1RWM領域と第2RWM領域とが連続して配置されている状態にある。
【0187】
以下では、
図34(c)について説明する。
【0188】
図34(c)には、第1制御領域2110と第1データ領域2120との間に任意領域を設けることなく各領域を連続して配置しており、さらに、第2制御領域2210と第2データ領域2220との間に任意領域を設けることなく各領域を連続して配置している。すなわち、第1制御領域2110とその第1制御領域2110に対応する第1データ領域2120との組み合わせと、第2制御領域2210とその第2制御領域2210に対応する第2データ領域2220との組み合わせそれぞれが、一体となって配置されていると言える。
【0189】
このとき、第1データ領域と、第2制御領域2210との間は、任意領域の有無を問わない。すなわち、第1データ領域2120と第2制御領域2210との間に任意領域を設けずに第1データ領域2120と第2制御領域2210とを連続して配置することとしてもよいし、第1データ領域2120と第2制御領域2210との間に任意領域を設けて第1データ領域2120と第2制御領域2210とを連続せずに配置することとしてもよい。さらに言えば、第1制御領域2110とその第1制御領域2110に対応する第1データ領域2120との組み合わせと、第2制御領域2210とその第2制御領域2210に対応する第2データ領域2220との組み合わせとが、連続されて配置されているか否かを問わない(組み合わせ間の連続有無を問わない)。
【0190】
また、この
図34(c)では、第1RWM領域と第2RWM領域とが連続して配置されている状態にある。
【0191】
以上のことから、
図34には、第1制御領域2110および第1データ領域2120と、第2制御領域2210および第2データ領域2220との少なくとも一方の各領域間が、メモリ空間上、連続して配置されていることが示されている。
【0192】
以下では、
図35(a)について説明する。
【0193】
図35(a)には、第1制御領域2110と第1データ領域2120との間に任意領域を設けることで各領域間を連続せずに配置されており、また、第2制御領域2210と第2データ領域2220とは任意領域を設けることなく連続して各領域間が配置されている。このとき、第1データ領域2120と、第2制御領域2210との間は、任意領域の有無を問わない。すなわち、第1データ領域2120と第2制御領域2210との間に任意領域を設けずに第1データ領域2120と第2制御領域2210とを連続して配置することとしてもよいし、第1データ領域2120と第2制御領域2210との間に任意領域を設けて第1データ領域2120と第2制御領域2210とを連続せずに配置することとしてもよい。
【0194】
このことから、この
図35(a)では、第2制御領域2210とその第2制御領域2210に対応する第2データ領域2220とが一体となって配置されているとも言える。
【0195】
また、この
図35(a)では、第1RWM領域と第2RWM領域とが連続して配置されている状態にある。
【0196】
この
図35(a)は、
図34(b)と同一の内容である。
【0197】
以下では、
図35(b)について説明する。
【0198】
図35(b)には、第1制御領域2110と第1データ領域2120との間に任意領域を設けることなく各領域間を連続して配置されており、また、第2制御領域2210と第2データ領域2220とは任意領域を設けることで連続せずに各領域間が配置されている。このとき、第1データ領域2120と、第2制御領域2210との間は、任意領域の有無を問わない。すなわち、第1データ領域2120と第2制御領域2210との間に任意領域を設けずに第1データ領域2120と第2制御領域2210とを連続して配置することとしてもよいし、第1データ領域2120と第2制御領域2210との間に任意領域を設けて第1データ領域2120と第2制御領域2210とを連続せずに配置することとしてもよい。
【0199】
このことから、第1制御領域2110とその第1制御領域2110に対応する第1データ領域2120とが一体となって配置されているとも言える。
【0200】
また、この
図35(b)では、第1RWM領域と第2RWM領域とが連続して配置されている状態にある。
【0201】
この
図35(b)は、
図34(a)と同一の内容である。
【0202】
以下では、
図35(c)について説明する。
【0203】
図35(c)には、第1制御領域2110と第1データ領域2120との間に任意領域を設けて各領域間を連続せずに配置されており、また、第2制御領域2210と第2データ領域2220とは任意領域を設けることで連続せずに各領域間が配置されている。このとき、第1データ領域2120と、第2制御領域2210との間は、任意領域の有無を問わない。すなわち、第1データ領域2120と第2制御領域2210との間に任意領域を設けずに第1データ領域2120と第2制御領域2210とを連続して配置することとしてもよいし、第1データ領域2120と第2制御領域2210との間に任意領域を設けて第1データ領域2120と第2制御領域2210とを連続せずに配置することとしてもよい。
【0204】
後者の場合、第1制御領域2110、第1データ領域2120、第2制御領域2210、第2データ領域2220それぞれが連続されずに配置されていることを示している。
【0205】
以上のことから、
図35には、第1制御領域2110および第1データ領域2120と、第2制御領域2210および第2データ領域2220との少なくとも一方の各領域間が、メモリ空間上、連続せず配置されていることが示されている。
【0207】
図36には、第1制御領域2110と第1データ領域2120との間に任意領域を設けることなく各領域間を連続して配置されており、また、第2制御領域2210と第2データ領域2220とは任意領域を設けることなく各領域間が連続して配置されている。このとき、第1データ領域2120と、第2制御領域2210との間は、任意領域の有無を問わない。すなわち、第1データ領域2120と第2制御領域2210との間に任意領域を設けずに第1データ領域2120と第2制御領域2210とを連続して配置することとしてもよいし、第1データ領域2120と第2制御領域2210との間に任意領域を設けて第1データ領域2120と第2制御領域2210とを連続せずに配置することとしてもよい。
【0208】
このことから、第1制御領域2110とその第1制御領域2110に対応する第1データ領域2120とが一体となって配置され、第2制御領域2210とその第2制御領域2210に対応する第2データ領域2220とが一体となって配置されているとも言える。
【0209】
また、この
図36では、第1RWM領域と第2RWM領域とが連続して配置されている状態にある。
【0210】
以上のことから、
図36には、第1制御領域2110および第1データ領域2120と、第2制御領域2210および第2データ領域2220との各領域間が、メモリ空間上、連続して配置され、また、第1RWM領域と第2RWM領域との両領域がメモリ空間上、連続して配置されていることを示している。
【0212】
図37には、第1制御領域2110と第1データ領域2120との間に任意領域を設けることなく各領域間を連続して配置されており、また、第2制御領域2210と第2データ領域2220とは任意領域を設けることなく各領域間が連続して配置されている。このとき、第1データ領域2120と、第2制御領域2210との間は、任意領域の有無を問わない。すなわち、第1データ領域2120と第2制御領域2210との間に任意領域を設けずに第1データ領域2120と第2制御領域2210とを連続して配置することとしてもよいし、第1データ領域2120と第2制御領域2210との間に任意領域を設けて第1データ領域2120と第2制御領域2210とを連続せずに配置することとしてもよい。
【0213】
このことから、第1制御領域2110とその第1制御領域2110に対応する第1データ領域2120とが一体となって配置され、第2制御領域2210とその第2制御領域2210に対応する第2データ領域2220とが一体となって配置されているとも言える。
【0214】
また、第1RWM領域と第2RWM領域との間に任意領域が設けられており、第1RWM領域と第2RWM領域とが連続せずに配置されている状態にある。
【0215】
以上のことから、
図37には、第1制御領域2110および第1データ領域2120と、第2制御領域2210および第2データ領域2220との各領域間が、メモリ空間上、連続して配置され、また、第1RWM領域と第2RWM領域とが、メモリ空間上、連続せず配置されていることが示されている。
【0216】
以下では、
図38(a)について説明する。
【0217】
図38(a)には、第1制御領域2110と第1データ領域2120との間に任意領域を設けて各領域間が連続せずに配置されており、また、第2制御領域2210と第2データ領域2220とは任意領域を設けて各領域間が連続せずに配置されている。このとき、第1データ領域2120と、第2制御領域2210との間は、任意領域を設けることなく、第1データ領域2120と第2制御領域2210とが連続して配置されている。
【0218】
また、この
図38(a)では、第1RWM領域と第2RWM領域とが連続して配置されている状態にある。
【0219】
以上のことから、
図38(a)には、第1制御領域2110とその第1制御領域2110に対応する第1データ領域2120との組み合わせ、および、第2制御領域2210とその第2制御領域2210に対応する第2データ領域2220との組み合わせそれぞれが、連続しているか否かによらず、一方の組み合わせにおける1つの領域と、他の組み合わせにおける1つの領域とが連続していることを示している。
【0220】
以下では、
図38(b)について説明する。
【0221】
図38(b)には、第1制御領域2110と第1データ領域2120との間に任意領域を設けずに各領域間が連続して配置されており、また、第2制御領域2210と第2データ領域2220とは任意領域を設けずに各領域間が連続して配置されている。このとき、第1データ領域2120と、第2制御領域2210との間は、任意領域を設けることなく、第1データ領域2120と第2制御領域2210とが連続して配置されている。
【0222】
また、この
図38(b)では、第1RWM領域と第2RWM領域とが連続して配置されている状態にある。
【0223】
以上のことから、
図38(b)には、第1制御領域2110、第1データ領域2120、第2制御領域2210、第2データ領域2220が連続して配置されていることを示している(4つの領域が連続している)。言い換えれば、
図38(b)には、第1制御領域2110とその第1制御領域2110に対応する第1データ領域2120との組み合わせと、第2制御領域2210とその第2制御領域2210に対応する第2データ領域2220との組み合わせとが、連続していることを示している。
【0224】
以下では、
図39(a)について説明する。
【0225】
図39(a)には、第1制御領域2110と第1データ領域2120との間に任意領域を設けず各領域間が連続して配置されており、また、第2制御領域2210と第2データ領域2220とは任意領域を設けず各領域間が連続して配置されている。このとき、第1データ領域2120と、第2制御領域2210との間は、任意領域を設けて第1データ領域2120と第2制御領域2210とが連続せずに配置されている。
【0226】
また、この
図39(a)では、第1RWM領域と第2RWM領域とが連続して配置されている状態にある。
【0227】
以上のことから、
図39(a)には、第1制御領域2110とその第1制御領域2110に対応する第1データ領域2120との組み合わせ、および、第2制御領域2210とその第2制御領域2210に対応する第2データ領域2220との組み合わせが、連続していないことを示している。
【0228】
以下では、
図39(b)について説明する。
【0229】
図39(b)には、第1制御領域2110と第1データ領域2120との間に任意領域を設けて各領域間が連続せずに配置されており、また、第2制御領域2210と第2データ領域2220とは任意領域を設けて各領域間が連続せずに配置されている。さらに、第1データ領域2120と、第2制御領域2210との間に任意領域を設け、第1データ領域2120と第2制御領域2210とが連続せずに配置されている。
【0230】
また、この
図39(b)では、第1RWM領域と第2RWM領域とが連続して配置されている状態にある。
【0231】
以上のことから、
図39(b)には、第1制御領域2110、第1データ領域2120、第2制御領域2210、第2データ領域2220それぞれが連続せずに配置されていることを示している(4つの領域における全ての領域間に任意領域が設けられている)。
【0233】
図40は、
図39(a)に示すメモリ空間と同一の領域配置を示しており、第1データ領域2120と第2制御領域2210との間に設けられた任意領域(以下、「特定任意領域」と称する)の領域長(領域サイズ)を変更した状態を示している。この特定任意領域は、予め指定した任意領域である。
【0235】
図40(a−1)は、
図40(a)に示す特定任意領域の領域サイズを縮小するとともに、縮小した領域サイズ分を第2制御領域2210として用いた(拡大した)例を示したものである。このことから、第2制御領域2210の先頭アドレスが
図40(a)に示す記憶領域に比べて低位アドレスに変更されて第2制御領域2210が拡大しているものの、第2制御領域2210の最終アドレスについては
図40(a)に示す第2制御領域2210の最終アドレスと同一である。
【0236】
図40(a−2)は、
図40(a)に示す特定任意領域の領域サイズを縮小するとともに、縮小した領域サイズ分を第1データ領域2120として用いた例を示したものである。このことから、第1データ領域2120の最終アドレスが
図40(a)に示す記憶領域に比べて高位アドレスに変更されて第2制御領域2210が拡大しているものの、第1データ領域2120の先頭アドレスについては
図40(a)に示す第1データ領域2120の先頭アドレスと同一である。
【0237】
よって、
図40(a−1)および
図40(a−2)に示すように、特定任意領域は、その特定任意領域に隣接する他の記憶領域(第1データ領域2120、第2制御領域2210)として用いることができる。
【0238】
図40(a−3)は、
図40(a)に示す特定任意領域の領域サイズを縮小するとともに、縮小した領域サイズ分を第1制御領域2110および第1データ領域2120として用いた例を示したものである。
【0239】
この
図40(a−3)では、第1制御領域2110の終了アドレスが
図40(a)に示す記憶領域に比べて高位アドレスに変更されるとともに、第1データ領域2120の先頭アドレスおよび最終アドレスが
図40(a)に示す記憶領域に比べてそれぞれ高位アドレスに変更された状態を示しており、第1制御領域2110および第1データ領域2120それぞれが、
図40(a)に示す各領域の領域サイズよりも拡大している。
【0240】
よって、特定任意領域は、その特定任意領域に隣接する他の記憶領域として用いるだけではなく、間接的に、隣接しない他の記憶領域としても用いることができる。
【0241】
なお、この
図40に示す任意領域の領域サイズを変更する処理は、遊技機を開発している段階(仕様設計に基づく実装段階)においてその任意領域を一時的に、所定の領域として用いることが可能であることを示している。よって、プログラムやデータサイズが増加して記憶領域の領域サイズを変更する必要が生じたとしても(その任意領域の領域サイズを上限に)、他の記憶領域を変更することなく、任意領域でその変更を吸収することができる。
【0242】
図41には、第1制御領域2110と第1データ領域2120との間に任意領域を設けずに各領域間が連続して配置されており、第2制御領域2210と第2データ領域2220とは任意領域を設けずに各領域間が連続して配置されている。また、第1データ領域と第2制御領域2210との間も任意領域を設けることなく、第1データ領域2120と第2制御領域2210とが連続して配置されている。さらに、第1RWM領域と第2RWM領域とが連続して配置されており、第2制御データと第1RWM領域とが連続して配置されている。
【0243】
このことから、第1制御領域2110、第1データ領域2120、第2制御領域2210、第2データ領域2220、第1RWM領域、第2RWM領域それぞれが連続していることを示している。このほか、
図41では、低位アドレス側に寄せて(集約して)連続した状態を示している。
【0244】
以上に示すような
図34乃至
図40における任意領域は、予め指定した領域サイズ(領域長)とすることが可能である。このときの予め指定した領域サイズとして、記憶領域内に記憶したプログラムやデータ等のバイナリデータの内容を出力(ダンプ)したときに、1レコードとして表示されるデータサイズ以上とすることが可能である。
【0245】
プログラムやデータ等のバイナリデータの出力形態として、メモリ出力(メモリダンプ)やファイル出力(ファイルダンプ)があり、これらのダンプによってダンプリスト(メモリ内容一覧)が生成される。いずれの出力形態で出力されたダンプリストにおいても、1レコードあたり所定のデータサイズ(所定データサイズ)のバイナリデータが出力され、この一例として、「16バイト(128ビット)」の所定データサイズでバイナリデータが出力される。
【0246】
また、任意領域が設けられた直後の記憶領域(その任意領域に隣接する記憶領域であってその任意領域のアドレスよりも高位アドレスを先頭アドレスとする記憶領域)に実装されるプログラムやデータは「16」の倍数となるアドレス(16を基数とする進数法で最下位が「0」となるアドレス)を先頭アドレスとする。
【0247】
すなわち、1レコードあたり「16バイト(128ビット)」がダンプされるような場合において、「16バイト(128ビット)」以上の任意領域を設け、任意領域が設けられた直後の記憶領域に実装されるプログラムやデータを「16」の倍数となるアドレスを先頭アドレスとしておけば、メモリマップ上の各記憶領域のダンプリストを作成したとき、そのダンプリストの単位レコード全てが任意領域として出力されることとなる。
【0248】
特に、この任意領域を上記に示すように「未使用領域」とすれば、初期値(バイナリデータの「0」)が連続してダンプされることとなる。すなわち、ダンプリストを参照したときに、初期値(バイナリデータの「0」)がダンプされたレコードが未使用領域であると容易に識別することができる。
【0249】
上記に示す例では、メモリマップ上の任意領域(未使用領域含む)全てを1レコードとして表示されるデータサイズ以上とする場合について記述しているが、これに限定されることなく、第1制御領域2110および第1データ領域2120の組み合わせと、第2制御領域および第2データ領域2220の組み合わせとの間に設けられた任意領域が少なくとも、1レコードとして表示されるデータサイズ以上であればよい。
【0250】
これは、第1制御領域2110とその第1制御領域2110に対応する第1データ領域2120との組み合わせと、第2制御領域2210とその第2制御領域2210に対応する第2データ領域2220との組み合わせとが、それぞれ異なる機能を提供するプログラムやデータを記憶したものであるから、これらを分離するための領域である任意領域を少なくとも1レコードとして表示されるデータサイズ以上とすれば良いことを示している。
【0251】
そして、上記のような任意領域(未使用領域)を設けて記憶領域同士を連続せずに配置した場合には、その任意領域をプログラムやデータを記憶している他の記憶領域(プログラム領域、データ領域)として用いることができる。
【0252】
このように各記憶領域をメモリマップ上に配置することによって、このメモリマップの構成からなる記憶媒体(メインROM、メインRAM)を流用して他の機種の遊技機におけるメモリマップを構成する際にも、そのメモリマップを有効活用することが可能になる。
【0253】
これに対して、任意領域(未使用領域)を設けず記憶領域同士を連続させて配置した場合には、各記憶領域同士が一体としてなっていることから連続する記憶領域全体の領域サイズを容易に計算することができるようになる。
【0254】
(配列データテーブル)
次に、
図4に基づいて、配列データテーブルの説明を行う。
【0255】
配列データテーブルは、メインROM302に設けられており、左リールセンサ154s、中リールセンサ155s、右リールセンサ156sがリールインデックスを検出したときに、表示窓23の中段に表示されている図柄の図柄位置を「00」と規定している。また、図柄位置「00」を基準として、図柄位置「00」〜「20」が規定されている。
【0256】
(図柄組み合わせテーブル)
次に、
図5に基づいて、図柄組み合わせテーブルについて説明を行う。
【0257】
図柄組み合わせテーブルは、メインROM302に記憶されており、図柄の組み合わせ名称と、対応する図柄ビット名称と、図柄の組み合わせと、遊技者に対して払い出すメダルの払出枚数を規定している。
【0258】
ここで、有効ライン上に沿って表示される図柄の組み合わせが、図柄組み合わせテーブルに規定されている図柄の組み合わせと一致する場合に、メダルの払出、再遊技の作動、ボーナスの作動、遊技状態の移行といった特典を付与する制御が行われる。なお、有効ラインに沿って表示された図柄の組み合わせが図柄組み合わせテーブルに規定されている図柄の組み合わせと一致しない場合は、「ハズレ」となる。
【0259】
また、図柄組み合わせテーブルの図柄ビット名称「BNS01」には、「赤セブンBB」が規定されており、図柄ビット名称「BNS02」には、「黒セブンBB」が規定されており、図柄ビット名称「BNS03」には、「RB」が規定されており、図柄ビット名称「REP01」には、「リプレイ」が規定されている。
【0260】
また、図柄組み合わせテーブルの図柄ビット名称「NML01」には、「スイカ」が規定されており、図柄ビット名称「NML02」には、「ベル」が規定されており、図柄ビット名称「NML03」には、「チェリー」が規定されており、図柄ビット名称「NML04」には、「チャンス目」が規定されている。
【0261】
また、本実施形態においては、「赤セブンBBに係る図柄の組み合わせ」、または「黒セブンBBに係る図柄の組み合わせ」が有効ライン上に表示された場合に、BB(第1種特別役物に係る役物連続作動装置)の作動が行われる。また、本実施形態においては、「RBに係る図柄の組み合わせ」が有効ライン上に表示された場合に、RB(第1種特別役物)の作動が行われる。そして、BBの作動や、RBの作動が行われると、BBの作動や、RBの作動が行われる前と比較して、遊技者にとって有利となる。
【0262】
なお、本実施形態において、「赤セブンBBに係る図柄の組み合わせ」と、「黒セブンBBに係る図柄の組み合わせ」を総称して、「BBに係る図柄の組み合わせ」という。また、「BBに係る図柄の組み合わせ」と、「RBに係る図柄の組み合わせ」を総称して、「ボーナスに係る図柄の組み合わせ」という。
【0263】
また、本実施形態においては、「リプレイに係る図柄の組み合わせ」が有効ライン上に表示された場合に、再遊技の作動が行われる。そして、再遊技の作動が行われると、メダルを投入することなく、遊技を行うことができる。
【0264】
また、本実施形態においては、「スイカに係る図柄の組み合わせ」、「ベルに係る図柄の組み合わせ」、「チェリーに係る図柄の組み合わせ」、または「チャンス目に係る図柄の組み合わせ」が有効ライン上に表示された場合に、メダルの払出が行われる。
【0265】
また、本実施形態において、「スイカに係る図柄の組み合わせ」と、「ベルに係る図柄の組み合わせ」と、「チェリーに係る図柄の組み合わせ」と、「チャンス目に係る図柄の組み合わせ」を総称して、「入賞に係る図柄の組み合わせ」という。
【0266】
(通常遊技状態用当選役決定テーブル)
次に、
図6に基づいて、通常遊技状態用当選役決定テーブルについて説明を行う。
【0267】
通常遊技状態用当選役決定テーブルは、メインROM302に記憶されており、後述の通常遊技状態における後述の内部抽選処理により、当選役を決定する際に用いられる。また、通常遊技状態用当選役決定テーブルは、当選番号と、当選番号の内容と、設定値毎の抽選値が規定されている。ここで、本実施形態において、通常遊技状態用当選役決定テーブルは、設定値が「1」の場合の抽選値と、設定値が「6」の場合の抽選値を例示しており、設定値が「2」の場合の抽選値、設定値が「3」の場合の抽選値、設定値が「4」の場合の抽選値、及び設定値が「5」の場合の抽選値の図示を省略している。
【0268】
また、通常遊技状態用当選役決定テーブルは、当選番号「01」の「リプレイ」と、当選番号「02」の「ベル」と、当選番号「03」の「スイカ」と、当選番号「04」の「チェリー」と、当選番号「05」の「チャンス役」と、当選番号「06」の「赤BB」と、当選番号「07」の「黒BB」と、当選番号「08」の「RB」と、当選番号「09」の「スイカ+赤BB」と、当選番号「10」の「スイカ+黒BB」と、当選番号「11」の「スイカ+RB」と、当選番号「12」の「チェリー+赤BB」と、当選番号「13」の「チェリー+黒BB」と、当選番号「14」の「チェリー+RB」と、当選番号「15」の「チャンス役+赤BB」と、当選番号「16」の「チャンス役+黒BB」と、当選番号「17」の「チャンス役+RB」に抽選値が規定されている。
【0269】
(RT遊技状態用当選役決定テーブル)
次に、
図7に基づいて、RT遊技状態用当選役決定テーブルについて説明を行う。
【0270】
RT遊技状態用当選役決定テーブルは、メインROM302に記憶されており、後述のRT遊技状態における後述の内部抽選処理により、当選役を決定する際に用いられる。また、RT遊技状態用当選役決定テーブルは、当選番号と、当選番号の内容と、設定値毎の抽選値が規定されている。ここで、本実施形態において、RT遊技状態用当選役決定テーブルは、設定値が「1」の場合の抽選値と、設定値が「6」の場合の抽選値を例示しており、設定値が「2」の場合の抽選値、設定値が「3」の場合の抽選値、設定値が「4」の場合の抽選値、及び設定値が「5」の場合の抽選値の図示を省略している。
【0271】
また、RT遊技状態用当選役決定テーブルは、当選番号「01」の「リプレイ」と、当選番号「02」の「ベル」と、当選番号「03」の「スイカ」と、当選番号「04」の「チェリー」と、当選番号「05」の「チャンス役」に抽選値が規定されている。
【0272】
即ち、これら以外の抽選値は「0」であり、RT遊技状態用当選役決定テーブルを用いて抽選を行う場合においては、当選番号「06」の「赤BB」と、当選番号「07」の「黒BB」と、当選番号「08」の「RB」と、当選番号「09」の「スイカ+赤BB」と、当選番号「10」の「スイカ+黒BB」と、当選番号「11」の「スイカ+RB」と、当選番号「12」の「チェリー+赤BB」と、当選番号「13」の「チェリー+黒BB」と、当選番号「14」の「チェリー+RB」と、当選番号「15」の「チャンス役+赤BB」と、当選番号「16」の「チャンス役+黒BB」と、当選番号「17」の「チャンス役+RB」が当選役として決定されることはない。
【0273】
(RB遊技状態用当選役決定テーブル)
次に、
図8に基づいて、RB遊技状態用当選役決定テーブルについて説明を行う。
【0274】
RB遊技状態用当選役決定テーブルは、メインROM302に記憶されており、後述のRB遊技状態における後述の内部抽選処理により、当選役を決定する際に用いられる。また、RB遊技状態用当選役決定テーブルは、当選番号と、当選番号の内容と、設定値毎の抽選値が規定されている。ここで、本実施形態において、RB遊技状態用当選役決定テーブルは、設定値が「1」の場合の抽選値と、設定値が「6」の場合の抽選値を例示しており、設定値が「2」の場合の抽選値、設定値が「3」の場合の抽選値、設定値が「4」の場合の抽選値、及び設定値が「5」の場合の抽選値の図示を省略している。
【0275】
また、RB遊技状態用当選役決定テーブルは、当選番号「02」の「ベル」に抽選値が規定されている。
【0276】
即ち、これら以外の抽選値は「0」であり、RB遊技状態用当選役決定テーブルを用いて抽選を行う場合においては、当選番号「01」の「リプレイ」と、当選番号「03」の「スイカ」と、当選番号「04」の「チェリー」と、当選番号「05」の「チャンス役」と、当選番号「06」の「赤BB」と、当選番号「07」の「黒BB」と、当選番号「08」の「RB」と、当選番号「09」の「スイカ+赤BB」と、当選番号「10」の「スイカ+黒BB」と、当選番号「11」の「スイカ+RB」と、当選番号「12」の「チェリー+赤BB」と、当選番号「13」の「チェリー+黒BB」と、当選番号「14」の「チェリー+RB」と、当選番号「15」の「チャンス役+赤BB」と、当選番号「16」の「チャンス役+黒BB」と、当選番号「17」の「チャンス役+RB」が当選役として決定されることはない。
【0277】
なお、本実施形態において、「赤BB」と、「黒BB」を総称して「BB」といい、「BB」と「RB」を総称して「ボーナス」という。
【0278】
なお、通常遊技状態用当選役決定テーブルと、RT遊技状態用当選役決定テーブルと、RB遊技状態用当選役決定テーブルを総称して「当選役決定テーブル」という。
【0279】
(遊技状態移行図)
次に、
図9に基づいて、遊技状態移行図について説明を行う。
【0280】
遊技状態移行図は、現在の遊技状態と、遊技状態を移行する条件となる移行条件と、移行先の遊技状態を規定している。
【0281】
ここで、現在の遊技状態が通常遊技状態である場合において、後述の内部抽選処理により「ボーナス」に当選した場合に、通常遊技状態からRT遊技状態に移行される。
【0282】
一方、現在の遊技状態がRT遊技状態である場合において、「ボーナスに係る図柄の組み合わせ」が有効ライン上に表示された場合に、RT遊技状態からRB遊技状態に移行される。
【0283】
一方、現在の遊技状態がRB遊技状態である場合において、ボーナスが終了した場合に、RB遊技状態から通常遊技状態に移行される。
【0284】
(演出決定テーブル)
次に、
図10に基づいて、演出決定テーブルについて説明を行う。
【0285】
演出決定テーブルは、サブROM402に設けられており、メイン制御基板300により管理される各状態において行われる演出を決定するために設けられている。具体的には、「演出No.」と、「演出No.」に対応する演出内容が規定されている。また、演出決定テーブルは、メイン制御基板300により管理される状態等の演出を実行するための条件が規定されている。ここで、本実施形態において、演出決定テーブルは、メイン制御基板300により管理される状態が通常遊技状態の場合に用いられる通常遊技状態用演出決定テーブル(
図10(A)参照)と、メイン制御基板300により管理される状態がRT遊技状態の場合に用いられるRT遊技状態用演出決定テーブル(
図10(B)参照)と、メイン制御基板300により管理される状態がRB遊技状態の場合に用いられるRB遊技状態用演出決定テーブル(
図10(C)参照)により構成されている。
【0286】
(メイン制御基板300によるプログラム開始処理)
次に、
図11に基づいて、メイン制御基板300により行われるプログラム開始処理についての説明を行う。なお、プログラム開始処理は、電源スイッチ201swがONとなったことに基づいて行われる処理である。
【0287】
(ステップS1)
ステップS1において、メインCPU301は、電断中であるか否かを判定する処理を行う。具体的には、メインCPU301は、遊技機1に電力が供給されている場合には、遊技機1が電断中であるか否かを判定し、遊技機1に電力が供給されていない場合には、バックアップ電源により遊技機1が電断中であるか否かを判定する処理を行う。そして、電断中であると判定された場合には(ステップS1=Yes)、ステップS1の処理を繰り返し実行する。一方、電断中ではないと判定された場合には(ステップS1=No)、ステップS2に処理を移行する。
【0288】
(ステップS2)
ステップS2において、メインCPU301は、初期設定処理を行う。具体的には、メインCPU301は、遊技機1の内部レジスタを設定するためのテーブルの番地を設定し、当該テーブルに基づいて、レジスタの番地をセットする処理等を行う。そして、ステップS2の処理が終了すると、ステップS3に処理を移行する。
【0289】
(ステップS3)
ステップS3において、メインCPU301は、設定変更キースイッチがONであるか否かを判定する処理を行う。具体的には、メインCPU301は、設定変更キー(図示せず)が設定変更用の鍵穴に挿入された状態で、時計回り方向に所定角度回動されているか否かを判定する処理を行う。そして、設定変更キースイッチがONであると判定された場合には(ステップS3=Yes)、ステップS4に処理を移行し、設定変更キースイッチがONではないと判定された場合には(ステップS3=No)、電断前に退避されたレジスタの値や、保存されたスタックポインタの値を復帰させる電断復帰処理に処理を移行する。なお、電断復帰処理が終了すると、遊技機1の電源がOFFとなったときの状態に復帰することとなる。
【0290】
(ステップS4)
ステップS4において、メインCPU301は、設定値変更処理を行う。具体的には、メインCPU301は、まず、メインRAM303に設けられている設定値格納領域に格納されている値に基づいて、現在の設定値を取得し、設定値の範囲が正常であるか否かを判定する処理を行い、判定の結果が正常である場合には、図示しない設定表示部に現在の設定値を表示する処理を行う。一方、上述の判定結果が正常ではない場合には、設定値の初期値をメインRAM303に設けられている設定値格納領域にセットする処理を行う。そして、メインCPU301は、設定変更スイッチ(図示せず)により設定変更ボタン(図示せず)の操作が検出されたことに基づいて、設定値を切り替える処理を行うとともに、スタートスイッチ10swによりスタートレバー10の操作が検出されたことに基づいて、設定値を確定する処理を行う。そして、設定変更キー(図示せず)が設定変更用の鍵穴に挿入された状態で、時計回り方向に所定角度回動されている状態から、反時計回り方向に所定角度回動されたことが検出された場合に、メインRAM303に設けられている設定値格納領域に設定値を格納する処理を行う。そして、ステップS4の処理が終了すると、メインループ処理(
図12参照)に処理を移行する。
【0291】
(メイン制御基板300によるメインループ処理)
次に、
図12に基づいて、メイン制御基板300により行われるメインループ処理についての説明を行う。
【0292】
(ステップS101)
ステップS101において、メインCPU301は、初期化処理を行う。具体的には、メインCPU301は、スタックポインタをセットする処理や、メインRAM303の初期化開始番地と、初期化終了番地をセットしてから、メインRAM303の初期化開始番地から初期化終了番地領域までの領域を初期化する処理等を行う。また、メインCPU301は、メインRAM303に設けられている投入枚数カウンタの値や、メインRAM303に設けられている停止制御番号格納領域の値等をクリアする処理を行う。そして、ステップS101の処理が終了すると、ステップS102に処理を移行する。
【0293】
(ステップS102)
ステップS102において、メインCPU301は、メダル受付開始処理を行う。具体的には、メインCPU301は、後述の再遊技作動中フラグがONの場合に、メダルを自動投入する処理や、メインRAM303に設けられている投入枚数カウンタの値に「3」をセットする処理等を行う。そして、ステップS102の処理が終了すると、ステップS103に処理を移行する。
【0294】
(ステップS103)
ステップS103において、メインCPU301は、後で
図13を用いて詳述するメダル管理処理を行う。当該処理において、メインCPU301は、後述の再遊技作動中フラグがONではない場合に、メダル投入口6にメダルが投入されたか否かを判定し、メダル投入口6にメダルが投入された場合に、メインRAM303に設けられている投入枚数カウンタの値を加算する処理や、BETボタン7や、MAXBETボタン8の操作が検出されたか否かを判定し、BETボタン7や、MAXBETボタン8の操作が検出された場合に、メインRAM303に設けられている投入枚数カウンタの値を加算する処理を行う。また、精算ボタン9の操作が検出されたか否かを判定し、精算ボタン9の操作が検出された場合に、貯留されているメダルを遊技者に返却する処理等を行う。そして、ステップS103の処理が終了すると、ステップS104に処理を移行する。
【0295】
(ステップS104)
ステップS104において、メインCPU301は、投入枚数カウンタの値が「3」であるか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS102のメダル受付開始処理や、ステップS103のメダル管理処理により、メインRAM303に設けられている投入枚数カウンタの値が「3」となったか否かを判定する処理を行う。そして、投入枚数カウンタの値が「3」であると判定された場合には(ステップS104=Yes)、ステップS105に処理を移行し、投入枚数カウンタの値が「3」ではないと判定された場合には(ステップS104=No)、ステップS103に処理を移行する。
【0296】
(ステップS105)
ステップS105において、メインCPU301は、スタートレバーチェック処理を行う。具体的には、メインCPU301は、スタートスイッチ10swによりスタートレバーの操作が検出されたか否かを判定し、スタートスイッチ10swによりスタートレバー10の操作が検出された場合に、メインRAM303に設けられている再遊技作動中フラグ格納領域の再遊技作動中フラグをOFFにする処理を行う。一方、スタートスイッチ10swによりスタートレバー10の操作が検出されなかった場合には、スタートレバーチェック処理を終了する。そして、ステップS105の処理が終了すると、ステップS106に処理を移行する。
【0297】
(ステップS106)
ステップS106において、メインCPU301は、スタートスイッチがONであるか否かを判定する処理を行う。具体的には、メインCPU301は、スタートスイッチ10swがONであるか否かを判定する処理を行う。そして、スタートスイッチがONであると判定された場合には(ステップS106=Yes)、ステップS107に処理を移行し、スタートスイッチがONではないと判定された場合には(ステップS106=No)、ステップS103に処理を移行する。
【0298】
(ステップS107)
ステップS107において、メインCPU301は、後で
図17を用いて詳述する内部抽選処理を行う。当該処理において、メインCPU301は、抽選により当選役を決定する処理等を行う。そして、ステップS107の処理が終了すると、ステップS108に処理を移行する。
【0299】
(ステップS108)
ステップS108において、メインCPU301は、ボーナス情報更新処理を行う。具体的には、メインCPU301は、ステップS107の内部抽選処理により、ボーナスに当選した場合には、メイン制御基板300により管理される状態をRT遊技状態に移行する処理や、メインRAM303に設けられているキャリーフラグ格納領域を更新する処理等を行う。一方、ステップS107の内部抽選処理により、ボーナスに当選しなかった場合には、メインRAM303に設けられているキャリーフラグ格納領域に格納されている値と、メインRAM303に設けられている当選役格納領域の値の排他的論理和演算を行うとともに、当該演算の結果をメインRAM303に設けられている当選役格納領域に格納する処理を行う。そして、ステップS108の処理が終了すると、ステップS109に処理を移行する。
【0300】
(ステップS109)
ステップS109において、メインCPU301は、情報設定処理を行う。具体的には、メインCPU301は、左リール18、中リール19、右リール20を用いて行われる回胴演出を実行するか否かを抽選する処理を行い、当該抽選に当選した場合には、当選した回胴演出に係る情報をメインRAM303に設けられている回胴演出情報格納領域に格納する処理を行う。また、メインCPU301は、スタートレバー10の操作が受け付けられた旨の情報等を有するリール回転開始受付コマンドをサブ制御基板400に対して送信するために、当該リール回転開始受付コマンドを、メインRAM303に設けられている演出用伝送データ格納領域にセットする処理や、当選役に係る情報や、実行することとなる回胴演出に係る情報等を有する条件装置コマンドをサブ制御基板400に対して送信するために、当該条件装置コマンドを、メインRAM303に設けられている演出用伝送データ格納領域にセットする処理を行う。そして、ステップS109の処理が終了すると、ステップS110に処理を移行する。
【0301】
(ステップS110)
ステップS110において、メインCPU301は、リール回転開始準備処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている回胴演出情報格納領域に格納されている情報に基づいて、回胴演出を実行する処理を行う。また、メインCPU301は、最小遊技時間が経過したか否かを判定する処理を行い、当該判定の結果、最小遊技時間が経過したと判定された場合には、次の遊技において最小遊技時間が経過したか否かを判定するために、メインRAM303に設けられているタイマカウンタの値をセットする処理を行う。一方、メインCPU301は、最小遊技時間が経過していないと判定された場合には、最小遊技時間が経過するまで待機する処理を行う。また、メインCPU301は、左リール18、中リール19、右リール20の回転が開始される旨の情報を有するリール回転開始コマンドをサブ制御基板400に対して送信するために、当該リール回転開始コマンドをメインRAM303の演出用伝送データ格納領域にセットする処理を行う。そして、ステップS110の処理が終了すると、ステップS111に処理を移行する。
【0302】
(ステップS111)
ステップS111において、メインCPU301は、リール回転開始処理を行う。具体的には、メインCPU301は、リール制御基板150を介して、左ステッピングモータ151、中ステッピングモータ152、右ステッピングモータ153を駆動することにより、左リール18、中リール19、右リール20を定速回転させるための処理を行う。そして、ステップS111の処理が終了すると、ステップS112に処理を移行する。
【0303】
(ステップS112)
ステップS112において、メインCPU301は、リール回転中処理を行う。具体的には、メインCPU301は、左停止ボタン11、中停止ボタン12、右停止ボタン13の押圧時であるか否かを判定し、左停止ボタン11、中停止ボタン12、右停止ボタン13の押圧時である場合には、左停止ボタン11、中停止ボタン12、右停止ボタン13のうち、操作された停止ボタンに対応する左リール18、中リール19、右リール20と、左ステッピングモータ151、中ステッピングモータ152、右ステッピングモータ153に供給しているパルスカウンタの値に基づいて、押圧基準位置を取得し、メインRAM303に設けられている押圧基準位置格納領域に格納する処理を行う。次に、メインCPU301は、メインROM302に設けられている停止テーブル(図示せず)と、メインRAM303に設けられている当選役格納領域の値と、左停止ボタン11、中停止ボタン12、右停止ボタン13の操作順序等に基づいて、「0」コマから「4」コマの範囲内で滑りコマ数を決定する処理を行い、当該決定された滑りコマ数をメインRAM303に設けられている滑りコマ数格納領域に格納する処理を行う。そして、メインCPU301は、メインRAM303に設けられている押圧基準位置格納領域に格納されている値と、メインRAM303に設けられている滑りコマ数格納領域に格納されている値とに基づいて、回転中の左リール18、中リール19、右リール20を停止する処理を行う。そして、ステップS112の処理が終了すると、ステップS113に処理を移行する。
【0304】
(ステップS113)
ステップS113において、メインCPU301は、全リールが停止したか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS112のリール回転中処理により、左リール18、中リール19、右リール20が全て停止したか否かを判定する処理を行う。そして、全リールが停止したと判定された場合には(ステップS113=Yes)、ステップS114に処理を移行し、全リールが停止していないと判定された場合には(ステップS113=No)、ステップS112に処理を移行し、全リールが停止するまで、同様の処理を繰り返し実行する。
【0305】
(ステップS114)
ステップS114において、メインCPU301は、表示判定処理を行う。具体的には、メインCPU301は、まず、有効ライン上に表示された図柄の組み合わせに関する情報等を有する表示判定コマンドをサブ制御基板400に対して送信するために、当該表示判定コマンドを、メインRAM303に設けられている演出用伝送データ格納領域にセットする処理を行う。次に、メインCPU301は、「入賞に係る図柄の組み合わせ」が有効ライン上に表示されたか否かを判定する処理を行い、「入賞に係る図柄の組み合わせ」が有効ライン上に表示されたと判定された場合には、遊技者に対して払い出すメダルの払出枚数を算定する処理を行う。一方、「入賞に係る図柄の組み合わせ」が有効ライン上に表示されなかったと判定された場合には、「リプレイに係る図柄の組み合わせ」が有効ライン上に表示されたか否かを判定する処理を行い、「リプレイに係る図柄の組み合わせ」が有効ライン上に表示されたと判定された場合には、メインRAM303に設けられている再遊技作動中フラグ格納領域の値をONにする処理を行う。そして、ステップS114の処理が終了すると、ステップS115に処理を移行する。
【0306】
(ステップS115)
ステップS115において、メインCPU301は、後で
図18を用いて詳述する第1メダル払出処理を行う。当該処理において、メインCPU301は、「入賞に係る図柄の組み合わせ」が有効ライン上に表示されたことに基づいて、電源基板200を介してホッパー202を駆動することにより、メダルを払い出す処理等を行う。そして、ステップS115の処理が終了すると、ステップS116に処理を移行する。
【0307】
(ステップS116)
ステップS116において、メインCPU301は、後で
図21を用いて詳述する遊技状態移行処理を行う。当該処理において、メインCPU301は、有効ライン上に表示された図柄の組み合わせに基づいて、遊技状態を移行する処理等を行う。そして、ステップS116の処理が終了すると、ステップS101に処理を移行する。
【0308】
(メダル管理処理)
次に、
図13に基づいて、
図12のステップS103の処理により行われるメダル管理処理についての説明を行う。なお、
図13はメダル管理処理のサブルーチンを示す図である。
【0309】
(ステップS103−1)
ステップS103−1において、メインCPU301は、再遊技作動中フラグがONであるか否かを判定する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている再遊技作動中フラグ格納領域の値がONであるか否かを判定する処理を行う。そして、再遊技作動中フラグがONであると判定された場合には(ステップS103−1=Yes)、メダル管理処理のサブルーチンを終了し、メインループ処理のステップS104に処理を移行する。一方、再遊技作動中フラグがONではないと判定された場合には(ステップS103−1=No)、ステップS103−2に処理を移行する。
【0310】
なお、本実施形態においては、再遊技作動中フラグがONである場合には、メダル管理処理のサブルーチンを終了し、後述のメダルチェック処理(第1メダル投入チェック処理)が行われない。このため、再遊技作動中フラグがONである場合には、メダルの投入を受け付けないこととしているが、再遊技作動中フラグがONである場合であっても、メダルの投入を受け付けることとしてもよい。
【0311】
(ステップS103−2)
ステップS103−2において、メインCPU301は、メダルが投入されたか否かを判定する処理を行う。具体的には、メインCPU301は、セレクターセンサ14sによりメダルの投入が検出されたか否かを判定する処理を行う。そして、メダルが投入されたと判定された場合には(ステップS103−2=Yes)、ステップS103−3に処理を移行し、メダルが投入されていないと判定された場合には(ステップS103−2=No)、ステップS103−4に処理を移行する。
【0312】
(ステップS103−3)
ステップS103−3において、メインCPU301は、後で
図14を用いて詳述する第1メダル投入チェック処理を行う。当該処理において、メインCPU301は、メインRAM303に設けられている投入枚数カウンタの値や、メインRAM303に設けられている貯留枚数カウンタの値に基づいて、メインRAM303に設けられている投入枚数カウンタの値や、メインRAM303に設けられている貯留枚数カウンタの値を加算する処理等を行う。そして、ステップS103−3の処理が終了すると、メダル管理処理のサブルーチンを終了し、メインループ処理のステップS104に処理を移行する。
【0313】
(ステップS103−4)
ステップS103−4において、メインCPU301は、投入要求枚数として「1」をセットする処理を行う。具体的には、メインCPU301は、レジスタに投入要求枚数として「1」をセットする処理を行う。そして、ステップS103−4の処理が終了すると、ステップS103−5に処理を移行する。
【0314】
(ステップS103−5)
ステップS103−5において、メインCPU301は、BETスイッチがONであるか否かを判定する処理を行う。具体的には、メインCPU301は、BETスイッチ7swにより、遊技者によるBETボタン7の操作が検出されたか否かを判定する処理を行う。そして、BETスイッチがONであると判定された場合には(ステップS103−5=Yes)、ステップS103−8に処理を移行し、BETスイッチがONではないと判定された場合には(ステップS103−5=No)、ステップS103−6に処理を移行する。
【0315】
(ステップS103−6)
ステップS103−6において、メインCPU301は、投入要求枚数として「3」をセットする処理を行う。具体的には、メインCPU301は、レジスタにセットされている投入要求枚数「1」を「3」に更新する処理を行う。そして、ステップS103−6の処理が終了すると、ステップS103−7に処理を移行する。
【0316】
(ステップS103−7)
ステップS103−7において、メインCPU301は、MAXBETスイッチがONであるか否かを判定する処理を行う。具体的には、メインCPU301は、MAXBETスイッチ8swにより、遊技者によるMAXBETボタン8の操作が検出されたか否かを判定する処理を行う。そして、MAXBETスイッチがONであると判定された場合には(ステップS103−7=Yes)、ステップS103−8に処理を移行し、MAXBETスイッチがONではないと判定された場合には(ステップS103−7=No)、ステップS103−11に処理を移行する。
【0317】
(ステップS103−8)
ステップS103−8において、メインCPU301は、投入枚数カウンタの値が「3」であるか否かを判定する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている投入枚数カウンタの値が「3」であるか否かを判定する処理を行う。そして、投入枚数カウンタの値が「3」であると判定された場合には(ステップS103−8=Yes)、メダル管理処理のサブルーチンを終了し、メインループ処理のステップS104に処理を移行する。一方、投入枚数カウンタの値が「3」ではないと判定された場合には(ステップS103−8=No)、ステップS103−9に処理を移行する。
【0318】
(ステップS103−9)
ステップS103−9において、メインCPU301は、貯留枚数カウンタの値が「1」以上であるか否かを判定する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている貯留枚数カウンタの値が「1」以上であるか否かを判定する処理を行う。そして、貯留枚数カウンタの値が「1」以上であると判定された場合には(ステップS103−9=Yes)、ステップS103−10に処理を移行し、貯留枚数カウンタの値が「1」以上ではないと判定された場合には(ステップS103−9=No)、メダル管理処理のサブルーチンを終了し、メインループ処理のステップS104に処理を移行する。
【0319】
(ステップS103−10)
ステップS103−10において、メインCPU301は、貯留メダル投入処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている投入枚数カウンタの値に基づいて、メインRAM303に設けられている貯留枚数カウンタの値を減算し、投入枚数カウンタの値を加算する処理等を行う。そして、ステップS103−10の処理が終了すると、メダル管理処理のサブルーチンを終了し、メインループ処理のステップS104に処理を移行する。
【0320】
(ステップS103−11)
ステップS103−11において、メインCPU301は、精算スイッチがONであるか否かを判定する処理を行う。具体的には、メインCPU301は、精算スイッチ9swにより、遊技者による精算ボタン9の操作が検出されたか否かを判定する処理を行う。そして、精算スイッチがONであると判定された場合には(ステップS103−11=Yes)、ステップS103−12に処理を移行し、精算スイッチがONではないと判定された場合には(ステップS103−11=No)、メダル管理処理のサブルーチンを終了し、メインループ処理のステップS104に処理を移行する。
【0321】
(ステップS103−12)
ステップS103−12において、メインCPU301は、貯留枚数カウンタの値が「1」以上であるか否かを判定する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている貯留枚数カウンタの値が「1」以上であるか否かを判定する処理を行う。そして、貯留枚数カウンタの値が「1」以上であると判定された場合には(ステップS103−12=Yes)、ステップS103−13に処理を移行し、貯留枚数カウンタの値が「1」以上ではないと判定された場合には(ステップS103−12=No)、メダル管理処理のサブルーチンを終了し、メインループ処理のステップS104に処理を移行する。
【0322】
(ステップS103−13)
ステップS103−13において、メインCPU301は、精算開始コマンドをセットする処理を行う。具体的には、メインCPU301は、精算開始コマンドをサブ制御基板400に対して送信するために、当該精算開始コマンドを、メインRAM303に設けられている演出用伝送データ格納領域にセットする処理を行う。ここで、「精算開始コマンド」とは、遊技機1に貯留されているメダルを遊技者に対して返却する精算処理を開始する旨の情報等を有するコマンドである。そして、ステップS103−13の処理が終了すると、ステップS103−14に処理を移行する。
【0323】
(ステップS103−14)
ステップS103−14において、メインCPU301は、投入枚数カウンタの値が「1」以上であるか否かを判定する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている投入枚数カウンタの値が「1」以上であるか否かを判定する処理を行う。そして、投入枚数カウンタの値が「1」以上であると判定された場合には(ステップS103−14=Yes)、ステップS103−15に処理を移行し、投入枚数カウンタの値が「1」以上ではないと判定された場合には(ステップS103−14=No)、ステップS103−18に処理を移行する。
【0324】
(ステップS103−15)
ステップS103−15において、メインCPU301は、投入メダル精算処理を行う。具体的には、メインCPU301は、BETされているメダルを遊技者に返却するために、電源基板200を介してホッパー202を駆動することにより、メダルを「1」枚返却する制御を行う。そして、ステップS103−15の処理が終了すると、ステップS103−16に処理を移行する。
【0325】
(ステップS103−16)
ステップS103−16において、メインCPU301は、投入枚数カウンタの値から「1」減算する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている投入枚数カウンタの値から「1」減算する処理を行う。そして、ステップS103−16の処理が終了すると、ステップS103−17に処理を移行する。
【0326】
(ステップS103−17)
ステップS103−17において、メインCPU301は、投入枚数カウンタの値が「0」であるか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS103−16の処理により、メインRAM303に設けられている投入枚数カウンタの値から「1」減算した結果、メインRAM303に設けられている投入枚数カウンタの値が「0」となったか否かを判定する処理を行う。そして、投入枚数カウンタの値が「0」であると判定された場合には(ステップS103−17=Yes)、ステップS103−19に処理を移行し、投入枚数カウンタの値が「0」ではないと判定された場合には(ステップS103−17=No)、ステップS103−15に処理を移行し、メインRAM303に設けられている投入枚数カウンタの値が「0」となるまで、同様の処理を繰り返し実行する。
【0327】
(ステップS103−18)
ステップS103−18において、メインCPU301は、貯留メダル精算処理を行う。具体的には、メインCPU301は、遊技機1に貯留されているメダルを遊技者に返却するために、電源基板200を介してホッパー202を駆動することにより、メダルを「1」枚返却する制御を行う。そして、メインRAM303に設けられている貯留枚数カウンタの値から「1」減算し、当該処理を行った結果、メインRAM303に設けられている貯留枚数カウンタの値が「0」となったか否かを判定し、メインRAM303に設けられている貯留枚数カウンタの値が「0」となったと判定されるまで同様の処理を繰り返し実行する。そして、ステップS103−18の処理が終了すると、ステップS103−19に処理を移行する。
【0328】
(ステップS103−19)
ステップS103−19において、メインCPU301は、精算終了コマンドをセットする処理を行う。具体的には、メインCPU301は、精算終了コマンドをサブ制御基板400に対して送信するために、当該精算終了コマンドを、メインRAM303に設けられている演出用伝送データ格納領域にセットする処理を行う。ここで、「精算終了コマンド」とは、BETされていたメダルを遊技者に対して返却し終えた旨の情報や、遊技機1に貯留されているメダルを遊技者に対して返却し終えた旨の情報等を有するコマンドである。そして、ステップS103−19の処理が終了すると、メダル管理処理のサブルーチンを終了し、メインループ処理のステップS104に処理を移行する。
【0329】
(第1メダル投入チェック処理)
次に、
図14に基づいて、
図13のステップS103−3の処理により行われる第1メダル投入チェック処理についての説明を行う。なお、
図14は第1メダル投入チェック処理のサブルーチンを示す図である。
【0330】
(ステップS103−3−1)
ステップS103−3−1において、メインCPU301は、当該投入が有効となった後のメダルの投入が不可となるか否かを判定する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている貯留枚数カウンタの値と、投入枚数カウンタの値に、「1」を加算した値が、「53」以上であるか否かを判定する処理を行う。そして、貯留枚数カウンタの値と、投入枚数カウンタの値に、「1」を加算した値が、「53」以上であると判定された場合には(ステップS103−3−1=Yes)、ステップS103−3−2に処理を移行し、貯留枚数カウンタの値と、投入枚数カウンタの値に、「1」を加算した値が、「53」以上ではないと判定された場合には(ステップS103−3−1=No)、ステップS103−3−3に処理を移行する。
【0331】
(ステップS103−3−2)
ステップS103−3−2において、メインCPU301は、ブロッカOFF処理を行う。具体的には、メインCPU301は、セレクター14のブロッカ54をOFFに制御、すなわち、ブロッカ54を、メダル投入口6に投入されたメダルをメダル払出口25に排出させる位置に制御させる。これにより、これ以降、メダル投入口6にメダルが投入されても、ホッパー202に受け入れず、メダル払出口25に排出させることができる。そして、ステップS103−3−2の処理が終了すると、ステップS103−3−3に処理を移行する。
【0332】
(ステップS103−3−3)
ステップS103−3−3において、メインCPU301は、後で
図15を用いて詳述する第2メダル投入チェック処理を行う。なお、第2メダル投入チェック処理は、第2記憶領域2200の第2制御領域2210に記憶された第2メダル投入チェック処理を行うプログラムを呼び出すことにより実行される。また、第1記憶領域2100の第1制御領域2110に記憶された第1メダル投入チェック処理を行うプログラムのステップS103−3−3に対応する箇所には、第2記憶領域2200の第2制御領域2210に記憶された第2メダル投入チェック処理を行うプログラムを呼び出すためのアドレスが予め規定されている。当該処理において、メインCPU301は、投入物(メダル等)のエラーチェック処理等を行う。そして、ステップS103−3−3の処理が終了すると、ステップS103−3−4に処理を移行する。
【0333】
(ステップS103−3−4)
ステップS103−3−4において、メインCPU301は、第1記憶領域復帰時エラーチェック処理を行う。具体的には、メインCPU301は、上記第2記憶領域2200に記憶されたプログラムによる第2メダル投入チェック処理において、エラーが検出されたか否かをチェックする処理を行う。ここでは、第1記憶領域2100の第1制御領域2110に記憶されたプログラムによる第1メダル投入チェック処理において、第2記憶領域2200の第2ワーク領域2260に記憶されたエラーフラグを参照することにより、第2記憶領域2200の第2制御領域2210に記憶されたプログラムによる第2メダル投入チェック処理において、エラーが検出されたか否かをチェックする。そして、ステップS103−3−4の処理が終了すると、ステップS103−3−5に処理を移行する。
【0334】
(ステップS103−3−5)
ステップS103−3−5において、メインCPU301は、エラーを検出したか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS103−3−4の第1記憶領域復帰時エラーチェック処理において、エラーを検出したか否かを判定する処理を行う。そして、メインCPU301は、エラーを検出したと判定された場合には(ステップS103−3−5=Yes)、ステップS103−3−10に処理を移行し、エラーを検出していないと判定された場合には(ステップS103−3−5=No)、ステップS103−3−6に処理を移行する。
【0335】
(ステップS103−3−6)
ステップS103−3−6において、メインCPU301は、投入枚数カウンタの値が「3」であるか否かを判定する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている投入枚数カウンタの値が「3」であるか否かを判定する処理を行う。そして、投入枚数カウンタの値が「3」であると判定された場合には(ステップS103−3−6=Yes)、ステップS103−3−8に処理を移行し、投入枚数カウンタの値が「3」ではないと判定された場合には(ステップS103−3−6=No)、ステップS103−3−7に処理を移行する。
【0336】
(ステップS103−3−7)
ステップS103−3−7において、メインCPU301は、投入枚数カウンタの値に「1」加算する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている投入枚数カウンタの値に「1」加算する処理を行う。そして、ステップS103−3−7の処理が終了すると、ステップS103−3−9に処理を移行する。
【0337】
(ステップS103−3−8)
ステップS103−3−8において、メインCPU301は、貯留枚数カウンタの値に「1」加算する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている貯留枚数カウンタの値に「1」加算する処理を行う。そして、ステップS103−3−8の処理が終了すると、ステップS103−3−9に処理を移行する。
【0338】
(ステップS103−3−9)
ステップS103−3−9において、メインCPU301は、メダル投入コマンドをセットする処理を行う。具体的には、メインCPU301は、メダル投入コマンドをサブ制御基板400に対して送信するために、当該メダル投入コマンドを、メインRAM303に設けられている演出用伝送データ格納領域にセットする処理を行う。ここで、「メダル投入コマンド」とは、メダル投入口6に正常なメダルが投入された旨の情報等を有するコマンドである。そして、ステップS103−3−9の処理が終了すると、第1メダル投入チェック処理のサブルーチンを終了し、メインループ処理のステップS104に処理を移行する。
【0339】
(ステップS103−3−10)
ステップS103−3−10において、メインCPU301は、メダル投入エラー検出時処理を行う。具体的には、メインCPU301は、エラー情報を払出枚数表示器16等に表示するための処理等を行う。また、メダル投入エラーが検出された旨の情報を有するメダル投入エラーコマンドをメインRAM303に設けられている演出用伝送データ格納領域にセットする処理を行う。そして、ステップS103−3−10の処理が終了すると、第1メダル投入チェック処理のサブルーチンを終了し、メインループ処理のステップS104に処理を移行する。なお、必要があればエラー表示後に遊技の停止処理を行う。
【0340】
(第2メダル投入チェック処理)
次に、
図15に基づいて、
図14のステップS103−3−3の処理により行われる第2メダル投入チェック処理についての説明を行う。なお、
図15は第2メダル投入チェック処理のサブルーチンを示す図である。また、第2メダル投入チェック処理は、第2記憶領域2200の第2制御領域2210に記憶されたプログラムおよび第2データ領域2220に記憶されたデータ(テーブル等)に基づいて、実行される。
【0341】
(ステップS103−3−3−1)
ステップS103−3−3−1において、メインCPU301は、レジスタ退避処理を行う。具体的には、メインCPU301は、ステップS103−3−3−1の時点で使用しているレジスタの値を退避する処理を行う。例えば、メインCPU301のレジスタ群1300におけるAレジスタ1311、Bレジスタ1312、Cレジスタ1313、Dレジスタ1314、Eレジスタ1315、Fレジスタ1316、Hレジスタ1317、Lレジスタ1318に格納されている値を、それぞれスタックに転送し、転送したスタックのアドレスをSPレジスタ1319に格納する。したがって、SPレジスタ1319には、最後に転送したレジスタの値が格納されたスタックのアドレスが格納されている。なお、スタックとは、メモリ上に確保される領域であり、例えば、第2ワーク領域2260上に確保される。また、本実施の形態においては、各レジスタの値は、転送後にクリアする。そして、ステップS103−3−3−1の処理が終了すると、ステップS103−3−3−2に処理を移行する。
【0342】
(ステップS103−3−3−2)
ステップS103−3−3−2において、メインCPU301は、メダル通過監視テーブルをセットする処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2データ領域2220に記憶され、第1メダル通過センサ62および第2メダル通過センサ63の検出順序により、メダルの正しい通過順を規定するメダル通過監視テーブルをセットする処理を行う。そして、ステップS103−3−3−2の処理が終了すると、ステップS103−3−3−3に処理を移行する。
【0343】
(ステップS103−3−3−3)
ステップS103−3−3−3において、メインCPU301は、後で
図16を用いて詳述するメダル通過監視処理を行う。なお、メダル通過監視処理も、第2記憶領域2200の第2制御領域2210に記憶されたプログラムを呼び出すことにより実行される。当該処理において、メインCPU301は、メダルの通過順序およびメダルの滞留判定処理等を行う。そして、ステップS103−3−3−3の処理が終了すると、ステップS103−3−3−4に処理を移行する。
【0344】
(ステップS103−3−3−4)
ステップS103−3−3−4において、メインCPU301は、エラーを検出したか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS103−3−3−3のメダル通過監視処理において、エラーを検出したか否かを判定する処理を行う。そして、メインCPU301は、エラーを検出したと判定された場合には(ステップS103−3−3−4=Yes)、ステップS103−3−3−7に処理を移行し、エラーを検出していないと判定された場合には(ステップS103−3−3−4=No)、ステップS103−3−3−5に処理を移行する。
【0345】
(ステップS103−3−3−5)
ステップS103−3−3−5において、メインCPU301は、メダル通過監視処理が終了したか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS103−3−3−3のメダル通過監視処理が終了したか否かを判定する処理を行う。そして、メダル通過監視処理が終了したと判定された場合には(ステップS103−3−3−5=Yes)、ステップS103−3−3−6に処理を移行し、メダル通過監視処理が終了していないと判定された場合には(ステップS103−3−3−5=No)、ステップS103−3−3−3に処理を移行し、メダル通過監視処理が終了するまで同様の処理を実行する。
【0346】
(ステップS103−3−3−6)
ステップS103−3−3−6において、メインCPU301は、メダル通過監視終了処理を行う。具体的には、メインCPU301は、メダル滞留時間の計時の終了処理等を行う。そして、ステップS103−3−3−6の処理が終了すると、ステップS103−3−3−10に処理を移行する。
【0347】
(ステップS103−3−3−7)
ステップS103−3−3−7において、メインCPU301は、メダル滞留エラー表示要求セット処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260のエラー表示要求記憶領域に、メダル滞留エラー表示要求をセットする処理を行う。そして、ステップS103−3−3−7の処理が終了すると、ステップS103−3−3−8に処理を移行する。
【0348】
(ステップS103−3−3−8)
ステップS103−3−3−8において、メインCPU301は、メダル滞留エラーを検出したか否かを判定する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260のメダル滞留フラグの値がONであるか否かを判定する処理を行う。そして、メダル滞留エラーを検出したと判定された場合には(ステップS103−3−3−8=Yes)、ステップS103−3−3−10に処理を移行し、メダル滞留エラーを検出していないと判定された場合には(ステップS103−3−3−8=No)、ステップS103−3−3−9に処理を移行する。
【0349】
(ステップS103−3−3−9)
ステップS103−3−3−9において、メインCPU301は、メダル不正通過エラー表示要求セット処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260のエラー表示要求記憶領域に、メダル不正通過エラー表示要求をセットする処理を行う。そして、ステップS103−3−3−9の処理が終了すると、ステップS103−3−3−10に処理を移行する。
【0350】
(ステップS103−3−3−10)
ステップS103−3−3−10において、メインCPU301は、レジスタ復帰処理を行う。具体的には、メインCPU301は、ステップS103−3−3−10の処理において、退避したレジスタの値を復帰させる処理を行う。例えば、スタックに転送したメインCPU301のレジスタ群1300におけるAレジスタ1311、Bレジスタ1312、Cレジスタ1313、Dレジスタ1314、Eレジスタ1315、Fレジスタ1316、Hレジスタ1317、Lレジスタ1318に格納されていた値を、SPレジスタ1319の値に基づき、スタックから転送時とは逆の順序で、Lレジスタ1318、Hレジスタ1317、Fレジスタ1316、Eレジスタ1315、Dレジスタ1314、Cレジスタ1313、Bレジスタ1312、Aレジスタ1311に転送し、格納する。そして、ステップS103−3−3−10の処理が終了すると、第2メダル投入チェック処理を終了し、第1メダル投入チェック処理に復帰し、ステップS103−3−4に処理を移行する。
【0351】
(メダル通過監視処理)
次に、
図16に基づいて、
図15のステップS103−3−3−3の処理により行われるメダル通過監視処理についての説明を行う。なお、
図16はメダル通過監視処理のサブルーチンを示す図である。また、上記のように、メダル通過監視処理も、第2記憶領域2200の第2制御領域2210に記憶されたプログラムを呼び出すことにより実行される。
【0352】
(ステップS103−3−3−3−1)
ステップS103−3−3−3−1において、メインCPU301は、第1メダル通過センサ62および第2メダル通過センサ63の信号の状態を参照する処理を行う。具体的には、メインCPU301は、第1記憶領域2100の第1ワーク領域2160におけるメダル通過センサ値記憶領域の値(第1メダル通過センサ状態値および第2メダル通過センサ状態値)を参照し、今回第1メダル通過センサ状態値および今回第2メダル通過センサ状態値として、第2記憶領域2200の第2ワーク領域2260におけるメダル通過センサ値記憶領域に記憶する。なお、第1記憶領域2100の第1ワーク領域2160には、第1記憶領域2100の第1制御領域2110に記憶されたプログラムにより実行される後述する割込処理において、第1メダル通過センサ62および第2メダル通過センサ63の信号値に対応する入力ポートの値が、第1メダル通過センサ状態値および第2メダル通過センサ状態値として記憶されている。
【0353】
また、第1記憶領域2100の第1ワーク領域2160におけるメダル通過センサ値記憶領域の値の取り込みの前に、第2記憶領域2200の第2ワーク領域2260におけるメダル通過センサ値記憶領域に記憶されている今回第1メダル通過センサ状態値および今回第2メダル通過センサ状態値を、第2ワーク領域2260におけるメダル通過センサ値記憶領域に前回第1メダル通過センサ状態値および前回第2メダル通過センサ状態値として記憶させておく。
そして、ステップS103−3−3−3−1の処理が終了すると、ステップS103−3−3−3−2に処理を移行する。
【0354】
(ステップS103−3−3−3−2)
ステップS103−3−3−3−2において、メインCPU301は、第1メダル通過センサ62の値がONで、前回第1メダル通過センサ62の値がOFFであるか否かを判定する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260における今回第1メダル通過センサ状態値がONで、前回第1メダル通過センサ状態値がOFFであるか否かを判定する処理を行う。そして、今回第1メダル通過センサ状態値がONで、前回第1メダル通過センサ状態値がOFFであると判定された場合には(ステップS103−3−3−3−2=Yes)、ステップS103−3−3−3−3に処理を移行し、今回第1メダル通過センサ状態値がON、または、前回第1メダル通過センサ状態値がOFFでないと判定された場合には(ステップS103−3−3−3−2=No)、ステップS103−3−3−3−4に処理を移行する。
【0355】
(ステップS103−3−3−3−3)
ステップS103−3−3−3−3において、メインCPU301は、メダル滞留時間の計時を開始する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260におけるメダル滞留時間の値をクリアし、割込処理によるメダル滞留時間の更新を開始させる処理を行う。そして、ステップS103−3−3−3−3の処理が終了すると、ステップS103−3−3−3−4に処理を移行する。
【0356】
(ステップS103−3−3−3−4)
ステップS103−3−3−3−4において、メインCPU301は、メダル不正通過判定処理を行う。具体的には、メインCPU301は、ステップS103−3−3−2でセットしたメダル通過開始テーブルに基づいて、今回第1メダル通過センサ状態値および今回第2メダル通過センサ状態値を、前回第1メダル通過センサ状態値および前回第2メダル通過センサ状態値と比較し、メダルの不正通過を判定する処理を行う。
【0357】
例えば、今回状態組み合わせ(今回第1メダル通過センサ状態値および今回第2メダル通過センサ状態値の組み合わせ;以下同じ)が、「ON、OFF」である場合には、前回状態組み合わせ(前回第1メダル通過センサ状態値および前回第2メダル通過センサ状態値の組み合わせ;以下同じ)は、「OFF、OFF」または「ON、OFF」でなければメダルの不正通過と判定する。また、今回状態組み合わせが、「ON、ON」である場合には、前回状態組み合わせは、「ON、OFF」または「ON、ON」でなければメダルの不正通過と判定する。また、今回状態組み合わせが、「OFF、ON」である場合には、前回状態組み合わせは、「ON、ON」または「OFF、ON」でなければメダルの不正通過と判定する。さらに、今回状態組み合わせが、「OFF、OFF」である場合には、前回状態組み合わせは、「OFF、ON」または「OFF、OFF」でなければメダルの不正通過と判定する。
そして、ステップS103−3−3−3−4の処理が終了すると、ステップS103−3−3−3−5に処理を移行する。
【0358】
(ステップS103−3−3−3−5)
ステップS103−3−3−3−5において、メインCPU301は、メダル不正通過を検出したか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS103−3−3−3−4のメダル不正通過判定処理において、メダル不正通過を検出したか否かを判定する処理を行う。そして、メダル不正通過を検出したと判定された場合には(ステップS103−3−3−3−5=Yes)、ステップS103−3−3−3−6に処理を移行し、メダル不正通過を検出していないと判定された場合には(ステップS103−3−3−3−5=No)、ステップS103−3−3−3−7に処理を移行する。
【0359】
(ステップS103−3−3−3−6)
ステップS103−3−3−3−6において、メインCPU301は、メダル不正通過フラグをONとする処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260におけるメダル不正通過フラグにONをセットする処理を行う。そして、ステップS103−3−3−3−6の処理が終了すると、メダル通過監視処理を終了し、第2メダル投入チェック処理のステップS103−3−3−4に処理を移行する。
【0360】
(ステップS103−3−3−3−7)
ステップS103−3−3−3−7において、メインCPU301は、メダル滞留判定処理を行う。具体的には、メインCPU301は、メダル滞留時間が所定のメダル滞留判定値(例えば、50ms)以上となったか否かを判定する処理を行う。
【0361】
なお、メダル滞留時間とは、第1メダル通過センサの信号がONとなったとき(前回第1メダル通過センサ状態値がOFFで、今回第1メダル通過センサ状態値がONとなったとき)に計時が開始され、第1メダル通過センサおよび第2メダル通過センサの信号がOFFとなる(前回第2メダル通過センサ状態値がONで、今回第1メダル通過センサ状態値および今回第2メダル通過センサ状態値がOFFとなったとき)まで計時される、メダルが第1メダル通過センサ62と第2メダル通過センサ63の間を通過するまでの時間である。
そして、ステップS103−3−3−3−7の処理が終了すると、ステップS103−3−3−3−8に処理を移行する。
【0362】
(ステップS103−3−3−3−8)
ステップS103−3−3−3−8において、メインCPU301は、メダル滞留であるか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS103−3−3−3−7のメダル滞留判定処理において、メダル滞留時間がメダル滞留判定値以上であれば、メダル滞留と判定し、メダル滞留判定値未満であれば、メダル滞留ではないと判定する。そして、メダル滞留と判定された場合には(ステップS103−3−3−3−8=Yes)、ステップS103−3−3−3−9に処理を移行し、メダル滞留ではないと判定された場合には(ステップS103−3−3−3−8=No)、メダル通過監視処理を終了し、第2メダル投入チェック処理のステップS103−3−3−4に処理を移行する。
【0363】
(ステップS103−3−3−3−9)
ステップS103−3−3−3−9において、メインCPU301は、メダル滞留フラグをONとする処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260におけるメダル滞留フラグにONをセットする処理を行う。そして、ステップS103−3−3−3−9の処理が終了すると、メダル通過監視処理を終了し、第2メダル投入チェック処理のステップS103−3−3−4に処理を移行する。
【0364】
(内部抽選処理)
次に、
図17に基づいて、
図12のステップS107の処理により行われる内部抽選処理についての説明を行う。なお、
図17は内部抽選処理のサブルーチンを示す図である。
【0365】
(ステップS107−1)
ステップS107−1において、メインCPU301は、ハード乱数取得処理を行う。具体的には、メインCPU301は、メイン乱数発生器304により生成した乱数値を抽出する処理を行うとともに、抽出した乱数値をレジスタに記憶する処理を行う。そして、ステップS107−1の処理が終了すると、ステップS107−2に処理を移行する。
【0366】
(ステップS107−2)
ステップS107−2において、メインCPU301は、当選番号初期値取得処理を行う。具体的には、メインCPU301は、当選役を決定するに際して当選番号の初期値を取得する処理を行う。ここで、本実施形態において、メインCPU301は、当選番号の初期値として「45」を取得し、レジスタに記憶する処理を行う。そして、ステップS107−2の処理が終了すると、ステップS107−3に処理を移行する。
【0367】
(ステップS107−3)
ステップS107−3において、メインCPU301は、遊技状態取得処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている遊技状態格納領域の値に基づいて、遊技状態を取得する処理を行う。そして、ステップS107−3の処理が終了すると、ステップS107−4に処理を移行する。
【0368】
(ステップS107−4)
ステップS107−4において、メインCPU301は、当選役決定テーブル設定処理を行う。具体的には、メインCPU301は、ステップS107−3の遊技状態取得処理において取得した遊技状態に係る情報に基づいて、メインROM302に設けられている当選役決定テーブルを設定する処理を行う。そして、ステップS107−4の処理が終了すると、ステップS107−5に処理を移行する。
【0369】
(ステップS107−5)
ステップS107−5において、メインCPU301は、抽選データ取得処理を行う。具体的には、メインCPU301は、ステップS107−4の当選役決定テーブル設定処理により設定された当選役決定テーブルと、レジスタに記憶されている当選番号に基づいて、当選番号に対応する当選役に係るデータを取得する処理を行う。そして、ステップS107−5の処理が終了すると、ステップS107−6に処理を移行する。
【0370】
(ステップS107−6)
ステップS107−6において、メインCPU301は、抽選値取得処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている設定値格納領域に格納されている値と、レジスタに記憶されている当選番号に基づいて、現在セットされている当選役決定テーブルの抽選値を取得し、レジスタに記憶する処理を行う。そして、ステップS107−6の処理が終了すると、ステップS107−7に処理を移行する。
【0371】
(ステップS107−7)
ステップS107−7において、メインCPU301は、抽選確認処理を行う。具体的には、メインCPU301は、レジスタに記憶されている乱数値から、ステップS107−6の抽選値取得処理により取得した抽選値を減算し、乱数値が記憶されていたレジスタの値を、減算した後の値に更新して記憶する処理を行う。そして、ステップS107−7の処理が終了すると、ステップS107−8に処理を移行する。
【0372】
(ステップS107−8)
ステップS107−8において、メインCPU301は、当選したか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS107−7の抽選確認処理により、レジスタに記憶された乱数値から、ステップS107−6の抽選値取得処理により取得した抽選値を減算する処理を行った結果、負の値となったか否かを判定する処理を行う。そして、当選したと判定された場合には(ステップS107−8=Yes)、レジスタに記憶されている当選番号に基づいて当選役を決定した後、内部抽選処理のサブルーチンを終了し、メインループ処理のステップS108に処理を移行する。一方、当選していないと判定された場合には(ステップS107−8=No)、ステップS107−9に処理を移行する。
【0373】
(ステップS107−9)
ステップS107−9において、メインCPU301は、当選番号の値から「1」減算する処理を行う。具体的には、メインCPU301は、レジスタに記憶している当選番号から「1」減算する処理を行う。そして、ステップS107−9の処理が終了すると、ステップS107−10に処理を移行する。
【0374】
(ステップS107−10)
ステップS107−10において、メインCPU301は、当選番号の値が「0」であるか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS107−9の処理により、レジスタに記憶されている当選番号の値から「1」減算した結果、当選番号の値が「0」となったか否かを判定する処理を行う。そして、当選番号の値が「0」であると判定された場合には(ステップS107−10=Yes)、当選役として「ハズレ」を決定した後、内部抽選処理のサブルーチンを終了し、メインループ処理のステップS108に処理を移行する。一方、当選番号の値が「0」ではないと判定された場合には(ステップS107−10=No)、ステップS107−3に処理を移行する。
【0375】
(第1メダル払出処理)
次に、
図18に基づいて、
図12のステップS115の処理により行われる第1メダル払出処理についての説明を行う。なお、
図18は第1メダル払出処理のサブルーチンを示す図である。
【0376】
(ステップS115−1)
ステップS115−1において、メインCPU301は、再遊技作動中フラグがONであるか否かを判定する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている再遊技作動中フラグ格納領域の値に基づいて、再遊技作動中フラグがONであるか否かを判定する処理を行う。そして、再遊技作動中フラグがONであると判定された場合には(ステップS115−1=Yes)、ステップS115−3に処理を移行し、再遊技作動中フラグがONではないと判定された場合には(ステップS115−1=No)、ステップS115−2に処理を移行する。
【0377】
(ステップS115−2)
ステップS115−2において、メインCPU301は、残り払出枚数カウンタをセットする処理を行う。具体的には、メインCPU301は、算定された払出枚数の値をレジスタにセットする処理を行う。そして、ステップS115−2の処理が終了すると、ステップS115−3に処理を移行する。
【0378】
(ステップS115−3)
ステップS115−3において、メインCPU301は、残り払出枚数カウンタの値が「1」以上であるか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS115−2の処理により、レジスタにセットされた残り払出枚数カウンタの値が「1」以上であるか否かを判定する処理を行う。そして、残り払出枚数カウンタの値が「1」以上であると判定された場合には(ステップS115−3=Yes)、ステップS115−4に処理を移行し、残り払出枚数カウンタの値が「1」以上ではないと判定された場合には(ステップS115−3=No)、第1メダル払出処理のサブルーチンを終了し、メインループ処理のステップS116に処理を移行する。
【0379】
(ステップS115−4)
ステップS115−4において、メインCPU301は、メダル払出開始コマンドをセットする処理を行う。具体的には、メインCPU301は、メダル払出開始コマンドをサブ制御基板400に対して送信するために、当該メダル払出開始コマンドを、メインRAM303に設けられている演出用伝送データ格納領域にセットする処理を行う。ここで、「メダル払出開始コマンド」とは、メダルの払出を開始する旨の情報等を有するコマンドである。そして、ステップS115−4の処理が終了すると、ステップS115−5に処理を移行する。
【0380】
(ステップS115−5)
ステップS115−5において、メインCPU301は、貯留枚数カウンタの値が「50」であるか否かを判定する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている貯留枚数カウンタの値が「50」であるか否かを判定する処理を行う。そして、貯留枚数カウンタの値が「50」であると判定された場合には(ステップS115−5=Yes)、ステップS115−7に処理を移行し、貯留枚数カウンタの値が「50」ではないと判定された場合には(ステップS115−5=No)、ステップS115−6に処理を移行する。
【0381】
(ステップS115−6)
ステップS115−6において、メインCPU301は、貯留枚数カウンタの値に「1」加算する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている貯留枚数カウンタの値に「1」加算する処理を行う。そして、ステップS115−6の処理が終了すると、ステップS115−8に処理を移行する。
【0382】
(ステップS115−7)
ステップS115−7において、メインCPU301は、後で
図19を用いて詳述するメダル一枚払出処理を行う。当該処理において、メインCPU301は、電源基板200を介してホッパー202を駆動することにより、メダルを「1」枚払い出す制御を行う。そして、ステップS115−7の処理が終了すると、ステップS115−8に処理を移行する。
【0383】
(ステップS115−8)
ステップS115−8において、メインCPU301は、獲得枚数カウンタの値に「1」加算する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている獲得枚数カウンタの値に「1」加算する処理を行う。そして、ステップS115−8の処理が終了すると、ステップS115−9に処理を移行する。
【0384】
(ステップS115−9)
ステップS115−9において、メインCPU301は、残り払出枚数カウンタの値から「1」減算する処理を行う。具体的には、メインCPU301は、レジスタにセットされている残り払出枚数カウンタの値から「1」減算する処理を行う。そして、ステップS115−9の処理が終了すると、ステップS115−10に処理を移行する。
【0385】
(ステップS115−10)
ステップS115−10において、メインCPU301は、残り払出枚数カウンタの値が「0」以下であるか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS115−9の処理により残り払出枚数カウンタの値から「1」減算した結果、残り払出枚数カウンタの値が「0」以下であるか否かを判定する処理を行う。そして、残り払出枚数カウンタの値が「0」以下であると判定された場合には(ステップS115−10=Yes)、ステップS115−11に処理を移行し、残り払出枚数カウンタの値が「0」以下ではないと判定された場合には(ステップS115−10=No)、ステップS115−5に処理を移行する。
【0386】
(ステップS115−11)
ステップS115−11において、メインCPU301は、メダル払出終了コマンドをセットする処理を行う。具体的には、メインCPU301は、メダル払出終了コマンドをサブ制御基板400に対して送信するために、当該メダル払出終了コマンドを、メインRAM303に設けられている演出用伝送データ格納領域にセットする処理を行う。ここで、「メダル払出終了コマンド」とは、メダルの払出が終了した旨の情報等を有するコマンドである。そして、ステップS115−11の処理が終了すると、第1メダル払出処理のサブルーチンを終了し、メインループ処理のステップS116に処理を移行する。
【0387】
(メダル一枚払出処理)
次に、
図19に基づいて、
図18のステップS115−7の処理により行われるメダル一枚払出処理についての説明を行う。なお、
図19はメダル一枚払出処理のサブルーチンを示す図である。
【0388】
(ステップS115−7−1)
ステップS115−7−1において、メインCPU301は、残り払出枚数を退避させる処理を行う。そして、ステップS115−7−1の処理が終了すると、ステップS115−7−2に処理を移行する。
【0389】
(ステップS115−7−2)
ステップS115−7−2において、メインCPU301は、ホッパーモータ91が駆動中であるか否かを判定する処理を行う。そして、ホッパーモータ91が駆動中であると判定された場合には(ステップS115−7−2=Yes)、ステップS115−7−5に処理を移行し、ホッパーモータ91が駆動中ではないと判定された場合には(ステップS115−7−2=No)、ステップS115−7−3に処理を移行する。
【0390】
(ステップS115−7−3)
ステップS115−7−3において、メインCPU301は、ホッパーモータ91を駆動させる処理を行う。なお、メインCPU301は、ホッパーモータ91を駆動させる際には、第1記憶領域2100の第1ワーク領域2160におけるホッパーモータ駆動中フラグをONとする。また、メインCPU301は、ホッパーモータ91を停止させる際には、第1記憶領域2100の第1ワーク領域2160におけるホッパーモータ駆動中フラグをOFFとする。そして、ステップS115−7−3の処理が終了すると、ステップS115−7−4に処理を移行する。
【0391】
(ステップS115−7−4)
ステップS115−7−4において、メインCPU301は、ホッパーモータ91の駆動時間の計時を開始する処理を行う。具体的には、メインCPU301は、第1記憶領域2100の第1ワーク領域2160におけるホッパーモータ駆動時間の値をクリアし、割込処理によるホッパーモータ駆動時間の更新を開始させる処理を行う。そして、ステップS115−7−4の処理が終了すると、ステップS115−7−5に処理を移行する。
【0392】
(ステップS115−7−5)
ステップS115−7−5において、メインCPU301は、ホッパーモータ91の駆動時間が6000ms以上であるか否かを判定する処理を行う。具体的には、メインCPU301は、割込処理により更新される第1記憶領域2100の第1ワーク領域2160におけるホッパーモータ駆動時間の値が、6000ms以上であるか否かを判定する。そして、ホッパーモータ駆動時間が6000ms以上であると判定された場合には(ステップS115−7−5=Yes)、ステップS115−7−6に処理を移行し、ホッパーモータ駆動時間が6000ms以上ではないと判定された場合には(ステップS115−7−5=No)、ステップS115−7−7に処理を移行する。
【0393】
(ステップS115−7−6)
ステップS115−7−6において、メインCPU301は、払出エラー処理を行う。具体的には、メインCPU301は、ホッパー202内のメダルが空である場合の払出エラー処理を行う。また、メインCPU301は、ホッパーモータ91の駆動も停止する。これに伴い、メインCPU301は、ホッパーモータ駆動時間の計時も停止し、ホッパーモータ駆動時間の値もクリアする。そして、ステップS115−7−6の処理が終了すると、メダル一枚払出処理のサブルーチンを終了し、第1メダル払出処理のステップS115−8に処理を移行する。
【0394】
(ステップS115−7−7)
ステップS115−7−7において、メインCPU301は、後で
図20を用いて詳述する第2メダル払出処理を行う。なお、第2メダル払出処理は、第2記憶領域2200の第2制御領域2210に記憶された第2メダル払出処理を行うプログラムを呼び出すことにより実行される。また、第1記憶領域2100の第1制御領域2110に記憶されたメダル一枚払出処理を行うプログラムのステップS115−7−7に対応する箇所には、第2記憶領域2200の第2制御領域2210に記憶された第2メダル払出処理を行うプログラムを呼び出すためのアドレスが予め規定されている。当該処理において、メインCPU301は、メダル詰まりの判定処理等を行う。そして、ステップS115−7−7の処理が終了すると、ステップS115−7−8に処理を移行する。
【0395】
(ステップS115−7−8)
ステップS115−7−8において、メインCPU301は、第1記憶領域復帰時エラーチェック処理を行う。具体的には、メインCPU301は、上記第2記憶領域2200に記憶されたプログラムによる第2メダル払出処理において、エラーが検出されたか否かをチェックする処理を行う。ここでは、第1記憶領域2100の第1制御領域2110に記憶されたプログラムによるメダル一枚払出処理において、第2記憶領域2200の第2ワーク領域2260に記憶されたエラーフラグを参照することにより、第2記憶領域2200の第2制御領域2210に記憶されたプログラムによる第2メダル払出処理において、エラーが検出されたか否かをチェックする。そして、ステップS115−7−8の処理が終了すると、ステップS115−7−9に処理を移行する。
【0396】
(ステップS115−7−9)
ステップS115−7−9において、メインCPU301は、エラーを検出したか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS115−7−8の第1記憶領域復帰時エラーチェック処理において、エラーを検出したか否かを判定する処理を行う。そして、メインCPU301は、エラーを検出したと判定された場合には(ステップS115−7−9=Yes)、ステップS115−7−10に処理を移行し、エラーを検出していないと判定された場合には(ステップS115−7−9=No)、ステップS115−7−11に処理を移行する。
【0397】
(ステップS115−7−10)
ステップS115−7−10において、メインCPU301は、払出エラー処理を行う。具体的には、メインCPU301は、ホッパー202内でメダルが詰まった場合の払出エラー処理を行う。また、払出エラーが検出された旨の情報を有する払出エラーコマンドをメインRAM303に設けられている演出用伝送データ格納領域にセットする処理を行う。また、メインCPU301は、ホッパーモータ91の駆動も停止する。これに伴い、メインCPU301は、ホッパーモータ駆動時間の計時も停止し、ホッパーモータ駆動時間の値もクリアする。そして、ステップS115−7−10の処理が終了すると、メダル一枚払出処理のサブルーチンを終了し、第1メダル払出処理のステップS115−8に処理を移行する。なお、必要があればエラー表示後に遊技の停止処理を行う。
【0398】
(ステップS115−7−11)
ステップS115−7−11において、メインCPU301は、払出センサ信号がONであるか否かを判定する処理を行う。具体的には、メインCPU301は、払出センサ92の信号値に対応する入力ポートの値を参照し、払出センサ信号がONであるか否かを判定する処理を行う。そして、メインCPU301は、払出センサ信号がONであると判定された場合には(ステップS115−7−11=Yes)、ステップS115−7−12に処理を移行し、エラーを検出していないと判定された場合には(ステップS115−7−11=No)、ステップS115−7−17に処理を移行する。
【0399】
(ステップS115−7−12)
ステップS115−7−12において、メインCPU301は、払出センサフラグがOFFであるか否かを判定する処理を行う。具体的には、メインCPU301は、第1記憶領域2100の第1ワーク領域2160に記憶された払出センサフラグがOFFであるか否かを判定する処理を行う。そして、メインCPU301は、払出センサフラグがOFFであると判定された場合には(ステップS115−7−12=Yes)、ステップS115−7−13に処理を移行し、払出センサフラグがOFFでないと判定された場合には(ステップS115−7−12=No)、ステップS115−7−15に処理を移行する。
【0400】
(ステップS115−7−13)
ステップS115−7−13において、メインCPU301は、払出センサフラグをONとする処理を行う。具体的には、メインCPU301は、第1記憶領域2100の第1ワーク領域2160における払出センサフラグにONをセットする処理を行う。そして、ステップS115−7−13の処理が終了すると、ステップS115−7−14に処理を移行する。
【0401】
(ステップS115−7−14)
ステップS115−7−14において、メインCPU301は、払出センサ継続時間の計時を開始する処理を行う。具体的には、メインCPU301は、第1記憶領域2100の第1ワーク領域2160における払出センサ継続時間の値をクリアし、割込処理による払出センサ継続時間の更新を開始させる処理を行う。そして、ステップS115−7−14の処理が終了すると、ステップS115−7−15に処理を移行する。
【0402】
(ステップS115−7−15)
ステップS115−7−15において、メインCPU301は、払出センサ継続時間が6ms以上となったか否かを判定する処理を行う。そして、メインCPU301は、払出センサ継続時間が6ms以上であると判定された場合には(ステップS115−7−15=Yes)、ステップS115−7−16に処理を移行し、払出センサ継続時間が6ms以上でないと判定された場合には(ステップS115−7−15=No)、ステップS115−7−5に処理を移行する。
【0403】
(ステップS115−7−16)
ステップS115−7−16において、メインCPU301は、ホッパーモータ91の駆動時間の計時を終了する処理を行う。具体的には、メインCPU301は、割込処理によるホッパーモータ駆動時間の更新を停止させ、ホッパーモータ駆動時間の値をクリアする処理を行う。そして、ステップS115−7−16の処理が終了すると、ステップS115−7−5に処理を移行する。
【0404】
(ステップS115−7−17)
ステップS115−7−17において、メインCPU301は、払出センサフラグがONであるか否かを判定する処理を行う。具体的には、メインCPU301は、第1記憶領域2100の第1ワーク領域2160に記憶された払出センサフラグがONであるか否かを判定する処理を行う。そして、メインCPU301は、払出センサフラグがONであると判定された場合には(ステップS115−7−17=Yes)、ステップS115−7−18に処理を移行し、払出センサフラグがONでないと判定された場合には(ステップS115−7−17=No)、ステップS115−7−5に処理を移行する。
【0405】
(ステップS115−7−18)
ステップS115−7−18において、メインCPU301は、払出センサフラグをOFFとする処理を行う。具体的には、メインCPU301は、第1記憶領域2100の第1ワーク領域2160における払出センサフラグにOFFをセットする処理を行う。そして、ステップS115−7−18の処理が終了すると、ステップS115−7−19に処理を移行する。
【0406】
(ステップS115−7−19)
ステップS115−7−19において、メインCPU301は、払出センサ継続時間が6ms以上となったか否かを判定する処理を行う。そして、メインCPU301は、払出センサ継続時間が6ms以上であると判定された場合には(ステップS115−7−19=Yes)、ステップS115−7−20に処理を移行し、払出センサ継続時間が6ms以上でないと判定された場合には(ステップS115−7−19=No)、ステップS115−7−5に処理を移行する。
【0407】
(ステップS115−7−20)
ステップS115−7−20において、メインCPU301は、ホッパーモータ91の駆動時間の計時を開始する処理を行う。具体的には、メインCPU301は、第1記憶領域2100の第1ワーク領域2160におけるホッパーモータ駆動時間の値をクリアし、割込処理によるホッパーモータ駆動時間の更新を開始させる処理を行う。そして、ステップS115−7−20の処理が終了すると、ステップS115−7−21に処理を移行する。
【0408】
(ステップS115−7−21)
ステップS115−7−21において、メインCPU301は、残り払出枚数を復帰させる処理を行う。具体的には、メインCPU301は、ステップS115−7−1において、退避させた残り払出枚数を復帰させる処理を行う。そして、ステップS115−7−21の処理が終了すると、ステップS115−7−22に処理を移行する。
【0409】
(ステップS115−7−22)
ステップS115−7−22において、メインCPU301は、残り払出枚数の値から「1」減算する処理を行う。具体的には、メインCPU301は、レジスタにセットされている残り払出枚数の値から「1」減算する処理を行う。そして、ステップS115−7−22の処理が終了すると、ステップS115−7−23に処理を移行する。
【0410】
(ステップS115−7−23)
ステップS115−7−23において、メインCPU301は、残り払出枚数の値が「0」であるか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS115−7−23の処理により残り払出枚数の値から「1」減算した結果、残り払出枚数の値が「0」であるか否かを判定する処理を行う。そして、残り払出枚数の値が「0」であると判定された場合には(ステップS115−7−23=Yes)、ステップS115−7−24に処理を移行し、残り払出枚数の値が「0」ではないと判定された場合には(ステップS115−7−23=No)、メダル一枚払出処理のサブルーチンを終了し、第1メダル払出処理のステップS115−8に処理を移行する。
【0411】
(ステップS115−7−24)
ステップS115−7−24において、メインCPU301は、ホッパーモータ91の駆動を停止する処理を行う。これに伴い、メインCPU301は、ホッパーモータ駆動時間の計時も停止し、ホッパーモータ駆動時間の値もクリアする。そして、ステップS115−7−24の処理が終了すると、メダル一枚払出処理のサブルーチンを終了し、第1メダル払出処理のステップS115−8に処理を移行する。
【0412】
(第2メダル払出処理)
次に、
図20に基づいて、
図19のステップS115−7−7の処理により行われる第2メダル払出処理についての説明を行う。なお、
図20は第2メダル払出処理のサブルーチンを示す図である。また、第2メダル払出処理は、第2記憶領域2200の第2制御領域2210に記憶されたプログラムに基づいて、実行される。
【0413】
(ステップS115−7−7−1)
ステップS115−7−7−1において、メインCPU301は、レジスタ退避処理を行う。具体的には、メインCPU301は、ステップS115−7−7−1の時点で使用しているレジスタの値を退避する処理を行う。ここでは、第2メダル投入チェック処理におけるステップS103−3−3−1と同様の処理を行う。そして、ステップS115−7−7−1の処理が終了すると、ステップS115−7−7−2に処理を移行する。
【0414】
(ステップS115−7−7−2)
ステップS115−7−7−2において、メインCPU301は、ホッパーモータ91が駆動中であるか否かを判定する処理を行う。具体的には、メインCPU301は、第1記憶領域2100の第1ワーク領域2160におけるホッパーモータ駆動中フラグを参照し、ホッパーモータ駆動中フラグがONであれば、ホッパーモータ91が駆動中であると判定し、ホッパーモータ駆動中フラグがONでなければ(OFFであれば)、ホッパーモータ91が駆動中でない(停止中である)と判定する。そして、メインCPU301は、ホッパーモータ91が駆動中であると判定した場合には、ステップS115−7−7−3に処理を移行し、ホッパーモータ91が駆動中でないと判定した場合には、ステップS115−7−7−12に処理を移行する。
【0415】
(ステップS115−7−7−3)
ステップS115−7−7−3において、メインCPU301は、払出センサ信号がONであるか否かを判定する処理を行う。具体的には、メインCPU301は、第1記憶領域2100の第1ワーク領域2160における払出センサ状態値を参照し、払出センサ状態値がONであれば、払出センサ信号がONであると判定し、払出センサ状態値がONでなければ(OFFであれば)、払出センサ信号がONでない(OFFである)と判定する。そして、メインCPU301は、払出センサ信号がONであると判定した場合には、ステップS115−7−7−7に処理を移行し、払出センサ信号がONでないと判定した場合には、ステップS115−7−7−4に処理を移行する。
【0416】
(ステップS115−7−7−4)
ステップS115−7−7−4において、メインCPU301は、第2領域用払出センサフラグがONであるか否かを判定する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260に記憶された第2領域用払出センサフラグがONであるか否かを判定する処理を行う。そして、メインCPU301は、第2領域用払出センサフラグがONであると判定された場合には(ステップS115−7−7−4=Yes)、ステップS115−7−7−5に処理を移行し、第2領域用払出センサフラグがONでないと判定された場合には(ステップS115−7−7−4=No)、ステップS115−7−7−12に処理を移行する。
【0417】
(ステップS115−7−7−5)
ステップS115−7−7−5において、メインCPU301は、第2領域用のホッパーモータ91の駆動時間の計時を終了する処理を行う。具体的には、メインCPU301は、割込処理による第2領域用ホッパーモータ駆動時間の更新を停止させ、第2領域用ホッパーモータ駆動時間の値をクリアする処理を行う。そして、ステップS115−7−7−5の処理が終了すると、ステップS115−7−7−6に処理を移行する。
【0418】
(ステップS115−7−7−6)
ステップS115−7−7−6において、メインCPU301は、第2領域用払出センサフラグをOFFとする処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260における第2領域用払出センサフラグにOFFをセットする処理を行う。そして、ステップS115−7−7−6の処理が終了すると、ステップS115−7−7−12に処理を移行する。
【0419】
(ステップS115−7−7−7)
ステップS115−7−7−7において、メインCPU301は、第2領域用払出センサフラグがOFFであるか否かを判定する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260に記憶された第2領域用払出センサフラグがOFFであるか否かを判定する処理を行う。そして、メインCPU301は、第2領域用払出センサフラグがOFFであると判定された場合には(ステップS115−7−7−7=Yes)、ステップS115−7−7−8に処理を移行し、第2領域用払出センサフラグがOFFでないと判定された場合には(ステップS115−7−7−7=No)、ステップS115−7−7−10に処理を移行する。
【0420】
(ステップS115−7−7−8)
ステップS115−7−7−8において、メインCPU301は、第2領域用のホッパーモータ91の駆動時間の計時を開始する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260における第2領域用ホッパーモータ駆動時間の値をクリアし、割込処理による第2領域用ホッパーモータ駆動時間の更新を開始させる処理を行う。そして、ステップS115−7−7−8の処理が終了すると、ステップS115−7−7−9に処理を移行する。
【0421】
(ステップS115−7−7−9)
ステップS115−7−7−9において、メインCPU301は、第2領域用払出センサフラグをONとする処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260における第2領域用払出センサフラグにONをセットする処理を行う。そして、ステップS115−7−7−9の処理が終了すると、ステップS115−7−7−10に処理を移行する。
【0422】
(ステップS115−7−7−10)
ステップS115−7−7−10において、メインCPU301は、第2領域用ホッパーモータ駆動時間が60ms以上であるか否かを判定する処理を行う。そして、メインCPU301は、第2領域用ホッパーモータ駆動時間が60ms以上であると判定された場合には(ステップS115−7−7−10=Yes)、ステップS115−7−7−11に処理を移行し、第2領域用ホッパーモータ駆動時間が60ms以上でないと判定された場合には(ステップS115−7−7−10=No)、ステップS115−7−7−12に処理を移行する。
【0423】
(ステップS115−7−7−11)
ステップS115−7−7−11において、メインCPU301は、エラーフラグ設定処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260におけるメダル詰まりフラグにONをセットする処理を行う。そして、ステップS115−7−7−11の処理が終了すると、ステップS115−7−7−12に処理を移行する。
【0424】
(ステップS115−7−7−12)
ステップS115−7−7−12において、メインCPU301は、レジスタ復帰処理を行う。具体的には、メインCPU301は、ステップS115−7−7−1の処理において、退避したレジスタの値を復帰させる処理を行う。ここでは、第2メダル投入チェック処理におけるステップS103−3−3−10の処理と同様の処理を行う。そして、ステップS115−7−7−12の処理が終了すると、第2メダル払出処理を終了し、メダル一枚払出処理に復帰し、ステップS115−7−8に処理を移行する。
【0425】
(遊技状態移行処理)
次に、
図21に基づいて、
図12のステップS116の処理により行われる遊技状態移行処理についての説明を行う。なお、
図21は遊技状態移行処理のサブルーチンを示す図である。
【0426】
(ステップS116−1)
ステップS116−1において、メインCPU301は、ボーナス作動中フラグがONであるか否かを判定する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられているボーナス作動中フラグ格納領域のBB作動中フラグ、RB作動中フラグのうち、少なくとも何れか一方がONであるか否かを判定する。ここで、本実施形態において、メインCPU301は、メインRAM303に設けられているボーナス作動中フラグ格納領域のBB作動中フラグ、RB作動中フラグのうち、少なくとも何れか一方がONである場合に、ボーナス作動中フラグがONであると判定する処理を行い、メインRAM303に設けられているボーナス作動中フラグ格納領域のBB作動中フラグ、及びRB作動中フラグがOFFである場合に、ボーナス作動中フラグがONではないと判定する処理を行う。そして、ボーナス作動中フラグがONであると判定された場合には(ステップS116−1=Yes)、ステップS116−2に処理を移行し、ボーナス作動中フラグがONではないと判定された場合には(ステップS116−1=No)、ステップS116−3に処理を移行する。
【0427】
(ステップS116−2)
ステップS116−2において、メインCPU301は、後で
図22を用いて詳述するボーナス作動中処理を行う。当該処理において、メインCPU301は、メインRAM303に設けられている払出枚数カウンタの値を減算する処理等を行う。そして、ステップS116−2の処理が終了すると、遊技状態移行処理のサブルーチンを終了し、メインループ処理のステップS101に処理を移行する。
【0428】
(ステップS116−3)
ステップS116−3において、メインCPU301は、ボーナスに係る図柄の組み合わせが有効ライン上に表示されたか否かを判定する処理を行う。具体的には、メインCPU301は、「ボーナスに係る図柄の組み合わせ」が有効ライン上に表示されたか否かを判定する処理を行う。そして、ボーナスに係る図柄の組み合わせが有効ライン上に表示されたと判定された場合には(ステップS116−3=Yes)、ステップS116−4に処理を移行し、ボーナスに係る図柄の組み合わせが有効ライン上に表示されていないと判定された場合には(ステップS116−3=No)、遊技状態移行処理のサブルーチンを終了し、メインループ処理のステップS101に処理を移行する。
【0429】
(ステップS116−4)
ステップS116−4において、メインCPU301は、ボーナス作動中フラグ更新処理を行う。具体的には、メインCPU301は、「BBに係る図柄の組み合わせ」が有効ライン上に表示された場合には、メインRAM303に設けられているボーナス作動中フラグ格納領域のBB作動中フラグをONにする処理を行い、「RBに係る図柄の組み合わせ」が有効ライン上に表示された場合には、メインRAM303に設けられているボーナス作動中フラグ格納領域のRB作動中フラグをONにする処理を行う。そして、ステップS116−4の処理が終了すると、ステップS116−5に処理を移行する。
【0430】
(ステップS116−5)
ステップS116−5において、メインCPU301は、ボーナス作動時処理を行う。具体的には、メインCPU301は、「BBに係る図柄の組み合わせ」が有効ライン上に表示された場合には、メインRAM303に設けられている払出枚数カウンタの値に所定の値をセットする処理、メインRAM303に設けられているキャリーフラグ格納領域の値をクリアする処理、メインRAM303に設けられている遊技可能回数カウンタの値をセットする処理、及びメインRAM303に設けられている入賞回数カウンタの値をセットする処理を行い、「RBに係る図柄の組み合わせ」が有効ライン上に表示された場合には、メインRAM303に設けられているキャリーフラグ格納領域の値をクリアする処理、メインRAM303に設けられている遊技可能回数カウンタの値をセットする処理、メインRAM303に設けられている入賞回数カウンタの値をセットする処理を行う。そして、ステップS116−5の処理が終了すると、遊技状態移行処理のサブルーチンを終了し、メインループ処理のステップS101に処理を移行する。
【0431】
(ボーナス作動中処理)
次に、
図22に基づいて、
図21のステップS116−2の処理により行われるボーナス作動中処理についての説明を行う。なお、
図22はボーナス作動中処理のサブルーチンを示す図である。
【0432】
(ステップS116−2−1)
ステップS116−2−1において、メインCPU301は、BB作動中フラグがONであるか否かを判定する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられているボーナス作動中フラグ格納領域のBB作動中フラグがONであるか否かを判定する処理を行う。そして、BB作動中フラグがONであると判定された場合には(ステップS116−2−1=Yes)、ステップS116−2−2に処理を移行し、BB作動中フラグがONではないと判定された場合には(ステップS116−2−1=No)、ステップS116−2−11に処理を移行する。
【0433】
(ステップS116−2−2)
ステップS116−2−2において、メインCPU301は、払出枚数カウンタ更新処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている払出枚数カウンタの値から、ステップS114の表示判定処理により算定されたメダルの払出枚数を減算する処理を行う。そして、ステップS116−2−2の処理が終了すると、ステップS116−2−3に処理を移行する。
【0434】
(ステップS116−2−3)
ステップS116−2−3において、メインCPU301は、払出枚数カウンタの値が「0」未満であるか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS116−2−2の払出枚数カウンタ更新処理により、メインRAM303に設けられている払出枚数カウンタの値から、ステップS114の表示判定処理により算定されたメダルの払出枚数を減算した結果、払出枚数カウンタの値が負の値となったか否かを判定する処理を行う。そして、払出枚数カウンタの値が「0」未満であると判定された場合には(ステップS116−2−3=Yes)、ステップS116−2−4に処理を移行し、払出枚数カウンタの値が「0」未満ではないと判定された場合には(ステップS116−2−3=No)、ステップS116−2−5に処理を移行する。
【0435】
(ステップS116−2−4)
ステップS116−2−4において、メインCPU301は、BB終了時処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている払出枚数カウンタの値や、メインRAM303に設けられているボーナス作動中フラグ格納領域の値をクリアする処理を行うとともに、メインRAM303に設けられている遊技状態格納領域にRT遊技状態に係る情報をセットする処理を行う。そして、ステップS116−2−4の処理が終了すると、ボーナス作動中処理のサブルーチンを終了し、メインループ処理のステップS101に処理を移行する。
【0436】
(ステップS116−2−5)
ステップS116−2−5において、メインCPU301は、遊技可能回数カウンタの値から「1」減算する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている遊技可能回数カウンタの値から「1」減算する処理を行う。そして、ステップS116−2−5の処理が終了すると、ステップS116−2−6に処理を移行する。
【0437】
(ステップS116−2−6)
ステップS116−2−6において、メインCPU301は、遊技可能回数カウンタの値が「0」であるか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS116−2−5の処理により、メインRAM303に設けられている遊技可能回数カウンタの値から「1」減算した結果、メインRAM303に設けられている遊技可能回数カウンタの値が「0」となったか否かを判定する処理を行う。そして、遊技可能回数カウンタの値が「0」であると判定された場合には(ステップS116−2−6=Yes)、ステップS116−2−10に処理を移行し、遊技可能回数カウンタの値が「0」ではないと判定された場合には(ステップS116−2−6=No)、ステップS116−2−7に処理を移行する。
【0438】
(ステップS116−2−7)
ステップS116−2−7において、メインCPU301は、入賞したか否かを判定する処理を行う。具体的には、メインCPU301は、「入賞に係る図柄の組み合わせ」が有効ライン上に表示されたか否かを判定する処理を行う。そして、入賞したと判定された場合には(ステップS116−2−7=Yes)、ステップS116−2−8に処理を移行し、入賞していないと判定された場合には(ステップS116−2−7=No)、ボーナス作動中処理のサブルーチンを終了し、メインループ処理のステップS101に処理を移行する。
【0439】
(ステップS116−2−8)
ステップS116−2−8において、メインCPU301は、入賞回数カウンタの値から「1」減算する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている入賞回数カウンタの値から「1」減算する処理を行う。そして、ステップS116−2−8の処理が終了すると、ステップS116−2−9に処理を移行する。
【0440】
(ステップS116−2−9)
ステップS116−2−9において、メインCPU301は、入賞回数カウンタの値が「0」であるか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS116−2−8の処理により、メインRAM303に設けられている入賞回数カウンタの値から「1」減算した結果、メインRAM303に設けられている入賞回数カウンタの値が「0」となったか否かを判定する処理を行う。そして、入賞回数カウンタの値が「0」であると判定された場合には(ステップS116−2−9=Yes)、ステップS116−2−10に処理を移行し、入賞回数カウンタの値が「0」ではないと判定された場合には(ステップS116−2−9=No)、ボーナス作動中処理のサブルーチンを終了し、メインループ処理のステップS101に処理を移行する。
【0441】
(ステップS116−2−10)
ステップS116−2−10において、メインCPU301は、BB中RB作動時処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている入賞回数カウンタに所定の値をセットする処理を行うとともに、メインRAM303に設けられている遊技可能回数カウンタに所定の値をセットする処理を行う。そして、ステップS116−2−10の処理が終了すると、ボーナス作動中処理のサブルーチンを終了し、メインループ処理のステップS101に処理を移行する。
【0442】
(ステップS116−2−11)
ステップS116−2−11において、メインCPU301は、遊技可能回数カウンタの値から「1」減算する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている遊技可能回数カウンタの値から「1」減算する処理を行う。そして、ステップS116−2−11の処理が終了すると、ステップS116−2−12に処理を移行する。
【0443】
(ステップS116−2−12)
ステップS116−2−12において、メインCPU301は、遊技可能回数カウンタの値が「0」であるか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS116−2−11の処理により、メインRAM303に設けられている遊技可能回数カウンタの値から「1」減算した結果、メインRAM303に設けられている遊技可能回数カウンタの値が「0」となったか否かを判定する処理を行う。そして、遊技可能回数カウンタの値が「0」であると判定された場合には(ステップS116−2−12=Yes)、ステップS116−2−16に処理を移行し、遊技可能回数カウンタの値が「0」ではないと判定された場合には(ステップS116−2−12=No)、ステップS116−2−13に処理を移行する。
【0444】
(ステップS116−2−13)
ステップS116−2−13において、メインCPU301は、入賞したか否かを判定する処理を行う。具体的には、メインCPU301は、「入賞に係る図柄の組み合わせ」が有効ライン上に表示されたか否かを判定する処理を行う。そして、入賞したと判定された場合には(ステップS116−2−13=Yes)、ステップS116−2−14に処理を移行し、入賞していないと判定された場合には(ステップS116−2−13=No)、ボーナス作動中処理のサブルーチンを終了し、メインループ処理のステップS101に処理を移行する。
【0445】
(ステップS116−2−14)
ステップS116−2−14において、メインCPU301は、入賞回数カウンタの値から「1」減算する処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている入賞回数カウンタの値から「1」減算する処理を行う。そして、ステップS116−2−14の処理が終了すると、ステップS116−2−15に処理を移行する。
【0446】
(ステップS116−2−15)
ステップS116−2−15において、メインCPU301は、入賞回数カウンタの値が「0」であるか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS116−2−14の処理により、メインRAM303に設けられている入賞回数カウンタの値から「1」減算した結果、メインRAM303に設けられている入賞回数カウンタの値が「0」となったか否かを判定する処理を行う。そして、入賞回数カウンタの値が「0」であると判定された場合には(ステップS116−2−15=Yes)、ステップS116−2−16に処理を移行し、入賞回数カウンタの値が「0」ではないと判定された場合には(ステップS116−2−15=No)、ボーナス作動中処理のサブルーチンを終了し、メインループ処理のステップS101に処理を移行する。
【0447】
(ステップS116−2−16)
ステップS116−2−16において、メインCPU301は、RB終了時処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている遊技状態格納領域にRT遊技状態に係る情報をセットする処理等を行う。そして、ステップS116−2−16の処理が終了すると、ボーナス作動中処理のサブルーチンを終了し、メインループ処理のステップS101に処理を移行する。
【0448】
(割込処理)
次に、
図23、
図24に基づいて、割込処理についての説明を行う。ここで、割込処理は、メインループ処理に対して、「1.49ms」毎に割り込んで行われる処理である。
【0449】
(ステップS201)
ステップS201において、メインCPU301は、レジスタを退避する処理を行う。具体的には、メインCPU301は、ステップS201の時点で使用しているレジスタの値を退避する処理を行う。そして、ステップS201の処理が終了すると、ステップS202に処理を移行する。
【0450】
(ステップS202)
ステップS202において、メインCPU301は、入力ポート読込処理を行う。具体的には、メインCPU301は、ステータス基板100、リール制御基板150、電源基板200から各種信号を受信する処理を行う。なお、メインCPU301は、入力ポート読込処理において、第2制御領域2210に記憶されたプログラムで参照される入力ポートの情報については、入力ポートから読み出して第1記憶領域2100の第1ワーク領域2160に記憶させておく。例えば、メインCPU301は、第1メダル通過センサ62および第2メダル通過センサ63の信号値に対応する入力ポートの値を、第1記憶領域2100の第1ワーク領域2160において、第1メダル通過センサ状態値および第2メダル通過センサ状態値として記憶させる。また、メインCPU301は、メダル投入検知センサ61の信号値に対応する入力ポートの値を、第1記憶領域2100の第1ワーク領域2160において、メダル投入検知センサ状態値として記憶させる。また、メインCPU301は、払出センサ92の信号値に対応する入力ポートの値を、第1記憶領域2100の第1ワーク領域2160において、払出センサ状態値として記憶させる。そして、ステップS202の処理が終了すると、ステップS203に処理を移行する。
【0451】
(ステップS203)
ステップS203において、メインCPU301は、タイマ計測処理を行う。具体的には、メインCPU301は、最小遊技時間等を計測するためのタイマカウンタの値から「1」減算する処理を行う。また、メインCPU301は、計時中のタイマ等についても計数処理を行う。例えば、メインCPU301は、ホッパーモータ91の駆動時間が計時中であれば、この駆動時間の計数処理を行う。そして、ステップS203の処理が終了すると、ステップS204に処理を移行する。
【0452】
(ステップS204)
ステップS204において、メインCPU301は、リール駆動制御処理を行う。具体的には、メインCPU301は、リール番号の初期値として右リール20に対応する「3」をセットし、リール番号「3」に対応する右ステッピングモータ153を駆動することにより、右リール20の回転の加速、定速、減速制御等を行う。次に、メインCPU301は、リール番号から「1」減算する処理を行い、リール番号「2」に対応する中ステッピングモータ152を駆動することにより、中リール19の回転の加速、定速、減速制御等を行う。次に、メインCPU301は、リール番号から「1」減算する処理を行い、リール番号「1」に対応する左ステッピングモータ151を駆動することにより、左リール18の回転の加速、定速、減速制御等を行う。そして、ステップS204の処理が終了すると、ステップS205に処理を移行する。
【0453】
(ステップS205)
ステップS205において、メインCPU301は、外部信号出力処理を行う。具体的には、メインCPU301は、外部集中端子板30の出力ポートデータを設定する処理等を行う。そして、ステップS205の処理が終了すると、ステップS206に処理を移行する。
【0454】
(ステップS206)
ステップS206において、メインCPU301は、LED表示処理を行う。具体的には、メインCPU301は、貯留枚数表示器15、払出枚数表示器16の表示データを作成する処理を行い、当該作成された表示データに基づいて、貯留枚数表示器15、払出枚数表示器16の制御を行う。そして、ステップS206の処理が終了すると、ステップS207に処理を移行する。
【0455】
(ステップS207)
ステップS207において、メインCPU301は、制御コマンド送信処理を行う。具体的には、メインCPU301は、メインRAM303に設けられている演出用伝送データ格納領域にセットされた各種コマンドをサブ制御基板400に対して送信する処理を行う。そして、ステップS207の処理が終了すると、ステップS208に処理を移行する。
【0456】
(ステップS208)
ステップS208において、メインCPU301は、ポート出力処理を行う。具体的には、メインCPU301は、ステータス基板100、リール制御基板150、電源基板200、サブ制御基板400に対して、各種信号を送信する処理を行う。なお、第2制御領域2210に記憶されたプログラムにおいては、出力ポートに対して信号を送信する処理を行うことはない。そして、ステップS208の処理が終了すると、ステップS209に処理を移行する。
【0457】
(ステップS209)
ステップS209において、メインCPU301は、入力エラーチェック処理を行う。当該処理において、メインCPU301は、各種の入力エラーを検査するためのエラーチェック処理を行う。例えば、メインCPU301は、ドア開放をチェックするためのドア開放チェック処理等を行う。そして、ステップS209の処理が終了すると、ステップS210に処理を移行する。
【0458】
(ステップS210)
ステップS210において、メインCPU301は、後で
図25を用いて詳述する第2記憶領域割込処理を行う。なお、第2記憶領域割込処理は、第2記憶領域2200の第2制御領域2210に記憶された第2記憶領域割込処理を行うプログラムを呼び出すことにより実行される。また、第1記憶領域2100の第1制御領域2110に記憶された割込処理を行うプログラムのステップS210に対応する箇所には、第2記憶領域2200の第2制御領域2210に記憶された第2記憶領域割込処理を行うプログラムを呼び出すためのアドレスが予め規定されている。当該処理において、メインCPU301は、第2記憶領域における割込処理等を行う。また、本実施の形態においては、第2記憶領域割込処理を、割込処理の途中で実行されるようにしているが、「第2記憶領域2200の第2制御領域2210に記憶されたプログラムを呼び出すことにより実行される」第2記憶領域割込処理と、「第1記憶領域2100の第1制御領域2110に記憶されたプログラムを呼び出すことにより実行される」割込処理と、をそれぞれ別々に、独立で実行させるようにしてもよい。そして、ステップS210の処理が終了すると、ステップS211に処理を移行する。
【0459】
(ステップS211)
ステップS211において、メインCPU301は、第1記憶領域復帰時エラーチェック処理を行う。具体的には、メインCPU301は、上記第2記憶領域2200に記憶されたプログラムによる第2記憶領域割込処理において、エラーが検出されたか否かをチェックする処理を行う。ここでは、第1記憶領域2100の第1制御領域2110に記憶されたプログラムによる割込処理において、第2記憶領域2200の第2ワーク領域2260に記憶されたエラーフラグを参照することにより、第2記憶領域2200の第2制御領域2210に記憶されたプログラムによる第2記憶領域割込処理において、エラーが検出されたか否かをチェックする。そして、ステップS211の処理が終了すると、ステップS212に処理を移行する。
【0460】
(ステップS212)
ステップS212において、メインCPU301は、エラーを検出したか否かを判定する処理を行う。具体的には、メインCPU301は、ステップS211の第1記憶領域復帰時エラーチェック処理において、エラーを検出したか否かを判定する処理を行う。そして、メインCPU301は、エラーを検出したと判定された場合には(ステップS212=Yes)、ステップS213に処理を移行し、エラーを検出していないと判定された場合には(ステップS212=No)、ステップS214に処理を移行する。
【0461】
(ステップS213)
ステップS213において、メインCPU301は、復帰時エラー検出時処理を行う。具体的には、メインCPU301は、エラー情報を各種表示器に表示するための処理等を行う。また、該当するエラーが検出された旨の情報を有するエラーコマンドをメインRAM303に設けられている演出用伝送データ格納領域にセットする処理を行う。そして、ステップS213の処理が終了すると、ステップS214に処理を移行する。なお、必要があればエラー表示後に遊技の停止処理を行う。
【0462】
(ステップS214)
ステップS214において、メインCPU301は、レジスタの復帰処理を行う。具体的には、メインCPU301は、ステップS201の処理において、退避したレジスタの値を復帰させる処理を行う。そして、ステップS214の処理が終了すると、割込処理を終了し、メインループ処理に復帰する。
【0463】
(第2記憶領域割込処理)
次に、
図25に基づいて、
図24のステップS210の処理により行われる第2記憶領域割込処理についての説明を行う。なお、
図25は第2記憶領域割込処理のサブルーチンを示す図である。また、第2記憶領域割込処理は、第2記憶領域2200の第2制御領域2210に記憶されたプログラムに基づいて、実行される。
【0464】
(ステップS401)
ステップS401において、メインCPU301は、レジスタ退避処理を行う。具体的には、メインCPU301は、ステップS401の時点で使用しているレジスタの値を退避する処理を行う。なお、このレジスタ退避処理は、第2メダル投入チェック処理のステップS103−3−3−1におけるレジスタ退避処理と同様の処理である。そして、ステップS401の処理が終了すると、ステップS402に処理を移行する。
【0465】
(ステップS402)
ステップS402において、メインCPU301は、タイマ計測処理を行う。具体的には、メインCPU301は、第2記憶領域2200における計時中のタイマ等についての計数処理を行う。例えば、メインCPU301は、ホッパーモータ91の駆動時間が第2記憶領域2200において計時中であれば、この駆動時間の計数処理を行う。なお、本ステップS402のタイマ計測処理におけるタイマの計数処理と、上記割込処理のステップS203のタイマ計測処理におけるタイマの計数処理では、同一内容のプログラムであるサブルーチンを呼び出すが、本ステップS402のタイマ計測処理におけるタイマの計数処理は、第2記憶領域2200の第2制御領域2210に記憶されたプログラムを呼び出すことによって実行し、第2ワーク領域2260に記憶されたタイマの値を更新するものであり、上記割込処理のステップS203のタイマ計測処理におけるタイマの計数処理は、第1記憶領域2100の第1制御領域2110に記憶されたプログラムを呼び出すことによって実行し、第1ワーク領域2160に記憶されたタイマの値を更新するものである。すなわち、それぞれのタイマ計測処理は、対応するサブルーチンのみを呼び出すものであって、他方のサブルーチンは呼び出さない。そして、ステップS402の処理が終了すると、ステップS403に処理を移行する。
【0466】
(ステップS403)
ステップS403において、メインCPU301は、後で
図26を用いて詳述する第2記憶領域入力エラーチェック処理を行う。当該処理において、メインCPU301は、各種入力エラー(投入エラー、払出エラー)の検査処理等を行う。そして、ステップS403の処理が終了すると、ステップS404に処理を移行する。
【0467】
(ステップS404)
ステップS404において、メインCPU301は、レジスタ復帰処理を行う。具体的には、メインCPU301は、ステップS401の処理において、退避したレジスタの値を復帰させる処理を行う。なお、このレジスタ復帰処理は、第2メダル投入チェック処理のステップS103−3−3−10におけるレジスタ復帰処理と同様の処理である。そして、ステップS404の処理が終了すると、第2記憶領域割込処理を終了し、割込処理のステップS211に処理を移行する。
【0468】
(第2記憶領域入力エラーチェック処理)
次に、
図26に基づいて、
図25のステップS403の処理により行われる第2記憶領域入力エラーチェック処理についての説明を行う。なお、
図26は第2記憶領域入力エラーチェック処理のサブルーチンを示す図である。また、上記のように、第2記憶領域入力エラーチェック処理も、第2記憶領域2200の第2制御領域2210に記憶されたプログラムを呼び出すことにより実行される。
【0469】
(ステップS403−1)
ステップS403−1において、メインCPU301は、投入エラーまたは払出エラー時であるか否かを判定する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260における投入エラーフラグ(通過エラーフラグを含む)および払出エラーフラグを検索し、投入エラーフラグまたは払出エラーフラグがONであるか否かを判定する処理を行う。そして、投入エラーフラグまたは払出エラーフラグがONであると判定された場合には(ステップS403−1=Yes)、第2記憶領域入力エラーチェック処理を終了し、第2記憶領域割込処理のステップS404に処理を移行し、投入エラーフラグおよび払出エラーフラグがONでないと判定された場合には(ステップS403−1=No)、ステップS403−2に処理を移行する。
【0470】
(ステップS403−2)
ステップS403−2において、メインCPU301は、後で
図27を用いて詳述する投入センサエラーチェック処理を行う。当該処理において、メインCPU301は、メダルの投入に関するエラー(セレクター14におけるエラー)を判定する処理等を行う。そして、ステップS403−2の処理が終了すると、ステップS402−3に処理を移行する。
【0471】
(ステップS403−3)
ステップS403−3において、メインCPU301は、後で
図28を用いて詳述する払出センサエラーチェック処理を行う。当該処理において、メインCPU301は、メダルの払い出しに関するエラー(ホッパー202におけるエラー)を判定する処理等を行う。そして、ステップS403−3の処理が終了すると、第2記憶領域入力エラーチェック処理を終了し、第2記憶領域割込処理のステップS404に処理を移行する。
【0472】
(投入センサエラーチェック処理)
次に、
図27に基づいて、
図26のステップS403−2の処理により行われる投入センサエラーチェック処理についての説明を行う。なお、
図27は投入センサエラーチェック処理のサブルーチンを示す図である。また、上記のように、投入センサエラーチェック処理も、第2記憶領域2200の第2制御領域2210に記憶されたプログラムを呼び出すことにより実行される。
【0473】
(ステップS403−2−1)
ステップS403−2−1において、メインCPU301は、ブロッカ54がOFF状態であるか否かを判定する処理を行う。具体的には、メインCPU301は、第1記憶領域2100の第1ワーク領域2160に記憶されたブロッカ54の制御状態値を参照し、ブロッカ54の状態を判定する。なお、メインCPU301は、第1記憶領域2100の第1制御領域2110に記憶されたプログラムにおいて、メダルの投入を許可する場合に、ブロッカ54をONに制御するとともに、第1ワーク領域2160におけるブロッカ54の制御状態値にONを記憶させ、メダルの投入を許可しない場合に、ブロッカ54をOFFに制御するとともに、第1ワーク領域2160におけるブロッカ54の制御状態値にOFFを記憶させる。
【0474】
そして、ブロッカ54がOFF状態であると判定された場合には(ステップS403−2−1=Yes)、ステップS403−2−5に処理を移行し、ブロッカ54がOFF状態でないと判定された場合には(ステップS403−2−1=No)、ステップS403−2−2に処理を移行する。
【0475】
(ステップS403−2−2)
ステップS403−2−2において、メインCPU301は、ブロッカフラグがOFFであるか否かを判定する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260に記憶されたブロッカフラグの値が、OFFであるか否かを判定する。そして、ブロッカフラグの値がOFFであると判定された場合には(ステップS403−2−2=Yes)、ステップS403−2−3に処理を移行し、ブロッカフラグの値がOFFでないと判定された場合には(ステップS403−2−2=No)、ステップS403−2−12に処理を移行する。
【0476】
(ステップS403−2−3)
ステップS403−2−3において、メインCPU301は、ブロッカOFF時間の計時を終了する処理を行う。具体的には、メインCPU301は、第2記憶領域割込処理におけるタイマ計測処理によるブロッカOFF時間の更新を停止させ、第2記憶領域2200の第2ワーク領域2260におけるブロッカOFF時間の値をクリアする処理を行う。そして、ステップS403−2−3の処理が終了すると、ステップS403−2−4に処理を移行する。
【0477】
(ステップS403−2−4)
ステップS403−2−4において、メインCPU301は、ブロッカフラグをONとする処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260におけるブロッカフラグにONをセットする処理を行う。そして、ステップS403−2−4の処理が終了すると、ステップS403−2−12に処理を移行する。
【0478】
(ステップS403−2−5)
ステップS403−2−5において、メインCPU301は、ブロッカフラグがONであるか否かを判定する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260に記憶されたブロッカフラグの値が、ONであるか否かを判定する。そして、ブロッカフラグの値がONであると判定された場合には(ステップS403−2−5=Yes)、ステップS403−2−6に処理を移行し、ブロッカフラグの値がONでないと判定された場合には(ステップS403−2−5=No)、ステップS403−2−8に処理を移行する。
【0479】
(ステップS403−2−6)
ステップS403−2−6において、メインCPU301は、ブロッカOFF時間の計時を開始する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260におけるブロッカOFF時間の値をクリアし、第2記憶領域割込処理におけるタイマ計測処理によるブロッカOFF時間の更新を開始させる処理を行う。そして、ステップS403−2−6の処理が終了すると、ステップS403−2−7に処理を移行する。
【0480】
(ステップS403−2−7)
ステップS403−2−7において、メインCPU301は、ブロッカフラグをOFFとする処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260におけるブロッカフラグにOFFをセットする処理を行う。そして、ステップS403−2−7の処理が終了すると、ステップS403−2−8に処理を移行する。
【0481】
(ステップS403−2−8)
ステップS403−2−8において、メインCPU301は、ブロッカOFF時間が500ms以上であるか否かを判定する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260に記憶されたブロッカOFF時間が、500ms以上となったか否かを判定する。そして、ブロッカOFF時間が500ms以上であると判定された場合には(ステップS403−2−8=Yes)、ステップS403−2−9に処理を移行し、ブロッカOFF時間が500ms以上でないと判定された場合には(ステップS403−2−8=No)、ステップS403−2−12に処理を移行する。
【0482】
(ステップS403−2−9)
ステップS403−2−9において、メインCPU301は、第1メダル通過センサ62の信号がONであるか否かを判定する処理を行う。具体的には、メインCPU301は、第1記憶領域2100の第1ワーク領域2160に記憶された第1メダル通過センサ状態値を参照し、第1メダル通過センサ62の信号がONであるか否かを判定する。なお、上記のように、メインCPU301は、第1記憶領域2100の第1制御領域2110に記憶されたプログラムにおいて、第1メダル通過センサ62から信号を入力する(第1メダル通過センサ62に対応する入力ポートの値がONとなる)と、第1ワーク領域2160における第1メダル通過センサ状態値にONを記憶させ、第1メダル通過センサ62からの信号を入力しなくなる(第1メダル通過センサ62に対応する入力ポートの値がOFFとなる)と、第1ワーク領域2160における第1メダル通過センサ状態値にOFFを記憶させる。
【0483】
そして、第1メダル通過センサ62の信号がONであると判定された場合には(ステップS403−2−9=Yes)、ステップS403−2−11に処理を移行し、第1メダル通過センサ62の信号がONでないと判定された場合には(ステップS403−2−9=No)、ステップS403−2−10に処理を移行する。
【0484】
(ステップS403−2−10)
ステップS403−2−10において、メインCPU301は、第2メダル通過センサ63の信号がONであるか否かを判定する処理を行う。具体的には、メインCPU301は、第1記憶領域2100の第1ワーク領域2160に記憶された第2メダル通過センサ状態値を参照し、第2メダル通過センサ63の信号がONであるか否かを判定する。なお、上記のように、メインCPU301は、第1記憶領域2100の第1制御領域2110に記憶されたプログラムにおいて、第2メダル通過センサ63から信号を入力する(第2メダル通過センサ63に対応する入力ポートの値がONとなる)と、第1ワーク領域2160における第2メダル通過センサ状態値にONを記憶させ、第2メダル通過センサ63からの信号を入力しなくなる(第2メダル通過センサ63に対応する入力ポートの値がOFFとなる)と、第1ワーク領域2160における第2メダル通過センサ状態値にOFFを記憶させる。
【0485】
そして、第2メダル通過センサ63の信号がONであると判定された場合には(ステップS403−2−10=Yes)、ステップS403−2−11に処理を移行し、第2メダル通過センサ63の信号がONでないと判定された場合には(ステップS403−2−10=No)、ステップS403−2−12に処理を移行する。
【0486】
(ステップS403−2−11)
ステップS403−2−11において、メインCPU301は、通過エラーフラグ設定処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260における通過エラーフラグにONをセットする処理を行う。そして、ステップS403−2−11の処理が終了すると、投入センサエラーチェック処理を終了して、第2記憶領域入力エラーチェック処理のステップS403−3に処理を移行する。
【0487】
(ステップS403−2−12)
ステップS403−2−12において、メインCPU301は、メダル投入検知センサ61の信号がONであるか否かを判定する処理を行う。具体的には、メインCPU301は、第1記憶領域2100の第1ワーク領域2160に記憶されたメダル投入検知センサ状態値を参照し、メダル投入検知センサ61の信号がONであるか否かを判定する。なお、上記のように、メインCPU301は、第1記憶領域2100の第1制御領域2110に記憶されたプログラムにおいて、メダル投入検知センサ61から信号を入力する(メダル投入検知センサ61に対応する入力ポートの値がONとなる)と、第1ワーク領域2160におけるメダル投入検知センサ状態値にONを記憶させ、メダル投入検知センサ61からの信号を入力しなくなる(メダル投入検知センサ61に対応する入力ポートの値がOFFとなる)と、第1ワーク領域2160におけるメダル投入検知センサ状態値にOFFを記憶させる。
【0488】
そして、メダル投入検知センサ61の信号がONであると判定された場合には(ステップS403−2−12=Yes)、ステップS403−2−16に処理を移行し、メダル投入検知センサ61の信号がONでないと判定された場合には(ステップS403−2−12=No)、ステップS403−2−13に処理を移行する。
【0489】
(ステップS403−2−13)
ステップS403−2−13において、メインCPU301は、投入検知センサフラグがONであるか否かを判定する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260に記憶された投入検知センサフラグの値が、ONであるか否かを判定する。そして、投入検知センサフラグの値がONであると判定された場合には(ステップS403−2−13=Yes)、ステップS403−2−14に処理を移行し、投入検知センサフラグの値がONでないと判定された場合には(ステップS403−2−13=No)、投入センサエラーチェック処理を終了し、第2記憶領域入力エラーチェック処理のステップS403−3に処理を移行する。
【0490】
(ステップS403−2−14)
ステップS403−2−14において、メインCPU301は、投入検知センサON中時間の計時を終了する処理を行う。具体的には、メインCPU301は、第2記憶領域割込処理におけるタイマ計測処理による投入検知センサON中時間の更新を停止させ、第2記憶領域2200の第2ワーク領域2260における投入検知センサON中時間の値をクリアする処理を行う。そして、ステップS403−2−14の処理が終了すると、ステップS403−2−15に処理を移行する。
【0491】
(ステップS403−2−15)
ステップS403−2−15において、メインCPU301は、投入検知センサフラグをOFFとする処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260における投入検知センサフラグにOFFをセットする処理を行う。そして、ステップS403−2−15の処理が終了すると、投入センサエラーチェック処理を終了し、第2記憶領域入力エラーチェック処理のステップS403−3に処理を移行する。
【0492】
(ステップS403−2−16)
ステップS403−2−16において、メインCPU301は、投入検知センサフラグがOFFであるか否かを判定する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260に記憶された投入検知センサフラグの値が、OFFであるか否かを判定する。そして、投入検知センサフラグの値がOFFであると判定された場合には(ステップS403−2−16=Yes)、ステップS403−2−17に処理を移行し、投入検知センサフラグの値がOFFでないと判定された場合には(ステップS403−2−16=No)、ステップS403−2−19に処理を移行する。
【0493】
(ステップS403−2−17)
ステップS403−2−17において、メインCPU301は、投入検知センサON中時間の計時を開始する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260における投入検知センサON中時間の値をクリアし、第2記憶領域割込処理におけるタイマ計測処理による投入検知センサON中時間の更新を開始させる処理を行う。そして、ステップS403−2−17の処理が終了すると、ステップS403−2−18に処理を移行する。
【0494】
(ステップS403−2−18)
ステップS403−2−18において、メインCPU301は、投入検知センサフラグをONとする処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260における投入検知センサフラグにONをセットする処理を行う。そして、ステップS403−2−18の処理が終了すると、ステップS403−2−19に処理を移行する。
【0495】
(ステップS403−2−19)
ステップS403−2−19において、メインCPU301は、投入検知センサON中時間が1500ms以上であるか否かを判定する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260に記憶された投入検知センサON中時間が、1500ms以上となったか否かを判定する。そして、投入検知センサON中時間が1500ms以上であると判定された場合には(ステップS403−2−19=Yes)、ステップS403−2−20に処理を移行し、投入検知センサON中時間が1500ms以上でないと判定された場合には(ステップS403−2−19=No)、投入センサエラーチェック処理を終了し、第2記憶領域入力エラーチェック処理のステップS403−3に処理を移行する。
【0496】
(ステップS403−2−20)
ステップS403−2−20において、メインCPU301は、投入エラーフラグ設定処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260における投入エラーフラグにONをセットする処理を行う。そして、ステップS403−2−20の処理が終了すると、投入センサエラーチェック処理を終了して、第2記憶領域入力エラーチェック処理のステップS403−3に処理を移行する。
【0497】
(払出センサエラーチェック処理)
次に、
図28に基づいて、
図26のステップS403−3の処理により行われる払出センサエラーチェック処理についての説明を行う。なお、
図28は払出センサエラーチェック処理のサブルーチンを示す図である。また、上記のように、払出センサエラーチェック処理も、第2記憶領域2200の第2制御領域2210に記憶されたプログラムを呼び出すことにより実行される。
【0498】
(ステップS403−3−1)
ステップS403−3−1において、メインCPU301は、ホッパーモータ91が停止中であるか否かを判定する処理を行う。具体的には、メインCPU301は、第1記憶領域2100の第1ワーク領域2160に記憶されたホッパーモータ動作状態値を参照し、ホッパーモータ91の動作状態を判定する。なお、メインCPU301は、第1記憶領域2100の第1制御領域2110に記憶されたプログラムにおいて、ホッパーモータ91を動作させる際には、第1ワーク領域2160におけるホッパーモータ動作状態値にONを記憶させ、ホッパーモータ91を停止させる際には、第1ワーク領域2160におけるホッパーモータ動作状態値にOFFを記憶させる。
【0499】
そして、ホッパーモータ91が停止中であると判定された場合には(ステップS403−3−1=Yes)、ステップS403−3−2に処理を移行し、ホッパーモータ91が停止中でないと判定された場合には(ステップS403−3−1=No)、払出センサエラーチェック処理を終了して、第2記憶領域割込処理のステップS404に処理を移行する。
【0500】
(ステップS403−3−2)
ステップS403−3−2において、メインCPU301は、払出センサ92の信号がONであるか否かを判定する処理を行う。具体的には、メインCPU301は、第1記憶領域2100の第1ワーク領域2160に記憶された払出センサ状態値を参照し、払出センサ92の信号がONであるか否かを判定する。なお、上記のように、メインCPU301は、第1記憶領域2100の第1制御領域2110に記憶されたプログラムにおいて、払出センサ92から信号を入力する(払出センサ92に対応する入力ポートの値がONとなる)と、第1ワーク領域2160における払出センサ状態値にONを記憶させ、払出センサ92からの信号を入力しなくなる(払出センサ92に対応する入力ポートの値がOFFとなる)と、第1ワーク領域2160における払出センサ状態値にOFFを記憶させる。
【0501】
そして、払出センサ92の信号がONであると判定された場合には(ステップS403−3−2=Yes)、ステップS403−3−6に処理を移行し、払出センサ92の信号がONでないと判定された場合には(ステップS403−3−2=No)、ステップS403−3−3に処理を移行する。
【0502】
(ステップS403−3−3)
ステップS403−3−3において、メインCPU301は、第2領域用払出センサフラグがONであるか否かを判定する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260に記憶された第2領域用払出センサフラグの値が、ONであるか否かを判定する。そして、第2領域用払出センサフラグの値がONであると判定された場合には(ステップS403−3−3=Yes)、ステップS403−3−4に処理を移行し、第2領域用払出センサフラグの値がONでないと判定された場合には(ステップS403−3−3=No)、払出センサエラーチェック処理を終了し、第2記憶領域割込処理のステップS404に処理を移行する。
【0503】
(ステップS403−3−4)
ステップS403−3−4において、メインCPU301は、モータOFF中払出センサ検出時間の計時を終了する処理を行う。具体的には、メインCPU301は、第2記憶領域割込処理におけるタイマ計測処理によるモータOFF中払出センサ検出時間の更新を停止させ、第2記憶領域2200の第2ワーク領域2260におけるモータOFF中払出センサ検出時間の値をクリアする処理を行う。そして、ステップS403−3−4の処理が終了すると、ステップS403−3−5に処理を移行する。
【0504】
(ステップS403−3−5)
ステップS403−3−5において、メインCPU301は、第2領域用払出センサフラグをOFFとする処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260における第2領域用払出センサフラグにOFFをセットする処理を行う。そして、ステップS403−3−5の処理が終了すると、払出センサエラーチェック処理を終了し、第2記憶領域割込処理のステップS404に処理を移行する。
【0505】
(ステップS403−3−6)
ステップS403−3−6において、メインCPU301は、第2領域用払出センサフラグがOFFであるか否かを判定する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260に記憶された第2領域用払出センサフラグの値が、OFFであるか否かを判定する。そして、第2領域用払出センサフラグの値がOFFであると判定された場合には(ステップS403−3−6=Yes)、ステップS403−3−7に処理を移行し、第2領域用払出センサフラグの値がOFFでないと判定された場合には(ステップS403−3−6=No)、ステップS403−3−9に処理を移行する。
【0506】
(ステップS403−3−7)
ステップS403−3−7において、メインCPU301は、モータOFF中払出センサ検出時間の計時を開始する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260におけるモータOFF中払出センサ検出時間の値をクリアし、第2記憶領域割込処理におけるタイマ計測処理によるモータOFF中払出センサ検出時間の更新を開始させる処理を行う。そして、ステップS403−3−7の処理が終了すると、ステップS403−3−8に処理を移行する。
【0507】
(ステップS403−3−8)
ステップS403−3−8において、メインCPU301は、第2領域用払出センサフラグをONとする処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260における第2領域用払出センサフラグにONをセットする処理を行う。そして、ステップS403−3−8の処理が終了すると、ステップS403−3−9に処理を移行する。
【0508】
(ステップS403−3−9)
ステップS403−3−9において、メインCPU301は、モータOFF中払出センサ検出時間が7.5ms以上であるか否かを判定する処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260に記憶されたモータOFF中払出センサ検出時間が、7.5ms以上となったか否かを判定する。そして、モータOFF中払出センサ検出時間が7.5ms以上であると判定された場合には(ステップS403−3−9=Yes)、ステップS403−3−10に処理を移行し、モータOFF中払出センサ検出時間が7.5ms以上でないと判定された場合には(ステップS403−3−9=No)、払出センサエラーチェック処理を終了し、第2記憶領域割込処理のステップS404に処理を移行する。
【0509】
(ステップS403−3−10)
ステップS403−3−10において、メインCPU301は、払出エラーフラグ設定処理を行う。具体的には、メインCPU301は、第2記憶領域2200の第2ワーク領域2260における払出エラーフラグにONをセットする処理を行う。そして、ステップS403−3−10の処理が終了すると、払出センサエラーチェック処理を終了して、第2記憶領域入力エラーチェック処理のステップS403−3に処理を移行する。
【0510】
(サブ制御基板におけるメイン処理)
次に、
図29に基づいて、サブ制御基板におけるメイン処理についての説明を行う。
【0511】
(ステップS301)
ステップS301において、サブCPU401は、初期化処理を行う。具体的には、サブCPU401は、サブRAM403のエラーをチェックする処理等を行う。そして、ステップS301の処理が終了すると、ステップS302に処理を移行する。
【0512】
(ステップS302)
ステップS302において、サブCPU401は、後で
図30を用いて詳述するメイン制御基板通信処理を行う。当該処理において、サブCPU401は、メイン制御基板300から受信したコマンドを解析する処理等を行う。そして、ステップS302の処理が終了すると、ステップS303に処理を移行する。
【0513】
(ステップS303)
ステップS303において、サブCPU401は、サウンド制御処理を行う。具体的には、サブCPU401は、後述のステップS302−3−3のサウンドデータ決定処理により決定されたサウンドデータに基づいて、スピーカ33から音声を出力する処理を行う。そして、ステップS303の処理が終了すると、ステップS304に処理を移行する。
【0514】
(ステップS304)
ステップS304において、サブCPU401は、LED制御処理を行う。具体的には、サブCPU401は、後述のステップS302−3−2のLEDデータ決定処理により決定されたLEDデータに基づいて、LED32の制御を行う。そして、ステップS304の処理が終了すると、ステップS305に処理を移行する。
【0515】
(ステップS305)
ステップS305において、サブCPU401は、画像制御処理を行う。具体的には、サブCPU401は、後述のステップS302−3−4の画像データ決定処理により決定された画像データに基づいて、液晶表示装置31の制御を行う。そして、ステップS305の処理が終了すると、ステップS306に処理を移行する。
【0516】
(ステップS306)
ステップS306において、サブCPU401は、各種スイッチ検出時処理を行う。具体的には、サブCPU401は、演出ボタンセンサ21sが演出ボタン21の操作を検出した場合や、十字キーセンサ22sが十字キー22の操作を検出した場合に所定の処理を実行する処理を行う。そして、ステップS306の処理が終了すると、ステップS302に処理を移行する。
【0517】
(メイン制御基板通信処理)
次に、
図30に基づいて、
図29のステップS302の処理により行われるメイン制御基板通信処理についての説明を行う。なお、
図30はメイン制御基板通信処理のサブルーチンを示す図である。
【0518】
(ステップS302−1)
ステップS302−1において、サブCPU401は、異なるコマンドを受信したか否かを判定する処理を行う。具体的には、サブCPU401は、メイン制御基板300から受信したコマンドが前回受信したコマンドと異なるコマンドであるか否かを判定する処理を行う。そして、異なるコマンドを受信したと判定された場合には(ステップS302−1=Yes)、ステップS302−2に処理を移行し、異なるコマンドを受信していないと判定された場合には(ステップS302−1=No)、メイン制御基板通信処理のサブルーチンを終了し、サブ制御基板におけるメイン処理のステップS303に処理を移行する。
【0519】
(ステップS302−2)
ステップS302−2において、サブCPU401は、遊技情報格納処理を行う。具体的には、サブCPU401は、前回送信されたコマンドと異なるコマンドに基づいて、遊技情報を作成し、サブRAM403の所定の格納領域に格納する処理を行う。そして、ステップS302−2の処理が終了すると、ステップS302−3に処理を移行する。
【0520】
(ステップS302−3)
ステップS302−3において、サブCPU401は、後で
図31を用いて詳述するコマンド解析処理を行う。当該処理において、サブCPU401は、ステップS302−2の処理により格納した遊技情報に基づいた処理を実行する。そして、ステップS302−3の処理が終了すると、メイン制御基板通信処理のサブルーチンを終了し、サブ制御基板におけるメイン処理のステップS303に処理を移行する。
【0521】
(コマンド解析処理)
次に、
図31に基づいて、
図30のステップS302−3の処理により行われるコマンド解析処理についての説明を行う。なお、
図31はコマンド解析処理のサブルーチンを示す図である。
【0522】
(ステップS302−3−1)
ステップS302−3−1において、サブCPU401は、サブ演出決定処理を行う。具体的には、サブCPU401は、メイン制御基板300により受信したコマンドに基づいて、メイン制御基板300により管理される状態を特定し、サブROM402に設けられている演出決定テーブル(
図10参照)を選択する処理を行う。そして、サブCPU401は、選択された演出決定テーブルに基づいて、液晶表示装置31等により実行される演出を決定する処理を行う。ここで、例えば、メイン制御基板300によりエラーコマンドを受信した場合には、対応するエラー処理を行う。これにより、後述するステップS302−3−2、ステップS302−3−3、ステップS302−3−4の処理により、所定のLEDデータ、サウンドデータ、画像データ等が決定され、ステップS303、ステップS304、ステップS305の処理において、スピーカ33、LED32、液晶表示装置31等から所定のエラー報知が行われる。そして、ステップS302−3−1の処理が終了すると、ステップS302−3−2に処理を移行する。
【0523】
(ステップS302−3−2)
ステップS302−3−2において、サブCPU401は、LEDデータ決定処理を行う。具体的には、サブCPU401は、ステップS302−3−1のサブ演出決定処理により決定された演出に対応するLEDデータを決定する処理を行う。そして、ステップS302−3−2の処理が終了すると、ステップS302−3−3に処理を移行する。
【0524】
(ステップS302−3−3)
ステップS302−3−3において、サブCPU401は、サウンドデータ決定処理を行う。具体的には、サブCPU401は、ステップS302−3−1のサブ演出決定処理により決定された演出に対応するサウンドデータを決定する処理を行う。そして、ステップS302−3−3の処理が終了すると、ステップS302−3−4に処理を移行する。
【0525】
(ステップS302−3−4)
ステップS302−3−4において、サブCPU401は、画像データ決定処理を行う。具体的には、サブCPU401は、ステップS302−3−1のサブ演出決定処理により決定された演出に対応する画像データを決定する処理を行う。そして、ステップS302−3−4の処理が終了すると、コマンド解析処理のサブルーチンを終了し、サブ制御基板におけるメイン処理のステップS303に処理を移行する。
【0526】
なお、本実施の形態においては、メインCPU301は、第1記憶領域2100の第1制御領域2110に記憶されたプログラムが実行する第1制御処理から、第2記憶領域2200の第2制御領域2210に記憶されたプログラムが実行する第2制御処理に移行する際に、第2制御処理において、レジスタの値を転送し、第1制御処理に戻る前に、上記レジスタの値を復帰させてレジスタの値を保護するようにしているが、第1制御処理から第2制御処理に移行する前に、レジスタの値を転送し、第1制御処理に戻った際に、上記レジスタの値を復帰させてレジスタの値を保護するようにしてもよい。
【0527】
以上のように、本実施の形態における遊技機1は、第1記憶領域2100の第1制御領域2110にあるプログラムが更新した第1ワーク領域2160上のデータを、第2記憶領域2200の第2制御領域2210にあるプログラムが変更することなく、また、第2記憶領域2200の第2制御領域2210にあるプログラムが更新した第2ワーク領域2260上のデータを、第1記憶領域2100の第1制御領域2110にあるプログラムが変更することがないので、第1制御領域2110上のプログラムと、第2制御領域2210上のプログラムと、を完全に独立した制御として扱うことができるとともに、互いが更新した情報の参照は行うことができ、他方の制御領域にあるプログラムを互いに利用しあうこともできる。さらに、プログラムの格納領域を分散させることができ、例えば、第1記憶領域2100に容量の制約がある場合においても、第2記憶領域2200を利用して新たな機能の追加等を行うことができる。
【0528】
さらに、本実施の形態における遊技機1は、第1記憶領域2100の第1制御領域2110に記憶されたプログラムが、第2記憶領域2200の第2制御領域2210に記憶されたプログラムを呼び出して、第2制御領域2210に記憶されたプログラムの終了を持って第1制御領域2110に記憶されたプログラムを再開するので、所定の処理を第2記憶領域2200に移して、必要なときに当該処理を利用することができるので、第1記憶領域2100の記憶容量を圧迫せずに、新たな制御を追加することができる。
【0529】
さらに、本実施の形態における遊技機1は、第2記憶領域2200の第2制御領域2210に、遊技機1に関する異常を検出するための処理の少なくとも一部を構成するプログラムを記憶している。これにより、第1記憶領域2100の容量を圧迫せずに、異常を検出するための処理を容易に追加することができる。
【0530】
例えば、本実施の形態における遊技機1は、第2記憶領域2200の第2制御領域2210に、セレクターセンサ14sによる検知結果に基づくメダルの投入に関する異常を検出するための処理の少なくとも一部を構成するプログラムを記憶している。
【0531】
また、本実施の形態における遊技機1は、第2記憶領域2200の第2制御領域2210に、ホッパーセンサ202sによる検知結果に基づくメダルの払い出しに関する異常を検出するための処理の少なくとも一部を構成するプログラムを記憶している。
【0532】
さらに、本実施の形態における遊技機1は、第2記憶領域2200の第2制御領域2210に、第1記憶領域2100の第1制御領域2110に記憶された第1制御プログラムに呼び出されることにより実行され、終了後に上記第1制御プログラムに復帰させる第2制御プログラムを記憶し、第1制御プログラムから第2制御プログラムが呼び出される際に、演算処理によるデータが格納されたレジスタの値を保護している。これにより、第1制御プログラムの実行中の第2制御プログラムの割り込みにより、第1制御プログラムの演算中の値が保護され、復帰時にそのまま演算を続行することができる。
【0533】
また、本実施の形態における遊技機1は、第2記憶領域2200の第2制御領域2210に、第1記憶領域2100の第1制御領域2110に記憶された第1制御プログラムに呼び出されることにより実行され、終了後に上記第1制御プログラムに復帰させる第2制御プログラムを記憶し、第1制御プログラムから第2制御プログラムが呼び出される際に、演算処理によるデータが格納されたレジスタの値を退避させた後、このレジスタの値をクリアしている。これにより、第2制御プログラムを実行する際に、無用に第1制御プログラムの処理により設定されたレジスタの値が引き継がれることがなく、第2制御プログラムの独立性を確保することができる。
【0534】
さらに、本実施の形態における遊技機1は、第2記憶領域2200の第2制御領域2210に、第1記憶領域2100の第1制御領域2110に記憶された第1制御プログラムに呼び出されることにより実行され、終了後に上記第1制御プログラムに復帰させる第2制御プログラムを記憶し、第1記憶領域2100の第1制御領域2110には、上記第2制御プログラムを呼び出すためのアドレスが予め規定された第1制御プログラムが記憶されている。
【0535】
さらに、本実施の形態における遊技機1は、第2記憶領域2200の第2制御領域2210に記憶された第2制御プログラムが、第1記憶領域2100の第1制御領域2110に記憶された第1制御プログラムを、呼び出すことはない。
【0536】
さらに、本実施の形態における遊技機1は、第1記憶領域2100の第1制御領域2110に記憶されたプログラムによって実行される第1制御においては参照され、第2記憶領域2200の第2制御領域2210に記憶されたプログラムによって実行される第2制御においては参照されない、外部の装置からデータの入力を行う入力ポートを備えている。
【0537】
また、本実施の形態における遊技機1は、第1記憶領域2100の第1制御領域2110に記憶されたプログラムによって実行される第1制御においては更新され、第2記憶領域2200の第2制御領域2210に記憶されたプログラムによって実行される第2制御においては更新されない、外部の装置にデータの出力を行う出力ポートを備えている。
【0538】
さらに、本実施の形態における遊技機1は、第1記憶領域2100の第1制御領域2110に、入力ポートの情報を第1ワーク領域2160に記憶させる第1制御プログラムを記憶し、第2記憶領域2200の第2制御領域2210に、第1ワーク領域2160に記憶された入力ポートの情報を参照する第2制御プログラムを記憶している。
【0539】
(第2の実施の形態)
次に、第2の実施の形態における遊技機について、説明する。なお、本実施の形態における遊技機は、第1の実施の形態における遊技機1と基本的な構成および制御は同様である。したがって、本実施の形態においては、第1の実施の形態における遊技機1と異なる点を中心に説明し、同一の構成については同一の符号を付し、説明は省略し、また、同一の制御についても説明は省略する。
【0540】
(メインCPU301a)
メインCPU301aは、メイン制御基板300に設けられている。また、メインCPU301aは、第1の実施の形態のメインCPU301と同様に、メインROM302に記憶されているプログラムを読み込み、遊技の進行に合わせて所定の演算処理を行うことにより、ステータス基板100、リール制御基板150、電源基板200、サブ制御基板400に対して所定の信号を送信する。
【0541】
メインCPU301aの概略模式図を、
図45に示す。
図45に示すように、メインCPU301aは、演算装置1100と、制御装置1201と、レジスタ群1301と、クロックジェネレータ1400と、を備え、それぞれバス1500で接続されている。
【0542】
演算装置1100およびクロックジェネレータ1400は、第1の実施の形態における演算装置1100およびクロックジェネレータ1400と同様のものである。
【0543】
レジスタ群1301は、第1の実施の形態におけるレジスタ群1300と同様に、Aレジスタ1311、Bレジスタ1312、Cレジスタ1313、Dレジスタ1314、Eレジスタ1315、Fレジスタ1316、Hレジスタ1317、Lレジスタ1318、SPレジスタ1319、PCレジスタ1320を有しており、さらに、A#レジスタ1321、B#レジスタ1322、C#レジスタ1323、D#レジスタ1324、E#レジスタ1325、F#レジスタ1326、H#レジスタ1327、L#レジスタ1328を有している。
【0544】
Aレジスタ1311〜Lレジスタ1318、SPレジスタ1319、PCレジスタ1320は、第1の実施の形態と同様のものである。
A#レジスタ1321、B#レジスタ1322、C#レジスタ1323、D#レジスタ1324、E#レジスタ1325、F#レジスタ1326、H#レジスタ1327、L#レジスタ1328は、それぞれ1バイト(8ビット)の記憶容量を持っている。なお、B#レジスタ1322とC#レジスタ1323、D#レジスタ1324とE#レジスタ1325、H#レジスタ1327とL#レジスタ1328、A#レジスタ1321とF#レジスタ1326も、2つを繋げて2バイト(16ビット)として扱うことができる。
【0545】
制御装置1201は、第1の実施の形態における制御装置1200と同様に、レジスタ群1301の値を用いて、演算装置1100に演算をさせるものである。また、制御装置1201は、第1記憶領域2100の第1制御領域2110に記憶されたプログラムによる第1制御処理を実行する場合においては、Aレジスタ1311〜Lレジスタ1318を用い、A#レジスタ1321〜L#レジスタ1328を使用せず、第2記憶領域2200の第2制御領域2210に記憶されたプログラムによる第2制御処理を実行する場合においては、A#レジスタ1321〜L#レジスタ1328を用い、Aレジスタ1311〜Lレジスタ1318を使用せず、処理を実行するものである。
【0546】
さらに、本実施の形態においては、入力ポートにおいても、第1記憶領域2100の第1制御領域2110に記憶されたプログラムによる第1制御処理を実行する場合において、参照される入力ポートと、第2記憶領域2200の第2制御領域2210に記憶されたプログラムによる第2制御処理を実行する場合において、参照される入力ポートとは、それぞれが別物となっている。例えば、スイッチ(BETスイッチ7sw、MAXBETスイッチ8sw、精算スイッチ9sw、スタートスイッチ10sw、左停止スイッチ11sw、中停止スイッチ12sw、右停止スイッチ13sw)等の信号が入力される入力ポートは、第1記憶領域2100の第1制御領域2110に記憶されたプログラムによる第1制御処理を実行する場合において参照され、セレクターセンサ14s(メダル投入検知センサ61、第1メダル通過センサ62、第2メダル通過センサ63)、ホッパーセンサ202s(払出センサ92)等の信号が入力される入力ポートは、第2記憶領域2200の第2制御領域2210に記憶されたプログラムによる第2制御処理を実行する場合において参照される。
【0547】
また、本実施の形態においては、出力ポートにおいても、第1記憶領域2100の第1制御領域2110に記憶されたプログラムによる第1制御処理を実行する場合において、更新される出力ポートと、第2記憶領域2200の第2制御領域2210に記憶されたプログラムによる第2制御処理を実行する場合において、更新される出力ポートとは、それぞれが別物となっている。例えば、表示器(貯留枚数表示器15、払出枚数表示器16)、モータ(左ステッピングモータ151、中ステッピングモータ152、右ステッピングモータ153、ホッパーモータ91)等に信号が出力される出力ポートは、第1記憶領域2100の第1制御領域2110に記憶されたプログラムによる第1制御処理を実行する場合において更新され、試験装置における試験のために用いられる試験信号が出力される出力ポートは、第2記憶領域2200の第2制御領域2210に記憶されたプログラムによる第2制御処理を実行する場合において更新される。
すなわち、本実施の形態においては、第1の実施の形態における入出力ポート306が、第1制御処理用の入出力ポートと、第2制御処理用の入出力ポートと、に独立している。
【0548】
上述のように、本実施の形態においては、第2記憶領域2200の第2制御領域2210に記憶されたプログラムにより実行される第2制御処理では、A#レジスタ1321〜L#レジスタ1328が使用され、Aレジスタ1311〜Lレジスタ1318が使用されない。したがって、第2メダル投入チェック処理、メダル通過監視処理、第2メダル払出処理、第2記憶領域割込処理、第2記憶領域入力エラーチェック処理、投入センサエラーチェック処理、払出センサエラーチェック処理においては、A#レジスタ1321〜L#レジスタ1328が使用され、Aレジスタ1311〜Lレジスタ1318が使用されずに処理が実行される。
【0549】
また、本実施の形態において、
図15に示す第2メダル投入チェック処理においては、ステップS103−3−3−1のレジスタ退避処理を行う必要はない。また、ステップS103−3−3−1のレジスタ退避処理を行わないことにより、ステップS103−3−3−10のレジスタ復帰処理も行う必要はない。
【0550】
同様に、
図20に示す第2メダル払出処理においても、ステップS115−7−7−1のレジスタ退避処理を行う必要はない。また、ステップS115−7−7−1のレジスタ退避処理を行わないことにより、ステップS115−7−7−12のレジスタ復帰処理も行う必要はない。
【0551】
さらに、
図25に示す第2記憶領域割込処理においても、同様に、ステップS210−1のレジスタ退避処理およびステップS210−4のレジスタ復帰処理を行う必要はない。
【0552】
また、本実施の形態においては、第1の実施の形態における
図16に示すメダル通過監視処理のステップS103−3−3−3−1において行う、第1メダル通過センサ62および第2メダル通過センサ63の信号の状態を参照する処理において、以下の処理を行う。すなわち、メインCPU301は、「第1記憶領域2100の第1ワーク領域2160におけるメダル通過センサ値記憶領域の値(第1メダル通過センサ状態値および第2メダル通過センサ状態値)を参照する」代わりに、「第1メダル通過センサ62および第2メダル通過センサ63の信号値に対応する入力ポートの値を参照し」、今回第1メダル通過センサ状態値および今回第2メダル通過センサ状態値として、第2記憶領域2200の第2ワーク領域2260におけるメダル通過センサ値記憶領域に記憶する。
【0553】
さらに、本実施の形態においては、第1の実施の形態における
図23、
図24に示す割込処理のステップS202において行う、入力ポート読込処理において、第2制御領域2210に記憶されたプログラムで参照される入力ポートの情報を、入力ポートから読み出して第1記憶領域2100の第1ワーク領域2160に記憶させておく処理は行う必要がない。
【0554】
さらに、本実施の形態においては、第1の実施の形態における
図27に示す投入センサエラーチェック処理のステップS403−2−9において行う、第1メダル通過センサ62の信号がONであるか否かを判定する処理において、以下の処理を行う。すなわち、メインCPU301は、「第1記憶領域2100の第1ワーク領域2160に記憶された第1メダル通過センサ状態値を参照する」代わりに、「第1メダル通過センサ62の信号値に対応する入力ポートの値を参照して」、第1メダル通過センサ62の信号がONであるか否かを判定する。
【0555】
また、同様に、本実施の形態においては、第1の実施の形態における投入センサエラーチェック処理のステップS403−2−10において行う、第2メダル通過センサ63の信号がONであるか否かを判定する処理において、以下の処理を行う。すなわち、メインCPU301は、「第1記憶領域2100の第1ワーク領域2160に記憶された第2メダル通過センサ状態値を参照する」代わりに、「第2メダル通過センサ63の信号値に対応する入力ポートの値を参照して」、第2メダル通過センサ63の信号がONであるか否かを判定する。
【0556】
また、同様に、本実施の形態においては、第1の実施の形態における投入センサエラーチェック処理のステップS403−2−12において行う、メダル投入検知センサ61の信号がONであるか否かを判定する処理において、以下の処理を行う。すなわち、メインCPU301は、「第1記憶領域2100の第1ワーク領域2160に記憶されたメダル投入検知センサ状態値を参照する」代わりに、「メダル投入検知センサ61の信号値に対応する入力ポートの値を参照して」、メダル投入検知センサ61の信号がONであるか否かを判定する。
【0557】
さらに、本実施の形態においては、第1の実施の形態における
図28に示す払出センサエラーチェック処理のステップS403−3−2において行う、払出センサ92の信号がONであるか否かを判定する処理において、以下の処理を行う。すなわち、メインCPU301は、「第1記憶領域2100の第1ワーク領域2160に記憶された払出センサ状態値を参照する」代わりに、「払出センサ92の信号値に対応する入力ポートの値を参照して」、払出センサ92の信号がONであるか否かを判定する。
【0558】
以上のように、本実施の形態における遊技機は、第1記憶領域2100の第1制御領域2110に記憶されたプログラムにより実行される第1制御において演算処理を行う際に使用され、第2記憶領域2200の第2制御領域2210に記憶されたプログラムにより実行される第2制御において演算処理を行う際に使用されないAレジスタ1311〜Lレジスタ1318と、第2記憶領域2200の第2制御領域2210に記憶されたプログラムにより実行される第2制御において演算処理を行う際に使用され、第1記憶領域2100の第1制御領域2110に記憶されたプログラムにより実行される第1制御において演算処理を行う際に使用されないA#レジスタ1321〜L#レジスタ1328と、を備えている。これにより、第1制御プログラムと、第2制御プログラムとが、互いに干渉してしまうことがなく、独立して実行させることができる。
【0559】
さらに、本実施の形態における遊技機は、第1記憶領域2100の第1制御領域2110に記憶されたプログラムによって実行される第1制御においては参照され、第2記憶領域2200の第2制御領域2210に記憶されたプログラムによって実行される第2制御においては参照されない、入力ポートと、第2記憶領域2200の第2制御領域2210に記憶されたプログラムによって実行される第2制御においては参照され、第1記憶領域2100の第1制御領域2110に記憶されたプログラムによって実行される第1制御においては参照されない、入力ポートと、を備えている。
【0560】
また、本実施の形態における遊技機は、第1記憶領域2100の第1制御領域2110に記憶されたプログラムによって実行される第1制御においては更新され、第2記憶領域2200の第2制御領域2210に記憶されたプログラムによって実行される第2制御においては更新されない、出力ポートと、第2記憶領域2200の第2制御領域2210に記憶されたプログラムによって実行される第2制御においては更新され、第1記憶領域2100の第1制御領域2110に記憶されたプログラムによって実行される第1制御においては更新されない、出力ポートと、を備えている。これにより、第1制御と、第2制御とで、相手の更新した出力ポートの内容を変更してしまうことがなく、双方の独立性を担保することができる。
【0561】
なお、本実施の形態においては、Aレジスタ1311〜Lレジスタ1318を、第1記憶領域2100の第1制御領域2110に記憶されたプログラムにより実行される第1制御において演算処理を行う際に使用され、第2記憶領域2200の第2制御領域2210に記憶されたプログラムにより実行される第2制御において演算処理を行う際に使用されない第1制御処理用の専用レジスタとし、A#レジスタ1321〜L#レジスタ1328を、第2記憶領域2200の第2制御領域2210に記憶されたプログラムにより実行される第2制御において演算処理を行う際に使用され、第1記憶領域2100の第1制御領域2110に記憶されたプログラムにより実行される第1制御において演算処理を行う際に使用されない第2制御処理用の専用レジスタとしたが、これに限らず、共用レジスタとしながら、第2制御処理を行う場合には、第1制御処理で使用していたレジスタを使用できないようにしてもよい。
【0562】
例えば、第1制御処理でも第2制御処理でも使用可能なAレジスタ〜Lレジスタを有し、第1制御処理において、AレジスタおよびBレジスタを使用中に第2制御処理に移行した場合には、第2制御処理においては、AレジスタおよびBレジスタに対するアクセスを不可とした上で、Cレジスタ〜Lレジスタを使用対象とする。また、第1制御処理において、Aレジスタ〜Cレジスタを使用中に第2制御処理に移行した場合には、第2制御処理においては、Aレジスタ〜Cレジスタに対するアクセスを不可とした上で、Dレジスタ〜Lレジスタを使用対象とする。このような構成においても、第1制御処理と第2制御処理とが互いに干渉せず、独立性を担保することができる。
【0563】
なお、上記の構成において、特定のレジスタ、例えば、Aレジスタについては、第1制御処理から第2制御処理に移行する際に、値をスタックに保護し、第2制御処理から第1制御処理に処理を戻す際に、スタックから値を戻すようにしてもよい。このように、レジスタによって、値の保護の仕方を変えるようにしてもよい。
【0564】
(第3の実施の形態)
次に、第3の実施の形態における遊技機について、説明する。なお、本実施の形態における遊技機は、第1の実施の形態における遊技機1と基本的な構成および制御は同様である。したがって、本実施の形態においては、第1の実施の形態における遊技機1と異なる点を中心に説明し、同一の構成については同一の符号を付し、説明は省略し、また、同一の制御についても説明は省略する。
【0565】
本実施の形態における入力ポートは、第1記憶領域2100の第1制御領域2110に記憶されたプログラムによる第1制御処理を実行する場合において、参照され、かつ、第2記憶領域2200の第2制御領域2210に記憶されたプログラムによる第2制御処理を実行する場合においても、参照されるようになっている。
【0566】
このように構成された本実施の形態においては、第1の実施の形態における
図20に示す第2メダル払出処理のステップS115−7−7−3において行う、払出センサ信号がONであるか否かを判定する処理において、以下の処理を行う。すなわち、メインCPU301は、「第1記憶領域2100の第1ワーク領域2160における払出センサ状態値を参照し、払出センサ状態値がONであれば、払出センサ信号がONであると判定し、払出センサ状態値がONでなければ(OFFであれば)、払出センサ信号がONでない(OFFである)と判定する」代わりに、「払出センサ92の信号値に対応する入力ポートの値を参照し、当該入力ポートの値がONに対応する値であれば、払出センサ信号がONであると判定し、当該入力ポートの値がONに対応する値でなければ(OFFに対応する値であれば)、払出センサ信号がONでない(OFFである)と判定する」。
【0567】
なお、
図19に示すメダル一枚払出処理のステップS115−7−11においては、第1の実施の形態で説明したように、メインCPU301は、払出センサ信号がONであるか否かを判定する処理を行う。ここでは、メインCPU301は、払出センサ92の信号値に対応する入力ポートの値を参照し、払出センサ信号がONであるか否かを判定する処理を行う。
【0568】
ここで、上記ステップS115−7−7−3の「払出センサ信号がONであるか否かを判定する処理」を含む
図20に示す第2メダル払出処理は、第2記憶領域2200の第2制御領域2210に記憶されたプログラムによる第2制御処理として実行されるものである。また、上記ステップS115−7−11の「払出センサ信号がONであるか否かを判定する処理」を含む
図19に示すメダル一枚払出処理は、第1記憶領域2100の第1制御領域2110に記憶されたプログラムによる第1制御処理として実行されるものである。すなわち、払出センサ92の信号値に対応する入力ポートは、第1制御処理においても参照され、第2制御処理においても参照される。
【0569】
また、本実施の形態においては、第1の実施の形態における
図16に示すメダル通過監視処理のステップS103−3−3−3−1において行う、第1メダル通過センサ62および第2メダル通過センサ63の信号の状態を参照する処理において、第2の実施の形態と同様に、以下の処理を行う。すなわち、メインCPU301は、「第1記憶領域2100の第1ワーク領域2160におけるメダル通過センサ値記憶領域の値(第1メダル通過センサ状態値および第2メダル通過センサ状態値)を参照する」代わりに、「第1メダル通過センサ62および第2メダル通過センサ63の信号値に対応する入力ポートの値を参照し」、今回第1メダル通過センサ状態値および今回第2メダル通過センサ状態値として、第2記憶領域2200の第2ワーク領域2260におけるメダル通過センサ値記憶領域に記憶する。
【0570】
また、本実施の形態においては、第1の実施の形態における
図23、
図24に示す割込処理のステップS202において行う、入力ポート読込処理において、第2制御領域2210に記憶されたプログラムで参照される入力ポートの情報を、入力ポートから読み出して第1記憶領域2100の第1ワーク領域2160に記憶させておく処理は行う必要がない。
【0571】
さらに、本実施の形態においては、第1の実施の形態における
図27に示す投入センサエラーチェック処理のステップS403−2−9の判定処理、ステップS403−2−10の判定処理、ステップS403−2−12の判定処理において、それぞれ、「第1メダル通過センサ62の信号値に対応する入力ポートの値を参照」、「第2メダル通過センサ63の信号値に対応する入力ポートの値を参照」、「メダル投入検知センサ61の信号値に対応する入力ポートの値を参照」して、判定処理を行う。第1メダル通過センサ62の信号がONであるか否かを判定する。
【0572】
さらに、本実施の形態においては、第1の実施の形態における
図28に示す払出センサエラーチェック処理のステップS403−3−2の判定処理において、「払出センサ92の信号値に対応する入力ポートの値を参照して」、払出センサ92の信号がONであるか否かを判定する。
【0573】
さらに、本実施の形態においては、第1の実施の形態における
図25に示す第2領域割込処理のステップS403の第2記憶領域入力エラーチェック処理の後に、試験信号出力処理を追加する。本試験信号出力処理においては、試験装置に対して出力が必要な信号を、出力する。例えば、メインCPU301は、内部抽選処理(S107)により当選役が決定されると、第1記憶領域2100の第1制御領域2110に記憶された「当選役情報」を取得し、試験信号出力用の出力ポートに、出力する。また、メインCPU301は、遊技状態移行処理(S116)により遊技状態の移行が行われると、第1記憶領域2100の第1制御領域2110に記憶された「遊技状態移行情報」を取得し、試験信号出力用の出力ポートに、出力する。
【0574】
なお、本実施の形態においては、上記試験信号出力処理を、第2領域割込処理内で行うようにしているが、試験装置に対して信号の出力が必要となるたびに、試験信号出力処理を組み込むようにしてもよい。例えば、試験装置に対して信号の出力が必要となる内部抽選処理(S107)等の後に試験信号出力処理を呼び出すようなプログラムに組み込んでおいてもよい。このようにすると、内部抽選処理(S107)により当選役が決定されると、続いて、試験信号出力処理が呼び出されて、「当選役情報」を試験信号出力用の出力ポートに出力させることができる。
【0575】
なお、本実施の形態において、第2の実施の形態と同様に、レジスタ群1301として、A#レジスタ1321、B#レジスタ1322、C#レジスタ1323、D#レジスタ1324、E#レジスタ1325、F#レジスタ1326、H#レジスタ1327、L#レジスタ1328を備えた構成としてもよい。
【0576】
また、制御装置1201として、第1制御処理を実行する場合と、第2制御処理を実行する場合において、使用するレジスタを、Aレジスタ1311〜Lレジスタ1318と、A#レジスタ1321〜L#レジスタ1328と、を切り替えるようにしてもよい。
この場合、第2の実施の形態と同様に、レジスタ退避処理やレジスタ復帰処理を実行する必要がなくなる。
【0577】
以上のように、本実施の形態における遊技機の入力ポートは、第1記憶領域2100の第1制御領域2110に記憶されたプログラムによって実行される第1制御において参照されるものであり、かつ、第2記憶領域2200の第2制御領域2210に記憶されたプログラムによって実行される第2制御においても参照されるものである。
【0578】
さらに、本実施の形態における遊技機1は、第2記憶領域2200の第2制御領域2210に、試験装置に信号を出力するための処理を行うプログラムの少なくとも一部を記憶している。
【0579】
なお、本実施の形態において、第1ワーク領域2160は、本発明の第1RWM領域を構成し、第2ワーク領域2260は、本発明の第2RWM領域を構成する。
また、本実施の形態において、メダルは、本発明の遊技媒体を構成する。
【0580】
さらに、本実施の形態において、セレクターセンサ14sおよびセレクターセンサ14sが有するメダル投入検知センサ61、第1メダル通過センサ62、第2メダル通過センサ63は、本発明の投入検知手段を構成する。
また、本実施の形態において、ホッパーセンサ202sおよびホッパーセンサ202sが有する払出センサ92は、本発明の払出検知手段を構成する。
さらに、本実施の形態において、スタックは、本発明の退避用記憶領域を構成する。
さらに、本実施の形態において、入出力ポート306は、本発明の入力ポートおよび出力ポートを構成する。
【0581】
さらに、本実施の形態において、Aレジスタ1311、Bレジスタ1312、Cレジスタ1313、Dレジスタ1314、Eレジスタ1315、Fレジスタ1316、Hレジスタ1317、Lレジスタ1318は、本発明の第1レジスタを構成する。
また、本実施の形態において、A#レジスタ1321、B#レジスタ1322、C#レジスタ1323、D#レジスタ1324、E#レジスタ1325、F#レジスタ1326、H#レジスタ1327、L#レジスタ1328は、本発明の第2レジスタを構成する。
【0582】
なお、上記実施の形態においては、第2記憶領域2200の第2制御領域2210に記憶したプログラムによって実行される処理は、メダルの滞留判定処理、不正通過判定処理、メダル払出時の詰まり判定処理等としているが、上記処理に限定されるものではない。例えば、補助収納庫203の満杯を判断する処理、乱数値の取り込みが正常に行えない場合のエラー処理、電源断復帰が正常に行えない場合のエラー処理、メインRAM303の読み書きが正常に行えない場合の処理等を、第2記憶領域2200の第2制御領域2210に記憶したプログラムによって実行される処理としてもよい。
【0583】
また、上記実施の形態における試験装置への信号出力処理として、以下のような処理を第2記憶領域2200の第2制御領域2210に記憶したプログラムによって実行するようにしてもよい。
【0584】
例えば、メダルの投入可能時に投入可能を示す投入要求ランプ信号を出力させるための処理、遊技の開始が可能でありリールの回転が可能なときに出力するスタート可能ランプ信号を出力させるための処理がある。
【0585】
また、BBの入賞からBBの終了までのBB中であることを示す信号を出力させるための処理、RBの入賞からRBの終了までのRB中であることを示す信号を出力させるための処理、リプレイの表示からリプレイの終了まで出力する再遊技中信号を出力させるための処理、リールが回転しリールが停止可能状態になったことを示す各リールのリールストップ可能ランプ信号を出力させるための処理がある。
【0586】
また、メダル払い出し時にホッパーモータ91の駆動信号がONとなったときに出力する払出要求信号を出力させるための処理、払い出したメダルをカウントするための払出カウント信号を出力させるための処理、リールインデックスを検知したときに出力する各リールのリールインデックス信号を出力させるための処理がある。
【0587】
また、各リールのステッピングモータの位相位置ごとの信号を表すリールステッピングモータ位相信号を出力させるための処理、リールの停止を実行する位置を示す停止実行位置信号を出力させるための処理、上記停止実行位置信号を出力するリールのリール番号を示す回胴番号信号を出力させるための処理、遊技中段要求等の情報を出力するための遊技制御信号を出力させるための処理等がある。
【0588】
なお、本実施形態では、回胴式遊技機(スロットマシン)に用いる遊技機について説明をしたが、パチンコ遊技機、雀球遊技機、アレンジボール遊技機に用いてもよい。