JP2020005798A - 遊技機 - Google Patents

遊技機 Download PDF

Info

Publication number
JP2020005798A
JP2020005798A JP2018128403A JP2018128403A JP2020005798A JP 2020005798 A JP2020005798 A JP 2020005798A JP 2018128403 A JP2018128403 A JP 2018128403A JP 2018128403 A JP2018128403 A JP 2018128403A JP 2020005798 A JP2020005798 A JP 2020005798A
Authority
JP
Japan
Prior art keywords
main control
control cpu
processing
game
special symbol
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2018128403A
Other languages
English (en)
Inventor
田中 勝也
Katsuya Tanaka
勝也 田中
純也 杉山
Junya Sugiyama
純也 杉山
智裕 久保田
Tomohiro Kubota
智裕 久保田
田村 純一
Junichi Tamura
純一 田村
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Heiwa Corp
Original Assignee
Heiwa Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Heiwa Corp filed Critical Heiwa Corp
Priority to JP2018128403A priority Critical patent/JP2020005798A/ja
Publication of JP2020005798A publication Critical patent/JP2020005798A/ja
Priority to JP2022170170A priority patent/JP7357134B2/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02EREDUCTION OF GREENHOUSE GAS [GHG] EMISSIONS, RELATED TO ENERGY GENERATION, TRANSMISSION OR DISTRIBUTION
    • Y02E60/00Enabling technologies; Technologies with a potential or indirect contribution to GHG emissions mitigation
    • Y02E60/10Energy storage using batteries

Landscapes

  • Pinball Game Machines (AREA)

Abstract

【課題】本発明は、設計どおりに正確に動作することができる遊技機を提供することを目的とする。【解決手段】パチンコ機1は、第1可変入賞装置30、第2可変入賞装置31又は可変始動入賞装置28の動作を制御するソレノイドデータ設定処理(ステップS217)並びにベース値を算出する性能表示モニタ集計除算処理(ステップS218b)及びベース値を表示するダイナミックポート出力処理(ステップS202)を含む第二処理を実行可能な主制御CPU72と、ベース値を表示可能な性能表示モニタ200とを備えている。主制御CPU72は、タイマ割込み処理(ステップS137)においてソレノイドデータ設定処理(ステップS217)よりも後に性能表示モニタ集計除算処理(ステップS218b)を実行するようになっている。【選択図】図14

Description

本発明は、弾球遊技機(パチンコ機)に代表される遊技機に関する。
特許文献1には、出玉履歴管理処理を実行するスロットマシン及びパチンコ遊技機が開示されている。
特開2016−87235号公報
出玉履歴管理処理は、状況に応じて処理時間が大幅に変動する。このため、タイマ割込み処理において出玉履歴管理処理のように処理時間が大幅に変動する処理が含まれていると、当該タイマ割込み処理で実行される他の処理の実行タイミングも大幅に変動する可能性がある。その結果、遊技機は、設計どおりに動作しない可能性があるという問題が生じる。
本発明の目的は、設計どおりに正確に動作することができる遊技機を提供することにある。
上記目的を達成するために、本発明の一態様による遊技機は、遊技に関する所定動作の実行を制御する第一処理並びに遊技球の個数情報を算出する算出処理及び算出した個数情報を表示する表示処理を含む第二処理を実行可能な実行手段と、前記実行手段による前記表示処理に基づいて前記個数情報を表示可能な表示手段とを備え、前記実行手段は、一定の割込み契機で実行される割込み処理において前記第一処理よりも後に前記算出処理を実行することを特徴とする。
本発明の一態様によれば、設計どおりに正確に動作することができる。
パチンコ機の正面図である。 パチンコ機の背面図である。 遊技盤ユニットを単独で示す正面図である。 遊技盤ユニットの一部を拡大して示す正面図である。 パチンコ機に装備された各種の電子機器類を示すブロック図である。 CPU初期化処理の第1手順例を示すフローチャートである(1/2)。 CPU初期化処理の第1手順例を示すフローチャートである(2/2)。 メインループ処理の手順例を示すフローチャートである。 シリアル通信受信割込みが発生した際に実行される処理の内容を示す図である。 タイマ割込みが発生した際に実行される処理の内容を示す図である。 電源断予告時割込みが発生した際に実行される処理の内容を示す図である。 シリアル通信受信割込み処理の手順例を示すフローチャートである。 電源断予告時割込み処理の手順例を示すフローチャートである。 タイマ割込み処理の手順例を示すフローチャートである。 ダイナミックポート出力処理の手順例を示すフローチャートである。 性能表示モニタ出力処理の手順例を示すフローチャートである。 タイマ割込み処理とダイナミックポート出力処理との関係を示す図である。 タイマ割込み処理の変形形態を示す図である。 スイッチ管理処理の手順例を示すフローチャートである。 第1特別図柄記憶更新処理の手順例を示すフローチャートである。 第2特別図柄記憶更新処理の手順例を示すフローチャートである。 取得時演出判定処理の手順例を示すフローチャートである。 特別遊技管理処理の構成例を示すフローチャートである。 特別図柄変動前処理の手順例を示すフローチャートである。 はずれ時変動パターン決定処理の手順例を示すフローチャートである。 大当り時変動パターン決定処理の手順例を示すフローチャートである。 特別図柄記憶エリアシフト処理の手順例を示すフローチャートである。 特別図柄停止表示中処理の手順例を示すフローチャートである。 特殊変動管理処理の手順例を示すフローチャートである。 大当り時可変入賞装置管理処理の構成例を示すフローチャートである。 大当り時大入賞口開放パターン設定処理の手順例を示すフローチャートである。 大当り時大入賞口開閉動作処理の手順例を示すフローチャートである。 大当り時大入賞口閉鎖処理の手順例を示すフローチャートである。 大当り時終了処理の手順例を示すフローチャートである。 特殊変動回数設定処理の手順例を示すフローチャートである。 小当り時可変入賞装置管理処理の構成例を示すフローチャートである。 小当り時大入賞口開放パターン設定処理の手順例を示すフローチャートである。 小当り時大入賞口開閉動作処理の手順例を示すフローチャートである。 小当り時大入賞口閉鎖処理の手順例を示すフローチャートである。 小当り時終了処理の手順例を示すフローチャートである。 LED表示設定処理の構成例を示すフローチャートである。 加算数算定処理の第1手順例を示すフローチャートである。 加算数算定処理の第2手順例を示すフローチャートである。 遊技状態と発射球数の関係を示す図である。 性能表示モニタ制御処理の手順例を示すフローチャートである。 球数加算処理の手順例を示すフローチャートである。 性能表示モニタ集計除算処理の手順例を示すフローチャートである。 ベースの演算方法を説明する図である。 除算タスク1の処理の手順例を示すフローチャートである。 除算タスク2〜8の処理の手順例を示すフローチャートである。 除算タスク9の処理の手順例を示すフローチャートである。 性能表示モニタ200の表示態様を説明する図である。 性能表示モニタ200に表示されるベースの区間を説明する図である。 発射位置管理処理の手順例を示すフローチャートである。 本実施形態によるパチンコ機1を説明する図であって、タイマ割込み処理と第1可変入賞装置30などの開放パターンとの関係を模式的に示す図である。 本実施形態によるパチンコ機1の比較例を説明する図であって、タイマ割込み処理と第1可変入賞装置などの開放パターンとの関係を模式的に示す図である。
以下、本発明の実施形態によるパチンコ遊技機(遊技機の一例)について、図面を参照しながら説明する。
図1は、パチンコ遊技機(以下、「パチンコ機」と略称する。)1の正面図である。また、図2は、パチンコ機1の背面図である。パチンコ機1は、遊技球を遊技媒体として用いるものであり、遊技者は、遊技場運営者から遊技球を借り受けてパチンコ機1による遊技を行う。なお、パチンコ機1における遊技において、遊技球はその1個1個が遊技価値を有した媒体であり、遊技の成果として遊技者が享受する特典(利益)は、例えば遊技者が獲得した遊技球の数に基づいて遊技価値に換算することができる。以下、図1及び図2を参照しつつパチンコ機1の全体構成について説明する。
ここで、本明細書では、パチンコ機1に相対するようにして着席した遊技者から見て左側を左とし、遊技者から見て右側を右とし、遊技者から見て上側を上とし、遊技者から見て下側を下とし、遊技者から見て手前側を前とし、遊技者から見て奥側を後として説明している。
〔全体構成〕
パチンコ機1は、その本体として主に外枠ユニット2、一体扉ユニット4及び内枠アセンブリ7(プラ枠、遊技機枠)を備えている。遊技者に相対する正面からみて、その最も前面側には一体扉ユニット4が位置している。一体扉ユニット4の背面側(奥側)には内枠アセンブリ7が位置しており、内枠アセンブリ7の外側を囲むようにして外枠ユニット2が配置されている。
外枠ユニット2は、木材及び金属材を縦長の矩形状に組み合わせた構造体であり、この外枠ユニット2は、遊技場内の島設備(図示されていない)に対してねじ等の締結具を用いて固定されるものである。なお、縦長矩形状の外枠ユニット2において、上下の短辺に相当する部位には木材が用いられており、左右の長辺に相当する部位には金属材が用いられている。
一体扉ユニット4は、その下部位置に受皿ユニット6が一体化された構造である。一体扉ユニット4及び内枠アセンブリ7は、外枠ユニット2を介して島設備に取り付けられ、これらはそれぞれ図示しないヒンジ機構を介して開閉式に動作する。図示しないヒンジ機構の開閉軸線は、パチンコ機1の正面からみて左側端部に沿って垂直方向に延びている。
図1中の正面からみて内枠アセンブリ7の右側縁部(図2では左側縁部)には、その内側に統一錠ユニット9が設けられている。また、これに対応して一体扉ユニット4及び外枠ユニット2の右側縁部(裏側)にも、それぞれ図示しない施錠具が設けられている。図1に示されるように、外枠ユニット2に対して一体扉ユニット4及び内枠アセンブリ7が閉じた状態で、その裏側にある統一錠ユニット9は施錠具とともに一体扉ユニット4及び内枠アセンブリ7の開放を不能にしている。
また、受皿ユニット6の右側縁部には鍵穴付きのシリンダ錠6aが設けられている。例えば、遊技場の管理者が専用キーを鍵穴に差し込んでシリンダ錠6aを時計回りに捻ると、統一錠ユニット9が作動して内枠アセンブリ7とともに一体扉ユニット4の開放が可能な状態となる。これら全体を外枠ユニット2から前面側へ開放する(扉のように動かす)と、前面側にてパチンコ機1の裏側が露出することになる。
一方、シリンダ錠6aを反時計回りに捻ると、内枠アセンブリ7は施錠されたままで一体扉ユニット4の施錠だけが解除され、一体扉ユニット4が開放可能となる。一体扉ユニット4を前面側へ開放すると遊技盤ユニット8が直に露出し、この状態で遊技場の管理者が盤面内での球詰まり等の障害を取り除くことができる。また、一体扉ユニット4を開放すると、受皿ユニット6も一緒に前面側へ開放される。
また、パチンコ機1は、遊技用ユニットとして上記の遊技盤ユニット8を備えている。遊技盤ユニット8は、一体扉ユニット4の背後(内側)で上記の内枠アセンブリ7に支持されている。遊技盤ユニット8は、例えば一体扉ユニット4を前面側へ開放した状態で内枠アセンブリ7に対して着脱可能である。一体扉ユニット4には、その中央部に縦長円形状の窓4aが形成されており、この窓4a内にガラスユニット(参照符号なし)が取り付けられている。ガラスユニットは、例えば窓4aの形状に合わせてカットされた2枚の透明板(ガラス板)を組み合わせたものである。ガラスユニットは、一体扉ユニット4の裏側に図示しない取り付け具を介して取り付けられる。遊技盤ユニット8の前面には遊技領域8a(盤面、遊技盤)が形成されており、この遊技領域8aは窓4aを通じて前面側から遊技者に視認可能である。一体扉ユニット4が閉じられると、ガラスユニットの内面と盤面との間に遊技球が流下できる空間が形成される。
受皿ユニット6は、全体的に一体扉ユニット4から前面側へ突出した形状をなしており、その上面に上皿6bが形成されている。この上皿6bには、遊技者に貸し出された遊技球(貸球)や入賞により獲得した遊技球(賞球)を貯留することができる。また、受皿ユニット6には、上皿6bの下段位置に下皿6cが形成されている。この下皿6cには、上皿6bが満杯の状態でさらに払い出された遊技球が貯留される。なお、本実施形態のパチンコ機1はいわゆるCR機(CRユニットに接続する機種)であり、遊技者が借り受けた遊技球は、賞球とは別に裏側の払出装置ユニット172から受皿ユニット6(上皿6b又は下皿6c)に払い出される。
受皿ユニット6の上面には貸出操作部14が設けられており、この貸出操作部14には、球貸ボタン10及び返却ボタン12が配置されている。図示しないCRユニットに有価媒体(例えば磁気記録媒体、記憶IC内蔵媒体等)を投入した状態で球貸ボタン10を遊技者が操作すると、予め決められた度数単位(例えば5度数)に対応する個数(例えば125個)分の遊技球が貸し出される。このため貸出操作部14の上面には度数表示部(図示されていない)が配置されており、この度数表示部には、CRユニットに投入されている有価媒体の残存度数が表示される。なお、遊技者は、返却ボタン12を操作することで、度数が残存している有価媒体の返却を受けることができる。本実施形態ではCR機を例に挙げているが、パチンコ機1はCR機とは別の現金機(CRユニットに接続されない機種)であってもよい。
また、受皿ユニット6の上面には、上段位置にある上皿6bの手前に上皿球抜きボタン6dが設置されており、そして下皿6cの手前でその中央部には下皿球抜きレバー6eが設置されている。遊技者は上皿球抜きボタン6dを例えば押し込み操作することで、上皿6bに貯留された遊技球を下皿6cへ流下させることができる。また、遊技者は、下皿球抜きレバー6eを例えば左方向へスライドさせることで、下皿6cに貯留された遊技球を下方へ落下させて排出することができる。排出された遊技球は、例えば図示しない球受け箱等に受け止められる。
受皿ユニット6の右下部には、グリップユニット16が設置されている。遊技者はこのグリップユニット16を操作することで発射制御基板セット174を作動させ、遊技領域8aに向けて遊技球を発射する(打ち込む)ことができる(球発射装置)。発射された遊技球は、遊技盤ユニット8の下縁部から左側縁部に沿って上昇し、図示しない外バンドに案内されて遊技領域8a内に放り込まれる。遊技領域8a内には多数の障害釘や風車(図中参照符号なし)等が配置されており、放り込まれた遊技球は障害釘や風車により誘導・案内されながら遊技領域8a内を流下する。なお、遊技領域8a内(盤面、遊技盤)の構成については、別の図面を参照しながらさらに後述する。
〔枠前面の構成〕
一体扉ユニット4には、演出用の構成要素として左トップレンズユニット47及び右上電飾ユニット49が設置されている。このうち左トップレンズユニット47にはガラス枠トップランプ46及び左側のガラス枠装飾ランプ48が組み込まれており、右上電飾ユニット49には右側のガラス枠装飾ランプ50が組み込まれている。その他にも一体扉ユニット4には、左トップレンズユニット47及び右上電飾ユニット49の下方にそれぞれ連なるようにして左右のガラス枠装飾ランプ52が設置されており、これらガラス枠装飾ランプ52は、一体扉ユニット4の左右縁部から受皿ユニット6の前面部にまで回り込むようにして延びている。一体扉ユニット4においてガラス枠トップランプ46や左右のガラス枠装飾ランプ50,52等は、ガラスユニットを取り巻くようにして配置されている。
上述した各種ランプ46,48,50,52は、例えば内蔵するLEDの発光(点灯や点滅、輝度階調の変化、色調の変化等)により演出を実行する。また、一体扉ユニット4の上部において、左トップレンズユニット47及び右上電飾ユニット49にはそれぞれガラス枠上スピーカ54,55が組み込まれている。一方、外枠ユニット2の左下位置には外枠スピーカ56が組み込まれている。これらスピーカ54,55,56は、効果音やBGM、音声等(音響全般)を出力して演出を実行するものである。
また、受皿ユニット6の中央には、上皿6bの手前位置に演出切替ボタン45(操作入力受付手段)が設置されている。演出切替ボタン45は、複数種類の操作(1回押下、複数回押下、連打、長押し等)が可能であり、操作入力を受け付ける。遊技者は、この演出切替ボタン45を押し込み操作(操作入力)することで演出内容(例えば液晶表示器42に表示される背景画面)を切り替えたり、例えば図柄の変動中や大当りの確定表示中、あるいは大当り遊技中に何らかの演出(予告演出、確変昇格演出、大役中の昇格演出等)を発生させたりすることができる。
さらに、演出切替ボタン45の周囲には、演出切替ボタン45を取り囲むようにジョグダイアル45aが設置されている(操作入力受付手段、回転型セレクター)。遊技者は、このジョグダイアル45aを回転させることで、例えば液晶表示器42に表示される演出内容を変化させることができる。
〔裏側の構成〕
図2に示されているように、パチンコ機1の裏側には、電源制御ユニット162や主制御基板ユニット170、払出装置ユニット172、流路ユニット173、発射制御基板セット174、払出制御基板ユニット176、裏カバーユニット178等が設置されている。この他にパチンコ機1の裏側には、パチンコ機1の電源系統や制御系統を構成する各種の電子機器類(図示しない制御コンピュータを含む)や外部端子板160、電源コード(電源プラグ)164、アース線(アース端子)166、図示しない接続配線等が設置されている。
主制御基板ユニット170には、主制御装置が内蔵されており、主制御装置には、性能表示モニタ200が接続されている。
性能表示モニタ200は、パチンコ機1を裏側から見て、主制御基板ユニット170の左上の領域で視認可能なように主制御装置に配置されており、4つの7セグメントLED201〜204を備えている。
性能表示モニタ200は、ベースを表示する。ベースとは、特定の遊技状態(詳細は後述するが、本実施形態では、大当り遊技状態、時短遊技状態及び右打ち指示中のいずれかの状態)以外の状態(本実施形態では、通常遊技状態及び潜伏確変状態の何れかの状態)における出玉率をいう。また、性能表示モニタ200は、設定の値(設定値)を表示する。
性能表示モニタ200は、設定値(第1情報、設定の値に関する情報)を表示する第1表示手段である。
4つの7セグメントLED201〜204は、左右方向に並べて配置されており、それぞれの7セグメントLEDは、10進数のアラビア数字を表示することができる7つのセグメントと、その右下に位置するドットセグメントとによって構成されている。
性能表示モニタ200は、主制御基板ユニット170を覆っている透明ケースを通じて、視認可能である。
また、主制御装置には、RAMクリアスイッチ304及び設定キー用鍵穴306が設けられている。RAMクリアスイッチ304は、RAMクリア(RAM76の初期化)、すなわち、主制御装置内に装備されているRAM(RWM)の初期化を行う際に用いられるスイッチである。また、設定キー用鍵穴306は、設定の変更や設定の参照を行う上で必要とされる設定キーを差し込むための鍵穴である。
RAMクリアスイッチ304は、主制御基板ユニット170を覆っている透明ケースに形成された貫通孔を通じて押下可能に設けられている。なお、RAMクリアスイッチ304は、透明ケース外に配置されていてもよい。また、設定キー用鍵穴306は、キーシリンダが透明ケースを貫通した状態(透明ケースがキーシリンダの周囲を囲んだ状態)で設けられている。このため、透明ケースが封止されたままの状態で設定キーを差し込み、回転させることが可能である。
RAMクリアスイッチ304は、RAMクリアを行うためのスイッチであり、RAMクリアスイッチ304を押下した状態で電源を投入すると、RAMクリア信号が主制御装置70及び払出制御装置92に入力され、RAMクリア処理が実行される。なお、RAMクリアスイッチ304は、電源制御ユニット162に設けられていてもよい。また、RAMクリア信号を払出制御装置92には入力させず、主制御装置70がRAMクリア信号の入力を受け付けると、主制御装置70が払出制御装置92に対してRAMクリアコマンドを送信する構成としてもよい。
なお、図2に示した性能表示モニタ200やRAMクリアスイッチ304、設定キー用鍵穴306の配置位置は、あくまで一例であり、任意の位置に配置することができる。また、性能表示モニタ200やRAMクリアスイッチ304、設定キー用鍵穴306は、主制御装置の外側に設けられて主制御装置に接続される構成としてもよい。
上記の払出装置ユニット172は、例えば賞球タンク172a及び賞球ケース(参照符号なし)を有しており、このうち賞球タンク172aは内枠アセンブリ7の上縁部(裏側)に設置された状態で、図示しない補給経路から補給された遊技球を蓄えることができる。賞球タンク172aに蓄えられた遊技球は、図示しない上側賞球樋を通じて賞球ケースに導かれる。流路ユニット173は、払出装置ユニット172から送り出された遊技球を前面側の受皿ユニット6に向けて案内する。
また、上記の外部端子板160は、パチンコ機1を外部の電子機器(例えばデータ表示装置、ホールコンピュータ等)に接続するためのものであり、この外部端子板160からは、パチンコ機1の遊技進行状態やメンテナンス状態等を表す各種の外部情報信号(例えば賞球情報、扉開放情報、図柄確定回数情報、大当り情報、始動口情報等)が外部の電子機器に向けて出力されるものとなっている。
電源コード164は、例えば遊技場の島設備に設置された電源装置(例えばAC24V)に接続されることで、パチンコ機1の動作に必要な電源(電力)を確保するものである。また、アース線166は、同じく島設備に設置されたアース端子に接続されることで、パチンコ機1のアース(接地)を確保するものである。
図3は、遊技盤ユニット8を単独で示す正面図である。遊技盤ユニット8は、ベースとなる遊技板8bを備えており、この遊技板8bの前面側に遊技領域8aが形成されている。遊技板8bは、例えば透明樹脂板で構成されており、遊技盤ユニット8が内枠アセンブリ7に固定された状態で、遊技板8bの前面はガラスユニットに平行となる。遊技板8bの前面には、略円形状に設置された発射レール(参照符号なし)の内側に上記の遊技領域8aが形成されている。
遊技領域8a内には、その中央位置に比較的大型の演出ユニット40が配置されており、この演出ユニット40を中心として遊技領域8aが左側部分、右側部分及び下部分に大きく分かれている。遊技領域8aの左側部分は、通常遊技状態(低確率非時間短縮状態)又は潜伏確変状態(高確率非時間短縮状態)で使用される第1遊技領域(左打ち領域)であり、遊技領域8aの右側部分は、有利遊技状態(大当り遊技状態、小当り遊技状態、低確率時間短縮状態、高確率時間短縮状態等)で使用される第2遊技領域(右打ち領域、特定の領域)である。また、遊技領域8a内には、演出ユニット40の周辺に中始動入賞口26、始動ゲート20、普通入賞口22,24、可変始動入賞装置28、第1可変入賞装置30、第2可変入賞装置31等が分布して設置されている。
このうち、中始動入賞口26は、遊技領域8aの下部分の中央に配置されている。
また、第2可変入賞装置31、始動ゲート20、第1可変入賞装置30及び可変始動入賞装置28は、遊技領域8aの右側部分に、上からこの順番で配置されている。
左側の3つの普通入賞口22は遊技領域8aの左側部分に配置されており、右側の1つの普通入賞口24(所定入賞口)は、始動ゲート20と第1可変入賞装置30との間に配置されている。
遊技領域8a内に放り込まれた遊技球は、その流下の過程で中始動入賞口26、普通入賞口22,24に入球したり、開放動作時の第2可変入賞装置31に入球したり、始動ゲート20を通過したり、開放動作時の第1可変入賞装置30に入球したり、開放動作時の可変始動入賞装置28に入球したりする。
ここで、遊技領域8aの左側領域を流下する遊技球は、主に中始動入賞口26に入球するか、普通入賞口22に入球する可能性がある。一方、遊技領域8aの右側領域を流下する遊技球は、主に、開放動作時の第2可変入賞装置31に入球するか、始動ゲート20を通過するか、普通入賞口24に入球するか、開放動作時の第1可変入賞装置30に入球するか、開放動作時の可変始動入賞装置28に入球する可能性がある。
始動ゲート20を通過した遊技球は続けて遊技領域8a内を流下するが、中始動入賞口26、普通入賞口22,24、可変始動入賞装置28、第1可変入賞装置30、第2可変入賞装置31に入球した遊技球は遊技板(遊技盤ユニット8を構成する合板材、透明板等)に形成された貫通孔を通じて遊技盤ユニット8の裏側へ回収される。
ここで、本実施形態では、遊技領域8a(盤面)の構成上、中始動入賞口26や普通入賞口22に遊技球を入球させる場合は、遊技領域8a内の左側部分の領域(左打ち領域)に遊技球を打ち込む(いわゆる「左打ち」を実行する)必要がある。
一方、可変始動入賞装置28や、第1可変入賞装置30、第2可変入賞装置31、普通入賞口24に遊技球を入球させる場合は、遊技領域8a内の右側部分の領域(右打ち領域)に遊技球を打ち込む(いわゆる「右打ち」を実行する)必要がある。
可変始動入賞装置28は、所定の作動条件が満たされた場合(普通図柄が当りの態様で停止表示された場合)に作動し、それに伴って右始動入賞口28a(始動入賞口)への入球を可能にする(普通電動役物)。可変始動入賞装置28は、1つの開閉部材28bを有しており、開閉部材28bは、例えば図示しないソレノイドを用いたリンク機構の働きにより、盤面に沿って左右方向に往復動作する。開閉部材28bは先端が上を向いた状態で閉止位置にあり、このとき右始動入賞口28aへの入球は不能(遊技球が入球できる隙間がない状態)となっている。一方、可変始動入賞装置28が作動すると、開閉部材28bは閉止位置から開放位置に向けて変位し(右方向に倒れこみ)、右始動入賞口28aを開放する。この間に可変始動入賞装置28は遊技球の入球が可能な状態となり、右始動入賞口28aへの入球を発生させることができる(可変始動入賞手段)。なお、このとき開閉部材28bは右始動入賞口28aへの遊技球の入球を案内する部材としても機能する。
第1可変入賞装置30は、規定の条件が満たされた場合(例えば、第1特別図柄が大当りの態様で停止表示された場合、特別図柄が小当りの態様で停止表示された場合、第2特別図柄が「5ラウンド通常図柄」又は「5ラウンド確変図柄」の態様で停止表示された場合)に作動し、第1大入賞口30b(上大入賞口)への入賞を可能にする(特別電動役物、第1特別入賞事象発生手段)。
第1可変入賞装置30は、1つの開閉部材30aを有しており、開閉部材30aは、例えば図示しないソレノイドを用いたリンク機構の働きにより、盤面に沿って左右方向に往復動作する。開閉部材30aは先端が上を向いた状態で閉止位置にあり、このとき第1大入賞口30bへの入球は不能(遊技球が入球できる隙間がない状態)となっている。一方、第1可変入賞装置30が作動すると、開閉部材30aは閉止位置から開放位置に向けて変位し(左方向に倒れこみ)、第1大入賞口30bを開放する。この間に第1可変入賞装置30は遊技球の入球が可能な状態となり、第1大入賞口30bへの入球を発生させることができる。なお、このとき開閉部材30aは第1大入賞口30bへの遊技球の入球を案内する部材としても機能する。
第2可変入賞装置31は、特別な条件が満たされた場合(例えば、第2特別図柄が大当りの態様で停止表示された場合(第2特別図柄が「5ラウンド通常図柄」又は「5ラウンド確変図柄」の態様で停止表示された場合を除く。))に作動し、第2大入賞口31b(下大入賞口)への入賞を可能にする(特別電動役物、第2特別入賞事象発生手段)。
第2可変入賞装置31は、1つの開閉部材31aを有しており、開閉部材31aは、例えば図示しないソレノイドを用いたリンク機構の働きにより、盤面に沿って左右方向に往復動作する。開閉部材31aは先端が上を向いた状態で閉止位置にあり、このとき第2大入賞口31bへの入球は不能(遊技球が入球できる隙間がない状態)となっている。一方、第2可変入賞装置31が作動すると、開閉部材31aは閉止位置から開放位置に向けて変位し(左方向に倒れこみ)、第2大入賞口31bを開放する。この間に第2可変入賞装置31は遊技球の入球が可能な状態となり、第2大入賞口31bへの入球を発生させることができる。なお、このとき開閉部材31aは第2大入賞口31bへの遊技球の入球を案内する部材としても機能する。
遊技盤ユニット8に設置されている障害釘の配列や構造物の形状は、基本的に可変始動入賞装置28(開放時の右始動入賞口28a)や第1可変入賞装置30(開放時の第1大入賞口30b)、第2可変入賞装置31(開放時の第2大入賞口31b)へ向かう遊技球の流下を極端に阻害しない態様となっているが、遊技球が開放中の可変始動入賞装置28(右始動入賞口28a)や第1可変入賞装置30(第1大入賞口30b)、第2可変入賞装置31(第2大入賞口31b)に必ず入球するというわけではなく、あくまで入球は無作為に発生する。
遊技盤ユニット8には、その中央位置から右側部分にかけて上記の演出ユニット40が設置されている。演出ユニット40は、その上縁部40aが遊技球の流下方向を変化させる案内部材として機能する他、その内側に各種の装飾部品40b,40cを備えている。装飾部品40b,40cはその立体的な造形により遊技盤ユニット8の装飾性を高めるとともに、例えば内蔵された発光器(LED等)により透過光を発することで、演出的な動作をすることができる。また、演出ユニット40の内側には液晶表示器42(画像表示器)が設置されており、この液晶表示器42には特別図柄に対応させた演出図柄をはじめ、各種の演出画像が表示される。このように遊技盤ユニット8は、その盤面の構成や演出ユニット40の装飾性に基づいて、遊技者にパチンコ機1の特徴を印象付けている。また、遊技板8bが透明樹脂板(例えばアクリル板)である場合、前面側だけでなく遊技板8bの背後に配置された各種の装飾体(可動体や発光体を含む)による装飾性を付加することができる。
その他に演出ユニット40の内部には、演出用の可動体40f(例えば動物のキャラクター)とともに駆動源(例えばモータ、ソレノイド等)が付属している。演出用の可動体40fは、液晶表示器42による画像を用いた演出や発光器による演出に加えて、有形物の動作を伴う演出を実行することができる。これら可動体40fを用いた演出により、二次元の画像を用いた演出とは別の訴求力を発揮することができる。
また、演出ユニット40の左側縁部には球案内通路40dが形成されており、その下縁部には転動ステージ40eが形成されている。球案内通路40dは遊技領域8a内にて左斜め上方に開口しており、遊技領域8a内を流下する遊技球が無作為に球案内通路40d内に流入すると、その内部を通過して転動ステージ40e上に放出される。転動ステージ40eの上面は滑らかな湾曲面を有しており、ここでは遊技球が左右方向に転動自在である。転動ステージ40e上で転動した遊技球は、やがて下方の遊技領域8a内に流下する。転動ステージ40eの中央位置には球放出路40kが形成されており、転動ステージ40eから球放出路40kに案内された遊技球は、その真下にある中始動入賞口26に流入しやすくなる。
その他、遊技領域8a内にはアウト口32が形成されており、各種入賞口に入球(入賞)しなかった遊技球は最終的にアウト口32を通じて遊技盤ユニット8の裏側へ回収される。また、普通入賞口22,24や中始動入賞口26、右始動入賞口28a、第1可変入賞装置30、第2可変入賞装置31に入球した遊技球も含めて、遊技領域8a内に打ち込まれた全ての遊技球は遊技盤ユニット8の裏側へ回収される。回収された遊技球は、図示しないアウト通路アセンブリを通じてパチンコ機1の裏側から枠外へ排出され、さらに図示しない島設備の補給経路に合流する。
図4は、遊技盤ユニット8の一部(窓4a内の右側位置)を拡大して示す正面図である。すなわち遊技盤ユニット8には、例えば窓4a内の右側位置に普通図柄表示装置33及び普通図柄作動記憶ランプ33aが設けられている他、第1特別図柄表示装置34、第2特別図柄表示装置35及び遊技状態表示装置38が設けられている。このうち普通図柄表示装置33は、例えば2つのランプ(LED)を交互に点灯させて普通図柄を変動表示し、そしてランプの点灯又は消灯により普通図柄を停止表示する。普通図柄作動記憶ランプ33aは、例えば2つのランプ(LED)の消灯又は点灯、点滅の組み合わせによって0〜4個の記憶数を表示する。例えば、2つのランプをともに消灯させた表示態様では記憶数0個を表示し、1つのランプを点灯させた表示態様では記憶数1個を表示し、同じ1つのランプを点滅させた表示態様では記憶数2個を表示し、1つのランプの点滅に加えてもう1つのランプを点灯させた表示態様では記憶数3個を表示し、そして2つのランプをともに点滅させた表示態様では記憶数4個を表示する、といった具合である。なお、ここでは2つのランプ(LED)を使用することとしているが、4つのランプ(LED)を使用して普通図柄作動記憶ランプ33aを構成してもよい。この場合、点灯するランプの個数で作動記憶数を表示することができる。
普通図柄作動記憶ランプ33aは、上記の始動ゲート20を遊技球が通過すると、その都度、作動抽選の契機となる通過が発生したことを記憶する意味で1個ずつ増加後の表示態様へと変化していき(最大4個まで)、その通過を契機として普通図柄の変動が開始されるごとに1個ずつ減少後の表示態様へと変化していく。なお、本実施形態では、普通図柄作動記憶ランプ33aが未点灯(記憶数が0個)の場合、普通図柄が既に変動開始可能な状態(停止表示時)で始動ゲート20を遊技球が通過しても表示態様は変化しない。すなわち、普通図柄作動記憶ランプ33aの表示態様によって表される記憶数(最大4個)は、その時点で未だ普通図柄の変動が開始されていない通過の回数を表している。
また、第1特別図柄表示装置34及び第2特別図柄表示装置35は、例えばそれぞれ7セグメントLED(ドット付き)により、対応する第1特別図柄又は第2特別図柄の変動状態と停止状態とを表示することができる(図柄表示手段)。なお、第1特別図柄表示装置34や第2特別図柄表示装置35は、複数のドットLEDを幾何学的(例えば円形状)に配列した形態であってもよい。
また、第1特別図柄作動記憶ランプ34a及び第2特別図柄作動記憶ランプ35aは、例えばそれぞれ2つのランプ(LED)の消灯又は点灯、点滅の組み合わせで構成される表示態様により、それぞれ0〜4個の記憶数を表示する(記憶数表示手段)。例えば、2つのランプをともに消灯させた表示態様では記憶数0個を表示し、1つのランプを点灯させた表示態様では記憶数1個を表示し、同じ1つのランプを点滅させた表示態様では記憶数2個を表示し、1つのランプの点滅に加えてもう1つのランプを点灯させた表示態様では記憶数3個を表示し、そして2つのランプをともに点滅させた表示態様では記憶数4個を表示する、といった具合である。
第1特別図柄作動記憶ランプ34aは、中始動入賞口26に遊技球が入球するごとに、中始動入賞口26に遊技球が入球したことを記憶する意味で1個ずつ増加後の表示態様へと変化していき(最大4個まで)、その入球を契機として特別図柄の変動が開始されるごとに1個ずつ減少後の表示態様へと変化していく。また、第2特別図柄作動記憶ランプ35aは、可変始動入賞装置28に遊技球が入球するごとに、右始動入賞口28aに遊技球が入球したことを記憶する意味で1個ずつ増加後の表示態様へと変化し(最大4個まで)、その入球を契機として特別図柄の変動が開始されるごとに1個ずつ減少後の表示態様へと変化する。なお、本実施形態では、第1特別図柄作動記憶ランプ34aが未点灯(記憶数が0個)の場合、第1特別図柄が既に変動開始可能な状態(停止表示時)で中始動入賞口26に遊技球が入球しても表示態様は変化しない。また、第2特別図柄作動記憶ランプ35aが未点灯(記憶数が0個)の場合、第2特別図柄が既に変動開始可能な状態(停止表示時)で可変始動入賞装置28に遊技球が入球しても表示態様は変化しない。すなわち、各特別図柄作動記憶ランプ34a,35aの表示態様により表される記憶数(最大4個)は、その時点で未だ第1特別図柄又は第2特別図柄の変動が開始されていない入球の回数を表している。
また、遊技状態表示装置38には、例えば大当り種別表示ランプ38a,38b,38c、確率変動状態表示ランプ38d、時短状態表示ランプ38e、発射位置指定ランプ38fにそれぞれ対応するLEDが含まれている。なお、本実施形態では、上述した普通図柄表示装置33や普通図柄作動記憶ランプ33a、第1特別図柄表示装置34、第2特別図柄表示装置35、第1特別図柄作動記憶ランプ34a、第2特別図柄作動記憶ランプ35a及び遊技状態表示装置38が1枚の統合表示基板89に実装された状態で遊技盤ユニット8に取り付けられている。
〔制御上の構成〕
次に、パチンコ機1の制御に関する構成について説明する。
図5は、パチンコ機1に装備された各種の電子機器類を示すブロック図である。パチンコ機1は、制御動作の中枢となる主制御装置70(主制御用コンピュータ)を備えており、この主制御装置70は主に、パチンコ機1における遊技の進行(内容)を制御する機能を有している。なお、主制御装置70は、主制御基板ユニット170に内蔵されている。
また、主制御装置70には、中央演算処理装置である主制御CPU72を実装した回路基板(主制御基板)が装備されており、主制御CPU72は、図示しないCPUコアやレジスタとともにROM74、RAM(RWM)76等の半導体メモリを集積したLSIとして構成されている。また、主制御装置70には、乱数回路(乱数発生器)75や割込みコントローラ(割込みCTR)192、パラレルI/Oポート79、タイマ回路(PTC)194、シリアル通信回路(SCU)196が装備されている。このうち乱数回路75は、特別図柄抽選の大当り判定用や普通図柄抽選の当り判定用にハードウェア乱数(例えば10進数表記で0〜65535)を発生させるものであり、ここで発生された乱数は主制御CPU72に入力される。また、割込みコントローラ192は、パラレルI/Oポート79、タイマ回路194、シリアル通信回路196から各割込み要求(XINT割込み、PTC割込み、SCU割込み)を受け付け、これらの割込み要求を優先順位に基づき制御する。その他にも主制御装置70には、RAM76の初期化を行うためや設定変更等を行うためのRAMクリアスイッチ71や、パラレルI/Oポート79、図示しないクロック発生回路、様々な状態を監視し必要に応じてリセットを発生させるリセットコントローラ等の周辺ICが装備されており、これらは主制御CPU72とともに回路基板上に実装されている。なお、回路基板上(又は内層部分)には、信号伝送経路や電源供給経路、制御用バス等が配線パターンとして形成されている。なお、主制御装置70のI/Oポートはシリアル形式としてもよい。
さらに、主制御装置70には、設定変更装置300、設定キースイッチ302、RAMクリアスイッチ304が設けられている。主制御装置70(主制御CPU72)は、設定変更装置300を動作させることにより設定を変更する。設定変更装置300は、設定(少なくとも特別図柄抽選の当選確率に関する設定)を切り替える装置であり、パチンコ機1に備えられたRAMクリアスイッチ304等の操作により作動する(設定変更手段)。また、設定とは、作動確率の組み合わせをいう。さらに、作動確率とは、条件装置が作動することとなる(大当り遊技が実行されることとなる)特別図柄の組み合わせが表示される確率をいう。設定キースイッチ302は、設定を切り替える上で必須となる設定キーの回転に伴い、その回転状態を示す信号(ON/OFF)を入力する入力装置である。設定の変更の手順は、様々な手法を採用することができるが、例えば、以下の手順で行うことができる。
(1)まず、パチンコ機1の電源をOFFにする。
(2)ついで、専用キー(ドアキー)でパチンコ機1の扉を開ける。具体的には、専用キーをシリンダ錠6aの鍵穴に差し込んで右方向に回転し、内枠アセンブリ7とともに一体扉ユニット4を開放する。
(3)パチンコ機1の内部には、設定キーを挿入するための設定キー用鍵穴と、RAMクリアスイッチ304とが設けられているため、設定キー用鍵穴に設定キーを挿入し、設定キーを右方向に回転する。
(4)そして、パチンコ機1の電源をONにする。
(5)これにより、設定キーが変更位置に回転されたことを示す信号(ON)が設定キースイッチ302により入力され、この入力信号に基づいて設定の変更が可能な状態となる。このとき、図示しないロック機構により安全ロックが掛けられる。したがって、設定キーは、元の位置に戻されない限りは抜き取ることが不可能となる。
ここで、設定キーを右方向に回転した状態で、RAMクリアスイッチ304をONにしながら、電源をONにすると、設定が変更な状態となる(設定変更状態)。一方、設定キーを右方向に回転した状態で、RAMクリアスイッチ304をONにせずに、電源をONにすると、設定の参照が可能な状態となる(設定参照状態)。
(6)設定の変更が可能な状態において、RAMクリアスイッチ304を任意の回数だけ押下することにより、例えば、6段階のうちのいずれかの段階に設定を変更することができる。
設定値は、例えば、性能表示モニタ200や、専用の7セグセグメントLED、遊技状態表示装置38(特別図柄表示装置等)に表示することができる。
(7)スロット機の場合、目的の設定に達したら、レバーON処理が必要になるが、パチンコ機1にはレバーが存在しないため、レバーON処理の代わりの代替処理(例えば、設定キーを左方向に回転する処理、不図示の設定変更確定ボタンをONにする処理等)を実行したり、レバーON処理を省略したりしてもよい。本実施形態では、目的の設定に達したら、設定キーを反時計回りに回転させて元の位置に戻す。この操作により、設定キーが元の位置に戻されたことを示す信号(OFF)が設定キースイッチ302により入力され、この入力信号に基づいて設定の変更が確定する。
(8)そして、設定の変更が確定すると、設定キーを設定キー用鍵穴から抜き取ることができる状態となる。この動作により、性能表示モニタ200や、専用の7セグセグメントLED、遊技状態表示装置38に設定値を表示している場合には、その表示が消える。
(9)最後に、パチンコ機1の扉を閉める。これにより、設定の変更が完了する。設定の変更が完了すると、通常の遊技が開始される。
設定が変更された場合、主制御CPU72は、変更後の設定値をRAM76の設定値バッファに記憶する。設定値バッファは、バックアップの対象となるメモリ領域とすることができる。
〔設定変更の概要〕
設定変更の概要は、以下の通りである。
「設定キーON」、「内枠開放状態」、かつ、「RAMクリアスイッチ押下状態」で電源を投入すると、RAMクリア後、設定変更中の状態(設定変更モード)となる。
設定変更中の状態では、メイン表示器(遊技状態表示装置38に含まれる各種ランプ)の表示はなく、遊技球の発射や遊技球の賞球等は一切できない状態となる。
メイン表示器は、統合表示基板89に実装された各種ランプによる情報(第2情報、所定の抽選の結果に関する情報、例えば、普通図柄表示装置33、普通図柄作動記憶ランプ33a、第1特別図柄表示装置34、第2特別図柄表示装置35、第1特別図柄作動記憶ランプ34a、第2特別図柄作動記憶ランプ35a、遊技状態表示装置38等によって表示する情報)を表示する第2表示手段である。
この場合、性能表示モニタ200の左側2つの7セグメントLED201,202(識別セグ)に「rn.」が表示され、右側2つの7セグメントLED203,204(比率セグ)に「−1」のように設定値が表示される。また、RAMクリアスイッチを押下すると、設定値が1〜6の範囲で変化する。
そして、「設定キーOFF」とすると、設定確定となり、比率セグの表示は「空欄(非表示)1」のように「−」のセグが消灯する(非表示となる)。
この状態で、内枠閉鎖となった場合(実際には閉鎖状態が100ms継続した場合)、設定変更中の状態は終了となり、一旦、電源断前の状態に移行してから、通常遊技状態に移行する。
本実施形態では、RAMクリアスイッチ304と設定変更スイッチとを兼用している例で説明しているが、RAMクリアスイッチ304とは別に設定変更スイッチを別途設けてもよい。
〔設定参照の概要〕
設定参照の概要は、以下の通りである。
「設定キーON」、「内枠開放状態」、かつ、「RAMクリアスイッチ押下でない状態」で電源を投入すると、設定参照中の状態(設定参照モード)となる。
設定変更中の状態と同様に、設定参照中の状態では、メイン表示器の表示はなく、遊技球の発射や遊技球の賞球等は一切できない状態となる。
この場合、性能表示モニタ200の左側2つの7セグメントLED201,202(識別セグ)に「rn.」が表示され、右側2つの7セグメントLED203,204(比率セグ)に「空欄(非表示)1」のように設定値が表示される。また、設定参照中の状態では、RAMクリアスイッチを押下しても、設定値は変化しない。
この状態で、「設定キーOFF」、かつ、「内枠閉鎖状態」となった場合(実際には閉鎖状態が100ms継続した場合)、設定参照中の状態は終了となり、一旦、電源断前の状態に移行してから、通常遊技状態に移行する。
なお、本実施形態では、通常遊技中に設定参照を行うことはできないが、通常遊技中に設定参照を実行可能にしてもよい。
上述した始動ゲート20には、遊技球の通過を検出するためのゲートスイッチ78が一体的に設けられている。また、遊技盤ユニット8には、中始動入賞口26、可変始動入賞装置28、第1可変入賞装置30及び第2可変入賞装置31にそれぞれ対応して中始動入賞口スイッチ80、右始動入賞口スイッチ82、第1カウントスイッチ84及び第2カウントスイッチ85が装備されている。各始動入賞口スイッチ80,82は、中始動入賞口26、可変始動入賞装置28(右始動入賞口28a)への遊技球の入球を検出するためのものである。また、第1カウントスイッチ84は、第1可変入賞装置30(第1大入賞口)への遊技球の入球を検出し、その数をカウントするためのものである。さらに、第2カウントスイッチ85は、第2可変入賞装置31(第2大入賞口31b)への遊技球の入球を検出し、その数をカウントするためのものである。
同様に遊技盤ユニット8には、普通入賞口22への遊技球の入球を検出する第1入賞口スイッチ86と、普通入賞口24への遊技球の入球を検出する第2入賞口スイッチ81とが装備されている。なお、左側の3つの普通入賞口22については、共通の入賞口スイッチ86を用いる構成を例に挙げているが、例えば3つの入賞口スイッチを設置して、各普通入賞口22に対する遊技球の入球を個別に検出してもよい。
いずれにしても、これらスイッチ類の入賞検出信号は、図示しない入出力ドライバを介して主制御CPU72に入力される。なお、遊技盤ユニット8の構成上、本実施形態ではゲートスイッチ78、第1カウントスイッチ84、第2カウントスイッチ85、第1入賞口スイッチ86、第2入賞口スイッチ81からの入賞検出信号は、パネル中継端子板87を経由して送信され、パネル中継端子板87には、それぞれの入賞検出信号を中継するための配線パターンや接続端子等が設けられている。
また、遊技盤ユニット8には、アウトスイッチ99が設けられている。遊技盤ユニット8には、普通入賞口22,24、中始動入賞口26、右始動入賞口28a、第1大入賞口30b、第2大入賞口31b、アウト口32を通過した遊技球を合流させる合流通路が形成されており、この合流通路にアウトスイッチ99が設けられている。アウトスイッチ99は、合流通路を通過する遊技球を検出するものであり、遊技球を検出するたびに検出信号が主制御装置70に入力される。主制御装置70は、アウトスイッチ99から入力される検出信号に基づいて、アウト球の数を計数する。ここで、遊技領域8aに発射された遊技球は、必ず、合流通路を通過してパチンコ機1の外部に排出されることから、アウトスイッチ99は、遊技領域8aに発射された発射球数、つまり、遊技領域8aから排出される排出数(アウト球数)を計数する。
上述した普通図柄表示装置33や普通図柄作動記憶ランプ33a、第1特別図柄表示装置34、第2特別図柄表示装置35、第1特別図柄作動記憶ランプ34a、第2特別図柄作動記憶ランプ35a及び遊技状態表示装置38は、主制御CPU72からの制御信号に基づいて表示動作を制御されている。主制御CPU72は、遊技の進行状況に応じてこれら表示装置33,34,35,38及びランプ33a,34a,35aに対する制御信号を出力し、各LEDの点灯状態を制御している。また、これら表示装置33,34,35,38及びランプ33a,34a,35aは、上述したように1枚の統合表示基板89に実装された状態で遊技盤ユニット8に設置されており、この統合表示基板89にはパネル中継端子板87を中継して主制御CPU72から制御信号が送信される。
また、主制御装置70には、パネル中継端子板87を介して、性能表示モニタ200が接続されている。性能表示モニタ200は、主制御CPU72からの制御信号に基づいて表示動作が制御される。主制御CPU72は、ベースの算出状況に応じて性能表示モニタ200に対する制御信号を出力し、7セグメントLED201〜204の点灯状態を制御する。
なお、性能表示モニタ200は、パネル中継端子板87を介して主制御装置70に接続する例で説明しているが、パネル中継端子板87を介さずに主制御装置70に接続してもよく、主制御装置70の内部の構成として性能表示モニタ200を配置してもよい。
また、遊技盤ユニット8には、可変始動入賞装置28、第1可変入賞装置30及び第2可変入賞装置31にそれぞれ対応して、普通電動役物ソレノイド88、第1大入賞口ソレノイド90及び第2大入賞口ソレノイド97が設けられている。これらソレノイド88,90,97は主制御CPU72からの制御信号に基づいて動作(励磁)し、それぞれ可変始動入賞装置28、第1可変入賞装置30及び第2可変入賞装置31を開閉動作(作動)させたり、確変領域用羽根部材31dを可動させたりする。なお、これらソレノイド88,90,97についてもパネル中継端子板87を中継して主制御CPU72から制御信号が送信される。
その他に一体扉ユニット4にはガラス枠開放スイッチ91が設置されており、また、内枠アセンブリ7にはプラ枠開放スイッチ93が設置されている。一体扉ユニット4が単独で開放されると、ガラス枠開放スイッチ91からの接点信号が主制御装置70(主制御CPU72)に入力され、また、外枠ユニット2から内枠アセンブリ7が開放されると、プラ枠開放スイッチ93からの接点信号が主制御装置70(主制御CPU72)に入力される。主制御CPU72は、これら接点信号から一体扉ユニット4や内枠アセンブリ7の開放状態を検出することができる。なお、主制御CPU72は、一体扉ユニット4や内枠アセンブリ7の開放状態を検出すると、外部情報信号として扉開放情報信号を生成する。
パチンコ機1の裏側には、払出制御装置92が装備されている。この払出制御装置92(払出制御コンピュータ)は、上述した払出装置ユニット172の動作を制御する。払出制御装置92には、払出制御CPU94を実装した回路基板(払出制御基板)が装備されており、この払出制御CPU94もまた、図示しないCPUコアとともにROM96、RAM(RAM)98等の半導体メモリを集積したLSIとして構成されている。払出制御装置92(払出制御CPU94)は、主制御CPU72からの賞球指示コマンドに基づいて払出装置ユニット172の動作を制御し、要求された個数の遊技球の払出動作を実行させる。なお、主制御CPU72は賞球指示コマンドとともに、外部情報信号として賞球情報信号を生成する。
払出制御装置92は、主制御装置70と通信可能であり、主制御装置70から送信される払出コマンドに基づいて遊技球を払い出す。
払出装置ユニット172の図示しない賞球ケース内には、払出モータ102(例えばステッピングモータ)とともに払出装置基板100が設置されており、この払出装置基板100には払出モータ102の駆動回路が設けられている。払出装置基板100は、払出制御装置92(払出制御CPU94)からの払出数指示信号に基づいて払出モータ102の回転角度を具体的に制御し、指示された数の遊技球を賞球ケースから払い出させる。払い出された遊技球は、流路ユニット173内の払出流路を通って受皿ユニット6に送られる。
また、例えば賞球ケースの上流位置には払出路球切れスイッチ104が設置されている他、払出モータ102の下流位置には払出計数スイッチ106が設置されている。払出モータ102の駆動により実際に賞球が払い出されると、その都度、払出計数スイッチ106からの計数信号が払出装置基板100に入力される。また、賞球ケースの上流位置で球切れが発生すると、払出路球切れスイッチ104からの接点信号が払出装置基板100に入力される。払出装置基板100は、入力された計数信号や接点信号を払出制御装置92(払出制御CPU94)に送信する。払出制御CPU94は、払出装置基板100から受信した信号に基づき、実際の払出数や球切れ状態を検知することができる。
また、パチンコ機1には、例えば下皿6cの内部(パチンコ機1の正面からみて奧の位置)に満タンスイッチ161が設置されている。実際に払い出された賞球(遊技球)は流路ユニット173を通じて上皿6bに放出されるが、上皿6bが遊技球で満杯になると、それ以上に払い出された遊技球は上述したように下皿6cへ流れ込む。さらに、下皿6cが遊技球で満杯になると、それによって満タンスイッチ161がONになり、満タン検出信号が払出制御装置92(払出制御CPU94)に入力される。これを受けて払出制御CPU94は、主制御CPU72から賞球指示コマンドを受信してもそれ以上の賞球動作を一旦保留とし、未払出の賞球残数をRAM98に記憶させておく。なお、RAM98の記憶は電源断時にもバックアップが可能であり、遊技中に停電(瞬間的な停電を含む)が発生しても、未払出の賞球残数情報が消失してしまうことはない。
また、パチンコ機1の裏側には、発射制御基板108とともに発射ソレノイド110が設置されている。また、受皿ユニット6内には球送りソレノイド111が設けられている。これら発射制御基板108、発射ソレノイド110及び球送りソレノイド111は上述した発射制御基板セット174を構成しており、このうち発射制御基板108には発射ソレノイド110及び球送りソレノイド111の駆動回路が設けられている。このうち球送りソレノイド111は、受皿ユニット6内に蓄えられた遊技球を1個ずつ、発射機ケース内で所定の発射位置に送り出す動作を行う。また、発射ソレノイド110は、発射位置に送り出された遊技球を打撃し、上述したように遊技領域8aに向けて遊技球を1個ずつ連続的(間欠的)に打ち出す動作を行う。なお、遊技球の発射間隔は、例えば0.6秒程度の間隔(1分間で100個以内)である。
一方、パチンコ機1の表側に位置するグリップユニット16には、発射レバーボリューム112、タッチセンサ114及び発射停止スイッチ116が設けられている。このうち発射レバーボリューム112は、遊技者による発射ハンドルの操作量(いわゆるストローク)に比例したアナログ信号を生成する。また、タッチセンサ114は、静電容量の変化から遊技者の身体がグリップユニット16(発射ハンドル、球発射装置)に触れていることを検出し、その検出信号を出力する。そして、発射停止スイッチ116は、遊技者の操作に応じて発射停止信号(接点信号)を生成する。
受皿ユニット6には発射中継端子板118が設置されており、発射レバーボリューム112やタッチセンサ114、発射停止スイッチ116からの各信号は、発射中継端子板118を経由して発射制御基板108に送信される。また、発射制御基板108からの駆動信号は、発射中継端子板118を経由して球送りソレノイド111に印加される。遊技者が発射ハンドルを操作すると、その操作量に応じて発射レバーボリューム112でアナログ信号(エンコードされたデジタル信号でもよい)が生成され、このときの信号に基づいて発射ソレノイド110が駆動される。これにより、遊技者の操作量に応じて遊技球を打ち出す強さが調整されるものとなっている。なお、発射制御基板108の駆動回路は、タッチセンサ114からの検出信号がオフ(ローレベル)の場合か、もしくは発射停止スイッチ116から発射停止信号が入力された場合は発射ソレノイド110の駆動を停止する。この他に、発射中継端子板118には遊技球等貸出装置接続端子板120が接続されており、この遊技球等貸出装置接続端子板120にCRユニットが接続されていない場合、同じく発射制御基板108の駆動回路は発射ソレノイド110の駆動を停止する。
また、受皿ユニット6には度数表示基板122及び貸出及び返却スイッチ基板123が内蔵されている。このうち度数表示基板122には、度数表示部の表示器(3桁分の7セグメントLED)が設けられている。また、貸出及び返却スイッチ基板123には球貸ボタン10や返却ボタン12にそれぞれ接続されるスイッチモジュールが実装されており、球貸ボタン10又は返却ボタン12が操作されると、その操作信号が貸出及び返却スイッチ基板123から遊技球等貸出装置接続端子板120を経由してCRユニットに送信される。また、CRユニットからは、有価媒体の残り度数を表す度数信号が遊技球等貸出装置接続端子板120を経由して度数表示基板122に送信される。度数表示基板122上の図示しない表示回路は、度数信号に基づいて表示器を駆動し、有価媒体の残り度数を数値表示する。また、CRユニットに有価媒体が投入されていなかったり、あるいは投入された有価媒体の残り度数が0になったりした場合、度数表示基板122の表示回路は表示器を駆動してデモ表示(有価媒体の投入を促す表示)を行うこともできる。
また、パチンコ機1は制御上の構成として、演出制御装置124(演出制御用コンピュータ)を備えている。演出制御装置124は、パチンコ機1の裏側で裏カバーユニット178に覆われる位置に設けられている。この演出制御装置124は、パチンコ機1における遊技の進行に伴う演出の制御を行う。演出制御装置124にもまた、中央演算処理装置である演出制御CPU126が回路基板(複合サブ制御基板)上に装備されている。演出制御CPU126は、図示しないCPUコアとともにRAM(RWM)130やeDRAM131等の半導体メモリを内蔵したLSIとして構成されている。演出制御装置124には、パチンコ機1において演出を実現する上で必要となる様々な機能が搭載されている。例えば、液晶表示器42の画面上で再生される演出画面を描画するためのVDP152や、視覚効果を生み出すランプ46〜52、盤面ランプ53や可動体モータ57、ステータスLED58等のデバイスを制御するためのドライバIC132、音声を出力するスピーカ54,55,56を制御するための音声IC134等が装備されている。演出制御装置124の内部の機能構成については、別の図を用いて詳しく後述する。
演出制御装置124と主制御装置70とは、例えば図示しない通信用ハーネスを介して相互に接続されている。ただし、これらの間の通信は、主制御装置70から演出制御装置124への一方向のみで行われ、逆方向への通信は行われない。なお、通信用ハーネスには、主制御装置70から演出制御装置124に対して送信される各種演出用のコマンド(以下、「サブコマンド」又は「演出コマンド」と称する。)のバス幅に応じてパラレル形式を採用してもよいし、それぞれのドライバ(I/O)のハード構成に合わせてシリアル形式を採用してもよい。
本実施形態では一体扉ユニット4の内面にサブ接続基板136が設置されており、ドライバIC132や音声IC134からの駆動信号はサブ接続基板136を経由して各種ランプ46〜52やスピーカ54,55,56に印加されている。また、サブ接続基板136には、演出切替ボタン45や図示しない音量調整スイッチが接続されており、遊技者が演出切替ボタン45や音量調整スイッチを操作すると、それらの接点信号がサブ接続基板136を通じて演出制御装置124に入力される。さらに、サブ接続基板136には、ジョグダイアル45aが接続されており、遊技者がジョグダイアル45aを回転させると、その回転信号がサブ接続基板136を通じて演出制御装置124に入力される。なお、ここではサブ接続基板136に演出切替ボタン45及びジョグダイアル45aを接続した例を挙げているが、受け皿電飾基板を設置する場合、演出切替ボタン45及びジョグダイアル45aは受け皿電飾基板に接続されていてもよい。
その他、遊技盤ユニット8にはドライバ基板138が設置されており、このドライバ基板138には盤面ランプ53の他に可動体モータ57、ステータスLED58が接続されている。可動体モータ57は、例えば図示しないリンク機構を介して可動体40fを駆動する。ドライバIC132からの駆動信号は、ドライバ基板138を経由して盤面ランプ53、可動体モータ57及びステータスLED58にそれぞれ印加される。
液晶表示器42は遊技盤ユニット8の裏側に設置されており、遊技盤ユニット8に形成された略矩形の開口を通じてその表示画面が視認可能となっている。また、遊技盤ユニット8の裏側にはインバータ基板158が設置されており、このインバータ基板158は液晶表示器42のバックライト(例えば冷陰極管)に印加される交流電源を生成している。
その他、内枠アセンブリ7の裏側には電源制御ユニット162が装備されている。この電源制御ユニット162はスイッチング電源回路を内蔵し、電源コード164を通じて島設備から外部電力(例えばAC24V等)を取り込むと、そこから必要な電力(例えばDC+34V、+12V等)を生成することができる。電源制御ユニット162で生成された電力は、主制御装置70や払出制御装置92、演出制御装置124、インバータ基板158に分配されている。さらに、払出制御装置92を経由して発射制御基板108に電力が供給されている他、遊技球等貸出装置接続端子板120を経由してCRユニットに電力が供給されている。なお、ロジック用の低電圧電力(例えばDC+5V)は、各装置に内蔵された電源用IC(3端子レギュレータ等)で生成される。また、上述したように電源制御ユニット162は、アース線166を通じて島設備にアース(接地)されている。
外部端子板160は払出制御装置92に接続されており、主制御装置70(主制御CPU72)にて生成された各種の外部情報信号は、払出制御装置92を経由して外部端子板160から外部に出力されるものとなっている。主制御装置70(主制御CPU72)及び払出制御装置92(払出制御CPU94)は、外部端子板160を通じてパチンコ機1の外部に向けて外部情報信号を出力することができる。外部端子板160から出力される信号は、例えば遊技場のホールコンピュータ(図示していない)で集計される。なお、ここでは払出制御装置92を経由する構成を例に挙げているが、主制御装置70からそのまま外部情報信号が外部端子板160に出力される構成であってもよい。
性能表示モニタ200に表示される設定値は、例えば以下のように、特別図柄抽選の当選確率に対応付けられている。
設定値が「1」である場合、特別図柄抽選の当選確率(低確率状態)は、「1/319」である。
設定値が「2」である場合、特別図柄抽選の当選確率(低確率状態)は、「1/299」である。
設定値が「3」である場合、特別図柄抽選の当選確率(低確率状態)は、「1/279」である。
設定値が「4」である場合、特別図柄抽選の当選確率(低確率状態)は、「1/259」である。
設定値が「5」である場合、特別図柄抽選の当選確率(低確率状態)は、「1/239」である。
設定値が「6」である場合、特別図柄抽選の当選確率(低確率状態)は、「1/199」である。
設定値が「1」〜「6」である場合、特別図柄抽選の当選確率(高確率状態)は、「1/32」である。
このように、設定値が大きい値であるほど、特別図柄抽選の当選確率(低確率状態)は、大きな値となっているため、遊技者にとって有利な状況となる。
なお、上述の例では、特別図柄抽選の当選確率は、低確率状態でのみ設定差を設ける例で説明したが、高確率状態でも設定差を設けてもよい。また、設定に関しては、大当り確率だけでなく、小当り確率に設定差を設けてもよい。さらに、その他の項目(例えば、高確率状態への移行率、時間短縮状態への移行率、確変回数、時短回数、特殊変動回数等)に設定差を設けてもよい。
設定キーの状態がONである場合、設定変更(設定参照も含む)は可能であり、設定キーを抜くことは不能である。つまり、設定変更中や設定参照中は、設定キーを抜くことはできない。
一方、設定キーの状態がOFFである場合、設定変更(設定参照も含む)は不能であり、設定キーを抜くことは可能である。つまり、設定変更中や設定参照中でなければ、設定キーを抜くことができる。
設定変更及び設定参照に関しては、「設定キー(鍵)」の使用を必須の条件にしている。これにより、設定変更の権限がない者(例えばホールスタッフや悪意のある遊技者等)が、設定変更や設定参照を行うことができなくなり、設定漏洩等を防止できる。
続いて、主制御装置70の主制御CPU72により実行される制御上の処理について説明する。
〔主制御装置におけるCPU初期化(メイン)処理〕
パチンコ機1に電源が投入されると、主制御装置70においては主制御CPU72がCPU初期化処理を開始する。CPU初期化処理は、前回の電源遮断時に保存されたバックアップ情報を元に遊技状態を復旧(いわゆる復電)したり、逆にバックアップ情報をクリアしたりすることで、パチンコ機1の初期状態を整えるための処理である。また、CPU初期化処理は、初期状態の調整後にパチンコ機1の安定した遊技動作を保証するためのメイン処理(メイン制御プログラム)として位置付けられる。
図6及び図7は、CPU初期化処理の第1手順例を示すフローチャートである。以下、主制御CPU72が行う処理について、各手順を追って説明する。
ステップS100:
主制御CPU72は、先ずスタックポインタにスタック領域の先頭アドレスをセットする。
ステップS102:
続いて主制御CPU72は、割込みベクタテーブルの設定を行う。この処理では、主制御CPU72は割込みベクタテーブルのアドレスを割込み制御に使用するIレジスタ(割込みベクタレジスタ)にセットする。割込みベクタテーブルにはCPU初期化処理の実行中に発生した割込み要求を制御する上で必要となる優先順位が定義されており、主制御CPU72は割込みベクタテーブルに定義された優先順位に基づき複数の割込み要求を順番に実行する。
ステップS104:
主制御CPU72は、RAMクリア信号(RAMクリアスイッチ304からの入力信号)を退避させる。より具体的には、RAMクリア信号が入力される入力ポートの値を2回連続して取得し、これらの値による論理和を入力ポート値として退避させておく。
ステップS106:
主制御CPU72は、ここで待機処理を実行する。この処理は、電源が安定するのを待つ処理であるとともに、演出制御装置124の起動を待つ処理である。主制御CPU72は、電源投入後にある程度の待機時間(例えば数千ms程度、3.1秒程度)を確保しておき、その間に電源断予告信号(電源の遮断が発生しつつあることを示す信号)のチェックを行う。具体的には、主制御CPU72は待機時間分のループカウンタをセットすると、ループカウンタの値をデクリメントしながら電源断予告信号の入力ポートをビットチェックする。電源断予告信号は、駆動電圧の電圧レベルを監視するICにより入力される。そして、ループカウンタが0になる前に電源断予告信号の入力を確認すると、主制御CPU72は先頭から処理を再開する。これにより、例えば図示しない主電源スイッチの投入と切断の操作が短時間(1〜2秒程度)内に繰り返し行われた場合のシステム保護を図ることができる。
ステップS108:
次に主制御CPU72は、RAM76のワーク領域に対するアクセスを許可する。具体的には、ワーク領域のRAMプロテクト設定値をリセット(00H)する。これにより、以後はRAM76のワーク領域に対するアクセスが許可された状態となる。
ステップS109:
主制御CPU72は、内枠開放、かつ、設定キーがONであるか否かを確認する。内枠開放は、プラ枠開放スイッチ93からの接点信号により確認することができる。なお、内枠開放は、ガラス枠開放スイッチ91や、図示しないその他の内枠開放スイッチ等からの接点信号により確認してもよい。また、設定キーがONであるか否かは、設定キースイッチ302からの入力信号によって確認することができる。
その結果、内枠開放、かつ、設定キーがONであることを確認した場合(Yes)、主制御CPU72は、ステップS110を実行する。一方、内枠開放、かつ、設定キーがONであることを確認できない場合(No)、主制御CPU72は、ステップS113を実行する(ページ内結合子1→1)。
ステップS110:
主制御CPU72は、先のステップS104で退避させた入力ポート値の特定ビットをチェックすることによりRAMクリア信号を参照し、RAMクリアスイッチ304が押下されていたか否かを確認する。
その結果、RAMクリアスイッチ304が押下されていたことを確認した場合(Yes)、主制御CPU72は、ステップS112を実行する。一方、RAMクリアスイッチ304が押下されていたことを確認できない場合(No)、主制御CPU72は、ステップS111aを実行する。
ステップS111a:
主制御CPU72は、設定変更中フラグの値が「00H」であるか否かを確認する。
設定変更中フラグは、RAM76の設定値バッファに記憶されており、「00H」は通常遊技中であることを示しており、「01H」は設定変更中・確定前を示しており、「02H」は設定変更中・確定後を示しており、「03H」は設定参照中を示している。
設定値バッファには、設定値も格納されており、設定値バッファは、RAMクリア起動時であってもクリアしない。この理由は、「設定変更中に電源断し、RAMクリア起動した場合であっても、設定変更中の状態を継続する」及び「設定参照条件を満たした場合に設定変更中フラグを変更しても、チェックサムの値に影響を与えないため」である。
その結果、設定変更中フラグの値が「00H」であることを確認した場合(Yes)、主制御CPU72は、ステップS111bを実行する。一方、設定変更中フラグの値が「00H」であることを確認できない場合(No)、主制御CPU72は、ステップS114を実行する(ページ内結合子2→2)。
ステップS111b:
主制御CPU72は、設定変更中フラグに「03H」をセットする処理を実行する。次に、主制御CPU72は、ステップS114を実行する(ページ内結合子2→2)。
ステップS112:
主制御CPU72は、設定変更中フラグに「01H」をセットする処理を実行する。次に、主制御CPU72は、ステップS120を実行する(ページ内結合子3→3)。
ステップS113:
主制御CPU72は、RAMクリアスイッチ304が押下されていたか否かを確認する。
その結果、RAMクリアスイッチ304が押下されていたことを確認した場合(Yes)、主制御CPU72は、ステップS120を実行する(ページ内結合子3→3)。一方、RAMクリアスイッチ304が押下されていたことを確認できない場合(No)、主制御CPU72は、ステップS114を実行する。
ステップS114:
主制御CPU72は、バックアップフラグとチェックサムが正常か否かを確認する処理を実行する。
バックアップフラグに関して、主制御CPU72は、バックアップフラグがセットされているか否か(RAM76にバックアップ情報が保存されているか否か)を確認する。前回の電源遮断時に実行された処理でバックアップが正常に終了し、バックアップフラグに特定の値(例えば「01H」)がセットされていれば、バックアップフラグが正常であると判断する。なお、バックアップフラグは、正常なバックアップ処理が実行された場合に特定の値がセットされる。
チェックサムに関して、主制御CPU72は、RAM76のバックアップ情報についてチェックサムを実行する。具体的には、主制御CPU72はRAM76のワーク領域のうち、バックアップフラグ及びチェックサムバッファを除く全ての領域をチェックサムする。チェックサムの結果が正常であれば、主制御CPU72はチェックサムが正常であると判断する。
その結果、バックアップフラグとチェックサムが正常であることを確認した場合(Yes)、主制御CPU72は、ステップS116を実行する。一方、バックアップフラグとチェックサムが正常であることを確認できない場合(No)、主制御CPU72は、ステップS120を実行する。
ステップS116:
主制御CPU72は、電源復帰時の初期化処理を実行する。具体的には、主制御CPU72は、RAM76の一部領域の記憶内容をクリアする。RAM76の一部領域とは、電源復帰時にクリア対象とするメモリ領域である。電源復帰時(設定参照中移行時)にクリア対象とするメモリ領域の詳細は、後述する。
このような処理を実行することにより、主制御CPU72は、電源断の状態が発生してその後に電源が投入された場合、バックアップ処理(記憶処理)によって記憶されている設定の値に関するデータ(第1表示データ)又は特別図柄等に関するデータ(第2表示データ)を消去する消去処理を実行する(消去処理実行手段)。
また、このような処理を実行することにより、主制御CPU72は、設定参照中に(少なくとも設定参照処理が実行される場合に)、消去処理を実行することができる(消去処理実行手段)。
ステップS117:
主制御CPU72は、バックアップの復帰処理を実行する。主制御CPU72は、保存されている有効なバックアップ情報を復帰させる。これにより、主制御CPU72は電源遮断時の状態を復旧させることができる。
ステップS118:
主制御CPU72は、電源復帰時に演出制御装置124に対し送信するべきコマンド(例えば、電源遮断から復帰して起動したことを示す電源復帰指定コマンド)及び払出コマンド(払出制御装置92に対し送信するべきコマンド)をセットする。この処理を終えると、主制御CPU72は、次にステップS125を実行する。
ステップS120:
主制御CPU72は、RAMクリア時の初期化処理(RAMクリア処理)を実行する。具体的には、主制御CPU72は、RAMクリア時にクリア対象となるRAM76の使用領域の記憶内容をクリアする。これにより、RAM76のワーク領域及びスタック領域は初期化され、有効なバックアップ情報が保存されていても、その内容は消去される。なお、RAM76の領域外の記憶内容は、クリアしてもよいし、クリアしなくてもよい。ここで、使用領域とは、遊技の進行を制御するために使用可能な容量が遊技機規則で定められている領域をいい、領域外とは、使用可能な容量の計算に含めない領域をいう。設定変更中フラグの値に関しても、クリアしてもよいし、クリアしなくてもよい。設定変更中フラグの値をクリアすると、後述するステップS131aの判定が必ず否定(No)になってしまうため、後述するステップS131aの判定をRAMクリア前の状態に基づいて行う場合には、設定変更中フラグの値をクリアしないことが好ましい。また、主制御CPU72は、RAM76の初期設定を行う。
ステップS124:
主制御CPU71は、RAMクリア時に演出制御装置124に対し送信するべきコマンド(例えば、RAMクリア起動したことを示すRAMクリア指定コマンド)及び払出コマンド(払出制御装置92に対するコマンド)をセットする。
ステップS125:
主制御CPU71は、RAMクリア時、電源復帰時に共通の初期化処理を実行する。
ステップS126:
次に主制御CPU72は、払出制御出力処理を実行する。この処理では、主制御CPU72は、ステップS118でセットされた払出コマンド(電源復帰指定コマンド)又はステップS124でセットされた払出コマンド(RAMクリア指定コマンド)を、払出コマンドバッファに出力する。
ステップS128:
主制御CPU72は、サブコマンド出力処理を実行する。この処理では、主制御CPU72は先ず、ステップS118でセットされた演出コマンド(電源復帰指定コマンド)又はステップS124でセットされた演出コマンド(RAMクリア指定コマンド)をサブコマンド送信用バッファに出力する。また、主制御CPU72は、演出制御に必要となるその他の各種演出コマンド(例えば、機種指定コマンド、状態指定コマンド、特図先判定演出コマンド、作動記憶数増加時演出コマンド、作動記憶数減少時演出コマンド、回数切りカウンタ値コマンド、普通遊技管理フェーズコマンド、特別遊技管理フェーズコマンド、発射位置指定コマンド等)をセットし、これらをサブコマンド送信用バッファに出力する。このとき、主制御CPU72はこれらの演出コマンドに対し、電源復帰時とRAMクリア時とで異なる値をセットすることもできる。
例えば、電源復帰時には、バックアップ情報に基づいて各演出コマンドの値をセットする。これらの演出コマンドが後のサブコマンド送信処理(ステップS144)において演出制御装置124に対して送信されることにより、演出制御装置124は、前回の電源遮断時に実行中であった演出状態(例えば、内部確率状態、演出図柄の表示態様、作動記憶数の演出表示態様、音響出力内容、各種ランプの発光状態等)を復帰させることができる。
ステップS130:
主制御CPU72は、入力ポート処理を実行する。この処理では、主制御CPU72は各入力ポートの内容を取得し、その値に対して所定の演算を行った結果を各入力ポートの状態フラグに格納する。この処理を終えると、主制御CPU72は次にステップS131に進む(ページ外結合子A→A)。
ステップS131:
主制御CPU72は、主コマンド許可信号(通信許可信号)をリセットする処理を実行する。主コマンド許可信号は、主制御CPU72(主制御装置70)及び払出制御CPU94(払出制御装置92)がそれぞれ独自に設定可能な信号である。
主制御装置70と払出制御装置92とは2本のラインで接続されており、1つ目のラインは信号用のラインであり、2つ目のラインはコマンド用のラインである。
例えば、主制御CPU72が主コマンド許可信号をセットすると、払出制御CPU94はコマンドの送信が可能となる。一方、払出制御CPU94が主コマンド許可信号をセットすると、主制御CPU72はコマンドの送信が可能となる。
ここでは、主制御CPU72は、主コマンド許可信号をリセットする処理を実行しているため、払出制御CPU94はコマンドの送信が不能な状態となる。
なお、払出制御装置92側の払出コマンド許可信号がリセットされていない場合、主制御装置70はコマンドを送信可能である。ただし、設定変更中や設定参照中は、払出コマンド(賞球コマンド)が生成されないようになっているため、払出制御装置92において遊技球が払い出されることはない。払出制御装置92において主コマンド許可信号を設定可能である場合、払出制御装置92側の払出コマンド許可信号は、払出制御装置92側の主コマンド許可信号であってもよい。
ここで、主制御装置70側の主コマンド許可信号をリセットすると、払出制御装置92は通信エラーとなる。通信エラーを回避するために、払出制御装置92と通信し、設定変更中であることを示すコマンドを送信する方法を採用してもよい。
主制御装置70側の主コマンド許可信号をセットせず、払出制御装置92と通信をしない方式を採用する際の利点として、払出制御装置92のソフトの変更が不要であることが挙げられる。
なお、発射許可信号をリセットすることにより、遊技球を発射させないようにすることもできる。
本実施形態では、主コマンド許可信号は、主制御CPU72(主制御装置70)及び払出制御CPU94(払出制御装置92)がそれぞれ独自に設定可能な信号であるという内容で説明しているが、主コマンド許可信号は、主制御装置70だけが設定可能であり、払出制御装置92は設定することができない信号とすることができる。この場合、払出制御装置92では、主コマンド許可信号の代わりに、払出コマンド許可信号(通信許可信号)を利用する。そして、払出制御装置92が払出コマンド許可信号をセットすることにより、主制御装置70は払出制御装置92に対してコマンドを送信可能な状態となり、払出制御装置92が払出コマンド許可信号をリセットすることにより、主制御装置70は払出制御装置92に対してコマンドを送信不能な状態となる。
ステップS131a:
主制御CPU72は、設定変更中又は設定参照中であるか否かを確認する。具体的には、設定変更中フラグの値が「01H」、「02H」又は「03H」であるか否かを確認する。
その結果、設定変更中又は設定参照中であることを確認した場合(Yes)、主制御CPU72は、ステップS131bを実行しないでステップS132を実行する。一方、設定変更中又は設定参照中であることを確認できない場合(No)、主制御CPU72は、ステップS131bを実行する。
ステップS131b:
主制御CPU72は、出力ポートの特定ビットに主コマンド許可信号をセットする処理を実行する。これにより、払出制御装置92は、主制御装置70に対してコマンドを送信することができる状態となる。これにより、設定変更中又は設定参照中でなければ、遊技球の払い出しが可能となる。
このような処理を実行することにより、主制御CPU72は、設定変更中又は設定参照中(設定関連処理の実行中)に、所定の禁止状態を設定することにより、払出制御装置92に遊技球の払い出しを実行させない禁止処理を実行することができる(禁止処理実行手段)。
払出制御装置92は、主制御装置70に対して払出起動コマンド(起動コマンド)を送信し、払出起動コマンドに対する起動確認コマンドを受信することにより払出可能状態となり、払出可能状態において主制御装置70から送信される払出コマンドに基づいて遊技球を払い出す。
また、このような処理を実行することにより、主制御CPU72は、所定の禁止状態を設定することにより、払出制御装置92から主制御装置70に対して払出起動コマンドが送信されることを禁止し、払出制御装置92が払出可能状態となることを禁止し、払出制御装置92に遊技球の払い出しを実行させないことができる(禁止処理実行手段)。
さらに、このような処理を実行することにより、主制御CPU72は、主制御装置70側の主コマンド許可信号(通信許可信号)をOFF(通信不許可)に設定することにより、所定の禁止状態(主制御装置70側の主コマンド許可信号がOFFである状態)とすることができる(禁止処理実行手段)。
ステップS132:
主制御CPU72は、出力ポートの特定ビットをリセット(OFF)して発射許可信号をクリアする。発射許可信号は電源遮断時におけるバックアップの対象に含まれる。したがって、主制御装置70(パチンコ機1)が電源復帰した場合、発射許可信号も電源遮断時の状態に戻される。
発射許可信号は、RAM76に記憶されている特定の出力ポートバッファ(例えば、出力ポート3用のバッファ)のうち、特定のビット(例えば、ビット0)にセットされている。
ステップS133:
主制御CPU72は、タイマ割込み周期を設定する。より具体的には、主制御CPU72は所定のタイマ割込み周期(例えば、4ms)に相当する値をタイマ回路194のカウンタ設定レジスタに設定する。
ステップS134:
主制御CPU72は、割込みデイジーチェーンをリセットする。具体的には、主制御CPU72は、割込み処理の事前準備として、この後で説明するメインループ処理の先頭アドレスをバックアップした上でRETI命令を実行する。この処理を行うことにより、これ以降に発生する割込み処理を正常に開始させ、さらに割込み処理の実行後にはメインループ処理から処理を続行することが可能となる。
CPU初期化処理において以上の手順を実行すると、主制御CPU72は、ステップS135のメインループ処理の実行を開始する。電源制御ユニット162からの電力供給が保たれている限り、主制御CPU72はメインループ処理を終始繰り返して実行する。
パチンコ機1に設定の機能(設定変更装置300)を追加すると、電源投入時の状態が増える。このとき、いくつかの操作によって、電源投入時の状態である「通常復帰(復電)」、「RAMクリア復帰(初期化)」、「設定参照モード(設定参照)」、「設定変更モード(設定変更)」を分ける必要がある。
本実施形態では、電源投入時の状態を4つに分けるため、設定キースイッチ302とRAMクリアスイッチ304といった2つの入力装置を用いて移行判定を行うようにしている。
図8は、メインループ処理の手順例を示すフローチャートである。以下、各手順について説明する。
メインループ処理では、乱数の更新(乱数のかきまぜ等)を行いつつ、以下の3種類の割込みの発生を待つ。
(1)シリアル通信受信割込み(払出制御装置からのコマンド受信時)
(2)タイマ割込み(4msに1回のタイマタイムアップ時)
(3)電源断予告時割込み(電源断による入力電圧降下時)
そして、遊技に係る処理の大半は、タイマ割込み処理にて実行される。
ステップS141:
主制御CPU72は、割込み禁止処理を実行する。
ステップS142:
主制御CPU72は、初期値乱数更新処理を実行する。この処理では、主制御CPU72は、各種のソフトウェア乱数の初期値を更新(変更)するための乱数をインクリメントする。本実施形態では、大当り決定乱数(ハードウェア乱数)、及び普通図柄に対応する当り決定乱数(ハードウェア乱数)を除く各種の乱数(例えば、当選の種類を決定するための大当り図柄乱数、リーチ判定乱数、変動パターン決定乱数等)をプログラム上で発生させている。これらソフトウェア乱数は、別のタイマ割込み処理(図14中のステップS205)で所定範囲内のループカウンタにより更新されているが、この処理において乱数値が一巡する毎にループカウンタの初期値(全ての乱数が対象でなくてもよい)を変更している。
初期値更新用乱数は、この初期値をランダムに変更するために用いられており、ステップS142では、その初期値更新用乱数の更新を行っている。なお、本処理では、大当り図柄乱数の初期値を更新している。ステップS141で割込みを禁止した後にステップS142を実行している理由は、別のタイマ割込み処理(図14中のステップS205)でも同様の処理を実行するため、これとの重複(競合)を防止するためである。なお、大当り決定乱数及び当り決定乱数は、乱数回路75により発生されるハードウェア乱数であり、その更新周期はタイマ割込み周期(例えば数ms)よりもさらに高速(例えば数μs)であるため、大当り決定乱数及び当り決定乱数の初期値を更新する必要はない。
ステップS143:
主制御CPU72は、主コマンド解析処理を実行する。この処理では、シリアル通信受信割込みで保存した払出制御装置92からのコマンドがある場合、払出制御装置92から受信したデータを解析し、その結果に応じた処理を行う。具体的には、主制御CPU72は、受信した主コマンドが払出起動指定コマンドである場合には払出起動確認指定コマンドを払出コマンドバッファに出力する一方、払出起動指定コマンドでない場合は受信した主コマンドが所定範囲内の値であるか(主コマンドとして適切な値であるか)を確認した上で範囲外であれば払出エラー指定コマンドをサブコマンド送信用バッファに出力し、さらに状況に応じて払出電波エラーフラグのセットを行う。
ステップS144:
主制御CPU72は、サブコマンド送信処理を実行する。この処理では、サブコマンド送信用バッファに未送信のサブコマンド(演出コマンド)が残っている場合、主制御CPU72は、演出制御装置124に対して、サブコマンド送信用バッファに格納されているサブコマンドを送信する。
ステップS145:
主制御CPU72は割込みを許可し、ステップS146に処理を移行する。
ステップS146:
主制御CPU72は、その他乱数更新処理を実行する。この処理で更新される乱数は、ソフトウェア乱数のうち当選種類(当り種別)の判定に関わらない乱数(リーチ判定乱数、変動パターン決定乱数等)である。
そして、これらの一連の処理は、メインループ処理の実行中に割込み要求が発生し、主制御CPU72が各種割込み処理を実行した場合の残り時間で行われる。
図9は、シリアル通信受信割込みが発生した際に実行される処理の内容を示す図である。
シリアル通信受信割込みが発生した場合には、主制御CPU72は、シリアル通信受信割込み処理を実行する(ステップS136)。シリアル通信受信割込みは、払出制御装置92からのコマンド受信時に発生する。
図10は、タイマ割込みが発生した際に実行される処理の内容を示す図である。
タイマ割込みが発生した場合には、主制御CPU72は、タイマ割込み処理を実行する(ステップS137)。タイマ割込みは、タイマ割込み周期(例えば、4ms)に1回のタイマタイムアップ時に発生する。
図11は、電源断予告時割込みが発生した際に実行される処理の内容を示す図である。
電源断予告時割込みが発生した場合には、主制御CPU72は、電源断予告時割込み処理を実行する(ステップS138)。電源断予告時割込みは、電源断による入力電圧降下時に発生する。
そして、割込みの優先度は、「シリアル通信受信割込み」が「高」であり、「タイマ割込み」が「中」であり、「電源断予告時割込み」が「低」である。
このため、「タイマ割込み」が発生して「タイマ割込み処理」を実行している最中に、「シリアル通信受信割込み」が発生すると、割込みが禁止されていない限り、「シリアル通信受信割込み処理」を実行する。
一方、「タイマ割込み」が発生して「タイマ割込み処理」を実行している最中に、「電源断予告時割込み」が発生しても、その時点では「電源断予告時割込み処理」を実行せず、「タイマ割込み処理」が終了してから「電源断予告時割込み処理」を実行する。
なお、シリアル通信受信割込み処理(主コマンド受信割込み処理)、タイマ割込み処理等の各種割込み処理が終了した場合には、割込み元(スタックポインタで指示されるプログラムアドレス)に復帰する。
電源断予告時割込み処理は、特殊な処理であるため、原則として割込み元には戻らない。通常は退避処理(チェックサムの算定、RWM(RAM)アクセスプロテクト等)を行った後、その場で電圧降下に伴うリセット発生を待つ。途中で電源供給が復帰した場合は、プログラムの先頭(例えば、CPU初期化処理)に戻る。なお、処理の先頭で割込み元に戻る場合もあるが、これは例外的な処理である。
〔シリアル通信受信割込み処理〕
図12は、シリアル通信受信割込み処理の手順例を示すフローチャートである。
シリアル通信受信割込み処理は、払出制御装置92からコマンドを受信した際に実行される。払出制御装置92は、起動したことを示す払出起動指定のコマンドを主制御装置70に対して送信する他に、遊技の進行に伴い賞球の払い出しに関わる各種装置(例えば、払出装置基板100や満タンスイッチ161等)から主制御装置70に対し送信されるコマンド(エラーコマンド等)の中継送信を行う。払出制御装置92により送信されるこれらのコマンドは、主制御装置70のシリアル通信回路196の特定チャネルの受信データレジスタにより受信される。主制御CPU72は、このコマンド受信(SCU割込み)を契機として、シリアル通信受信割込み処理(SCU割込み処理)を実行する。以下、シリアル通信受信割込み処理の各手順を追って説明する。
ステップS180:
先ず主制御CPU72は、メインループ処理の実行中に使用していたAレジスタ(アキュムレータ)とFレジスタ(フラグレジスタ)の値をRAM76の退避領域に退避させる。値を退避させた後の各レジスタには、データ受信割込み処理の実行中に別の値を書き込むことができる。
ステップS182:
主制御CPU72は、受信エラーか否かを確認する。具体的には、主制御CPU72は、ステータスレジスタの特定ビットをチェックして受信データレジスタ(受信FIFO)にデータが有るか否かを確認し、データが有る場合には正常なデータであるか否かを確認する。そして、データが無い場合や、データがあっても正常なデータでない場合には、主制御CPU72は、受信エラーであると判断する。
受信エラーであると判断した場合(Yes)、主制御CPU72はステップS184を実行しない。一方、受信エラーでないと判断した場合(No)、主制御CPU72はステップS184を実行する。
ステップS184:
主制御CPU72は、受信コマンド(主コマンド)をバッファ(受信コマンドバッファ)に保存する処理を実行する。保存した主コマンドは、メインループ処理の主コマンド解析処理で解析される。
この処理は、RAM76の使用領域のバッファを書き換える処理である。このため、領域外に関する処理を実行している最中に、シリアル通信受信割込みが発生すると、領域外に関する処理を実行しているのにも関わらず、使用領域のバッファを書き換えることになるため、遊技機規則に違反する可能性がある。
そこで、本実施形態では、シリアル通信受信割込み処理を実行する場合には、割込みを禁止してから(シリアル通信受信割込みを禁止してから)、シリアル通信受信割込み処理を実行するようにしている。
ステップS186:
主制御CPU72は、ステップS180で退避させたA,Fレジスタの値を各レジスタに復帰させ、ステップS188に処理を移行する。
ステップS188
主制御CPU72は、割込みを許可した後、シリアル通信受信割込み処理を終了してメインループ処理(図8)の割込み元に復帰する。
〔電源断予告時割込み処理〕
図13は、電源断予告時割込み処理の手順例を示すフローチャートである。
電源断予告時割込み処理は、電源の遮断(以下、「電源断」と略称する。)が発生した際に実行される。
主制御装置70においては、電源断の発生とリセットの発生とが同一の監視IC(例えば、図示しないリセットコントローラに実装されたIC)によって監視されている。この監視ICは、電源制御ユニット162から供給される駆動電圧を監視し、その電圧レベルが基準電圧を下回った場合に、パラレルI/Oポート79のXINT端子へ電源断予告信号を出力する。主制御CPU72は、XINT端子への電源断予告信号の入力(XINT割込み)を契機として、電源断予告時割込み処理(XINT割込み処理)を実行する。
ステップS151:
主制御CPU72は、パラレルI/Oポート79の電源断検出スイッチ入力用ポートを読み込み、特定のビットをチェックして電源断予告信号を検出したか否かを確認し、ステップS152に処理を移行する。
ステップS152:
主制御CPU72は、電源断予告信号を検出したことを確認できない場合(No)、主制御CPU72は、電源断予告時割込み処理を終了してメインループ処理(図8)の割込み元に復帰する。一方、電源断予告信号を検出したことを確認した場合(Yes)、主制御CPU72は次のステップS153を実行する。
ステップS153:
主制御CPU72は、全出力ポートをクリアする処理を実行する。具体的には、主制御CPU72は、普通電動役物ソレノイド88や第1大入賞口ソレノイド90、第2大入賞口ソレノイド97に対応する出力ポートに加え、試験信号端子やコマンド制御信号に対応する出力ポートバッファをクリアする。
ステップS153の処理は、ステップS152において肯定(Yes)と判断された場合、又は、設定変更完了時に(図X32のステップS330の実行によって)実行される処理である。
ステップS154:
主制御CPU72は、チェックサムを算定し、保存する処理を実行する。具体的には、主制御CPU72は、RAM76のバックアップ対象領域のうち、バックアップフラグ及びチェックサムバッファを除く全体の内容を1バイト単位で加算し、全領域について加算を完了するまで繰り返す。そして、全領域についてサムの算出が完了すると、主制御CPU72はチェックサムバッファにサム結果値を保存する。
ステップS155:
主制御CPU72は、バックアップフラグ領域に有効値(例えば「01」)を格納する。
ステップS156:
主制御CPU72は、RAM(RWM)アクセスの禁止処理を実行する。具体的には、主制御CPU72は、RAM76のプロテクト値にアクセス禁止を表す「00H」を格納し、RAM76のワーク領域(使用領域及び領域外を含む)に対するアクセスを禁止する。
ステップS157:
主制御CPU72は、電源断予告信号を検出したか否かを確認する。電源断予告信号の確認方法は、上述したステップS152における方法と同じである。
電源断予告信号を検出したことを確認した場合(Yes)、主制御CPU72は再びステップS157を実行する。一方、電源断予告信号を検出したことを確認できない場合(No)、主制御CPU72は次のステップS158を実行する。
ステップS158:
主制御CPU72は、電源断予告信号を検出していない状態(オフ状態)で所定時間(例えば、10ms)が経過したか否かを確認する。電源断予告信号を検出していない状態で所定時間が経過したことを確認した場合(Yes)、主制御CPU72は、プログラムの先頭に戻る。プログラムの先頭には、CPU初期化処理に関するプログラムが配置されているため、プログラムの先頭に戻るとは、CPU初期化処理を実行することを意味している。一方、電源断予告信号を検出していない状態で所定時間が経過したことを確認できない場合(No)、主制御CPU72は、ステップS157に戻り、これまでの処理を繰り返し実行する。このような処理を実行することにより、電源供給が復帰した(10ms連続で電源断予告信号がオフ状態となった)場合は、電源断予告時割込み処理のプログラム先頭に戻ることができる。
また、ステップS157,ステップS158の処理は、電源制御ユニット162からの電力供給の遮断に備えて実行される待機処理である。電源断予告信号が継続して検出される場合は、ステップS157,ステップS158が繰り返し実行されるため、電力供給が持続する限り待機状態が継続される。このように、主制御CPU72は、電力供給が完全に断たれる前に先ずチェックサムの計算とその結果の保存を行って待機の態勢に入り、電力供給が遮断されつつある状況下では他の処理を実行させずに待機状態を維持して安全な状態で来るべき電力供給の遮断を迎える(電圧降下によるリセット待ちの状態となる)。
なお、電源制御ユニット162からの電力供給が遮断されると、主制御装置70への電力供給源は自動的にバックアップ用電源に切り替わる。主制御装置70は、電源断の発生後は図示しないバックアップ用電源回路(例えば、主制御装置70に実装された容量素子を含む回路)からバックアップ用電力が供給されるため、RAM76のバックアップ対象のメモリの内容は電源断後も消失することなく保持される。なお、バックアップ用電源回路は、電源制御ユニット162に内蔵されていてもよい。
このように、主制御装置70は、電源断の状態が発生した場合、RAM76のバックアップ対象のメモリの内容、特に、使用領域のダイナミック点灯用バッファ(兼用の記憶手段)に格納されている設定の値に関するデータ(第1表示データ)又は特別図柄等に関するデータ(第2表示データ)を記憶する記憶処理を実行する(記憶処理手段)。
以上の処理を通じて、バックアップ対象(サム加算対象)となるRAM76のワーク領域に記憶されていた情報は、電源断後も全てRAM76に記憶として保持されることになる。また、保持されていた記憶は、先のCPU初期化処理でチェックサムの正常を確認した上で、電源断発生時のバックアップ情報として復元される。
〔タイマ割込み処理〕
図14は、タイマ割込み処理の手順例を示すフローチャートである。
主制御CPU72は、タイマ回路194により出力される割込み要求(PTC割込み)に基づき、所定時間(例えば、数ms)毎にタイマ割込み処理(PTC割込み処理)を実行する。以下、タイマ割込み処理の各手順を追って説明する。
ステップS200:
先ず主制御CPU72は、メインループ処理の実行中に使用していたAFレジスタ(アキュムレータとフラグレジスタのペア)、BC,DE,HLレジスタ(汎用レジスタのペア)の値をRAM76の退避領域に退避させる。値を退避させた後の各レジスタには、タイマ割込み処理の実行中に別の値を書き込むことができる。
ステップS201:
主制御CPU72は、割込みフラグ初期化処理を実行する。この処理では、タイマ割込みフラグをクリア(=0)にする処理を実行する。タイマ割込みフラグをクリアする理由は、タイマ割込みは、所定のタイマ割込み周期(例えば、4ms)で発生するが、所定のタイマ割込み周期でタイマ割込みフラグがセット(=1)されるからである。なお、タイマ割込みフラグがセットされている状態は、タイマ割込みの発生を許可しない状態となる。
ステップS201a:
主制御CPU72は、割込み許可処理を実行する。ここで割込みが許可されることにより、タイマ割込み処理の次ステップ以降を実行している間に他の割込みが発生することが可能となる。
ステップS202:
主制御CPU72は、ダイナミックポート出力処理を実行する。この処理では、統合表示基板89及び性能表示モニタ200に実装された各ランプの点灯をダイナミック点灯方式で制御するために、コモン単位でのポート出力を行う。具体的には、主制御CPU72は、出力ポートをクリアした後、選択されたコモンに対応するコモン用のポート出力バッファに、生成されたコモン出力用データを出力する。出力される内容は、前回のタイマ割込みで設定された内容である。
ここで、各コモン用のポート出力バッファに出力されるデータは、タイマ割込み処理が発生する毎に、このダイナミックポート出力処理において1コモンずつ順繰りにポート出力される。例えば、次回に実行されるタイマ割込み処理ではコモン1用として格納されたデータがポート出力され、次々回に実行されるタイマ割込み処理ではコモン2用として格納されたデータがポート出力される、という具合に各コモン用のポート出力バッファに格納されたデータが1つずつ順番に処理されていく。これにより、所定の表示態様(図柄の変動表示や停止表示、作動記憶数表示、遊技状態表示等を行う態様)や性能表示モニタ200を構成する各ランプがコモン単位で順繰りに駆動され、ダイナミック点灯方式により点灯制御される。
ステップS203:
主制御CPU72は、ポート入力処理を実行する。この処理では、入力ポート情報に基づき最新のスイッチ状態を正確に取得するために、主制御CPU72は、パラレルI/Oポート79から各種スイッチ信号の入力値と前回入力値の反転結果値との論理積を入力ポートオン検出フラグに格納する。この結果、入力ポートオン検出フラグの値(ON/OFF)により、各種スイッチ信号の前回からの変化を踏まえた正確な入力状態を把握することが可能となる。各種スイッチ信号には、ゲートスイッチ78からの通過検出信号や、中始動入賞口スイッチ80、右始動入賞口スイッチ82、第1カウントスイッチ84、第2カウントスイッチ85、第1入賞口スイッチ86、第2入賞口スイッチ81からの入賞検出信号、不図示の不正検出スイッチ(磁気検出スイッチ、電波検出スイッチ、振動検出スイッチ等)からの検出信号等が含まれる。
ステップS204:
主制御CPU72は、タイマ更新処理を実行する。この処理では、主制御CPU72は、遊技に用いる各種タイマ(図柄の変動時間・停止時間や電動役物の開放時間・閉鎖時間等を管理するタイマ)の他、外部情報用の各種タイマ、セキュリティ信号用タイマ等のカウンタを更新する処理(減算処理等)を実行する。
ステップS205:
主制御CPU72は、初期値乱数更新処理を実行する。処理の内容は、メインループ処理の初期値乱数更新処理(図8のステップS142)と同様である。
ステップS206:
主制御CPU72は、当り図柄乱数更新処理を実行する。この処理では、主制御CPU72は特別図柄及び普通図柄の抽選用の各種乱数を発生させるためのカウンタの値を更新する。各カウンタの値は、RAM76のカウンタ領域にてインクリメントされ、それぞれ規定の範囲内でループする。各種乱数には、例えば大当り図柄乱数等が含まれる。
ステップS206a:
主制御CPU72は、設定変更中又は設定参照中であるか否かを確認する。具体的には、設定変更中フラグの値が「01H」、「02H」又は「03H」であるか否かを確認する。
その結果、設定変更中又は設定参照中であることを確認した場合(Yes)、主制御CPU72は、ステップS206bを実行する。一方、設定変更中又は設定参照中であることを確認できない場合(No)、主制御CPU72は、ステップS207を実行する。
このような判断処理を実行している理由は、設定変更中及び設定参照中である場合、通常の遊技に係る処理を実行しないようにするためである。そして、設定変更中又は設定参照中において、タイマ割込み処理内の通常の遊技に係る処理を実行しないことで、主制御装置70のプログラムの負荷を軽減することができる。
ステップS206b:
主制御CPU72は、設定変更処理を実行する。この処理を実行することにより、主制御CPU72は、設定を変更する際に実行される設定変更処理又は設定を参照する際に実行される設定参照処理の少なくとも一方を含む設定関連処理を実行することができる(設定関連処理実行手段、設定参照処理実行手段)。設定関連処理は、設定変更中又は設定参照中に実行される処理が含まれる。そして、設定変更処理を終えると、主制御CPU72は、ステップS217aを実行する。ステップS217aに移行する理由は、外部情報管理処理において外部信号(セキュリティ信号)を出力するためである。
このような処理を実行することにより、主制御CPU72は、設定関連処理及びベース関連処理のうち、一方の処理の実行中には、他方の処理の少なくとも一部の処理の実行を制限することができる(制限手段)。つまり、主制御CPU72は、設定変更中又は設定参照中である場合(ステップS206a;Yes)、ベース関連処理の少なくとも一部の処理(ステップS207〜ステップS217、特に、ステップS208)を実行しないようにすることができる。
設定変更処理(ステップS206b)では、性能表示モニタ200に表示される情報を含むコマンドが生成され、生成されたコマンドが所定のバッファに設定される。これにより、主制御CPU72は、性能表示モニタ200が、設定変更中と設定値参照中とでは、異なる表示態様で設定値を表示し、設定値を表示している際には、ベースを表示しないようにすることができる。
また、主制御CPU72は、性能表示モニタ200に対して設定値又はベースを表示させることができ、性能表示モニタ200が設定値を表示している際にはベースを表示せず、性能表示モニタ200がベースを表示している際には設定値を表示しないようにすることができる。
ステップS207:
主制御CPU72は、スイッチ管理処理を実行する。この処理では、先のポート入力処理(ステップS203)で入力したスイッチ信号のうち、ゲートスイッチ78、中始動入賞口スイッチ80、右始動入賞口スイッチ82、第1カウントスイッチ84、第2カウントスイッチ85、第1入賞口スイッチ86、第2入賞口スイッチ81からの入賞検出信号に基づいて遊技中に発生した事象の判定を行い、それぞれ発生した事象に応じた処理を実行する。なお、処理の詳細は後述する。
本実施形態では、中始動入賞口スイッチ80又は右始動入賞口スイッチ82から入賞検出信号(ON)が入力されると、主制御CPU72はそれぞれ第1特別図柄又は第2特別図柄に対応した内部抽選の契機(抽選契機)となる事象が発生したと判定する。また、ゲートスイッチ78から通過検出信号(ON)が入力されると、主制御CPU72は普通図柄に対応した抽選契機となる事象が発生したと判定する。
ステップS208:
主制御CPU72は、加算数算定処理を実行する(ベース関連処理実行手段)。加算数算定処理は、ベース関連処理である。本処理は、使用領域の処理である。この処理において、主制御CPU72は、遊技状態と、各スイッチ(アウトスイッチ99、中始動入賞口スイッチ80、右始動入賞口スイッチ82、第1入賞口スイッチ86、第2入賞口スイッチ81、第1カウントスイッチ84、第2カウントスイッチ85等)の状態を確認し、ベース計算用に「領域外のRAMに加算すべき値(4msの間に発生した賞球数、アウト数等の加算数)」を算出する。具体的には、主制御CPU72は、発射球数A(通常アウト加算数)、発射球数B(総アウト加算数)、獲得球数(通常賞球加算数)の値を決定する処理を実行する。なお、処理の詳細は後述する。
ステップS209:
主制御CPU72は、特別遊技管理処理を実行し、ステップS210に処理を移行する。特別遊技管理処理は、パチンコ機1における遊技を具体的に進行させるためのものである。
特別遊技管理処理(ステップS209)では、主制御CPU72は、第1特別図柄又は第2特別図柄に対応する内部抽選の実行を制御したり、第1特別図柄表示装置34及び第2特別図柄表示装置35による変動表示や停止表示を決定したり、その表示結果に応じて第1可変入賞装置30及び第2可変入賞装置31の作動を制御したりする。なお、処理の詳細は後述する。
ステップS210:
主制御CPU72は、普通遊技管理処理を実行し、ステップS211に処理を移行する。普通遊技管理処理は、パチンコ機1における遊技を具体的に進行させるためのものである。
また、普通遊技管理処理(ステップS210)では、主制御CPU72は、普通図柄表示装置33による変動表示や停止表示を決定したり、その表示結果に応じて可変始動入賞装置28の作動を制御したりする。例えば、主制御CPU72は先のスイッチ管理処理(ステップS207)の中で始動ゲート20の通過を契機として取得した乱数(普通図柄当り決定乱数)を記憶しておき、この普通遊技管理処理の中で記憶から乱数値を読み出し、所定の当り範囲内に該当するか否かの判定を行う。乱数値が当り範囲内に該当する場合、普通図柄表示装置33により普通図柄を変動表示させて所定の当り態様で普通図柄の停止表示を行った後、主制御CPU72は普通電動役物ソレノイド88を励磁して可変始動入賞装置28を作動させる。一方、乱数値が当り範囲外であれば、主制御CPU72は、変動表示の後にはずれの態様で普通図柄の停止表示を行う。
ステップS211:
主制御CPU72は、状態管理処理を実行する。この処理では、主制御CPU72は、入賞頻度の異常(中始動入賞口26、普通入賞口22,24への入球数が異常に多い状態)やベース異常(遊技盤ユニット8の裏側へ回収された遊技球数、すなわち遊技領域8a内に打ち込まれた遊技球数より各入賞口22,24,26,28a,30b,31bへの入賞球数の合計の方が多い状態)等のエラー状態が発生していないか否かのチェックを行う。エラー状態を検知した場合、主制御CPU72は、遊技場のホールコンピュータに対してはセキュリティ信号の出力により、また、演出制御装置124に対しては所定のエラーコマンドの送信により、異常が発生したことを通知する。なお、この処理において、主制御CPU72は、扉開放や不正検出(磁石、電波、振動等)に関するエラー処理を実行してもよい。
ステップS212:
主制御CPU72は、入賞口スイッチ処理を実行する。この処理では、先のポート入力処理(ステップS203)において各種スイッチ80,81,82,84,85,86から入力された入賞検出信号に基づき格納した各入力ポートオン検出フラグがONの場合に、それぞれの対象となる賞球制御カウンタを1加算して更新する。
ステップS213:
主制御CPU72は、払出制御管理処理を実行する。この処理では、主制御CPU72はまず払出コマンドバッファが空でないか(送信すべき払出コマンドがセットされているか)否かを確認し、空でない(払出コマンドがセットされている)場合は、払出コマンドバッファに出力された各種払出コマンドを払出制御装置92に対して送信する。例えば、電源投入時の起動モードを示す払出コマンドは、CPU初期化処理の過程でセットされ、払出コマンドバッファに出力され、この起動モードを示す払出コマンドがこの処理で送信される。一方、払出コマンドバッファが空である場合は、賞球の払い出しを指示するための処理に進む。主制御CPU72は賞球制御カウンタが0でないか否かを確認し、賞球制御カウンタが0でない場合は、このカウンタに対応する賞球個数を指示する賞球指定の払出コマンドを払出制御装置92に対して送信する。より具体的には、各賞球制御カウンタに対応する賞球指定の払出コマンドがこの処理で送信される。なお、払出コマンドの送信は、払出制御装置92から主制御装置70に対し払出コマンド許可信号が入力されており、かつ、送信データレジスタ(送信FIFO)にセットされている払出コマンドの数が所定数未満である場合(より具体的には、送信FIFOにセットされた払出コマンドが送信済みであるか、又は、現在送信中であって送信FIFOに空きがある場合)に実行される。
また、特に電源投入時においては、CPU初期化処理の過程でセットされた払出コマンドが正常に送信された場合、主制御CPU72はこれを契機として発射許可信号をオンにする。具体的には、主制御CPU72は電源投入時に出力した払出コマンドバッファをクリアするとともに、出力ポートの特定ビットをセットすることで発射許可信号をオンにする。これにより、電源投入後の正常動作を確認した上で遊技球の発射が許可され、この発射許可信号が払出制御装置92を介して発射制御基板108に送られることにより、遊技球の発射が可能な状態となる。
また、主制御CPU72は、払出制御管理処理において、演出制御装置124に対して賞球個数の内容を伝達する賞球内容コマンドを出力する。第1可変入賞装置30又は第2可変入賞装置31に対応する第1カウントスイッチ84又は第2カウントスイッチ85から入賞検出信号が入力された場合、第1利益(例えば、遊技球15個分)に対応する賞球内容コマンドを生成する。なお、コマンドを生成するとは、コマンドをサブコマンド送信用バッファに格納することを意味する(以下、同様)。また、普通入賞口24に対応する第2入賞口スイッチ81から入賞検出信号が入力された場合、第2利益(例えば、遊技球10個分)に対応する賞球内容コマンドを生成する。賞球内容コマンドは、メインループ処理のサブコマンド送信処理(図8中のステップS144)において演出制御装置124に送信される。
〔賞球数及び獲得遊技球数について〕
第1特別図柄の始動口の賞球数及び第2特別図柄の始動口の賞球数は、それぞれ1個以上の規定数に設定されている。また、第1特別図柄の始動口と第2特別図柄の始動口とでは、賞球数を異ならせてもよい。さらに、特別図柄の当選確率や、総獲得遊技球数の期待値(初当りから時間短縮状態が終了するまでの一連の期間に得られる平均出球数)に基づいて、最低賞球数を設定してもよい。さらにまた、特別図柄の当選確率、総獲得遊技球数の期待値、大入賞口の開放回数、大入賞口の開放時間、大入賞口の最大入賞数、大入賞口の賞球数が所定の条件を満たした場合、1回の大当りによる獲得遊技球数が最大の獲得遊技球数の1/4未満となる大当りを設定してもよい。
ステップS215:
主制御CPU72は、試験信号管理処理を実行する。この処理は、領域外の処理とすることができる。この処理では、主制御CPU72が自己の内部状態(例えば、普通図柄遊技管理状態、特別図柄遊技管理状態、発射位置指定状態、大当り中、小当り中、確率変動機能作動中、時間短縮機能作動中等)を表す各種の試験信号を生成し、これらをポート出力要求バッファに格納する。この試験信号により、例えば主制御装置70の外部で主制御CPU72の内部状態を試験することができる。
ステップS216:
主制御CPU72は、LED表示設定処理を実行する。この処理では、主制御CPU72は、普通図柄表示装置33、普通図柄作動記憶ランプ33a、第1特別図柄表示装置34、第2特別図柄表示装置35、第1特別図柄作動記憶ランプ34a、第2特別図柄作動記憶ランプ35a、遊技状態表示装置38等に含まれるLEDを点灯制御するためのコモン出力用データを生成する処理を実行する。なお、性能表示モニタ200に関連する処理は、性能表示モニタ制御処理において実行する。
より詳細には、主制御CPU72は、特別遊技管理処理(ステップS209)や普通遊技管理処理(ステップS210)において決定された図柄の変動表示や停止表示、作動記憶数表示、遊技状態表示等に基づいて、対応する態様で各ランプを点灯させるための駆動信号を、コモン出力用データとして生成する。
ステップS217:
主制御CPU72は、ソレノイドデータ設定処理を実行する。この処理では、主制御CPU72は、特別遊技管理処理(ステップS209)や普通遊技管理処理(ステップS210)等において生成された普通電動役物ソレノイド88、第1大入賞口ソレノイド90及び第2大入賞口ソレノイド97の各駆動信号、試験信号等を合わせて(合成して)ポート出力バッファに格納する。この後、主制御CPU72は、ソレノイドデータポート出力処理を実行する。この処理では、主制御CPU72は各出力バッファ(ポート出力バッファ)に値が格納されているかを確認し、値が格納されている場合はポート出力する。例えば、ポート出力バッファに格納された各ソレノイド88,90,97の各駆動信号をポート出力する。この場合、各駆動信号が対応する各ソレノイド88,90,97に送信され、各ソレノイドは駆動信号に応じた動作を実行する。
ステップS217a:
次に主制御CPU72は、外部情報管理処理を実行する。この処理では、主制御CPU72は外部端子板160を通じて遊技場のホールコンピュータに対して外部情報信号(例えば賞球情報、扉開放情報、図柄確定回数情報、大当り情報、始動口情報、セキュリティ信号等)をポート出力要求バッファに格納する。
外部情報管理処理では、「設定変更中又は設定参照中」である場合に、外部信号(セキュリティ信号)を出力する。
なお、本実施形態では、各種の外部情報信号のうち、例えば大当り情報として「大当り1」〜「大当り5」を外部に出力することで、パチンコ機1に接続された外部の電子機器(データ表示器やホールコンピュータ)に対して多様な大当り情報を提供することができる(外部情報信号出力手段)。すなわち、大当り情報を複数の「大当り1」〜「大当り5」に分けて出力することで、これらの組み合わせから大当りの種別(当選種類)を図示しないホールコンピュータで集計・管理したり、内部的な確率状態(低確率状態又は高確率状態)や図柄変動時間の短縮状態の変化を認識したり、非当選以外であっても「大当り」に分類されない小当り(条件装置が作動しない当り)の発生を集計・管理したりすることが可能となる。また、大当り情報に基づき、例えば図示しないデータ表示装置によりパチンコ機1の台ごとに過去数営業日以内の大当り発生回数を計数及び表示したり、台ごとに現在大当り中であるか否かを認識したり、あるいは台ごとに現在図柄変動時間の短縮状態であるか否かを認識したりすることができる。この外部情報管理処理において、主制御CPU72は「大当り1」〜「大当り5」のそれぞれの出力状態(ON又はOFFのセット)を詳細に制御する。
ステップS218:
主制御CPU72は、割込み禁止処理を実行する。
ステップS218a:
主制御CPU72は、レジスタ退避処理を実行する。
ステップS218b:
主制御CPU72は、性能表示モニタ集計除算処理を実行する。この処理は、領域外の処理である。この処理では、主制御CPU72は、性能表示モニタ200に表示するベースを算出する処理を実行する。この処理において、主制御CPU72は、除算タスクを利用することにより、遊技球が各入賞口(始動入賞口、普通入賞口、大入賞口)に入球することによって払い出される賞球数を、遊技領域に発射した遊技球の数を示すアウト数(アウトスイッチで検出された遊技球の数)で除算することによりベースを算出する(ベース算出手段、ベース関連処理実行手段)。性能表示モニタ集計除算処理は、ベース関連処理である。
ベース関連処理は、ベースの制御に関する処理であり、ベースを算出する際に実行されるベース算出処理又は性能表示モニタ200にベースを表示する際に実行されるベース表示処理の少なくとも一方が含まれる。
ここで、ベース算出処理とベース表示処理とは明確に区別する必要はなく、ベースの算出に重点を置いている処理はベース算出処理であり、ベースの表示に重点を置いている処理はベース表示処理である。このため、ベース算出処理の一部をベース表示処理の一部と捉えてもよく、ベース表示処理の一部をベース算出処理の一部と捉えてもよい。
なお、性能表示モニタ集計除算処理の詳細は、後述する。
ステップS219:
主制御CPU72は、性能表示モニタ制御処理を実行する(ベース関連処理実行手段)。性能表示モニタ制御処理は、ベース関連処理である。本処理は、領域外の処理である。この処理において、主制御CPU72は、性能表示モニタ200の表示内容の切替等の処理を実行したり、メインループ処理の性能表示モニタ集計除算処理(ステップS218b)で算出されたベースの値を性能表示モニタ200に表示するための駆動信号を、コモン出力用データとして生成したりする処理を実行する。本処理によって性能表示モニタ200に表示されるベースの値は、現在の処理中のタイマ割込み処理よりも1つ前のタイマ割込み処理の性能表示モニタ集計除算処理(ステップS218b)で算出された値である。なお、処理の詳細は、後述する。
ステップS219a:
主制御CPU72は、レジスタ復帰処理を実行する。これにより、ステップS218aの処理で退避されていたレジスタの値が復帰する。
ステップS220:
主制御CPU72は、割込み許可処理を実行する。ここで割込みが許可されることにより、タイマ割込み処理の次ステップ以降を実行している間に他の割込みが発生することが可能となる。このように、タイマ割込み処理は多重割込みが許可されている。
なお、割込み要求信号の受付や多重割込みの優先制御等は、割込みコントローラ192により実行される。
ステップS221:
主制御CPU72は、発射位置管理処理を実行する。この処理では、主制御CPU72は、遊技の進行状況に応じて遊技球の発射位置を決定する処理を実行する(発射位置決定手段)。なお、本処理は、特別遊技管理処理の中で実行してもよい。また、処理の詳細は後述する。
ステップS222:
主制御CPU72は、ステップS200で退避させたHL,DE,BC,AFレジスタの値を各レジスタに復帰させ、タイマ割込み処理を終了してCPU初期化処理のメインループ処理に復帰する。
〔割込みコントローラによる割込み管理〕
主制御装置70においては、メイン制御プログラムであるCPU初期化処理の実行中に、XINT割込み(電源断予告時割込み処理の元となるパラレルI/Oポート79により出力される割込み要求)、SCU割込み(シリアル通信受信割込み処理の元となるシリアル通信回路196により出力される割込み要求)、PTC割込み(タイマ割込み処理の元となるタイマ回路194により出力される割込み要求)が発生しうる。これらの割込み要求は、主制御装置70に実装された割込みコントローラ192によって管理されて制御される。割込みコントローラ192は、主制御CPU72の割込み許可命令(EI命令)により割込み要求の受付を許可し、割込み禁止命令(DI命令)により割込み要求の受付を禁止する制御(いわゆるマスカブル割込みの制御)を行っている。
XINT割込み、SCU割込み、PTC割込みは、いずれも相互依存性のない独立した発生要因に基づいて生じるため、複数の割込み要求が同時期に発生する場合も当然に考えられる。そこで、割込みコントローラ192は、割込み処理の重要度や処理効率等を考慮して予め定められた割込み要求の優先順位に従って各割込み要求を制御する。
より具体的には、割込み要求(割込み処理)の優先順位は割込みベクタテーブルに定義されており、XINT割込み(電源断予告時割込み処理)の優先度が最も低く、PTC割込み(タイマ割込み処理)の優先度が次に高く、SCU割込み(シリアル通信受信割込み処理)の優先度が最も高く設定されている(図9〜図11参照)。
割込みベクタテーブルの設定がCPU初期化処理の序盤になされることにより、割込みコントローラ192はこれ以降のタイミングで発生する割込み要求の優先制御を行うことができる。実際には、CPU初期化処理がメインループ処理に遷移した後、割込みが許可されてから割込みが禁止されるまでの間にいずれかの割込み要求が発生すると、割込みコントローラ192は受け付けた割込み要求を割込みベクタテーブルに設定された優先順位に基づいて制御する。例えば、XINT割込みとPTC割込みを同時に受け付けた場合、より優先度の高いPTC割込み(タイマ割込み処理)が先に処理される。タイマ割込み処理が実行されている間、XINT割込みは割込み待ち状態となり、タイマ割込み処理が終了した後でXINT割込み(電源断予告時割込み処理)が実行される。
このようにして優先順位に基づく割込み要求の制御を行うことにより、割込みコントローラ192は主制御装置70における多重割込みの実行を可能としている。
〔ダイナミックポート出力処理〕
図15は、ダイナミックポート出力処理の手順例を示すフローチャートである。以下、各手順を追って説明する。
ステップS160:
主制御CPU72は、出力ポート0をクリアする処理を実行する。これにより、メイン表示器の表示がクリアされる。出力ポート0は、メイン表示器に関するデータを出力するポートである。
ステップS161:
主制御CPU72は、出力ポート2をクリアする処理を実行する。これにより、性能表示モニタ200の表示がクリアされる。出力ポート2は、性能表示モニタ200に関するデータを出力するポートである。
ステップS160及びステップS161の処理を実行する理由は、ダイナミック点灯方式の場合、表示を消去しないと、コモンデータを参照するときに制御処理が暴走する可能性があるからである。
なお、ステップS160及びステップS161の処理の後には、ブランキング時間終了待ちの処理を実行することができる。この待ち時間により、表示データを消去して、一定時間が経過してからデータを出力することができる。この待ち時間も、制御処理が暴走することを回避するための待ち時間である。なお、この待ち時間の間に、以下のステップS162及びステップS163の処理を実行してもよい。
ステップS162:
主制御CPU72は、コモンカウンタを0〜3の範囲で更新する処理を実行する。これにより、出力対象のコモン番号が更新される。
ステップS163:
主制御CPU72は、コモンカウンタに対応したコモンデータを取得する処理を実行する。これにより、出力対象のコモンに対応したデータを取得することができる。
ステップS164:
主制御CPU72は、出力ポート1にコモンデータを出力する処理を実行する。出力ポート1にコモンデータを出力することにより、コモンを切り替えながら、コモンデータを出力することができる。出力ポート1は、コモンカウンタに対応したコモン番号(コモン0〜3)を指定するデータを出力するポートである。
ステップS165:
主制御CPU72は、コモンカウンタに応じた表示データを取得する処理を実行する。表示データは、使用領域のRAMに格納されている。
取得する表示データとしては、大きく分けて2つのデータがあり、1つ目のデータは、メイン表示器用のデータであり、2つ目のデータは、性能表示モニタ200用のデータである。
1つ目のメイン表示器用のデータは、LED表示設定処理(図41)において、コモン出力用データとして生成される。
2つ目の性能表示モニタ200用のデータは、性能表示モニタ制御処理(図45)の性能表示モニタ表示処理(ステップS646)においてベースを表示するためのデータとして生成される場合もあり、設定変更処理(図X33)のステップS334〜ステップS346において設定値を表示するためのデータとして生成される場合もある。
ここで、2つ目の性能表示モニタ200用のデータに関しては、ベースを表示する場合も、設定値を表示する場合も、共通のコモン0〜3バッファに表示データがセットされるため、過去のデータは上書きされる。
そして、図15のステップS169の処理と図16のステップS173の処理とは、処理としては同一の処理であるが、図15のステップS169の処理を実行する場合には、共通のコモン0〜3バッファに設定値に関するデータが格納されているため、性能表示モニタ200には設定値に関する内容が表示される。一方、図16のステップS173の処理を実行する場合には、共通のコモン0〜3バッファにベースに関するデータが格納されているため、性能表示モニタ200にベースに関する内容が表示される。
ステップS166:
主制御CPU72は、設定変更中又は設定参照中であるか否かを確認する。具体的には、設定変更中フラグの値が「01H」、「02H」又は「03H」であるか否かを確認する。
その結果、設定変更中又は設定参照中であることを確認できない場合(No)、主制御CPU72は、ステップS167aを実行する。一方、設定変更中又は設定参照中であることを確認できた場合(Yes)、主制御CPU72は、ステップS169を実行する。
ステップS167a:
主制御CPU72は、出力ポート0に出力する処理を実行する。具体的には、メイン表示器の表示をセットする処理を実行する。これにより、指定したコモンで指定したデータが出力される。ここで出力されるデータは、LED表示設定処理により生成されたコモン出力用データであり、コモン出力用データをコモン用のポート出力バッファにセットすることにより、統合表示基板89に実装された各ランプの点灯をダイナミック点灯方式で制御することができる。
ステップS167b:
主制御CPU72は、割込み禁止処理を実行する。
ステップS167c:
主制御CPU72は、レジスタ退避処理を実行する。
ステップS168a:
主制御CPU72は、性能表示モニタ出力処理を実行する(ベース関連処理実行手段)。性能表示モニタ出力処理は、ベース関連処理である。本処理は、領域外の処理である。このため、割込み禁止処理を実行してから本処理を実行する。この処理を実行することにより、指定したコモンで指定したデータが出力される。なお、処理の詳細は、後述する。
このような処理を実行することにより、主制御CPU72は、領域外の処理(第2処理)に含まれる処理として、性能表示モニタ200にベースを表示する処理(ベース関連処理)を実行することができる(第2処理実行手段)。
ステップS168b:
主制御CPU72は、レジスタ復帰処理を実行する。
ステップS168c:
主制御CPU72は、割込み許可処理を実行する。
ステップS169:
主制御CPU72は、出力ポート2に出力する処理を実行する。具体的には、性能表示モニタ200の表示をセットする処理(ステップS165の処理で取得した表示データを出力ポート2に出力する処理)を実行する。本処理は、使用領域の処理である。本処理を実行することにより、設定変更中又は設定参照中において、性能表示モニタ200に設定値が表示される。なお、ステップS168aの処理以外の処理は、使用領域の処理とすることができる。
このような処理を実行することにより、通常遊技中は、使用領域のバッファ内容をメイン表示器に出力することができ、領域外のバッファ内容を性能表示モニタ200に出力することができる。一方、設定変更中及び設定参照中は、使用領域のバッファ内容を性能表示モニタ200に出力することができ、メイン表示器はすべてクリアし何も表示しないようにすることができる。
パチンコ機1において、メイン表示器に7セグメントLEDが存在しない場合(複数のドットLEDを幾何学的に配列している場合)がある。このような状況で、設定値を分かりやすく表示するためには、性能表示モニタ200の7セグメントLEDを使用する必要がある。このとき、領域外で処理を行うことに規則的な懸念(遊技に関する処理であるにも関わらず、使用領域で処理を行っていないという懸念)がある。
性能表示モニタ200に関する処理は、領域外で実行することが認められているので、基本的には、性能表示モニタ200の表示処理は領域外で実行する。
ただし、性能表示モニタの7セグメントLEDの表示処理の中でも、設定値を表示する処理は、遊技に関する処理に該当する可能性があるため、使用領域で実行する。
これにより、性能表示モニタ200に設定値を表示する処理を使用領域で実行することができ、規則的な懸念を回避することができる。
このような処理を実行することにより、主制御CPU72は、使用領域の処理(第1処理)に含まれる処理として、性能表示モニタ200に設定値を表示する処理を実行することができる(第1処理実行手段)。
また、このような処理を実行することにより、主制御CPU72は、使用領域のダイナミック点灯用バッファ(兼用の記憶手段)に設定値に関するデータ(第1表示データ)が格納されている場合には設定値に関するデータを用いて性能表示モニタ200(第1表示手段)に設定の値(第1情報)を表示し、使用領域のダイナミック点灯用バッファに特別図柄等に関するデータ(第2表示データ)が格納されている場合には特別図柄等に関するデータを用いてメイン表示器(第2表示手段)に特別図柄等に関する情報(第2情報)を表示するダイナミックポート出力処理(表示処理)を実行することができる(表示処理実行手段)。
さらに、このような処理を実行することにより、主制御CPU72は、タイマ割込み処理(一定の割込み契機で実行される割込み処理)のうち規定の割込み処理の実行中に、ダイナミックポート出力処理(表示処理)を実行することができる(表示処理実行手段)。
以上の処理を終えると、主制御CPU72は、タイマ割込み処理(図14)に復帰する。
〔性能表示モニタ出力処理〕
図16は、性能表示モニタ出力処理の手順例を示すフローチャートである。以下、各手順を追って説明する。
ステップS170:
主制御CPU72は、スタックポインタ退避処理を実行する。この処理により、使用領域のスタックポインタが退避される。
ステップS171:
主制御CPU72は、領域外のスタックポインタを設定する処理を実行する。
ステップS172:
主制御CPU72は、レジスタ退避処理を実行する。レジスタの退避は、領域外のスタックポインタを使用する。
ステップS173:
主制御CPU72は、データを出力する処理を実行する。
具体的には、性能表示モニタ200の表示をセットする処理(図15のステップS165の処理で取得した表示データを出力ポート2に出力する処理)を実行する。本処理を実行することにより、通常遊技中において、性能表示モニタ200にベースが表示される。
本処理は、図15のステップS169と同様の処理であるが、出力ポート2に出力されるデータの内容(性能表示モニタ200に表示される内容)が異なっている。
本処理(ステップS173)では、図15のステップS165においてベースに関するデータが取得されるため、出力ポート2にベースに関するデータが出力され、性能表示モニタ200にベースに関する内容が表示される。
一方、図15のステップS169では、図15のステップS165において設定値に関するデータが取得されるため、出力ポート2に設定値に関するデータが出力され、性能表示モニタ200に設定値に関する内容が表示される。
コモンの出力は、使用領域に関する処理で実行しているため(共通のコモン番号を使用するため;図15中ステップS164参照)、本処理ではデータのみを出力する処理を実行する。これにより、指定したコモンで指定したデータが出力される。ここで出力されるデータは、性能表示モニタ表示処理により生成されたコモン出力用データであり、コモン出力用データ(ベース表示用データ)をコモン用のポート出力バッファにセットすることにより、性能表示モニタ200に実装された各ランプの点灯をダイナミック点灯方式で制御することができる。
具体的には、主制御CPU72は、前回のベース又は今回のベースのいずれか一方を、対応する識別子「bL.」又は「b6.」とともに予め設定された間隔ごとに切り替えて性能表示モニタ200に表示するためのコモン出力用データをポート出力バッファにセットする処理を実行する。ここでセットされたコモン出力用データ(駆動信号)に基づいて、性能表示モニタ200での表示内容が制御される。
ステップS166:
主制御CPU72は、レジスタ復帰処理を実行する。
ステップS167:
主制御CPU72は、スタックポインタ復帰処理を実行する。本処理を実行することにより、使用領域のスタックポインタに復帰後、使用領域に関する処理に戻ることになる。
以上の処理を終えると、主制御CPU72は、ダイナミックポート出力処理(図15)に復帰する。
図17は、タイマ割込み処理とダイナミックポート出力処理との関係を示す図である。
タイマ割込みは、シリアル通信受信割込みと比較して、割込み優先度が低い割込みとなっている(図9〜図11参照)。
ここで、図中の太字の点線矢印は割込み禁止区間を示しており(点線矢印A1〜A3)、図中の太字の実線矢印は割込み許可区間を示している(実線矢印B1〜B3)。
タイマ割込み処理では、まず、レジスタ退避処理(S200)、及び、割込みフラグ初期化処理(S201)を実行する。この区間は、割込み禁止区間である(点線矢印A1参照)。
本実施形態の主制御CPU72(プログラム、アセンブラ)は、割込みが発生すると、自動的に、割込み禁止という命令を使った場合と同じ状態となる。このため、タイマ割込み処理が開始された場合、内部的には(ハードウェアとしては)、割込み禁止状態となっている。よって、割込みを許可するためには、割込み許可処理を実行する必要がある。
このため、タイマ割込み処理では、つぎに、割込み許可処理(S201a)を実行する。この処理を実行することにより、割込み許可区間が開始される(実線矢印B1参照)。
タイマ割込み処理からダイナミックポート出力処理(S202)が呼び出されると、ダイナミックポート出力処理では、出力ポート0をクリアする処理や出力ポート2をクリアする処理等が実行される(S160,S161)。この区間は、割込み許可区間である(実線矢印B1参照)。
ダイナミックポート出力処理では、つぎに、割込み禁止処理(S167b)を実行する。この処理を実行することにより、割込み禁止区間が開始される(点線矢印A2参照)。
ダイナミックポート出力処理では、さらに、レジスタ退避処理(S167c)、性能表示モニタ出力処理(S168a)、及び、レジスタ復帰処理(S168b)を実行する。この区間は、割込み禁止区間である(点線矢印A2参照)。
ダイナミックポート出力処理では、最後に、割込み許可処理(S168c)を実行する。この処理を実行することにより、割込み許可区間が開始される(実線矢印B2参照)。
ダイナミックポート出力処理からタイマ割込み処理に戻り、各種処理を実行する。この区間は、割込み許可区間である(実線矢印B2参照)。
タイマ割込み処理では、つぎに、割込み禁止処理(S218)を実行する。この処理を実行することにより、割込み禁止区間が開始される(点線矢印A3参照)。
タイマ割込み処理では、さらに、レジスタ退避処理(S218a)、性能表示モニタ制御処理(S219)、及び、レジスタ復帰処理(S219a)を実行する。この区間は、割込み禁止区間である(点線矢印A3参照)。
そして、タイマ割込み処理では、割込み許可処理(S220)を実行する。この処理を実行することにより、割込み許可区間が開始される(実線矢印B3参照)。
このように、本実施形態では、「タイマ割込み処理」より割込み優先度の高い「シリアル通信受信割込み処理」を設定しているため、「性能表示モニタ制御処理(S219)」及び「性能表示モニタ出力処理(S165)」は、割込み禁止にしてから処理を実行している。
このため、「性能表示モニタ制御処理(S219)」及び「性能表示モニタ出力処理(S165)」の実行中は、割込み優先度の高い「シリアル通信受信割込み」が発生した場合でも、割り込まれることなく「性能表示モニタ制御処理(S219)」及び「性能表示モニタ出力処理(S165)」が継続して実行される。
この場合、「性能表示モニタ制御処理」や「性能表示モニタ出力処理」が終了し、割込みが許可されたタイミングで「シリアル通信受信割込み処理」が実行される。割込みに関する受信データは、受信バッファに保存されているため、受信データを取り出すタイミングは遅れても、その後に受信データに関する処理が実行されるため問題は発生しない。
〔主制御CPU72の処理内容〕
主制御CPU72は、タイマ割込み処理(第1処理)を実行する(第1処理実行手段)。また、主制御CPU72は、タイマ割込み処理の実行中にシリアル通信受信割込み(所定の割込み)が発生した場合、タイマ割込み処理の実行を中断して、タイマ割込み処理とは異なるシリアル通信受信割込み処理(第2処理)を実行する(第2処理実行手段)。
タイマ割込み処理(第1処理)は、シリアル通信受信割込みを許可する割込み許可処理、及び、出球履歴を監視する処理であってシリアル通信受信割込みを許可しない割込み非許可処理を含む。
割込み許可処理は、使用領域に関する処理、例えば、「性能表示モニタ制御処理(S219)」及び「性能表示モニタ出力処理(S165)」を除いた処理(特別遊技管理処理等)である。
割込み非許可処理は、領域外に関する処理、例えば、「性能表示モニタ制御処理(S219)」及び「性能表示モニタ出力処理(S165)」である。
主制御CPU72は、割込み非許可処理を実行する場合、シリアル通信受信割込みを禁止している状態で割込み非許可処理を実行する(第1処理実行手段)。
また、主制御CPU72は、割込み非許可処理を実行する場合、割込み非許可処理を実行する前にシリアル通信受信割込みを禁止する処理を実行し、割込み非許可処理を実行し、割込み非許可処理を実行した後にシリアル通信受信割込みを許可する処理を実行する(第1処理実行手段)。
割込み非許可処理は、ベースを算出する処理のうちの一部の処理である。ベースを算出する処理のうちの一部の処理は、「性能表示モニタ制御処理(S219)」及び「性能表示モニタ出力処理(S165)」である。
ところで、可変入賞装置(本実施形態では、第1可変入賞装置30及び第2可変入賞装置31)及び可変始動入賞装置(本実施形態では、可変始動入賞装置28)は、1回の開放における開放時間が遊技機規則で定められている。具体的に、可変入賞装置は、大当り遊技における1回の開放時間が30.0秒まで、小当たり遊技における1回の開放時間が1.8秒までと遊技機規則で定められている。また、可変始動入賞装置は、始動ゲートの通過を契機とする抽選に当選したことに基づく1回の作動での開放時間が6.0秒までと遊技機規則で定められている。
ここで、第1可変入賞装置30、第2可変入賞装置31及び可変始動入賞装置28のそれぞれの1回の開放動作は、遊技に関する所定動作の一例に相当する。また、第1可変入賞装置30、第2可変入賞装置31及び可変始動入賞装置28のそれぞれの1回の開放時間は、遊技に関する所定動作の実行期間の一例に相当する。また、遊技機規則は、第1可変入賞装置30、第2可変入賞装置31及び可変始動入賞装置28のそれぞれの開放時間を規定しているので、所定動作の実行期間の所定条件の一例に相当する。
また、第1可変入賞装置30は、第1大入賞口ソレノイド90が励磁されることによって開閉動作する。第2可変入賞装置31は、第2大入賞口ソレノイド97が励磁されることによって開閉動作する。可変始動入賞装置28は、普通電動役物ソレノイド88が励磁されることによって開閉動作する。第1大入賞口ソレノイド90、第2大入賞口ソレノイド97及び普通電動役物ソレノイド88は、ソレノイドデータ設定処理(ステップS217)で生成される駆動信号などで制御される。このため、ソレノイドデータ設定処理(ステップS217)は、遊技に関する所定動作の実行を制御する第一処理の一例に相当する。
性能表示モニタ200に表示されるベース値は、遊技球が各入賞口(始動入賞口、普通入賞口、大入賞口)に入球することによって払い出される賞球数を、遊技領域に発射した遊技球の数を示すアウト数(アウトスイッチで検出された遊技球の数)で除算して算出される値である。すなわち、ベース値は、遊技球の個数情報の一例に相当する。また、ベース値は、性能表示モニタ集計除算処理(ステップS218b)で算出される。このため、性能表示モニタ集計除算処理(ステップS218b)は、遊技球の個数情報を算出する算出処理の一例に相当する。
ダイナミックポート出力処理(ステップS202)では、性能表示モニタ出力処理(ステップS168a)が実行される。性能表示モニタ出力処理では、ベース値に関するデータが取得され、出力ポート2にベース値に関するデータが出力されるデータ出力処理(ステップS173)が実行される。したがって、ダイナミックポート出力処理は、遊技球の個数情報を表示する表示処理の一例に相当する。
遊技球の個数情報に関連するダイナミックポート出力処理(ステップS202)及び性能表示モニタ集計除算処理(ステップS218b)を含んで第二処理が構成される。
主制御CPU72は、ソレノイドデータ設定処理(ステップS217)、ダイナミックポート出力処理(ステップS202)及び性能表示モニタ集計除算処理(ステップS218b)を実行するようになっているので、第一処理及び第二処理を実行可能な実行手段に相当する。ソレノイドデータ設定処理(ステップS217)、ダイナミックポート出力処理(ステップS202)及び性能表示モニタ集計除算処理(ステップS218b)を実行する主制御CPU72を備える主制御装置70も第一処理及び第二処理を実行可能な実行手段に相当する。
詳細は後述するが、ベース値を算出するための除算処理には、所定時間がかかる。このため、ベース値の除算処理を実行するか否かによって、性能表示モニタ集計除算処理での処理時間が異なる。また、算出されるベース値の桁数が多くなるほど、除算処理が長くなる。このように、性能表示モニタ集計除算処理の処理時間は不定である。換言すると、性能表示モニタ集計除算処理は、タイマ割込み処理において実行される他の処理と比較して、タイマ割込み処理ごとに処理時間の変動量が大きい場合がある。パチンコ機1に設けられた主制御CPU72は、タイマ割込み処理において、遊技に関する第1可変入賞装置30、第2可変入賞装置31又は可変始動入賞装置28の開閉動作を制御するソレノイドデータ設定処理(ステップS217)よりも後に、処理時間が不定な性能表示モニタ集計除算処理(ステップS218b)を実行する。これにより、パチンコ機1は、性能表示モニタ集計除算処理(ステップS218b)の処理時間の変動の影響をソレノイドデータ設定処理(ステップS217)に及ぼさずに第1可変入賞装置30、第2可変入賞装置31及び可変始動入賞装置28のそれぞれの開放期間を設定どおりに制御できる。このため、パチンコ機1は、第1可変入賞装置30、第2可変入賞装置31及び可変始動入賞装置28のそれぞれの開放期間を遊技機規則のそれぞれの開放時間に一致させることができる。その結果、パチンコ機1は、第1可変入賞装置30、第2可変入賞装置31及び可変始動入賞装置28に遊技球が入賞する期間を可能な限り長くすることができる。小当たり遊技では、1回の開放時間が1.8秒までに制限され、第1可変入賞装置30や第2可変入賞装置31の開放可能期間が短いため、本実施形態は特に好適である。
図18は、タイマ割込み処理の変形形態を示す図である。
タイマ割込み処理は、図14に示す処理の順番で説明したが、第一処理(本実施形態ではソレノイドデータ設定処理(ステップS217))が第二処理(本実施形態では性能表示モニタ集計除算処理(ステップS218b))よりも先に実行されるという要件を満たすことを前提に、以下のように変形することもできる。
タイマ割込み処理の処理順序は、〔1〕ダイナミックポート出力処理、〔2〕加算数算定処理(少なくとも入賞検出及び賞球数の算定)、〔3〕性能表示モニタ制御処理という順序とする。
〔1〕ダイナミックポート出力処理を最優先の処理としている理由は、コモンの切り替えタイミングとデータの表示時間を一定にするためである。このため、〔1〕ダイナミックポート出力処理は、タイマ割込み処理の前半(序盤)に行っている。
〔2〕加算数算定処理を次に優先する処理としている理由は、性能表示モニタ制御処理において、使用する賞球数・アウト数を使用領域内で事前に算出するため、加算数算定処理を性能表示モニタ制御処理よりも前に行う必要があるからである。
〔3〕性能表示モニタ制御処理を最後の優先順位としている理由は、性能表示モニタ制御処理は、加算数算定処理の終了後に実行する必要があるからである。
図中の〔A〕、〔B〕又は〔C〕に挿入する処理は、図14の配置例に限られずに、任意の処理(入力ポートの更新処理、入力ポートのエッジ検出処理、入賞口の判定処理、特別図柄に係る処理、普通図柄に係る処理、エラーに係る処理、外部出力に係る処理、試験信号出力に係る処理、ポート出力処理等)を挿入することができる。
この際、特別図柄に係る処理(特別遊技管理処理)を加算数算定処理より前に行うか後に行うかによって、算出されるベースの値は、異なる値となる。この理由は、加算数算定処理内で大当り中であるか否かの判定を行っているため、ベースの値の分母となるアウト数をカウントする場合とカウントしない場合とが存在するからである。
具体的には、特別図柄に係る処理が加算数算定処理より前の場合には、1回の割込み内で、特別図柄に係る処理で大当りとなり、かつ、アウトスイッチを検出していた場合、アウト数のカウントは行わない(アウトスイッチの検出は、大当たり中と判断してベースの計算から除外される)。
一方、特別図柄に係る処理が加算数算定処理より後の場合には、1回の割込み内で、特別図柄に係る処理で大当りとなり、かつ、アウトスイッチを検出していた場合、アウト数のカウントは行う(加算数算定処理の時点でまだ大当りとしていないため、アウトスイッチの検出は有効となり、ベースの計算から除外されない)。
このように、特別図柄に係る処理を加算数算定処理より前に配置するか後に配置するかによって、ベースの値は変化することになるが、特別図柄に係る処理は、遊技仕様や算出したいベースの内容に応じて、タイマ割込み処理の中の任意の場所に配置することができる。
〔スイッチ管理処理〕
図19は、スイッチ管理処理の手順例を示すフローチャートである。以下、各手順を追って説明する。
ステップS10:
主制御CPU72は、第1特別図柄に対応する中始動入賞口スイッチ80から入賞検出信号が入力(抽選契機が発生)されたか否かを確認する。この入賞検出信号の入力が確認された場合(Yes)、主制御CPU72は次のステップS12に進んで第1特別図柄記憶更新処理を実行する。具体的な処理の内容については、別のフローチャートを用いてさらに後述する。一方、入賞検出信号の入力がなかった場合(No)、主制御CPU72はステップS14に進む。
ステップS14:
次に主制御CPU72は、第2特別図柄に対応する右始動入賞口スイッチ82から入賞検出信号が入力(抽選契機が発生)されたか否かを確認する。この入賞検出信号の入力が確認された場合(Yes)、主制御CPU72は次のステップS16に進んで第2特別図柄記憶更新処理を実行する。ここでも同様に、具体的な処理の内容については別のフローチャートを用いてさらに後述する。一方、入賞検出信号の入力がなかった場合(No)、主制御CPU72はステップS18に進む。
ステップS18:
主制御CPU72は、第1可変入賞装置30の第1大入賞口に対応する第1カウントスイッチ84から入賞検出信号が入力されたか否かを確認する。この入賞検出信号の入力が確認された場合(Yes)、主制御CPU72は次のステップS20に進んで第1大入賞口カウント処理を実行する。第1大入賞口カウント処理では、主制御CPU72は大当り遊技中に1ラウンドごとの第1可変入賞装置30への入賞球数をカウントする。一方、入賞検出信号の入力がなかった場合(No)、主制御CPU72はステップS21aに進む。
ステップS21a:
主制御CPU72は、第2可変入賞装置31の第2大入賞口に対応する第2カウントスイッチ85から入賞検出信号が入力されたか否かを確認する。この入賞検出信号の入力が確認された場合(Yes)、主制御CPU72は次のステップS21bに進んで第2大入賞口カウント処理を実行する。第2大入賞口カウント処理では、主制御CPU72は大当り遊技中に第2可変入賞装置31への入賞球数をカウントする。一方、入賞検出信号の入力がなかった場合(No)、主制御CPU72はステップS22に進む。
ステップS22:
主制御CPU72は、普通図柄に対応するゲートスイッチ78から通過検出信号が入力されたか否かを確認する。この通過検出信号の入力が確認された場合(Yes)、主制御CPU72は次のステップS24に進んで普通図柄記憶更新処理を実行する。普通図柄記憶更新処理では、主制御CPU72は現在の普通図柄作動記憶数が上限数(例えば4個)未満であるか否かを確認し、上限数に達していなければ、普通図柄当り乱数を取得する。また、主制御CPU72は、普通図柄作動記憶数を1インクリメントする。そして、主制御CPU72は、取得した普通図柄当り乱数値をRAM76の乱数記憶領域に記憶させる。一方、入賞検出信号の入力がなかった場合(No)、主制御CPU72はタイマ割込み処理(図14)に復帰する。
〔第1特別図柄記憶更新処理〕
図20は、第1特別図柄記憶更新処理(図19中のステップS12)の手順例を示すフローチャートである。以下、第1特別図柄記憶更新処理の手順について順を追って説明する。
ステップS30:
ここでは先ず、主制御CPU72は第1特別図柄作動記憶数カウンタの値を参照し、作動記憶数が最大値(例えば4とする)未満であるか否かを確認する。作動記憶数カウンタは、RAM76の乱数記憶領域に記憶されている大当り決定乱数や大当り図柄乱数等の個数(組数)を表すものである。ここで、RAM76の乱数記憶領域は、第1特別図柄及び第2特別図柄で共通して使用する8つのセクション(例えば各2バイト)に分けられており、各セクションには大当り決定乱数及び大当り図柄乱数を1個ずつセット(組)で記憶可能である。このとき、第1特別図柄に対応する作動記憶数カウンタの値が最大値に達していれば(No)、主制御CPU72はスイッチ管理処理(図19)に復帰する。一方、作動記憶数カウンタの値が最大値未満であれば(Yes)、主制御CPU72は次のステップS31に進む。
ステップS31:
主制御CPU72は、第1特別図柄作動記憶数を1つ加算する。第1特別図柄作動記憶数カウンタは、例えばRAM76の作動記憶数領域に記憶されており、主制御CPU72はその値をインクリメント(+1)する。ここで加算されたカウンタの値に基づき、第1特別図柄作動記憶ランプ34aの点灯状態が制御されることになる。
ステップS32:
そして、主制御CPU72は、サンプリング回路77を通じて乱数回路75から第1特別図柄に対応する大当り決定乱数値を取得する(第1抽選要素の取得、抽選要素取得手段)。乱数値の取得は、乱数回路75のピンアドレスを指定して行う。主制御CPU72が8ビット処理の場合、アドレスの指定は上位及び下位で1バイトずつ2回に分けて行われる。主制御CPU72は、指定したアドレスから大当り決定乱数値をリードすると、これを第1特別図柄に対応する大当り決定乱数として転送先のアドレスにセーブする。
ステップS33:次に主制御CPU72は、RAM76の大当り図柄乱数カウンタ領域から第1特別図柄に対応する大当り図柄乱数値を取得する。この乱数値の取得もまた、大当り図柄乱数カウンタ領域のアドレスを指定して行う。主制御CPU72は、指定したアドレスから大当り図柄乱数値をリードすると、これを第1特別図柄に対応する大当り図柄乱数として転送先のアドレスにセーブする。
ステップS34:
また、主制御CPU72は、RAM76の変動用乱数カウンタ領域から、第1特別図柄の変動条件に関する乱数値として、リーチ判定乱数及び変動パターン決定乱数を順番に取得する(変動パターン決定要素取得手段)。これら乱数値の取得も同様に、変動用乱数カウンタ領域のアドレスを指定して行われる。そして、主制御CPU72は、指定したアドレスからリーチ判定乱数及び変動パターン決定乱数をそれぞれ取得すると、これらを転送先のアドレスにセーブする。
ステップS35:
主制御CPU72は、セーブした大当り決定乱数、大当り図柄乱数、リーチ判定乱数及び変動パターン決定乱数をともに第1特別図柄に対応する乱数記憶領域に転送し、これら乱数を領域内の空きセクションにセットで記憶させる(記憶手段、抽選要素記憶手段)。複数のセクションには順番(例えば第1〜第4)が設定されており、現段階で第1〜第4の全てのセクションが空きであれば、第1セクションから順に各乱数が記憶される。あるいは、第1セクションが既に埋まっており、その他の第2〜第4セクションが空きであれば、第2セクションから順に各乱数が記憶されていく。なお、乱数記憶領域の読み出しはFIFO(First In First Out)形式である。
ステップS36:
次に主制御CPU72は、現在の特別遊技管理ステータス(遊技状態)が大当り中であるか否かを確認する。大当り中以外であれば(No)、主制御CPU72は次以降のステップS37,S38を実行する。大当り中であれば(Yes)、主制御CPU72はステップS37,S38をスキップしてステップS38aに進む。本実施形態においてこの判断を行っているのは、大当り中に発生した入球については先読みによる演出を行わないためである。
ステップS37:
大当り中以外の場合(ステップS36:No)、主制御CPU72は第1特別図柄に関して取得時演出判定処理を実行する。この処理は、先のステップS32〜S34でそれぞれ取得した第1特別図柄の大当り決定乱数及び大当り図柄乱数に基づいて、事前(変動開始前)に内部抽選の結果を判定し、それによって演出内容を判定(いわゆる「先読み」)するためのものである。なお、具体的な処理の内容については別のフローチャートを参照しながらさらに後述する。
ステップS38:
取得時演出判定処理から復帰すると、次に主制御CPU72は、第1特別図柄に関して特図先判定演出コマンドの上位バイト分(例えば「B8H」)をセットする。この上位バイトデータは、コマンド種別が「第1特別図柄に関する特図先判定演出用」であることを記述したものである。なお、特図先判定演出コマンドの下位バイト分は、先の取得時演出判定処理(ステップS37)においてセットされているので、ここでは下位バイトに上位バイトを合成することで例えば1ワード長のコマンドが生成されることになる。
ステップS38a:
次に主制御CPU72は、第1特別図柄に関して作動記憶数増加時演出コマンドをセットする。具体的には、コマンドの種別を表す上位バイトの先行値(例えば「BBH」)に対し、増加後の作動記憶数(例えば「01H」〜「04H」)を下位バイトに付加した1ワード長の演出コマンドを生成する。このとき下位バイトについては、デフォルトで第2の位を「0」とすることにより、その値が「作動記憶数の増加による結果(変化情報)」であることを表している。つまり、下位バイトが「01H」であれば、それは前回までの作動記憶数「00H」から1つ増加した結果、今回の作動記憶数が「01H」となったことを表している。同様に、下位バイトが「02H」〜「04H」であれば、それは前回までの作動記憶数「01H」〜「03H」からそれぞれ1つ増加した結果、今回の作動記憶数が「02H」〜「04H」となったことを表している。なお、上記の先行値「BBH」は、今回の演出コマンドが第1特別図柄についての作動記憶数コマンドであることを表す値である。
ステップS39:
そして、主制御CPU72は、第1特別図柄に関して演出コマンド出力設定処理を実行する。この処理は、先のステップS38で生成した特図先判定演出コマンドや、ステップS38aで生成した作動記憶数増加時演出コマンド、始動口入賞音制御コマンドを演出制御装置124に対して送信するためのものである(記憶数通知手段)。
以上の手順を終えるか、もしくは第1特別図柄作動記憶数が4に達していた場合(ステップS30:No)、主制御CPU72はスイッチ管理処理(図19)に復帰する。
〔第2特別図柄記憶更新処理〕
図21は、第2特別図柄記憶更新処理(図19中のステップS16)の手順例を示すフローチャートである。以下、第2特別図柄記憶更新処理の手順について順を追って説明する。
ステップS40:
主制御CPU72は、第2特別図柄作動記憶数カウンタの値を参照し、作動記憶数が最大値未満であるか否かを確認する。第2特別図柄作動記憶数カウンタについても上記と同様に、RAM76の乱数記憶領域に記憶されている大当り決定乱数や大当り図柄乱数等の個数(組数)を表すものである。このとき第2特別図柄作動記憶数カウンタの値が最大値(例えば4とする)に達していれば(No)、主制御CPU72はスイッチ管理処理(図19)に復帰する。一方、未だ第2特別図柄作動記憶数カウンタの値が最大値未満であれば(Yes)、主制御CPU72は次のステップS41以降に進む。
ステップS41:
主制御CPU72は、第2特別図柄作動記憶数を1つ加算(第2特別図柄作動記憶数カウンタの値をインクリメント)する。先のステップS31(図20)と同様に、ここで加算されたカウンタの値に基づき、第2特別図柄作動記憶ランプ35aの点灯状態が制御されることになる。
ステップS42:
そして、主制御CPU72は、サンプリング回路77を通じて乱数回路75から第2特別図柄に対応する大当り決定乱数値を取得する(第2抽選要素の取得、抽選要素取得手段)。乱数値を取得する手法は、先に説明したステップS32(図20)と同様である。
ステップS43:
次に主制御CPU72は、RAM76の大当り図柄乱数カウンタ領域から第2特別図柄に対応する大当り図柄乱数値を取得する。乱数値を取得する方法は、先に説明したステップS33(図20)と同様である。
ステップS44:
また、主制御CPU72は、RAM76の変動用乱数カウンタ領域から、第2特別図柄の変動条件に関するリーチ判定乱数及び変動パターン決定乱数を順番に取得する(変動パターン決定要素取得手段)。これら乱数値の取得もまた、先に説明したステップS34(図20)と同様に行われる。
ステップS45:
主制御CPU72は、セーブした大当り決定乱数、大当り図柄乱数、リーチ判定乱数及び変動パターン決定乱数をともに第2特別図柄に対応する乱数記憶領域に転送し、これら乱数を領域内の空きセクションにセットで記憶させる(記憶手段)。記憶の手法は、先に説明したステップS35(図20)と同様である。
ステップS45a:
次に主制御CPU72は、現在の遊技管理ステータス(遊技状態)が大当り中であるか否かを確認する。そして、大当り中以外であれば(No)、主制御CPU72は次以降のステップS46,S47を実行する。逆に大当り中であれば(Yes)、主制御CPU72はステップS46,S47をスキップしてステップS48に進む。本実施形態においてこの判断を行っているのは、同じく大当り中に発生した入球については先読みによる演出を行わないためである。
ステップS46:
大当り中以外である場合(ステップS45a:No)、次に主制御CPU72は、第2特別図柄に関して取得時演出判定処理を実行する。この処理は、先のステップS42〜S44でそれぞれ取得した第2特別図柄の大当り決定乱数及び大当り図柄乱数に基づいて、事前(変動開始前)に内部抽選の結果を判定し、それによって演出内容を判定するためのものである。なお、具体的な処理の内容は後述する。
ステップS47:
取得時演出判定処理から復帰すると、次に主制御CPU72は特図先判定演出コマンドの上位バイト分(例えば「B9H」)をセットする。この上位バイトデータは、コマンド種別が「第2特別図柄に関する特図先判定演出用」であることを記述したものである。ここでも同様に、特図先判定演出コマンドの下位バイト分は、先の取得時演出判定処理(ステップS46)においてセットされているので、ここでは下位バイトに上位バイトを合成することで例えば1ワード長のコマンドが生成されることになる。
ステップS48:
次に主制御CPU72は、第2特別図柄に関して作動記憶数増加時演出コマンドをセットする。ここでは、コマンドの種別を表す上位バイトの先行値(例えば「BCH」)に対し、増加後の作動記憶数(例えば「01H」〜「04H」)を下位バイトに付加した1ワード長の演出コマンドを生成する。第2特別図柄についても同様に、デフォルトで下位バイトの第2の位を「0」とすることにより、その値が「作動記憶数の増加による結果(変化情報)」であることを表すことができる。なお、先行値「BCH」は、今回の演出コマンドが第2特別図柄についての作動記憶数コマンドであることを表す値である。
ステップS49:
そして、主制御CPU72は、第2特別図柄に関して演出コマンド出力設定処理を実行する。これにより、第2特別図柄に関して特図先判定演出コマンドや作動記憶数増加時演出コマンド、始動口入賞音制御コマンド等を演出制御装置124に対して送信する準備が行われる(記憶数通知手段)。また、以上の手順を終えると、主制御CPU72はスイッチ管理処理(図19)に復帰する。
〔取得時演出判定処理〕
図22は、取得時演出判定処理の手順例を示すフローチャートである。主制御CPU72は、先の第1特別図柄記憶更新処理及び第2特別図柄記憶更新処理(図20中のステップS37,図21中のステップS46)においてこの取得時演出判定処理を実行する(先判定実行手段、先読み処理実行手段)。上記のように、この処理は第1特別図柄(中始動入賞口26への入球時)、第2特別図柄(可変始動入賞装置28への入球時)のそれぞれについて実行される。したがって以下の説明は、第1特別図柄に関する処理に該当する場合と、第2特別図柄に関する処理に該当する場合とがある。以下、各手順に沿って処理の内容を説明する。
ステップS50:
主制御CPU72は、特図先判定演出コマンド(先判定情報)の下位バイト分(例えば「00H」)をセットする。なお、ここでセットしたバイトデータはコマンドの標準値(はずれ時)を表すものとなる。
ステップS52:
次に主制御CPU72は、先判定用乱数値として大当り決定乱数をロードする。ここでロードする乱数は、先の第1特別図柄記憶更新処理(図20中のステップS35)又は第2特別図柄記憶更新処理(図21中のステップS45)でRAM76に記憶されているものである。
ステップS54:
そして、主制御CPU72は、ロードした乱数が当り値の範囲外(ここでは下限値以下)であるか否かを判定する(抽選結果先判定手段)。具体的には、主制御CPU72は比較値(下限値)をAレジスタにセットし、この比較値からロードした乱数値を減算する。なお、比較値(下限値)は、パチンコ機1における内部抽選の当選確率(設定値に応じた当選確率)に応じて設定される。次に主制御CPU72は、例えばフラグレジスタの値から演算結果が0又は正の値であるか否かを判別する。その結果、ロードした乱数が当り値の範囲外であれば(Yes)、主制御CPU72はステップS80に進む。
ステップS80:
次に主制御CPU72は、はずれ時変動パターン情報事前判定処理を実行する(変動パターン先判定手段)。この処理では、主制御CPU72は、はずれ時の変動時間について変動パターン先判定コマンドを生成する。ここで生成される変動パターン先判定コマンドには、特に「時間短縮機能」の作動時における変動時間(又は変動パターン番号)に関する事前の判定情報が反映される。例えば、現在の状態が「時間短縮機能」の作動時であれば、主制御CPU72はロードしたリーチ判定乱数に基づいて、変動時間が「はずれリーチ変動(非短縮変動時間)」に対応するものであるか否かを判断する。その結果、変動時間が「はずれリーチ変動(非短縮変動時間)」に対応するものである場合、主制御CPU72は「時短中非短縮変動時間」に対応する変動パターン先判定コマンドを生成する。なお、リーチ変動の場合はさらに、リーチモード乱数から「リーチグループ(リーチの種類)」をも判断し、その結果から変動パターン先判定コマンドを生成することとしてもよい。一方、変動時間が「はずれリーチ変動(非短縮変動時間)」に対応するものでない場合、主制御CPU72は「時短中短縮変動時間」に対応する変動パターン先判定コマンドを生成する。あるいは、現在の状態が「時間短縮機能」の非作動時(低確率状態)であれば、主制御CPU72はロードしたリーチ判定乱数に基づいて、変動時間が「通常はずれリーチ変動」に対応するものであるか否かを判断する。その結果、変動時間が「通常はずれリーチ変動」に対応するものである場合、主制御CPU72は「通常はずれリーチ変動時間」に対応する変動パターン先判定コマンドを生成する。一方、変動時間が「通常はずれリーチ変動」に対応するものでない場合、主制御CPU72は「通常はずれ変動時間」に対応する変動パターン先判定コマンドを生成する。また、ここで生成された変動パターン先判定コマンドは、上記のように演出コマンド出力設定処理(ステップS39,S49)で送信バッファにセットされる。なお、この処理において、主制御CPU72は、小当り時の変動パターンについて、上述したはずれ時の処理と同様に変動パターン先判定コマンドを生成してもよい。
以上の手順を実行すると、主制御CPU72はステップS82の判定結果管理処理を実行した後に取得時演出判定処理を終了し、呼び出し元の第1特別図柄記憶更新処理(図19)又は第2特別図柄記憶更新処理(図20)に復帰する。一方、先のステップS54の判断において、ロードした乱数が当り値の範囲外でなく、範囲内であれば(ステップS54:No)、主制御CPU72は次にステップS56に進む。
ステップS56:
主制御CPU72は、先判定結果による確率状態予定フラグがセットされているか否かを確認する。先判定結果による確率状態予定フラグは、未だ変動は開始されていないが、これまで記憶されている大当り決定乱数の中に当選値がある場合にセットされるものである。具体的には、これまでに記憶されている大当り決定乱数に当選値があった場合、これと組になる大当り図柄乱数が「いずれかの確変図柄」に該当するものであれば、確率状態予定フラグに例えば「A0H」がセットされる。この値は、この大当り決定乱数よりも後に取得された大当り決定乱数の事前判定(先読み判定)に際して、高確率状態になることを予定として設定するためのフラグ値を表すものである。一方、これまでに記憶されている大当り決定乱数に当選値があった場合であって、これと組になる大当り図柄乱数が「いずれかの通常図柄」に該当するものであれば、確率状態予定フラグに例えば「01H」がセットされる。この値は、この大当り決定乱数よりも後に取得された大当り決定乱数の事前判定(先読み判定)に際して、通常(低)確率状態になることを予定として設定するためのフラグ値を表すものである。なお、これまでに記憶されている大当り決定乱数に当選値が未だ存在しなければ、フラグ値はリセット(00H)されている。また、確率状態予定フラグの値は、例えばRAM76のフラグ領域に格納されている。なお、ここでは「確率状態予定フラグ」を用いて厳密に事前の当り判定を行う例を挙げているが、単純に現在の確率状態に基づいて事前の当り判定を行う場合、このステップS56と以降のステップS58,ステップS60,ステップS62,ステップS76等を省略してもよい。
主制御CPU72は、未だ確率状態予定フラグがセットされていなければ(ステップS56:No)、次にステップS66を実行する。
ステップS66:
この場合、主制御CPU72は次に低確率時(通常時)用比較値をAレジスタにセットする。なお、低確率時用比較値もまた、パチンコ機1における低確率時の当選確率(設定値に応じた当選確率)に応じて設定される。
ステップS68:
次に主制御CPU72は、「現在の確率状態フラグ」をロードする。この確率状態フラグは、現在の内部状態が高確率(確変中)であるか否かを表すものであり、RAM76のフラグ領域内に記憶されているものである。現在の確率状態が高確率(確変中)であれば、状態フラグとして値「01H」がセットされており、低確率(通常中)であれば、状態フラグの値はリセットされている(「00H」)。
ステップS70:
そして、主制御CPU72は、ロードした現在の特別図柄確率状態フラグが高確率を表すものでない(≠01H)か否かを確認し、その結果、高確率を表すものであれば(No)、次にステップS64を実行する。
ステップS64:
主制御CPU72は、高確率時用比較値をセットする。これにより、先のステップS66でセットされた低確率時用比較値が書き換えられることになる。なお、高確率時用比較値は、パチンコ機1における高確率時の当選確率(設定値に応じた当選確率)に応じて設定される。
このように、先判定結果による確率状態予定フラグが未だセットされていない場合であって、現在の内部状態が高確率の場合は、比較値を高確率時用に書き換えた上で次のステップS72を実行することになる。これに対し、先のステップS70で現在の確率状態フラグが高確率を表すものでないことを確認した場合(Yes)、主制御CPU72はステップS64をスキップして次のステップS72を実行する。
ステップS72:
主制御CPU72は、先のステップS52でロードした乱数が当り値の範囲外であるか否かを判定する(抽選結果先判定手段)。すなわち、主制御CPU72は状態別でセットした比較値から大当り決定乱数値を減算する。そして、主制御CPU72は、同様にフラグレジスタの値から演算結果が負の値(<0)であるか否かを判別し、その結果、ロードした乱数が当り値の範囲外であれば(Yes)、主制御CPU72は上記のはずれ時変動パターン情報事前判定処理(ステップS80)を実行する。これに対し、ロードした乱数が当り値の範囲外でなく、範囲内であれば(No)、主制御CPU72は次にステップS74に進む。
ステップS74:
主制御CPU72は、大当り図柄種別判定処理を実行する。この処理は、大当り決定乱数と組になっている大当り図柄乱数に基づいて、そのときの大当り種別(当選種類)を判定するためのものである。例えば、主制御CPU72は先の第1特別図柄記憶更新処理(図20中のステップS35)又は第2特別図柄記憶更新処理(図21中のステップS45)で記憶した図柄別の大当り図柄乱数をロードすると、上記のステップS54と同様に比較値を用いた演算を実行し、その結果から大当り種別として「確変図柄」又は「通常図柄」のいずれに該当するかを判別する。主制御CPU72は、このときの判別結果を特別図柄先判定値として記憶し、次のステップS76に進む。
ステップS76:
そして、主制御CPU72は、先判定結果による確率状態予定フラグの値をセットする。具体的には、先のステップS74で記憶した特別図柄先判定値が「通常図柄」を表す場合、主制御CPU72は確率状態予定フラグに値「01H」をセットする。一方、特別図柄先判定値が「確変図柄」を表す場合、主制御CPU72は確率状態予定フラグに値「A0H」をセットする。これにより、次回以降の処理ではステップS56において「フラグセット済み」と判定されることになる。
ステップS78:
主制御CPU72は、特図先判定演出コマンドの下位バイトとして、先のステップS74で記憶した特別図柄先判定値をセットする。特別図柄先判定値は、例えば「通常図柄」に該当する場合は「01H」がセットされ、「確変図柄」に該当する場合は「A0H」がセットされる。いずれにしても、ここで下位バイト分のデータをセットすることにより、先のステップS50でセットした標準の下位バイトデータ「00H」が書き換えられることになる。
ステップS79:
次に主制御CPU72は、大当り時変動パターン情報事前判定処理を実行する(変動パターン先判定手段)。この処理では、主制御CPU72は大当り時の変動時間について、変動パターン先判定コマンドを生成する。ここで生成される変動パターン先判定コマンドには、例えば大当り時のリーチ変動時間(又は変動パターン番号)に関する事前の判定情報が反映される。また、ここで生成された変動パターン先判定コマンドは、上記のように演出コマンド出力設定処理(ステップS39,S49)で送信バッファにセットされる。
以上は、先判定結果による確率状態予定フラグがセットされる前(内部初当り前)における手順である。これに対し、先のステップS76を経て確率状態予定フラグがセットされた場合、以下の手順が実行される。ただし、上記のように現在の確率状態だけで事前の当り判定を行う場合、以下のステップS56,ステップS58,ステップS60,ステップS62、及びステップS76を実行する必要はない。
ステップS56:
主制御CPU72は、既に確率状態予定フラグに値がセットされていることを確認すると(Yes)、次にステップS58を実行する。
ステップS58:
主制御CPU72は、先ず低確率時(通常時)用比較値をAレジスタにセットする。
ステップS60:
次に主制御CPU72は、「確率状態予定フラグ」をロードする。確率状態予定フラグは、上記のように直前の先判定結果に基づきそれ以降の先判定において確率状態を予定的に設定するためのものであり、RAM76のフラグ領域内に記憶されているものである。直前の先判定結果に基づく確率状態が高確率(確変)に移行する予定であれば、上記のように確率状態予定フラグの値として「A0H」がセットされており、逆に直前の先判定結果に基づく確率状態が低確率(通常)に戻る予定であれば、確率状態予定フラグの値として「01H」がセットされている。
ステップS62:
そして、主制御CPU72は、ロードした確率状態予定フラグが高確率の予定を表すものでない(≠01H)か否かを確認し、その結果、高確率の予定を表すものであれば(No)、次にステップS64を実行し、高確率時用比較値をセットする。
このように、先判定結果による確率状態予定フラグが既にセットされており、その値が高確率を予定するものである場合は、比較値を高確率時用に書き換えた上で次のステップS72以降を実行することになる。これに対し、先のステップS62で確率状態予定フラグが高確率の予定を表すものでなく、通常(低)確率の予定を表すものであることを確認した場合(Yes)、主制御CPU72はステップS64をスキップして次のステップS72以降を実行する。これにより本実施形態では、先判定結果に基づくその後の内部状態の変化(通常確率状態→高確率状態、高確率状態→通常確率状態)を考慮した上で、事前の大当り判定を行うことができる。
以上の手順を終えると、主制御CPU72は第1特別図柄記憶更新処理(図20)又は第2特別図柄記憶更新処理(図21)に復帰する。
〔特別遊技管理処理〕
図23は、特別遊技管理処理の構成例を示すフローチャートである。
特別遊技管理処理は、実行選択処理(ステップS1000)、特別図柄変動前処理(ステップS2000)、特別図柄変動中処理(ステップS3000)、特別図柄停止表示中処理(ステップS4000)、大当り時可変入賞装置管理処理(ステップS5000)、小当り時可変入賞装置管理処理(ステップS6000)のサブルーチン(プログラムモジュール)群を含む構成である。ここでは先ず、各処理に沿って特別遊技管理処理の基本的な流れを説明する。
ステップS1000:
実行選択処理において、主制御CPU72は次に実行するべき処理(ステップS2000〜ステップS5000のいずれか)のジャンプ先を「ジャンプテーブル」から選択する。例えば、主制御CPU72は次に実行するべき処理のプログラムアドレスをジャンプ先のアドレスとし、また、戻り先のアドレスとして特別遊技管理処理の末尾をスタックポインタにセットする。
いずれの処理を次のジャンプ先として選択するかは、これまでに行われた処理の進行状況(特別図柄遊技管理ステータス)によって異なる。例えば、未だ特別図柄が変動表示を開始していない状況であれば(特別図柄遊技管理ステータス:00H)、主制御CPU72は次のジャンプ先として特別図柄変動前処理(ステップS2000)を選択する。一方、既に特別図柄変動前処理が完了していれば(特別図柄遊技管理ステータス:01H)、主制御CPU72は次のジャンプ先として特別図柄変動中処理(ステップS3000)を選択し、特別図柄変動中処理まで完了していれば(特別図柄遊技管理ステータス:02H)、次のジャンプ先として特別図柄停止表示中処理(ステップS4000)を選択するといった具合である。なお、本実施形態ではジャンプ先のアドレスを「ジャンプテーブル」で指定して処理を選択しているが、このような選択手法とは別に、「プロセスフラグ」や「処理選択フラグ」等を用いてCPUが次に実行するべき処理を選択している公知のプログラミング例もある。このようなプログラミング例では、CPUが一通り各処理をCALLし、その先頭ステップで一々フラグを参照して条件分岐(継続/リターン)することになるが、本実施形態の選択手法では、主制御CPU72が各処理を一々呼び出す手間は不要である。
ステップS2000:
特別図柄変動前処理では、主制御CPU72は特別図柄の変動表示を開始するための条件を整える作業を行う。なお、具体的な処理の内容は、別のフローチャートを用いて後述する。
ステップS3000:
特別図柄変動中処理では、主制御CPU72は変動タイマをカウントしつつ、第1特別図柄表示装置34又は第2特別図柄表示装置35の駆動制御を行う。具体的には、7セグメントLEDの各セグメント及びドット(0番〜7番)に対してON又はOFFの駆動信号(1バイトデータ)を生成する。駆動信号のパターンは時間の経過に伴って変化し、それによって特別図柄の変動表示が行われる。
ステップS4000:
特別図柄停止表示中処理では、主制御CPU72は第1特別図柄表示装置34又は第2特別図柄表示装置35の駆動制御を行う。ここでも同様に、7セグメントLEDの各セグメント及びドットに対してON又はOFFの駆動信号を生成するが、駆動信号のパターンは一定であり、これにより特別図柄の停止表示が行われる。
ステップS5000:
大当り時可変入賞装置管理処理は、先の特別図柄停止表示中処理において大当りの態様で特別図柄が停止表示された場合に選択される。例えば、特別図柄が大当りの態様で停止表示されると、それまでの通常状態から大当り遊技状態(遊技者にとって有利な特別遊技状態)に移行する契機が発生する。大当り遊技中は、先の実行選択処理(ステップS1000)においてジャンプ先が大当り時可変入賞装置管理処理にセットされ、特別図柄の変動表示は行われない。大当り時可変入賞装置管理処理においては、第1大入賞口ソレノイド90又は第2大入賞口ソレノイド97が一定時間(例えば29秒間若しくは0.1秒間又は10個の遊技球の入球をカウントするまで)、予め設定された連続作動回数(例えば15回)にわたって励磁され、これにより第1可変入賞装置30又は第2可変入賞装置31が決まったパターンで開閉動作する(特別電動役物の連続作動)。この間に第1可変入賞装置30や第2可変入賞装置31に対して遊技球を集中的に入賞させることで、遊技者には、まとまって多くの賞球を獲得する機会が与えられる(特別遊技実行手段)。なお、このように大当り時に第1可変入賞装置30や第2可変入賞装置31が開閉動作することを「ラウンド」と称し、連続作動回数が全部で15回あれば、これらを「15ラウンド」と総称することがある。
また、主制御CPU72は大当り時可変入賞装置管理処理において大入賞口開放パターン(ラウンド数と1ラウンドごとの開閉動作の回数、開放時間等)を設定すると、1ラウンド分の第1可変入賞装置30又は第2可変入賞装置31の開閉動作を終了させるごとにラウンド数カウンタの値を1インクリメントする。ラウンド数カウンタの値は、例えば初期値を0としてRAM76のカウント領域に記憶されている。また、主制御CPU72は、ラウンド数カウンタの値を表すラウンド数コマンドを生成する。ラウンド数コマンドは、サブコマンド送信処理(図8中のステップS144)において演出制御装置124に送信される。ラウンド数カウンタの値が設定した連続作動回数に達すると、主制御CPU72はそのラウンド限りで大当り遊技(大役)を終了する。
そして、大当り遊技を終了すると、主制御CPU72は遊技状態フラグ(確率変動機能作動フラグ、時間短縮機能作動フラグ)に基づいて大当り遊技終了後の状態(高確率状態、時間短縮状態)を変化させる(高確率時間短縮状態移行手段、有利遊技状態移行手段)。「高確率状態」では確率変動機能が作動し、内部抽選での当選確率が通常よりも例えば10倍程度に高くなる(特定遊技状態移行手段、高確率状態移行手段、高確率状態設定手段)。また、「時間短縮状態」では時間短縮機能が作動し、上記のように普通図柄の作動抽選が高確率になり、また、普通図柄の変動時間が短縮されるとともに可変始動入賞装置28の開放時間が延長されて開放回数が増加する(いわゆる電チューサポートが行われる)。なお、「高確率状態」及び「時間短縮状態」については、制御上でいずれか一方だけに移行する場合もあれば、これら両方に合わせて移行する場合もある。
ステップS6000:
小当り時可変入賞装置管理処理は、先の特別図柄停止表示中処理において小当りの態様で特別図柄が停止表示された場合に選択される。例えば、特別図柄が小当りの態様で停止表示されると、それまでの通常状態から小当り遊技状態に移行する契機が発生する。小当り遊技中は、先の実行選択処理(ステップS1000)においてジャンプ先が小当り時可変入賞装置管理処理にセットされ、特別図柄の変動表示は行われない。小当り遊技においては、第1可変入賞装置30が所定の開放時間(例えば、0.1秒)で所定回数(例えば2回)だけ開閉動作するものの、第1大入賞口への入賞はほとんど発生しない。
〔複数の当選種類〕
本実施形態では、例えば複数の当選種類として、以下の当選種類が設けられている。
(1)「11ラウンド確変大当り1〜11」
(2)「15ラウンド確変大当り1〜6」
(3)「8ラウンド確変大当り」
(4)「6ラウンド確変大当り」
(5)「11ラウンド通常大当り」
(6)「3ラウンド確変大当り」
(7)「5ラウンド確変大当り」
(8)「5ラウンド通常大当り」
上記の当選種類は、当選時に停止表示される第1特別図柄又は第2特別図柄の種類に対応している。例えば、「11ラウンド確変大当り1〜11」は「11ラウンド確変図柄1〜11」の大当りに対応し、「11ラウンド通常大当り」は「11ラウンド通常図柄」の大当りに対応する。このため以下では、「当選種類」のことを「当選図柄」として適宜呼称するものとする。
大当りに当選すると、第1可変入賞装置30の第1大入賞口30b又は第2可変入賞装置31の第2大入賞口31bの開放が所定回数(例えば1回)行われる大当り遊技が、当選図柄に対応するラウンド数だけ実行される。例えば、当選図柄が11ラウンド確変図柄1〜11の場合には、大当り遊技が11ラウンド(11回)行われる。
第1可変入賞装置30の第1大入賞口は、1ラウンド内に規定回数(例えば10回=遊技球10個)の入賞が発生すると、最長の開放時間の経過を待たずに閉鎖される。また、第2可変入賞装置31の第2大入賞口も同様に、1ラウンド内に規定回数(例えば10回=遊技球10個)の入賞が発生すると、最長の開放時間の経過を待たずに閉鎖される。
当選図柄がいずれかの「確変図柄」に該当すると、大当り遊技終了後に内部状態を「高確率時間短縮状態」に移行させる特典が遊技者に付与される。一方、当選図柄がいずれかの「通常図柄」に該当すると、大当り遊技終了後に内部状態は「低確率時間短縮状態」に移行する。
なお、大当り遊技中のオープニング時間、ラウンド間インターバル時間、エンディング時間は、それぞれ共通の「5.0秒」、「1.5秒」、「7.0秒」となっている。なお、オープニング時間とは、大当り遊技が開始してから大入賞口が開放するまでの待機時間であり、ラウンド間インターバル時間とは、ラウンドとラウンドとの間に設定される待機時間であり、エンディング時間とは、大当り遊技の最終ラウンドが終了した後に設定される待機時間である。
〔小当り〕
また、本実施形態では、非当選以外の当選種類として小当りが設けられている。小当りに当選すると、大当り遊技とは別に小当り遊技が行われて第1可変入賞装置30が開閉動作する(特例遊技実行手段)。すなわち、先の特別図柄停止表示中処理において、第1特別図柄が小当りの態様で停止表示されると、通常確率状態又は高確率状態の中で小当り遊技(第1可変入賞装置30が作動する遊技)が実行される。このような小当り遊技では第1可変入賞装置30が所定回数(例えば2回)だけ開閉動作するものの、第1大入賞口への入賞はほとんど発生しない。また、小当り遊技が終了しても、「確率変動機能」が作動することはなく、「時間短縮機能」が作動することもないので、「高確率状態」や「時間短縮状態」へ移行する特典は付与されない(そのための前提条件とはならない。)。また、「高確率状態」で小当りに当選しても、その小当り遊技終了後に「高確率状態」が終了することはないし、「時間短縮状態」で小当りに当選しても、その小当り遊技終了後に「時間短縮状態」が終了することもない(上限回数に達した場合を除く。)。なお、本実施形態では、小当りを設定する遊技仕様としているが、小当りを設定しない遊技仕様とすることもできる。
〔特別図柄変動前処理〕
図24は、特別図柄変動前処理の手順例を示すフローチャートである。以下、各手順に沿って説明する。
ステップS2100:
先ず主制御CPU72は、第1特別図柄作動記憶数又は第2特別図柄作動記憶数が残存しているか(0より大であるか)否かを確認する。この確認は、RAM76に記憶されている作動記憶数カウンタの値を参照して行うことができる。第1特別図柄及び第2特別図柄の両方の作動記憶数が0であった場合(No)、主制御CPU72はステップS2500のデモ設定処理を実行する。
ステップS2500:
この処理では、主制御CPU72はデモ演出用コマンドを生成する。デモ演出用コマンドは、サブコマンド送信処理(図8中のステップS144)において演出制御装置124に出力される。デモ設定処理を実行すると、主制御CPU72は特別遊技管理処理に復帰する。なお、復帰時は、上記のように末尾アドレスに復帰する(以降も同様)。
これに対し、第1特別図柄又は第2特別図柄のいずれかの作動記憶数カウンタの値が0より大きければ(Yes)、主制御CPU72は次にステップS2200を実行する。
ステップS2200:
主制御CPU72は、特別図柄記憶エリアシフト処理を実行する。この処理では、主制御CPU72はRAM76の乱数記憶領域に記憶されている抽選用乱数(大当り決定乱数、大当り図柄乱数)のうち、第2特別図柄に対応する方を優先的に読み出す。このとき2つ以上のセクションに乱数が記憶されていれば、主制御CPU72は先頭のセクションから順に乱数を読み出して消去(消費)した後、残った乱数を1つずつ前のセクションに移動(シフト)させる。読み出した乱数は、例えば別の一時記憶領域に保存される。第2特別図柄に対応する乱数が記憶されていない場合、主制御CPU72は第1特別図柄に対応する乱数を読み出して一時記憶領域に保存する。一時記憶領域に保存された各乱数は、次の大当り判定処理で内部抽選に使用される。その結果、本実施形態では第1特別図柄よりも第2特別図柄の変動表示が優先的に行われることになる。なお、このような特別図柄別の優先順位を設けることなく、単純に記憶された順番で乱数が読み出されるプログラムであってもよい。また、この処理において、主制御CPU72はRAM76に記憶されている作動記憶数カウンタ(第1特別図柄又は第2特別図柄のうち、乱数のシフトを行った方)の値を1つ減算し、減算後の値を「変動開始時作動記憶数」に設定する。これにより、第1特別図柄作動記憶ランプ34a又は第2特別図柄作動記憶ランプ35aによる記憶数の表示態様が変化(1減少)する。ここまでの手順を終えると、主制御CPU72は次にステップS2300を実行する。
ステップS2300:
主制御CPU72は、大当り判定処理(内部抽選)を実行する。この処理では、主制御CPU72は、先ず大当り値の範囲を設定し、この範囲内に読み出した乱数値が含まれるか否かを判断する(抽選実行手段)。このとき設定される大当り値の範囲は、通常確率状態と高確率状態(確率変動機能作動時)とで異なり、高確率状態では通常確率状態よりも大当り値の範囲が約10倍程度に拡大される。そして、このとき読み出した乱数値が大当り値の範囲内に含まれていれば、主制御CPU72は大当りフラグ(01H)をセットし、次にステップS2400に進む。ここで、大当り値の範囲は、設定値に応じて設定される。このため、低設定よりも高設定の方が、大当り値の範囲が広い範囲となる。
上記の大当りフラグをセットしない場合、主制御CPU72は同じ大当り判定処理において、次に小当り値の範囲を設定し、この範囲内に読み出した乱数値が含まれるか否かを判断する(抽選実行手段)。ここでいう「小当り」は、非当選(はずれ)以外であるが、「大当り」とは異なる性質のものである。すなわち、「大当り」は上記の「高確率状態」や「時間短縮状態」に移行させる契機(遊技の節目)を発生させるものであるが、「小当り」はそのような契機を発生しない。ただし「小当り」は、「大当り」と同様に第1可変入賞装置30を作動させる条件を満たすものとして位置付けられている。なお、このとき設定される小当り値の範囲は、通常確率状態と高確率状態(確率変動機能作動時)とで異なっていてもよいし、同じでもよい。いずれにしても、読み出した乱数値が小当り値の範囲内に含まれていれば、主制御CPU72は小当りフラグをセットし、次にステップS2400に進む。このように、本実施形態では非当選以外に該当する当り範囲として、大当り値と小当り値の範囲が予めプログラム上で規定されているが、予め状態別の大当り判定テーブル、小当り判定テーブルをそれぞれROM74に書き込んでおき、これを読み出して乱数値と対比しながら大当り判定を行ってもよい。小当りの当選確率に設定差を設ける場合、小当り値の範囲は、設定値に応じて設定される。このため、低設定よりも高設定の方が、小当り値の範囲が広い範囲となる。
ステップS2400:
主制御CPU72は、先の大当り判定処理で大当りフラグに値(01H)がセットされたか否かを判断する。大当りフラグに値(01H)がセットされていなければ(No)、主制御CPU72は次にステップS2402を実行する。
ステップS2402:
主制御CPU72は、先の大当り判定処理で小当りフラグに値(01H)がセットされたか否かを判断する。小当りフラグに値(01H)がセットされていなければ(No)、主制御CPU72は次にステップS2404を実行する。なお、主制御CPU72は大当りフラグと小当りフラグとを別々に用意せずに、共通当りフラグの値によって大当り(例えば01Hを設定)又は小当り(例えば0AHを設定)を判別してもよい。
ステップS2404:
主制御CPU72は、はずれ時停止図柄決定処理を実行する。この処理では、主制御CPU72は、第1特別図柄表示装置34又は第2特別図柄表示装置35によるはずれ時の停止図柄番号データをセットする。また、主制御CPU72は、演出制御装置124に送信するための停止図柄コマンド及び抽選結果コマンド(はずれ時)を生成する。これらコマンドは、サブコマンド送信処理(図8中のステップS144)において演出制御装置124に送信される。
なお、本実施形態では、第1特別図柄表示装置34や第2特別図柄表示装置35に7セグメントLEDを用いているため、例えば、はずれ時の停止図柄の表示態様を常に1つのセグメント(中央のバー「−」)の点灯表示だけにしておき、停止図柄番号データを1つの値(例えば64H)に固定することができる。この場合、プログラム上で使用する記憶容量を削減し、主制御CPU72の処理負荷を軽減して処理速度を向上することができる。
ステップS2405:
次に主制御CPU72は、はずれ時変動パターン決定処理を実行する。この処理では、主制御CPU72は、特別図柄について、はずれ時の変動パターン番号を決定する(変動パターン選択手段)。変動パターン番号は、特別図柄の変動表示の種類(パターン)を区別したり、変動表示にかかる変動時間に対応したりするものである。はずれ時の変動時間は、上記の「時間短縮状態」であるか否かによって異なってくるため、この処理において主制御CPU72は、遊技状態フラグをロードし、現在の状態が「時間短縮状態」であるか否かを確認する。「時間短縮状態」であれば、基本的にリーチ変動を行う場合を除き、はずれ時の変動時間は短縮された時間(例えば、2.0秒程度)に設定される(短縮時変動時間決定手段)。また、「時間短縮状態」でなくとも、リーチ変動を行う場合を除き、はずれ時の変動時間は例えばステップS2200で設定した「変動表示開始時作動記憶数(0個〜3個)」に基づいて短縮される場合がある(例えば、変動表示開始時作動記憶数0個→12.5秒程度、変動表示開始時作動記憶数1個→8秒程度、変動表示開始時作動記憶数2個→5秒程度、変動表示開始時作動記憶数3個→2.5秒程度)。なお、はずれ時の図柄の停止表示時間は変動パターンに関わらず一定(例えば0.5秒程度)である。主制御CPU72は、決定した変動時間(はずれ時)の値を変動タイマにセットするとともに、はずれ時の停止表示時間の値を停止図柄表示タイマにセットする。なお、選択された特別図柄の変動パターンに関する情報は、変動パターンコマンドとして演出制御装置に送信される(当選時も同様)。
本実施形態では、内部抽選の結果、非当選に該当した場合、演出上で例えば「リーチ演出」を発生させてはずれとしたり、「リーチ演出」を発生させずにはずれとしたりする制御を行うこととしている。そして、「はずれ時変動パターン選択テーブル」には、予め複数種類の演出、例えば「非リーチ演出」、「リーチ演出」に対応した変動パターンが規定されており、非当選に該当した場合は、その中からいずれかの変動パターンが選択されることになる。なお、リーチ演出には、ノーマルリーチ演出、ロングリーチ演出、スーパーリーチ演出等といった様々なリーチ演出が含まれる。
図示は省略するが、パチンコ機1は、はずれ時変動パターン決定処理(ステップS2405)で参照するはずれ時変動パターン選択テーブルを例えばROM74に記憶している。はずれ時変動パターン選択テーブルには、低確率・高確率非時間短縮状態でのはずれ時(非当選に該当した場合)に参照されるテーブルと、低確率時間短縮状態でのはずれ時に参照されるテーブルと、高確率時間短縮状態でのはずれ時に参照されるテーブルと、高確率時間短縮状態又は低確率時間短縮状態の特殊区間でのはずれ時に参照されるテーブルとがある。なお、特殊区間とは、「11ラウンド確変図柄1〜11」又は「11ラウンド通常図柄」に該当した場合の大当り遊技終了後に移行する区間であり、変動パターン選択用カウンタ値が1以上である場合に移行する区間である。
はずれ時変動パターン選択テーブルのいずれも、例えばその先頭アドレスから順番に「比較値」、「変動パターン番号」をそれぞれ1バイトずつセットにして記憶する構造を有している。特殊区間でのはずれ時に参照されるテーブル以外のはずれ時変動パターン選択テーブルの「比較値」には、複数の段階的に異なる値が設けられており、それぞれの「比較値」に対して「変動パターン番号」が割り当てられている。特殊区間でのはずれ時に参照されるテーブル以外のはずれ時変動パターン選択テーブルにおいて設けられた変動パターン番号には、図柄変動の変動パターンが対応付けられている。この変動パターンには、例えば非リーチ変動パターン、リーチ後はずれ変動パターン、スーパーリーチ後はずれ変動パターンがある。また、非リーチ変動パターン、リーチ後はずれ変動パターン及びスーパーリーチ後はずれ変動パターンのそれぞれにおいて、複数種類の変動パターンが準備されている。
高確率時間短縮状態又は低確率時間短縮状態の特殊区間でのはずれ時の変動パターンは、特別な演出を実現するため、すべて同一の変動パターン(変動時間は例えば20秒程度)が設定されている。このため、特殊区間でのはずれ時に参照されるはずれ時変動パターン選択テーブルは、「比較値」が1つ設けられ、予め定められた1つの変動パターン(非リーチ特殊変動パターン)を選択するテーブル構成を有している。
以上のステップS2404,ステップS2405は、大当り判定結果がはずれ時(非当選以外の場合)の制御手順であるが、判定結果が大当り(ステップS2400:Yes)又は小当り(ステップS2402:Yes)の場合、主制御CPU72は以下の手順を実行する。先ず、大当りの場合について説明する。
ステップS2410:
主制御CPU72は、大当り時停止図柄決定処理を実行する(当選種類決定手段)。この処理では、主制御CPU72は大当り図柄乱数に基づき、特別図柄別(第1特別図柄又は第2特別図柄)に今回の当選図柄の種類(大当り時停止図柄番号)を決定する。大当り図柄乱数値と当選図柄の種類との関係は、予め特別図柄判定データテーブルで規定されている(当選種類規定手段)。このため主制御CPU72は、大当り時停止図柄決定処理において大当り時停止図柄選択テーブルを参照し、その記憶内容から大当り図柄乱数に基づいて当選図柄の種類を決定することができる。
〔大当り時の当選図柄〕
本実施形態では大当り時に選択される当選図柄として、「11ラウンド確変図柄1〜11」、「15ラウンド確変図柄1〜6」、「8ラウンド確変図柄」、「6ラウンド確変図柄」、「11ラウンド通常図柄」、「3ラウンド確変図柄」、「5ラウンド確変図柄」、「5ラウンド通常図柄」が用意されている。なお、各当選図柄は、さらに複数の当選図柄を含んでいてもよい。例えば「11ラウンド確変図柄1」であれば、「11ラウンド確変図柄1a」、「11ラウンド確変図柄1b」、「11ラウンド確変図柄1c」、・・・といった具合である。
また、本実施形態では、第1特別図柄と第2特別図柄とでは、それぞれに対応する内部抽選の大当り時に選択される当選図柄の選択比率が異なっている。このため主制御CPU72は、今回の大当りの結果が第1特別図柄に対応するものであるか、第2特別図柄に対応するものであるかによって選択する当選図柄を区別している。
図示は省略するが、パチンコ機1は、大当り時停止図柄決定処理(ステップS2410)で参照する第1特別図柄大当り時停止図柄選択テーブル及び第2特別図柄大当り時停止図柄選択テーブルを例えばROM74に記憶している。第1特別図柄大当り時停止図柄選択テーブル及び第2特別図柄大当り時停止図柄選択テーブルはいずれも、「振分値」、「当選図柄」、「停止図柄コマンド」、「確変回数」、「時短回数」及び「特殊変動回数」の項目に区分されている。
「振分値」には、大当り図柄乱数と比較される異なる複数の値が段階的に設けられている。各振分値の大きさは、大当り図柄乱数を用いた当選図柄別の選択比率に相当する。「振分値」に設けられた各値に対応付けて、「当選図柄」には、「11ラウンド確変図柄1〜11」、「15ラウンド確変図柄1」、「8ラウンド確変図柄」、「6ラウンド確変図柄」、「11ラウンド通常図柄」、「15ラウンド確変図柄2〜7」、「3ラウンド確変図柄」、「5ラウンド確変図柄」、「5ラウンド通常図柄」のいずれかが設定されている。第1特別図柄大当り時停止図柄選択テーブル及び第2特別図柄大当り時停止図柄選択テーブルは、「振分値」に設定された値と、当該値に対応付けて「当選図柄」に設定された図柄の種別が異なっている。
「停止図柄コマンド」には、「当選図柄」に対応するコマンドデータが設定されている。主制御CPU72は第1特別図柄大当り時停止図柄選択テーブル(又は第2特別図柄大当り時停止図柄選択テーブル)から当選図柄を選択すると、そのときの停止図柄コマンドを生成する。生成した停止図柄コマンドは、サブコマンド送信処理において演出制御装置124に送信される。また、主制御CPU72は、選択した当選図柄に基づいて第1特別図柄(又は第2特別図柄)についての大当り時停止図柄番号を決定する。
「確変回数」には、「当選図柄」に確変図柄が設定されている場合に、当該確変図柄に対応付けられた確変回数が設定されている。「時短回数」には、大当り遊技後に遊技状態が時間短縮状態に移行される図柄(例えば11ラウンド確変図柄1〜10など)が「当選図柄」に設定されている場合に、当該図柄に対応付けられた時短回数が設定されている。「特殊変動回数」には、大当り遊技後に特殊変動が実行される図柄(例えば11ラウンド確変図柄1〜11など)が「当選図柄」に設定されている場合に、当該図柄に対応付けられた特殊変動回数が設定されている。
ステップS2412:
次に主制御CPU72は、大当り時変動パターン決定処理を実行する。この処理では、主制御CPU72は先のステップS2200でシフトした変動パターン決定乱数に基づいて第1特別図柄又は第2特別図柄の変動パターン(変動時間と停止表示時間)を決定する。また、主制御CPU72は、決定した変動時間の値を変動タイマにセットするとともに、停止表示時間の値を停止図柄表示タイマにセットする。一般的に大当りリーチ変動の場合、はずれ時よりも長い変動時間が決定される。
本実施形態では、内部抽選の結果、大当りに該当した場合、演出上で例えば「リーチ演出」を発生させて大当りとする制御を行っている。そして、「大当り時変動パターン選択テーブル」には、複数種類の「リーチ演出」に対応した変動パターンが規定されており、大当りに該当した場合は、その中からいずれかの変動パターンが選択されることになる。なお、リーチ演出には、ノーマルリーチ演出、ロングリーチ演出、スーパーリーチ演出等といった様々なリーチ演出が含まれる。基本的には、ノーマルリーチ演出やロングリーチ演出等のリーチ演出よりもスーパーリーチ演出の方が、変動時間が長く当選の期待度も高い。また、時間短縮機能が作動している状態での当選時には、長い変動時間を有する変動パターンを選択せずに、短い変動時間を有する変動パターン(リーチ演出を行わない変動パターン)を選択してもよい。
図示は省略するが、パチンコ機1は、大当り時変動パターン決定処理(ステップS2412)で参照する大当り時変動パターン選択テーブルを例えばROM74に記憶している。大当り時変動パターン選択テーブルには、低確率・高確率非時間短縮状態での当選時に参照されるテーブルと、低確率時間短縮状態での当選時に参照されるテーブルと、高確率時間短縮状態での当選時に参照されるテーブルと、高確率時間短縮状態又は低確率時間短縮状態の特殊区間での当選時に参照されるテーブルとがある。本実施形態では、大当りの種類(当選図柄)によって変動パターンを区別していないが、それぞれの大当りで専用の変動パターン選択テーブルを用いてもよい。
大当り時変動パターン選択テーブルのいずれも、例えばその先頭アドレスから順番に「比較値」、「変動パターン番号」をそれぞれ1バイトずつセットにして記憶する構造を有している。特殊区間での当選時に参照されるテーブル以外の大当り時変動パターン選択テーブルの「比較値」には、複数の段階的に異なる値が設けられており、それぞれの「比較値」に対して「変動パターン番号」が割り当てられている。特殊区間での当選時に参照されるテーブル以外の大当り時変動パターン選択テーブルにおいて設けられた変動パターン番号には、図柄変動の変動パターンが対応付けられている。この変動パターンには、例えばスーパーリーチ後当り変動パターン及びリーチ後当り変動パターンがある。また、スーパーリーチ後当り変動パターン及びリーチ後当り変動パターンのそれぞれにおいて、複数種類の変動パターンが準備されている。
高確率時間短縮状態又は低確率時間短縮状態の特殊区間での大当り時の変動パターンは、特別な演出を実現するため、すべて同一の変動パターン(変動時間は例えば30秒程度)が設定されている。このため、特殊区間での当選時に参照される大当り時変動パターン選択テーブルは、「比較値」が1つ設けられ、予め定められた1つの変動パターン(非リーチ当り特殊変動パターン)を選択するテーブル構成を有している。
ステップS2414:
次に主制御CPU72は、大当り時その他設定処理を実行する。この処理では、主制御CPU72は先のステップS2410で決定した当選図柄の種類(大当り時停止図柄番号)が「いずれかの確変図柄」である場合、遊技状態フラグとして確率変動機能作動フラグの値(01H)をRAM76のフラグ領域にセットする(高確率状態移行手段、確率変動機能作動手段)。また、主制御CPU72は、先のステップS2410で決定した当選図柄の種類が「いずれかの通常図柄」である場合、遊技状態フラグとして確率変動機能作動フラグの値をリセットする(低確率状態設定手段、低確率状態移行手段、確率状態設定手段)。
また、主制御CPU72は、先のステップS2410で決定した当選図柄の種類(大当り時停止図柄番号)が「いずれの当選図柄」であっても、主制御CPU72は遊技状態フラグとして時間短縮機能作動フラグの値(01H)をRAM76のフラグ領域にセットする(時間短縮状態移行手段、時間短縮機能作動手段)。
また、ステップS2414の処理において、主制御CPU72は大当り時停止図柄番号に基づいて第1特別図柄表示装置34又は第2特別図柄表示装置35による停止図柄(大当り図柄)の表示態様を決定する。合わせて主制御CPU72は、上記の停止図柄コマンド(大当り時)とともに抽選結果コマンド(大当り時)を生成する。これら停止図柄コマンド及び抽選結果コマンドは、サブコマンド送信処理において演出制御装置124に送信される。
次に、小当り時の処理について説明する。
ステップS2407:主制御CPU72は、小当り時停止図柄決定処理を実行する。この処理では、主制御CPU72は大当り図柄乱数に基づき、小当り時の当選図柄の種類(小当り時停止図柄番号)を決定する。ここでも同様に、大当り図柄乱数値と小当り時の当選図柄の種類との関係が予め小当り時特別図柄選択テーブルで規定されている(当選種類規定手段)。なお、本実施形態では、主制御CPU72の負荷を軽減するために大当り図柄乱数を用いて小当り時の当選図柄を決定しているが、別途専用の乱数を用いてもよい。
〔小当り時の当選図柄〕
本実施形態では、小当り時の当選図柄は「2回開放小当り図柄」の1種類だけである。ただし、これ以外に例えば「1回開放小当り図柄」や「3回開放小当り図柄」等の別の種類が用意されていてもよい。上記のように内部抽選の結果としての「小当り」は、その後の状態が「高確率状態」や「時間短縮状態」に変化する契機とはならないため、この種のパチンコ機で必須となる「2ラウンド(2回開放)以上」の規定にとらわれることなく、「1回開放小当り図柄」を設けることができる。
ステップS2408:
次に主制御CPU72は、小当り時変動パターン決定処理を実行する。この処理では、主制御CPU72は先のステップS2200でシフトした変動パターン決定乱数に基づいて第1特別図柄又は第2特別図柄の変動パターン(変動時間と停止表示時間)を決定する(変動パターン選択手段)。また、主制御CPU72は、決定した変動時間の値を変動タイマにセットし、停止表示時間の値を停止図柄表示タイマにセットする。なお、本実施形態では小当りの場合にリーチ変動パターンを選択することもできるし、はずれ通常変動時と同等の変動パターンを選択することもできる。
ステップS2409:
次に主制御CPU72は、小当り時その他設定処理を実行する。この処理では、主制御CPU72は小当り時停止図柄番号に基づき、第1特別図柄表示装置34又は第2特別図柄表示装置35による停止図柄(小当り図柄)の表示態様を決定する。合わせて主制御CPU72は、演出制御装置124に送信する停止図柄コマンド及び抽選結果コマンド(小当り時)を生成する。これら停止図柄コマンド及び抽選結果コマンドは、サブコマンド送信処理において演出制御装置124に送信される。
ステップS2415:
次に主制御CPU72は、特別図柄変動開始処理を実行する。この処理では、主制御CPU72は変動パターン番号(はずれ時/当り時)に基づいて変動パターンデータを選択する。合わせて主制御CPU72は、RAM76のフラグ領域に特別図柄の変動開始フラグをセットする。そして、主制御CPU72は、演出制御装置124に送信する変動開始コマンドを生成する。この変動開始コマンドは、サブコマンド送信処理において演出制御装置124に送信される。以上の手順を終えると、主制御CPU72は特別図柄変動中処理(ステップS3000)を次のジャンプ先に設定し、特別遊技管理処理に復帰する。
〔図23:特別図柄変動中処理,特別図柄停止表示中処理〕
特別図柄変動中処理では、上記のように主制御CPU72は変動タイマの値をレジスタからタイマカウンタにロードし、その後、時間の経過(クロックパルスのカウント数又は割込みカウンタの値)に応じてタイマカウンタの値をデクリメントする。そして、主制御CPU72は、タイマカウンタの値を参照しつつ、その値が0になるまで上記のように特別図柄の変動表示を制御する。そして、タイマカウンタの値が0になると、主制御CPU72は特別図柄停止表示中処理(ステップS4000)を次のジャンプ先に設定する。
また、特別図柄停止表示中処理では、主制御CPU72は停止図柄決定処理(図24中のステップS2404,ステップS2407,ステップS2410)で決定した停止図柄に基づいて特別図柄の停止表示を制御する。また、主制御CPU72は、演出制御装置124に送信する図柄停止コマンドを生成する。図柄停止コマンドは、サブコマンド送信処理において演出制御装置124に送信される。特別図柄停止表示中処理の中で停止図柄を所定時間にわたり表示させると、主制御CPU72は図柄変動中フラグを消去する。
〔はずれ時変動パターン決定処理〕
図25は、はずれ時変動パターン決定処理の手順例を示すフローチャートである。以下、各手順に沿って説明する。
ステップS2600:
主制御CPU72は、変動パターン選択用カウンタ値をRAM76からロードして、変動パターン選択用カウンタ値が「0」よりも大きいか否かを確認する。「変動パターン選択用カウンタ値」は、主制御CPU72で管理しているカウンタ値であり、特殊変動を実行する際に参照する変数である。なお、変動パターン選択用カウンタ値は、後述する特殊変動回数設定処理(図35)で設定される。
その結果、変動パターン選択用カウンタ値が「0」よりも大きいことを確認した場合(Yes)、主制御CPU72はステップS2606を実行する。これに対して、変動パターン選択用カウンタ値が「0」よりも大きくないことを確認した場合、すなわち、変動パターン選択用カウンタ値が「0」であることを確認した場合(No)、主制御CPU72はステップS2602を実行する。
なお、変動パターン選択用カウンタ値が「0」よりも大きい場合とは、特殊変動を実行することを意味しており、変動パターン選択用カウンタ値が「0」である場合とは、特殊変動を実行しないことを意味している。
ステップS2602:
主制御CPU72は、内部状態が高確率時間短縮状態であるか否かを確認する。内部状態は、確率変動機能作動フラグ及び時間短縮機能作動フラグにより確認することができる(以下、同様)。
その結果、内部状態が高確率時間短縮状態であることを確認した場合(Yes)、主制御CPU72はステップS2608を実行する。これに対して、内部状態が高確率時間短縮状態であることを確認できない場合、主制御CPU72はステップS2604を実行する。
ステップS2604:
主制御CPU72は、内部状態が低確率時間短縮状態であるか否かを確認する。
その結果、内部状態が低確率時間短縮状態であることを確認した場合(Yes)、主制御CPU72はステップS2610を実行する。これに対して、内部状態が低確率時間短縮状態であることを確認できない場合、主制御CPU72はステップS2612を実行する。
ステップS2606:
主制御CPU72は、特殊区間用のはずれ時変動パターン選択テーブル(図X43)を参照して、変動パターンを決定する処理を実行する。
ステップS2608:
主制御CPU72は、高確率時間短縮状態用のはずれ時変動パターン選択テーブル(図X42)を参照して、変動パターンを決定する処理を実行する。
ステップS2610:主制御CPU72は、低確率時間短縮状態用のはずれ時変動パターン選択テーブルを参照して、変動パターンを決定する処理を実行する。
ステップS2612:主制御CPU72は、非時間短縮状態用(低確率・高確率非時間短縮状態)のはずれ時変動パターン選択テーブル(図X40)を参照して、変動パターンを決定する処理を実行する。
以上の手順を終えると、主制御CPU72は特別図柄変動前処理(図24)に復帰する。
〔大当り時変動パターン決定処理〕
図26は、大当り時変動パターン決定処理の手順例を示すフローチャートである。以下、各手順に沿って説明する。
ステップS2710
:主制御CPU72は、変動パターン選択用カウンタ値をRAM76からロードして、変動パターン選択用カウンタ値が「0」よりも大きいか否かを確認する。
その結果、変動パターン選択用カウンタ値が「0」よりも大きいことを確認した場合(Yes)、主制御CPU72はステップS2716を実行する。これに対して、変動パターン選択用カウンタ値が「0」よりも大きくないことを確認した場合、すなわち、変動パターン選択用カウンタ値が「0」であることを確認した場合(No)、主制御CPU72はステップS2712を実行する。
ステップS2712:
主制御CPU72は、内部状態が高確率時間短縮状態であるか否かを確認する。
その結果、内部状態が高確率時間短縮状態であることを確認した場合(Yes)、主制御CPU72はステップS2718を実行する。これに対して、内部状態が高確率時間短縮状態であることを確認できない場合、主制御CPU72はステップS2714を実行する。
ステップS2714:
主制御CPU72は、内部状態が低確率時間短縮状態であるか否かを確認する。
その結果、内部状態が低確率時間短縮状態であることを確認した場合(Yes)、主制御CPU72はステップS2720を実行する。これに対して、内部状態が低確率時間短縮状態であることを確認できない場合、主制御CPU72はステップS2722を実行する。
ステップS2716:
主制御CPU72は、特殊区間用の大当り時変動パターン選択テーブルを参照して、変動パターンを決定する処理を実行する。
ステップS2718:
主制御CPU72は、高確率時間短縮状態用の大当り時変動パターン選択テーブルを参照して、変動パターンを決定する処理を実行する。
ステップS2720:
主制御CPU72は、低確率時間短縮状態用の大当り時変動パターン選択テーブルを参照して、変動パターンを決定する処理を実行する。
ステップS2720:
主制御CPU72は、非時間短縮状態用の大当り時変動パターン選択テーブルを参照して、変動パターンを決定する処理を実行する。
以上の手順を終えると、主制御CPU72は特別図柄変動前処理(図24)に復帰する。
〔特別図柄記憶エリアシフト処理〕
図27は、特別図柄記憶エリアシフト処理の手順例を示すフローチャートである。先の特別図柄変動前処理において、第1特別図柄又は第2特別図柄に対応する作動記憶カウンタの値が「0」より大であった場合(図24中のステップS2100:Yes)、主制御CPU72はこの特別図柄記憶エリアシフト処理を実行する。以下、各手順に沿って説明する。
ステップS2210:
主制御CPU72は、第2特別図柄に対応する作動記憶が残存しているか否かを確認する。この確認は、RAM76に記憶されている第2特別図柄作動記憶数カウンタの値を参照して行うことができる。第2特別図柄に対応する作動記憶数カウンタの値が1以上である場合(Yes)、主制御CPU72は次にステップS2212に進む。
ステップS2212:
主制御CPU72は、記憶エリアをシフトする対象の特別図柄として第2特別図柄を指定する。この指定は、例えば対象図柄指定値として「02H」をセットすることで行われる。
ステップS2214:
一方、第2特別図柄に対応する作動記憶数カウンタの値が0である場合(ステップS2210:No)、主制御CPU72は記憶エリアをシフトする対象の特別図柄として第1特別図柄を指定する。この場合の指定は、例えば対象図柄指定値として「01H」をセットすることで行われる。
ステップS2216:
上記のステップS2212又はステップS2214のいずれかで指定した対象の特別図柄について、主制御CPU72はRAM76の乱数記憶領域をシフトする。なお、具体的な処理の内容については、先の特別図柄変動前処理において既に述べたとおりである。
ステップS2218:
次いで主制御CPU72は、対象の特別図柄について作動記憶カウンタの値を減算する。例えば、今回の記憶エリアをシフトする対象が第2特別図柄であれば、主制御CPU72は第2特別図柄に対応する作動記憶カウンタの値を減算(−1)する。
ステップS2220:
そして、主制御CPU72は、減算後の作動記憶カウンタの値から「変動開始時作動記憶数」を設定する。なお、ここでは第1特別図柄と第2特別図柄の両方について、作動記憶カウンタの値を加算した上で「変動開始時作動記憶数」を設定してもよい。
ステップS2222:
また、主制御CPU72は、今回の記憶エリアをシフトする対象の特別図柄が第2特別図柄であるか否かを確認する。
ステップS2224:
対象が第2特別図柄であった場合(ステップS2222:Yes)、主制御CPU72は第2特別図柄に関して作動記憶数減少時演出コマンドをセットする。ここでセットされる演出コマンドもまた、1ワード長のコマンドとして生成されるが、その構成は上述した「作動記憶数増加時演出コマンド」と対照的である。すなわち、作動記憶数減少時演出コマンドは、コマンド種別を表す上位バイトの先行値(例えば「BCH」)に対して、減少後の作動記憶数を表す下位バイトの値(例えば「00H」〜「03H」)を付加するとともに、下位バイトの値については、「消費に伴う作動記憶数の減少」を意味する加算値(例えば「10H」)をさらに付加(論理和)したものである。したがって下位バイトについては、加算値「10H」を論理和することでその第2の位が「1」となり、この値によって「作動記憶数の減少による結果(変化情報)」であることを表したものとなる。つまり、コマンドの下位バイトが「13H」であれば、それは前回までの作動記憶数「4」(コマンド表記は「14H」)が1つ減少した結果、今回の作動記憶数が「3」(コマンド表記は「13H」)となったことを表している。同様に、下位バイトが「12H」〜「10H」であれば、それは前回までの作動記憶数「3」〜「1」(コマンド表記は「13H」〜「11H」)がそれぞれ1つ減少した結果、今回の作動記憶数が「2」〜「0」(コマンド表記は「12H」〜「10H」)となったことを表している。なお、上記の先行値「BCH」は、今回の演出コマンドが第2特別図柄についての作動記憶数コマンドであることを表す値である。
ステップS2226:
なお、今回の対象が第1特別図柄であった場合(ステップS2222:No)、主制御CPU72は第1特別図柄に関して作動記憶数減少時演出コマンドをセットする。この場合のコマンドは、先行値が第1特別図柄についての作動記憶数コマンドであることを表す値(例えば「BBH」)となる以外は上記と同じである。
ステップS2228:
そして、主制御CPU72は、演出コマンド出力処理を実行する。この処理は、先のステップS2224又はステップS2226でセットした作動記憶数減少時演出コマンドを演出制御装置124に対して送信するためのものである(記憶数通知手段)。
以上の手順を終えると、主制御CPU72は特別図柄変動前処理(図24)に復帰する。
〔特別図柄停止表示中処理〕
図28は、特別図柄停止表示中処理の手順例を示すフローチャートである。以下、各手順に沿って説明する。
ステップS4100:
主制御CPU72は、停止図柄表示タイマの値を減算(割込み周期分だけデクリメント)する。
ステップS4200:
そして、主制御CPU72は、今回減算した停止図柄表示タイマの値に基づき、停止表示時間が終了したか否かを判断する。具体的には、停止図柄表示タイマの値が0以下でなければ、主制御CPU72は未だ停止表示時間が終了していないと判断する(No)。この場合、主制御CPU72は特別遊技管理処理に復帰し、次の割込み周期においても実行選択処理(図23中のステップS1000)からジャンプして特別図柄停止表示中処理を繰り返し実行する。
これに対し、停止図柄表示タイマの値が0以下であれば、主制御CPU72は停止表示時間が終了したと判断する(Yes)。この場合、主制御CPU72は次にステップS4250を実行する。
ステップS4250:
主制御CPU72は、図柄停止コマンド及び停止表示時間終了コマンドを生成する。図柄停止コマンド及び停止表示時間終了コマンドは、サブコマンド送信処理において演出制御装置124に送信される。また、主制御CPU72は、ここで図柄変動中フラグを消去する。なお、「停止表示時間終了コマンド」とは、特別図柄の停止表示時間が終了(経過)したことを示すコマンドである。
ステップS4300:
ここで主制御CPU72は、大当りフラグの値(01H)がセットされているか否かを確認する。大当りフラグの値(01H)がセットされている場合(Yes)、主制御CPU72は次にステップS4350を実行する。
〔当選時〕
ステップS4350:
主制御CPU72は、ジャンプテーブルのジャンプ先を「大当り時可変入賞装置管理処理」に設定する。なお、主制御CPU72は、本処理にて各種機能を非作動に設定する処理を実行する。具体的には、確率変動機能を非作動とし、時間短縮機能を非作動とする。これにより、特別遊技(大役)が開始される前には、低確率非時間短縮状態に移行されることになる。
ステップS4400:
そして、主制御CPU72は、制御上の内部状態フラグとして「大役開始(大当り遊技中)」をセットする。また、主制御CPU72は、大当り図柄の種類に応じて連続作動回数ステータスの値をセットする。例えば、大当りの種類が「15ラウンド大当り」である場合、連続作動回数ステータスには「15ラウンド」に対応する値がセットされる。また、大当りの種類が「3ラウンド大当り」である場合、連続作動回数ステータスには「3ラウンド」を表す値がセットされる。また、主制御CPU72は、大当り中を表す状態コマンドを生成する。大当り中を表す状態コマンドは、サブコマンド送信処理において演出制御装置124に送信される。
ステップS4500:
そして、主制御CPU72は、連続作動回数コマンドを生成する。連続作動回数コマンドは、先の大当り時停止図柄決定処理(図24中のステップS2410)で決定された大当り図柄の種類(停止図柄番号)に基づいて生成することができる。例えば、大当りの種類が「15ラウンド大当り」である場合、連続作動回数コマンドは「15ラウンド」を表す値として生成される。また、大当り種類が「3ラウンド大当り」である場合、連続作動回数コマンドは「3ラウンド」を表す値として生成される。生成された連続作動回数コマンドは、サブコマンド送信処理において演出制御装置124に送信される。
大当り時に以上の手順を終えると、主制御CPU72は特別遊技管理処理に復帰する。
〔非当選時〕
これに対し、大当り時以外の場合は以下の手順が実行される。
すなわち主制御CPU72は、ステップS4300において大当りフラグの値(01H)がセットされていないと判断した場合(No)、次にステップS4600を実行する。
ステップS4600:
主制御CPU72は、次に小当りフラグの値(01H)がセットされているか否かを確認する。そして、小当りフラグの値(01H)もセットされておらず、単純にはずれである場合(No)、主制御CPU72は次にステップS4602を実行する。
ステップS4602:
主制御CPU72は、ジャンプテーブルのジャンプ先アドレスとして特別図柄変動前処理のアドレスをセットする。
ステップS4605:
これに対し、小当りフラグの値(01H)がセットされていた場合(ステップS4600:Yes)、主制御CPU72はジャンプテーブルのジャンプ先アドレスとして小当り時可変入賞装置管理処理のアドレスをセットする。
ステップS4606:
そして、主制御CPU72は、制御上の内部状態フラグとして「小当り開始(小当り中)」をセットする。また、主制御CPU72は、小当り中を表す状態コマンドを生成する。小当り中を表す状態コマンドは、サブコマンド送信処理において演出制御装置124に送信される。
ステップS4608:
主制御CPU72は、特殊変動管理処理を実行する。具体的には、主制御CPU72は、大当り遊技の終了後に実行される特殊変動を管理する処理を実行する。なお、特殊変動管理処理の内容については、別の図面を参照しながらさらに後述する。
ステップS4610:
次に主制御CPU72は、回数切りカウンタの値をロードする。「回数切りカウンタ」は、「高確率状態」や「時間短縮状態」においてそれぞれのカウンタ値がRAM76の確変カウント領域、時短カウント領域にセットされている。なお、ここでは「回数切り」としているが、「高確率状態」の場合の回数切りカウンタの値は、極端に膨大な値(例えば10000回以上)に設定することができる。このような膨大な値を設定することで、実質的に次回の当選が得られるまで「高確率状態」が継続することを確率的に保障することができる。なお、「時間短縮状態」に関する回数切りカウンタは、当選図柄に応じた値(例えば10回、100回、10000回等)が設定される。
ステップS4620:
主制御CPU72は、ロードしたカウンタ値が0であるか否かを確認する。このとき、既に回数切りカウンタ値が0であれば(Yes)、主制御CPU72は特別遊技管理処理に復帰する。一方、回数切りカウンタ値が0でなかった場合(No)、回数切りカウンタ値コマンドを生成してから、主制御CPU72は次にステップS4630を実行する。
ステップS4630:
主制御CPU72は、回数切りカウンタ値をデクリメント(1減算)する。
ステップS4640:
そして、主制御CPU72は、その減算結果が0でないか否かを判断する。減算の結果、回数切りカウンタの値が0でなかった場合(Yes)、主制御CPU72は特別遊技管理処理に復帰する。これに対し、回数切りカウンタの値が0になった場合(No)、主制御CPU72はステップS4650に進む。
ステップS4650:
ここで主制御CPU72は、回数切り機能作動時のフラグをリセットする。リセットされるのは、確率変動機能作動フラグ又は時間短縮機能作動フラグであるが、「高確率状態」で高確率状態をカウントする回数切りカウンタの値が0になることは実質的にはないため、実際にリセットされるのは時間短縮機能作動フラグである。これにより、特別図柄の停止表示を経て時間短縮状態や高確率状態が終了する。以上の手順を終えると、特別遊技管理処理に復帰する。
〔特殊変動管理処理〕
図29は、特殊変動管理処理の手順例を示すフローチャートである。以下、各手順に沿って説明する。
ステップS4660:
主制御CPU72は、変動パターン選択用カウンタ値をRAM76からロードして、変動パターン選択用カウンタ値が「0」よりも大きいか否かを確認する。
その結果、変動パターン選択用カウンタ値が「0」よりも大きいことを確認した場合(Yes)、主制御CPU72はステップS4662を実行する。これに対して、変動パターン選択用カウンタ値が「0」よりも大きくないことを確認した場合、すなわち、変動パターン選択用カウンタ値が「0」である場合(No)、主制御CPU72は特別図柄停止表示中処理(図28)に復帰する。
ステップS4662:
主制御CPU72は、変動パターン選択用カウンタ値をデクリメント(1減算)する処理を実行する。これにより、特殊変動を実行する回数(特殊変動の実行可能回数)が1回減る。
以上の手順を終えると、主制御CPU72は特別図柄停止表示中処理(図28)に復帰する。
〔大当り時可変入賞装置管理処理〕
図30は、大当り時可変入賞装置管理処理の構成例を示すフローチャートである。
大当り時可変入賞装置管理処理は、大当り時遊技プロセス選択処理(ステップS5100)、大当り時大入賞口開放パターン設定処理(ステップS5200)、大当り時大入賞口開閉動作処理(ステップS5300)、大当り時大入賞口閉鎖処理(ステップS5400)、大当り時終了処理(ステップS5500)のサブルーチン群を含む構成である。
ステップS5100:
大当り時遊技プロセス選択処理において、主制御CPU72は次に実行するべき処理(ステップS5200〜ステップS5500のいずれか)のジャンプ先を選択する。すなわち主制御CPU72は、ジャンプテーブルから次に実行するべき処理のプログラムアドレスをジャンプ先のアドレスとして選択し、また、戻り先のアドレスとして大当り時可変入賞装置管理処理の末尾をスタックポインタにセットする。いずれの処理を次のジャンプ先として選択するかは、これまでに行われた処理の進行状況によって異なる。例えば、未だ第1可変入賞装置30又は第2可変入賞装置31の作動(開閉動作)を開始していない状況であれば、主制御CPU72は次のジャンプ先として大当り時大入賞口開放パターン設定処理(ステップS5200)を選択する。一方、既に大当り時大入賞口開放パターン設定処理が完了していれば、主制御CPU72は次のジャンプ先として大当り時大入賞口開閉動作処理(ステップS5300)を選択し、大当り時大入賞口開閉動作処理まで完了していれば、次のジャンプ先として大当り時大入賞口閉鎖処理(ステップS5400)を選択する。また、設定された連続作動回数(ラウンド数)にわたって大当り時大入賞口開閉動作処理及び大当り時大入賞口閉鎖処理が繰り返し実行されると、主制御CPU72は次のジャンプ先として大当り時終了処理(ステップS5500)を選択する。以下、それぞれの処理についてさらに詳しく説明する。
〔大当り時大入賞口開放パターン設定処理〕
図31は、大当り時大入賞口開放パターン設定処理の手順例を示すフローチャートである。この処理は、大当り時に第1可変入賞装置30又は第2可変入賞装置31を開閉動作する回数や各開放の時間等の条件を設定するためのものである。以下、各手順に沿って説明する。
ステップS5204:
主制御CPU72は、図柄別開放パターン設定処理を実行する。この処理では、主制御CPU72は今回の該当する当選図柄に応じて大入賞口の開放パターン(ラウンドごとの開放回数及び各開放の時間)やラウンド間のインターバル時間、1ラウンド中のカウント数(最大入賞回数)、オープニング時間、エンディング時間等を設定する。なお、1ラウンド中のカウント数(最大入賞回数)は基本的には10個程度であるが、極端な短時間(0.1秒程度)の開放中に入賞が発生することはほとんどない(不能ではないが極めて困難である)。
ステップS5206:
主制御CPU72は、先の大当り時停止図柄決定処理(図24中のステップS2410)で選択した大当り時の当選図柄に基づき、今回の大当り遊技における実行ラウンド数を設定する。具体的には、大当りの種類として「15ラウンド大当り」を選択していれば、主制御CPU72は実行ラウンド数を15回に設定する。また、大当りの種類として「3ラウンド大当り」を選択していれば、主制御CPU72は実行ラウンド数を3回に設定する。ここで設定した実行ラウンド数は、例えばRAM76のバッファ領域に格納される。
ステップS5208:
次に主制御CPU72は、先のステップS5204で設定した大入賞口開放パターンに基づき、大当り時の開放タイマを設定する。ここで設定したタイマの値は、第1可変入賞装置30又は第2可変入賞装置31の開放時間となる。なお、大当り時開放タイマの値として29.0秒程度が設定されていれば、その開放時間は1回の開放中に大入賞口への入球が容易に発生する充分な時間(例えば発射制御基板セット174により遊技球が10個以上発射される時間、好ましくは6秒以上)となる。一方、タイマの値として0.1秒が設定されていれば、その開放時間は1回の開放中に大入賞口への入球が不能ではなくとも、ほとんど発生しない(困難となる)短時間(例えば1秒より短い時間、好ましくは発射制御基板セット174による遊技球の発射間隔よりも短い時間)となる。
ステップS5210:
そして、主制御CPU72は、先のステップS5204で設定した大入賞口開放パターンに基づき、大入賞口インターバルタイマを設定する。ここで設定したタイマの値は、大当り中のラウンド間での待機時間となる。
ステップS5212:
以上の手順を終えると、主制御CPU72は次のジャンプ先を大当り時大入賞口開閉動作処理に設定し、大当り時可変入賞装置管理処理(図30)に復帰する。
〔大当り時大入賞口開閉動作処理〕
図32は、大当り時大入賞口開閉動作処理の手順例を示すフローチャートである。この処理は、大当り時に第1可変入賞装置30又は第2可変入賞装置31の開閉動作を制御するためのものである。以下、手順に沿って説明する。
ステップS5301:
主制御CPU72は、大入賞口インターバルタイマがカウントダウン中であるか否かを確認する。具体的には、以下のステップS5314で設定する大入賞口インターバルタイマが既に動作中であるか否かを確認することにより、大入賞口インターバルタイマがカウントダウン中であるか否かを確認することができる。
その結果、大入賞口インターバルタイマがカウントダウン中であることを確認した場合(Yes)、主制御CPU72はステップS5314を実行する。一方、大入賞口インターバルタイマがカウントダウン中であることを確認できない場合(No)、主制御CPU72はステップS5302を実行する。
ステップS5302:
主制御CPU72は、第1大入賞口又は第2大入賞口を開放させる。具体的には、大当り中の可変入賞装置の動作パターンに基づいて、第1大入賞口ソレノイド90又は第2大入賞口ソレノイド97に対して印加する駆動信号を生成する。これにより、第1可変入賞装置30又は第2可変入賞装置31が作動して閉鎖状態から開放状態に移行する。
第1大入賞口又は第2大入賞口を開放させた場合、主制御CPU72は、第1大入賞口開放コマンド又は第2大入賞口開放コマンドを生成する。第1大入賞口開放コマンド及び第2大入賞口開放コマンドは、演出制御装置124に送信される。
ステップS5303:
次に主制御CPU72は、開放タイマカウントダウン処理を実行する。この処理では、先の大当り時大入賞口開放パターン設定処理(図31中のステップS5208)で設定した開放タイマのカウントダウンを実行する。
ステップS5306:
続いて主制御CPU72は、大入賞口開放時間が終了したか否かを確認する。具体的には、カウントダウン処理後の開放タイマの値が0以下であるか否かを確認し、未だ開放タイマの値が0以下になっていなければ(No)、主制御CPU72は次にステップS5308を実行する。
ステップS5308:
主制御CPU72は、入賞球数カウント処理を実行する。この処理では、開放時間内に第1可変入賞装置30又は第2可変入賞装置31(開放中の第1大入賞口又は第2大入賞口)に入賞した遊技球の個数をカウントする。具体的には、主制御CPU72は開放時間内に第1カウントスイッチ84又は第2カウントスイッチ85から入力された入賞検出信号に基づいて、カウント数の値をインクリメントする。
ステップS5310:
次に主制御CPU72は、現在のカウント数が所定数(10個)未満であるか否かを確認する。この所定数は、上記のように開放1回(大当り中の1ラウンド)あたりに許容する入賞球数の上限(賞球数の上限)を定めたものである。未だカウント数が所定数に達していなければ(Yes)、主制御CPU72は大当り時可変入賞装置管理処理に復帰する。そして、次に大当り時可変入賞装置管理処理を実行すると、現段階ではジャンプ先が大当り時大入賞口開閉動作処理に設定されているので、主制御CPU72は上記のステップS5301〜ステップS5310の手順を繰り返し実行する。
上記のステップS5306で大入賞口開放時間が終了したと判断するか(Yes)、もしくはステップS5310でカウント数が所定数に達したことを確認すると(No)、主制御CPU72は次にステップS5312を実行する。
ステップS5312:
主制御CPU72は、第1大入賞口又は第2大入賞口を閉鎖させる。具体的には、第1大入賞口ソレノイド90又は第2大入賞口ソレノイド97に印加するための駆動信号の生成を終了する。これにより、第1可変入賞装置30又は第2可変入賞装置31が開放状態から閉鎖状態に移行する。
第1大入賞口又は第2大入賞口を閉鎖させた場合、主制御CPU72は、第1大入賞口閉鎖コマンド又は第2大入賞口閉鎖コマンドを生成する。第1大入賞口閉鎖コマンド及び第2大入賞口閉鎖コマンドは、演出制御装置124に送信される。
ステップS5314:
次に主制御CPU72は、インターバルタイマカウントダウン処理を実行する。この処理では、主制御CPU72は上記の大当り時大入賞口開放パターン設定処理(図31中のステップS5210)で設定した大入賞口インターバルタイマのカウントダウンを実行する。
ステップS5315:
主制御CPU72は、大入賞口インターバル時間が終了したか否かを確認する。具体的には、カウントダウン処理後の大入賞口インターバルタイマの値が0以下であるか否かを確認し、未だ大入賞口インターバルタイマの値が0以下になっていなければ(No)、主制御CPU72は大当り時可変入賞装置管理処理(図30)の末尾アドレスに復帰する。そして、次回の呼び出しで大当り時大入賞口開閉動作処理が実行されると、先頭のステップS5301からジャンプして直にステップS5314を実行する。一方、カウントダウン処理後の大入賞口インターバルタイマの値が0以下になったことを確認した場合(Yes)、主制御CPU72はステップS5318を実行する。
ステップS5318:
主制御CPU72は、開放回数カウンタの値をインクリメントする。なお、開放回数カウンタの値は、例えば初期値を0としてRAM76のカウント領域に記憶されている。
ステップS5320:
主制御CPU72は、インクリメント後の開放回数カウンタの値が現ラウンド内で設定した回数に達しているか否かを確認する。ここで、「現ラウンド内で設定した回数」を判断しているのは、例えば「大当り中の1ラウンド内で第1可変入賞装置30又は第2可変入賞装置31を複数回にわたり開放動作させる」という開放パターンに対応するためである。
1ラウンド内で複数回の開閉動作を繰り返すパターンを採用していない場合、各ラウンドでの「現ラウンド内で設定した回数」は、各ラウンドで1回ずつに設定される。したがって、各ラウンドでは1回の開閉動作でカウンタ値が設定した回数に達するため(Yes)、主制御CPU72は次にステップS5322に進む。
一方、1ラウンド内で複数回の開閉動作を繰り返すパターンを採用している場合、1回の開放終了時に未だカウンタ値が設定した回数に達していないことになる(No)。
この場合、主制御CPU72は大当り時可変入賞装置管理処理に復帰すると、現段階ではジャンプ先が大当り時大入賞口開閉動作処理に設定されているので、上記のステップS5301〜ステップS5320までの手順を繰り返し実行する。その結果、ステップS5318で開放回数カウンタのインクリメントが進み、そして、カウンタ値が設定した回数に達すると(Yes)、主制御CPU72は次にステップS5322に進むことになる。
ステップS5322:
主制御CPU72は次のジャンプ先を大当り時大入賞口閉鎖処理に設定し、大当り時可変入賞装置管理処理に復帰する。そして、次に大当り時可変入賞装置管理処理を実行すると、主制御CPU72は次に大当り時大入賞口閉鎖処理を実行する。
〔大当り時大入賞口閉鎖処理〕
図33は、大当り時大入賞口閉鎖処理の手順例を示すフローチャートである。この大当り時大入賞口閉鎖処理は、第1可変入賞装置30又は第2可変入賞装置31の作動を継続したり、その作動を終了したりするためのものである。以下、手順に沿って説明する。
ステップS5402:
主制御CPU72は、上記のラウンド数カウンタをインクリメントする。これにより、例えば1ラウンド目が終了し、2ラウンド目に向かう段階でラウンド数カウンタの値は「1」となっている。
ステップS5404:
主制御CPU72は、インクリメント後のラウンド数カウンタの値が設定した実行ラウンド数に達しているか否かを確認する。具体的には、主制御CPU72はインクリメント後のラウンド数カウンタの値(1〜15)を参照し、その値が設定した実行ラウンド数(1減算後の1〜15)未満であれば(No)、次にステップS5405を実行する。
ステップS5405:
主制御CPU72は、現在のラウンド数カウンタの値からラウンド数コマンドを生成する。ラウンド数コマンドは、サブコマンド送信処理において演出制御装置124に送信される。演出制御装置124は、受信したラウンド数コマンドに基づいて現在のラウンド数を確認することができる。
ステップS5406:
主制御CPU72は、次のジャンプ先を大当り時大入賞口開閉動作処理に設定する。
ステップS5408:
そして、主制御CPU72は、入賞球数カウンタをリセットし、大当り時可変入賞装置管理処理に復帰する。
主制御CPU72が次に大当り時可変入賞装置管理処理を実行すると、大当り時遊技プロセス選択処理(図30中のステップS5100)で主制御CPU72は次のジャンプ先である大当り時大入賞口開閉動作処理を実行する。そして、大当り時大入賞口開閉動作処理の実行後は大当り時大入賞口閉鎖処理の実行を経て、主制御CPU72は再び大当り時大入賞口閉鎖処理を実行し、上記のステップS5402〜ステップS5408を繰り返し実行する。これにより、実際のラウンド数が設定した実行ラウンド数(15回等)に達するまでの間、第1可変入賞装置30又は第2可変入賞装置31の開閉動作が連続して実行される。
実際のラウンド数が設定した実行ラウンド数に達した場合(ステップS5404:Yes)、主制御CPU72は次にステップS5410を実行する。
ステップS5410:
この場合、主制御CPU72はラウンド数カウンタをリセット(=0)すると、ステップS5412に処理を移行する。
ステップS5412:
主制御CPU72は、次のジャンプ先を大当り時終了処理に設定すると、ステップS5412に処理を移行する。
ステップS5408:
そして、主制御CPU72は、入賞球数カウンタをリセットし、大当り時可変入賞装置管理処理に復帰する。これにより、次に主制御CPU72が大当り時可変入賞装置管理処理を実行すると、今度は大当り時終了処理が選択されることになる。
〔大当り時終了処理〕
図34は、大当り時終了処理の手順例を示すフローチャートである。この大当り時終了処理は、大当り時の第1可変入賞装置30又は第2可変入賞装置31の作動を終了する際の条件を整えるためのものである。以下、手順例に沿って説明する。
ステップS5501:
主制御CPU72は、大当り時終了時間タイマカウントダウン処理を実行する。この処理では、主制御CPU72は大当り時終了時間タイマに初期値を設定し、その後、時間の経過に伴って(本モジュールの呼び出しごとに)タイマをカウントダウンする。
ステップS5502:
次に主制御CPU72は、大当り時終了時間が経過したか否かを確認する。具体的には、大当り時終了時間タイマの値が未だ0になっていなければ、主制御CPU72は大当り時終了時間が経過していないと判断する(No)。この場合、主制御CPU72は本モジュールを終了して大当り時可変入賞装置管理処理(図30)に復帰する。
この後、時間の経過に伴って大当り時終了時間タイマの値が0になると、主制御CPU72は大当り時終了時間が経過したと判断し(Yes)、ステップS5503以降を実行する。
ステップS5503:
主制御CPU72は大当りフラグをリセット(00H)し、ステップS5504に処理を移行する。これにより、主制御CPU72の制御処理上で大当り遊技状態は終了する。
ステップS5504:
また、主制御CPU72は、ここで内部状態フラグから「大当り中」を消去し、制御処理上で内部状態としての大役終了を宣言する。なお、主制御CPU72は連続作動回数ステータスの値をリセットする。
ステップS5506:
次に主制御CPU72は、確率変動機能作動フラグの値(01H)がセットされているか否かを確認する。このフラグは、先の特別図柄変動前処理中の大当り時その他設定処理(図24中のステップS2414)でセットされるものである。
ステップS5508:
確率変動機能作動フラグの値がセットされている場合(ステップS5506:Yes)、主制御CPU72は確率変動回数(例えば10000回)を設定する。設定した確率変動回数の値は、例えばRAM76の確変カウンタ領域に格納されて上記の回数切りカウンタ値となる。ここで設定した確率変動回数は、これ以降の遊技で特別図柄の変動(内部抽選)を高確率状態で行う上限回数となる。ただし、上記のように10000回程度の膨大な回数を設定した場合、そこまで非当選が続くことは確率的にほとんどないので(高確率時の当選確率が例えば32分の1〜100分の1程度)、実質的には次回の当選まで高確率状態が続くことになる。これとは逆に、高確率状態に実質的な上限を設ける場合、確率変動回数は現実的な回数(例えば70回程度)に設定される(いわゆる回数切り確変)。なお、確率変動機能作動フラグの値がセットされていなければ(ステップS5506:No)、主制御CPU72はステップS5508を実行しない。
ステップS5510:
次に主制御CPU72は、時間短縮機能作動フラグの値(01H)がセットされているか否かを確認する。このフラグは、先の特別図柄変動前処理中の大当り時その他設定処理(図24中のステップS2414)でセットされるものである。
ステップS5512:
そして、時間短縮機能作動フラグの値がセットされている場合(ステップS5510:Yes)、主制御CPU72は時短回数(例えば10回、100回又は10000回)を設定する。設定した時短回数の値は、上記のようにRAM76の時短カウント領域に格納される。ここで設定した時短回数は、これ以降の遊技で特別図柄の変動時間を短縮化する上限回数となる。なお、時間短縮機能作動フラグの値がセットされていなければ(ステップS5510:No)、主制御CPU72はステップS5512を実行しない。
ステップS5514:
そして、主制御CPU72は、各種のフラグに基づいて状態指定コマンドを生成する。具体的には、大当りフラグのリセット又は大役終了に伴い、遊技状態として「通常中」を表す状態指定コマンドを生成する。また、確率変動機能作動フラグがセットされていれば、内部状態として「高確率中」を表す状態指定コマンドを生成し、時間短縮機能作動フラグがセットされていれば、内部状態として「時間短縮中」を表す状態指定コマンドを生成する。これら状態指定コマンドは、サブコマンド送信処理において演出制御装置124に送信される。
ステップS5515:
主制御CPU72は、特殊変動回数設定処理を実行する。具体的には、主制御CPU72は、当選図柄の種類に基づいて変動パターン選択用カウンタ値を設定する処理を実行する。なお、特殊変動回数設定処理の内容については、別の図面を参照しながらさらに後述する。
ステップS5516:
以上の手順を経ると主制御CPU72は次のジャンプ先を大当り時大入賞口開放パターン設定処理に設定する。
ステップS5518:
そして、主制御CPU72は、特別遊技管理処理の中の実行選択処理(図23中のステップS1000)でのジャンプ先を特別図柄変動前処理に設定する。以上の手順を終えると、主制御CPU72は大当り時可変入賞装置管理処理に復帰する。
〔特殊変動回数設定処理〕
図35は、特殊変動回数設定処理の手順例を示すフローチャートである。以下、各手順に沿って説明する。
ステップS5600:
主制御CPU72は、今回の当選が「11ラウンド確変図柄1〜11」又は「11ラウンド通常図柄」のいずれかに該当するか否かを確認する。
その結果、今回の当選が「11ラウンド確変図柄1〜11」又は「11ラウンド通常図柄」のいずれかに該当することを確認した場合(Yes)、主制御CPU72はステップS5602を実行する。これに対して、今回の当選が「11ラウンド確変図柄1〜11」又は「11ラウンド通常図柄」のいずれかに該当することを確認できない場合、主制御CPU72は大当り時終了処理(図34)に復帰する。
ステップS5602:
主制御CPU72は、変動パターン選択用カウンタ値に当選図柄に応じた値をセットする。当選図柄に応じた値は、第1特別図柄大当り時停止図柄選択テーブルに設定された特殊変動回数の値に応じてセットされる。これにより、大当り遊技の終了後には、特殊変動が1回〜10回実行されることになる。なお、セットされた変動パターン選択用カウンタ値は、特別図柄が1回停止表示されるたびに1ずつ減算される。そして、このような処理を通じて、主制御CPU72は、選択される変動パターンを通常変動としたり、特殊変動としたりすることができる。
以上の手順を終えると、主制御CPU72は大当り時終了処理(図34)に復帰する。
〔小当り時可変入賞装置管理処理〕
図36は、小当り時可変入賞装置管理処理の構成例を示すフローチャートである。
小当り時可変入賞装置管理処理は、小当り時遊技プロセス選択処理(ステップS6100)、小当り時大入賞口開放パターン設定処理(ステップS6200)、小当り時大入賞口開閉動作処理(ステップS6300)、小当り時大入賞口閉鎖処理(ステップS6400)、小当り時終了処理(ステップS6500)のサブルーチン群を含む構成である。
ステップS6100:
小当り時遊技プロセス選択処理において、主制御CPU72は次に実行するべき処理(ステップS6200〜ステップS6500のいずれか)のジャンプ先を選択する。すなわち主制御CPU72は、ジャンプテーブルから次に実行するべき処理のプログラムアドレスをジャンプ先のアドレスとして選択し、また、戻り先のアドレスとして小当り時可変入賞装置管理処理の末尾をスタックポインタにセットする。いずれの処理を次のジャンプ先として選択するかは、これまでに行われた処理の進行状況によって異なる。例えば、未だ第1可変入賞装置30の作動(開閉動作)を開始していない状況であれば、主制御CPU72は次のジャンプ先として小当り時大入賞口開放パターン設定処理(ステップS6200)を選択する。一方、既に小当り時大入賞口開放パターン設定処理が完了していれば、主制御CPU72は次のジャンプ先として小当り時大入賞口開閉動作処理(ステップS6300)を選択し、小当り時大入賞口開閉動作処理まで完了していれば、次のジャンプ先として小当り時大入賞口閉鎖処理(ステップS6400)を選択する。また、設定された連続作動回数にわたって小当り時大入賞口開閉動作処理及び小当り時大入賞口閉鎖処理が繰り返し実行されると、主制御CPU72は次のジャンプ先として小当り時終了処理(ステップS6500)を選択する。以下、それぞれの処理についてさらに詳しく説明する。
〔小当り時大入賞口開放パターン設定処理〕
図37は、小当り時大入賞口開放パターン設定処理の手順例を示すフローチャートである。この処理は、小当り時に第1可変入賞装置30を開閉動作する回数や各開放の時間等の条件を設定するためのものである。以下、各手順に沿って説明する。
ステップS6212:
主制御CPU72は、「小当り時開放パターン」を設定する。本実施形態の場合、「小当り時開放パターン」については、例えば1回目と2回目とでそれぞれ「0.1秒開放」の開放パターンが設定される。なお、「小当り」については「ラウンド」という概念がないことから、「開放パターン」についても「1回目の開放」、「2回目の開放」といった表記となる。
ステップS6214:
主制御CPU72は、先のステップS6212で設定した大入賞口開放パターンに基づき、大入賞口の開放回数を例えば2回に設定する。ここで設定した開放回数は、例えばRAM76のバッファ領域に格納される。
ステップS6216:
次に主制御CPU72は、小当り時開放タイマを設定する。ここで設定したタイマの値は、第1可変入賞装置30を作動する際の1回あたりの開放時間となる。なお、本実施形態では、上記のように小当り時開放タイマの値として0.1秒が設定されており、このような開放時間は1回の開放中に大入賞口への入賞がほとんど発生しない(困難となる)短時間(例えば1秒より短い時間、好ましくは発射装置ユニットによる遊技球の発射間隔よりも短い時間)となる。
ステップS6218:
主制御CPU72は、小当り時インターバルタイマを設定する。ここで設定したタイマの値は、小当り時に第1可変入賞装置30を複数回にわたり開閉動作させる際の1回ごとの待機時間となるが、このタイマ値は例えば2秒程度に設定される。
ステップS6220:
以上の手順を終えると、主制御CPU72は次のジャンプ先を小当り時大入賞口開閉動作処理に設定し、小当り時可変入賞装置管理処理(図36)に復帰する。そして、主制御CPU72は、次に小当り時大入賞口開閉動作処理(ステップS6300)を実行する。
〔小当り時大入賞口開閉動作処理〕
図38は、小当り時大入賞口開閉動作処理の手順例を示すフローチャートである。この処理は、小当り時に第1可変入賞装置30の開閉動作を制御するためのものである。以下、手順に沿って説明する。
ステップS6301:
主制御CPU72は、インターバルタイマがカウントダウン中であるか否かを確認する。具体的には、以下のステップS6314で設定するインターバルタイマが既に動作中であるか否かを確認することにより、インターバルタイマがカウントダウン中であるか否かを確認することができる。
その結果、インターバルタイマがカウントダウン中であることを確認した場合(Yes)、主制御CPU72はステップS6314を実行する。一方、インターバルタイマがカウントダウン中であることを確認できない場合(No)、主制御CPU72はステップS6302を実行する。
ステップS6302:
主制御CPU72は、第1大入賞口を開放させる。具体的には、第1大入賞口ソレノイド90に対して印加する駆動信号を生成する。これにより、第1可変入賞装置30が作動して閉鎖状態から開放状態に移行する。
ステップS6304:
次に主制御CPU72は、開放タイマカウントダウン処理を実行する。この処理では、先の小当り時大入賞口開放パターン設定処理(図37中のステップS6216)で設定した開放タイマのカウントダウンを実行する。
ステップS6306:
続いて主制御CPU72は、開放時間が終了したか否かを確認する。具体的には、カウントダウン処理後の開放タイマの値が0以下であるか否かを確認し、未だ開放タイマの値が0以下になっていなければ(No)、主制御CPU72は次にステップS6308を実行する。
ステップS6308:
主制御CPU72は、入賞球数カウント処理を実行する。この処理では、開放時間内に第1可変入賞装置30(開放中の第1大入賞口)に入賞した遊技球の個数をカウントする。具体的には、主制御CPU72は開放時間内に第1カウントスイッチ84から入力された入賞検出信号に基づいて、カウント数の値をインクリメントする。
ステップS6310:
次に主制御CPU72は、現在のカウント数が所定数(10個)未満であるか否かを確認する。この所定数は、上記のように開放1回(小当り時の開放1回)あたりに許容する入賞球数の上限(賞球数の上限)を定めたものである。未だカウント数が所定数に達していなければ(Yes)、主制御CPU72は小当り時可変入賞装置管理処理(図36)に復帰する。そして、次に小当り時可変入賞装置管理処理を実行すると、現段階ではジャンプ先が小当り時大入賞口開閉動作処理に設定されているので、主制御CPU72は上記のステップS6301〜ステップS6310の手順を繰り返し実行する。
上記のステップS6306で開放時間が終了したと判断するか(Yes)、もしくはステップS6310でカウント数が所定数に達したことを確認すると(No)、主制御CPU72は次にステップS6312を実行する。ここで、小当り時の開放は、開放タイマの値が短時間に設定されているので、通常、主制御CPU72はステップS6310でカウント数が所定数に達したことを確認するより先に、ステップS6306で開放時間が終了したと判断する場合がほとんどである。
ステップS6312:
主制御CPU72は、第1大入賞口を閉鎖させる。具体的には、第1大入賞口ソレノイド90に印加するための駆動信号の生成を終了する。これにより、第1可変入賞装置30が開放状態から閉鎖状態に復帰する。
ステップS6314:
次に主制御CPU72は、インターバルタイマカウントダウン処理を実行する。この処理では、主制御CPU72は上記の小当り時大入賞口開放パターン設定処理(図37中のステップS6218)で設定したインターバルタイマのカウントダウンを実行する。
ステップS6315:
主制御CPU72は、インターバル時間が終了したか否かを確認する。具体的には、カウントダウン処理後のインターバルタイマの値が0以下であるか否かを確認し、未だインターバルタイマの値が0以下になっていなければ(No)、主制御CPU72は小当り時可変入賞装置管理処理(図36)の末尾アドレスに復帰する。そして、次回の呼び出しで小当り時大入賞口開閉動作処理が実行されると、先頭のステップS6301からジャンプして直にステップS6314を実行する。一方、カウントダウン処理後のインターバルタイマの値が0以下になったことを確認した場合(Yes)、主制御CPU72はステップS6316を実行する。
ステップS6316:
主制御CPU72は次のジャンプ先を小当り時大入賞口閉鎖処理に設定し、小当り時可変入賞装置管理処理に復帰する。そして、次に小当り時可変入賞装置管理処理を実行すると、主制御CPU72は次に小当り時大入賞口閉鎖処理を実行する。
〔小当り時大入賞口閉鎖処理〕
図39は、小当り時大入賞口閉鎖処理の手順例を示すフローチャートである。この小当り時大入賞口閉鎖処理は、第1可変入賞装置30の作動を継続したり、その作動を終了したりするためのものである。以下、手順に沿って説明する。
ステップS6412:
主制御CPU72は、開放回数カウンタの値をインクリメントする。
ステップS6414:
次に主制御CPU72は、インクリメント後の開放回数カウンタの値が設定した開放回数に達したか否かを確認する。開放回数は、先の大入賞口開放パターン設定処理(図37中のステップS6214)で設定したものである。未だ開放回数カウンタの値が設定した開放回数に達していなければ(No)、主制御CPU72はステップS6416を実行する。
ステップS6416:
主制御CPU72は、次のジャンプ先を小当り時大入賞口開閉動作処理に設定する。
ステップS6430:
そして、主制御CPU72は、入賞球数カウンタをリセットし、小当り時可変入賞装置管理処理(図36)に復帰する。
主制御CPU72が次に可変入賞装置管理処理を実行すると、小当り時遊技プロセス選択処理(図36中のステップS6100)で主制御CPU72は次のジャンプ先である小当り時大入賞口開閉動作処理を実行する。そして、小当り時大入賞口開閉動作処理の実行後に、主制御CPU72は再び小当り時大入賞口閉鎖処理を実行し、実際の開放回数が設定した開放回数(2回)に達するまでの間、第1可変入賞装置30の開閉動作が繰り返し実行される。
小当り時の実際の開放回数が設定した開放回数に達した場合(ステップS6414:Yes)、主制御CPU72は次にステップS6418を実行する。
ステップS6418:
この場合、主制御CPU72は開放回数カウンタをリセット(=0)すると、ステップS6420に処理を移行する。
ステップS6420:
主制御CPU72は、次のジャンプ先を小当り時終了処理に設定すると、ステップS6430に処理を移行する。
ステップS6430:
そして、主制御CPU72は、入賞球数カウンタをリセットし、小当り時可変入賞装置管理処理(図36)に復帰する。これにより、次に主制御CPU72が可変入賞装置管理処理を実行すると、今度は小当り時終了処理が選択されることになる。
〔小当り時終了処理〕
図40は、小当り時終了処理の手順例を示すフローチャートである。この小当り時終了処理は、小当り時の第1可変入賞装置30の作動を終了する際の条件を整えるためのものである。以下、手順例に沿って説明する。
ステップS6502:
主制御CPU72は、小当り時終了時間タイマカウントダウン処理を実行する。この処理では、主制御CPU72は小当り時終了時間タイマに初期値を設定し、その後、時間の経過に伴って(本モジュールの呼び出しごとに)タイマをカウントダウンする。
ステップS6504:
次に主制御CPU72は、小当り時終了時間が経過したか否かを確認する。具体的には、小当り時終了時間タイマの値が未だ0になっていなければ、主制御CPU72は小当り時終了時間が経過していないと判断する(No)。この場合、主制御CPU72は本モジュールを終了して小当り時可変入賞装置管理処理(図36)に復帰する。
この後、時間の経過に伴って小当り時終了時間タイマの値が0になると、主制御CPU72は小当り時終了時間が経過したと判断し(Yes)、ステップS6506以降を実行する。
ステップS6506:
主制御CPU72は、小当りフラグの値をリセット(00H)し、ステップS6508に処理を移行する。
ステップS6508:
また、主制御CPU72は、内部状態フラグから「小当り中」を消去して小当り遊技を終了させる。なお、大当りの場合、内部的な条件装置が作動するが(例えば、条件装置に対応するフラグがONになるが)、小当りの場合、特に内部的な条件装置は作動しないため、このような手順は単にフラグの消去を目的としたものである。
ステップS6510:
以上の手順を経ると主制御CPU72は次のジャンプ先を小当り時大入賞口開放パターン設定処理に設定する。
ステップS6512:
そして、主制御CPU72は、特別遊技管理処理の中の実行選択処理(図23中のステップS1000)でのジャンプ先を特別図柄変動前処理に設定する。以上の手順を終えると、主制御CPU72は小当り時可変入賞装置管理処理に復帰する。
〔LED表示設定処理〕
図41は、LED表示設定処理の構成例を示すフローチャートである。
LED表示設定処理は、特別図柄表示設定処理(ステップS1200)、普通図柄表示設定処理(ステップS1210)、状態表示設定処理(ステップS1220)、作動記憶表示設定処理(ステップS1230)、連続作動回数表示設定処理(ステップS1240)のサブルーチン群を含む構成である。
このうち特別図柄表示設定処理(ステップS1200)、普通図柄表示設定処理(ステップS1210)及び作動記憶表示設定処理(ステップS1230)は、第1特別図柄表示装置34、第2特別図柄表示装置35、普通図柄表示装置33、普通図柄作動記憶ランプ33a、第1特別図柄作動記憶ランプ34a及び第2特別図柄作動記憶ランプ35aの各LEDに対して印加する駆動信号(コモン出力用データ)を生成する処理である。なお、生成されたコモン出力用データ(表示データ、第2表示データ)は、使用領域のRAM(使用領域のダイナミック点灯用バッファ)に格納され、ダイナミックポート出力処理において出力される(以下、同様)。
状態表示設定処理(ステップS1220)及び連続作動回数表示設定処理(ステップS1240)は、遊技状態表示装置38の各LEDに対して印加する駆動信号(コモン出力用データ)を生成する処理である。先ず状態表示設定処理では、主制御CPU72は、確率変動機能作動フラグ又は時間短縮機能作動フラグの値に応じてそれぞれ確率変動状態表示ランプ38d、時短状態表示ランプ38eの点灯を制御する。例えば、パチンコ機1の電源投入時において確率変動機能作動フラグに値(01H)がセットされていれば、主制御CPU72は確率変動状態表示ランプ38dに対応するLEDに対する点灯信号(コモン出力用データ)を生成する。なお、確率変動状態表示ランプ38dは、特別図柄に関する大当り遊技が開始されるまで、もしくは、特別図柄の変動表示が規定回数行われた後に確率変動機能がOFFにされるまで点灯しつづけ、その後非表示に(消灯)切り替えられる。また、確率変動状態表示ランプ38dは、潜伏確変状態(高確率非時間短縮状態)に移行した場合には点灯しないが、潜伏確変状態で電源断の状態が発生し、RAMクリアされずに電源が復帰された場合には点灯する。一方、時間短縮機能作動フラグに値(01H)がセットされていれば、特に電源投入時であるか否かに関わらず、主制御CPU72は時短状態表示ランプ38eに対応するLEDに対する点灯信号(コモン出力用データ)を生成する。さらに、主制御CPU72は、発射位置指定ステータスに応じて発射位置指定ランプ38fの点灯を制御する。例えば、大当り遊技又は小当り遊技により第1可変入賞装置30又は第2可変入賞装置31が作動状態となる場合(発射位置指定ステータスに「1」が設定されている場合)、主制御CPU72は発射位置指定ランプ38fに対応するLEDする点灯信号(コモン出力用データ)を生成する。一方、低確率非時間短縮状態での通常遊技中となる場合(発射位置指定ステータスに「0」が設定されている場合)、主制御CPU72は発射位置指定ランプ38fに対応するLEDに対する点灯信号(コモン出力用データ)を生成しない。また、時間短縮機能作動フラグに値(01H)がセットされていれば、主制御CPU72は上記の時短状態表示ランプ38eに加えて、発射位置指定ランプ38fに対応するLEDに対する点灯信号(コモン出力用データ)を生成する。なお、発射位置指定ランプ38fは、大当り遊技を経て「時間短縮状態」に移行する場合、大当り遊技開始から「時間短縮状態」が終了するまで点灯し、「時間短縮状態」の終了により非点灯(OFF)となる。
確率変動状態表示ランプ38dは、以下のいずれかの点灯方式を採用することができる。
(1)1つ目の点灯方式は、主に潜伏確変の機能を搭載している機種に用いる方式であり、確率変動状態(高確率状態)でも点灯せず、電源投入時に確率変動状態であった場合に点灯させる方式である。例えば、潜伏確変状態が存在している場合、潜伏確変状態に移行した場合には、確率変動状態表示ランプ38dは点灯しないようにすることができ、確変中(高確率時間短縮状態)にも点灯しないようにすることができる。
(2)2つ目の点灯方式は、主に潜伏確変の機能を搭載していない機種に用いる方式であり、確率変動状態である場合には、点灯させる点灯方式である。
これらの点灯方式は、遊技機の機種の仕様等によって、いずれか一方の点灯方式を採用することができる。
また、主制御CPU72は、連続作動回数表示設定処理において大当り種別表示ランプ38a,38b,38cの点灯を制御する。具体的には、主制御CPU72は上記の連続作動回数ステータスの値に基づき、大当り種別表示ランプ38a,38b,38cに対する点灯信号(コモン出力用データ)を生成する。このとき点灯信号を出力する対象となるのは、連続作動回数ステータスの値で指定された大当り図柄に対応する表示ランプ38a,38b,38cの組み合わせである。例えば、連続作動回数ステータスの値が「15ラウンド」を指定するものであれば、主制御CPU72は「15ラウンド」を表す点灯パターンに対応するランプ(例えば、表示ランプ38a,38b,38cの全てのランプ)に対する点灯信号(コモン出力用データ)を生成する。また、連続作動回数ステータスの値が「3ラウンド」を指定するものであれば、主制御CPU72は「3ラウンド」を表す点灯パターンに対応するランプ(例えば、ランプ38aのみ)に対する点灯信号(コモン出力用データ)を生成する。3つの表示ランプ38a,38b,38cでは、6通りの点灯パターンを表示することができるので、本実施形態の6種類の大当りに対応させることができる。なお、ラウンド数に対応する点灯パターンの詳細は、遊技者に明確に伝達しておくために、表示ランプ38a,38b,38cの周辺に表示しておくことが好ましい。
このような処理を実行することにより、主制御CPU72は、1回のタイマ割込みで、ダイナミックポート出力処理(表示処理)を実行した後に、特別図柄等に関するデータ(第2表示データ)を生成し、特別図柄等に関するデータをダイナミック点灯用バッファ(兼用の記憶手段)に格納するLED表示設定処理(生成格納処理)を実行することができる(生成格納処理実行手段)。
また、このような処理を実行することにより、主制御CPU72は、規定の割込み処理よりも前の割込み処理の実行中であってダイナミックポート出力処理(表示処理)よりも後の処理として、LED表示設定処理(生成格納処理)を実行することができる(生成格納処理実行手段)。
図42は、加算数算定処理の第1手順例を示すフローチャートである。以下、手順例に沿って説明する。
ステップS602:
主制御CPU72は、通常賞球加算数、通常アウト加算数及び総アウト加算数をクリアする処理を実行する。
通常賞球加算数は、通常賞球数に加算する値を示す変数である。通常アウト加算数は、通常アウト数に加算する値を示す変数である。総アウト加算数は、総アウト数に加算する値を示す変数である。
ステップS604:
主制御CPU72は、アウトスイッチ99から検出信号が入力されたか否かを確認する。
その結果、検出信号が入力されたことを確認した場合(Yes)、主制御CPU72はステップS606を実行する。一方、検出信号が入力されたことを確認できない場合(No)、主制御CPU72はステップS608を実行する。
ステップS606:
主制御CPU72は、総アウト加算数を1加算する処理を実行する。例えば、総アウト加算数の値が「0」である場合、総アウト加算数の値は「1」となる。
ステップS608:
主制御CPU72は、特別遊技管理フェーズをロードする処理を実行する。なお、特別遊技管理フェーズの値は、後述する。
ステップS610:
主制御CPU72は、大当り中であるか否かを確認する。大当り中であるか否かは、特別遊技管理フェーズの値(大当り中:特別遊技管理フェーズ=「03H」〜「07H」)により確認することができる。
その結果、大当り中であることを確認した場合(Yes)、主制御CPU72はタイマ割込み処理(図14)に復帰する。一方、大当り中であることを確認できない場合(No)、主制御CPU72はステップS612を実行する。
ステップS612:
主制御CPU72は、時短中であるか否かを確認する。時短中であるか否かは、時間短縮機能作動フラグにより確認することができる。
その結果、時短中であることを確認した場合(Yes)、主制御CPU72はタイマ割込み処理(図14)に復帰する。一方、時短中であることを確認できない場合(No)、主制御CPU72はステップS614を実行する。
ステップS614:
主制御CPU72は、右打ち指示中であるか否かを確認する。右打ち指示中であるか否かは、発射位置指定ステータスにより確認することができる。
その結果、右打ち指示中であることを確認した場合(Yes)、主制御CPU72はタイマ割込み処理(図14)に復帰する。一方、右打ち指示中であることを確認できない場合(No)、主制御CPU72はステップS616を実行する。
ステップS614の処理を実行することにより、主制御CPU72は、発射位置指定ステータスの内容に基づいて(発射位置決定手段による決定内容に基づいて)、ベースを算出するか否かを決定することができる(ベース算出実行可否決定手段)。
また、ステップS610〜ステップS614の処理を実行することにより、主制御CPU72は、大当り遊技の実行中である場合、時間短縮状態である場合、又は、第2遊技領域に遊技球を発射すべきであると決定されている場合のいずれかである場合、ベースを算出しないと決定することができる(ベース算出実行可否決定手段)。
さらに、ステップS610〜ステップS614の処理を実行することにより、主制御CPU72は、大当り遊技の実行中でない場合、非時間短縮状態である場合、又は、第1遊技領域に遊技球を発射すべきであると決定されている場合のいずれかである場合、ベースを算出すると決定することができる(ベース算出実行可否決定手段)。
ステップS616:
主制御CPU72は、アウトスイッチ99から検出信号が入力されたか否かを確認する。
その結果、検出信号が入力されたことを確認した場合(Yes)、主制御CPU72はステップS618を実行する。一方、検出信号が入力されたことを確認できない場合(No)、主制御CPU72はステップS620を実行する。
ステップS618:
主制御CPU72は、通常アウト加算数を1加算する処理を実行する。例えば、通常アウト加算数の値が「0」である場合、通常アウト加算数の値は「1」となる。
ステップS620:
主制御CPU72は、各入賞口スイッチ(例えば、中始動入賞口スイッチ80、右始動入賞口スイッチ82、第1入賞口スイッチ86、第2入賞口スイッチ81)から検出信号が入力されたか否かを確認する。
その結果、検出信号が入力されたことを確認した場合(Yes)、主制御CPU72は、ステップS622を実行する。一方、検出信号が入力されたことを確認できない場合(No)、主制御CPU72は、タイマ割込み処理(図14)に復帰する。
ステップS622:
主制御CPU72は、今回の割込みで発生した全ての賞球数を通常賞球加算数に加算する処理を実行する。
例えば、通常賞球加算数の値が「0」であり、今回の割込みで、中始動入賞口26(中始動入賞口スイッチ80:賞球数=4個)、右始動入賞口28a(右始動入賞口スイッチ82:賞球数=1個)、普通入賞口22(第1入賞口スイッチ86:賞球数=3個)にそれぞれ遊技球が1個ずつ入球した場合、通常賞球加算数の値は「8(=4+1+3)」となる。賞球対象のスイッチ及び賞球数は使用領域に格納されている賞球数データに基づいて決定する。賞球対象のスイッチ及び賞球数は機種によって異なることがあるため、本処理は、機種に依存する処理である。
以上の処理を終えると、主制御CPU72は、タイマ割込み処理(図14)に復帰する。
図43は、加算数算定処理の第2手順例を示すフローチャートである。以下、手順例に沿って説明する。なお、第1手順例及び第2手順例については、いずれか一方の手順例を採用することができる。
ステップS630:
主制御CPU72は、アウトスイッチ99から検出信号が入力されたか否かを確認する。
その結果、アウトスイッチ99から検出信号が入力されたことを確認した場合(Yes)、主制御CPU72は、ステップS631を実行する。一方、アウトスイッチ99から検出信号が入力されたことを確認できない場合(No)、主制御CPU72はステップS632を実行する。
ステップS631:
主制御CPU72は、アウトスイッチ99から検出信号が入力されたことを確認した場合、発射球数B(総アウト加算数)に「1」を設定する。
ステップS632:
主制御CPU72は、アウトスイッチ99から検出信号が入力されたことを確認できない場合、発射球数B(総アウト加算数)に「0」を設定する。
ステップS633:
主制御CPU72は、遊技状態が特定の遊技状態であるか否かを確認する。特定の遊技状態であるか否かを判断している理由は、特定の遊技状態では、ベースの計算の基礎となる発射球数A及び獲得球数をカウントしないためである。
ここで、特定の遊技状態には、(1)大当り中、(2)時短中、(3)右打ち指示中のうち少なくとも1つの状態を含ませることができる。また、「(3)右打ち指示中」を含ませている理由は、特定の遊技状態に「小当りラッシュ状態中(第1特別図柄及び第2特別図柄の同時回しを採用しつつ、第2特別図柄の変動により小当りが頻繁に発生する状態中、つまり、高確率非時間短縮状態)」を含ませ、「潜伏確変中(高確率非時間短縮状態中)」を含ませないためである。
その結果、遊技状態が特定の遊技状態であることを確認した場合(Yes)、主制御CPU72は、ステップS634を実行する。一方、遊技状態が特定の遊技状態であることを確認できない場合(No)、主制御CPU72はステップS635を実行する。
ステップS634:
主制御CPU72は、発射球数A(通常アウト加算数)に「0」を設定し、獲得球数(通常賞球加算数)に「0」を設定する処理を実行する。そして、この処理を終えると、主制御CPU72は、タイマ割込み処理(図14)に復帰する。
ステップS635:
主制御CPU72は、発射球数B(総アウト加算数)の値を、発射球数A(通常アウト加算数)にコピー(代入)する処理を実行する。
ステップS636:
主制御CPU72は、入賞口へ入賞した遊技球による賞球数の合計を、獲得球数(通常賞球加算数)に設定する処理を実行する。賞球対象のスイッチ及び賞球数は使用領域に格納されている賞球数データに基づいて決定する。賞球対象のスイッチ及び賞球数は機種によって異なることがあるため、本処理は、機種に依存する処理である。
ここで、大入賞口については、大当り中がベースの計算から除外されているため、賞球数を算定する必要はないが、通常時の小当り中の賞球数をベースに含めたい場合には、大入賞口についても賞球数を算定することができる。
なお、「獲得球数」、「発射球数A」及び「発射球数B」は、いずれもRAM76の使用領域に格納されている変数である。
そして、この処理を終えると、主制御CPU72は、タイマ割込み処理(図14)に復帰する。
図44は、遊技状態と発射球数の関係を示す図である。
「遊技状態」が、「大当り中」、「時短中」又は「右打ち指示中」である場合、発射球数の値は、以下に示す値となる。
「アウトスイッチ検知時」は、「発射球数A」は「0」となり、「発射球数B」は「1」となる。
「アウトスイッチ非検知時」は、「発射球数A」は「0」となり、「発射球数B」は「0」となる。
「遊技状態」が、「通常中」又は「潜伏中(潜伏確変状態)」である場合、発射球数の値は、以下に示す値となる。
「アウトスイッチ検知時」は、「発射球数A」は「1」となり、「発射球数B」は「1」となる。
「アウトスイッチ非検知時」は、「発射球数A」は「0」となり、「発射球数B」は「0」となる。
図45は、性能表示モニタ制御処理の手順例を示すフローチャートである。以下、手順例に沿って説明する。
ステップS640:
主制御CPU72は、スタックポインタ及び全レジスタを退避する処理を実行する。
ステップS642:
主制御CPU72は、領域外RAMクリアチェック処理を実行する。この処理は、領域外の処理である。具体的には、主制御CPU72は、領域外で使用するRAMが初期化済みであるか否かを判定し、初期化済みでなければ初期化する処理を実行する。
ステップS643:
主制御CPU72は、設定変更中又は設定参照中であるか否かを確認する。具体的には、設定変更中フラグの値が「01H」、「02H」又は「03H」であるか否かを確認する。
その結果、設定変更中又は設定参照中であることを確認した場合(Yes)、主制御CPU72は、ステップS648を実行する。一方、設定変更中又は設定参照中であることを確認できない場合(No)、主制御CPU72は、ステップS644を実行する。
このような処理を実行することにより、メインループ中に呼ばれる領域外の処理と同様に、設定変更中又は設定参照中である場合、本来の性能表示モニタ200に関する処理を実行しないようにすることができる。
設定変更中又は設定参照中は、遊技停止状態とすることができる。この場合、性能表示モニタ200に係る本来の処理は行わない。このため、「設定変更中又は設定参照中は、領域外の処理を呼び出さない。」としてもよいが、使用領域のコード量が増えるので本実施形態では採用していない。つまり、「設定変更中又は設定参照中」であるかの判断処理を領域外で実行することにより、使用領域のコード量を削減することができる。このように、設定変更中又は設定参照中において、性能表示モニタ200に関連する処理を実行しないことでメインプログラムの負荷を軽減することができる。
このような処理を実行することにより、主制御CPU72は、設定関連処理及びベース関連処理のうち、一方の処理の実行中には、他方の処理の少なくとも一部の処理の実行を制限することができる(制限手段)。つまり、主制御CPU72は、設定変更中又は設定参照中である場合(ステップS643;Yes)、ベース関連処理の少なくとも一部の処理(ステップS644及びステップS646)を実行しないようにすることができる。
また、このような処理を実行することにより、主制御CPU72は、設定変更中又は設定参照中であるか否か(一方の処理の実行中であるか否か)を判断し、判断結果が肯定である場合にはベース関連処理(他方の処理)の少なくとも一部の処理の実行を制限すると決定し、判断結果が否定である場合にはベース関連処理(他方の処理)の少なくとも一部の処理の実行を制限しないと決定する判断処理(ステップS643の判断処理)を実行することができる(制限手段)。
さらに、このような処理を実行することにより、主制御CPU72は、領域外の処理(第2処理)に含まれる処理として、判断処理(ステップS643の判断処理)を実行することができる(第2処理実行手段)。
ステップS644:
主制御CPU72は、球数加算処理を実行する。この処理は、領域外の処理である。具体的には、主制御CPU72は、使用領域の処理として実行される「加算数算定処理」で算定した発射球数A(通常アウト加算数)、発射球数B(総アウト加算数)及び獲得球数(通常賞球加算数)を、RAM76の領域外に配置されている各種カウンタに加算する処理を実行する。
具体的には、主制御CPU72は、通常アウト数(通常アウトカウンタ)に発射球数A(通常アウト加算数)を加算する処理、総アウト数(総アウトカウンタ)に発射球数B(総アウト加算数)を加算する処理、通常賞球数(通常賞球数カウンタ)に獲得球数(通常賞球加算数)を加算する処理等を実行する。なお、処理の詳細は、後述する。
ステップS646:
主制御CPU72は、性能表示モニタ表示処理を実行する。この処理は、領域外の処理である。具体的には、主制御CPU72は、性能表示モニタ200の点滅、表示内容変更、表示データの設定を行う。表示内容は、例えば、「0.3秒点灯、0.3秒点灯又は消灯(点滅時)」を8回繰り返すと(合計4.8秒が経過すると)、変更される。切り替える内容は、「現在計測中のベース」と「前回の6万発分の区間のベース」である。
そして、8回目の「点灯又は消灯」となるタイミング(表示開始から4.5秒経過時点)で、除算タスク(除算処理)の開始を設定する。以後、メインループ処理から呼び出される性能表示モニタ集計除算処理を通じて除算タスクが実行される。除算タスクでの計算は、遅くとも表示内容が変更となるタイミング(表示開始から4.8秒後、除算タスク開始から0.3秒後)には終了する処理となる。
また、この処理において、主制御CPU72は、ベースの値に基づいて、性能表示モニタ200に含まれるLEDを点灯制御するためのコモン出力用データを生成する処理を実行する。生成したデータは、領域外のダイナミック点灯用バッファ(コモン0〜3)に格納する。
例えば、「現在の区間のベースが30%」である場合、主制御CPU72は、コモン0,1バッファにコモン出力用データ(表示データ)として「bL.」に対応するデータをセットし、コモン2,3バッファにコモン出力用データ(表示データ)として「30」に対応するデータをセットする処理を実行する。
このように、主制御CPU72が実行する性能表示モニタ表示処理によって性能表示モニタ200にベース値が表示可能になっている。したがって、性能表示モニタ200は、表示手段の一例に相当する。
ステップS648:
主制御CPU72は、スタックポインタ及び全レジスタを復帰する処理を実行する。
以上の処理を終えると、主制御CPU72は、タイマ割込み処理(図14)に復帰する。
図46は、球数加算処理の手順例を示すフローチャートである。
球数加算処理は、領域外の処理である。球数加算処理は、タイマ割込み処理によって呼び出される性能表示モニタ制御処理によって呼び出される。以下、手順例に沿って説明する。
ステップS650:
主制御CPU72は、通常賞球数カウンタ(通常賞球数)に獲得球数(通常賞球加算数)を加算する処理を実行する。例えば、通常賞球数カウンタの値が「100」であり、獲得球数の値が「8」である場合、通常賞球数カウンタの値は「108」となる。
ステップS652:
主制御CPU72は、通常アウトカウンタ(通常アウト数)に発射球数A(通常アウト加算数)を加算する処理を実行する。例えば、通常アウトカウンタの値が「299」であり、発射球数Aの値が「0」である場合、通常アウトカウンタの値は「299」となる。
ステップS654:
主制御CPU72は、総アウトカウンタ(総アウト数)に発射球数B(総アウト加算数)を加算する処理を実行する。例えば、総アウトカウンタの値が「299」であり、発射球数Bの値が「1」である場合、総アウトカウンタの値は「300」となる。
なお、「通常賞球数カウンタ」、「通常アウトカウンタ」及び「総アウトカウンタ」は、領域外のRAMに格納されている変数である。
また、「通常賞球数カウンタ」及び「通常アウトカウンタ」の値は、ベースの計算に使用し、「総アウトカウンタ」の値は、集計区間の更新に使用する。
以上の処理を終えると、主制御CPU72は、性能表示モニタ制御処理(図45)に復帰する。
図47は、性能表示モニタ集計除算処理の手順例を示すフローチャートである。
性能表示モニタ集計除算処理は、領域外の処理である。性能表示モニタ集計除算処理は、メインループ処理から呼び出される。
ステップS660:
主制御CPU72は、スタックポインタ及び全レジスタを退避する処理を実行する。
ステップS661:
主制御CPU72は、領域外RAMクリアチェック処理を実行する。この処理は、領域外の処理である。具体的には、主制御CPU72は、領域外で使用するRAMが初期化済みであるか否かを判定し、初期化済みでなければ初期化する処理を実行する。
ステップS662a:
主制御CPU72は、設定変更中又は設定参照中であるか否かを確認する。具体的には、設定変更中フラグの値が「01H」、「02H」又は「03H」であるか否かを確認する。
その結果、設定変更中又は設定参照中であることを確認した場合(Yes)、主制御CPU72は、ステップS668を実行する。一方、設定変更中又は設定参照中であることを確認できない場合(No)、主制御CPU72は、ステップS663を実行する。
設定変更中又は設定参照中は、遊技停止状態とすることができる。この場合、性能表示モニタ200に係る本来の処理は行わない。このため、「設定変更中又は設定参照中は、領域外の処理を呼び出さない。」としてもよいが、使用領域のコード量が増えるので本実施形態では採用していない。つまり、「設定変更中又は設定参照中」であるかの判断処理を領域外で実行することにより、使用領域のコード量を削減することができる。このように、設定変更中又は設定参照中において、性能表示モニタ200に関連する処理を実行しないことでメインプログラムの負荷を軽減することができる。
遊技停止状態は、いわゆる2種系の機種(特定領域を有する遊技機)に搭載されている、「遊技停止フラグ」を1種系の機種にも採用し、設定変更中及び設定参照中は遊技停止フラグをセットすることにより移行させることができる。
このような処理を実行することにより、主制御CPU72は、設定関連処理及びベース関連処理のうち、一方の処理の実行中には、他方の処理の少なくとも一部の処理の実行を制限することができる(制限手段)。つまり、主制御CPU72は、設定変更中又は設定参照中である場合(ステップS662a;Yes)、ベース関連処理の少なくとも一部の処理(ステップS663〜ステップS668)を実行しないようにすることができる。
また、このような処理を実行することにより、主制御CPU72は、設定変更中又は設定参照中であるか否か(一方の処理の実行中であるか否か)を判断し、判断結果が肯定である場合にはベース関連処理(他方の処理)の少なくとも一部の処理の実行を制限すると決定し、判断結果が否定である場合にはベース関連処理(他方の処理)の少なくとも一部の処理の実行を制限しないと決定する判断処理(ステップS662aの判断処理)を実行することができる(制限手段)。
さらに、このような処理を実行することにより、主制御CPU72は、領域外の処理(第2処理)に含まれる処理として、判断処理(ステップS662aの判断処理)を実行することができる(第2処理実行手段)。
ステップS663:
主制御CPU72は、区間変更であるか否か(ベースを表示するための区間が新たな区間に移行したか否か)、すなわち、総アウト数(総アウトカウンタ)の値が、60000にn(整数)を乗じて300を加算した値よりも大きい値であるか否かを確認する。なお、nは、現在の区間を示す値であり、初期値として1が設定される。
その結果、区間変更であることを確認した場合(Yes)、主制御CPU72は、ステップS664を実行する。一方、区間変更であることを確認できない場合(No)、主制御CPU72はステップS666を実行する。
ステップS664:
主制御CPU72は、通常賞球数の値(通常賞球数カウンタ)と、通常アウト数の値(通常アウトカウンタ)とを専用バッファに保存する処理を実行する。
また、主制御CPU72は、現在の区間を示す値nに1を加算して更新する処理を実行する。
なお、この処理では、ベースの値は保存しないことが好ましい。この理由は、総アウト数が一定の値(60000個)に到達し、ベースの表示区間を切り替えるときに、「通常賞球数÷通常アウト数×100の四捨五入」を計算して、結果を保存することも考えられるが、主制御CPU72でこの演算を行うのは時間がかかりすぎるからである。このため、本処理では、通常賞球数と通常アウト数を保存する処理だけを実行し、後の適切なタイミングで演算を行うのが最適な演算方法となる。これは、「最悪の場合の処理時間を短くする」という考え方に基づく計算方法であり、遊技機、特に、パチンコ機の動作安定上、重要な事項である。ただし、この処理で、主制御CPU72は、ベースの値を保存する処理(例えば、後述するステップS667において算出されていたベースの値を前回の区間のベースの値として記憶する処理)を実行してもよい。
ステップS665:
主制御CPU72は、通常賞球数の値と通常アウト数の値とをクリアする処理を実行する。
本処理を終えると、主制御CPU72は、次に、ステップS668の処理を実行する。
ステップS666:
主制御CPU72は、除算タスクの先頭番地を算定する処理を実行する。この処理を実行することにより、主制御CPU72は、除算タスクにおけるベースを算出する演算(除算、減算等の処理)を所定の処理量(例えば1ビット)だけ実行するようにすることができる。
上述した通り、主制御CPU72で除算処理を実行する場合には時間がかかるので、本実施形態では、除算処理を何回かに分けて実行している。
具体的には、以下に示す先頭番地が格納されたテーブルを用意して、今回実行すべきモジュールの先頭番地を算出し、プログラムカウンタ(PC)にその番地をセットすることにより、除算処理を少しずつ(細切れに、分割して)実行している。
除算タスク0:割算実行前の待機処理(の先頭番地)
除算タスク1:割算準備処理(の先頭番地)
除算タスク2:商の64の位を求める処理(の先頭番地)
除算タスク3:商の32の位を求める処理(の先頭番地)
除算タスク4:商の16の位を求める処理(の先頭番地)
除算タスク5:商の8の位を求める処理(の先頭番地)
除算タスク6:商の4の位を求める処理(の先頭番地)
除算タスク7:商の2の位を求める処理(の先頭番地)
除算タスク8:商の1の位を求める処理(の先頭番地)
除算タスク9:四捨五入を行う処理(の先頭番地)
除算タスク10:割算終了後の待機処理(の先頭番地)
例えば、上記除算タスク0の「割算実行前の待機処理」は、次回タスク(次回タスク決定ステータス)に「0」が設定されている場合に実行され、上記除算タスク1の「割算準備処理」は、次回タスクに「1」が設定されている場合に実行される。このような制御処理により、以下の除算タスクの内容を少しずつ実行することができる。なお、次回タスクの初期値は0である。
ステップS667:
主制御CPU72は、除算タスクを実行する(呼び出す)処理を実行する。この処理は、領域外の処理である。除算タスクには、11個のタスク(除算タスク0〜除算タスク10)があり、除算タスク0から除算タスク10までが順番に呼び出される。なお、除算タスクの内容は、後述する。
このような処理を実行することにより、主制御CPU72は、領域外の処理(第2処理)に含まれる処理として、性能表示モニタ200に表示するベースを算出する処理(ベース関連処理)を実行することができる(第2処理実行手段)。なお、ベース関連処理は、ベースを算出するのに必要となる処理、ベースを表示するのに必要となる処理のうち少なくとも一方の処理が含まれる。
ステップS668:
主制御CPU72は、スタックポインタ及び全レジスタを復帰する処理を実行する。
以上の処理を終えると、主制御CPU72は、タイマ割込み処理(図14)に復帰する。
図48は、性能表示モニタ集計除算処理の除算タスク(ステップS667)において実行されるベースの演算方法を説明する図である。
ここでは、通常賞球数が「3456」、通常アウト数が「10000」であるとしてベースを算出する方法を説明する。
上述したように、ベースは、区間ごとのアウト球数に対する排出数を最終的に百分率に換算した値である。そして、このような百分率の表示を行う場合、除算した結果に対し、小数点以下2桁のみが必要となる。
そして、このような百分率の値を算出する処理(「%換算する」処理)が、被乗数「100」を乗じることに相当する。したがって、ベース=通常賞球数÷通常アウト数×100といった式で表すことができる。しかし、通常賞球数≦通常アウト数となる場合、この式の順番通りに演算すると、小数点以下の値となってしまい、例えば、主制御装置70では演算不能となる。
そこで、演算順を変更し、ベース=通常賞球数×100÷通常アウト数といった順(まず、通常賞球数に被乗数を乗じて、その後、通常アウト数で除算する順)で演算を行う。こうすることで、小数点以下の演算を行うことなく、整数のみで演算結果を完結することが可能となる。
また、本実施形態では、百分率に換算した場合の小数点以下の値を四捨五入する。
しかし、主制御装置70は小数点以下の数字を扱うことができず、2進数で演算が行われるため、通常賞球数×被乗数「100」及び通常アウト数を先に2倍してベースの2倍の値を求める。そして、求めたベースの2倍の値(2進数)の最下位ビット(小数点以下の値に相当)が「1」であれば(小数点以下が0.5以上であれば)、求めたベースの2倍の値に「1」を加算した後に半分の値(右に1ビットシフト)にすることで小数点以下を切り上げ、求めたベースの2倍の値の最下位ビット(小数点以下の値に相当)が「0」であれば(小数点以下が0.5未満であれば)、求めたベースの2倍の値をそのまま半分の値(右にシフト)にすることで小数点以下を切り捨てる。これにより、小数点以下の値を四捨五入することができる。
具体的には、主制御装置70(主制御CPU72)では、除算を減算に置き換え、2×通常賞球数(3456)×100である被除数「691200」から、通常アウト数である除数「10000」に、2の累乗数を2倍した所定の整数「128(2×2の6乗)」を乗じた数を減算し、以降、整数を「64(2×2の5乗)」→「32(2×2の4乗)」→「16(2×2の3乗)」→「8(2×2の2乗)」→「4(2×2の1乗)」→「2(2×2の0乗)」→「1(2×2の−1乗)」の順に変更(右に1ビットシフト)して除数を乗じ、被除数から減算する。ここで、除数に乗じる整数を、2×64から開始しているのは、ベースの表示が0〜99の範囲であり、ベースが100%以上の場合には「99.9」を表示する仕様のため、「2×128(2の7乗)」以上の数値を減算する必要がないからである。
具体的には、図48に示すように、1回目の演算において、被除数<除数なので、次に進む。そして、2回目の演算において、被除数≧除数なので、被除数「691200」から除数「64(2×32)×10000」を減算して被除数を「51200」に更新するとともに、商「0」に「64」を加えて商を「64(2進数で表すと1000000B)」に更新する。3回目〜5回目の演算では、被除数<除数なので、次に進む。6回目の演算において、被除数≧除数なので、被除数「51200」から除数「4(2×2)×10000」を減算して被除数を「11200」に更新するとともに、商「64」に「4」を加えて商を「68(2進数で表すと1000100B)」に更新する。7回目の演算において、被除数<除数なので、次に進む。8回目の演算において、被除数≧除数なので、被除数「11200」から除数「1(2×0.5)×10000」を減算して被除数を「1200」に更新するとともに、商「68」に「1」を加えて商を「69(2進数で表すと1000101B)」に更新する。
その後、9回目の演算では、更新された商「69(2進数で表すと1000101B)」を2で除算(右に1ビットシフト)し、最終的なベースを求めることになる。このとき、単に2で除算すると商は「34.5」となるが、上記したように主制御装置70は小数点以下を扱うことができないので、商の最下位のビットが「1B」である場合、商「69」を右に1ビットシフトした後に、「1」を加算して商を「35(2進数で表すと0100011B)」とする。
かかる演算例により、加算、減算、乗算といった簡易な演算のみで、また、整数のみにより、除算を実現することが可能となる。また、ここでは、演算を9回繰り返せば足りるので、演算処理を迅速に行うことができる。さらに、ベースの小数点以下を四捨五入することができる。
次に、性能表示モニタ集計除算処理の除算タスク(ステップS667)において実行されるベースの演算の具体的な処理手順について図49から図51を用いて説明する。
図49は、除算タスク1の処理の手順例を示すフローチャートである。
図50は、除算タスク2〜8の処理の手順例を示すフローチャートである。
図51は、除算タスク9の処理の手順例を示すフローチャートである。
除算タスクは、0〜10までがあり、除算タスクの先頭番地を算定する処理(S666)において次回タスクの値が参照され、実際に実行する除算タスクの先頭アドレスが指定される。以下、手順例に沿って説明する。
ここで、以下に説明する除算タスクの処理の内容は、1回の呼び出しでベースを算出する演算を1ビットずつ行う例で説明しているが、1回の呼び出しでベースを算出する演算を完了させてもよい。
また、ベースの演算の完了後には、領域外のRAMの値が異常でないかを監視するようにしてもよい。なお、除算タスクの開始(ベースの演算の開始)については、性能表示モニタ表示処理で設定するようにしてもよい。
次回タスクに「0」が設定されている場合、除算タスク0が実行される。除算タスク0の内容は特に図示していないが、割算実行前の待機処理が実行される。除算タスク0の最後の処理では、次回タスクに「1」が設定される。
次回タスクに「1」が設定されている場合、図49に示す除算タスク1が実行される。
以下、除算タスク1の処理の流れを説明する。
ステップS730:
主制御CPU72は、整数(変数)を「128(2×64)」に初期化し、「128」を整数バッファにセーブする処理を実行する。
ステップS732:
主制御CPU72は、通常アウト数の値をロードし、ロードした通常アウト数の値に整数「128」を乗算し、乗算した値を除数として除数バッファにセーブする処理を実行する。
ステップS734:
主制御CPU72は、通常賞球数の値をロードし、ロードした通常賞球数の値に「2」及び「100」を乗算し、乗算した値を被除数として被除数バッファにセーブする処理を実行する。
ステップS736:
主制御CPU72は、商を「0」に初期化し、「0」を商バッファにセーブする処理を実行する。
ステップS738:
主制御CPU72は、次回タスクに「2」を設定する。
以上の処理を終えると、主制御CPU72は、性能表示モニタ集計除算処理(図47)に復帰する。
次回タスクに「2」〜「8」が設定されている場合、図50に示す除算タスク2〜8が実行される。
以下、除算タスク2〜8の処理の流れを説明する。
ステップS740:
主制御CPU72は、被除数バッファにセーブされた被除数が、除数バッファにセーブされた除数以上であるか否かを確認する。
その結果、被除数バッファにセーブされた被除数が、除数バッファにセーブされた除数以上であることを確認した場合(Yes)、主制御CPU72は、ステップS742を実行する。一方、被除数バッファにセーブされた被除数が、除数バッファにセーブされた除数以上であることを確認できない場合(No)、主制御CPU72は、ステップS746を実行する。
ステップS742:
主制御CPU72は、被除数バッファにセーブされた被除数から、除数バッファにセーブされた除数を減算し、減算結果を新たな被除数として被除数バッファにセーブする処理を実行する。
ステップS744:
主制御CPU72は、商バッファにセーブされた商に、整数バッファに記憶された整数を加算し、加算結果を新たな商として商バッファにセーブする処理を実行する。
ステップS746:
主制御CPU72は、除数バッファにセーブされた除数を「2」で除算し(右に1ビットシフトし)、除算結果を新たな除数として除数バッファにセーブする処理を実行する。
ステップS748:
主制御CPU72は、整数バッファにセーブされた整数を「2」で除算し(右に1ビットシフトし)、除算結果を新たな整数として整数バッファにセーブする処理を実行する。
ステップS750:
主制御CPU72は、今回タスク(現在の次回タスクの値)に1を加算した値を、次回タスクに設定する。
以上の処理を終えると、主制御CPU72は、性能表示モニタ集計除算処理(図47)に復帰する。
次回タスクに「9」が設定されている場合、図51に示す除算タスク9が実行される。
以下、除算タスク9の処理の流れを説明する。
ステップS752:
主制御CPU72は、商バッファにセーブされた商の最下位ビットの値が「1」であるか否かを確認する処理を実行する。
その結果、商バッファにセーブされた商の最下位ビットの値が「1」であることを確認した場合(Yes)、主制御CPU72は、ステップS754を実行する。一方、商バッファにセーブされた商の最下位ビットの値が「1」であることを確認できない場合(No)、主制御CPU72は、ステップS756を実行する。
ステップS754:
主制御CPU72は、商バッファに記憶された商を「2」で除算し(右に1ビットシフトし)、除算結果に「1」を加算してベースバッファに記憶する処理を実行する。
ステップS756:
主制御CPU72は、商バッファに記憶された商を「2」で除算し(右に1ビットシフトし)、除算結果をベースバッファに記憶する処理を実行する。
ステップS758:
主制御CPU72は、次回タスクに「10(待機処理に対応する値)」を設定する。
以上の処理を終えると、主制御CPU72は、性能表示モニタ集計除算処理(図47)に復帰する。
次回タスクに「10」が設定されている場合、除算タスク10が実行される。除算タスク10の内容は特に図示していないが、割算実行後の待機処理が実行される。除算タスク10の最後の処理では、次回タスクに「0」が設定される。
次に、性能表示モニタ200に表示されるベース(ベース比率)の表示態様について説明する。
図52は、性能表示モニタ200の表示態様を説明する図である。
主制御装置70は、遊技状態が低確率非時間短縮状態である場合、高確率非時間短縮状態である場合、及び、左打ち指示中である場合のベースを性能表示モニタ200に表示する。ここで、ベースは、予め設定された区間ごと(例えば、総アウト数が60000個ごと)に算出される。ベース(百分率:%)は、ベース=通常賞球数÷通常アウト数×100によって算出することができる。
図52中(A)(B)に示すように、性能表示モニタ200には、現在の区間のベースと、前回の区間のベースとが、予め設定された間隔(例えば、数秒)ごとに切り替わって表示される。
性能表示モニタ200では、7セグメントLED201,202によって、現在の区間のベースであるか、前回の区間のベースであるかを識別するための識別子「bL.」又は「b6.」が表示される。また、性能表示モニタ200では、7セグメントLED203,204によって、識別子「bL.」又は「b6.」に対応するベースが2桁の数字情報で表示される。
例えば、現在の区間のベースが30%であるとすると、現在の区間のベースを表示する際には、図52中(A)に示すように、7セグメントLED201,202に「bL.」が表示され、7セグメントLED203,204に「30」が表示される。また、前回の区間のベースが38%であるとすると、前回の区間のベースを表示する際には、図52中(B)に示すように、7セグメントLED201,202に「b6.」が表示され、7セグメントLED203,204に「38」が表示される。
図53は、性能表示モニタ200に表示されるベースの区間を説明する図である。
ここで、パチンコ機1が製造されてからホール(遊技場)に設置されて遊技者による遊技が行われるまでの間には、製造時における検査や、ホールでの試運転(動作チェック)等が行われる。このような製造時における検査や、ホールでの試運転等でも遊技球が発射、排出されることになるが、この間のアウト球数及び排出数をカウントしてしまうと、遊技者による遊技が行われている間のベースを正確に算出することができなくなってしまうおそれがある。
そこで、図53中(A)に示すように、アウトスイッチ99によって検出されるアウト球数のトータル(合計数)が0〜300の最初の区間(対象外区間)は、製造時における検査や、ホールでの試運転等、遊技者による遊技が行われる以前に検出されたアウト球数であるとみなしてベースを算出する対象から除外する。
同様に、アウト球数が0〜300の区間で払い出された払出数もベースを算出する対象から除外する。この対象外区間中では、図53中(B)に示すように、現在の区間のベースを表示する際には、識別子「bL.」を点滅表示するとともに、ベースの値として「−−」を点灯表示する。また、前回の区間は存在しないことから、前回の区間のベースを表示する際には、識別子「b6.」を点滅表示するとともに、ベースの値として「−−」を点灯表示する。
そして、アウト球数が301〜60300までを1回目の区間とし、1回目の区間では、ベースを随時(リアルタイムで)算出し、現在の区間のベースを表示する際には、識別子「bL.」を表示するともに、算出したベースの値を点灯表示する。このとき、アウト球数が301〜6299までの間(当該区間におけるアウト球数が5999以下の間)は、識別子「bL.」を点滅表示することで、現在の区間のベースを算出する際のサンプルが少なく、ベースが安定していないことを報知する。その後、アウト球数が6300以上になる(当該区間におけるアウト球数が6000以上になる)と、識別子「bL.」を点灯表示することで、現在の区間のベースを算出する際のサンプルが多く、ベースが安定していることを報知する。
また、1回目の区間では、前回の区間は存在しないことから、前回の区間のベースを表示する際には、識別子「b6.」を点滅表示するとともに、ベースの値として「−−」を点灯表示する。
また、アウト球数が60301〜120300までの2回目の区間では、1回目の区間と同様に、ベースを随時(リアルタイムで)算出し、現在の区間のベースを表示する際には、アウト球数に応じて識別子「bL.」を点灯又は点滅表示するとともに、算出したベースを表示する。また、2回目の区間において、前回の区間のベースを表示する際には、識別子「b6.」を点灯表示するとともに、1回目の区間の最終的なベースを点灯表示する。
このように、アウト球数が最初の300個を除いた60000個ごと(n回目の区間ごと)に、リアルタイムで算出したベースを、現在の区間のベースとして表示するとともに、n−1回目の区間の最終的なベースを、前回の区間のベースとして表示する。
これにより、製造時における検査や、ホールでの試運転(動作チェック)等、遊技者による遊技が行われる前のアウト球数及び排出数を、ベースを算出する対象から除外することができ、ベースを正確に算出(表示)することができる。
なお、ベースを算出する際に、ベースが一時的に100%を超える場合もある。例えば、区間の最初の1球が中始動入賞口26に入球した場合、アウト球数は1であるのに対して、払出数は中始動入賞口26に入球したことにより得られる賞球数(例えば4)となり、ベースは400%となる。このような場合、性能表示モニタ200では、ベースを2桁の数字情報でしか表示できないことから、7セグメントLED203,204に「99.」を点灯表示することで、ベースが100%を超えていることを報知する。なお、この場合、7セグメントLED203には「9」が点灯表示され、7セグメントLED204には「9.」が点灯表示される。
〔発射位置管理処理〕
図54は、発射位置管理処理の手順例を示すフローチャートである。以下、各手順に沿って説明する。
ステップS1100:
主制御CPU72は普通遊技管理フェーズの値が「03H」〜「07H」であるか否かを確認する。
〔普通遊技管理フェーズ〕
主制御CPU72は、普通図柄に対応する遊技の進行状況(1)〜(8)に応じて普通遊技管理フェーズの値(カギ括弧内)を以下のようにセットする。
(1)普通図柄変動待ち状態:「00H」
(2)普通図柄変動表示中状態:「01H」
(3)普通図柄停止図柄表示中状態:「02H」
(4)可変始動入賞装置(普通電動役物)開放待ち状態:「03H」
(5)可変始動入賞装置(普通電動役物)開放状態:「04H」
(7)可変始動入賞装置(普通電動役物)閉鎖状態:「05H」
(8)可変始動入賞装置(普通電動役物)作動終了時間中状態:「06H」
(9)可変始動入賞装置(普通電動役物)閉鎖後有効状態:「07H」
ここで、主制御CPU72は、普通遊技管理フェーズの値を設定又は更新した場合、その値を反映させた普通遊技管理フェーズコマンドを生成する。普通遊技管理フェーズコマンドは、サブコマンド送信処理において演出制御装置124に送信される。
その結果、普通遊技管理フェーズの値が「03H」〜「07H」であることを確認した場合(Yes)、主制御CPU72はステップS1140を実行する。一方、普通遊技管理フェーズの値が「03H」〜「07H」であることを確認できない場合(No)、主制御CPU72はステップS1110を実行する。
ステップS1110:
主制御CPU72は特別遊技管理フェーズの値が「03H」〜「07H」であるか否かを確認する。
〔特別遊技管理フェーズ〕
主制御CPU72は、特別図柄に対応する遊技の進行状況(1)〜(8)に応じて特別遊技管理フェーズの値(カギ括弧内)を例えば以下のようにセットする。
(1)特別図柄変動待ち状態:「00H」
(2)特別図柄変動表示中状態:「01H」
(3)特別図柄停止図柄表示中状態:「02H」
(4)可変入賞装置(特別電動役物)開放待ち状態:「03H」
(5)可変入賞装置(特別電動役物)開放状態:「04H」
(6)可変入賞装置(特別電動役物)閉鎖状態:「05H」
(7)可変入賞装置(特別電動役物)作動終了時間中状態:「06H」
(8)可変入賞装置(特別電動役物)閉鎖後有効状態:「07H」
ここで、主制御CPU72は、特別遊技管理フェーズの値を設定又は更新した場合、その値を反映させた特別遊技管理フェーズコマンドを生成する。特別遊技管理フェーズコマンドは、サブコマンド送信処理において演出制御装置124に送信される。
その結果、特別遊技管理フェーズの値が「03H」〜「07H」、つまり、大当り遊技中又は小当り遊技中であることを確認した場合(Yes)、主制御CPU72はステップS1140を実行する。一方、特別遊技管理フェーズの値が「03H」〜「07H」であることを確認できない場合(No)、つまり、大当り遊技中又は小当り遊技中であることを確認できない場合、主制御CPU72はステップS1120を実行する。
ステップS1120:
主制御CPU72は、内部状態が時間短縮状態であるか否かを確認する。時間短縮状態であるか否かは、時間短縮機能作動フラグにより確認することができる。
その結果、内部状態が時間短縮状態であることを確認した場合(Yes)、主制御CPU72はステップS1140を実行する。一方、内部状態が時間短縮状態であることを確認できない場合(No)、主制御CPU72はステップS1130を実行する。
ステップS1130:
主制御CPU72は、発射位置指定ステータスに左打ちに対応する値(0)をセットする。
ここで、「発射位置指定ステータス」とは、現在の遊技状態が左打ちに対応する遊技状態であるか、右打ちに対応する遊技状態であるかを保持する変数である。
具体的には、発射位置指定ステータスに「0」がセットされていれば現在の遊技状態が左打ちに対応する遊技状態(左打ち状態)であること示しており、発射位置指定ステータスに「1」がセットされていれば現在の遊技状態が右打ちに対応する遊技状態(右打ち状態)であること示している。
このため、主制御CPU72は、発射位置指定ステータスの値を参照すれば、現在の遊技状態が左打ちに対応する遊技状態であるか、右打ちに対応する遊技状態であるかを確認することができる。
また、発射位置指定ステータスの値は、RAM76に記憶されており、電源断の状態が発生した場合は、その値がバックアップされる。
ステップS1140:
主制御CPU72は、発射位置指定ステータスに右打ちに対応する値(1)をセットする。
ステップS1150:
ステップS1130又はステップS1140にて発射位置指定ステータスをセットすると、主制御CPU72は次に発射位置指定コマンドを生成する(発射位置指定情報通知手段)。ここで、主制御CPU72は、発射位置指定コマンドとして、発射位置指定ステータスの値を反映させたコマンドを生成する。具体的には、発射位置指定ステータスの値が左打ちを示す値(0)である場合、主制御CPU72は、左打ちを示す発射位置指定コマンドを生成する。これに対して、発射位置指定ステータスの値が右打ちを示す値(1)である場合、主制御CPU72は、右打ちを示す発射位置指定コマンドを生成する。ここで生成した発射位置指定コマンドは、サブコマンド送信処理において演出制御装置124に出力される。
以上の手順を終えると、主制御CPU72はタイマ割込み処理(図14)に復帰する。
次に、本実施形態によるパチンコ機1の作用・効果について、図14を参照しつつ図55及び図56を用いて説明する。図55(a)中、図55(b)中、図56(a)中及び図56(b)中のそれぞれの上段には、タイマ割込み処理(ステップS137)の実行タイミングが模式的に示されている。図55(a)中、図55(b)中、図56(a)中及び図56(b)中のそれぞれの上段の、タイマ割込み処理(ステップS137(n))はn(nは自然数)回目に実行されたタイマ割込み処理を示し、タイマ割込み処理(ステップS137(n+1))はn+1回目に実行されたタイマ割込み処理を示し、タイマ割込み処理(ステップS137(n+i))はn+i(iは2よりも大きい自然数)回目に実行されたタイマ割込み処理を示している。また、図56は、本実施形態によるパチンコ機1の動作に対する比較例を示し、パチンコ機1の動作ではないが、理解を容易にするため、パチンコ機1の構成要素や処理と同一の符号を用いて説明する。
図55(a)中、図55(b)中、図56(a)中及び図56(b)中のそれぞれの下段には、第1可変入賞装置30、第2可変入賞装置31又は可変始動入賞装置28の開閉状態が模式的に示されている。図55(a)中、図55(b)中、図56(a)中及び図56(b)中のそれぞれの「ON」は、第1可変入賞装置30、第2可変入賞装置31又は可変始動入賞装置28が開放状態であることを示し、当該図中の「OFF」は、第1可変入賞装置30、第2可変入賞装置31又は可変始動入賞装置28が閉鎖状態であることを示している。
図55及び図56では、第1可変入賞装置30、第2可変入賞装置31又は可変始動入賞装置28の開放期間が遊技機規則で規定された最大開放期間に設定されている場合の状態が模式的に示されている。また、ソレノイドデータ設定処理(ステップS217)が終了した後に第1可変入賞装置30、第2可変入賞装置31又は可変始動入賞装置28が開閉動作するまでに所定時間がかかる。しかしながら、図55及び図56では、理解を容易にするため、当該所定時間の図示を省略し、第1可変入賞装置30、第2可変入賞装置31又は可変始動入賞装置28の開閉動作は、ソレノイドデータ設定処理(ステップS217)の終了と同時に開始するように図示されている。
図55(a)中の上段に示すように、n回目のタイマ割込み処理(ステップS137)のソレノイドデータ設定処理(ステップS217)において、第1大入賞口ソレノイド90(第2大入賞口ソレノイド97又は普通電動役物ソレノイド88)を励磁するための駆動信号がポート出力バッファに格納されて出力されたとする。これにより、図55(a)中の下段に示すように、第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)が閉鎖状態から開放状態に移行する。n回目のタイマ割込み処理(ステップS137)が開始されてからソレノイドデータ設定処理(ステップS217)が終了するまでの期間は、例えば期間T1となる。すなわち、n回目のタイマ割込み処理(ステップS137)が開始されてから第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)が閉鎖状態から開放状態に移行するまでの期間は、期間T1となる。
また、主制御CPU72は、n回目のタイマ割込み処理(ステップS137)において、ソレノイドデータ設定処理(ステップS217)を実行した後に、性能表示モニタ集計除算処理(ステップS218b)を実行する。n回目のタイマ割込み処理(ステップS137)の性能表示モニタ集計除算処理(ステップS218b)では、ベース値が算出されなかったとする。この場合、ソレノイドデータ設定処理(ステップS217)が終了してから性能表示モニタ集計除算処理(ステップS218b)が終了するまでの期間は、期間T2となる。
図55(a)中の上段に示すように、n+1回目のタイマ割込み処理(ステップS137)のソレノイドデータ設定処理(ステップS217)において、第1大入賞口ソレノイド90(第2大入賞口ソレノイド97又は普通電動役物ソレノイド88)を励磁するための駆動信号がポート出力バッファに格納されて出力されたとする。これにより、図55(a)中の下段に示すように、第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)が開放状態を維持する。
また、主制御CPU72は、n+1回目のタイマ割込み処理(ステップS137)において、ソレノイドデータ設定処理(ステップS217)を実行した後に、性能表示モニタ集計除算処理(ステップS218b)を実行する。n+1回目のタイマ割込み処理(ステップS137)の性能表示モニタ集計除算処理(ステップS218b)では、ベース値が算出されたとする。性能表示モニタ集計除算処理(ステップS218b)においてベース値の算出が終了するまで、第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)は開放状態を維持する。
n+1回目のタイマ割込み処理(ステップS137)の後に所定回数のタイマ割込み処理(ステップS137)が実行され、次いでn+i回目のタイマ割込み処理(ステップS137)が実行される。図55(a)中の上段に示すように、n+i回目のソレノイドデータ設定処理(ステップS217)において、第1大入賞口ソレノイド90(第2大入賞口ソレノイド97又は普通電動役物ソレノイド88)の励磁を終了するための駆動信号がポート出力バッファに格納されて出力されたとする。これにより、図55(a)中の下段に示すように、第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)が開放状態から閉鎖状態に移行する。ソレノイドデータ設定処理(ステップS217)は、性能表示モニタ集計除算処理(ステップS218b)と異なり、タイマ割込み処理(ステップS137)ごとに実行時間が一定である。このため、n+i回目のタイマ割込み処理(ステップS137)が開始されてからソレノイドデータ設定処理(ステップS217)が終了するまでの期間は、例えば期間T1となる。すなわち、n+i回目のタイマ割込み処理(ステップS137)が開始されてから第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)が開放状態から閉鎖状態に移行するまでの期間は、n回目のタイマ割込み処理(ステップS137)と同様に、期間T1となる。
また、主制御CPU72は、n+i回目のタイマ割込み処理(ステップS137)において、ソレノイドデータ設定処理(ステップS217)を実行した後に、性能表示モニタ集計除算処理(ステップS218b)を実行する。n+i回目のタイマ割込み処理(ステップS137)の性能表示モニタ集計除算処理(ステップS218b)では、ベース値が算出されなかったとする。この場合、ソレノイドデータ設定処理(ステップS217)が終了してから性能表示モニタ集計除算処理(ステップS218b)が終了するまでの期間は、n回目のタイマ割込み処理(ステップS137)と同様に、期間T2となる。
タイマ割込み処理(ステップS137)は、一定の割込み間隔(本実施形態では4ミリ秒)で実行される。さらに、タイマ割込み処理(ステップS137)が開始されてからソレノイドデータ設定処理(ステップS217)が終了するまでの期間T1は、1回目のタイマ割込み処理とn+i回目のタイマ割込み処理とで同一である。このため、図55(a)に示すように、第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)の開放期間Toは、遊技機規則で規定された最大開放期間Trに一致する。その結果、パチンコ機1は、設計どおりに正確に動作することができる。さらに、パチンコ機1は、遊技機規則の規定を満たして動作することができる。
また、タイマ割込み処理においてソレノイドデータ設定処理よりも前に実行される各処理の処理時間は、状況による処理の内容の違いによって、同一の場合もあれば異なる場合もあり、厳密には一定でない。しかしながら、パチンコ機1は、タイマ割込み処理内のソレノイドデータ設定処理までの各処理の処理時間の合計のブレ幅(以下、「第一ブレ幅」と称する)は、タイマ割込み処理内のソレノイドデータ設定処理よりも後に実行される各処理の処理時間の合計のブレ幅(以下、「第二ブレ幅」と称する)よりも小さくなるように構成されている。第一ブレ幅によって開放期間Toが最も長くなっても最大開放期間Trと同一又は短い時間となるように、第一ブレ幅分のマージンを設けて開放期間Toが設定されてもよい。この場合、第一ブレ幅は、第二ブレ幅よりも小さく、当該マージンも短くて済む。このため、パチンコ機1は、タイマ割込み処理で実行すべき全ての処理を1回のタイマ割込み処理の時間内で確実に実行できるので、設計どおりに正確に動作することができる。
図55(b)に示すように、パチンコ機1は、n+i回目のタイマ割込み処理(ステップS137)の直前のタイマ割込み処理(不図示)まで、図55(a)に示すタイマ割込み処理(ステップS137)と同様に動作し、n+i回目のタイマ割込み処理(ステップS137)で異なる動作を行ったとする。具体的には、n+i回目のタイマ割込み処理(ステップS137)の性能表示モニタ集計除算処理(ステップS218b)においてベース値が算出される。このため、性能表示モニタ集計除算処理(ステップS218b)の処理時間は、ベース値が算出されない場合と比較して長くなる。これにより、ソレノイドデータ設定処理(ステップS217)が終了してから性能表示モニタ集計除算処理(ステップS218b)が終了するまでの期間は、期間T2よりも長い期間T3となる。
上述のとおり、本実施形態によるパチンコ機1は、タイマ割込み処理(ステップS137)において、性能表示モニタ集計除算処理(ステップS218b)よりも先にソレノイドデータ設定処理(ステップS217)を実行するようになっている。このため、図55に示すように、第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)が閉鎖状態に移行するタイミングを含むタイマ割込み処理(ステップS137)の性能表示モニタ集計除算処理(ステップS218b)でベース値が算出されるか否かに関わらず、当該タイマ割込み処理(ステップS137)が開始されてからソレノイドデータ設定処理(ステップS217)が終了するまでの期間は、期間T1となる。その結果、パチンコ機1は、第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)が閉鎖状態に移行するタイミングのタイマ割込み処理(ステップS137)の性能表示モニタ集計除算処理(ステップS218b)でベース値が算出されるか否かに関わらず、遊技機規則の規定を満たして動作することができる。
ここで、本実施形態によるパチンコ機1の動作の比較例として、タイマ割込み処理(ステップS137)において、性能表示モニタ集計除算処理(ステップS218b)が、ソレノイドデータ設定処理(ステップS217)よりも先に実行される場合について説明する。
図56(a)中の上段に示すように、n回目のタイマ割込み処理(ステップS137)では、性能表示モニタ集計除算処理(ステップS218b)においてベース値が算出されず、その後、ソレノイドデータ設定処理(ステップS217)が実行されたとする。この場合、n回目のタイマ割込み処理(ステップS137)が開始されてから性能表示モニタ集計除算処理(ステップS218b)が終了するまでの期間は、期間T4となる。また、この場合、性能表示モニタ集計除算処理(ステップS218b)が終了してから性能表示モニタ集計除算処理(ステップS218b)が終了するまでの期間は、期間T5となる。
n回目のタイマ割込み処理(ステップS137)のソレノイドデータ設定処理(ステップS217)において、第1大入賞口ソレノイド90(第2大入賞口ソレノイド97又は普通電動役物ソレノイド88)を励磁するための駆動信号がポート出力バッファに格納されて出力されたとする。これにより、ソレノイドデータ設定処理(ステップS217)の処理が終了すると、第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)が閉鎖状態から開放状態に移行する。この場合、n回目のタイマ割込み処理(ステップS137)が開始されてから第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)が閉鎖状態から開放状態に移行するまでの期間は、期間T6となる。期間T6は、期間T4と期間T5とを合わせた長さと同じ長さとなる。
図56(a)中の上段に示すように、主制御CPU72は、n+1回目のタイマ割込み処理(ステップS137)の性能表示モニタ集計除算処理(ステップS218b)でベース値を算出したとする。性能表示モニタ集計除算処理(ステップS218b)においてベース値の算出が終了するまで、第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)は開放状態を維持する。
主制御CPU72は、n+1回目のタイマ割込み処理(ステップS137)において、性能表示モニタ集計除算処理(ステップS218b)の後に実行するソレノイドデータ設定処理(ステップS217)でも第1大入賞口ソレノイド90(第2大入賞口ソレノイド97又は普通電動役物ソレノイド88)を励磁するための駆動信号がポート出力バッファに格納して出力したとする。これにより、図56(a)中の下段に示すように、第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)が開放状態を維持する。
図56(a)中の上段に示すように、主制御CPU72は、n+i回目のタイマ割込み処理(ステップS137)を実行する。主制御CPU72は、n+i回目のタイマ割込み処理(ステップS137)において、性能表示モニタ集計除算処理(ステップS218b)を実行するものの、ベース値を算出しなかったとする。このため、n+1回目のタイマ割込み処理(ステップS137)が開始されてから性能表示モニタ集計除算処理(ステップS218b)が終了するまでの期間は、期間T4となる。また、この場合、性能表示モニタ集計除算処理(ステップS218b)が終了してから性能表示モニタ集計除算処理(ステップS218b)が終了するまでの期間は、期間T5となる。
n+i回目のタイマ割込み処理(ステップS137)の実行期間は、第1大入賞口ソレノイド90(第2大入賞口ソレノイド97又は普通電動役物ソレノイド88)が開放状態から閉鎖状態に移行されるタイミングを含む。このため、n+i回目のタイマ割込み処理(ステップS137)のソレノイドデータ設定処理(ステップS217)において、第1大入賞口ソレノイド90(第2大入賞口ソレノイド97又は普通電動役物ソレノイド88)の励磁を終了するための駆動信号がポート出力バッファに格納されて出力される。これにより、ソレノイドデータ設定処理(ステップS217)の処理が終了すると、第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)が開放状態から閉鎖状態に移行する。この場合、n+i回目のタイマ割込み処理(ステップS137)が開始されてから第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)の計閉状態が切り替わるまでの期間は、期間T6となる。期間T6は、期間T4と期間T5とを合わせた長さと同じ長さとなる。
パチンコ機1では、第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)の開放期間は、タイマ割込み処理の割込みの期間(本実施形態では4ミリ秒)にタイマ割込み処理の実行回数を乗算して算出される。図56(a)に示す例では、n回目のタイマ割込み処理(ステップS137)が開始されてからソレノイドデータ設定処理(ステップS217)が終了するまでの期間T6と、n+i回目のタイマ割込み処理(ステップS137)が開始されてからソレノイドデータ設定処理(ステップS217)が終了するまでの期間T6とは、同じ長さである。このため、図56(a)に示すように、第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)の開放期間Toは、遊技機規則で規定された最大開放期間Trに一致する。その結果、パチンコ機1は、遊技機規則の規定を満たして動作することができる。
図56(b)に示すように、パチンコ機1は、n+i回目のタイマ割込み処理(ステップS137)の直前のタイマ割込み処理(不図示)まで、図56(a)に示すタイマ割込み処理(ステップS137)と同様に動作し、n+i回目のタイマ割込み処理(ステップS137)で異なる動作を行ったとする。具体的には、n+i回目のタイマ割込み処理(ステップS137)の性能表示モニタ集計除算処理(ステップS218b)においてベース値が算出される。このため、性能表示モニタ集計除算処理(ステップS218b)の処理時間は、ベース値が算出されない場合と比較して期間ΔTだけ長くなる。これにより、n+i回目のタイマ割込み処理(ステップS137)が開始してから性能表示モニタ集計除算処理(ステップS218b)が終了するまでの期間は、期間T4よりも期間ΔTだけ長い期間T7となる。
性能表示モニタ集計除算処理(ステップS218b)の処理時間が異なっても、性能表示モニタ集計除算処理(ステップS218b)が終了してからソレノイドデータ設定処理(ステップS217)が終了するまでの期間は、期間T5で変わらない。このため、図56(b)中の上段に示すように、n+i回目のタイマ割込み処理(ステップS137)が開始してからソレノイドデータ設定処理(ステップS217)が終了するまでの期間は、期間T6よりも期間ΔTだけ長い期間T8となる。
上述のとおり、パチンコ機1では、第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)の開放期間は、タイマ割込み処理の割込み間隔(本実施形態では4ミリ秒)にタイマ割込み処理の実行回数を乗算して算出される。このため、遊技機規則で規定された最大開放期間だけ第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)が開放するように設定されている場合、n回目のタイマ割込み処理(ステップS137)が開始してからソレノイドデータ設定処理(ステップS217)が終了するまでの期間と、n+i回目のタイマ割込み処理(ステップS137)が開始してからソレノイドデータ設定処理(ステップS217)が終了するまでの期間とが一致している必要がある。
しかしながら、図56(b)に示すように、タイマ割込み処理(ステップS137)において、性能表示モニタ集計除算処理(ステップS218b)がソレノイドデータ設定処理(ステップS217)よりも先に実行されるように設定されていると、性能表示モニタ集計除算処理(ステップS218b)の処理時間に応じて、n回目のタイマ割込み処理(ステップS137)が開始してからソレノイドデータ設定処理(ステップS217)が終了するまでの期間と、n+i回目のタイマ割込み処理(ステップS137)が開始してからソレノイドデータ設定処理(ステップS217)が終了するまでの期間とが一致しない状態が生じる可能性がある。図56(b)に示す例では、n+i回目のタイマ割込み処理(ステップS137)が開始してからソレノイドデータ設定処理(ステップS217)が終了するまでの期間T8は、n回目のタイマ割込み処理(ステップS137)が開始してからソレノイドデータ設定処理(ステップS217)が終了するまでの期間T6よりも期間ΔTだけ長くなる。すなわち、期間T8は、n回目のタイマ割込み処理(ステップS137)での性能表示モニタ集計除算処理(ステップS218b)の処理時間と、n+i回目のタイマ割込み処理(ステップS137)での性能表示モニタ集計除算処理(ステップS218b)の処理時間との差の分だけ、期間T6よりも長くなる。
これにより、図56(b)に示すように、第1可変入賞装置30(第2可変入賞装置31又は可変始動入賞装置28)の開放期間Toは、遊技機規則で規定された最大開放期間Trよりも期間ΔTだけ長くなる。その結果、パチンコ機は、遊技機規則の規定を満たさない状態で動作してしまう。
性能表示モニタ集計除算処理(ステップS218b)の処理時間が不定である。このため、タイマ割込み処理(ステップS137)において、性能表示モニタ集計除算処理(ステップS218b)がソレノイドデータ設定処理(ステップS217)よりも先に実行されると、タイマ割込み処理(ステップS137)が開始されてからソレノイドデータ設定処理(ステップS217)が終了するまでの期間は、性能表示モニタ集計除算処理(ステップS218b)の処理時間に影響されて不定となる。その結果、パチンコ機は、遊技機規則の規定を満たさない状態で動作する可能性がある。
これに対し、本実施形態によるパチンコ機1は、タイマ割込み処理(ステップS137)において、ソレノイドデータ設定処理(ステップS217)が性能表示モニタ集計除算処理(ステップS218b)よりも先に実行されるようになっている。このため、パチンコ機1は、タイマ割込み処理(ステップS137)における性能表示モニタ集計除算処理(ステップS218b)の処理時間が変動しても、タイマ割込み処理(ステップS137)が開始されてからソレノイドデータ設定処理(ステップS217)が終了するまでの期間を一定にすることができる。その結果、パチンコ機1は、遊技機規則の規定を満たした状態で動作することができる。
以上説明したように、本実施形態によるパチンコ機1は、第1可変入賞装置30、第2可変入賞装置31又は可変始動入賞装置28の開放動作を制御するソレノイドデータ設定処理(ステップS217)並びにベース値を算出する性能表示モニタ集計除算処理(ステップS218b)及びベース値を表示するダイナミックポート出力処理(ステップS202)を含む第二処理を実行可能な主制御CPU72と、主制御CPU72によるダイナミックポート出力処理(ステップS202)に基づいてベース値を表示可能な性能表示モニタ200とを備えている。主制御CPU72は、タイマ割込み処理(ステップS137)においてソレノイドデータ設定処理(ステップS217)よりも後に性能表示モニタ集計除算処理(ステップS218b)を実行するようになっている。
このような構成を備えたパチンコ機1は、タイマ割込み処理(ステップS137)が開始されてからソレノイドデータ設定処理(ステップS217)が終了するまでの期間を一定又はタイマ割込み処理に影響しない程度のマージンを設けて各処理の処理時間のブレ幅を吸収することができるので、設計どおりに正確に動作することができる。さらに、パチンコ機1は、遊技機規則を満たさない動作を防止することができる。
また、パチンコ機1は、第1可変入賞装置30、第2可変入賞装置31及び可変始動入賞装置28のそれぞれの開放期間を遊技機規則のそれぞれの開放時間に一致させることができる。このため、パチンコ機1は、第1可変入賞装置30、第2可変入賞装置31及び可変始動入賞装置28に遊技球が入賞する期間を可能な限り長くして、遊技者の利益を向上させることができる。その結果、パチンコ機1は、遊技機規則を満たしつつ、遊技者の遊技に対する興趣の向上を図ることができる。
設計した開放時間を過ぎても第1可変入賞装置、第2可変入賞装置及び可変始動入賞装置の開放が継続すると、遊技球の入賞数が設計値に対して変化し、想定している出玉率とずれが生じてしまう。しかしながら、本実施形態によるパチンコ機1は、第1可変入賞装置30、第2可変入賞装置31及び可変始動入賞装置28のそれぞれが、設計した開放時間を過ぎても開放を継続することを防止できる。これにより、パチンコ機1は、第1可変入賞装置30などの開放時間が設計値より長くなることによる遊技球の入賞数の変化を防止し、想定からの出玉率のずれを防止できる。
また、本実施形態によるパチンコ機1は、上記効果に加えて、以下のような効果を有する。
(1)本実施形態によれば、電源復帰後に、使用領域のダイナミック点灯用バッファに格納されているデータ(バックアップされている特別図柄等に関するデータ)を消去する消去処理を実行するため、使用領域のダイナミック点灯用バッファにはデータが残っていない状態となり、性能表示モニタ200に特別図柄等に関する情報が表示されてしまう状況を回避することができる。
(2)本実施形態によれば、LED表示設定処理(生成格納処理)や、設定の値に関するデータをダイナミック点灯用バッファ(兼用の記憶手段)に格納する処理(生成格納処理)を、1回前のタイマ割込み処理で終了させておくことができるので、タイマ割込み処理の中でも最初の方でダイナミックポート出力処理(表示処理)を実行することができ、タイマ割込み処理の最後の方でダイナミックポート出力処理を実行する場合と比較して、設定の値に関する情報(第1情報)や特別図柄等に関する情報(第2情報)の表示態様を安定させることができる。
(3)本実施形態によれば、設定参照中に移行する場合(設定参照処理が実行される場合)、消去処理を実行するため、設定参照中に設定値とは関係のない情報が性能表示モニタ200に表示されてしまうことを回避することができる。
(4)ダイナミックポート出力処理(ダイナミック点灯処理)については、処理を等間隔(タイマ割込みの先頭)で実行するため、タイマ割込みで用意した表示データを次回のタイマ割込みで出力する構成としている。このため、電断が発生すると電源復帰後(復電後)の最初の表示では電断直前のタイマ割込みで用意した表示データが出力される。そして、このような構成では、設定参照中(設定確認)において、最初の表示が設定値ではなく電断直前の表示データ(特別図柄等に関するデータ)が出力されるため、意図しない情報が表示されてしまう。そこで、本実施形態では、電源復帰時(設定参照時)に、使用領域のダイナミック点灯用バッファ(ダイナミック点灯に係るRAM)をクリアする。これにより、設定を搭載した遊技機において、設定参照時に意図しない情報が表示されることを回避することができる。
本発明は上述した一実施形態に制約されることなく、種々に変形して実施することができる。一実施形態で挙げた演出の態様は例示であり、上述した演出の態様に限定されるものではない。
上述した実施形態では、いわゆるループタイプ(確変回数に実質的な上限を設定しないタイプ)の遊技機に本発明を適用する例で説明したが、STタイプ(確変回数に実質的な上限を設定するタイプ)の遊技機に本発明を適用してもよい。
上述した実施形態では、確変領域を有しない遊技機に本発明を適用する例で説明したが、確変領域を有する遊技機に本発明を適用してもよい。
上述した実施形態では、第1処理はタイマ割込み処理とし、第2処理はシリアル通信受信割込み処理とする例で説明したが、第1処理は割込み処理でなくてもよい。例えば、第1処理がメインループ処理であり、第2処理がタイマ割込み処理やシリアル通信受信割込み処理であってもよい。
上述した実施形態では、割込み非許可処理を実行する場合、割込み非許可処理を実行する前に割込み禁止処理を実行する例で説明したが、既に割込みが禁止されている状態である場合には、割込み禁止処理を実行しないで割込み非許可処理を実行してもよい。
例えば、割込み許可処理(ステップS201a)及び割込み禁止処理(ステップS163)の処理を実行しないようにしてもよい。
上述した実施形態では、使用領域に配置する特別情報(特別プログラムコード・特別プログラムデータ)として、ベースを算出する処理のうち、遊技状態に基づいてベースを算出するか否かを判定する判定処理、及び、賞球数の値を確認する確認処理のうち少なくとも一方の処理に関する情報を含ませる例で説明したが、特別情報には、ベースを算出する処理のうち、判定処理及び確認処理以外の処理を含ませてもよく、特別情報には、判定処理に関する情報だけ、又は、確認処理に関する情報だけを含ませてもよい。
上述した実施形態では、「第1特別図柄及び第2特別図柄の同時回し」を採用していない遊技機に本発明を適用する例で説明したが、同時回しを採用している遊技機に対しても本発明を適用することができる。この場合、小当りラッシュの遊技性(第2特別図柄抽選において頻繁に小当り当選が発生する遊技性)を追加することもできる。
同時回しを採用する場合は、例えば、以下の構成の少なくとも1つを備える遊技機とすることができる。
(1)第1特別図柄が変動している期間中に、第2特別図柄も変動することが可能である。
(2)遊技状態に応じて、第1特別図柄又は第2特別図柄の平均変動時間を長い時間又は短い時間に設定可能である。
(3)潜伏確変状態(高確率非時間短縮状態)において、第2特別図柄の平均変動時間を他の遊技状態時(例えば通常状態、低確率非時間短縮状態等)よりも短い時間に設定可能であり、かつ、第2特別図柄抽選での小当り当選確率を高く設定(大当りでない場合は略100%もしくはそれに近い確率で小当りに当選)し、小当り遊技中の大入賞口への入賞により、潜伏確変状態時は大当り遊技が実行されなくても出球が増加するように設定可能である。
(4)潜伏確変状態では、右打ち状態にて遊技を進行する。
上述した実施形態では、性能表示モニタ及び設定変更装置を備える遊技機の例で説明したが、この場合、以下の構成の少なくとも1つを備える遊技機とすることができる。
(1)設定を設ける場合に、性能表示モニタで設定値を表示することができる。
(2)特別図柄抽選の当選確率(例えば、大当り抽選の当選確率)を複数種類記憶し、所定の操作部材等の操作によっていずれかの確率を設定可能にする。
(3)いずれの確率が設定してあるか(いずれの設定であるか)を、性能表示モニタ200に表示することができる。この場合、例えば、ベース値を表示した後に設定値の表示に周期的に切り替わるようにしたり、設定値に応じて点灯する箇所(設定値に応じたLEDの点灯箇所)を設けたり、設定値を識別する情報を表示したりすることができる。
アウトスイッチ99(アウトセンサ)に関しては、以下の変形が可能である。
(1)アウトスイッチ99は、遊技盤ユニット8の合流通路(総排出通路)に1つ配置する例で説明したが、遊技盤ユニット8ではなく本体枠側の総排出通路に配置してもよい。このようにすれば、本体枠は、遊技盤ユニット8を入れ替えても、そのまま使用することがあるため(再利用することがあるため)、遊技盤ユニット8にアウトスイッチ99を搭載するよりもコスト削減に繋げることができる。
(2)遊技盤ユニット8側で、各入賞口、各アウト口の内部もしくはその付近にそれぞれアウトスイッチを設け、各アウトスイッチで検出した値を合算することで、アウト球数を算出してもよい。
(3)遊技盤ユニット8上で、発射レールの出口付近や右打ち領域への入口付近にアウトセンサを設け、入賞やアウトになる前の遊技領域に打ち込まれた遊技球を検出してアウト球数を求めてもよい。また、アウトスイッチ99は、1つではなく複数設けてもよく、遊技盤ユニット8上(遊技領域上)にゲートのように設けてもよい。
上述した実施形態では、大当り遊技の実行中であるか否か、時間短縮状態であるか否か、発射位置指定ステータスの値が「1」であるか否か(右打ち指示中であるか否か)といった3つの項目によって、ベースを算出するか否かを決定する例で説明したが、発射位置指定ステータスの値が「1」であるか否か(右打ち指示中であるか否か)といった1つの項目だけによって、ベースを算出するか否かを決定してもよい。
また、遊技仕様によっては上記の3つの項目のうちのいずれか2つの項目又はいずれか1つの項目だけを判断する等その組み合わせは自由に設定することができる。例えば、時間短縮状態や右打ち状態が無い遊技仕様の場合は「大当り遊技の実行中であるか否か」の1つの項目だけの判定をすることも可能であるし、時間短縮状態や右打ち状態を備えていても「大当り遊技の実行中であるか否か」の1つの項目だけでベースを算出するか否かを判定することも可能である。
上述した実施形態では、性能表示モニタ200に表示するベースとして、通常賞球数を通常アウト数で除算した値を表示する例で説明したが、例えば、大当り遊技中に獲得した賞球数を大当り遊技中のアウト数で除算した値を表示してもよい。
上述した実施形態では、ベースを算出する演算方法として、通常アウト数の2倍の値(商)を求めてから、商を右に1ビットシフトすることでベースを算出するようにしたが、他の方法でベースを算出してもよい。
上述した実施形態では、最終的なベースを求める際に、商の最下位のビットが「1B」である場合、商を右に1ビットシフトした後に、「1」を加算してベースを算出したが、商の最下位のビットが「1B」である場合、商に「1」を加算した後に右に1ビットシフトすることでベースを算出してもよい。
主制御装置70は、電源投入時に、性能表示モニタ200に対して電源投入時動作を行わせてもよい。
電源投入時動作は、電源投入してからベースの表示を開始するまでにおいて、動作確認のために、性能表示モニタ200の4つの7セグメントLED201〜204(ドットセグメントを含めてもよい)を所定パターン(全点滅、全点灯、順次点灯等)で所定時間にわたり点灯させる動作である。
また、このような所定パターンでの点灯は、ベースを表示する前であれば、設定値を表示する前に行ってもよいし、設定値を表示した後に行ってもよい。
そして、設定値を表示する前に所定パターンでの点灯を行う場合は、所定パターンでの点灯が終了するまで設定値を表示できないが、設定値を表示した後に所定パターンでの点灯を行う場合は、早期に設定値を確認することができるというメリットがある。
性能表示モニタ200は、ベースを表示する場合、現在の区間のベースと、前回の区間のベースとを切り替えて表示する例で説明したが、表示パターンはこれに限定されるものではなく、現在の区間のベース、前回の区間のベース、前々回の区間のベースといったように、2区間よりも多い数の区間のベースを記憶しておき、それを切り替えて表示してもよい。
その他の演出例であげた画像はあくまで一例であり、これらは適宜に変形することができる。また、パチンコ機1の構造や盤面構成、具体的な数値等は図示のものも含めて好ましい例示であり、これらを適宜に変形可能であることはいうまでもない。
上述した実施形態は、以下の変形が可能である。
(1)設定キーをオフにした瞬間に、設定変更・設定確認を終了するようにしてもよい。
(2)内枠の状態に関係なく、設定変更・設定確認を終了する場合、内枠閉鎖タイマを廃止して、内枠閉鎖タイマに関する処理を実行しないようにしてもよい。つまり、内枠の状態に関わらず、設定キーがオフとなった場合、ただちに設定変更・設定確認を終了し、性能表示モニタに表示されていた設定で遊技を開始してもよい。
(3)遊技状態フラグ(設定変更中フラグ)の「設定変更中・確定後」を廃止してもよい。この場合、設定変更中フラグに関しては、「02H」を「設定確認中(設定参照中)」とし、「03H」は設定関連処理では使用しないようにすることができる。
(4)設定確定指定コマンドは、廃止してもよい。
(5)設定変更終了時に電源断時の退避処理に移行(ジャンプ)するのではなく、そのまま遊技を開始してもよい。
1 パチンコ機
8 遊技盤ユニット
8a 遊技領域
20 始動ゲート
28 可変始動入賞装置
33 普通図柄表示装置
33a 普通図柄作動記憶ランプ
34 第1特別図柄表示装置
35 第2特別図柄表示装置
34a 第1特別図柄作動記憶ランプ
35a 第2特別図柄作動記憶ランプ
38 遊技状態表示装置
42 液晶表示器
45 演出切替ボタン
70 主制御装置
72 主制御CPU
74 ROM
76 RAM
124 演出制御装置
126 演出制御CPU

Claims (1)

  1. 遊技に関する所定動作の実行を制御する第一処理並びに遊技球の個数情報を算出する算出処理及び算出した個数情報を表示する表示処理を含む第二処理を実行可能な実行手段と、
    前記実行手段による前記表示処理に基づいて前記個数情報を表示可能な表示手段と
    を備え、
    前記実行手段は、一定の割込み契機で実行される割込み処理において前記第一処理よりも後に前記算出処理を実行すること
    を特徴とする遊技機。
JP2018128403A 2018-07-05 2018-07-05 遊技機 Pending JP2020005798A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2018128403A JP2020005798A (ja) 2018-07-05 2018-07-05 遊技機
JP2022170170A JP7357134B2 (ja) 2018-07-05 2022-10-24 遊技機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2018128403A JP2020005798A (ja) 2018-07-05 2018-07-05 遊技機

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022170170A Division JP7357134B2 (ja) 2018-07-05 2022-10-24 遊技機

Publications (1)

Publication Number Publication Date
JP2020005798A true JP2020005798A (ja) 2020-01-16

Family

ID=69149424

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2018128403A Pending JP2020005798A (ja) 2018-07-05 2018-07-05 遊技機
JP2022170170A Active JP7357134B2 (ja) 2018-07-05 2022-10-24 遊技機

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2022170170A Active JP7357134B2 (ja) 2018-07-05 2022-10-24 遊技機

Country Status (1)

Country Link
JP (2) JP2020005798A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020195906A (ja) * 2020-09-15 2020-12-10 株式会社藤商事 遊技機
JP2021079262A (ja) * 2021-03-04 2021-05-27 株式会社藤商事 遊技機

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018079191A (ja) * 2016-11-18 2018-05-24 株式会社大一商会 遊技機
JP2019076421A (ja) * 2017-10-25 2019-05-23 株式会社ソフイア 遊技機

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5931578B2 (ja) 2012-05-14 2016-06-08 株式会社三共 情報表示装置
JP2018047306A (ja) * 2017-11-30 2018-03-29 株式会社ソフイア 遊技機
JP2019201745A (ja) 2018-05-21 2019-11-28 株式会社藤商事 遊技機

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018079191A (ja) * 2016-11-18 2018-05-24 株式会社大一商会 遊技機
JP2019076421A (ja) * 2017-10-25 2019-05-23 株式会社ソフイア 遊技機

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020195906A (ja) * 2020-09-15 2020-12-10 株式会社藤商事 遊技機
JP7241725B2 (ja) 2020-09-15 2023-03-17 株式会社藤商事 遊技機
JP2021079262A (ja) * 2021-03-04 2021-05-27 株式会社藤商事 遊技機

Also Published As

Publication number Publication date
JP7357134B2 (ja) 2023-10-05
JP2022183385A (ja) 2022-12-08

Similar Documents

Publication Publication Date Title
JP6739420B2 (ja) 遊技機
JP6994360B2 (ja) 遊技機
JP7357134B2 (ja) 遊技機
JP6773710B2 (ja) 遊技機
JP2020000520A (ja) 遊技機
JP7132773B2 (ja) 遊技機
JP2019126478A (ja) 遊技機
JP7026738B2 (ja) 遊技機
JP6824144B2 (ja) 遊技機
JP7459022B2 (ja) 遊技機
JP6736538B2 (ja) 遊技機
JP2019103542A (ja) 遊技機
JP2019126473A (ja) 遊技機
JP6748458B2 (ja) 遊技機
JP2019098120A (ja) 遊技機
JP7021302B2 (ja) 遊技機
JP2019129968A (ja) 遊技機
JP6847019B2 (ja) 遊技機
JP6817978B2 (ja) 遊技機
JP6781142B2 (ja) 遊技機
JP7057803B2 (ja) 遊技機
JP7057802B2 (ja) 遊技機
JP7047022B2 (ja) 遊技機
JP7376538B2 (ja) 遊技機
JP2019166284A (ja) 遊技機

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210428

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220224

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20220427

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220816