図1は、本実施形態に係る回胴式遊技機の斜視図である。
図2は、本実施形態に係る回胴式遊技機の扉を開いた状態の斜視図である。
図3は、本実施形態に係る回胴式遊技機における、メダル投入口内部の斜視図である。
図4は、本実施形態に係る回胴式遊技機における、メダル払出装置の正面図及び上面図である。
図5は、本実施形態に係る回胴式遊技機における、主制御チップのメモリマップ構成図である。
図6は、本実施形態に係る回胴式遊技機における、スタックエリアの最大使用量に係る表である。
図7は、本実施形態に係る回胴式遊技機における、第1作業領域に格納されているデータの順序に係る表である。
図8は、本実施形態に係る回胴式遊技機における、第2作業領域に格納されているデータの順序に係る表である。
図9は、本実施形態に係る回胴式遊技機における、メダル払出装置の動作に係る作用図である。
図10は、本実施形態に係る回胴式遊技機における、指示表示に係る表である。
図11は、本実施形態に係る回胴式遊技機における、主制御基板側での電源投入時の処理に係る主要動作フローチャートである。
図12は、本実施形態に係る回胴式遊技機における、主制御基板側での遊技進行メイン処理に係る主要動作フローチャートである。
図13は、本実施形態に係る回胴式遊技機における、主制御基板側でのインターバル割込み処理に係る主要動作フローチャートである。
図14は、本実施形態に係る回胴式遊技機における、主制御基板側での設定変更装置処理に係る主要動作フローチャートである。
図15は、本実施形態に係る回胴式遊技機における、エラーの種類に係る表である。
図16は、本実施形態に係る回胴式遊技機における、エラーの検出時の処理に係る作用図である。
図17は、本実施形態に係る回胴式遊技機における、主制御基板側でのプログラム開始処理のフローチャートである。
図18は、本実施形態に係る回胴式遊技機における、主制御基板側での設定変更装置処理のフローチャートである。
図19は、本実施形態に係る回胴式遊技機における、主制御基板側でのRWM初期化処理3のフローチャートである。
図20は、本実施形態に係る回胴式遊技機における、主制御基板側での復帰不可能エラー処理のフローチャートである。
図21は、本実施形態に係る回胴式遊技機における、主制御基板側での電源断復帰処理のフローチャートである。
図22は、本実施形態に係る回胴式遊技機における、主制御基板側でのRWM初期化処理のフローチャートである。
図23は、本実施形態に係る回胴式遊技機における、主制御基板側でのRWM初期化処理2のフローチャートである。
図24は、本実施形態に係る回胴式遊技機における、主制御基板側でのシリアル通信設定処理のフローチャートである。
図25は、本実施形態に係る回胴式遊技機における、主制御基板側での遊技進行メイン処理のフローチャートである。
図26は、本実施形態に係る回胴式遊技機における、主制御基板側での遊技メダル受付開始処理のフローチャートである。
図27は、本実施形態に係る回胴式遊技機における、主制御基板側での遊技メダル1枚加算処理のフローチャートである。
図28は、本実施形態に係る回胴式遊技機における、主制御基板側での投入枚数表示データ生成処理のフローチャートである。
図29は、本実施形態に係る回胴式遊技機における、主制御基板側での遊技メダル投入待ち時の表示処理のフローチャートである。
図30は、本実施形態に係る回胴式遊技機における、主制御基板側での遊技メダル管理処理のフローチャートである。
図31は、本実施形態に係る回胴式遊技機における、主制御基板側での第1遊技メダル投入チェック処理のフローチャートである。
図32は、本実施形態に係る回胴式遊技機における、主制御基板側でのエラー表示処理のフローチャートである。
図33は、本実施形態に係る回胴式遊技機における、主制御基板側での貯留投入処理のフローチャートである。
図34は、本実施形態に係る回胴式遊技機における、主制御基板側での遊技メダル精算処理のフローチャートである。
図35は、本実施形態に係る回胴式遊技機における、主制御基板側での遊技メダル1枚払出処理のフローチャートである。
図36は、本実施形態に係る回胴式遊技機における、主制御基板側でのスタートレバーチェック処理のフローチャートである。
図37は、本実施形態に係る回胴式遊技機における、主制御基板側での投入・払出センサ異常表示処理のフローチャートである。
図38は、本実施形態に係る回胴式遊技機における、主制御基板側での投入・払出センサ異常セット処理のフローチャートである。
図39は、本実施形態に係る回胴式遊技機における、主制御基板側での投入・払出センサ異常クリア処理のフローチャートである。
図40は、本実施形態に係る回胴式遊技機における、主制御基板側でのオーバーフロー表示処理のフローチャートである。
図41は、本実施形態に係る回胴式遊技機における、主制御基板側でのスタートレバー受付処理のフローチャートである。
図42は、本実施形態に係る回胴式遊技機における、主制御基板側での内部抽選開始処理のフローチャートである。
図43は、本実施形態に係る回胴式遊技機における、主制御基板側での図柄停止信号出力処理のフローチャートである。
図44は、本実施形態に係る回胴式遊技機における、主制御基板側での図柄停止信号セット処理のフローチャートである。
図45は、本実施形態に係る回胴式遊技機における、主制御基板側での条件装置コマンドセット処理のフローチャートである。
図46は、本実施形態に係る回胴式遊技機における、主制御基板側での回胴回転開始待機処理のフローチャートである。
図47は、本実施形態に係る回胴式遊技機における、主制御基板側での回胴回転開始準備処理のフローチャートである。
図48は、本実施形態に係る回胴式遊技機における、主制御基板側での回胴停止受付チェック処理のフローチャートである。
図49は、本実施形態に係る回胴式遊技機における、主制御基板側での停止ボタン受付処理のフローチャートである。
図50は、本実施形態に係る回胴式遊技機における、主制御基板側での全回胴停止チェック処理のフローチャートである。
図51は、本実施形態に係る回胴式遊技機における、主制御基板側での表示判定処理のフローチャートである。
図52は、本実施形態に係る回胴式遊技機における、主制御基板側での入賞による遊技メダル払出処理のフローチャートである。
図53は、本実施形態に係る回胴式遊技機における、主制御基板側での割込み処理のフローチャートである。
図54は、本実施形態に係る回胴式遊技機における、主制御基板側での電源断処理のフローチャートである。
図55は、本実施形態に係る回胴式遊技機における、主制御基板側でのLED表示処理のフローチャートである。
図56は、本実施形態に係る回胴式遊技機における、主制御基板側でのサブ報知データ出力処理のフローチャートである。
図57は、本実施形態に係る回胴式遊技機における、主制御基板側でのエラー管理処理のフローチャートである。
図58は、本実施形態に係る回胴式遊技機における、主制御基板側でのエラーチェック処理のフローチャートである。
図59は、本実施形態に係る回胴式遊技機における、主制御基板側での設定値エラーチェック処理のフローチャートである。
図60は、本実施形態に係る回胴式遊技機における、主制御基板側での復帰不可能エラー処理2のフローチャートである。
図61は、本実施形態に係る回胴式遊技機における、主制御基板側での内蔵乱数チェック処理のフローチャートである。
図62は、本実施形態に係る回胴式遊技機における、主制御基板側でのタイマ計測処理2のフローチャートである。
図63は、本実施形態に係る回胴式遊技機における、主制御基板側での第2遊技メダル投入チェック処理1のフローチャートである。
図64は、本実施形態に係る回胴式遊技機における、主制御基板側での第2遊技メダル投入チェック処理2のフローチャートである。
図65は、本実施形態に係る回胴式遊技機における、主制御基板側での遊技メダル通過状態更新処理のフローチャートである。
図66は、本実施形態に係る回胴式遊技機における、主制御基板側での投入・払出センサ異常チェック処理のフローチャートである。
図67は、本実施形態に係る回胴式遊技機における、主制御基板側でのエラー表示要求データクリア処理のフローチャートである。
図68は、本実施形態に係る回胴式遊技機における、主制御基板側での外部信号出力処理のフローチャートである。
図69は、本実施形態に係る回胴式遊技機における、主制御基板側での試験信号出力処理のフローチャートである。
図70は、本実施形態に係る回胴式遊技機における、主制御基板側でのスタックエリアに係るイメージ図である。
はじめに、本明細書における各用語の意義について説明する。「乱数」とは、回胴式遊技機において何らかの遊技内容を決定するための抽選(電子計算機によるくじ)に使用される乱数であり、狭義の乱数の他に擬似乱数も含む(例えば、乱数としてはハード乱数、擬似乱数としてはソフト乱数)。例えば、遊技の結果に影響を与えるいわゆる「基本乱数」、具体的には、特別遊技の移行や入賞役と関連した「当選乱数」、等を挙げることができる。「CPU」とは、当業界において周知であるものと同義であり、使用されているアーキテクチャ(CISC、RISC、ビット数等)や処理性能等には何ら限定されない。「電断(電源断)」とは、遊技機に設けられた電源スイッチの操作実行有無に係らず、遊技機に供給される電源電圧が一定レベル以下となったことを指し、例えば、電源供給ユニットの破損や停電等による不測の事態による電源供給の遮断をも包含する。「ROM」とは、当業界において周知であるものと同義であり、情報を物理的に保持する(例えば、データ読み出し用の電流を与えた場合、導通する素子構成であれば「1」、導通しない素子構成であれば「0」となる)。RWMとは、当業界において周知であるものと同義であり、情報を電気的に保持する(例えば、データ読み出し用の電流を与えた場合、蓄電されていれば「1」、蓄電されていなければ「0」となる。尚、RWM内で保持されているデータの一部又はすべてに対して、電断時にはバックアップ電源が供給されるよう構成されていることが一般的である)。「遊技状態」とは、例えば、遊技メダルが獲得容易であり遊技者にとって有利な特別遊技状態(いわゆる大当り遊技であり、ボーナス遊技や第1種BB・第2種BB等と呼ばれるものが該当する)、再遊技の当選率があらかじめ定められた値である通常遊技状態よりも再遊技当選率が高い(又は低い)状態である再遊技確率変動遊技状態(RT状態)、当選した役を入賞させるためのリールの停止順を報知し得るAT(アシストタイム)状態、前記RT状態とAT状態とが複合したART(アシストリプレイタイム)状態、等が挙げられる。また、前記通常遊技状態においても、前記RT状態、AT状態、ART状態への移行抽選確率が異なる、高確率通常遊技状態、低確率通常遊技状態、等が挙げられる。また、前記遊技状態は複合しても問題ない{更に、これらの遊技状態や機能(例えば、AT状態への移行抽選や、リールの停止順に係る報知指示の出力等)は、遊技進行を制御する主制御基板側ですべて実装してしまっても問題ない}。
以下の実施形態は、回胴式遊技機(いわゆるスロットマシン)を前提としたものとなっているが、これには何ら限定されず、他の遊技機(例えば、ぱちんこ遊技機、雀球、アレンジボール等)に応用された場合も範囲内であり、即ち、遊技進行を制御するマイコンチップ(CPU、ROM、RWMを搭載したチップ)を備え、当該マイコンチップにてプログラムを動作させるものに対して応用したり、エラーを検出可能な遊技機に対して応用することができる技術である。尚、本実施形態は、あくまで一例であり、各手段が存在する場所や機能等、各種処理に関しての各ステップの順序、フラグのオン・オフのタイミング、各ステップの処理を担う手段名等に関し、以下の態様に限定されるものではない。
(本実施形態)
ここで、各構成要素について説明する前に、本実施形態に係る回胴式遊技機Pの特徴(概略)を説明する。以下、図面を参照しながら、各要素について詳述する。
まず、図1(一部の構成については図2)を参照しながら、本実施形態に係る回胴式遊技機の前面側の基本構造を説明する。まず、回胴式遊技機Pは、主に前扉(フロントドアとも称す)と、裏箱(キャビネット、基体とも称す)と裏箱内に設置されたリールユニット、ホッパ装置、電源ユニット、主制御基板M(主制御チップが搭載されている基板)で構成される。以下、これらを順に説明する。
次に、回胴式遊技機Pの前扉DUは、装飾ランプユニットD150、メダル受け皿D230、を含む。まず、装飾ランプユニットD150は、回胴式遊技機Pの遊技の進行に応じて発光する発光源を有したものである。また、前扉DUの開閉状態を検出可能なドアスイッチD80が設けられている。また、前扉DUには鍵穴D260が設けられており、鍵穴D260の形状と整合するキー(ドアキー)を鍵穴D260に差し込む{加えて、所定の方向(例えば、時計回り)に捻る}ことで、前扉DUを開放し得るよう構成されている。尚、ドアキーを鍵穴D260に差し込む{加えて、所定の方向(例えば、反時計回り)に捻る}ことで、エラー状態を解除し得るよう構成してもよい。次に、メダル受け皿D230は、放出口D240から放出された遊技メダル(メダル又は遊技媒体と呼ぶことがある)の受け皿である。
次に、前扉DUは、遊技状態を視認可能にするための機構、遊技媒体の入力を可能にするための機構、リールユニットを操作するための機構、等を含む。具体的には、遊技状態を視認可能にするための機構として、リール窓D160、投入数表示灯D210、操作状態表示灯D180、特別遊技状態表示装置D250、獲得枚数表示装置D190、クレジット数表示装置D200、等が取り付けられている。また、遊技媒体の投入や賭け数(ベット数)の入力を可能にするための機構として、メダル投入口D170、ベットボタンD220、投入された遊技媒体の払い出しを可能にするための機構として、精算ボタンD60が取り付けられている。そして、リールユニットを操作するための機構として、スタートレバーD50、停止ボタンD40が取り付けられている。以下、各要素について詳述する。
<遊技状態を視認可能にするための機構>
次に、リール窓D160は、前扉DUの一部を構成する合成樹脂等によって形成された透明な部材であり、リール窓D160を通して遊技機枠内に設置されたリールユニットを視認可能に構成されている。また、投入数表示灯D210は、LEDによって構成されており、現在ベット(一の遊技を開始するために必要な遊技メダルを投入すること)されているメダル数と同数のLEDが点灯するよう構成されている。また、操作状態表示灯D180は、LEDによって構成されており、現在の操作状態(メダル受付可否状態、再遊技入賞状態、遊技開始ウェイト状態等)に応じて点灯・消灯するよう構成されている。また、獲得枚数表示装置D190は、7セグメントディスプレイによって構成されており、直近で獲得した遊技メダル数が所定期間表示されるよう構成されている。尚、獲得枚数表示装置D190は、リール停止順(左停止ボタンD41、中停止ボタンD42、右停止ボタンD43の停止順)によって入賞する役が相違し得る条件装置{いわゆる押し順小役であるが、入賞する役が相違した場合には、遊技者に付される利益率(払出枚数、その後のRT状態等)が異なり得るよう構成されているものが一般的である}が成立したゲームにて、遊技者に最も有利となるリール停止順をも報知し得るよう構成されている(獲得枚数表示装置D190の報知態様については後述する)。また、特別遊技状態表示装置D250は、7セグメントディスプレイによって構成されており、特別遊技中に払い出された払出数の総数が表示されるよう構成されている。尚、特別遊技状態表示装置D250を設けない構成としてもよく、そのように構成した場合には、演出表示装置S40にて当該払出数の総数を表示するよう構成することで遊技者は特別遊技中に払い出された払出数の総数を認識することができユーザーフレンドリーな遊技機とすることができる(獲得枚数表示装置D190にて表示するよう構成してもよい)。また、クレジット数表示装置D200は、7セグメントディスプレイによって構成されており、遊技者の持ちメダルとして遊技機内に貯留されているメダル数の総数(クレジット数、クレジットとも称する)が表示されるよう構成されている。
<遊技媒体の入力を可能にするための機構>
次に、メダル投入口D170は、遊技メダルの投入口であり、メダル受付可能状態である状況下において当該投入口に投入された遊技メダルは遊技機枠内部へと誘導される。また、遊技機枠内部にはメダルの投入を検出するセンサとして、投入受付センサD10sと、第1投入センサD20sと、第2投入センサD30sと、が設けられており、当該遊技機枠内部へと誘導された遊技メダルが正常に投入されたと判断した場合に、当該投入されたメダルをベットされたメダルとして検出し得るよう構成されている(遊技メダル投入時の処理については後述する)。また、ベットボタンD220は、遊技者によって操作可能に構成されており、当該操作によって、貯留されているメダル(クレジットのメダル)をベットすることができるよう構成されている。尚、本例では、ベットボタンD220の1回の操作によって3枚の遊技メダルをベットし得るよう構成されているが、ベットボタンの構成はこれには限定されず、ベットボタンを複数設けて、1回の操作によってベット可能な遊技メダルの枚数を相違させる(例えば、第1ベットボタンは1回の操作で3枚の遊技メダルがベット可能であり、第2ベットボタンは1回の操作で1枚の遊技メダルがベット可能である)よう構成してもよい。また、精算ボタンD60は、遊技者によって操作可能に構成されており、当該操作によって、貯留されているメダル(クレジットのメダル)及び/又はベットされているメダルを遊技者に払い戻すことが可能となっている。尚、精算ボタンD60の操作によって払い戻された遊技メダルは、放出口D240に払い出されるよう構成されている。
<リールユニットを操作するための機構>
次に、スタートレバーD50は、遊技者によって操作可能に構成されており、当該操作によってリールユニットの動作(回胴の回転)を開始可能に構成されている。また、停止ボタンD40は、遊技者によって操作可能な左停止ボタンD41、中停止ボタンD42、右停止ボタンD43を備えており、夫々の停止ボタンを操作することによってリールユニットの動作を順次停止可能に構成されている。尚、本例においては、「回胴」と「リール」とは同義であり、例えば、「回胴停止フラグ」と「リール停止フラグ」とは同一のフラグとなっている。
次に、回胴式遊技機Pのリールユニットは、リールM50とリールM50の駆動源(ステッピングモータ等)とを備えている。また、リールM50は、左リールM51、中リールM52、右リールM53を備えている。ここで、夫々のリール部は合成樹脂等により形成され、当該リール部の外周上(リール帯上)には複数の図柄が描かれている。そして、スタートレバーD50及び停止ボタンD40における各停止ボタンの操作に基づき、夫々のリール部の回転動作及び停止動作を可能とするよう構成されている。また、図示しないが、左リールM51、中リールM52及び右リールM53の内部にはLED(以下、リールバックライトと呼ぶことがある)が設けられており、当該LEDが点灯した際にはリール部外周を透過した光によって、リール部外周が点灯したように視認できるよう構成されている。
<その他の機構>
また、回胴式遊技機Pの遊技機枠の内外には、遊技の興趣性を高めるための機構として、予告演出や背景演出等の演出を表示するための演出表示装置S40、様々な点灯態様にて点灯し得るLEDランプS10、サウンドを出力し得るスピーカS20、合成樹脂等によって形成された部材である、上パネルD130及び下パネルD140、等が設けられている。
次に、図2は、前扉DUを開いて回胴式遊技機Pの内部の構成を示した斜視図である。前扉DUの裏面側上部には、演出表示装置S40が取り付けられている。前扉DUのほぼ中央にはリール窓D160が設けられており、その下方には、後述する扉基板Dが設けられている。また、扉基板Dには、前述した停止ボタンD40や、スタートレバーD50、精算ボタンD60等の入力信号が入力される。また、扉基板Dの下方には、スピーカS20が設けられている。
また、詳細は後述するが、扉基板Dの付近には、メダル投入口D170から投入された遊技メダルの通路となる投入受付センサD10sが設けられており、当該投入受付センサD10sの下方には、遊技メダルを放出口D240に導くためのコインシュータD90などが設けられている。投入受付センサD10sは、メダル投入口D170から投入された遊技メダルを主に寸法に基づいて選別し、規格寸法に適合した遊技メダルだけを受け入れる機能を有しており、当該機能により適合しないと判断されたメダル(又は、その他の異物)は、ブロッカD100により放出口D240に払い戻されるよう構成されている。遊技者がスタートレバーD50を操作する前に(遊技メダルの投入が有効である状態にて)遊技メダルを投入すると、遊技メダルは投入受付センサD10sによって選別され、規格を満足しているものだけがホッパH40内に投入され、規格を満たしていないメダルは、コインシュータD90を通って、放出口D240に返却されるようになっている。これに対して、スタートレバーD50が操作された後に(遊技メダルの投入が有効でない状態にて)遊技メダルが投入された場合は、投入された遊技メダルはコインシュータD90を通って、放出口D240に返却される。また、投入受付センサD10sの内部(流路の奥)には、詳細後述するメダル投入に係るセンサが設けられており、寸法規格を満たして受け入れられた遊技メダルが通過すると、第1投入センサD20s及び第2投入センサD30sによって検出されて、その信号が後述する主制御基板Mに供給されるようになっている。
リールM50の上方には、遊技全体の制御を司る後述する主制御基板Mが格納されており、リールM50の背後には、各リール(左リールM51、中リールM52、右リールM53)を駆動するための後述する回胴基板Kが格納されている。また、リールM50の左方には、図1に示した演出表示装置S40や、LEDランプS10、スピーカS20等を用いて行われる各種演出の制御を司る後述する副制御基板Sが格納されている。また、主制御基板Mには、後述する設定変更装置制御処理を実行するため(設定変更を行うため)に使用する設定キースイッチM20、設定値の変更やエラー解除等を実行し得る設定/リセットボタンM30、設定キースイッチM20や設定/リセットボタンM30等を保護するための設定扉(不図示)の開閉を判定する設定ドアスイッチM10が接続されている。尚、設定キースイッチM20、設定/リセットボタンM30、設定ドアスイッチM10については何れも不図示としているが、主制御基板Mの基板上等の適宜位置に設けられていればよい(即ち、前扉DUを開かなければ人為的なアクセスが困難な位置に設けられていればよい)。
リールM50の下方には、投入された遊技メダルが集められるホッパH40や、遊技メダルを払い出すメダル払出装置Hが設けられており、回胴式遊技機P全体に電源を供給するための電源基板Eが格納されている。メダル払出装置Hから払い出された遊技メダルは、コインシュータD90を通って、放出口D240から払い出されるようになっている。また、電源基板Eの前面には、回胴式遊技機Pの電源を投入するための電源スイッチE10も設けられている。
次に、図3は、回胴式遊技機内部における、メダル投入口D170に投入された遊技メダルの経路(セレクタ)を示した斜視図である。メダル投入口D170に投入された遊技メダルは、まず投入受付センサD10sを通過する。当該投入受付センサD10sは機械式のダブルセンサになっており、遊技メダルが通過することによって、2つの突起した機構が押下されることによりオンとなり遊技メダルが正常に通路を通過することができることとなる。また、このような構成により、遊技メダルではない異物(例えば、遊技メダルよりも径が小さいもの)が投入された場合には、前記2つの突起した機構が押下されない。このようなメダルは、起立した状態をメダルが維持できないため、通路を通過できず(メダルが倒れこむ)放出口D240に払い戻されることとなる。そのほかにも、投入受付センサD10sは、オンとなっている時間が所定時間以上連続した場合等にも、エラーであると判定し得る(その結果、ブロッカD100がオフとなり得る)よう構成されている。尚、ブロッカD100はオンの状態で遊技メダルが通過可能となり、オフの状態で遊技メダルが通過不可能となるよう構成されている。
遊技メダルがブロッカD100を正常に通過した(ブロッカD100がオンの場合に通過可能となっている)場合に、当該通過直後に第1投入センサD20s及び第2投入センサD30sを通過することとなる。この投入センサ(第1投入センサD20s及び第2投入センサD30s)は2つのセンサで構成されており(遊技メダルの規格上の直径よりも小さい間隔で隣接配置されており)、夫々のセンサのオン・オフ状況(第1投入センサD20s及び第2投入センサD30sのオン・オフの組み合わせの遷移していく順序、等)及びオン・オフとなっている時間を監視することにより様々なエラー(後述する、「CH」エラー、「CE」エラー等)を検出可能に構成されている。
次に、図4は、回胴式遊技機における、メダル払出装置Hの正面図及び斜視図である。メダル払出装置Hは、クレジット(遊技機内部に電子的に貯留されている遊技メダル)又はベットされているメダル(遊技を開始するために投入されたメダル)が存在する状態で、精算ボタンD60が操作された、又は、入賞により遊技メダルが払い出される場合に作動することとなる。作動する場合には、まず、ホッパモータH80が駆動することにより、ディスク回転軸H50aを中心にディスクH50が回転する。当該回転によりメダル払出装置H内の遊技メダルは放出付勢手段H70を変位させて遊技メダル出口H60から放出口D240に向かって流下していくこととなる。尚、払出センサ(第1払出センサH10s及び第2払出センサH20s)は2つのセンサで構成されており、夫々のセンサのオン・オフ状況(第1払出センサH10s及び第2払出センサH20sのオン・オフの組み合わせの遷移していく順序、等)及びオン・オフとなっている時間を監視することにより様々なエラー(後述する、HPエラー、等)を検出可能に構成されている。より具体的には、例えば、遊技メダル出口H60を正常に通過する際には、放出付勢手段H70の変位により、第1払出センサH10s=オフ・第2払出センサH20s=オフの状態から、第1払出センサH10s=オフ・第2払出センサH20s=オフ→第1払出センサH10s=オン・第2払出センサH20s=オフ→第1払出センサH10s=オン・第2払出センサH20s=オン→第1払出センサH10s=オン・第2払出センサH20s=オフ→第1払出センサH10s=オフ・第2払出センサH20s=オフ、というセンサ状態遷移となるため、このセンサ状態遷移と反する動きを検出した場合には、エラーとするよう構成することを例示することができる。尚、第1払出センサH10sがオフである状況を第1払出センサ信号がオフと称することがあり、その他のセンサについても同様に称することがある。
<メモリマップ>
次に、図5を用いて、本実施形態に係る回胴式遊技機における主制御チップのメモリマップの一例について説明する。当該メモリマップには、「0000H」から「FFFFH」までのアドレス空間が示されている。このうち、「0000H」から「2FFFH」までの空間には内蔵ROMが割り当てられ、「F000H」から「F3FFH」までの空間には内蔵RWMが割り当てられ、「FE00H」から「FEBFH」までの空間には主制御チップ内の各回路に内蔵されているレジスタ領域(内蔵レジスタエリア)が割り当てられている。CPUに、これらの番地に対してアクセスする命令を実行させることにより、対応するハードウェアに対するアクセスを実行させることができる。
尚、内蔵ROMは、主として遊技の進行を制御する領域(使用領域と称することがある)である第1ROM領域と、主としてエラー関連等の遊技の正常な進行とは異なる処理を制御する領域(未使用領域と称することがある)である第2ROM領域と、を有しており、「0000H」から「11FAH」までの空間に割り当てられている第1制御領域と、「1200H」から「22E4H」までの空間に割り当てられている第1データ領域とを総称して、第1ROM領域としており、「2000H」から「22E4H」までの空間に割り当てられている第2制御領域と、「22E5H」から「2346H」までの空間に割り当てられている第2データ領域とを総称して、第2ROM領域としている。尚、第1ROM領域は、第2ROM領域よりも容量が大きくなるよう構成されている(換言すれば、第1ROM領域内に存在しCPUからアクセスされるデータ容量は、第2ROM領域内に存在しCPUからアクセスされるデータ容量よりも大きくなるよう構成されている)。
また、第1ROM領域は、プログラムコード(CPUに対する命令コードセット)が格納されている第1制御領域と、プログラムが使用する(このプログラムコードに基づくCPUの処理によって読み出される)プログラムデータが格納されている第1データ領域と、を有している。尚、同図にて、第1ROM領域におけるメモリマップイメージを図示しておくが、各領域のバイト数や未使用領域の有無はあくまでも一例である。
また、第2ROM領域は、プログラムコード(CPUに対する命令コードセット)が格納されている第2制御領域と、プログラムが使用する(このプログラムコードに基づくCPUの処理によって読み出される)プログラムデータが格納されている第2データ領域と、を有しており、第2制御領域は、第1制御領域よりも容量が小さくなるよう構成されており(換言すれば、第2制御領域内に存在しCPUからアクセスされるプログラムコード容量は、第1制御領域内に存在しCPUからアクセスされるプログラムコード容量よりも小さくなり)、第2データ領域は、第1データ領域よりも容量が小さくなるよう構成されている(換言すれば、第2データ領域内に存在しCPUからアクセスされるプログラムデータ容量は、第1データ領域内に存在しCPUからアクセスされるプログラムデータ容量よりも小さくなる)。また、内蔵ROMは、主制御チップを動作させる際に用いられる各種設定が格納されている管理エリアを有している。尚、同図にて、第2ROM領域におけるメモリマップイメージを図示しておくが、各領域のバイト数や未使用領域の有無はあくまでも一例である。
尚、第1ROM領域には、第1制御領域(使用領域の制御領域と称することがある)と第1データ領域(使用領域のデータ領域と称することがある)とが含まれていればよく、第1制御領域の先頭アドレスから第1データ領域の最終アドレスまでを第1ROM領域と称してもよい。また、第2ROM領域には、第2制御領域(使用領域外の制御領域と称することがある)と第2データ領域(使用領域外のデータ領域と称することがある)とが含まれていればよく、第2制御領域の先頭アドレスから第2データ領域の最終アドレスまでを第2ROM領域と称してもよい。
次に、内蔵RWMは、主として遊技の進行に基づく情報を格納する領域(使用領域と称することがある)である第1RWM領域と、主としてエラー関連等の遊技の正常な進行とは異なる処理に基づく情報を格納する領域(使用領域外と称することがある)である第2RWM領域と、を有しており、「F000H」から「F149H」までの空間に割り当てられている第1作業領域と、「F1D8H」から「F1FFH」までの空間に割り当てられている第1スタックエリアとを総称して、第1RWM領域としており、「F210H」から「F21DH」までの空間に割り当てられている第2作業領域と、「F3F2H」から「F3FFH」までの空間に割り当てられている第2スタックエリアとを総称して、第2RWM領域としている。尚、第1RWM領域における「F1D8H」から「F1FFH」までの空間には、第1ROM・RWM領域に係るプログラムが内部的にデータを保存しておく必要がある場合使用される第1スタックエリアが割り当てられ、第2RWM領域における「F3F2H」から「F3FFH」までの空間には、第2ROM・RWM領域に係るプログラムが内部的にデータを保存しておく必要がある場合使用される第2スタックエリアが割り当てられている(但し、各領域のバイト数はあくまでも一例である)。尚、第1スタックエリアが第1RWM領域に含まれず、且つ、第2スタックエリアが第2RWM領域に含まれないよう構成してもよく、そのように構成した場合には、例えば、「F000H」から「F149H」までの空間には第1RWM領域が割り当てられ、「F210H」から「F21DH」までの空間には第2RWM領域が割り当てられることとなる。尚、第1RWM領域は、第2RWM領域よりも容量が大きくなるよう構成されている。
尚、第1RWM領域には、第1作業領域(使用領域の作業領域と称することがある)が含まれていればよく、第1作業領域の先頭アドレスから第1スタックエリアの最終アドレスまでを第1RWM領域と称してもよい。また、第2RWM領域には、第2作業領域(使用領域外の作業領域と称することがある)が含まれていればよく、第2作業領域の先頭アドレスから第2スタックエリアの最終アドレスまでを第2RWM領域と称してもよい。
尚、未使用領域となっているアドレスも変更しても問題ないが、第1データ領域と第2制御領域との間(間のアドレス)には未使用領域を設けることが好適である。即ち、図5に示すようなメモリマップ構成である場合、第1制御領域内に存在しCPUからアクセスされるプログラムコードと、第2制御領域内に存在しCPUからアクセスされるプログラムコードとは、メモリマップ上において離隔して(アドレスが連続しない配置で)配置されており、未使用領域を間に挟んでいるため、プログラムソースコード上又はダンプリスト上において、双方のプログラムコードの配置位置を視覚上明確に切り分けることができる(その他、未使用領域を間に挟んでいる場合には、同様のことがいえる)。
ここで、主制御基板Mが搭載するROMに関しては、不正行為によって改造されたプログラム等を書き込まれることを防止するため、未使用の領域(充填されていない領域)を設けないよう構成することが好適である(例えば、未使用領域を全て0によって充填、使用している領域を若い番地に詰めて書き込む、等)。また、第1制御領域及び第1データ領域には、ノイズや不正行為によって、通常時には参照しないデータを参照してしまうことを防止するため、未使用のデータ(例えば、スペック違いの遊技機において参照するデータや、開発段階でのテストにのみ使用するデータ等)を設けないよう構成することが好適である。また、第1制御領域、第1データ領域、第2制御領域、第2データ領域、第1作業領域及び第2作業領域は、若い番地に詰めて領域を使用し、当該領域内(当該領域内のアドレス)に未使用の領域を設けない(例えば、「0000H」〜「11FAH」の範囲となっている第1制御領域内の、「0010H」〜「0050H」を未使用領域としない)よう構成することが好適である。尚、本例における、未使用領域は、すべてのビットが「0」となっており、当該未使用領域以外の領域は、いずれかのビットが「1」となっている(「0」ではなくなっている)。
ここで、本実施形態に係る回胴式遊技機Pに係る構成について簡潔に説明する。
<RWMの初期化の契機と範囲>
まず、第1RWM領域の初期化の契機と範囲について説明する。
(1)設定変更装置作動時において、電源断復帰が正常に実行できない場合
第1RWM領域(「F000H」〜「F1FFH」)にデータ0をセットする。
(2)設定変更装置作動時において、電源断復帰が正常に実行できない場合以外の場合
第1RWM領域(「F000H」〜「F1FFH」)のうち、設定値データ、割込みカウンタ、内蔵乱数加工用乱数、ソフト乱数初期値及びRT状態番号、を除く範囲(「F008H」〜「F1FFH」)にデータ0をセットする。
(3)電源断復帰時である場合
第1RWM領域(「F000H」〜「F1FFH」)の作業領域(第1作業領域)及び第1スタックエリアの最大使用量を除く領域(「F14AH」〜「F1D7H」)にデータ0をセットする。
次に、第2RWM領域の初期化の契機と範囲について説明する。
(1)設定変更装置作動時である場合
設定変更装置作動時のスタック使用量を除く第2RWM領域(「F200H」〜「F3F5H」)にデータ0をセットする。
(2)電源断復帰時である場合
第2RWM領域(「F200H」〜「F3FFH」)の作業領域(第2作業領域)及び第2スタックエリアの最大使用量を除く領域(「F200H」〜「F20FH」及び「F21EH」〜「F3F1H」)にデータ0をセットする。
<スタックエリアの最大使用量>
次に、図6を参照して、回胴式遊技機Pにおけるスタックエリアの最大使用量について説明する。第1スタックエリアの範囲は「F1D8H」〜「F1FFH」であり、第2スタックエリアの範囲は「F3F2H」〜「F3FFH」となっている。第1スタックエリアにおけるスタックの使用箇所は、メイン処理に該当する「遊技進行メイン処理→ずらしコマ数作成処理→コントロール制御実行処理→引込み・蹴飛ばし制御処理→指定アドレスデータセット処理の割込み発生箇所」の順に使用した後、割込み処理に該当する「割込み処理」に使用した後、電源断復帰処理に該当する「電源断復帰処理→割込み起動処理」の順に使用するよう構成されている。また、第2スタックエリアにおけるスタックの使用箇所は、メイン処理(非割込み処理とも称する)に該当する「図柄停止信号出力処理」に使用するよう構成されている。尚、スタックエリアの使用方法及び使用量の累計(バイト数)については、図5に示すように構成されている。
<第1作業領域>
次に、図7を参照して、第1RWM領域における第1作業領域に格納されているデータについて説明する。第1作業領域に格納されているデータについては図7に示す、項目1、項目2及び項目3となっており、項目1における「設定値データ」が最も小さい番地に格納されており、項目3における「スタックポインタ一時保存バッファ」が最も大きい番地に格納されている。また、番地は下段になる程大きくなるよう図示されており、番地の小さいものから、「項目1の最上段→項目1の最下段→項目2の最上段→項目2の最下段→項目3の最上段→項目3の最下段」となっている。
<第2作業領域>
次に、図8を参照して、第2RWM領域における第2作業領域に格納されているデータについて説明する。第2作業領域に格納されているデータについては図8に図示しているように構成されており、同図最上段に示す「スタックポインタ一時保存バッファ2」が最も小さい番地に格納されており、同図最下段に示す「第2払出センサ異常検出データ」が最も大きい番地に格納されている。尚、番地は下段になる程大きくなるよう図示されておる。また、項目、内容、データ(データの詳細)については図8に示すように構成されている。尚、本実施形態においては、第1ROM・RWM領域にて処理を実行している場合に第2ROM・RWM領域における処理を呼び出して実行する場合には、第1スタックエリアにセットされているスタックポインタのアドレスを第2RWM領域の「スタックポインタ一時保存バッファ2」に記憶(保存)するよう構成されている(詳細は後述する)。
<電源断時のバックアップ期間>
次に、電源断が発生した場合の内蔵RWMのバックアップ期間について説明する。
(1)回胴式遊技機Pに主制御基板Mを実装した状態にて、電源投入後に電源を遮断した場合には、約60日の期間内蔵RWMがバックアップされるよう構成されている。このように構成することにより、遊技場が1週間程度の長期休業となった場合にも内蔵RWMはバックアップされており、円滑に営業を行うことができることとなる。
(2)電源投入後に電源を遮断し、主制御基板Mからすべてのハーネスを取り外した場合(回胴式遊技機Pに主制御基板Mが実装されていない場合)には、約1秒の期間、内蔵RWMがバックアップされるよう構成されている。このように構成することにより、不正な遊技を実行するために、主制御基板Mからすべてのハーネスを取り外し、不正な基板を回胴遊技機Pに接続しても、ハーネスを付け替えるのに1秒以上の時間がかかってしまうため、不正な基板を回胴遊技機Pに接続した時点では内蔵RWMは既にバックアップされておらず、不正な遊技が実行されることを防止することができる。
<遊技メダル投入時の処理>
次に、遊技メダル投入時の処理について説明する。遊技メダルの投入は、遊技開始からスタートレバーD50の受付までの期間にて実行可能となっており、エラー表示中、設定値確認中及び遊技メダル精算中は実行不可能となっている。また、メダル投入口D170による遊技メダルの投入を可能とするために、ブロッカ信号をオンにするよう構成されている。尚、投入受付センサ信号がオフからオンになってから所定時間(例えば、326.84ms)経過していない場合には、当該所定時間が経過するまで待機した後にブロッカ信号をオンにすると共に、投入枚数表示LEDを点灯するよう構成されている。尚、遊技メダルをベットする方法については以下のようになっている。
(1)ベットボタンD220の操作によるクレジットからの遊技メダル投入
ベットボタン操作信号がオフからオンになると、投入枚数をクレジット上限(本例では、50)以内及び規定数(本例では、3枚)以内分を加算し、クレジットから当該規定数以内分を減算する。また、投入枚数に応じた投入枚数表示LEDを点灯する。尚、本例に係るベットボタンD220は、1回操作することにより遊技メダルを3枚ベット可能に構成されている(いわゆる、MAXベットボタン)が、ベットボタンの構成はこれには限定されず、1回操作することにより遊技メダルを3枚ベット可能なベットボタンと1回操作することにより遊技メダルを1枚ベット可能なベットボタンとの複数のベットボタンを設けるよう構成してもよい(1回操作することにより遊技メダルを2枚ベット可能なベットボタンを設けてもよい)。
(2)メダル投入口D170による遊技メダル投入
メダル投入口D170から投入された遊技メダルの投入処理は、投入受付センサ信号、第1投入センサ信号及び第2投入センサ信号による遊技メダル通過枚数、通過時間及び通過順序を監視することにより実行される。
<最小停止受付待機時間>
最小停止受付待機時間は、或る停止ボタンの操作受付時から当該或る停止ボタンの次に停止する停止ボタンの操作受付時までの最小の時間であり、最小停止受付待機時間として、停止ボタンD40の操作受付時に所定期間{例えば、15.715msであり、割込み1回分に相当する最大誤差時間(例えば、2.245ms)よりも大きい値となっている}のタイマをセットし、次の停止ボタン受付直前までを計測範囲としている。最小停止受付待機時間の具体的な計算式は、例えば、
最小停止受付待機時間
=タイマ値×タイマ計測時間−割込みによる最大誤差時間
=7×2.245ms−2.245ms
=13.47ms
のようになっている。
<クレジット(貯留装置)>
次に、クレジットに係る処理について説明する。
(1)クレジットの表示方法
クレジットに貯留されている遊技メダルの枚数はクレジット数表示装置D200に表示される。
(2)遊技メダル投入時の処理
再遊技未作動時において、当該遊技の最大規定枚数分(本例では、3枚)が既にベットされている場合、又は、再遊技が作動している場合、に投入されている遊技メダルは、クレジットの上限値(本例では、50)まで貯留可能となっている。また、3枚投入センサ信号がオフからオンになると、クレジットに貯留されている遊技メダルをベットするよう構成されている。
(3)遊技メダルを入賞により獲得した場合
入賞により獲得した遊技メダルは、クレジットの上限値(本例では、50)を超過しない分の遊技メダルを107.81ms間隔でクレジットに貯留するよう構成されている。
(4)クレジットの精算処理
再遊技未作動時においてベットされている遊技メダルがない場合、又は、再遊技が作動している場合の精算ボタンD60の受付時に、貯留されているすべての遊技メダルを放出口D240から払い戻すよう構成されている。
<遊技メダル払出時の処理>
次に、図9を参照して、メダル払出装置Hが遊技メダルを払い出す際の処理について説明する。まず、同図上段の(a)について説明する。
同図における(a)は、ホッパモータ駆動信号がオンの状態において、所定の時間内に第1払出センサ信号及び第2払出センサ信号を検出した場合に係るタイミングチャートである。まず、メダル払出装置Hからの遊技メダルの払出が開始され、ホッパモータ駆動信号がオンである状況下、当該払い出されている遊技メダルを第1払出センサH10sが検出し、第1払出センサ信号がオフからオンとなる。その後、図示されているAの期間が経過し、当該払い出されている遊技メダルを第2払出センサH20sが検出し、第2払出センサ信号がオフからオンとなる。尚、第1払出センサ信号はオンのままとなっている。
その後、図示されているBの期間が経過し、メダル払出装置Hから払い出された遊技メダルを第2払出センサH20sが検出しなくなることにより第2払出センサ信号がオンからオフとなる。尚、第1払出センサ信号はオンのままとなっている。その後、図示されている(C−B)の期間が経過し、メダル払出装置Hから払い出された遊技メダルを第1払出センサH10sが検出しなくなることにより第1払出センサ信号がオンからオフとなる。このように、メダル払出装置Hから払い出された遊技メダルが放出口H240に到達するまでの過程において、ホッパモータ駆動信号がオンである状況にて、「第1払出センサ信号オフ且つ第2払出センサ信号オフ→第1払出センサ信号オン且つ第2払出センサ信号オフ→第1払出センサ信号オン且つ第2払出センサ信号オン→第1払出センサ信号オン且つ第2払出センサ信号オフ→第1払出センサ信号オフ且つ第2払出センサ信号オフ」となることにより、1枚の遊技メダルが正常に払い出されたと判定されるよう構成されている。また、払出センサ(第1払出センサH10s及び第2払出センサH20s)は2つのセンサで構成されており、夫々のセンサ(センサ信号)のオン・オフ状況(第1払出センサH10s及び第2払出センサH20sのオン・オフの組み合わせの遷移していく順序、等)及びオン・オフとなっている時間を監視することにより様々なエラーを検出可能に構成されている。
尚、第1払出センサ信号オン且つ第2払出センサ信号オフとなってから第2払出センサ信号がオフを維持している期間であるAと、第1払出センサ信号オン且つ第2払出センサ信号オンとなってから第2払出センサ信号がオンを維持している期間であるBと、第1払出センサ信号オン且つ第2払出センサ信号オンとなってから第1払出センサ信号がオンを維持している期間であるCと、の正常な払出実行時にとり得る時間値の具体例としては、
「A<31.82ms」、「13.94ms≦B≦65.35」、「13.94ms≦C≦65.35」となっており、詳細は後述することとする。
次に、同図下段の(b)について説明する。同図における(b)は、払出制御時間6008.21ms経過後にホッパモータ駆動信号をオフにしてから108.81msが経過するまでの期間において、ホッパモータ駆動信号をオンになり1枚の遊技メダルを払い出す場合を例示したタイミングチャートである。まず、ホッパモータ駆動信号がオンである状況下、払出制御時間6008.21msが経過したことにより、ホッパモータ駆動信号がオフとなる。その後、図示されているXの期間が経過し、第1払出センサH10sが遊技メダルを検出したことにより第1払出センサ信号がオフからオンとなる。その後、図示されているAの期間が経過し、第2払出センサH20sが遊技メダルを検出したことにより第2払出センサ信号がオフからオンとなる。尚、第1払出センサ信号はオンのままとなっている。その後、図示されているBの期間が経過し、メダル払出装置Hから払い出された遊技メダルを第2払出センサH20sが検出しなくなることにより第2払出センサ信号がオンからオフとなる。尚、第1払出センサ信号はオンのままとなっている。その後、図示されている(C−B)の期間が経過し、メダル払出装置Hから払い出された遊技メダルを第1払出センサH10sが検出しなくなることにより第1払出センサ信号がオンからオフとなる。このように、払出制御時間6008.21ms経過後にホッパモータ駆動信号をオフにしてから108.81msが経過するまでの期間において、第1払出センサ信号を検出すると、ホッパモータ駆動信号をオンにし、その後、所定の期間内に第1払出センサ信号及び第2払出センサ信号を検出すると1枚の遊技メダルを払い出すよう構成されている。
尚、払出制御時間6008.21msが経過してから第1払出センサ信号がオフからオンとなるまでの期間であるXの正常な払出実行時にとり得る時間値の具体例としては、「X<108.81ms」となっており、詳細は後述することとする。
<指示モニタ表示>
次に、図10を参照して、獲得枚数表示装置D190における指示表示について説明する。本実施形態においては、あるゲームにおいて最も高利益となるリール停止順(押し順)を、指示表示として獲得枚数表示装置D190にて報知し得るよう構成されており、スタートレバーD50の操作受付時に実行される内部抽選後に決定される指示番号に基づいて指示表示が実行される。具体的には、
(1)指示番号が「0」であった場合には指示表示を実行しない(表示なし)。
(2)指示番号が「1」であった場合には獲得枚数表示装置D190にて、「左リールM51→中リールM52→右リールM53」の順に対応する停止ボタンD40の押下を指示する旨の表示である「=1」を表示する。
(3)指示番号が「2」であった場合には獲得枚数表示装置D190にて、「左リールM51→右リールM53→中リールM52」の順に対応する停止ボタンD40の押下を指示する旨の表示である「=2」を表示する。
(4)指示番号が「3」であった場合には獲得枚数表示装置D190にて、「中リールM52→左リールM51→右リールM53」の順に対応する停止ボタンD40の押下を指示する旨の表示である「=3」を表示する。
(5)指示番号が「4」であった場合には獲得枚数表示装置D190にて、「中リールM52→右リールM53→左リールM51」の順に対応する停止ボタンD40の押下を指示する旨の表示である「=4」を表示する。
(6)指示番号が「5」であった場合には獲得枚数表示装置D190にて、「右リールM53→左リールM51→中リールM52」の順に対応する停止ボタンD40の押下を指示する旨の表示である「=5」を表示する。
(7)指示番号が「6」であった場合には獲得枚数表示装置D190にて、「右リールM53→中リールM52→左リールM51」の順に対応する停止ボタンD40の押下を指示する旨の表示である「=6」を表示する。
以上のように表示するよう構成されている。
尚、指示表示を表示する際の表示期間は、スタートレバーD50の操作受付時から前リール停止時までとなっている。
ここで、図11〜図14を参照し、本実施形態に係る回胴式遊技機における大まかな処理の流れを説明する。
<電源投入時の処理に係る主要動作フローチャート>
まず、図11は、回胴式遊技機Pの電源を投入した後(或いはシステムリセットやユーザリセット時において)、主制御基板MのCPUにて初めて実行される処理の流れを示したフローチャートである。この場合、一般的には、内蔵ROMの「0000H」となるアドレス(即ち、第1制御領域)に配置されているプログラムコードから順番に実行されていくこととなる。
まず、ステップ102で、回胴式遊技機Pの電源を投入した後、CPUは、第1ROM・RWM領域内のデータに基づき、Qレジスタを「F000H」に設定する。次に、ステップ104で、CPUは、第1ROM・RWM領域内のデータに基づき、主制御チップの機能設定を実行する。次に、ステップ106で、CPUは、第1ROM・RWM領域内のデータに基づき、チェックサムを算出し、第1RWM及び第2RWMをチェックし(例えば、当該算出したチェックサムとチェックサム領域に保持されているチェックサムデータとに基づき、電源断・電源断復帰により内蔵RWMに格納されているデータが正しく保持されているか否かをチェックし)、電源断復帰データを生成する。次に、ステップ108で、CPUは、第1ROM・RWM領域内のデータに基づき、ドアスイッチD80、設定ドアスイッチM10及び設定キースイッチM20がすべてオンであるか否かを判定する。ステップ108でYesの場合、ステップ110で、CPUは、第1ROM・RWM領域内のデータに基づき、ステップ108にて生成した電源断復帰データが異常であるか否かを判定する。ステップ110でNoの場合、ステップ112で、CPUは、第1ROM・RWM領域内のデータに基づき、設定変更フラグ(設定変更装置処理を実行するための操作があった場合にオンとなるフラグ)がオンであるか否かを判定する。ステップ112でYesの場合には後述する設定変更装置処理を実行することとなる。尚、ステップ110でYesの場合には、設定変更フラグのオン・オフに拘らず、後述する設定変更装置処理を実行することとなる。
他方、ステップ108でNoの場合、即ち、ドアスイッチD80、設定ドアスイッチM10及び設定キースイッチM20の何れかがオフである場合、又は、ステップ112でNoの場合、即ち、設定変更フラグがオフである場合、ステップ114で、CPUは、第1ROM・RWM領域内のデータに基づき、ステップ106にて生成した電源断復帰データは正常であるか否かを判定する。尚、電源断復帰データが正常であると判定される場合は、電源断処理が実行されている、且つ、RWM領域のチェックサムが正常である場合となっている。ステップ114でNoの場合、ステップ116で、獲得枚数表示装置D190にてバックアップエラーに係る表示である「E1」を表示(例えば、レジスタ領域内にエラー番号をセットする)し、回胴式遊技機Pの動作を停止する。尚、バックアップエラーは、復帰不可能エラーとなっている。
また、ステップ114でYesの場合、ステップ118で、CPUは、第1ROM・RWM領域内のデータに基づき、スタックポインタを復帰する。次に、ステップ120で、CPUは、第1ROM・RWM領域内のデータに基づき、RWM領域における未使用の領域を初期化する。次に、ステップ122で、CPUは、第1ROM・RWM領域内のデータに基づき、入力ポートの読み込みを実行する。次に、ステップ124で、CPUは、第1ROM・RWM領域内のデータに基づき、セットしたタイマ割込みを起動し、復帰したスタックポインタに従い電源断時の処理に復帰することとなる。尚、タイマ割込み処理をセットする際には、タイマ割込み処理の開始アドレスとして第1制御領域の所定のアドレス(例えば、「10AFH」)が設定されることとなる。また、割込み処理を実行するためのプログラムを有する領域は、すべて第1制御領域となっている。また、ぱちんこ遊技機における割込み処理の構成も同様であり、開始アドレスが第1制御領域の所定のアドレス(例えば、「10AFH」)となっており、割込み処理を実行するためのプログラムを有する領域は、すべて第1制御領域となっている。
尚、不図示ではあるが、主制御基板Mが搭載する一時記憶領域(RWM領域等)の初期値(処理開始時の値)は、特別遊技が実行される値とならないよう構成することが好適である(プログラムの処理開始直後に、ノイズや不正行為により、特別遊技の実行判定を行う処理を実行してしまった場合に特別遊技が誤って実行されることを防止するため)。また、不図示ではあるが、主制御基板MのRWM領域内に当選乱数等の乱数を記憶する場合には、専用の記憶領域を確保し、乱数に係る情報を記憶しているバイト内には当該乱数に係る情報のみを記憶する(各種タイマ値等、その他の情報を記憶しない)よう構成することが好適である(同じ1バイト内に記憶した別のデータを操作する際に、ノイズ等によって乱数に係る情報が書き換わってしまうことを防止するため)。
<遊技進行メイン処理実行時に係る主要動作フローチャート>
次に、図12は、遊技進行メイン処理実行時に係る主要動作フローチャートである。まず、ステップ202で、CPUは、第1ROM・RWM領域内のデータに基づき、スタックポインタをセットする。次に、ステップ204で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技を開始する際の処理を実行し、ステップ206に移行する。尚、遊技を開始する際の処理は、「作動状態のセット」→「設定変更フラグをオンにする」→「遊技メダルの投入受付に係る処理の実行」の順に処理を実行するよう構成されており、「遊技メダルの投入受付に係る処理の実行」は、再遊技未作動時の場合には、ブロッカD100をオン(遊技メダル通過可能状態)にして遊技メダルの投入受付を開始し、再遊技未作動時の場合にはブロッカD100(ブロッカ信号)をオン(遊技メダル通過可能状態)にして遊技メダルの投入受付を開始し、再遊技作動時の場合には、クレジットが満タンでない場合にはブロッカD100(ブロッカ信号)をオンにすると共に再遊技作動時の自動投入動作(遊技メダルが自動でベットされる)を実行する。
次に、ステップ206で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダルがベットされているか否かを判定する。ステップ206でNoの場合、ステップ208で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダルの投入待ち時の表示処理を実行し(詳細は後述する)、ステップ210に移行する。尚、ステップ206でYesの場合には、ステップ208の処理を実行せずに、ステップ210に移行する。次に、ステップ210で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダルの投入及び精算ボタンD60のチェックを実行する。尚、メダル投入口D170から遊技メダルが投入された場合又はベットボタンD220が操作された場合は、遊技メダルの投入時の処理(詳細は後述する)を実行するよう構成されている。また、精算ボタンD60が操作された場合は、ベットされている遊技メダル又はクレジットに貯留されている遊技メダルを払い戻すよう構成されている。
次に、ステップ212で、CPUは、第1ROM・RWM領域内のデータに基づき、スタートレバーD50の受付チェックを実行する。具体的には、
(1)CHエラー検出フラグをチェックし、投入受付センサD10sに遊技メダルが滞留している場合に獲得枚数表示装置D190に「CH」を表示すると共に遊技を停止し、その他の場合には(2)に移行する。
(2)投入受付センサD10sの滞留時間経過且つ満杯検知センサ信号がオンの場合に獲得枚数表示装置D190に「FE」を表示すると共に遊技を停止し、その他の場合には(3)に移行する。
(3)遊技メダル枚数と規定数とを比較して、一致した場合には(4)に移行し、その他の場合にはスタートレバー受付不可としステップ214に移行する。
(4)スタートレバーセンサ信号がオフからオンになった場合にはスタートレバー受付となり、その他の場合にはスタートレバー受付となる。
次に、ステップ214で、CPUは、第1ROM・RWM領域内のデータに基づき、スタートレバーD50の入力を受け付けたか否かを判定する。ステップ214でYesの場合には、内蔵乱数の取り込みを実行し、設定変更フラグをオフ(設定変更不可となる状態)にした後、ステップ216で、CPUは、第1ROM・RWM領域内のデータに基づき、内部抽選を開始する(詳細は後述する)。尚、ステップ214でNoの場合には、ステップ206に移行する。次に、ステップ218で、CPUは、第1ROM・RWM領域内のデータに基づき、リールM50の回転を開始する(ステップ216の処理の実行後、最小遊技時間が経過した場合にリールM50の回転を開始されることとなり、最小遊技時間が経過していない場合には、最小遊技時間が経過するまで待機することとなる)。
次に、ステップ220で、CPUは、第1ROM・RWM領域内のデータに基づき、ずらしコマ数作成要求があった場合にずらしコマ数を作成する。次に、ステップ222で、CPUは、第1ROM・RWM領域内のデータに基づき、回胴停止受付チェックを実行する、即ち、すべての回胴センサ通過済みの場合にリール停止受付を可能とし、その他の場合にはリール停止受付を不可能とする(詳細は後述する)。次に、ステップ224で、CPUは、第1ROM・RWM領域内のデータに基づき、停止ボタンD40の操作があったか否かを実行する。ステップ224でYesの場合、ステップ226で、CPUは、第1ROM・RWM領域内のデータに基づき、停止ボタンの操作を受け付け、各リールの停止位置を決定し、ステップ228に移行する。尚、ステップ224でNoの場合には、ステップ226の処理を実行せずにステップ228に移行する。
次に、ステップ228で、CPUは、第1ROM・RWM領域内のデータに基づき、すべてのリール(左リールD41、中リールD42及び右リールD43)の停止チェックを実行する(すべてのリールが停止しており、且つ、スタートレバーD50及び停止ボタンD40の操作が終了しているかをチェックする)。次に、ステップ230で、CPUは、第1ROM・RWM領域内のデータに基づき、すべてのリールが停止したか否かを判定する。ステップ230でYesの場合にはステップ232に移行し、Noの場合にはステップ218に移行する。
次に、ステップ232で、CPUは、第1ROM・RWM領域内のデータに基づき、表示判定を実行する。具体的には、表示判定は、
(1)表示判定を実行した結果、図柄の組み合わせ表示が移行であった場合には、獲得枚数表示装置D190にて「E5」を表示すると共に遊技機の動作を停止する。
(2)CHエラー検出フラグをチェックし、投入受付センサD10sに遊技メダルが滞留している場合には、獲得枚数表示装置D190にて「CH」を表示すると共に遊技を停止し、その他の場合には(3)の処理に移行する。また、エラー解除により遊技が再開する場合には(2)の処理を再度実行する。
(3)投入受付センサD10sの滞留時間が経過、且つ、満杯検知センサ信号がオンの場合には、獲得枚数表示装置D190にて「FE」を表示しすると共に遊技を停止し、その他の場合又はエラー解除により遊技が再開する場合には、ステップ234に移行する。
以上の順に表示判定が実行されるよう構成されている。
次に、ステップ234で、CPUは、第1ROM・RWM領域内のデータに基づき、入賞による遊技メダルの払出を実行する(払い出す遊技メダルが存在する場合に実行される)。次に、ステップ236で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技終了チェックとして、作動状態の終了をチェックし、終了の場合には作動状態に応じた終了処理を実行し、ステップ200の遊技進行メイン処理を再度実行することとなる。
<インターバル割込み処理実行時に係る主要動作フローチャート>
次に、図13は、インターバル割込み処理実行時に係る主要動作フローチャートである。まず、ステップ302で、CPUは、第1ROM・RWM領域内のデータに基づき、割込み開始の処理(例えば、CPU内のレジスタで保持されているデータの退避、割込みフラグのクリア等)を実行する。次に、ステップ304で、CPUは、第1ROM・RWM領域内のデータに基づき、電源断時の処理(詳細は後述する)を実行する。次に、ステップ306で、CPUは、第1ROM・RWM領域内のデータに基づき、割込みカウンタの更新を実行する。次に、ステップ308で、CPUは、第1ROM・RWM領域内のデータに基づき、入力ポートデータを生成する。具体的には、
(1)入力ポート0を読み込み、レベルデータを保存する。また、ドアスイッチ信号及び設定ドアスイッチ信号の状態に応じて、設定キースイッチ信号及び設定/リセットボタン信号立ち上がりデータを保存、並びに設定キースイッチ信号立ち下がりデータを保存する。
(2)入力ポート1を読み込み、レベルデータ及び立ち上がりデータを保存する。
(3)入力ポート2を読み込み、レベルデータ及び立ち上がりデータを保存する。
以上の順に処理を実行する。ここで、入力ポートデータとは、精算ボタンD60、スタートレバーD50、停止ボタンD40、ドアスイッチD80、設定ドアスイッチM10、設定キースイッチM20、設定/リセットボタンM30、電源断検知信号、投入受付センサD10s、第1投入センサD20s、第2投入センサD30s、第1払出センサH10s、第2払出センサH20s、等の検出に係る情報である(即ち、これらの操作部材での操作有無やセンサ検知状態が、割込み間隔Tでサンプリングされる)。
次に、ステップ310で、CPUは、第1ROM・RWM領域内のデータに基づき、回胴駆動管理(リールM50の駆動制御)を実行する。次に、ステップ312で、CPUは、第1ROM・RWM領域内のデータに基づき、出力ポート0(左リールM51のモータ信号、ブロッカ信号及びホッパ駆動信号)及び出力ポート1(中リールM52のモータ信号及び右リールM53のモータ信号)に出力データを出力する。次に、ステップ314で、CPUは、第1ROM・RWM領域内のデータに基づき、制御コマンドの送信及び出力ポート2(投入枚数表示LED信号及びサブ制御データストローブ信号)に出力データを出力する。尚、制御コマンドデータが存在している場合には以下の(1)〜(4)を実行し、その他の場合には以下の(3)〜(4)の処理を実行する。
(1)出力ポート7及び8(サブ制御データ信号1〜16)に制御コマンドクリアデータを出力する。
(2)サブ制御データストローブ信号をオンにし、出力ポート2(投入枚数表示LED信号及びサブ制御データストローブ信号)に出力データを出力する。
(3)サブ制御データストローブ信号をオフにし、出力ポート2(投入枚数表示LED信号及びサブ制御データストローブ信号)に出力データを出力する。
(4)出力ポート7及び8(サブ制御データ信号1〜16)に制御コマンドクリアデータを出力する。
次に、ステップ316で、CPUは、第1ROM・RWM領域内のデータに基づき、LEDの表示を実行する。具体的には、出力ポート3及び4(LEDデジット信号及びLEDセグメント信号)に、クレジット数表示装置D200、獲得枚数表示装置D190、等の各種LEDの出力データを出力する。次に、ステップ318で、CPUは、第1ROM・RWM領域内のデータに基づき、出力ポート6(サブ制御データ信号17〜24)にサブ報知データを出力する。次に、ステップ320で、CPUは、第1ROM・RWM領域内のデータに基づき、1バイトタイマ、2バイトタイマの順にタイマ計測を実行する。次に、ステップ322で、CPUは、第2ROM・RWM領域内のデータに基づき、エラー管理を実行する。具体的には、以下の順にエラーチェックを実行する。
(1)設定値のチェックを実行し、設定値が範囲内でない場合には、獲得枚数表示装置D190に「E6」を表示して遊技機の動作を停止する。
(2)内蔵乱数のチェックを実行し、RCK端子に入力されたクロックの周波数異常、又は内蔵乱数更新異常を検出した場合は、獲得枚数表示装置D190に「E7」を表示して遊技機の動作を停止する。
(3)ブロッカ信号がオン(通過可能状態)又は遊技メダル通過中の場合、第1投入センサ信号及び第2投入センサ信号を検査し、CPエラー(不正通過)及びCEエラー(遊技メダル滞留)のチェックを実行する。
尚、上述したように、本実施形態に係る回胴式遊技機Pにおいては、エラーチェックに係る処理は第2ROM・RWM領域内のデータに基づいて実行されるよう構成されている。
次に、ステップ324で、CPUは、第1ROM・RWM領域内のデータに基づき、出力ポート5に外部端子板への信号出力データを出力する。次に、ステップ326で、CPUは、第1ROM・RWM領域内のデータに基づき、割込み終了時の処理として、レジスタを復帰し、割込みを許可し、PTC0によるマスカブル割込みの処理から復帰する。
<設定変更装置処理実行時に係る主要動作フローチャート>
次に、図14は、設定変更装置処理実行時に係る主要動作フローチャートである。まず、ステップ402で、CPUは、第1ROM・RWM領域内のデータに基づき、スタックポインタをセットし、設定変更装置の作動を開始する。次に、ステップ404で、RWMの初期化を実行する。次に、ステップ406で、CPUは、第1ROM・RWM領域内のデータに基づき、PTC0(割込みタイマ)を起動する。次に、ステップ408で、CPUは、第1ROM・RWM領域内のデータに基づき、獲得枚数表示装置D190に設定変更装置が作動中である旨の表示として「88」を表示し、設定表示LED(不図示)にて設定値を表示し、ステップ410に移行する。次に、ステップ410で、CPUは、第1ROM・RWM領域内のデータに基づき、設定/リセットボタン信号がオフからオンになった場合は設定値を1加算し、その後、設定値が範囲内であるかをチェックし、範囲外の場合には設定値に1をセットする(具体的には、設定値の表示が「6」である場合に設定/リセットボタンM30を操作すると、設定値の表示が「1」となる)。次に、ステップ412で、CPUは、第1ROM・RWM領域内のデータに基づき、スタートレバー信号がオフからオンとなったか否かを判定する。ステップ412でNoの場合にはステップ410に移行し、ステップ412でYesの場合には、ステップ414で、CPUは、第1ROM・RWM領域内のデータに基づき、ドアスイッチ信号及び設定ドアスイッチ信号がオンの状態で設定キースイッチ信号がオンからオフになったか否かを判定する。ステップ414でNoの場合には、ステップ414の処理を再度実行し、Yesの場合にはステップ416に移行する。次に、ステップ416で、CPUは、第1ROM・RWM領域内のデータに基づき、設定表示LED(不図示)を消灯すると共に、クレジット数表示装置D200及び獲得枚数表示装置D190に「00」を表示した後、遊技進行メイン処理を実行することとなる。
<エラー処理>
次に、図15及び図16を参照して、本例に係るエラー処理について説明する。
まず、図15は、本例に係る回胴式遊技機Pが実行し得るエラー処理の一例である。同図に示すように、本例においては、ドアスイッチD80及び設定ドアスイッチM10を操作することによってエラー解除が可能となる復帰可能エラーと、ドアスイッチD80及び設定ドアスイッチM10の操作ではエラー解除が不可能な復帰不可能エラーとが設けられている。
<復帰可能エラー>
尚、本例における復帰可能エラーは以下のようになっている。
(1)HEエラー:メダル払出装置H内の遊技メダルが空であると判断した場合のエラー(例えば、獲得枚数表示装置D190に「HE」と表示)
(2)HPエラー:メダル払出装置の遊技メダル払出口に遊技メダルが詰まったと判断した場合のエラー(例えば、獲得枚数表示装置D190に「HP」と表示)
(3)FEエラー:遊技メダル補助収納庫が満杯であると判断した場合のエラー(例えば、獲得枚数表示装置D190に「FE」と表示)
(4)CPエラー:投入された遊技メダルが不正通過したと判断した場合のエラー(例えば、獲得枚数表示装置D190に「CP」と表示)
(5)CHエラー:投入受付センサD10sに遊技メダルが滞留したと判断した場合のエラー(例えば、獲得枚数表示装置D190に「CH」と表示)
(6)CEエラー:第1投入センサD10s又は第2投入センサD20sに遊技メダルが滞留したと判断した場合のエラー(例えば、獲得枚数表示装置D190に「CE」と表示)
復帰不可能エラーは以上のようになっており、(1)〜(3)のエラーが遊技メダル払出関連のエラーであり、(4)〜(6)のエラーが遊技メダル投入関連のエラーである。
また、本例における復帰不可能エラーは以下のようになっている。
(1)E1エラー:電源断復帰が正常に実行できない場合のエラー(例えば、獲得枚数表示装置D190に「E1」と表示)
(2)E5エラー:全リール停止時の図柄の組み合わせ表示が異常の場合のエラー(例えば、獲得枚数表示装置D190に「E5」と表示)
(3)E6エラー:設定値が範囲外の場合のエラー(例えば、獲得枚数表示装置D190に「E6」と表示)
(4)E7エラー:乱数更新用のRCK端子に入力されたクロックの周波数異常、又は、内蔵乱数(16ビット乱数)の更新状態異常を検知した場合のエラー(例えば、獲得枚数表示装置D190に「E7」と表示)
復帰不可能エラーは以上のようになっている。尚、エラー処理は同図に示すものには限定されず、復帰可能エラー又は復帰不可能エラーとして新たなエラー処理を設けるよう構成してもよい。
次に、図16は、本例に係る回胴式遊技機Pが実行し得るエラー処理に係るタイミングチャートである。
まず、同図における(1)は、HEエラーに係るタイミングチャートである。まず、メダル払出装置Hによる遊技メダルの払出が開始され、ホッパモータ駆動信号がオフからオンとなる。その後、同図に示されるA(例えば、6008.21ms)である払出制御時間が経過しても遊技メダルの払出が検出されなかったために、ホッパモータ駆動信号がオンからオフとなる。尚、第1払出センサ信号及び第2払出センサ信号がオンである場合には、当該信号がいずれもオフとなるまで遊技メダル払出動作を継続するよう構成されている。その後、同図に示されるB(例えば、108.81ms)の期間にて第1払出センサ信号がオフであるために、メダル払出装置H内の遊技メダルが空であると判断し、HEエラーが検出される。その後、メダル払出装置H内に遊技メダルが補充されたと共に、ドアスイッチD80及び設定ドアスイッチM10を所定の操作態様にて操作することにより、HEエラーが解除され、遊技メダルの払出が再開されることとなる。また、同図に示されるA(例えば、6008.21ms)である払出制御時間は、同図に示されるB(例えば、108.81ms)の期間よりも長い期間となっている。
次に、同図における(2−1)は、HPエラーに係るタイミングチャートである。まず、メダル払出装置Hによる遊技メダルの払出が開始され、ホッパモータ駆動信号がオフからオンとなる。その後、第1払出センサH10sが遊技メダルを検出したことにより、第1払出センサ信号がオフからオンとなり、その後、第1払出センサ信号がオン且つ第2払出センサ信号がオフである期間が同図に示すA(本例では、31.82ms)となった場合にHPエラーとなる。尚、当該Aは図9にて前述したAと同様の、第1払出センサ信号オン且つ第2払出センサ信号オフとなってから第2払出センサ信号がオフを維持している期間となっている。即ち、正常な遊技メダルの払出と判断される期間Aの時間値の範囲は、「A<31.82ms」となっており、このAの期間が、正常な遊技メダルの払出と判断される時間値の範囲外となった場合にはHPエラーが検出されたと判定されるよう構成されている。
次に、同図における(2−2)は、HPエラーに係るタイミングチャートである。まず、メダル払出装置Hによる遊技メダルの払出が開始され、ホッパモータ駆動信号がオフからオンとなる。その後、第1払出センサH10sが遊技メダルを検出したことにより、第1払出センサ信号がオフからオンとなり、その後、第2払出センサH20sが遊技メダルを検出したことにより、第2払出センサ信号がオフからオンとなり、第1払出センサ信号及び第2払出センサ信号が共にオンとなる。その後、第1払出センサ信号及び第2払出センサ信号が共にオンとなってから、第2払出センサ信号のオンである期間が同図に示すB(本例では、65.35ms)となった場合にHPエラーとなる。尚、当該Bは図9にて前述したBと同様の、第1払出センサ信号オン且つ第2払出センサ信号オンとなってから第2払出センサ信号がオンを維持している期間となっている。即ち、正常な遊技メダルの払出と判断される期間Bの時間値の範囲は、「B<65.35ms」となっており、このBの期間が、正常な遊技メダルの払出と判断される時間値の範囲外となった場合にはHPエラーが検出されたと判定されるよう構成されている。
次に、同図における(2−3)は、HPエラーに係るタイミングチャートである。まず、メダル払出装置Hによる遊技メダルの払出が開始され、ホッパモータ駆動信号がオフからオンとなる。その後、第1払出センサH10sが遊技メダルを検出したことにより、第1払出センサ信号がオフからオンとなり、その後、第2払出センサH20sが遊技メダルを検出したことにより、第2払出センサ信号がオフからオンとなり、第1払出センサ信号及び第2払出センサ信号が共にオンとなる。その後、同図に示されるCの期間(本例では、13.94ms以上となっている)が経過し、第2払出センサH20sが遊技メダルを検出しなくなったことにより、第2払出センサ信号がオンからオフとなる。その後、第1払出センサ信号及び第2払出センサ信号が共にオンとなってから、第1払出センサ信号のオンである期間が同図に示すD(本例では、65.35ms)となった場合にHPエラーとなる。即ち、第2払出センサ信号がオンである期間が13.94ms以上であり、且つ、第1払出センサ信号がオンである期間が65.35msとなった場合にHPエラーとなる。尚、同図に示す期間Dは、図9にて前述した期間Cと同様の、第1払出センサ信号オン且つ第2払出センサ信号オンとなってから第1払出センサ信号がオンを維持している期間となっている。尚、(2−3)におけるCの期間よりもDの期間の方が長い期間となっている。
次に、同図における(3)は、FEエラーに係るタイミングチャートである。まず、投入受付センサD10sが遊技メダルを検出することにより、投入受付センサ信号がオフからオンとなる。その後、当該投入された遊技メダルによって遊技メダル補助収納庫が満杯となり、満杯検知信号がオフからオンとなる。その後、満杯検知信号がオンである状況下、投入受付センサD10sが遊技メダルを検出しなくなったことにより、投入受付センサ信号がオンからオフとなる。その後、投入受付センサ信号がオンとなったタイミングから同図に示すAの期間(本例では、452.00ms)が経過したタイミングで満杯検知信号がオンのままであることによりFEエラーである旨の表示が獲得枚数表示装置D190にて実行されることとなる。その後、エラー要因が除去された(遊技メダル補助収納庫から遊技メダルを取り除いた)後、FEエラーに係る表示が消去されることにより、FEエラーが解除されることとなる。尚、当該FEエラーの表示は、遊技メダル投入待ちの期間、スタートレバー操作受付待ちの期間、又は、全リール回転停止後において、遊技メダル補助収納庫が満杯となる(満杯検知信号がオンとなる)と、FEエラーと表示されるよう構成されているが、投入受付センサ信号がオフからオンとなったタイミングから同図に示すAの期間(本例では、452.00ms)経過するまではFEエラーである旨の表示は実行されないよう構成されている。
次に、同図における(4)は、CPエラーに係る表である。まず、同図(4)における上段の表は、メダル投入口D170から遊技メダルが投入され、正常な投入として判断される場合の第1投入センサ信号と第2投入センサ信号とのオン・オフの順序に係る表である。図示されているように、「第1投入センサ信号オフ、第2投入センサ信号オフ」→「第1投入センサ信号オン、第2投入センサ信号オフ」→「第1投入センサ信号オン、第2投入センサ信号オン」→「第1投入センサ信号オフ、第2投入センサ信号オン」→「第1投入センサ信号オフ、第2投入センサ信号オフ」の順となった場合に正常に遊技メダルが投入されたと判断される(1枚の遊技メダルの投入を受け付ける)よう構成されている。また、当該上段の表に示した第1投入センサ信号と第2投入センサ信号とのオン・オフの順序ではない場合には、異常な投入として判断されエラーとなるよう構成されているが、同図における下段の表に示される第1投入センサ信号と第2投入センサ信号とのオン・オフの順序となった場合には、エラーとはならないよう構成されている。具体的には、「第1投入センサ信号オフ、第2投入センサ信号オフ」→「第1投入センサ信号オン、第2投入センサ信号オフ」→「第1投入センサ信号オフ、第2投入センサ信号オフ」の順となった場合に正常な投入であるとは判断されないが、エラーにもならないよう構成されている。
次に、同図における(5)は、CHエラーに係るタイミングチャートである。まず、リールM50が回転している状況(CHエラーの表示が不可能である状況)にて、メダル投入口D170から遊技メダルが投入され、投入受付センサD10sが遊技メダルを検出することにより、投入受付センサ信号がオフからオンとなる。その後、投入受付センサ信号がオンである状態が所定期間(本例では、452.00ms)継続することにより、遊技メダルが投入受付センサD10s近傍に滞留していると判断され、CHエラーとなる(CHエラーが検出される)が、リールM50の回転が継続しているためにCHエラーに係る表示が実行されない。その後、リールM50が回転停止したタイミングにて投入受付センサ信号がオンである状態が継続しているために、CHエラーに係る表示が獲得枚数表示装置D190にて実行される。尚、CHエラーに係る表示は、遊技メダル投入待ちの期間、スタートレバー操作受付待ちの期間、又は、全リール回転停止後において実行され得るよう構成されている。
次に、同図における(6)は、CHエラーに係るタイミングチャートである。同図に示されるように、第1投入センサ信号オン且つ第2投入センサ信号オフとなってから、第1投入センサ信号オフ且つ第2投入センサ信号オンとなるまでの期間がAとなっており、第1投入センサ信号オン且つ第2投入センサ信号オンとなってから、第1投入センサ信号オフ且つ第2投入センサ信号オンとなるまでの期間がBとなっており、第1投入センサ信号オン且つ第2投入センサ信号オンとなってから、第1投入センサ信号オフ且つ第2投入センサ信号オンとなるまでの期間がCとなっている。また、正常な遊技メダルの投入と判断される各期間の時間値の範囲は、「9.47ms≦A<188.27ms」、「8.24ms≦B<122.22ms」、「9.47ms≦C<188.27ms」となっており、いずれかの期間が正常な遊技メダルの投入と判断される時間値の範囲外となった場合にはCEエラーが検出されたと判定されるよう構成されている。
尚、同図に示した復帰可能エラーの発生時においては、発生したエラーに対応した表示を獲得枚数表示装置D190に表示すると共に、遊技を停止するよう構成されている。また、発生しているエラーが解消された場合には、獲得枚数表示装置D190の表示をエラー発生前の表示に復帰させ、その後遊技を再開するよう構成されている。
<復帰不可能エラー>
次に、復帰不可能エラーについて説明する。まず、復帰不可能エラーとなる各エラーの発生要因を以下に詳述する。
はじめに、E1エラーの発生要因は、電源投入時において、(1)電源断処理が正常に実行されていない場合、又は(2)RWM領域のチェックサムが異常であると判定された場合(RWMの加算結果が0ではない場合)、となっている。
次に、E5エラーの発生要因は、表示判定時(全リール停止時)に表示されることを意図しない図柄の組み合わせが表示された場合となっている。
次に、E6エラーの発生要因は、割込み処理において設定値の検査を実行し、当該検査結果として設定値が範囲外であった場合となっている。
次に、E7エラーの発生要因は、以下となっている。
(1)乱数更新用のRCK端子に入力されたクロックの周波数異常を検知した場合
乱数回路(RDG)16ビット乱数ch0の乱数値を更新するためのクロックとして、RCK端子に入力される外部クロックを使用しているため、周波数異常時にセットされる内部譲歩得レジスタ(CIF)をソフトウェアで常時監視しており、外部クロックの周波数が内部システムクロックの周波数の1/4を下回った場合は、外部クロックに異常があると判定し、内部情報レジスタ(CIF)の3ビット目に周波数異常ありデータがセットされる。割込み処理において、内部情報レジスタ(CIF)の3ビット目を検査し、周波数異常有りデータがセットされている場合にエラーとなるよう構成されている。
(2)乱数回路(RDG)16ビット乱数ch0〜3の更新状態に異常があった場合は、内部情報レジスタ(CIF)の4〜7ビット目に更新異常有りデータがセットされる。内部情報レジスタ(CIF)の4ビット目はch0の更新状態の異常を示し、5ビット目はch1の更新状態の異常を示し、6ビット目はch2の更新状態の異常を示し、7ビット目はch3の更新状態の異常を示している。割込み処理において、内部情報レジスタ(CIF)の4〜7ビット目を検査し、乱数更新異常データがセットされている場合にエラーとなるよう構成されている。
次に、復帰不可能エラーとなる各エラーに係るエラー表示時の処理を以下に詳述する。
はじめに、E1エラー又はE5エラー表示時の処理としては、割込みを禁止、出力ポート0〜6のオフを実行した後、エラー表示として、獲得枚数表示装置D190に発生している復帰不可能エラー(E1エラー又はE5エラー)に対応したエラー表示を表示すると共に、遊技を停止する。
次に、E6エラー又はE7エラー表示時の処理としては、出力ポート0〜6のオフを実行した後、エラー表示として、獲得枚数表示装置D190に発生している復帰不可能エラー(E6エラー又はE7エラー)に対応したエラー表示を表示すると共に、遊技を停止する。
ここで、図17〜図69を参照し、本実施形態に係る回胴式遊技機における処理の詳細について説明する。
<第1ROM・RWM領域における処理>
まず、図17は、本実施形態に係る回胴式遊技機における、プログラム開始処理のフローチャートである。まず、回胴式遊技機Pの電源を投入した後、ステップ1002で、CPUは、第1ROM・RWM領域内のデータに基づき、QレジスタにRWM上位アドレスをセットする。次に、ステップ1004で、CPUは、第1ROM・RWM領域内のデータに基づき、電源復帰データ異常をセットする。次に、ステップ1006で、CPUは、第1ROM・RWM領域内のデータに基づき、ベクタアドレス(上位)をセットする。次に、ステップ1008で、CPUは、第1ROM・RWM領域内のデータに基づき、割込みマスクレジスタアドレスをセットする。次に、ステップ1010で、CPUは、第1ROM・RWM領域内のデータに基づき、マスカブル割込みIR0使用をセットする。次に、ステップ1012で、CPUは、第1ROM・RWM領域内のデータに基づき、RWMアクセス許可をセットする。次に、ステップ1014で、CPUは、第1ROM・RWM領域内のデータに基づき、RWM領域の先頭アドレスをセットする。
次に、ステップ1016で、CPUは、第1ROM・RWM領域内のデータに基づき、RWMチェックサムを算出し(RWM領域のアドレス「0F000H」〜「0F3FFH」のチェックサムを算出)する。次に、ステップ1018で、CPUは、第1ROM・RWM領域内のデータに基づき、全バイトのチェックサムの算出が終了したか否かを判定する。ステップ1018でYesの場合、ステップ1020で、CPUは、第1ROM・RWM領域内のデータに基づき、ステップ1016で算出したRWMチェックサムが正常であるか否かを判定する。他方、ステップ1018でNoの場合には、ステップ1016へ移行する。ステップ1020でYesの場合、ステップ1022で、CPUは、第1ROM・RWM領域内のデータに基づき、電源断処理が終了しているか否かを判定する。ステップ1022でYesの場合、ステップ1024で、CPUは、第1ROM・RWM領域内のデータに基づき、電源断復帰データ正常をセットし、ステップ1026に移行する。他方、ステップ1020又はステップ1022でNoの場合にも、ステップ1026に移行する。
次に、ステップ1026で、CPUは、第1ROM・RWM領域内のデータに基づき、入力ポート0データを入力する。次に、ステップ1028で、CPUは、第1ROM・RWM領域内のデータに基づき、ドアスイッチ信号、設定ドアスイッチ信号及び設定キースイッチ信号データを取得する。次に、ステップ1030で、CPUは、第1ROM・RWM領域内のデータに基づき、指定スイッチ全信号(例えば、ドアスイッチ信号、設定ドアスイッチ信号及び設定キースイッチ信号)はオンであるか否かを判定する。ステップ1030でYesの場合、ステップ1032で、CPUは、第1ROM・RWM領域内のデータに基づき、設定変更開始時且つ電源断復帰異常時における初期化バイト数及び初期化開始アドレスをセットする。次に、ステップ1034で、CPUは、第1ROM・RWM領域内のデータに基づき、正常に電源復帰したか否かを判定する。ステップ1034でYesの場合、ステップ1036で、CPUは、第1ROM・RWM領域内のデータに基づき、設定変更開始時且つ電源断復帰正常時に対応する初期化バイト数及び初期化開始アドレスをセットする。次に、ステップ1038で、CPUは、第1ROM・RWM領域内のデータに基づき、設定変更が可能な状態である(設定変更フラグがオンである)か否かを判定する。ここで、本実施形態においては、電源断時の状態が遊技メダルの投入受付開始からスタートレバー受付までの期間ではない状況では設定変更が不可能となっている。ステップ1038でNoの場合、ステップ1040に移行する。他方、ステップ1030でNoの場合にも、ステップ1040へ移行する。また、ステップ1034でNoの場合、又は、ステップ1038でYesの場合には、次の処理(ステップ1100の処理)に移行する。
次に、ステップ1040で、CPUは、第1ROM・RWM領域内のデータに基づき、E1エラー(電源断処理が正常に実行されていない、又は、RWM領域のチェックサムが異常である場合のエラー)をセットする。次に、ステップ1042で、CPUは、第1ROM・RWM領域内のデータに基づき、電源断復帰データは正常であるか否かを判定する。ステップ1042でYesの場合、次の処理(ステップ3000の処理)に移行する。尚、ステップ1042でNoの場合、次の処理(ステップ1200の処理)に移行する。より詳細には、ドアスイッチ信号、設定ドアスイッチ信号及び設定キースイッチ信号のすべてがオンである場合において、(1)電源断復帰データが異常である場合、設定変更開始時(電源断復帰異常時)のRWM初期化バイト数及び初期化開始アドレスのセットを実行し、設定変更装置処理に移行する。(2)電源断復帰データが正常である場合、且つ、設定変更が可能な状態である(設定変更フラグがオン)の場合、設定変更開始時(電源断復帰正常時)のRWM初期化バイト数及び初期化開始アドレスのセットを実行し、設定変更装置処理に移行する。(3)電源断復帰データが正常であり、且つ、設定変更が可能でない状態(設定変更フラグがオフ)の場合、後述する電源断復帰処理を実行することとなる。尚、(3)に該当するである場合、即ち電源断復帰データが正常でない場合に復帰不可能エラー処理に移行するよう構成されている。
<第1ROM・RWM領域における処理>
次に、図18は、図17におけるステップ1100のサブルーチンに係る、設定変更装置処理のフローチャートである。まず、ステップ1102で、CPUは、第1ROM・RWM領域内のデータに基づき、スタックポインタ(当該処理の先頭アドレスで初期化する)をセットする。次に、ステップ1104で、CPUは、第1ROM・RWM領域内のデータに基づき、電源断復帰正常時又は電源断復帰異常時に応じた設定変更装置作動開始時のRWM初期化を行う。次に、ステップ1106で、CPUは、第1ROM・RWM領域内のデータに基づき、次のRWMアドレスをセットする。次に、ステップ1108で、CPUは、第1ROM・RWM領域内のデータに基づき、内蔵RWMの初期化が終了したか否かを判定する。ステップ1108でYesの場合、ステップ1110に移行する。他方、ステップ1108でNoの場合、ステップ1104に移行する。
次に、ステップ1110で、CPUは、第1ROM・RWM領域内のデータに基づき、AFレジスタを第1RWM領域に退避し、第2ROM・RWM領域の処理の呼び出しを実行する。尚、AFレジスタを退避させているのは、Fレジスタだけ退避できれば問題ないのだがFレジスタだけを退避することができないためAFレジスタを退避させている。このように構成することによって、直前の演算結果によって上書きされていくFレジスタが割込み処理によって上書きされてしまう(壊れてしまう)ことを回避することができることとなる。
<第2ROM・RWM領域における処理>
次に、ステップ5050で、CPUは、第2ROM・RWM領域内のデータに基づき、後述するRWM初期化処理3を実行し、第1ROM・RWM領域の呼び出し元に復帰する。
<第1ROM・RWM領域における処理>
次に、ステップ1112で、CPUは、第1ROM・RWM領域内のデータに基づき、AFレジスタを復帰させる。次に、ステップ1113で、CPUは、第1ROM・RWM領域内のデータに基づき、割込み起動処理を実行する。尚、本サブルーチン内の処理にて、後述するステップ5950のシリアル通信設定処理(第2ROM・RWM領域における処理)が実行されることとなる。次に、ステップ1114で、設定変更装置作動開始の出力要求をセットする。次に、ステップ1115で、指定されたRWMのデータについて制御コマンドセット処理を実行する。次に、ステップ1116で、CPUは、第1ROM・RWM領域内のデータに基づき、設定変更装置作動開始時の待ち時間をセットする。次に、ステップ117で、CPUは、第1ROM・RWM領域内のデータに基づき、指定された待ち時間が0になるまで待機する。次に、ステップ1118で、CPUは、第1ROM・RWM領域内のデータに基づき、設定変更装置作動中表示を保存する。次に、ステップ1120で、CPUは、第1ROM・RWM領域内のデータに基づき、獲得枚数表示LED(設定変更装置作動中の表示を行う)及び設定表示LEDを点灯する。次に、ステップ1122で、CPUは、第1ROM・RWM領域内のデータに基づき、設定/リセットボタン信号立ち上がりデータを取得する(設定/リセットボタンがオフからオンになった場合は、設定値データを1加算し、設定値6において設定/リセットボタンが操作されると1になる)。次に、ステップ1124で、CPUは、第1ROM・RWM領域内のデータに基づき、設定値データを更新する。
次に、ステップ1126で、CPUは、第1ROM・RWM領域内のデータに基づき、設定値は正常範囲であるか否かを判定する。ステップ1126でNoの場合、ステップ1128で、CPUは、第1ROM・RWM領域内のデータに基づき、設定値データ初期値(本例では0)をセットし、ステップ1130に移行する。他方、ステップ1126でYesの場合にも、ステップ1130に移行する。次に、ステップ1130で、CPUは、第1ROM・RWM領域内のデータに基づき、設定値データを保存する。次に、ステップ1131で、CPUは、第1ROM・RWM領域内のデータに基づき、PTC0による割込みがあるまで待機する。次に、ステップ1132で、CPUは、第1ROM・RWM領域内のデータに基づき、スタートレバーセンサ信号が立ち上がった(スタートレバーD50が操作されることによって、スタートレバーセンサ信号がオフからオンに切り替わった)か否かを判定する。ステップ1132でYesの場合、ステップ1134で、CPUは、第1ROM・RWM領域内のデータに基づき、設定キースイッチ信号が立ち下がった(設定キースイッチM20が操作されることによって、設定キースイッチ信号がオンからオフに切り替わった)か否かを判定する。ステップ1134でYesの場合、ステップ1136に移行する。他方、ステップ1134でNoの場合、設定キースイッチ信号が立ち下がる(設定キースイッチM20が操作されることによって、設定キースイッチ信号がオンからオフに切り替わる)まで、ステップ1134を繰り返す。他方、ステップ1132でNoの場合、ステップ1122に移行し、スタートレバーセンサ信号が立ち上がる(スタートレバーD50操作されることによって、スタートレバーセンサ信号がオフからオンに切り替わる)まで、ステップ1130までの処理を繰り返す。
次に、ステップ1136で、CPUは、第1ROM・RWM領域内のデータに基づき、設定変更装置作動中表示データをクリアする。次に、ステップ1138で、CPUは、第1ROM・RWM領域内のデータに基づき、貯留枚数表示LED及び獲得枚数表示LEDを点灯する(即ち、遊技開始時のLED表示)。次に、ステップ1140で、CPUは、第1ROM・RWM領域内のデータに基づき、設定変更装置作動終了時の出力要求をセットする。次に、ステップ1141で、CPUは、第1ROM・RWM領域内のデータに基づき、指定されたRWMのデータについて制御コマンドセット生成処理を実行し、次の処理(ステップ1300の処理)に移行する。
<第2ROM・RWM領域における処理>
次に、図19は、図18におけるステップ5050のサブルーチンに係る、RWM初期化処理3のフローチャートである。まず、ステップ5052で、CPUは、第2ROM・RWM領域内のデータに基づき、スタックポインタを第2RWM領域に退避する。次に、ステップ5054で、CPUは、第2ROM・RWM領域内のデータに基づき、第2スタックエリアのアドレスをスタックポインタにセットする。尚、本実施形態においては、第2ROM・RWM領域における処理の実行中に第1ROM・RWM領域における割込み処理が発生しないよう構成されている、より詳細には、ステップ1113又はステップ3012の処理にて割込み起動処理を実行した以降の処理においては、メインループ処理にて第2ROM・RWM領域の処理を呼び出す際には割込みを禁止した後に呼び出すよう構成されている。
次に、ステップ5056で、CPUは、第2ROM・RWM領域内のデータに基づき、第2スタックエリアにレジスタを退避する。次に、ステップ5058で、RWM初期化開始アドレスをセットする。次に、ステップ5060で、CPUは、第2ROM・RWM領域内のデータに基づき、RWM初期化バイト数をセットする。
次に、ステップ5062で、CPUは、第2ROM・RWM領域内のデータに基づき、第2RWM領域の初期化を実行する。次に、ステップ5064で、CPUは、第2ROM・RWM領域内のデータに基づき、次のRWMアドレスをセットする。次に、ステップ5066で、CPUは、第2ROM・RWM領域内のデータに基づき、第2RWM領域の初期化が終了したか否かを判定する。ステップ5066でYesの場合、ステップ5068に移行する。他方、ステップ5066でNoの場合、ステップ5062に移行し、第2RWM領域の初期化が終了するまで、初期化の実行を繰り返す。
次に、ステップ5068で、CPUは、第2ROM・RWM領域内のデータに基づき、ステップ5056で、第2スタックエリアに退避したレジスタを復帰する。次に、ステップ5070で、CPUは、第2ROM・RWM領域内のデータに基づき、ステップ5052で第2RWM領域に退避したスタックポインタを復帰(第1スタックエリアのアドレスとしてセット)し、次の処理に移行する。
<第1ROM・RWM領域における処理>
次に、図20は、図17におけるステップ1200のサブルーチンに係る、復帰不可能エラー処理のフローチャートである。まず、ステップ1202で、CPUは、第1ROM・RWM領域内のデータに基づき、割込みを禁止する。次に、ステップ1204で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー表示データ(下位桁)をセットする。次に、ステップ1206で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー表示データ(上位桁)をセットする。次に、ステップ1208で、CPUは、第1ROM・RWM領域内のデータに基づき、クリア出力ポートアドレス及び出力ポート数をセットする。次に、ステップ1210で、CPUは、第1ROM・RWM領域内のデータに基づき、出力ポート(0〜6)をオフにする。ステップ1212で、CPUは、第1ROM・RWM領域内のデータに基づき、次の出力ポートアドレスをセットする。次に、ステップ1214で、CPUは、第1ROM・RWM領域内のデータに基づき、出力が終了したか否かを判定する。ステップ1214でYesの場合、ステップ1216で、エラー表示(出力ポート3及び4)を出力する。次に、ステップ1218で、CPUは、第1ROM・RWM領域内のデータに基づき、上位桁/下位桁の切替を実行し、ステップ1208の処理に移行する。
<第1ROM・RWM領域における処理>
図21は、図17におけるステップ3000のサブルーチンに係る、電源断復帰処理のフローチャートである。まず、ステップ3002で、CPUは、第1ROM・RWM領域内のデータに基づき、電源断時に退避したスタックポインタのアドレスを参照し、スタックポインタを復帰する。次に、ステップ3004で、CPUは、第1ROM・RWM領域内のデータに基づき、電源断復帰時初期化開始アドレス及び初期化バイト数をセットする。次に、ステップ3050で、CPUは、第1ROM・RWM領域内のデータに基づき、後述するRWM初期化処理を実行する。次に、ステップ3006で、CPUは、第1ROM・RWM領域内のデータに基づき、AFレジスタを退避し、第2ROM・RWM領域における処理の呼び出しを実行する。
<第2ROM・RWM領域における処理>
次に、ステップ5900で、CPUは、第2ROM・RWM領域内のデータに基づき、後述するRWM初期化処理2を実行し、第1ROM・RWM領域の呼び出し元に復帰する。
<第1ROM・RWM領域における処理>
次に、ステップ3008で、CPUは、第1ROM・RWM領域内のデータに基づき、AFレジスタを復帰する。次に、ステップ3009で、CPUは、第1ROM・RWM領域内のデータに基づき、入力ポート0〜2読み込み処理(入力ポート0〜2にデータを読み込む処理)を実行する。次に、ステップ3010で、CPUは、第1ROM・RWM領域内のデータに基づき、電源断復帰時外部信号4の出力時間をセットする。次に、ステップ3012で、CPUは、第1ROM・RWM領域内のデータに基づき、割込み起動処理を実行する。尚、本サブルーチン内の処理にてステップ5950のシリアル通信設定処理(第2ROM・RWM領域における処理)が実行される。次に、ステップ3012で、CPUは、第2ROM・RWM領域内のデータに基づき、後述するシリアル通信設定処理を実行し、第1ROM・RWM領域の呼び出し元に復帰する。
<第1ROM・RWM領域における処理>
次に、ステップ3012で、CPUは、第1ROM・RWM領域内のデータに基づき、割込み起動処理を実行する。次に、ステップ3014で、CPUは、第1ROM・RWM領域内のデータに基づき、電源断処理済みフラグをクリアし、次の処理に移行する。
<第1ROM・RWM領域における処理>
次に、図22は、図21におけるステップ3000のサブルーチンに係る、RWM初期化処理のフローチャートである。まず、ステップ3052で、CPUは、第1ROM・RWM領域内のデータに基づき、RWM初期化データをセットし、ステップ3054に移行する。次に、ステップ3054で、CPUは、第1ROM・RWM領域内のデータに基づき、第1RWM領域の初期化を実行する。尚、第2RWM領域の初期化については後述するRWM初期化処理2にて実行されるよう構成されている。次に、ステップ3056で、CPUは、第1ROM・RWM領域内のデータに基づき、第1RWM領域に係るRWM初期化アドレスを更新する。次に、ステップ3058で、CPUは、第1ROM・RWM領域内のデータに基づき、RWM初期化が終了したか否かを判定する。ステップ3058でYesの場合には次の処理に移行する。他方、ステップ3058でNoの場合には、ステップ3054に移行し、第1RWM領域の初期化が終了するまで、ステップ3054〜ステップ3058の処理を繰り返す。尚、本処理においては、第1RWM領域における、第1作業領域と第1スタックエリアを除いた領域にデータ0をセットするよう構成されている。
<第2ROM・RWM領域における処理>
次に、図23は、図21におけるステップ5900のサブルーチンに係る、RWM初期化処理2のフローチャートである。まず、ステップ5902で、CPUは、第2ROM・RWM領域内のデータに基づき、スタックポインタを第2RWM領域に退避する。次に、ステップ5904で、CPUは、第2ROM・RWM領域内のデータに基づき、第2スタックエリアのアドレスをスタックポインタにセットする。次に、ステップ5906で、CPUは、第2ROM・RWM領域内のデータに基づき、第2スタックエリアにレジスタを退避する。次に、ステップ5908で、CPUは、第2ROM・RWM領域内のデータに基づき、第2RWM領域に係るRWM初期化開始アドレスをセットする。次に、ステップ5910で、CPUは、第2ROM・RWM領域内のデータに基づき、RWM初期化バイト数をセットする。次に、ステップ5912で、CPUは、第2ROM・RWM領域内のデータに基づき、第2RWM領域の初期化を実行する。次に、ステップ5914で、CPUは、第2ROM・RWM領域内のデータに基づき、次のRWMアドレスをセットする。次に、ステップ5916で、CPUは、第2ROM・RWM領域内のデータに基づき、第2RWM領域の初期化が終了したか否かを判定する。ステップ5916でYesの場合にはステップ5918に移行する。他方、ステップ5916でNoの場合にはステップ5912に移行し、第2RWM領域の初期化が終了するまでステップ5912〜ステップ5916の処理を繰り返し実行する。
次に、ステップ5918で、CPUは、第2ROM・RWM領域内のデータに基づき、第2RWM領域に係るRWM初期化開始アドレスをセットする。次に、ステップ5920で、CPUは、第2ROM・RWM領域内のデータに基づき、RWM初期化バイト数をセットする。次に、ステップ5922で、CPUは、第2ROM・RWM領域内のデータに基づき、第2RWM領域の初期化を実行する。次に、ステップ5924で、CPUは、第2ROM・RWM領域内のデータに基づき、次のRWMアドレスをセットする。次に、ステップ5926で、CPUは、第2ROM・RWM領域内のデータに基づき、第2RWM領域の初期化が終了したか否かを判定する。ステップ5926でYesの場合にはステップ5928に移行する。他方、ステップ5926でNoの場合、ステップ5922に移行し、第2RWM領域の初期化が終了するまでステップ5922〜ステップ5926の処理を繰り返し実行する。尚、本実施形態においては、第2RWM領域(「F200H」〜「F3FFH」)の未使用領域は、「F200H」〜「F20FH」と「F21EH」〜「F3F1H」との2つの領域に分かれており、ステップ5912〜ステップ5916の処理にて「F200H」〜「F20FH」を初期化し、ステップ5922〜ステップ5926の処理にて「F21EH」〜「F3F1H」を初期化するよう構成されている。次に、ステップ5928で、CPUは、第2ROM・RWM領域内のデータに基づき、ステップ5906で第2スタックエリアに退避したレジスタを復帰する。次に、ステップ5930で、CPUは、第2ROM・RWM領域内のデータに基づき、第2RWM領域に退避していたスタックポインタを復帰し、次の処理に移行する。尚、本処理においては、第2RWM領域における、第2作業領域と第2スタックエリアを除いた領域にデータ0をセットするよう構成されている。
<第2ROM・RWM領域における処理>
次に、図24は、図21におけるステップ5950のサブルーチンに係る、シリアル通信設定処理のフローチャートである。まず、ステップ5952で、CPUは、第2ROM・RWM領域内のデータに基づき、第2RWM領域にスタックポインタを退避する。次に、ステップ5954で、CPUは、第2ROM・RWM領域内のデータに基づき、第2スタックエリアのアドレスをスタックポインタにセットする。次に、ステップ5956で、CPUは、第2ROM・RWM領域内のデータに基づき、第2スタックエリアにレジスタを退避する。次に、ステップ5958で、CPUは、第2ROM・RWM領域内のデータに基づき、SCU1ボーレートレジスタアドレス(下位)をセットする。次に、ステップ5960で、CPUは、第2ROM・RWM領域内のデータに基づき、SCU1ボーレートレジスタをセットする。次に、ステップ5962で、CPUは、第2ROM・RWM領域内のデータに基づき、SCUチャネル1送信機能使用、FIFOモード、データ長9ビット(9ビットにより意味のあるデータが構成される)、パリティ使用(誤りを検出する方式)及び偶数パリティ(データ全体でビット列中に含まれる「1」を偶数となるようにする)、をセットする。次に、ステップ5964で、CPUは、第2ROM・RWM領域内のデータに基づき、ステップ5956で第2スタックエリアに退避したレジスタを復帰する。次に、ステップ5966で、CPUは、第2ROM・RWM領域内のデータに基づき、第2RWM領域に退避していたスタックポインタを復帰し、次の処理に移行する。
<第1ROM・RWM領域における処理>
次に、図25は、図18におけるステップ1300のサブルーチンに係る遊技進行メイン処理のフローチャートである。尚、図25〜図52の処理がメイン処理(ループ処理)のフローチャートとなっている。まず、ステップ1301で、CPUは、第1ROM・RWM領域内のデータに基づき、スタックポインタをセットする。次に、ステップ1302で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技開始セット処理を実行する。尚、ステップ1302の遊技開始セット処理のサブルーチン内の処理にて、後述するステップ1350の遊技メダル受付開始処理が実行されることとなる。次に、ステップ1303で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル枚数を読み込み、遊技メダル枚数の有無をチェックする。次に、ステップ1304で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダルがベットされているか否かを判定する。ステップ1304でNoの場合、ステップ1500で、CPUは、第1ROM・RWM領域内のデータに基づき、後述する遊技メダル投入待ち時の表示処理を実行し、ステップ1550に移行する。他方、ステップ1304でYesの場合には、ステップ1500の処理を実行せずにステップ1550の処理に移行する。
次に、ステップ1550で、CPUは、第1ROM・RWM領域内のデータに基づき、後述する遊技メダル管理処理を実行する。次に、ステップ1305で、CPUは、第1ROM・RWM領域内のデータに基づき、内蔵乱数加工用乱数の更新処理を実行する。次に、ステップ1850で、CPUは、第1ROM・RWM領域内のデータに基づき、後述するスタートレバーチェック処理を実行する。次に、ステップ1306で、CPUは、第1ROM・RWM領域内のデータに基づき、スタートレバーD50の操作があったか否かを判定する。ステップ1306でYesの場合、ステップ2100に移行する。他方、ステップ1306でNoの場合、ステップ1303に移行し、スタートレバーD50の操作があるまで、ステップ1303〜ステップ1306の処理を繰り返し実行する。
次に、ステップ2100で、CPUは、第1ROM・RWM領域内のデータに基づき、後述する内部抽選開始処理を実行する。次に、ステップ1308で、CPUは、第1ROM・RWM領域内のデータに基づき、リールM50の回転を開始する。次に、ステップ1309で、停止済でない全ての図柄について、ずらしコマ数を作成する。次に、ステップ2300で、CPUは、第1ROM・RWM領域内のデータに基づき、後述する回胴停止受付チェック処理を実行する。次に、ステップ2400で、CPUは、第1ROM・RWM領域内のデータに基づき、後述する全回胴停止チェック処理を実行する。次に、ステップ1310で、CPUは、第1ROM・RWM領域内のデータに基づき、全リールが停止したか否かを判定する。ステップ1310でYesの場合、ステップ2450に移行する。他方、ステップ1310でNoの場合にはステップ1308に移行し、全リールが停止するまで、ステップ1308〜ステップ1310の処理を繰り返し実行する。
次に、ステップ2450で、CPUは、第1ROM・RWM領域内のデータに基づき、後述する表示判定処理を実行する。次に、ステップ2500で、CPUは、第1ROM・RWM領域内のデータに基づき、後述する入賞による遊技メダル払出処理を実行する。次に、ステップ1312で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技終了チェック処理を実行する。次に、ステップ1314で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技終了時の出力要求をセットする。次に、ステップ1316で、CPUは、第1ROM・RWM領域内のデータに基づき、指定されたRWMのデータについて制御コマンドセット処理を実行し、ステップ1301の処理に移行することとなる。
<第1ROM・RWM領域における処理>
次に、図26は、図25におけるステップ1350のサブルーチンに係る、遊技メダル受付開始処理のフローチャートである。まず、ステップ1352で、CPUは、第1ROM・RWM領域内のデータに基づき、設定変更フラグをオンにする。次に、ステップ1354で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル枚数データをクリアする。次に、ステップ1356で、CPUは、第1ROM・RWM領域内のデータに基づき、投入枚数表示LED信号データ及びLED表示データをクリアする。次に、ステップ1358で、CPUは、第1ROM・RWM領域内のデータに基づき、再遊技作動時であるか否かを判定する。ステップ1358でYesの場合、ステップ1360に移行する。他方、ステップ1358でNoの場合、ブロッカをオンにし、次の処理に移行する。
次に、ステップ1360で、CPUは、第1ROM・RWM領域内のデータに基づき、自動投入待機時間をセットする。次に、ステップ1362で、CPUは、第1ROM・RWM領域内のデータに基づき、指定された待ち時間が0になるまで待機する。次に、ステップ1364で、CPUは、第1ROM・RWM領域内のデータに基づき、貯留枚数データを取得し、貯留枚数の有無をチェックする。次に、ステップ1366で、CPUは、第1ROM・RWM領域内のデータに基づき、貯留枚数が限界であるか否かを判定する。ステップ1366でNoの場合、ステップ1368で、CPUは、第1ROM・RWM領域内のデータに基づき、ブロッカオン処理を実行し、ステップ1370の処理に移行する。他方、ステップ1366でYesの場合にも、ステップ1370の処理に移行する。次に、ステップ1370で、CPUは、第1ROM・RWM領域内のデータに基づき、再遊技表示LEDを点灯する。次に、ステップ1372で、CPUは、第1ROM・RWM領域内のデータに基づき、自動投入時の出力要求をセットする。次に、ステップ1374で、CPUは、第1ROM・RWM領域内のデータに基づき、指定されたRWM領域のデータについて制御コマンドセット処理を実行する。
次に、ステップ1400で、CPUは、第1ROM・RWM領域内のデータに基づき、後述する遊技メダル1枚加算処理を実行する。次に、ステップ1376で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル限界枚数(3枚)と投入枚数を比較し、遊技メダルが限界であるかチェックする。次に、ステップ1378で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダルが限界である(ベット数が上限値である3枚となっている)か否かを判定する。ステップ1378でYesの場合、次の処理(ステップ1304の処理)に移行する。他方ステップ1378でNoの場合にはステップ1400に移行し、遊技メダルが限界となるまで、ステップ1400及びステップ1376の処理を繰り返し実行することとなる。
<第1ROM・RWM領域における処理>
次に、図27は、図26におけるステップ1400のサブルーチンに係る、遊技メダル1枚加算処理のフローチャートである。まず、ステップ1402で、CPUは、第1ROM・RWM領域内のデータに基づき、獲得枚数データをクリアする。次に、ステップ1404で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル枚数データを読み込み、遊技メダル枚数の有無をチェックする。次に、ステップ1406で、CPUは、第1ROM・RWM領域内のデータに基づき、ベットされている遊技メダル枚数に1を加算し、後述するステップ1450の投入枚数表示データ生成処理に移行する。
<第1ROM・RWM領域における処理>
次に、図28は、図27におけるステップ1450のサブルーチンに係る、投入枚数表示データ生成処理のフローチャートである。まず、ステップ1452で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル枚数データを取得する。次に、ステップ1454で、CPUは、第1ROM・RWM領域内のデータに基づき、投入枚数表示LED信号データを生成する。次に、ステップ1456で、CPUは、第1ROM・RWM領域内のデータに基づき、投入枚数表示LED信号データを保存し、次の処理に移行する。
<第1ROM・RWM領域における処理>
次に、図29は、図25におけるステップ1500のサブルーチンに係る、遊技メダル投入待ち時の表示処理のフローチャートである。まず、ステップ1502で、CPUは、第1ROM・RWM領域内のデータに基づき、設定キースイッチ信号が立ち上がった(オンとなった)か否かを判定する。ステップ1502でYesの場合、ステップ1503で、CPUは、第1ROM・RWM領域内のデータに基づき、ブロッカオフ処理を実行する。次に、ステップ1504で、CPUは、第1ROM・RWM領域内のデータに基づき、設定値表示開始時の出力要求をセットする。次に、ステップ1506で、CPUは、第1ROM・RWM領域内のデータに基づき、指定されたRWM領域のデータについて制御コマンドセット処理を実行する。次に、ステップ1508で、CPUは、第1ROM・RWM領域内のデータに基づき、設定表示LEDを点灯する。次に、ステップ1510で、CPUは、第1ROM・RWM領域内のデータに基づき、設定キースイッチ信号が立ち下がった(オフとなった)か否かを判定する。ステップ1510でYesの場合、ステップ1512に移行する。他方、ステップ1510でNoの場合、即ち、設定キースイッチ信号が立ち下がる(オフとなる)まで設定表示LEDの点灯を維持することとなる。
次に、ステップ1512で、CPUは、第1ROM・RWM領域内のデータに基づき、設定表示LEDを消灯する。次に、ステップ1514で、CPUは、第1ROM・RWM領域内のデータに基づき、設定値表示終了時の出力要求をセットする。次に、ステップ1516で、CPUは、第1ROM・RWM領域内のデータに基づき、指定されたRWM領域のデータについて制御コマンドセット処理を実行する。次に、ステップ1518で、CPUは、第1ROM・RWM領域内のデータに基づき、ブロッカをオンにし、ステップ1520の処理に移行する。また、ステップ1502でNoの場合にも、ステップ1520の処理に移行する。
次に、ステップ1520で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技待機表示が開始されたか否かを判定する。ステップ1520でYesの場合、獲得枚数表示データクリア処理を実行し、次の処理に移行する。また、ステップ1520でNoの場合には、獲得枚数表示データクリア処理を実行せずに次の処理に移行する。
<第1ROM・RWM領域における処理>
次に、図30は、図25におけるステップ1550のサブルーチンに係る、遊技メダル管理処理のフローチャートである。まず、ステップ1552で、CPUは、第1ROM・RWM領域内のデータに基づき、ブロッカ信号はオン(ブロッカD100がオン)であるか否かを判定する。ステップ1552でYesの場合、ステップ1554で、CPUは、第1ROM・RWM領域内のデータに基づき、いずれかの投入センサ信号(第1投入センサ信号と第2投入センサ信号とのいずれか)はオンであるか否かを判定する。ステップ1554でNoの場合にはステップ1556に移行する。他方、ステップ1552でNoの場合にも、ステップ1556に移行する。また、ステップ1554でYesの場合には、後述するステップ1600の第1遊技メダル投入チェック処理を実行する。
次にステップ1556で、CPUは、第1ROM・RWM領域内のデータに基づき、1枚投入スイッチ信号、3枚投入センサ信号及び精算スイッチ信号のいずれかの信号が立ち上がったか否かを判定する。ステップ1556でYesの場合、ステップ1558で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技開始表示LED信号をオフにする。他方、ステップ1556でNoの場合には次の処理に移行する。次に、ステップ1560で、CPUは、第1ROM・RWM領域内のデータに基づき、ステップ1556で立ち上がったと判定された信号が精算スイッチ信号であったか否かを判定する。ステップ1560でYesの場合には次の処理(ステップ1750の処理)に移行する。他方、ステップ1560でNoの場合には、後述するステップ1700の貯留投入処理に移行する。
<第1ROM・RWM領域における処理>
図31は、図30におけるステップ1600のサブルーチンに係る、第1遊技メダル投入チェック処理のフローチャートである。まず、ステップ1602で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技開始表示LED信号をオフにする。次に、ステップ1604で、CPUは、第1ROM・RWM領域内のデータに基づき、入力ポート2レベルデータを取得する。次に、ステップ1606で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー表示要求データを取得する。次に、ステップ1607で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー表示要求データがあったか否かを判定する。ステップ1607でNoの場合、ステップ1608で、CPUは、第1ROM・RWM領域内のデータに基づき、第1投入センサ信号のみがオン、即ち、第1投入センサ信号がオン、且つ、第2投入センサ信号がオフ、であるか否かを判定する。ステップ1608でNoの場合にはステップ1609へ移行する。他方、ステップ1608でYesの場合にはステップ1604に移行し、第1投入センサ信号のみがオンではなくなるまで、ステップ1604〜ステップ1608の処理を繰り返し実行する。次に、ステップ1609で、CPUは、第1ROM・RWM領域内のデータに基づき、投入センサ信号がいずれもオフ、即ち、第1投入センサ信号と第2投入センサ信号とがいずれもオフ、であるか否かを判定する。ステップ1609でYesの場合には次の処理に移行する。尚、前述したように、1枚の遊技メダルが正常に投入される場合の、第1投入センサ信号と第2投入センサ信号とのオン・オフの遷移は、「(1)第1投入センサ信号オフ、且つ、第2投入センサ信号オフ→(2)第1投入センサ信号オン、且つ、第2投入センサ信号オフ→(3)第1投入センサ信号オン、且つ、第2投入センサ信号オン→(4)第1投入センサ信号オフ、且つ、第2投入センサ信号オン→(5)第1投入センサ信号オフ、且つ、第2投入センサ信号オフ」の順に遷移するよう構成されており、前記(2)のオン・オフ状況においては、ステップ1604〜ステップ1610の処理を繰り返し実行することとなる。また、「(2)第1投入センサ信号オン、且つ、第2投入センサ信号オフ→(1)第1投入センサ信号オフ、且つ、第2投入センサ信号オフとなった場合には、ステップ1612でYesとなり、正常な投入であるとは判定されないが、エラーとしても検出されないよう構成されている。
また、ステップ1609でNoの場合、ステップ1610で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル限界セット処理を実行する。次に、ステップ1611で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル枚数読み込み処理(遊技メダル枚数データを読み込み、遊技メダル枚数の有無をチェックする処理)を実行する。次に、ステップ1612で、CPUは、第1ROM・RWM領域内のデータに基づき、貯留枚数読み込み処理(貯留枚数データを取得し、貯留枚数の有無をチェックする処理)を実行する。次に、ステップ1614で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル枚数(ベット数)及び貯留枚数(クレジット数)のメダル合計枚数を算出し、ステップ1615に移行する。
次に、ステップ1615で、CPUは、第1ROM・RWM領域内のデータに基づき、メダル投入は不可であるか否かを判定する。ステップ1615で、Yesの場合、ステップ1616で、CPUは、第1ROM・RWM領域内のデータに基づき、ブロッカをオフにし、ステップ1617の処理に移行する。他方ステップ1615でNoの場合にも、ステップ1617の処理に移行する。次に、ステップ1617で、CPUは、第1ROM・RWM領域内のデータに基づき、入力ポート2レベルデータを取得する。次に、ステップ1618で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー表示要求データを取得する。次に、ステップ1620で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー表示要求データがあったか否かを判定する。ステップ1620でYesの場合、ステップ1650で、CPUは、第1ROM・RWM領域内のデータに基づき、後述するエラー表示処理を実行し、ブロッカオン処理を実行して次の処理に移行する。他方、ステップ1607でYesの場合にもステップ1650に移行する。
次に、ステップ1620でNoの場合、ステップ1622で、CPUは、第1ROM・RWM領域内のデータに基づき、第1投入センサ信号と第2投入センサ信号とのいずれかの投入センサ信号がオンであるか否かを判定する。ステップ1622でYesの場合にはステップ1617に移行する。尚、前記(3)及び(4)のオン・オフ状況においては、ステップ1617〜ステップ1622の処理を繰り返し実行することとなる。
次に、ステップ1622でNoの場合、即ち、第1投入センサ信号と第2投入センサ信号とがいずれもオフであった場合、ステップ1624で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル投入時の出力要求をセットする。次に、ステップ1626で、CPUは、第1ROM・RWM領域内のデータに基づき、指定されたRWM領域のデータについて制御コマンドセット処理を実行する。次に、ステップ1628で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル枚数を取得し、遊技メダル限界枚数(3枚)と投入枚数を比較し、遊技メダル限界であるかチェックする。次に、ステップ1630で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダルが限界であるか否かを判定する。ステップ1630でYesの場合には貯留枚数1枚加算処理を実行して次の処理に移行する。他方、ステップ1630でNoの場合にはステップ1400で、前述の遊技メダル1枚加算処理を実行する。尚、同図に示す第1遊技メダル投入チェック処理は、メイン処理(非割込み処理、ループ処理とも称する)であり、第1ROM・RWM領域の処理となっている。また、本処理においては、第1投入センサ信号と第2投入センサ信号とのオン・オフ状況を確認することにより遊技メダルが正常に投入されたか否かを判定するよう構成されており、第1投入センサ信号と第2投入センサ信号とのオン・オフに係る期間の計測は第2ROM・RWM領域における処理にて実行されることとなる(詳細は後述する)。
<第1ROM・RWM領域における処理>
次に、図32は、図31におけるステップ1650のサブルーチンに係る、エラー表示処理のフローチャートである。まず、ステップ1652で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー番号を保存する。次に、ステップ1654で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー前ブロッカ信号及びホッパモータ駆動信号状態情報を退避する。次に、ステップ1656で、CPUは、第1ROM・RWM領域内のデータに基づき、ホッパモータ駆動信号をオフにする。次に、ステップ1658で、CPUは、第1ROM・RWM領域内のデータに基づき、ブロッカをオフにする。次に、ステップ1659で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技開始表示LED信号をオフにする。次に、ステップ1660で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー表示開始時の出力要求をセットする。次に、ステップ1661で、CPUは、第1ROM・RWM領域内のデータに基づき、制御コマンド生成処理を実行する。次に、ステップ1662で、CPUは、第1ROM・RWM領域内のデータに基づき、設定/リセットボタン信号が立ち上がった(オンとなった)か否かを判定する。ステップ1662でYesの場合、ステップ1664で、CPUは、第1ROM・RWM領域内のデータに基づき、設定/リセットボタン信号立ち上がりデータをクリアする。他方、ステップ1662でNoの場合、設定/リセットボタン信号が立ち上がる(オンとなる)までステップ1662の処理を繰り返す。
次に、ステップ1666で、CPUは、第1ROM・RWM領域内のデータに基づき、満杯検知信号検査データ及び入力ポート0レベルデータに対応するRWMアドレスをセットする。次に、ステップ1668で、CPUは、第1ROM・RWM領域内のデータに基づき、FEエラー(遊技メダル補助収納庫が満杯になった場合のエラー)時であるか否かを判定する。ステップ1668でNoの場合、ステップ1670で、CPUは、第1ROM・RWM領域内のデータに基づき、払出センサ検査データ及び入力ポート2レベルデータに対応するRWMアドレスをセットする。
次に、ステップ1672で、CPUは、第1ROM・RWM領域内のデータに基づき、払出関連エラー(例えば、HPエラー等)時であるか否かを判定する。ステップ1672でNoの場合、ステップ1674で、CPUは、第1ROM・RWM領域内のデータに基づき、投入センサ(第1投入センサ、第2投入センサ)及び投入受付センサの検査データをセットする。次に、ステップ1676で、CPUは、第1ROM・RWM領域内のデータに基づき、ステップ1666、ステップ1670及びステップ1674の処理に係る検査データを参照し、当該検査データによる各エラー毎の入力状態をチェックする。次に、ステップ1678で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー要因が除去された、即ち、エラーが検出されない状況となったか否かを判定する。ステップ1678でYesの場合、ステップ1680で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー番号をクリアする。他方、ステップ1678でNoの場合にはステップ1662に移行し、エラー要因が除去されるまで、ステップ1662〜ステップ1678の処理を繰り返し実行する。
次に、ステップ1680で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー番号をクリアする。次に、ステップ1682で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー表示終了時の出力要求をセットする。次に、ステップ1683で、CPUは、第1ROM・RWM領域内のデータに基づき、指定されたRWM領域のデータについて制御コマンドセット処理を実行する。次に、ステップ1684で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー前ブロッカ信号及びホッパモータ駆動状態情報を復帰する。次に、ステップ1686で、CPUは、第1ROM・RWM領域内のデータに基づき、ホッパモータ駆動信号を復帰する。次に、ステップ1688で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー前のブロッカ信号はオンであったか否かを判定する。ステップ1688でYesの場合、ブロッカをオンにし、次の処理に移行する。他方、ステップ1688でNoの場合、ブロッカをオンにすること無く、次の処理に移行する。
<第1ROM・RWM領域における処理>
次に、図33は、図30におけるステップ1700のサブルーチンに係る、貯留投入処理のフローチャートである。まず、ステップ1701で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル限界枚数(3枚)と投入枚数を比較し、遊技メダルが限界であるかチェックする。次に、ステップ1702で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダルが限界(ベット数の上限値であり、本例では、3枚)であるか否かを判定する。ステップ1702でNoの場合、ステップ1704で、CPUは、第1ROM・RWM領域内のデータに基づき、投入要求枚数として、1枚をセットする。他方、ステップ1702でYesの場合には次の処理に移行する。
次に、ステップ1706で、CPUは、第1ROM・RWM領域内のデータに基づき、1枚投入スイッチ信号が立ち上がったか否かを確認する。ステップ1706でNoの場合、ステップ1708で、CPUは、第1ROM・RWM領域内のデータに基づき、投入要求枚数として、「遊技メダル限界枚数−投入枚数」をセットし、ステップ1709に移行する。他方、ステップ1706でYesの場合には、ステップ1708の処理を実行せずに、ステップ1709に移行する。次に、ステップ1709で、CPUは、第1ROM・RWM領域内のデータに基づき、貯留枚数データを取得し、貯留枚数の有無をチェックする。次に、ステップ1710で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル貯留枚数(クレジット数)があるか(0ではないか)否かを判定する。ステップ1710で、Yesの場合、ステップ1712で、CPUは、第1ROM・RWM領域内のデータに基づき、入力ポート1立ち上がりデータをクリアする。他方、ステップ1710でNoの場合には次の処理に移行する。
次に、ステップ1714で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル貯留枚数(クレジット数)が投入要求枚数以上であるか否かを判定する。ステップ1714でNoの場合、即ち、クレジット数が投入要求枚数に満たないために、ステップ1716で、CPUは、第1ROM・RWM領域内のデータに基づき、投入要求枚数ではなく遊技メダル貯留枚数(クレジット数)をセットし、ステップ1718に移行する。他方、ステップ1714でYesの場合には、ステップ1716の処理を実行せずにステップ1718の処理に移行する。次に、ステップ1718で、CPUは、第1ROM・RWM領域内のデータに基づき、貯留投入時の出力要求をセットする。次に、ステップ1719で、CPUは、第1ROM・RWM領域内のデータに基づき、指定されたRWM領域のデータについて制御コマンドセット処理を実行し、ステップ1400に移行する。次に、ステップ1400で、CPUは、第1ROM・RWM領域内のデータに基づき、前述した遊技メダル1枚加算処理を実行する。
次に、ステップ1720で、CPUは、第1ROM・RWM領域内のデータに基づき、ステップ1400にて遊技メダルを1枚加算したことにより貯留枚数データを1減算する。次に、ステップ1722で、CPUは、第1ROM・RWM領域内のデータに基づき、投入要求枚数の投入が終了したか否かを判定する。ステップ1722でYesの場合には次の処理に移行する。他方、ステップ1722でNoの場合、ステップ1400に移行し、投入要求枚数の投入が終了するまで、ステップ1400〜ステップ1722の処理を繰り返し実行する。
<第1ROM・RWM領域における処理>
次に、図34は、図30におけるステップ1750のサブルーチンに係る、遊技メダル管理処理のフローチャートである。まず、ステップ1751で、CPUは、第1ROM・RWM領域内のデータに基づき、ブロッカオン時監視時間が経過したか否かを判定する。ステップ1751でYesの場合、ステップ1752で、CPUは、第1ROM・RWM領域内のデータに基づき、精算開始時の出力要求をセットする。他方、ステップ1751でNoの場合にはブロッカオン時監視時間が経過していないため、次の処理に移行する。次に、ステップ1753で、CPUは、第1ROM・RWM領域内のデータに基づき、再遊技作動時であるか否かを判定する。ステップ1753でNoの場合、ステップ1754で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル枚数を読み込み、遊技メダル枚数の有無をチェックする。ステップ1755で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技の用に供する遊技メダル(ベットされている遊技メダル)があるか否かを判定する。ステップ1755でYesの場合、ステップ1756で、CPUは、第1ROM・RWM領域内のデータに基づき、ブロッカオフ処理を実行する。次に、ステップ1758で、CPUは、第1ROM・RWM領域内のデータに基づき、制御コマンドセット処理を実行する。次に、ステップ1759で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル読み込み処理(遊技メダル枚数の有無をチェックする処理)を実行する。次に、ステップ1800で、CPUは、第1ROM・RWM領域内のデータに基づき、後述する遊技メダル1枚払出処理を実行する。次に、ステップ1760で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル読み込み処理(遊技メダル枚数の有無をチェックする処理)を実行する。次に、ステップ1761で、CPUは、第1ROM・RWM領域内のデータに基づき、ベットされている遊技メダル枚数を1減算する。次に、ステップ1450で、CPUは、第1ROM・RWM領域内のデータに基づき、前述した投入枚数表示データ生成処理を実行する。次に、ステップ1762で、CPUは、第1ROM・RWM領域内のデータに基づき、ベットされている遊技メダルの精算が終了したか否かを判定する。ステップ1762でNoの場合にはステップ1759に移行し、遊技メダルの精算が終了するまで、ステップ1759〜ステップ1762の処理を繰り返し実行する。
また、ステップ1753でYesの場合、又は、ステップ1755でNoの場合、ステップ1763で、CPUは、第1ROM・RWM領域内のデータに基づき、貯留枚数データを取得し、貯留枚数の有無をチェックする。次に、ステップ1764で、貯留メダル(クレジット数)があるか否かを判定する。ステップ1764でYesの場合、ステップ1765で、CPUは、第1ROM・RWM領域内のデータに基づき、ブロッカオフ処理を実行する。次に、ステップ1766で、CPUは、第1ROM・RWM領域内のデータに基づき、指定されたRWM領域のデータについて制御コマンドセット処理を実行する。次に、ステップ1767で、CPUは、第1ROM・RWM領域内のデータに基づき、演出表示LEDを点灯する。他方、ステップ1764でNoの場合には次の処理に移行する。次に、ステップ1768で、CPUは、第1ROM・RWM領域内のデータに基づき、貯留枚数データを取得し、貯留枚数の有無をチェックする。次に、ステップ1800で、CPUは、第1ROM・RWM領域内のデータに基づき、後述する遊技メダル1枚払出処理を実行する。次に、ステップ1769で、CPUは、第1ROM・RWM領域内のデータに基づき、貯留枚数データを1減算する。次に、ステップ1770で、CPUは、第1ROM・RWM領域内のデータに基づき、貯留メダルの精算が終了したか否かを判定する。ステップ1770でNoの場合には、ステップ1768に移行し、貯留メダル(クレジット数)の精算が終了するまで、ステップ1768〜ステップ1770の処理を繰り返し実行する。他方、ステップ1770でYesの場合、ステップ1772で、CPUは、第1ROM・RWM領域内のデータに基づき、演出表示LEDを消灯し、ステップ1774に移行する。また、ステップ1762でYesの場合、即ち、ベットされている遊技メダルの精算が終了した場合にもステップ1774に移行する。次に、ステップ1774で、CPUは、第1ROM・RWM領域内のデータに基づき、精算終了時の出力要求をセットする。次に、ステップ1776で、CPUは、第1ROM・RWM領域内のデータに基づき、指定されたRWM領域のデータについて制御コマンドセット処理を実行し、ブロッカオン処理を実行して次の処理に移行する。
<第1ROM・RWM領域における処理>
次に、図35は、図34におけるステップ1800のサブルーチンに係る、遊技メダル1枚払出処理のフローチャートである。まず、ステップ1802で、CPUは、第1ROM・RWM領域内のデータに基づき、残り払出枚数に係るデータを退避する。次に、ステップ1804で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー未検出をセットする。次に、ステップ1806で、CPUは、第1ROM・RWM領域内のデータに基づき、HPエラー{図15の(2−1)〜(2−3)にて前述したエラーであり、第1払出センサ又は第2払出センサに遊技メダルが滞留した場合に発生するエラー}をセットする。次に、ステップ1808で、CPUは、第1ROM・RWM領域内のデータに基づき、エラーが検出されたか否かを判定する。ステップ1808でYesの場合、ステップ1650で、CPUは、第1ROM・RWM領域内のデータに基づき、前述したエラー表示処理を実行し、ステップ1810に移行する。他方、ステップ1808でNoの場合には、ステップ1650の処理を実行せずにステップ1810に移行する。
次に、ステップ1810で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル払出装置制御時間をセットする。次に、ステップ1812で、CPUは、第1ROM・RWM領域内のデータに基づき、ホッパモータ駆動信号をオンにし、ステップ1814に移行する。次に、ステップ1814で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル払出装置制御時間が経過したか否かを判定する。ステップ1814でNoの場合、ステップ1816で、CPUは、第1ROM・RWM領域内のデータに基づき、第1払出センサ信号がオンであるか否かを判定する。ステップ1816でNoの場合には、ステップ1814に移行し、第1払出センサ信号がオン又は遊技メダル払出装置制御時間が経過するまで、ステップ1814〜ステップ1816の処理を繰り返し実行する。次に、ステップ1818で、CPUは、第1ROM・RWM領域内のデータに基づき、第1払出センサ検出時間をセットする。
次に、ステップ1820で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル詰まりを検出したか否かを判定する。ステップ1820でNoの場合、ステップ1822で、CPUは、第1ROM・RWM領域内のデータに基づき、第2払出センサ信号がオンであるか否かを判定する。ステップ1822でYesの場合、ステップ1823で、CPUは、第1ROM・RWM領域内のデータに基づき、第2払出センサ2検出時間をセットする。他方、ステップ1822でNoの場合、ステップ1820に移行し、第2払出センサ信号がオン、又は、遊技メダル詰まりを検出するまで、ステップ1820〜ステップ1823の処理を繰り返し実行する。
次に、ステップ1824で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル詰まりを検出したか否かを判定する。ステップ1824でNoの場合、ステップ1825で、CPUは、第1ROM・RWM領域内のデータに基づき、第2払出センサ信号はオフであるか否かを判定する。ステップ1825でYesの場合、ステップ1826で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダルの払出は無効であるか否かを判定する。ステップ1826でNoの場合、ステップ1827で、CPUは、第1ROM・RWM領域内のデータに基づき、第1払出センサ信号はオフであるか否かを判定する。ステップ1827でYesの場合、ステップ1828で、ステップ1802で退避していた残り払出枚数に係るデータを復帰する。また、ステップ1825又はステップ1827でNoの場合にはステップ1824に移行し、第1払出センサと第2払出センサとがオフとなるまでステップ1824〜ステップ1827の処理を繰り返し実行する。また、ステップ1820又はステップ1824でYesの場合にはステップ1806に移行する。また、ステップ1826でYesの場合には、ステップ1814に移行する。
次に、ステップ1829で、CPUは、第1ROM・RWM領域内のデータに基づき、残り払出枚数を1減算する。次に、ステップ1830で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダルの払出が終了したか否かを判定する。ステップ1830でYesの場合、ステップ1831で、CPUは、第1ROM・RWM領域内のデータに基づき、ホッパモータ駆動信号をオフにし、次の処理に移行する。他方、ステップ1830でNoの場合にも、次の処理に移行する。
また、ステップ1814でYesの場合、即ち、遊技メダル払出装置制御時間が経過した場合、ステップ1832で、CPUは、第1ROM・RWM領域内のデータに基づき、ホッパモータ駆動信号をオフにする。次に、ステップ1833で、CPUは、第1ROM・RWM領域内のデータに基づき、第1払出センサ検出時間をセットし、ステップ1834に移行する。次に、ステップ1834で、CPUは、第1ROM・RWM領域内のデータに基づき、第1払出センサ信号はオンであるか否かを判定する。ステップ1834でNoの場合、ステップ1836で、CPUは、第1ROM・RWM領域内のデータに基づき、第1払出センサ検出時間が経過したか否かを判定する。ステップ1836でYesの場合、ステップ1838で、CPUは、第1ROM・RWM領域内のデータに基づき、HEエラー(メダル払出装置H内の遊技メダルが空であると判断した場合のエラー)をセットし、次の処理に移行する。他方、ステップ1836でNoの場合、ステップ1834に移行し、第1払出センサの信号がオンとなる、又は、第1払出センサ検出時間が経過するまで、ステップ1834〜ステップ1836の処理を繰り返し実行する。他方、ステップ1834でYesの場合にはステップ1810に移行する。
<第1ROM・RWM領域における処理>
次に、図36は、図25におけるステップ1850のサブルーチンに係る、スタートレバーチェック処理のフローチャートである。まず、ステップ1900で、CPUは、第1ROM・RWM領域内のデータに基づき、後述する投入・払出センサ異常表示処理を実行する。次に、ステップ1851で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル限界枚数(3枚)と投入枚数を比較し、遊技メダルが限界であるかチェックする。次に、ステップ1852で、CPUは、第1ROM・RWM領域内のデータに基づき、規定数は一致しているか否かを判定する。ステップ1852でYesの場合、ステップ1854で、CPUは、第1ROM・RWM領域内のデータに基づき、ブロッカオン時監視時間が経過したか否かを判定する。ステップ1854でNoの場合、ステップ1856で、遊技開始表示LED信号をオフにし、次の処理に移行する。
他方、ステップ1854でYesの場合、ステップ1858で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技開始表示LED信号をオンにする。次に、ステップ1860で、CPUは、第1ROM・RWM領域内のデータに基づき、入力ポート1立ち上がりデータを取得する。次に、ステップ1862で、CPUは、第1ROM・RWM領域内のデータに基づき、スタートレバーセンサ信号はオンであるか否かを判定する。ステップ1862でYesの場合、後述するステップ2050のスタートレバー受付処理に移行する。他方、ステップ1852又はステップ1862でNoの場合には次の処理に移行する。
<第1ROM・RWM領域における処理>
次に、図37は、図36におけるステップ1900のサブルーチンに係る、投入・払出センサ異常表示処理のフローチャートである。ステップ1902で、CPUは、第1ROM・RWM領域内のデータに基づき、割込みを禁止する。次に、ステップ1904で、CPUは、第1ROM・RWM領域内のデータに基づき、AFレジスタを退避する。次に、CPUは、第2ROM・RWM領域内のデータに基づき、後述する投入・払出センサ異常セット処理を実行する。次に、ステップ1906で、CPUは、第1ROM・RWM領域内のデータに基づき、ステップ1904で、第1スタックエリアに退避したAFレジスタを復帰させる。次に、ステップ1908で、CPUは、第1ROM・RWM領域内のデータに基づき、割込みを許可する。次に、ステップ1910で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー表示要求データを取得する。次に、ステップ1912で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー表示要求データがあるか否かを判定する。ステップ1912でNoの場合、ステップ1650で、後述するエラー表示処理を実行する。
次にステップ1914で、CPUは、第1ROM・RWM領域内のデータに基づき、割込みを禁止する。次に、ステップ1916で、CPUは、第1ROM・RWM領域内のデータに基づき、AFレジスタを退避する(例えば、第1スタックエリアに退避する)。次に、ステップ5150で、CPUは、第1ROM・RWM領域内のデータに基づき、後述する投入・払出センサ異常クリア処理を実行する。次に、ステップ1920で、CPUは、第1ROM・RWM領域内のデータに基づき、ステップ1916で退避したAFレジスタを復帰する。次に、ステップ1922で、CPUは、第1ROM・RWM領域内のデータに基づき、割込みを許可し、ステップ1902の処理に移行し、エラー表示要求データが存在しなくなる(即ち、ステップ1912でYesとなる)まで、処理を繰り返す。尚、ステップ1912でYesの場合には、次の処理(ステップ1950の処理)に移行する。このように、本実施形態においては、ステップ1113又はステップ3012の処理にて割込み起動処理を実行した以降の処理においては、メインループ処理にて第2ROM・RWM領域の処理を呼び出す際には割込みを禁止した後に呼び出すよう構成されている。このように構成することにより、第2ROM・RWM処理の実行中に割込み処理が実行されないよう構成されることとなり、第2ROM・RWM領域の処理の実行後に第1ROM・RWM領域の処理を実行する場合には、第2スタックエリアは常にデータが積みあがっていない状態とすることができる(常に第2スタックエリアのアドレスが「F3FFH」である状態とすることができる)。このように構成することにより、第2ROM・RWM領域の処理の実行中に割込み処理が発生し、第2スタックエリアにデータが積みあがっている(例えば、第2スタックエリアのアドレスが「F3F8H」となっている)場合には、当該割込み処理内にお第2ROM・RWM領域における処理によって第2スタックエリアに再度データが積みあがっていくような事態を防止することができ、複雑な処理が実行されないよう構成できると共に、第2スタックエリアの最大使用量を少なくすることができることとなる。
<第2ROM・RWM領域における処理>
図38は、図37におけるステップ5100の処理のサブルーチンに係る、投入・払出センサ異常セット処理のフローチャートである。まず、ステップ5102で、CPUは、第2ROM・RWM領域内のデータに基づき、第2RWM領域にスタックポインタを退避する。次に、ステップ5104で、CPUは、第2ROM・RWM領域内のデータに基づき、第2スタックエリアのアドレスをスタックポインタにセットする。次に、ステップ5106で、CPUは、第2ROM・RWM領域内のデータに基づき、第2スタックエリアにレジスタを退避する。次に、ステップ5108で、CPUは、第2ROM・RWM領域内のデータに基づき、CHエラー表示要求をセットする。
次に、ステップ5110で、CPUは、第2ROM・RWM領域内のデータに基づき、CHエラー(投入受付センサD10sに遊技メダルが滞留したと判断した場合のエラー)を検出したか否かを判定する。ステップ5110でNoの場合、ステップ5112で、CPUは、第2ROM・RWM領域内のデータに基づき、エラー表示要求をクリアし、ステップ5114に移行する。他方、ステップ5110でYesの場合にも、ステップ5114に移行する。次に、ステップ5114で、CPUは、第2ROM・RWM領域内のデータに基づき、エラー表示要求データを保存する。次に、ステップ5116で、CPUは、第2ROM・RWM領域内のデータに基づき、ステップ5106で第2スタックエリアに退避したレジスタを復帰する。次に、ステップ5118で、CPUは、第2ROM・RWM領域内のデータに基づき、第2RWM領域に退避していたスタックポインタを復帰し、次の処理に移行する。
<第2ROM・RWM領域における処理>
次に、図39は、図37におけるステップ5150の処理のサブルーチンに係る、投入・払出センサ異常クリア処理のフローチャートである。まず、ステップ5152で、CPUは、第2ROM・RWM領域内のデータに基づき、スタックポインタを第2RWM領域に退避する。次に、ステップ5154で、CPUは、第2ROM・RWM領域内のデータに基づき、第2スタックエリアのアドレスをスタックポインタにセットする。次に、ステップ5156で、CPUは、第2ROM・RWM領域内のデータに基づき、第2スタックエリアにレジスタを退避する。次に、ステップ5158で、CPUは、第2ROM・RWM領域内のデータに基づき、エラー検出フラグをセットする。
次に、ステップ5160で、CPUは、第2ROM・RWM領域内のデータに基づき、CHエラー(投入受付センサD10sに遊技メダルが滞留したと判断した場合のエラー)の表示要求があるか否かを判断する。ステップ5160でYesの場合、ステップ5162で、CPUは、第2ROM・RWM領域内のデータに基づき、CHエラー検出フラグをクリアし、ステップ5164に移行する。他方、ステップ5160でNoの場合にも、ステップ5164に移行する。次に、ステップ5164で、CPUは、第2ROM・RWM領域内のデータに基づき、ステップ5156で第2スタックエリアに退避したレジスタを復帰する。次に、ステップ5166で、CPUは、第2ROM・RWM領域内のデータに基づき、ステップ5152で、第2RWM領域に退避したスタックポインタを復帰し、次の処理に移行する。
<第1ROM・RWM領域における処理>
次に、図40は、図37におけるステップ1950のサブルーチンに係る、オーバーフロー表示処理のフローチャートである。まず、ステップ1952で、CPUは、第1ROM・RWM領域内のデータに基づき、投入受付センサ滞留時間が経過したか否かを判定する。ステップ1952でYesの場合、ステップ1954で、CPUは、第1ROM・RWM領域内のデータに基づき、オーバーフロー表示があるか否かを確認する。ステップ1954でYesの場合、ステップ1956で、CPUは、第1ROM・RWM領域内のデータに基づき、FEエラー(遊技メダル補助収納庫が満杯であると判断した場合のエラー)をセットし、次の処理に移行する。また、ステップ1952又はステップ1954でNoの場合にも、次の処理に移行する。
<第1ROM・RWM領域における処理>
次に、図41は、本実施形態における回胴式遊技機に係る、スタートレバー受付処理のフローチャートである。まず、ステップ2052で、CPUは、第1ROM・RWM領域内のデータに基づき、内蔵乱数を乱数値レジスタに取り込む。次に、ステップ2053で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技開始表示LED信号をオフにする。次に、ステップ2054で、CPUは、第1ROM・RWM領域内のデータに基づき、設定変更フラグをオフにする。次に、ステップ2055で、CPUは、第1ROM・RWM領域内のデータに基づき、ブロッカオフ処理(ブロッカをオフにする処理)を実行する。次に、ステップ2056で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル読み込み処理を実行する。次に、ステップ2058で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル枚数を2倍とする。
次に、ステップ2060で、CPUは、第1ROM・RWM領域内のデータに基づき、割込みを禁止する。次に、ステップ2062で、CPUは、第1ROM・RWM領域内のデータに基づき、メダル投入信号出力回数をセットする。次に、ステップ2064で、CPUは、第1ROM・RWM領域内のデータに基づき、再遊技状態識別情報フラグをオフにする。次に、ステップ2066で、CPUは、第1ROM・RWM領域内のデータに基づき、回胴回転開始受付時の出力要求をセットする。次に、ステップ2067で、CPUは、第1ROM・RWM領域内のデータに基づき、制御コマンド生成処理を実行する。次に、ステップ2068で、CPUは、第1ROM・RWM領域内のデータに基づき、スタートレバー受付をセットし、次の処理に移行する。
<第1ROM・RWM領域における処理>
次に、図42は、図25におけるステップ2100のサブルーチンに係る、内部抽選開始処理のフローチャートである。まず、ステップ2102で、CPUは、第1ROM・RWM領域内のデータに基づき、乱数値(RLOSV)を読み込む。次に、ステップ2104で、CPUは、第1ROM・RWM領域内のデータに基づき、内蔵乱数加工用乱数の取得をする。次に、ステップ2106で、CPUは、第1ROM・RWM領域内のデータに基づき、乱数値を加算する。次に、ステップ2108で、CPUは、第1ROM・RWM領域内のデータに基づき、内部抽選用乱数をセットする。次に、ステップ2110で、CPUは、第1ROM・RWM領域内のデータに基づき、入賞及び再遊技の条件装置番号6(あくまで一例であり、条件装置番号6のみには限定されない)をセットする。次に、ステップ2112で、CPUは、第1ROM・RWM領域内のデータに基づき、内部抽選選択テーブル1(あくまで一例であり、内部抽選選択テーブル1のみには限定されない)をセットする。次に、ステップ2113で、CPUは、第1ROM・RWM領域内のデータに基づき、テーブル選択処理(オフセット値で指定したテーブルアドレスを取得する処理)を実行する。次に、ステップ2114で、CPUは、第1ROM・RWM領域内のデータに基づき、抽選判定を実行する。
次に、ステップ2116で、CPUは、第1ROM・RWM領域内のデータに基づき、ステップ2114の抽選判定に当選したか否かを判定する。ステップ2116でNoの場合、ステップ2118で、CPUは、第1ROM・RWM領域内のデータに基づき、入賞及び再遊技の条件装置番号23(あくまで一例であり、条件装置番号23のみには限定されない)をセットする。次に、ステップ2120で、CPUは、第1ROM・RWM領域内のデータに基づき、内部抽選テーブル09(あくまで一例であり、内部抽選テーブル09のみには限定されない)をセットする。次に、ステップ2122で、CPUは、第1ROM・RWM領域内のデータに基づき、作動種別を取得する。次に、ステップ2124で、CPUは、第1ROM・RWM領域内のデータに基づき、ボーナス未作動時であるか否かを判定する。ステップ2124でNoの場合、ステップ2125で、CPUは、第1ROM・RWM領域内のデータに基づき、内部抽選選択テーブル3(あくまで一例であり、内部抽選選択テーブル3のみには限定されない)をセットする。次に、ステップ2126で、CPUは、第1ROM・RWM領域内のデータに基づき、内部抽選テーブルセット処理を実行し、ステップ2128に移行する。他方、ステップ2124でYesの場合にも、ステップ2128に移行する。
次に、ステップ2128で、CPUは、第1ROM・RWM領域内のデータに基づき、抽選判定を実行し、ステップ2150に移行する。また、ステップ2116でYesの場合にもステップ2150に移行する。次に、ステップ2150で、CPUは、第1ROM・RWM領域内のデータに基づき、抽選判定を実行し、条件装置コマンドセット処理を実行する。尚、当該条件装置コマンドセット処理内において、第2ROM・RWM領域の処理であるステップ5200の図柄停止信号出力処理の呼び出しを実行する。
<第2ROM・RWM領域における処理>
次に、図43は、図42におけるステップ5200のサブルーチンに係る、図柄停止信号出力処理のフローチャートである。まず、ステップ5202で、CPUは、第2ROM・RWM領域内のデータに基づき、第2RWM領域にスタックポインタを退避する。次に、ステップ5204で、CPUは、第2ROM・RWM領域内のデータに基づき、第2スタックエリアのアドレスをスタックポインタにセットする。次に、ステップ5206で、CPUは、第2ROM・RWM領域内のデータに基づき、第2スタックエリアにレジスタを退避する。次に、ステップ5208で、CPUは、第2ROM・RWM領域内のデータに基づき、SCU1データレジスタをセットする。次に、ステップ5210で、CPUは、第2ROM・RWM領域内のデータに基づき、第1コマンド(回胴情報指定)をライトする。次に、ステップ5212で、CPUは、第2ROM・RWM領域内のデータに基づき、第2コマンド(回胴情報指定)をライトする。次に、ステップ5250で、後述する図柄停止信号セット処理を実行する。次に、ステップ5214で、CPUは、第2ROM・RWM領域内のデータに基づき、送信回数及び第1コマンド(押し順指定)データをセットする。
次に、ステップ5216で、CPUは、第2ROM・RWM領域内のデータに基づき、第1コマンドをライトする。次に、ステップ5218で、CPUは、第2ROM・RWM領域内のデータに基づき、停止受付指定テーブルから第2コマンドデータを取得する。次に、ステップ5220で、CPUは、第2ROM・RWM領域内のデータに基づき、第2コマンドをライトする。次に、ステップ5222で、CPUは、第2ROM・RWM領域内のデータに基づき、次の第1コマンドデータをセットする。次に、ステップ5224で、CPUは、第2ROM・RWM領域内のデータに基づき、次のテーブルアドレスをセットする。
次に、ステップ5226で、CPUは、第2ROM・RWM領域内のデータに基づき、コマンドデータの送信が終了したか否かを判定する。ステップ5226でYesの場合にはステップ5228に移行する。他方、ステップ5226でNoの場合、コマンドデータの送信が終了するまで、ステップ5216〜ステップ5224の処理を繰り返し実行する。次に、ステップ5228で、CPUは、第2ROM・RWM領域内のデータに基づき、ステップ5206で第2スタックエリアに退避したレジスタを復帰する。次に、ステップ5230で、CPUは、第2ROM・RWM領域内のデータに基づき、ステップ5202で、第2RWM領域に退避したスタックポインタを復帰し、第1ROM・RWMの呼び出し元に復帰する。
<第2ROM・RWM領域における処理>
次に、図44は、図43におけるステップ5250のサブルーチンに係る、図柄停止信号セット処理のフローチャートである。まず、ステップ5252で、CPUは、第2ROM・RWM領域内のデータに基づき、指示番号を取得する。尚、指示番号とは押し順に係る情報であり、本例においては、主制御基板Mが決定し、副制御基板Sに送信されることとなる。次に、ステップ5254で、CPUは、第2ROM・RWM領域内のデータに基づき、停止受付指定テーブル3(あくまで一例であり、停止受付指定テーブル3のみには限定されない)をセットする。次に、ステップ5256で、CPUは、第2ROM・RWM領域内のデータに基づき、ボーナス作動時であるか否かを判定する。ステップ5256でNoの場合、ステップ5258で、CPUは、第2ROM・RWM領域内のデータに基づき、停止受付指定テーブル1(あくまで一例であり、停止受付指定テーブル1のみには限定されない)をセットする。次に、ステップ5260で、CPUは、第2ROM・RWM領域内のデータに基づき、ボーナス条件装置番号は0であるか否かを判定する。ステップ5260でNoの場合、ステップ5262で、CPUは、第2ROM・RWM領域内のデータに基づき、条件装置番号検査テーブル1をセットする。次に、ステップ5264で、CPUは、第2ROM・RWM領域内のデータに基づき、ボーナス条件装置番号は1であるか否かを判定する。ステップ5264でNoの場合、ステップ5266で、CPUは、第2ROM・RWM領域内のデータに基づき、条件装置番号検査テーブル2をセットする。次に、ステップ5268で、CPUは、第2ROM・RWM領域内のデータに基づき、ボーナス条件装置番号は2であるか否かを判定する。ステップ5268でNoの場合、ステップ5270で、CPUは、第2ROM・RWM領域内のデータに基づき、条件装置番号検査テーブル3をセットする。次に、ステップ5272で、CPUは、第2ROM・RWM領域内のデータに基づき、ボーナス条件装置番号は3であるか否かを判定する。ステップ5272でNoの場合、ステップ5274で、CPUは、第2ROM・RWM領域内のデータに基づき、条件装置番号検査テーブル4をセットし、ステップ5276に移行する。また、ステップ5264、5268、又は、5272でYesの場合にも、ステップ5276に移行する。尚、ステップ5260〜ステップ5276における、ボーナス条件装置番号及び条件装置番号検査テーブルの番号はあくまで一例であり、変更しても問題ない。
次に、ステップ5276で、CPUは、第2ROM・RWM領域内のデータに基づき、入賞及び再遊技の条件装置番号を取得する。次に、ステップ5278で、CPUは、第2ROM・RWM領域内のデータに基づき、検査回数を取得する。次に、ステップ5280で、CPUは、第2ROM・RWM領域内のデータに基づき、検査データ及びオフセット値を取得する。次に、ステップ5282で、CPUは、第2ROM・RWM領域内のデータに基づき、検査データが一致したか否かを判定する。ステップ5282でNoの場合、ステップ5284で、CPUは、第2ROM・RWM領域内のデータに基づき、検査回数は0であるか否かを判定する。ステップ5284でYesの場合、ステップ5286で、オフセット値を生成し、ステップ5288の処理に移行する。他方、5282でYesの場合には、ステップ5284及びステップ5286の処理を実行せずにステップ5288に移行する。また、ステップ5284でNoの場合には、ステップ5280に移行することとなる。
次にステップ5288で、CPUは、第2ROM・RWM領域内のデータに基づき、オフセット値をセットする。次に、ステップ5290で、CPUは、第2ROM・RWM領域内のデータに基づき、停止受付指定テーブル2(あくまで一例であり、停止受付指定テーブル2のみには限定されない)をセットし、ステップ5292に移行する。また、ステップ5256、又は、ステップ5260でYesの場合にも、ステップ5292に移行する。次に、ステップ5292で、CPUは、第2ROM・RWM領域内のデータに基づき、オフセット値に応じた停止受付指定テーブルをセットし、次の処理に移行する。
<第1ROM・RWM領域における処理>
次に、図45は、図42におけるステップ2150のサブルーチンに係る、図柄停止信号セット処理のフローチャートである。本実施形態における回胴式遊技機に係る、条件装置コマンドセット処理のフローチャートである。まず、ステップ2152で、CPUは、第1ROM・RWM領域内のデータに基づき、指示番号の出力要求をセットする。次に、ステップ2153で、CPUは、第1ROM・RWM領域内のデータに基づき、指定されたRWMのデータについて制御コマンド生成処理を実行する。次に、ステップ2154で、CPUは、第1ROM・RWM領域内のデータに基づき、演出グループの出力要求をセットする。次に、ステップ2155で、CPUは、第1ROM・RWM領域内のデータに基づき、指定されたRWMのデータについて制御コマンド生成処理を実行する。次に、ステップ2156で、CPUは、第1ROM・RWM領域内のデータに基づき、役物条件装置番号の出力要求をセットする。次に、ステップ2158で、CPUは、第1ROM・RWM領域内のデータに基づき、指定されたRWMのデータについて制御コマンドセット処理を実行し、次の処理に移行する。
<第1ROM・RWM領域における処理>
次に、図46は、図45におけるステップ2200のサブルーチンに係る、回胴回転開始処理のフローチャートである。まず、ステップ2201で、CPUは、第1ROM・RWM領域内のデータに基づき、待機演出実行処理を実行する。尚、待機演出とは、スタートレバーの操作が受け付けられ、且つ、最小遊技時間が経過していないともにて実行される演出となっている。次に、ステップ2202で、CPUは、第1ROM・RWM領域内のデータに基づき、待機演出1実行フラグがオンであるか否かを判定する。ステップ2202でYesの場合、ステップ2204で、CPUは、第1ROM・RWM領域内のデータに基づき、待機演出1待機時間をセットする。次に、ステップ2205で、CPUは、第1ROM・RWM領域内のデータに基づき、指定された待ち時間が0になるまで待機する、2バイト時間待ち処理を実行し、ステップ2206の処理に移行する。他方、ステップ2202でNoの場合にも、ステップ2206の処理に移行する。次に、ステップ2206で、CPUは、第1ROM・RWM領域内のデータに基づき、最小遊技時間が経過したか否かを判定する。尚、最小遊技時間とは、或るゲームに係るリールの回転開始タイミングから当該或るゲームの次のゲームに係るリール回転開始タイミングまでの最小の期間であり、スタートレバーの操作が受け付けられても最小遊技時間が経過していない場合には、当該最小遊技時間が経過するまでリールの回転が開始しないこととなる。ステップ2206でYesの場合、ステップ2208で、CPUは、第1ROM・RWM領域内のデータに基づき、最小遊技時間を保存する。他方、ステップ2206でNoの場合、最小遊技時間を経過するまで、ステップ2206の処理を繰り返し実行する。次に、ステップ2210で、CPUは、第1ROM・RWM領域内のデータに基づき、条件装置出力時間を保存する。次に、ステップ2212で、CPUは、第1ROM・RWM領域内のデータに基づき、制御コマンドが送信済みになるまで待機する、コマンド送信待ち処理を実行し、次の処理(ステップ2250の処理)に移行する。
<第1ROM・RWM領域における処理>
次に、図47は、図45におけるステップ2250のサブルーチンに係る、回胴回転開始処理のフローチャートである。まず、ステップ2252で、CPUは、第1ROM・RWM領域内のデータに基づき、回胴停止順番データ及び押し順データを初期化する。次に、ステップ2254で、CPUは、第1ROM・RWM領域内のデータに基づき、回胴停止フラグ及びずらしコマ数作成要求を初期化する。次に、ステップ2256で、CPUは、第1ROM・RWM領域内のデータに基づき、初期化図柄群数をセットする。次に、ステップ2258で、CPUは、第1ROM・RWM領域内のデータに基づき、図柄制御データテーブルをセットする。次に、ステップ2260で、CPUは、第1ROM・RWM領域内のデータに基づき、初期化開始RWMアドレスをセットする。次に、ステップ2262で、CPUは、第1ROM・RWM領域内のデータに基づき、停止図柄データを初期化する。このように、ステップ2252〜ステップ2262の処理によって、前回のゲームに係る図柄制御に必要なRWM領域の初期化が実行されることとなる。次に、ステップ2264で、CPUは、第1ROM・RWM領域内のデータに基づき、全リール回転開始時の出力要求をセットする。次に、ステップ2265で、CPUは、第1ROM・RWM領域内のデータに基づき、指定されたRWM領域のデータについて制御コマンドセット処理を実行する。次に、ステップ2266で、CPUは、第1ROM・RWM領域内のデータに基づき、全リール回転ビット及び回転開始準備状態をセットする。次に、ステップ2268で、CPUは、第1ROM・RWM領域内のデータに基づき、回転開始リールありをセットし、次の処理に移行する。
<第1ROM・RWM領域における処理>
次に、図48は、図25におけるステップ2300のサブルーチンに係る、回胴停止受付チェック処理のフローチャートである。まず、ステップ2302で、CPUは、第1ROM・RWM領域内のデータに基づき、全リールセンサをチェックする。次に、ステップ2304で、CPUは、第1ROM・RWM領域内のデータに基づき、停止受付が可能であるか否かを判定する。ステップ2304でYesの場合、ステップ2306で、CPUは、第1ROM・RWM領域内のデータに基づき、停止受付待機時間(前述した、前回の停止ボタンの操作受付から次の停止ボタンの操作受付までの待機時間)が経過したか否かを判定する。ステップ2306でYesの場合、ステップ2308で、CPUは、第1ROM・RWM領域内のデータに基づき、入力ポート1立ち上がりデータを取得する。次に、ステップ2310で、CPUは、第1ROM・RWM領域内のデータに基づき、回転中のリールの停止ボタンセンサ信号立ち上がりデータを生成する。次に、ステップ2312で、リール数(本例では、3)及び第1リールビットをセットし、ステップ2314に移行する。
次に、ステップ2314で、CPUは、第1ROM・RWM領域内のデータに基づき、回転中の何れかのリールに対応する停止ボタンセンサ信号が立ち上がった(オンとなった)か否かを判定する。ステップ2314でYesの場合にはステップ2350の停止ボタン受付処理に移行する。他方、ステップ2314でNoの場合、ステップ2316で、CPUは、第1ROM・RWM領域内のデータに基づき、次の回胴ビット(リールビット)をセットする。次に、ステップ2318で、CPUは、第1ROM・RWM領域内のデータに基づき、全リールの停止受付が終了したか否かを判定する。ステップ2318でNoの場合、ステップ2314に移行し、全リールの停止受付が終了するまで、ステップ2314〜ステップ2318の処理を繰り返し実行する。他方、ステップ2318でYesの場合、ステップ2320で、CPUは、第1ROM・RWM領域内のデータに基づき、回胴停止フラグ(リール停止フラグ)を取得する。次に、ステップ2322で、CPUは、第1ROM・RWM領域内のデータに基づき、停止受付情報データを保存して次の処理に移行する。尚、ステップ2304又はステップ2306でNoの場合、即ち、リールの停止受付が不可能な場合又は停止受付待機時間が経過していない場合には、次の処理に移行する。
<第1ROM・RWM領域における処理>
次に、図49は、図48におけるステップ2350のサブルーチンに係る、停止ボタン受付処理のフローチャートである。まず、ステップ2352で、CPUは、第1ROM・RWM領域内のデータに基づき、リール停止受付待機時間を新たにセットする。次に、ステップ2354で、CPUは、第1ROM・RWM領域内のデータに基づき、停止受付情報データをクリアする。次に、ステップ2356で、CPUは、第1ROM・RWM領域内のデータに基づき、リール停止フラグを保存する。次に、ステップ2358で、CPUは、第1ROM・RWM領域内のデータに基づき、ステップ2356にて保存したリール停止フラグを参照して、ずらしコマ数作成要求を保存する。次に、ステップ2360で、CPUは、第1ROM・RWM領域内のデータに基づき、停止リール番号を生成する。次に、ステップ2362で、CPUは、第1ROM・RWM領域内のデータに基づき、ステップ2360にて生成した停止リール番号を保存する。次に、ステップ2364で、CPUは、第1ROM・RWM領域内のデータに基づき、リール停止順番データに1を加算し、ステップ2366に移行する。次に、ステップ2366で、CPUは、第1ROM・RWM領域内のデータに基づき、リール停止順番データに応じて停止回胴番号をビットシフトする。次に、ステップ2368で、CPUは、第1ROM・RWM領域内のデータに基づき、ビットシフトが終了したか否かを判定する。ステップ2368でNoの場合、ビットシフトが終了するまでステップ2366〜ステップ2368の処理を繰り返し実行する。他方、ステップ2368でYesの場合、ステップ2370で、CPUは、第1ROM・RWM領域内のデータに基づき、押し順データを生成する。次に、ステップ2372で、CPUは、第1ROM・RWM領域内のデータに基づき、ステップ2370で生成した押し順データを保存し、次の処理に移行する。
<第1ROM・RWM領域における処理>
次に、図50は、図25におけるステップ2400のサブルーチンに係る、全回胴停止チェック処理のフローチャートである。まず、ステップ2402で、CPUは、第1ROM・RWM領域内のデータに基づき、停止ボタン及びスタートレバーの操作が終了しているか否かのチェックを実行する。次に、ステップ2404で、CPUは、第1ROM・RWM領域内のデータに基づき、全リールが停止したか否かのチェックを実行し、次の処理に移行する。
<第1ROM・RWM領域における処理>
次に、図51は、図25におけるステップ2450のサブルーチンに係る、表示判定処理のフローチャートである。まず、ステップ2451で、CPUは、第1ROM・RWM領域内のデータに基づき、獲得枚数表示クリア処理を実行する。次に、ステップ2452で、CPUは、第1ROM・RWM領域内のデータに基づき、停止図柄データ1のRWMアドレスをセットする。次に、ステップ2454で、CPUは、第1ROM・RWM領域内のデータに基づき、制御図柄群数及び蹴飛ばし図柄データ1のRWMアドレスをセットする。次に、ステップ2546で、CPUは、第1ROM・RWM領域内のデータに基づき、E5エラー(全リール停止時の図柄の組み合わせ表示が異常の場合のエラー)をセットし、ステップ2458に移行する。
次に、ステップ2460で、CPUは、第1ROM・RWM領域内のデータに基づき、蹴飛ばし図柄を表示しているか否かを判定する。ステップ2460でYesの場合、即ち、有効ライン上に蹴飛ばし図柄データにセットされている図柄組み合わせが表示されている場合には、ステップ1200の復帰不可能エラーに移行する。他方、ステップ2460でNoの場合、ステップ2462で、CPUは、第1ROM・RWM領域内のデータに基づき、次の停止図柄データアドレスをセットする。次に、ステップ2464で、CPUは、第1ROM・RWM領域内のデータに基づき、次の蹴飛ばし図柄データアドレスをセットする。次に、ステップ2466で、CPUは、第1ROM・RWM領域内のデータに基づき、制御図柄群の数と同一の回数の判定が終了したか否かを判定する。ステップ2466でNoの場合には、ステップ2458に移行し、制御図柄群の数と同一の回数の判定が終了するまでステップ2458〜ステップ2466の処理を繰り返し実行する。他方、ステップ2466でYesの場合、ステップ2468の1ライン表示判定処理を実行する。尚、当該1ライン表示判定処理内にて前述した投入・払出センサ異常表示処理が実行されることとなる。
<第1ROM・RWM領域における処理>
次に、図52は、図25におけるステップ2500のサブルーチンに係る、入賞による遊技メダル払出処理のフローチャートである。まず、ステップ2502で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル払出開始時の出力要求をセットする。次に、ステップ2503で、CPUは、第1ROM・RWM領域内のデータに基づき、指定されたRWM領域のデータについて制御コマンド生成処理を実行する。次に、ステップ2504で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル払出枚数データを取得する。次に、ステップ2505で、CPUは、第1ROM・RWM領域内のデータに基づき、更新回数をセットする。次に、ステップ2506で、CPUは、第1ROM・RWM領域内のデータに基づき、再遊技作動図柄が表示されているか否かを判定する。ステップ2506でYesの場合、ステップ2507で、遊技メダル読み込み処理を実行し、ステップ2508の処理に移行する。他方、ステップ2506でNoの場合には、ステップ2507の処理を実行せずにステップ2508の処理に移行する。
次に、ステップ2508で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル枚数データ×2をセットする。次に、ステップ2510で、CPUは、第1ROM・RWM領域内のデータに基づき、割込みを禁止する。次に、ステップ2512で、CPUは、第1ROM・RWM領域内のデータに基づき、メダル払出信号の出力回数を保存する。次に、ステップ2514で、CPUは、第1ROM・RWM領域内のデータに基づき、割込みを許可する。次に、ステップ2516で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダルの払出があるか否かを判定する。ステップ2516でYesの場合、ステップ2518で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル払出枚数を参照し、BB作動時の獲得可能枚数を減算する。他方、ステップ2516でNoの場合には、次の処理に移行する。次に、ステップ2520で、CPUは、第1ROM・RWM領域内のデータに基づき、BBの獲得可能枚数の減算に関する更新回数が終了したか否かを判定する。ステップ2520でNoの場合には、更新回数が終了するまでステップ2518〜ステップ2520の処理を繰り返し実行する。他方、ステップ2520でYesの場合、ステップ2521で、CPUは、第1ROM・RWM領域内のデータに基づき、貯留枚数読み込み処理を実行する。次に、ステップ2522で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダルの貯留枚数が限界であるか否か、換言すると、クレジットが上限値である50であるか否かを判定する。
また、ステップ2522でNoの場合、ステップ2524で、CPUは、第1ROM・RWM領域内のデータに基づき、クレジットの加算に係る加算待機時間をセットする。尚、本実施形態においては、クレジットに遊技メダルを貯留する場合には、197.81ms間隔で加算されるよう構成されている。次に、ステップ2525で、CPUは、第1ROM・RWM領域内のデータに基づき、2バイト時間待ち処理を実行する。次に、ステップ2526で、CPUは、第1ROM・RWM領域内のデータに基づき、貯留枚数1枚加算処理を実行し、ステップ2532に移行する。
また、ステップ2522でYesの場合、ステップ2528で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル払出枚数データを取得する。次に、ステップ1800で、CPUは、第1ROM・RWM領域内のデータに基づき、前述した遊技メダル1枚払出処理を実行し、ステップ2532に移行する。
次に、ステップ2532で、CPUは、第1ROM・RWM領域内のデータに基づき、獲得枚数データ(獲得した遊技メダルに係るデータ)に1を加算する。次に、ステップ2534で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル払出データ(払い出す遊技メダルの枚数に係るデータ)から1を減算する。次に、ステップ2536で、CPUは、第1ROM・RWM領域内のデータに基づき、今回の入賞に係る遊技メダルの払出が終了したか否かを判定する。ステップ2536でYesの場合、ステップ2538で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル払出終了時の出力要求をセットする。次に、ステップ2540で、CPUは、第1ROM・RWM領域内のデータに基づき、指定されたRWM領域のデータについて制御コマンドセット処理を実行し、次の処理に移行する。尚、ステップ2536でNoの場合、即ち、今回の入賞に係る遊技メダルの払出が終了していない場合には、ステップ2521に移行し、今回の入賞に係る払出が終了するまでステップ2521〜ステップ2536の処理を繰り返し実行することとなる。
<第1ROM・RWM領域における処理>
次に、図53は、本実施形態に係る回胴式遊技機における、割込み処理のフローチャートである。尚、図53〜図69の処理が割込み処理のフローチャートとなっている。尚、本実施形態においては、割込み処理の開始時(割込み処理の発生時)は第1ROM・RWM領域における処理が実行されるよう構成されている。まず、ステップ2552で、CPUは、第1ROM・RWM領域内のデータに基づき、割込み開始時の処理としてレジスタを退避する。次に、ステップ2554で、CPUは、第1ROM・RWM領域内のデータに基づき、割込みフラグをクリアする。次に、ステップ2600で、CPUは、第1ROM・RWM領域内のデータに基づき、後述する電源断処理を実行する。次に、ステップ2556で、CPUは、第1ROM・RWM領域内のデータに基づき、割込みカウンタを更新する。次に、ステップ2558で、CPUは、第1ROM・RWM領域内のデータに基づき、入力ポートデータ生成処理を実行する。ここで、入力ポートデータとは、精算ボタンD60、スタートレバーD50、停止ボタンD40、ドアスイッチD80、設定ドアスイッチM10、設定キースイッチM20、設定/リセットボタンM30、投入受付センサD10s、第1投入センサD20s、第2投入センサD30s、第1払出センサH10s、第2払出センサH20s、等の検出に係る情報である(即ち、これらの操作部材での操作有無やセンサ検知状態が、割込み間隔Tでサンプリングされる)。
次に、ステップ2560〜ステップ2564の処理は、割込み処理における回胴駆動管理処理である。まず、ステップ2560で、CPUは、第1ROM・RWM領域内のデータに基づき、回胴数(リールの数であり、本例では、3)をセットし、ステップ2561に移行する。次に、ステップ2561で、回胴駆動制御データアドレスセット処理を実行する。次に、ステップ2562で、CPUは、第1ROM・RWM領域内のデータに基づき、回胴駆動制御処理(リールの駆動制御)を実行する。次に、ステップ2564で、CPUは、第1ROM・RWM領域内のデータに基づき、全回胴の制御が終了したか、即ち、全リールの回転が終了したか否かを判定する。ステップ2564でYesの場合、ステップ2566に移行し、Noの場合には、全リールの回転が終了するまでステップ2561〜ステップ2564の処理を繰り返し実行する。
次に、ステップ2566〜ステップ2572の処理は、割込み処理におけるポート出力処理である。まず、ステップ2566で、CPUは、第1ROM・RWM領域内のデータに基づき、出力ポート0のデータを生成する。次に、ステップ2568で、CPUは、第1ROM・RWM領域内のデータに基づき、出力ポート0にステップ2566にて生成したデータを出力する。次に、ステップ2570で、CPUは、第1ROM・RWM領域内のデータに基づき、出力ポート1のデータを生成する。次に、ステップ2572で、CPUは、第1ROM・RWM領域内のデータに基づき、出力ポート1にステップ2570にて生成したデータを出力する、ステップ2574に移行する。
次に、ステップ2574〜ステップ2594の処理は、割込み処理における制御コマンド送信処理である。まず、ステップ2574で、CPUは、第1ROM・RWM領域内のデータに基づき、制御コマンドバッファアドレスをセットする。次に、ステップ2574で、CPUは、第1ROM・RWM領域内のデータに基づき、制御コマンド読み込みポインタを取得する。次に、ステップ2578で、CPUは、第1ROM・RWM領域内のデータに基づき、指定アドレスをセットする。次に、ステップ2580で、CPUは、第1ROM・RWM領域内のデータに基づき、送信対象制御コマンドバッファアドレスをセットする。次に、ステップ2582で、CPUは、第1ROM・RWM領域内のデータに基づき、制御コマンド保存バッファに未送信の制御コマンドがあるか否かを判定する。ステップ2582でYesの場合、ステップ2584で、CPUは、第1ROM・RWM領域内のデータに基づき、出力ポート7及び8に今回出力する未送信の制御コマンドを出力する。次に、ステップ2586で、CPUは、第1ROM・RWM領域内のデータに基づき、サブ制御データストローブ信号をオンにし、出力ポート2に出力データを出力する。次に、ステップ2588で、CPUは、第1ROM・RWM領域内のデータに基づき、送信済みのコマンド保存バッファをクリアする。次に、ステップ2590で、CPUは、第1ROM・RWM領域内のデータに基づき、制御コマンド読み込みポインタを更新し、ステップ2592に移行する。尚、ステップ2582でNoの場合、即ち、未送信の制御コマンドが存在しない場合にも、ステップ2592に移行する。
次に、CPUは、第1ROM・RWM領域内のデータに基づき、サブ制御データストローブ信号をオフにし、出力ポート2に出力データを出力する。次に、ステップ2594で、CPUは、第1ROM・RWM領域内のデータに基づき、出力ポート7及び8に制御コマンドクリアデータを出力し、ステップ2650のLED表示処理に移行する。
<第1ROM・RWM領域における処理>
次に、図54は、図53におけるステップ2600のサブルーチンに係る、電源断処理のフローチャートである。まず、ステップ2602で、CPUは、第1ROM・RWM領域内のデータに基づき、前回の電源断検知信号がオンであるか否かを判定する。ステップ2602でYesの場合、ステップ2604で、CPUは、第1ROM・RWM領域内のデータに基づき、今回の入力ポート0のデータを入力する。次に、ステップ2606で、CPUは、第1ROM・RWM領域内のデータに基づき、今回の電源断検知信号がオンであるか否かを判定する。ステップ2606でYesの場合、ステップ2608で、CPUは、第1ROM・RWM領域内のデータに基づき、クリア出力ポートアドレス及び出力ポート数をセットし、ステップ2610に移行する。尚、ステップ2602又はステップ2606でNoの場合、即ち、前回の電源断検知信号及び今回の電源断検知信号のいずれかの電源断検知信号がオフである場合にはステップ2608以降の処理を実行せずに次の処理に移行することとなる。
次に、ステップ2610で、CPUは、第1ROM・RWM領域内のデータに基づき、出力ポート0〜6をオフにする。次に、ステップ2612で、CPUは、第1ROM・RWM領域内のデータに基づき、次の出力ポートアドレスをセットする。次に、ステップ2614で、CPUは、第1ROM・RWM領域内のデータに基づき、出力データの出力が終了したか否かを判定する。ステップ2614でNoの場合、ステップ2610に移行し、出力データの出力が終了するまでステップ2610〜ステップ2614の処理を繰り返し実行する。他方、ステップ2614でYesの場合、ステップ2616で、現在のスタックポインタを保存する。次に、ステップ2618で、CPUは、第1ROM・RWM領域内のデータに基づき、電源断処理済みフラグをセットする。次に、ステップ2620で、CPUは、第1ROM・RWM領域内のデータに基づき、RWMのチェックサムデータをクリアする。次に、ステップ2622で、CPUは、第1ROM・RWM領域内のデータに基づき、RWMのチェックサム算出用初期データをセットし、ステップ2624に移行する。次に、ステップ2624で、CPUは、第1ROM・RWM領域内のデータに基づき、RWM(「0F000H」から「0F3FFH」まで)のチェックサムを算出する。次に、ステップ2626で、CPUは、第1ROM・RWM領域内のデータに基づき、全バイトのチェックサムの算出が終了したか否かを判定する。ステップ2626でNoの場合、ステップ2624に移行し、全バイトのチェックサムの算出が終了するまでステップ2624〜ステップ2626の処理を繰り返し実行する。
他方、ステップ2626でYesの場合、ステップ2628で、CPUは、第1ROM・RWM領域内のデータに基づき、ステップ2624にて算出したチェックサムに基づく誤り検出用情報(例えば、当該算出したチェックサムにおける下位1バイト、或いは、その補数となるもの)をチェックサム領域にてセットする。次に、ステップ2630で、CPUは、第1ROM・RWM領域内のデータに基づき、RWMへのアクセスを禁止する。次に、ステップ2632で、CPUは、第1ROM・RWM領域内のデータに基づき、リセットを待機するための無限ループ処理を実行する。
<第1ROM・RWM領域における処理>
次に、図55は、図53におけるステップ2650のサブルーチンに係る、LED表示処理のフローチャートである。まず、ステップ2652で、CPUは、第1ROM・RWM領域内のデータに基づき、LEDデジット及びLEDセグメント(出力ポート3及び4)をオフにする。次に、ステップ2654で、CPUは、第1ROM・RWM領域内のデータに基づき、LED表示カウンタを更新する。次に、ステップ2656で、CPUは、第1ROM・RWM領域内のデータに基づき、LED表示カウンタが0であるか否かを判定する。ステップ2656でYesの場合、ステップ2658で、CPUは、第1ROM・RWM領域内のデータに基づき、LED表示カウンタを初期化し、ステップ2660に移行する。尚、ステップ2656でNoの場合にもステップ2660に移行する。
次に、ステップ2660で、CPUは、第1ROM・RWM領域内のデータに基づき、LED表示カウンタ及びLED表示要求フラグを取得する。次に、ステップ2662で、CPUは、第1ROM・RWM領域内のデータに基づき、今回表示するデジットのセグメント表示要求確認をセットする。次に、ステップ2664で、CPUは、第1ROM・RWM領域内のデータに基づき、LEDの表示要求があるか否かを判定する。ステップ2664でYesの場合、ステップ2666で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー表示データを取得する。次に、ステップ2668で、CPUは、第1ROM・RWM領域内のデータに基づき、ステップ2666で取得したエラー表示データをセットする。次に、ステップ2670で、CPUは、第1ROM・RWM領域内のデータに基づき、7セグLEDセグメントテーブル2をセットする。次に、ステップ2672で、CPUは、第1ROM・RWM領域内のデータに基づき、設定値データを取得する。次に、ステップ2674で、CPUは、第1ROM・RWM領域内のデータに基づき、設定値表示データを生成する。次に、ステップ2676で、CPUは、第1ROM・RWM領域内のデータに基づき、設定値表示要求があるか否かを判定する。ステップ2676でNoの場合、ステップ2677で、CPUは、第1ROM・RWM領域内のデータに基づき、貯留枚数読み込み処理を実行する。次に、ステップ2678で、CPUは、第1ROM・RWM領域内のデータに基づき、上位桁用オフセットを取得する。次に、ステップ2680で、CPUは、第1ROM・RWM領域内のデータに基づき、貯留枚数(上位桁)の表示要求があるか否かを判定する。ステップ2680でNoの場合、ステップ2682で、CPUは、第1ROM・RWM領域内のデータに基づき、貯留枚数(下位桁)の表示要求があるか否かを判定する。ステップ2682でNoの場合、ステップ2684で、CPUは、第1ROM・RWM領域内のデータに基づき、設定変更装置作動中表示データ、獲得枚数データ及び指示データを取得する。次に、ステップ2686で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー表示タイミングであるか否かを判定する。ステップ2686でYesの場合、ステップ2688で、CPUは、第1ROM・RWM領域内のデータに基づき、7セグLEDセグメントテーブル1をセットし、ステップ2690に移行する。尚、ステップ2686でNoの場合、即ち、エラー表示タイミングではない場合にも、ステップ2690に移行する。
次に、ステップ2690で、CPUは、第1ROM・RWM領域内のデータに基づき、上位桁用オフセットを取得する。次に、ステップ2692で、CPUは、第1ROM・RWM領域内のデータに基づき、獲得枚数(上位桁)の表示要求があるか否かを判定する。ステップ2692でNoの場合、又は、ステップ2682でYesの場合、即ち、貯留枚数(下位桁)の表示要求がある場合、ステップ2694で、CPUは、第1ROM・RWM領域内のデータに基づき、下位桁用オフセットを取得し、ステップ2695に移行する。尚、ステップ2680でYesの場合、ステップ2692でYesの場合又はステップ2676でYesの場合、ステップ2695で、CPUは、第1ROM・RWM領域内のデータに基づき、セグメント出力データを取得し、ステップ2696に移行する。尚、ステップ2664でNoの場合にも、ステップ2696に移行する。
次に、ステップ2696で、CPUは、第1ROM・RWM領域内のデータに基づき、セグメントPの表示要求があるか否かを判定する。ステップ2696でYesの場合、ステップ2697で、CPUは、第1ROM・RWM領域内のデータに基づき、セグメントP出力データをセットし、ステップ2698に移行する。尚、ステップ2696でNoの場合にもステップ2698に移行する。次に、ステップ2698で、CPUは、第1ROM・RWM領域内のデータに基づき、LEDデジット及びLEDセグメント(出力ポート3及び4)を出力し、ステップ2700のサブ報知データ出力処理に移行する。
<第1ROM・RWM領域における処理>
次に、図56は、図55におけるステップ2700のサブルーチンに係る、サブ報知データ出力処理のフローチャートである。まず、ステップ2702で、CPUは、第1ROM・RWM領域内のデータに基づき、停止受付情報データをセットする。次に、ステップ2703で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダル限界チェック処理(遊技メダル限界枚数(3枚)と投入枚数を比較し、遊技メダル限界であるかチェックする処理)を実行する。次に、ステップ2704で、CPUは、第1ROM・RWM領域内のデータに基づき、ベットされている遊技メダルは限界(本例では、3)であるか否かを判定する。ステップ2704でNoの場合、ステップ2706で、CPUは、第1ROM・RWM領域内のデータに基づき、ブロッカ信号がオフであるか否かを判定する。尚、本例では、ブロッカのオン・オフについて詳述していないが、遊技メダルの投入が不可能である状態にブロッカ信号がオフとなるよう構成されている。ステップ2706でNoの場合、ステップ2707で、CPUは、第1ROM・RWM領域内のデータに基づき、貯留枚数読み込み処理を実行する。次に、ステップ2708で、CPUは、第1ROM・RWM領域内のデータに基づき、貯留枚数(クレジットに貯留されている遊技メダル)がないか否かを判定する。ステップ2708でNoの場合、ステップ2710で、CPUは、第1ROM・RWM領域内のデータに基づき、遊技メダルが投入中ではないか否かを判定する(例えば、投入受付センサD10s、第1投入センサD20s、第2投入センサD30sのオン・オフ状況を確認して判定する)。ステップ2710でNoの場合、ステップ2712で、CPUは、第1ROM・RWM領域内のデータに基づき、3枚投入ボタン報知データ(ベットボタンD220に係る報知データ)をセットし、ステップ2714に移行する。尚、ステップ2704、ステップ2706、ステップ2708又はステップ2710でYesの場合にもステップ2714に移行する。このように、本実施形態においては、(1)遊技メダルのベット枚数が限界でない、(2)ブロッカがオンになっている、(3)クレジット枚数が存在している(1枚以上である)、(4)遊技メダルが投入中でない、の4つのすべての条件を充足している場合に3枚投入ボタン報知データをセットするよう構成されている。
次に、ステップ2714で、CPUは、第1ROM・RWM領域内のデータに基づき、設定/リセットボタン報知データ、設定キー報知データ、ドア報知データ及び設定ドア報知データをセットする。次に、ステップ2716で、CPUは、第1ROM・RWM領域内のデータに基づき、出力ポート6にセットしたサブ報知データを出力してステップ2718に移行する。
次に、ステップ2718〜ステップ2734の処理は割込み処理におけるタイマ計測処理である。まず、ステップ2718で、CPUは、第1ROM・RWM領域内のデータに基づき、計測開始タイマアドレスをセットする。次に、ステップ2720で、CPUは、第1ROM・RWM領域内のデータに基づき、1バイトタイマ数をセットし、ステップ2722に移行する。次に、ステップ2722で、CPUは、第1ROM・RWM領域内のデータに基づき、ステップ2720でセットした1バイトタイマ値を更新する。次に、ステップ2724で、CPUは、第1ROM・RWM領域内のデータに基づき、次のタイマアドレスをセットする。次に、ステップ2726で、CPUは、第1ROM・RWM領域内のデータに基づき、1バイトタイマの計測が終了したか否かを判定する。ステップ2726でNoの場合、ステップ2722に移行し、1バイトタイマの計測が終了するまでステップ2722〜ステップ2726の処理を繰り返し実行する。
また、ステップ2726でYesの場合、ステップ2728で、CPUは、第1ROM・RWM領域内のデータに基づき、2バイトタイマ数をセットし、ステップ2730に移行する。次に、ステップ2732で、CPUは、第1ROM・RWM領域内のデータに基づき、ステップ2730でセットした2バイトタイマ値を更新する。次に、ステップ2732で、CPUは、第1ROM・RWM領域内のデータに基づき、次のタイマアドレスをセットする。次に、ステップ2734で、CPUは、第1ROM・RWM領域内のデータに基づき、2バイトタイマの計測が終了したか否かを判定する。ステップ2734でNoの場合、ステップ2730に移行し、2バイトタイマの計測が終了するまでステップ2730〜ステップ2734の処理を繰り返し実行する。また、ステップ2734でYesの場合には、ステップ2750のエラー管理処理に移行する。このように、本実施形態に係るタイマ計測処理は「1バイトタイマ→2バイトタイマ」の順にタイマ計測を実行するよう構成されている。
<第1ROM・RWM領域における処理>
次に、図57は、図56におけるステップ2750のサブルーチンに係る、エラー管理処理のフローチャートである。まず、ステップ2752で、CPUは、第1ROM・RWM領域内のデータに基づき、投入受付センサD10sが立ち上がったか否か(投入受付センサ信号がオフからオンになったか否か)を判定する。ステップ2752でYesの場合、ステップ2754で、CPUは、第1ROM・RWM領域内のデータに基づき、ブロッカオフ時監視時間及びブロッカオン時監視時間をセットし、ステップ2756に移行する。尚、ステップ2752でNoの場合にもステップ2756に移行する。次に、ステップ2756で、CPUは、第1ROM・RWM領域内のデータに基づき、AFレジスタを退避し、第2ROM・RWM領域の処理を呼び出しステップ5300に移行する。
<第2ROM・RWM領域における処理>
次に、ステップ5300で、CPUは、第2ROM・RWM領域内のデータに基づき、後述する、エラーチェック処理を実行し、第1ROM・RWM領域の呼び出し元に復帰し、ステップ2758に移行する。
<第1ROM・RWM領域における処理>
次に、ステップ2758で、CPUは、第1ROM・RWM領域内のデータに基づき、ステップ2756で退避させたAFレジスタを復帰する。次に、ステップ2760で、CPUは、第1ROM・RWM領域内のデータに基づき、エラーを検出しているか否かを判定する。ステップ2760でYesの場合、ステップ2762で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー検出時の出力要求をセットする。次に、ステップ2763で、CPUは、第1ROM・RWM領域内のデータに基づき、指定されたRWM領域のデータについて制御コマンドセット処理2を実行し、ステップ2764に移行する。尚、ステップ2760でNoの場合にも、ステップ2764に移行する。
次に、ステップ2764〜ステップ2784の処理は、割込み処理における外部信号データ管理処理のフローチャートである。まず、ステップ2764で、CPUは、第1ROM・RWM領域内のデータに基づき、外部信号フラグを取得する。次に、ステップ2766で、CPUは、第1ROM・RWM領域内のデータに基づき、ボーナスが作動しているか否かを判定する。ステップ2766でYesの場合、ステップ2768で、CPUは、第1ROM・RWM領域内のデータに基づき、外部信号2データをセットし、ステップ2770に移行する。尚、ステップ2766でNoの場合にもステップ2770に移行する。
次に、ステップ2770で、CPUは、第1ROM・RWM領域内のデータに基づき、外部信号管理時間が経過したか否かを判定する。ステップ2770でYesの場合、外部信号1フラグをクリアし、ステップ2774に移行する。他方、ステップ2770でNoの場合にもステップ2774に移行する。次に、ステップ2770で、CPUは、第1ROM・RWM領域内のデータに基づき、ドアスイッチ信号又は設定ドアスイッチ信号がオンであるか否かを判定する。ステップ2774でYesの場合、ステップ2776で、CPUは、第1ROM・RWM領域内のデータに基づき、外部信号5出力データをセットし、ステップ2778に移行する。他方、ステップ2774でNoの場合にもステップ2778に移行する。次に、ステップ2778で、CPUは、第1ROM・RWM領域内のデータに基づき、設定キースイッチ信号がオンであるか否かを判定する。ステップ2778でNoの場合、ステップ2780で、CPUは、第1ROM・RWM領域内のデータに基づき、エラー検出フラグ及び電源断復帰時外部信号4出力時間データをチェックする。次に、ステップ2782で、CPUは、第1ROM・RWM領域内のデータに基づき、ステップ2780でチェックした結果として全データが存在していなかったか否かを判定する。ステップ2778でYesの場合、又は、ステップ2782でNoの場合、即ち、設定キースイッチ信号がオンである、エラー検出フラグの出力がある、又は、電源断復帰時外部信号4出力時間が未経過である場合、ステップ2784で、CPUは、第1ROM・RWM領域内のデータに基づき、外部信号4出力データをセットし、ステップ2800の外部信号出力処理に移行する。尚、ステップ2782でYesの場合にもステップ2800に移行する。
<第2ROM・RWM領域における処理>
次に、図58は、図57におけるステップ5300のサブルーチンに係る、エラーチェック処理のフローチャートである。まず、ステップ5302で、CPUは、第2ROM・RWM領域内のデータに基づき、第2RWM領域にスタックポインタを退避する。次に、ステップ5304で、CPUは、第2ROM・RWM領域内のデータに基づき、第2スタックエリアのアドレスをスタックポインタにセットする。次に、ステップ5306で、CPUは、第2ROM・RWM領域内のデータに基づき、第2スタックエリアにレジスタを退避する。次に、ステップ5350で、CPUは、第2ROM・RWM領域内のデータに基づき、後述する、設定値エラーチェック処理を実行する。次に、ステップ5450で、CPUは、第2ROM・RWM領域内のデータに基づき、後述する、内蔵乱数チェック処理を実行する。次に、ステップ5500で、CPUは、第2ROM・RWM領域内のデータに基づき、後述する、タイマ計測処理2を実行する。次に、ステップ5550で、CPUは、第2ROM・RWM領域内のデータに基づき、後述する、第2遊技メダル投入チェック処理1を実行する。次に、ステップ5650で、CPUは、第2ROM・RWM領域内のデータに基づき、後述する、遊技メダル通過状態更新処理を実行する。次に、ステップ5700で、CPUは、第2ROM・RWM領域内のデータに基づき、後述する、投入・払出センサ異常チェック処理を実行する。次に、ステップ5750で、CPUは、第2ROM・RWM領域内のデータに基づき、後述する、エラー表示要求データクリア処理を実行する。次に、ステップ5308で、CPUは、第2ROM・RWM領域内のデータに基づき、ステップ5306で第2スタックエリアに退避したレジスタを復帰する。次に、ステップ5310で、CPUは、第2ROM・RWM領域内のデータに基づき、ステップ5302で退避したスタックポインタを復帰し、次の処理に移行する。尚、本実施形態においては、割込み処理として、ステップ5300のサブルーチンに係るエラーチェック処理と、前述したステップ2600のサブルーチンに係る電源断処理とを実行するよう構成されていると共に、1回の割込み処理において、電源断処理を実行した後にエラーチェック処理を実行するよう構成されている。このように構成することによって、エラーチェック処理の実行中に電源断を検知した場合に、実行中の割込み処理(特に、エラーチェック処理)を実行した後の、次回の割込み処理における電源断処理によって当該発生した電源断時の処理が実行されることとなるため、エラーチェック処理の実行中に電源断が発生した場合にも、実行中のエラーチェック処理を最後まで実行してから電源断時の処理が実行されることとなり、不正行為防止用プログラムの制御処理を改善することができる。
<第2ROM・RWM領域における処理>
次に、図59は、図58におけるステップ5350のサブルーチンに係る、設定値エラーチェック処理のフローチャートである。まず、ステップ5352で、CPUは、第2ROM・RWM領域内のデータに基づき、E6エラー(設定値が範囲外の場合のエラー)をセットする。次に、ステップ5354で、CPUは、第2ROM・RWM領域内のデータに基づき、設定値は正常範囲であるか否かを判定する。ステップ5354でYesの場合には、次の処理に移行する。他方、ステップ5354でNoの場合、E6エラーが検出されたと判定し、ステップ5400の復帰不可能エラー処理2に移行する。
<第2ROM・RWM領域における処理>
次に、図60は、図59におけるステップ5400のサブルーチンに係る、復帰不可能エラー処理2のフローチャートである。まず、ステップ5402で、CPUは、第2ROM・RWM領域内のデータに基づき、下位桁のエラー表示データをセットする。次に、ステップ5404で、CPUは、第2ROM・RWM領域内のデータに基づき、上位桁のエラー表示データをセットし、ステップ5406に移行する。次に、ステップ5406で、CPUは、第2ROM・RWM領域内のデータに基づき、クリア出力ポートアドレス及び出力ポート数をセットし、ステップ5408に移行する。
次に、ステップ5408で、CPUは、第2ROM・RWM領域内のデータに基づき、出力ポート0〜6をオフにする。次に、ステップ5410で、CPUは、第2ROM・RWM領域内のデータに基づき、次の出力ポートアドレスをセットする。次に、ステップ5412で、CPUは、第2ROM・RWM領域内のデータに基づき、各出力ポートへの出力が終了したか否かを判定する。ステップ5412でNoの場合、ステップ5408に移行し、各出力ポートへの出力が終了するまでステップ5408〜ステップ5412の処理を繰り返し実行する。ステップ5412でYesの場合、ステップ5414で、CPUは、第2ROM・RWM領域内のデータに基づき、出力ポート3及び4に対応する出力データであるエラー表示に係る出力データを獲得枚数表示装置D190に出力する。次に、ステップ5416で、CPUは、第2ROM・RWM領域内のデータに基づき、上位桁と下位桁との切替を実行し、ステップ5406に移行する。
<第2ROM・RWM領域における処理>
次に、図61は、図58におけるステップ5450のサブルーチンに係る、内蔵乱数チェック処理のフローチャートである。まず、ステップ5452で、CPUは、第2ROM・RWM領域内のデータに基づき、E7エラー{乱数更新用のRCK端子に入力されたクロックの周波数異常、又は、内蔵乱数(16ビット乱数)の更新状態異常を検知した場合のエラー}をセットする。次に、ステップ5454で、CPUは、第2ROM・RWM領域内のデータに基づき、内部情報レジスタデータを取得する。次に、ステップ5456で、CPUは、第2ROM・RWM領域内のデータに基づき、内蔵乱数更新関連異常が発生したか否かを判定する。ステップ5456でNoの場合には、次の処理に移行する。他方、ステップ5456でYesの場合、E7エラーが検出されたと判定し、前述したステップ5400の復帰不可能エラー処理2に移行する。尚、前述したように、RCK端子に入力されたクロックの周波数異常を検知した場合、又は、内蔵乱数(16ビット乱数)の更新状態異常を検知した場合、の何れかである場合に、内蔵乱数更新関連異常が発生したと判定する、即ち、E7エラーが検出されたを判定するよう構成されている。
<第2ROM・RWM領域における処理>
次に、図62は、図58におけるステップ5500のサブルーチンに係る、タイマ計測処理2のフローチャートである。まず、ステップ5502で、CPUは、第2ROM・RWM領域内のデータに基づき、計測開始タイマアドレスをセットする。次に、ステップ5504で、CPUは、第2ROM・RWM領域内のデータに基づき、1バイトタイマ数2(同図におけるタイマ計測処理2にて用いるタイマ数)をセットし、ステップ5506に移行する。次に、ステップ5506で、CPUは、第2ROM・RWM領域内のデータに基づき、1バイトタイマ値を更新する。次に、ステップ5508で、CPUは、第2ROM・RWM領域内のデータに基づき、次のタイマアドレスをセットする。次に、ステップ5510で、CPUは、第2ROM・RWM領域内のデータに基づき、1バイトタイマの計測が終了したか否かを判定する。ステップ5510でYesの場合には次の処理に移行する。他方、ステップ5510でNoの場合には、ステップ5506に移行し、1バイトタイマの計測が終了するまでステップ5506〜ステップ5510の処理を繰り返し実行する。
<第2ROM・RWM領域における処理>
次に、図63は、図58におけるステップ5550のサブルーチンに係る、第2遊技メダル投入チェック処理1のフローチャートである。まず、ステップ5552で、CPUは、第2ROM・RWM領域内のデータに基づき、前回ブロッカ信号データをセットする。次に、ステップ5554で、CPUは、第2ROM・RWM領域内のデータに基づき、ブロッカ信号データを生成する。次に、ステップ5556で、CPUは、第2ROM・RWM領域内のデータに基づき、今回ブロッカ信号データを生成する。次に、ステップ5558で、CPUは、第2ROM・RWM領域内のデータに基づき、ブロッカ信号データを生成する。
次に、ステップ5564で、CPUは、第2ROM・RWM領域内のデータに基づき、メダル投入検査フラグがオンであるか否かを判定する。ステップ5564でNoの場合、ステップ5566で、CPUは、第2ROM・RWM領域内のデータに基づき、ブロッカ信号がオンであるか否かを判定する。ステップ5566でNoの場合、即ち、ブロッカ信号がオフである場合には、次の処理に移行する。ステップ5564又はステップ5566でYesの場合、ステップ5568で、CPUは、第2ROM・RWM領域内のデータに基づき、前回遊技メダル通過状態を取得する。尚、本実施形態においては遊技メダル通過状態として、遊技メダル通過状態0〜遊技メダル通過状態3が設けられており、後述する、遊技メダル通過状態更新処理にて、第1投入センサ信号と第2投入センサ信号とのオン・オフ状況に基づいて遊技メダル通過状態が更新されるよう構成されている。尚、遊技メダル通過状態に対応した具体的な第1投入センサ信号と第2投入センサ信号とのオン・オフ状況は、「遊技メダル通過状態0=第1投入センサ信号オフ、且つ、第2投入センサ信号オフ」、「遊技メダル通過状態1=第1投入センサ信号オフ、且つ、第2投入センサ信号オン」、「遊技メダル通過状態2=第1投入センサ信号オン、且つ、第2投入センサ信号オフ」、「遊技メダル通過状態3=第1投入センサ信号オン、且つ、第2投入センサ信号オン」、となっている。
次に、ステップ5570で、CPUは、第2ROM・RWM領域内のデータに基づき、第1投入センサ信号と第2投入センサ信号とのいずれかの投入センサ信号がオンであるか否かを判定する。ステップ5570でYesの場合、ステップ5572で、CPUは、第2ROM・RWM領域内のデータに基づき、メダル投入検査フラグをセットする。尚、ステップ5570でNoの場合には、図64の第2遊技メダル投入チェック処理2におけるステップ5618に移行することとなる。次に、ステップ5574で、CPUは、第2ROM・RWM領域内のデータに基づき、第1投入センサ信号がオンであり、且つ、第2投入センサ信号がオフであるか否かを判定する。
ステップ5574でYesの場合、ステップ5576でCPエラー(第1投入センサと第2投入センサとを用いて遊技メダルの通過順序が異常であると判定された場合に発生するエラー)をセットする。尚、ステップ5576〜ステップ5586の処理は、第1投入センサ信号オン、且つ、第2投入センサ信号オフである場合(今回の遊技メダル通過状態が遊技メダル通過状態2である場合)に実行される処理となっている。次に、ステップ5578で、CPUは、第2ROM・RWM領域内のデータに基づき、前回の遊技メダル通過状態は1又は3であるか否かを判定する。ステップ5578でNoの場合、ステップ5580で、CPUは、第2ROM・RWM領域内のデータに基づき、前回の遊技メダル通過状態は0であるか否かを判定する。ステップ5580でYesの場合、ステップ5582で、CPUは、第2ROM・RWM領域内のデータに基づき、第1投入センサ通過チェック時間をセットし、ステップ5584に移行する。尚、ステップ5580でNoの場合には、ステップ5582の処理を実行せずにステップ5584に移行する。前述したように、ステップ5576〜ステップ5586の処理は、今回の遊技メダル通過状態が遊技メダル通過状態2である場合となっているため、前回の遊技メダル通過状態が遊技メダル通過状態0である場合には、「第1投入センサ信号オフ、且つ、第2投入センサ信号オフ→第1投入センサ信号オン、且つ、第2投入センサ信号オフ」となった最初の処理となるため、ステップ5582にて第1投入センサ通過チェック時間をセットして第1投入センサ信号がオンである期間を計測可能に構成されている。また、前回の遊技メダル通過状態が2の場合には今回の遊技メダル通過状態も2であるためにステップ5580でNoとなりCPエラーは検出されないこととなる。
次に、ステップ5584で、CPUは、第2ROM・RWM領域内のデータに基づき、CEエラー(第1投入センサ又は第2投入センサに遊技メダルが滞留したと判定された場合に発生するエラー)をセットする。次に、ステップ5586で、CPUは、第2ROM・RWM領域内のデータに基づき、第1投入センサD20sの通過時間が超過した(本例では、前述したように、第1投入センサ信号がオンである期間が188.27msを超過した場合に第1投入センサの通過時間が超過したと判定する)か否かを判定する。ステップ5586でNoの場合には、CEエラーが検出されなかったと判定し、次の処理に移行する。
また、ステップ5574でNoの場合、即ち、第1投入センサ信号がオン、且つ、第2投入センサ信号がオフではなかった場合、ステップ5588で、CPUは、第2ROM・RWM領域内のデータに基づき、第1投入センサ信号及び第2投入センサ信号がオンであるか否かを判定する。ステップ5588でYesの場合、ステップ5590で、CPUは、第2ROM・RWM領域内のデータに基づき、CPエラーをセットする。尚、同図におけるステップ5590〜ステップ5594及び図64におけるステップ5602〜ステップ5608の処理は、第1投入センサ信号オン、且つ、第2投入センサ信号オンである場合(今回の遊技メダル通過状態が遊技メダル通過状態3である場合)に実行される処理となっている。次に、ステップ5592で、CPUは、第2ROM・RWM領域内のデータに基づき、前回の遊技メダル通過状態は0又は1であるか否かを判定する。ステップ5592でNoの場合、ステップ5594で、CPUは、第2ROM・RWM領域内のデータに基づき、前回の遊技メダル通過状態は2であるか否かを判定する。ステップ5594でYesの場合にはステップ5600の第2遊技メダル投入チェック処理2に移行する。
<第2ROM・RWM領域における処理>
次に、図64は、図63におけるステップ5600のサブルーチンに係る、第2遊技メダル投入チェック処理2のフローチャートである。まず、ステップ5602で、CPUは、第2ROM・RWM領域内のデータに基づき、第2投入センサ通過チェック時間をセットし、ステップ5604に移行する。尚、前述した図63におけるステップ5594でNoの場合には、ステップ5602の処理を実行せずにステップ5604に移行する。前述したように、図63におけるステップ5590〜ステップ5594及び同図におけるステップ5602〜ステップ5608の処理は、今回の遊技メダル通過状態が遊技メダル通過状態3である場合となっているため、前回の遊技メダル通過状態が遊技メダル通過状態2である場合には、「第1投入センサ信号オン、且つ、第2投入センサ信号オフ→第1投入センサ信号オン、且つ、第2投入センサ信号オン」となった最初の処理となるため、ステップ5602にて第2投入センサ通過チェック時間をセットして第2投入センサ信号がオンである期間を計測可能に構成されている。また、前回の遊技メダル通過状態が3の場合には今回の遊技メダル通過状態も3であるためにステップ5594でNoとなりCPエラーは検出されないこととなる。
次に、ステップ5604で、CPUは、第2ROM・RWM領域内のデータに基づき、CEエラーをセットする。次に、ステップ5606で、CPUは、第2ROM・RWM領域内のデータに基づき、第2投入センサD30sの通過時間が超過したか否かを判定する。ステップ5606でNoの場合、ステップ5608で、CPUは、第2ROM・RWM領域内のデータに基づき、第2投入センサD30sの通過時間が超過した(本例では、前述したように、第2投入センサ信号がオンである期間が188.27msを超過した場合に第2投入センサの通過時間が超過したと判定する)か否かを判定する。ステップ5606でNoの場合、ステップ5608で、CPUは、第2ROM・RWM領域内のデータに基づき、第1投入センサD20sの通過時間が超過した(本例では、前述したように、第1投入センサ信号がオンである期間が188.27msを超過した場合に第1投入センサの通過時間が超過したと判定する)か否かを判定する。ステップ5608でNoの場合には、CEエラーが検出されなかったと判定し、次の処理に移行する。
また、前述した図63におけるステップ5588でNoの場合、ステップ5610で、CPUは、第2ROM・RWM領域内のデータに基づき、CPエラーをセットする。尚、ステップ5610〜ステップ5616の処理は、第1投入センサ信号オフ、且つ、第2投入センサ信号オンである場合(今回の遊技メダル通過状態が遊技メダル通過状態1である場合)に実行される処理となっている。次に、ステップ5612で、CPUは、第2ROM・RWM領域内のデータに基づき、前回の遊技メダル通過状態は0又は2であるか否かを判定する。尚、前回の遊技メダル通過状態が1の場合には今回の遊技メダル通過状態も1であるためにステップ5612でNoとなりCPエラーは検出されないこととなる。また、前回の遊技メダル通過状態が3の場合には、正常な遊技メダルの通過順序と判定され、CPエラーは検出されないこととなる。
また、ステップ5612でNoの場合、ステップ5614で、CPUは、第2ROM・RWM領域内のデータに基づき、CEエラーをセットする。次に、ステップ5616で、CPUは、第2ROM・RWM領域内のデータに基づき、第2投入センサの通過時間が超過した(本例では、前述したように、第2投入センサ信号がオンである期間が188.27msを超過した場合に第2投入センサの通過時間が超過したと判定する)か否かを判定する。ステップ5616でNoの場合には、CEエラーが検出されなかったと判定し、次の処理に移行する。
また、前述した図63におけるステップ5570でNoの場合、ステップ5618で、CPUは、第2ROM・RWM領域内のデータに基づき、メダル投入検査フラグをクリアする。次に、ステップ5620で、CPUは、第2ROM・RWM領域内のデータに基づき、第1投入センサ通過チェック時間及び第2投入センサ通過チェック時間をクリアする。次に、ステップ5622で、CPUは、第2ROM・RWM領域内のデータに基づき、前回の遊技メダル通過状態は0であるか否かを判定する。ステップ5622でNoの場合、ステップ5624で、CPUは、第2ROM・RWM領域内のデータに基づき、前回の遊技メダル通過状態は2であるか否かを判定する。ステップ5624でNoの場合には、ステップ5626に移行する。尚、ステップ5618〜ステップ5628の処理は、第1投入センサ信号オフ、且つ、第2投入センサ信号オフである場合(今回の遊技メダル通過状態が遊技メダル通過状態0である場合)に実行される処理となっている。尚、ステップ5622又はステップ5624でYesの場合には次の処理に移行する。
次に、ステップ5626で、CPUは、第2ROM・RWM領域内のデータに基づき、CPエラーをセットする。次に、ステップ5628で、CPUは、第2ROM・RWM領域内のデータに基づき、前回の遊技メダルの通過状態は1であるか否かを判定する。ステップ5628でNoの場合、ステップ5630で、CPUは、第2ROM・RWM領域内のデータに基づき、エラー表示要求データを保存し、次の処理に移行する。尚、図63におけるステップ5578、ステップ5586、ステップ5592、図64におけるステップ5606、ステップ5608、ステップ5612又はステップ5616でYesの場合にもステップ5630に移行し、エラー表示要求データを保存することとなる。尚、前回の遊技メダル通過状態が0の場合には今回の遊技メダル通過状態も0であるためにステップ5622でYesとなりCPエラーは検出されないこととなる。また、前回の遊技メダル通過状態が2の場合には、図15の(4)にて前述したように、「第1投入センサ信号オン、且つ、第2投入センサ信号オフ→第1投入センサ信号オフ、且つ、第2投入センサ信号オフ」となった場合には、正常な遊技メダルの投入とは見做されずクレジット数やベット数は増加しないが、エラー(CPエラー)にもならないよう構成されている。また、前回の遊技メダル通過状態が1の場合には、正常な遊技メダルの通過順序と判定され、CPエラーは検出されないこととなる。このように、本実施形態においては、第2ROM・RWM領域における処理として、ブロッカ信号がオン、又は、メダル投入検査フラグがオンである場合に、第1投入センサD20sと第2投入センサD30sとの検査を実行し、遊技メダルの通過異常を検出した場合に、検出したエラー(図63及び図64においては、CPエラーとCEエラーとの2つのエラーとなっている)に対応した表示要求を実行するよう構成されている。
このように、本実施形態においては、割込み処理(第2ROM・RWM領域における割込み処理)において遊技メダルの投入に係るエラーの検出を判定する(ステップ5550及びステップ5600にて判定する)よう構成されている。また、第1投入センサ信号がオン又はオフとなっている時間と第2投入センサ信号がオン又はオフとなっている時間とを割込み処理(第2ROM・RWM領域における割込み処理)において管理するよう構成されている。一方、メインループ処理(第1ROM・RWM領域におけるメインループ処理)において遊技メダルが正常に投入されたか否かを判定するよう構成されているが、第1投入センサD20sと第2投入センサD30sとの通過順序を確認しており、第1投入センサ信号がオン又はオフとなっている時間と第2投入センサ信号がオン又はオフとなっている時間とを確認してはいないよう構成されている。また、割込み処理におけるタイマ計測処理はステップ5500の処理となっており、当該タイマ計測処理を実行してから、前記割込み処理(第2ROM・RWM領域における割込み処理)において遊技メダルの投入に係るエラーの検出を判定する処理が実行されるまでに複雑な処理の実行を挟まない(又は、1回の割込み処理内にて実行される)、即ち、タイマ計測を実行してから遊技メダルの投入に係るエラーの検出を判定するまでの時間が短時間とすることができるように構成されている。他方、メインループ処理(第1ROM・RWM領域におけるメインループ処理)にて遊技メダルの投入に係るエラーの検出を判定する処理を実行するように構成した場合には、例えば、ステップ1600にて当該エラーの検出を判定する処理を実行することとなり、割込み処理にてタイマ計測が実行されたとしても、ステップ1600の処理が実行されるまではエラーの検出の判定が実行されない、タイマ計測を実行してから遊技メダルの投入に係るエラーの検出を判定するまでの時間が長時間となってしまう。よって、本実施形態のように、割込み処理(第2ROM・RWM領域における割込み処理)において遊技メダルの投入に係るエラーの検出を判定する(ステップ5550及びステップ5600にて判定する)よう構成することにより、タイマ計測の実行から遊技メダルの投入に係るエラーの検出を判定するまでを短時間とすることにより、より正確なエラーの検出処理が実行できることとなる。
<第2ROM・RWM領域における処理>
次に、図65は、図58におけるステップ5650のサブルーチンに係る、遊技メダル通過状態更新処理のフローチャートである。まず、ステップ5652で、CPUは、第2ROM・RWM領域内のデータに基づき、投入センサ信号情報(第1投入センサ信号及び第2投入センサ信号の情報)を取得する。次に、ステップ5654で、CPUは、第2ROM・RWM領域内のデータに基づき、ステップ5652で取得した投入センサ信号情報に基づいて遊技メダル通過状態を更新し、次の処理に移行する。
<第2ROM・RWM領域における処理>
次に、図66は、図58におけるステップ5700のサブルーチンに係る、投入・払出センサ異常チェック処理のフローチャートである。まず、ステップ5702で、CPUは、第2ROM・RWM領域内のデータに基づき、前回のエラー検出フラグを更新する。次に、ステップ5708で、CPUは、第2ROM・RWM領域内のデータに基づき、投入関連エラー(例えば、前述したCPエラー、CEエラー)時であるか否かを判定する。ステップ5708でNoの場合、ステップ5714で、CPUは、第2ROM・RWM領域内のデータに基づき、投入受付センサが立ち上がった否か(投入受付センサ信号がオフからオンとなったか否か)を判定する。ステップ5714でYesの場合、ステップ5716で、CPUは、第2ROM・RWM領域内のデータに基づき、投入受付センサ滞留時間をセットし、ステップ5718に移行する。他方、ステップ5714でNoの場合にはステップ5716の処理を実行せずにステップ5718に移行する。
次に、ステップ5718で、CPUは、第2ROM・RWM領域内のデータに基づき、投入受付センサ信号がオンであるか否かを判定する。ステップ5718でYesの場合、ステップ5720で、CPUは、第2ROM・RWM領域内のデータに基づき、投入受付センサ滞留時間がエラーとなる期間(本例では、452.00ms)を経過したか否かを判定する。ステップ5720でYesの場合、ステップ5722で、CPUは、第2ROM・RWM領域内のデータに基づき、CHエラー検出フラグをセットし、ステップ5724に移行する。尚、ステップ5708でYes、ステップ5718でNo又はステップ5720でNoの場合にもステップ5724に移行する。
次に、ステップ5724で、CPUは、第2ROM・RWM領域内のデータに基づき、HPエラー{図15の(2−1)〜(2−3)にて前述したエラーであり、第1払出センサ又は第2払出センサに遊技メダルが滞留した場合に発生するエラー}時であるか否かを判定する。ステップ5724でNoの場合、ステップ5726で、CPUは、第2ROM・RWM領域内のデータに基づき、第1払出センサ異常検出データのRWMアドレスをセットする。次に、ステップ5728で、CPUは、第2ROM・RWM領域内のデータに基づき、第2払出センサ異常検出データのRWMアドレスをセットする。次に、ステップ5729で、CPUは、第2ROM・RWM領域内のデータに基づき、第1払出センサのマスクデータ及び第1払出センサビットをセットする。次に、ステップ5730で、CPUは、第2ROM・RWM領域内のデータに基づき、ホッパモータ駆動信号がオンであるか否かを判定する。ステップ5730でYesの場合、ステップ5731で、CPUは、第2ROM・RWM領域内のデータに基づき、第1払出センサ及び第2払出センサのマスクデータ並びに第2払出センサビットをセットし、ステップ5732に移行する。他方、ステップ5730でNoの場合にはステップ5731の処理を実行せずにステップ5732に移行する。
次に、ステップ5732で、CPUは、第2ROM・RWM領域内のデータに基づき、払出センサチェック用データを生成する。次に、ステップ5733で、CPUは、第2ROM・RWM領域内のデータに基づき、異常検出データクリア用データをセットする。次に、ステップ5734で、CPUは、第2ROM・RWM領域内のデータに基づき、チェックを実行しないセンサの異常検出データをクリアする。次に、ステップ5735で、CPUは、第2ROM・RWM領域内のデータに基づき、第1払出センサ又は第2払出センサの異常が検出されたか否かを判定する。ステップ5735でYesの場合、ステップ5736で、CPUは、第2ROM・RWM領域内のデータに基づき、第1払出センサ又は第2払出センサの異常検出時間が経過したか否かを判定する。ステップ5736でNoの場合、ステップ5738で、CPUは、第2ROM・RWM領域内のデータに基づき、第1払出センサ又は第2払出センサの異常検出データ+1データを生成し、ステップ5739に移行する。尚、ステップ5735でNo又はステップ5736でYesの場合にもステップ5739に移行する。次に、ステップ5739で、CPUは、第2ROM・RWM領域内のデータに基づき、第1払出センサ又は第2払出センサの異常検出データを更新し、次の処理に移行する。尚、ステップ5724でYesの場合、即ち、HPエラー時である場合も次の処理に移行する。このように、本実施形態においては、割込み処理(第2ROM・RWM領域における処理)であるステップ5700の処理とメインループ処理(第1ROM・RWM領域における処理)であるステップ1800の処理とで遊技メダルの払出に係るエラーの検出の判定を実行し得るよう構成されており、割込み処理(第2ROM・RWM領域における処理)では、正常な遊技の進行では検出され得ない(不正な遊技を実行された場合等に検出され得る)第1払出センサ又は第2払出センサの異常入力を判定し、メインループ処理(第1ROM・RWM領域における処理)では、正常な遊技の進行にて検出され得る(例えば、ボーナスの実行等によりHEエラーが検出される)エラーについて判定する、即ち、割込み処理(第2ROM・RWM領域における処理)とメインループ処理(第1ROM・RWM領域における処理)とでは、遊技メダルの払出に関する異なるエラーを検出し得るよう構成されている。
<第2ROM・RWM領域における処理>
次に、図67は、図58におけるステップ5750のサブルーチンに係る、エラー表示要求データクリア処理のフローチャートである。まず、ステップ5752で、CPUは、第2ROM・RWM領域内のデータに基づき、エラー表示時であるか否かを判定する。ステップ5752でYesの場合、ステップ5754で、CPUは、第2ROM・RWM領域内のデータに基づき、エラー表示要求データをクリアし、次の処理に移行する。尚、ステップ5752でNoの場合、即ち、エラー表示時ではない場合にはエラー表示要求データをクリアせずに次の処理に移行することとなる。
<第1ROM・RWM領域における処理>
次に、図68は、図57におけるステップ2800のサブルーチンに係る、外部信号出力処理のフローチャートである。まず、ステップ2802で、CPUは、第1ROM・RWM領域内のデータに基づき、外部信号出力時間が終了したか否かを判定する。ステップ2802でYesの場合、ステップ2804で、CPUは、第1ROM・RWM領域内のデータに基づき、外部信号出力時間をセットする。次に、ステップ2806で、CPUは、第1ROM・RWM領域内のデータに基づき、メダル投入信号出力回数があるか否かを判定する。ステップ2806でYesの場合、ステップ2808で、CPUは、第1ROM・RWM領域内のデータに基づき、メダル投入信号出力回数を1減算する。次に、ステップ2810で、CPUは、第1ROM・RWM領域内のデータに基づき、メダル投入信号出力データビットをオンにし、ステップ2812に移行する。尚、ステップ2806でNoの場合にもステップ2812に移行する。
次に、ステップ2812で、CPUは、第1ROM・RWM領域内のデータに基づき、メダル払出信号出力回数があるか否かを判定する。ステップ2812でYesの場合、ステップ2814で、CPUは、第1ROM・RWM領域内のデータに基づき、メダル払出信号出力回数を1減算する。次に、ステップ2816で、CPUは、第1ROM・RWM領域内のデータに基づき、メダル払出信号出力データビットをオンにし、ステップ2818に移行する。尚、ステップ2812でNoの場合にも、ステップ2818に移行する。
次に、ステップ2818で、CPUは、第1ROM・RWM領域内のデータに基づき、出力ビットのオン・オフを反転する。次に、ステップ2820で、CPUは、第1ROM・RWM領域内のデータに基づき、メダル投入信号及び払出信号出力データをセットし、ステップ2822に移行する。尚、ステップ2802でNoの場合にもステップ2822に移行する。次に、ステップ2822で、CPUは、第1ROM・RWM領域内のデータに基づき、外部信号、メダル投入信号及び払出信号出力データをセットし、ステップ2824に移行する。
次に、ステップ2824〜ステップ2826は、割込み処理における試験信号管理処理である。まず、ステップ2824で、CPUは、第1ROM・RWM領域内のデータに基づき、AFレジスタを退避し、第2ROM・RWM領域の処理の呼び出しを実行する。
<第2ROM・RWM領域における処理>
次に、ステップ5850で、CPUは、第1ROM・RWM領域内のデータに基づき、後述する試験信号出力処理を実行し、第1ROM・RWM領域の呼び出し元に復帰する。
<第1ROM・RWM領域における処理>
次に、ステップ2826で、CPUは、第1ROM・RWM領域内のデータに基づき、AFレジスタを復帰し、ステップ2828に移行する。
次に、ステップ2828は、割込み処理におけるソフト乱数更新処理である。まず、ステップ2828で、CPUは、第1ROM・RWM領域内のデータに基づき、ソフト乱数更新処理2を実行し、ステップ2830に移行する。
次に、ステップ2830〜ステップ2832は、割込み処理における割込み処理終了処理である。まず、ステップ2830で、CPUは、第1ROM・RWM領域内のデータに基づき、レジスタを復帰する。次に、ステップ2832で、CPUは、第1ROM・RWM領域内のデータに基づき、割込みを許可し、割込み処理を終了する。
<第2ROM・RWM領域における処理>
次に、図69は、図68におけるステップ5850のサブルーチンに係る、試験信号出力処理のフローチャートである。まず、ステップ5852で、CPUは、第2ROM・RWM領域内のデータに基づき、第2RWM領域にスタックポインタを退避する。次に、ステップ5854で、CPUは、第2ROM・RWM領域内のデータに基づき、第2スタックエリアにスタックポインタをセットする。次に、ステップ5856で、CPUは、第2ROM・RWM領域内のデータに基づき、レジスタを退避する。次に、ステップ5858で、CPUは、第2ROM・RWM領域内のデータに基づき、試験信号出力データを生成する。次に、ステップ5860で、CPUは、第2ROM・RWM領域内のデータに基づき、試験信号を出力する。次に、ステップ5862で、CPUは、第2ROM・RWM領域内のデータに基づき、再遊技状態識別情報フラグがオンであるか否かを判定する。ステップ5862でYesの場合、ステップ5864で、CPUは、第2ROM・RWM領域内のデータに基づき、再遊技識別信号4をセットする。次に、ステップ5866で、CPUは、第2ROM・RWM領域内のデータに基づき、ボーナス条件装置作動時であるか否かを判定する。ステップ5866でNoの場合、ステップ5868で、CPUは、第2ROM・RWM領域内のデータに基づき、再遊技識別信号5をセットする。次に、ステップ5870で、CPUは、第2ROM・RWM領域内のデータに基づき、1種BB‐Aの作動時であるか否かを判定する。ステップ5870でNoの場合、ステップ5872で、CPUは、第2ROM・RWM領域内のデータに基づき、1種BB‐Bの作動時であるか否かを判定する。ステップ5872でNoの場合、ステップ5874で、CPUは、第2ROM・RWM領域内のデータに基づき、再遊技識別信号6をセットする。次に、ステップ5876で、CPUは、第2ROM・RWM領域内のデータに基づき、1種BB‐Cの作動時であるか否かを判定する。ステップ5876でNoの場合、ステップ5877で、CPUは、第2ROM・RWM領域内のデータに基づき、再遊技識別信号7をセットし、ステップ5894に移行する。尚、ステップ5866、ステップ5870、ステップ5872又はステップ5876でYesの場合にもステップ5894に移行する。また、ステップ5862でNoの場合には、ステップ5878に移行する。尚、1種BBの種類や再遊技識別番号についてはあくまで一例であり、変更しても問題ない。
また、ステップ5878で、CPUは、第2ROM・RWM領域内のデータに基づき、条件装置情報クリアデータをセットする。次に、ステップ5879で、CPUは、第2ROM・RWM領域内のデータに基づき、条件装置情報出力時であるか否かを判定する。ステップ5879でNoの場合にはステップ5894に移行する。ステップ5879でYesの場合、ステップ5880で、CPUは、第2ROM・RWM領域内のデータに基づき、役物条件装置情報出力時データをセットする。次に、ステップ5882で、CPUは、第2ROM・RWM領域内のデータに基づき、ボーナス条件装置番号をセットする。次に、ステップ5883で、CPUは、第2ROM・RWM領域内のデータに基づき、役物条件装置情報出力時であるか否かを判定する。ステップ5883でNoの場合、ステップ5884で、CPUは、第2ROM・RWM領域内のデータに基づき、入賞及び再遊技条件装置番号をセットする。次に、ステップ5885で、CPUは、第2ROM・RWM領域内のデータに基づき、入賞及び再遊技条件装置情報出力時データをセットし、ステップ5886に移行する。尚、ステップ5883でYesの場合にも、ステップ5886に移行する。
次に、ステップ5886で、CPUは、第2ROM・RWM領域内のデータに基づき、条件装置下位情報をセットする。次に、ステップ5888で、CPUは、第2ROM・RWM領域内のデータに基づき、条件装置下位情報出力時であるか否かを判定する。ステップ5888でNoの場合、ステップ5890で、CPUは、第2ROM・RWM領域内のデータに基づき、条件装置上位情報をセットし、ステップ5892に移行する。尚、ステップ5888でYesの場合にも、ステップ5892に移行する。次に、ステップ5892で、CPUは、第2ROM・RWM領域内のデータに基づき、条件装置情報を生成し、ステップ5894に移行する。
次に、ステップ5894で、CPUは、第2ROM・RWM領域内のデータに基づき、条件装置情報を出力する。次に、ステップ5896で、CPUは、第2ROM・RWM領域内のデータに基づき、レジスタを復帰する。次に、ステップ5898で、CPUは、第2ROM・RWM領域内のデータに基づき、第2RWM領域からスタックポインタを復帰し、第1ROM・RWM領域の呼び出し元に復帰する。
次に、図70は、本実施形態に適用可能な、第1ROM・RWM領域の処理を実行している場合に第2ROM・RWM領域の処理を呼び出した際の、スタックエリアにおける処理の一例である。同図においては、第1ROM・RWM領域の処理を実行中に第2ROM・RWM領域の処理を呼び出した場合について例示している。尚、同図における処理は一例であり、第1スタックエリアと第2スタックエリアにおける処理の順序や記憶する領域等は同図のものには限定されない。まず、(1)で、第1スタックエリアにスタックポインタX(第1スタックエリアのアドレスを示す)をセットする。その後、(2)で、第1ROM・RWM領域による処理を実行した後、全レジスタαを第1スタックエリアに退避し、第2ROM・RWM領域の処理を呼び出す。その後、(3)で、スタックポインタAを第RWM領域の所定アドレスに退避(スタックポインタのアドレスAを第2RWM領域に一時記憶)する。尚、(1)〜(3)においては、スタックエリアとして第1スタックエリアを使用している。
その後、(4)で、スタックポインタY(第2スタックエリアのアドレスを示す)を第2スタックエリアにセットする。その後、(5)で、第2ROM・RWM領域にて処理が実行されていき、スタックポインタのアドレスがB(第2スタックエリアのアドレスを示す)となる。尚、(4)〜(5)においては、スタックエリアとして第2スタックエリアを使用している。
その後、(6)で、第2ROM・RWM領域の処理が終了し、第2RWM領域に記憶していたスタックポインタA(第1スタックエリアのアドレスを示す)を復帰する。その後、(7)で、第1ROM・RWM領域の呼び出し元に復帰した後、第1スタックエリアに退避していた全レジスタαを復帰し、その後第1ROM・RWM領域の処理を実行していくこととなる。このように、本実施形態においては、第1ROM・RWM領域の処理を実行中に第2ROM・RWM領域の処理を呼び出した場合には、第1スタックエリアに全レジスタ及び戻りアドレスに係るデータを退避すると共に、第1スタックエリアのアドレスとなっているスタックポインタのアドレスを第2RWM領域に記憶した後に、第2ROM・RWM領域の処理を実行するよう構成されている。尚、同図の構成には限定されず、例えば、全レジスタの退避を第2ROM・RWM領域における処理にて実行し、第2スタックエリアに退避するよう構成してもよい。
以上のように構成することで、本実施形態に係る回胴式遊技機によれば、第2ROM領域にて配置されているプログラムコードに基づくCPUの処理にて、第1RWM領域(又は、レジスタ領域)を参照可能に構成し、エラー検出、エラー表示等の遊技機に対して不正行為がなされる(例えば、遊技媒体の投入口や払出口に対して不正にアクセスして遊技媒体を不正な手段で得る、等)ことを防御するための不正行為防止用のプログラムを第2ROM・RWM領域における処理にて実行し得るよう構成することで、遊技の進行に係る処理と領域を明確に分けることができ、当該不正行為防止用のプログラムの正当性を検証することが容易となる。
また、第一制御領域内に存在しCPUからアクセスされるプログラム=遊技性仕様を実装するためのプログラム、第二制御領域内に存在しCPUからアクセスされるプログラム=不正行為防止用のプログラムとして配置することで、遊技性仕様を実装するためのプログラムと不正行為防止用のプログラムとの配置位置を、プログラムソースコード上又はダンプリスト上において視覚上明確に切り分けることができるため、双方のプログラムの正当性を人為的に検証することが容易となる。また、第一制御領域内に存在しCPUからアクセスされるプログラムの方が、第二制御領域内に存在しCPUからアクセスされるプログラムよりも若いアドレスに配置されているため、CPUが最初に実行するプログラムを第一制御領域内に存在しCPUからアクセスされるプログラム(即ち、遊技性仕様を実装するためのプログラム)に限定することが容易となる。
また、第一制御領域内に存在しCPUからアクセスされるプログラム=遊技性仕様を実装するためのプログラム、第二制御領域内に存在しCPUからアクセスされるプログラム=不正行為防止用のプログラムとして配置した場合、遊技性仕様を実装するためのプログラムと不正行為防止用のプログラムとの主従関係を構築でき、従となる不正行為防止用のプログラムの処理結果を引き継いで、主となる遊技性仕様を実装するためのプログラムを実行可能となる。ここで、主となる遊技性仕様を実装するためのプログラムの処理結果は、秘匿性の高い情報となり得るため、不正行為報知用の情報を外部出力し得る従となる不正行為防止用のプログラムから無暗に更新してしまうと、セキュリティ性の低下に繋がってしまう恐れがあるが、不正行為防止用のプログラムの実行タイミングを、この呼び出し命令があった場合に限定できるため、プログラムソースコード上又はダンプリスト上において、不正行為防止用のプログラムの実行タイミングが視覚上明確となる結果、処理結果の更新タイミングについても、プログラムソースコード上又はダンプリスト上において明確化されることにより、特に、(処理結果の更新タイミングを含め)不正行為防止用のプログラムの正当性を人為的に検証することが容易となる。ここで、不正行為防止用のプログラムは、遊技機メーカー毎に仕様が相違し易いため、正当性を人為的に検証する必要性が高いものとなるが、このように構成しておくことで、不正行為防止用のプログラムについて検証するための労力を低減できる。
尚、前述したように、上記実施形態の構成は、ぱちんこ遊技機に応用された場合も範囲内である。そこで、そのような上述した構成をぱちんこ遊技機に適用した場合の一例を下記にて詳述する。尚、下記にて詳述するぱちんこ遊技機における主制御チップのメモリマップの構成(領域の大きさや番地の構成、等)は図5にて前述した回胴式遊技機におけるメモリマップの構成と同一である場合を例示している。
<第1ROM・RWM領域における処理>
ぱちんこ遊技機の電源投入後、非割込み処理が実行される。即ち、ぱちんこ遊技機の電源投入後、初期設定を行った後(レジスタの初期化や入出力ポートの設定等を行う)、主制御基板は、RWMクリアボタンの入力ポートを確認し、電源供給ユニットのリセットボタン(RWMクリアボタン)が操作されたか否か、即ち、遊技場の管理者等によって意図的にRWMの内容をクリアさせる操作が行われたか否かを判定する。RWMクリアボタンが操作された場合、主制御基板は、主制御基板側のRWM内容を全てクリアする。次に、主制御基板は、主制御基板のRWMをクリアしたことを示すラムクリア情報(コマンド)をサブメイン制御部側に送信する。
また、RWMクリアボタンが操作されなかった場合には、主制御基板は、主制御基板におけるRWM領域の内容をチェックする(例えば、電断時に記録されたチェックサムとRWM領域に保存されている情報量との比較を行う)。次に、主制御基板は、当該チェック結果に基づきRWMの内容が正常でないか否か(正確に電断時の情報がRWMにバックアップされていないか否か)を判定する。RWMにバックアップされていたデータが異常な場合には、前述したRWMクリア処理を実行する。他方、RWMにバックアップされていたデータが正常な場合、主制御基板は、主制御基板におけるRWM内に記憶(バックアップ)されている電断時の各種情報コマンドを取得し、取得した各種情報コマンドをサブメイン制御部側に送信する。次に、主制御基板は、主制御基板側の遊技進行メイン処理に係る実行定時割込み(例えば、約1.5ms毎のハードウエア割込みを契機とするが、本例では、当該割込み周期をTとする)を許可し{その結果、当該実行定時割込みタイミング到達時には、割込み処理が実行されることとなる}、次の定時割込みタイミングに到達するまで、主制御基板は、各種乱数更新処理(例えば、乱数カウンタのインクリメント処理)を繰り返し実行することとなる。
<第1ROM・RWM領域における処理>
次に、タイマ割込み処理について説明する。主制御基板は、定時割込みタイミングに到達した場合に発生する割込み要求に基づいて、遊技進行メイン処理を実行する。尚、割込み処理が発生した場合には、必ず第1ROM・RWM領域の処理を実行するよう構成されている。まず、定時割込み周期Tの到達時(例えば、約1.5ms毎のハードウエア割込み)を契機として、主制御基板は、入球検出処理(各種入球口への遊技球の入球を検出する処理)を実行する。次に、主制御基板は、第2ROM・RWM領域の処理を呼び出す。
<第2ROM・RWM領域における処理>
次に、主制御基板は、振動エラー管理処理(振動エラーが発生する条件及び振動エラーが解除される条件を充足しているか否かを判定する処理)を実行する。次に、主制御基板は、第1ROM・RWM領域の呼び出し元に復帰する。尚、振動エラーとは、遊技機が不正に振動した(正常に遊技している場合には起こりえない強度又は加速度の振動が生じた)ことを振動センサが検出した場合に発生するエラーである。振動センサを設ける位置としては、例えば、遊技領域の右側下方(遊技領域中央を基準)の大入賞口の奥側(遊技者から見て)に設けるよう構成してもよく、そのように構成した場合、遊技者からは視認できない(又は、し難い)ような位置に配置されることとなる。振動センサは、正常に遊技が進行していれば振動エラーを検出しない装置であるため、遊技者からは視認できない(又は、し難い)ような位置に配置することが好適である。尚、振動センサは、圧電体セラミックスを板状に形成した、圧電セラミックス板により、振動(衝撃)による機械的エネルギーを電気的エネルギーに変換し、変換した電気的エネルギーが、リード線を介し、プリント基板に実装されたフィルタ回路及び増幅回路を経て、コネクタより外部(例えば、主制御基板)へ出力されることにより、ぱちんこ遊技機に、振動エラーである信号を送信することができるよう構成されている。また、本例においては、第2ROM・RWM領域における処理として、振動エラーの発生に係る処理のみを例示したが、これには限定されず、振動エラー以外のエラーの発生に係る処理を第2ROM・RWM領域における処理として実行するよう構成してもよい。
<第1ROM・RWM領域における処理>
次に、主制御基板は、補助遊技内容決定乱数取得処理{始動口に取り付けられた電動役物(いわゆる、電チュー)の開放に係る図柄である補助遊技図柄の内容決定乱数を取得する処理}を実行する。次に、主制御基板は、電動役物駆動判定処理{始動口に取り付けられた電動役物(いわゆる、電チュー)の開放可否判定及び開放態様を決定する処理}を実行する。次に、主制御基板は、主遊技内容決定乱数取得処理{大入賞口(いわゆる、アタッカー)の開放に係る図柄である主遊技図柄の内容決定乱数を取得する処理}を実行する。次に、主制御基板は、主遊技図柄表示処理(主遊技図柄の当否判定結果、停止図柄、変動態様、等を決定し、主遊技図柄を変動表示するための処理)を実行する。次に、主制御基板は、特別遊技作動条件判定処理(特別遊技の作動条件を充足しているか否かを判定する処理)を実行する。次に、主制御基板は、特別遊技制御処理(特別遊技実行中における大入賞口の駆動制御等を実行する処理)を実行する。次に、主制御基板は、賞球払出コマンド送信制御処理(賞球払出制御基板に送信するコマンドを制御する処理)を実行する。次に、主制御基板は、外部信号出力処理(外部端子板、ホールコンピュータ等への情報出力処理)を実行する。次に、主制御基板は、制御コマンド送信処理(各処理でセットされたコマンドをサブメイン制御部側に送信する処理)を実行し、本割込み処理の実行直前に実行されていた処理に復帰する。このように、第2ROM・RWM領域における処理は、第1ROM・RWM領域における処理として割込み処理が実行されてから、当該割込み処理の実行途中にて第1ROM・RWM領域における処理によって呼び出されることにより実行されることとなる。
以上のように、ぱちんこ遊技機においても、上述した構成が適用可能となっている。
(まとめ)
尚、以上の実施例において示した構成に基づき、以下のような概念を抽出(列記)することができる。但し、以下に列記する概念はあくまで一例であり、これら列記した概念の結合や分離(上位概念化)は勿論のこと、以上の実施例において示した更なる構成に基づく概念を、これら概念に付加してもよい。
本態様(1)に係る遊技機は、
遊技進行を制御する主制御部と、
遊技価値の入力を検知する第1のセンサと、
遊技価値の入力を検知する第2のセンサと
を備えた遊技機であって、
主制御部は、
駆動用の電源電圧の供給を受けた後で、定期的に発生するよう制御される割込み処理の発生を許可し、前記割込み処理以外となる非割込み処理を実行し、
遊技価値の入力を管理するに際し、
前記割込み処理が実行されたときに、前記第1のセンサからの入力信号となる第1入力信号と、前記第2のセンサからの入力信号となる第2入力信号とを生成し、
前記非割込み処理が実行されたときに、前記第1入力信号がオンとなったか否かを定期的に確認し、前記第1入力信号がオンとなったことを確認できた後は、前記第1入力信号及び前記第2入力信号がともにオフとなったか否かを定期的に確認し、
前記割込み処理が実行されたときに、前記第1入力信号がオンとなってから前記第1入力信号がオンを維持する期間が第一の範囲内に収まらない、前記第1入力信号及び前記第2入力信号がともにオンとなってから前記第1入力信号及び前記第2入力信号がともにオンを維持する期間が第二の範囲内に収まらない、並びに、前記第2入力信号がオンとなってから前記第2入力信号がオンを維持する期間が第三の範囲内に収まらない、のいずれかによって遊技価値の入力異常を検出し、
前記非割込み処理が実行されたときに、前記第1入力信号がオンとなったことを確認できた後から前記遊技価値の入力異常が検出されないまま前記第1入力信号及び前記第2入力信号がともにオフとなったことを確認できた際には、遊技価値が入力されたと判定し、
一遊技に必要な遊技価値が入力された後、遊技開始操作に基づいて当該一遊技での遊技結果に影響する、役の抽選処理を実行し、
前記抽選処理を実行した後、回胴の回転を開始させ、
回胴が予め定められた一定の速度で回転するようになった後、回胴停止操作の実行後に当該一遊技での遊技結果を回胴に表示させ、
すべての回胴に当該一遊技での遊技結果が表示された後、表示されている遊技結果に基づいて遊技価値の出力を行い、
前記第1のセンサと前記第2のセンサとは、一の遊技価値の入力を前記第1のセンサ及び前記第2のセンサの双方で検出できる位置に設けられ、
前記第1入力信号がオンとなってから前記第1入力信号が所定期間内にオフとなったときには、前記遊技価値の入力異常を検出せず且つ前記遊技価値が入力されたと判定しない
ことを特徴とする遊技機である。
本態様(2)に係る遊技機は、
遊技進行を制御する主制御部
を備えた遊技機であって、
主制御部は、
駆動用の電源電圧の供給を受けた後で、定期的に発生するよう制御される割込み処理の発生を許可し、前記割込み処理以外となる非割込み処理を実行し、
一遊技に必要な遊技価値が入力された後、遊技開始操作に基づいて当該一遊技での遊技結果に影響する、役の抽選処理を実行し、
前記抽選処理を実行した後、回胴の回転を開始させ、
回胴が予め定められた一定の速度で回転するようになった後、回胴停止操作の実行後に当該一遊技での遊技結果を回胴に表示させ、
すべての回胴に当該一遊技での遊技結果が表示された後、表示されている遊技結果に基づいて遊技価値の出力を行い、
遊技価値の出力を管理するに際し、
前記非割込み処理が実行されたときに、前記遊技価値の第一出力異常を検出し得るよう構成されており、
前記割込み処理が実行されたときに、前記遊技価値の第一出力異常とは異なる前記遊技価値の第二出力異常を検出し得るよう構成されている
ことを特徴とする遊技機である。
本態様(3)に係る遊技機は、
遊技進行を制御する主制御部
を備えた遊技機であって、
主制御部は、
駆動用の電源電圧の供給を受けた後で、定期的に発生するよう制御される割込み処理の発生を許可し、前記割込み処理以外となる非割込み処理を実行し、
一遊技に必要な遊技価値が入力された後、遊技開始操作に基づいて当該一遊技での遊技結果に影響する、役の抽選処理を実行し、
前記抽選処理を実行した後、回胴の回転を開始させ、
回胴が予め定められた一定の速度で回転するようになった後、回胴停止操作の実行後に当該一遊技での遊技結果を回胴に表示させ、
すべての回胴に当該一遊技での遊技結果が表示された後、表示されている遊技結果に基づいて遊技価値の出力を行い、
複数の設定値から一の設定値を選択可能であり、各設定値において前記抽選処理の実行結果が相違し得るよう構成されており、
前記割込み処理が実行されたときに、選択されている設定値が所定範囲内であるか否かを判定し、所定範囲内でないと判定された場合に異常を検出し得るよう構成されている
ことを特徴とする遊技機である。
本態様(4)に係る遊技機は、
遊技進行を制御する主制御部と、
遊技価値の入力を検知する第1のセンサと、
遊技価値の入力を検知する第2のセンサと
を更に備えた遊技機であって、
主制御部は、
駆動用の電源電圧の供給を受けた後で、定期的に発生するよう制御される割込み処理の発生を許可し、前記割込み処理以外となる非割込み処理を実行し、
遊技価値の入力を管理するに際し、
前記割込み処理が実行されたときに、前記第1のセンサからの入力信号となる第1入力信号と、前記第2のセンサからの入力信号となる第2入力信号とを生成し、
前記非割込み処理が実行されたときに、前記第1入力信号がオンとなったか否かを定期的に確認し、前記第1入力信号がオンとなったことを確認できた後は、前記第1入力信号及び前記第2入力信号がともにオフとなったか否かを定期的に確認し、
前記割込み処理が実行されたときに、前記第1入力信号がオンとなってから前記第1入力信号がオンを維持する期間が第一の範囲内に収まらない、前記第1入力信号及び前記第2入力信号がともにオンとなってから前記第1入力信号及び前記第2入力信号がともにオンを維持する期間が第二の範囲内に収まらない、並びに、前記第2入力信号がオンとなってから前記第2入力信号がオンを維持する期間が第三の範囲内に収まらない、のいずれかによって遊技価値の入力異常を検出し、
前記非割込み処理が実行されたときに、前記第1入力信号がオンとなったことを確認できた後から前記遊技価値の入力異常が検出されないまま前記第1入力信号及び前記第2入力信号がともにオフとなったことを確認できた際には、遊技価値が入力されたと判定し、
一遊技に必要な遊技価値が入力された後、遊技開始操作に基づいて当該一遊技での遊技結果に影響する、役の抽選処理を実行し、
前記抽選処理を実行した後、回胴の回転を開始させ、
回胴が予め定められた一定の速度で回転するようになった後、回胴停止操作の実行後に当該一遊技での遊技結果を回胴に表示させ、
すべての回胴に当該一遊技での遊技結果が表示された後、表示されている遊技結果に基づいて遊技価値の出力を行い、
前記第1のセンサと前記第2のセンサとは、一の遊技価値の入力を前記第1のセンサ及び前記第2のセンサの双方で検出できる位置に設けられ、
前記第1入力信号がオンとなってから前記第1入力信号が所定期間内にオフとなったときには、前記遊技価値の入力異常を検出せず且つ前記遊技価値が入力されたと判定しないよう構成されており、
前記割込み処理として、電源断を検知した後に実行される電源断時処理と、遊技機の異常が発生しているか否かを判定する異常判定処理と、を実行し得るよう構成されており、
前記異常判定処理の実行中に電源断を検知した場合には、実行中の割込み処理を実行した後、当該実行中の割込み処理の次回の割込み処理が実行されたときに電源断時処理が実行される
ことを特徴とする遊技機である。
本態様(5)に係る遊技機は、
遊技進行を制御する主制御部
を備えた遊技機であって、
主制御部は、
駆動用の電源電圧の供給を受けた後で、定期的に発生するよう制御される割込み処理の発生を許可し、前記割込み処理以外となる非割込み処理を実行し、
一遊技に必要な遊技価値が入力された後、遊技開始操作に基づいて当該一遊技での遊技結果に影響する、役の抽選処理を実行し、
前記抽選処理を実行した後、回胴の回転を開始させ、
回胴が予め定められた一定の速度で回転するようになった後、回胴停止操作の実行後に当該一遊技での遊技結果を回胴に表示させ、
すべての回胴に当該一遊技での遊技結果が表示された後、表示されている遊技結果に基づいて遊技価値の出力を行い、
遊技価値の出力を管理するに際し、
前記非割込み処理が実行されたときに、前記遊技価値の第一出力異常を検出し得るよう構成されており、
前記割込み処理が実行されたときに、前記遊技価値の第一出力異常とは異なる前記遊技価値の第二出力異常を検出し得るよう構成されており、
前記割込み処理として、電源断を検知した後に実行される電源断時処理と、遊技機の異常が発生しているか否かを判定する異常判定処理と、を実行し得るよう構成されており、
前記異常判定処理の実行中に電源断を検知した場合には、実行中の割込み処理を実行した後、当該実行中の割込み処理の次回の割込み処理が実行されたときに電源断時処理が実行される
ことを特徴とする遊技機である。
本態様(6)に係る遊技機は、
遊技進行を制御する主制御部
を備えた遊技機であって、
主制御部は、
駆動用の電源電圧の供給を受けた後で、定期的に発生するよう制御される割込み処理の発生を許可し、前記割込み処理以外となる非割込み処理を実行し、
一遊技に必要な遊技価値が入力された後、遊技開始操作に基づいて当該一遊技での遊技結果に影響する、役の抽選処理を実行し、
前記抽選処理を実行した後、回胴の回転を開始させ、
回胴が予め定められた一定の速度で回転するようになった後、回胴停止操作の実行後に当該一遊技での遊技結果を回胴に表示させ、
すべての回胴に当該一遊技での遊技結果が表示された後、表示されている遊技結果に基づいて遊技価値の出力を行い、
複数の設定値から一の設定値を選択可能であり、各設定値において前記抽選処理の実行結果が相違し得るよう構成されており、
前記割込み処理が実行されたときに、選択されている設定値が所定範囲内であるか否かを判定し、所定範囲内でないと判定された場合に異常を検出し得るよう構成されており、
前記割込み処理として、電源断を検知した後に実行される電源断時処理と、遊技機の異常が発生しているか否かを判定する異常判定処理と、を実行し得るよう構成されており、
前記異常判定処理の実行中に電源断を検知した場合には、実行中の割込み処理を実行した後、当該実行中の割込み処理の次回の割込み処理が実行されたときに電源断時処理が実行される
ことを特徴とする遊技機である。
本態様(7)に係る遊技機は、
ROMと、RAMと、CPUと
を備え、
遊技進行を制御する主制御部と、
遊技価値の入力を検知する第1のセンサと、
遊技価値の入力を検知する第2のセンサと
を更に備えた遊技機であって、
前記ROMには、前記CPUに対する命令を司るプログラムと、プログラムに従い読みだされるデータとが記憶され、
前記RAMは、
レジスタに記憶されているデータを退避可能なスタック領域
を有し、
主制御部は、
駆動用の電源電圧の供給を受けた後で、定期的に発生するよう制御される割込み処理の発生を許可し、前記割込み処理以外となる非割込み処理を実行し、
遊技価値の入力を管理するに際し、
前記割込み処理が実行されたときに、前記第1のセンサからの入力信号となる第1入力信号と、前記第2のセンサからの入力信号となる第2入力信号とを生成し、
前記非割込み処理が実行されたときに、前記第1入力信号がオンとなったか否かを定期的に確認し、前記第1入力信号がオンとなったことを確認できた後は、前記第1入力信号及び前記第2入力信号がともにオフとなったか否かを定期的に確認し、
前記割込み処理が実行されたときに、前記第1入力信号がオンとなってから前記第1入力信号がオンを維持する期間が第一の範囲内に収まらない、前記第1入力信号及び前記第2入力信号がともにオンとなってから前記第1入力信号及び前記第2入力信号がともにオンを維持する期間が第二の範囲内に収まらない、並びに、前記第2入力信号がオンとなってから前記第2入力信号がオンを維持する期間が第三の範囲内に収まらない、のいずれかによって遊技価値の入力異常を検出し、
前記非割込み処理が実行されたときに、前記第1入力信号がオンとなったことを確認できた後から前記遊技価値の入力異常が検出されないまま前記第1入力信号及び前記第2入力信号がともにオフとなったことを確認できた際には、遊技価値が入力されたと判定し、
一遊技に必要な遊技価値が入力された後、遊技開始操作に基づいて当該一遊技での遊技結果に影響する、役の抽選処理を実行し、
前記抽選処理を実行した後、回胴の回転を開始させ、
回胴が予め定められた一定の速度で回転するようになった後、回胴停止操作の実行後に当該一遊技での遊技結果を回胴に表示させ、
すべての回胴に当該一遊技での遊技結果が表示された後、表示されている遊技結果に基づいて遊技価値の出力を行い、
前記第1のセンサと前記第2のセンサとは、一の遊技価値の入力を前記第1のセンサ及び前記第2のセンサの双方で検出できる位置に設けられ、
前記第1入力信号がオンとなってから前記第1入力信号が所定期間内にオフとなったときには、前記遊技価値の入力異常を検出せず且つ前記遊技価値が入力されたと判定しないよう構成されており、
前記割込み処理として、遊技機の異常が発生しているか否かを判定する異常判定処理を実行し得るよう構成されており、
前記スタック領域は、第一スタック領域と第二スタック領域とに分かれており、
前記割込み処理の実行中において前記異常判定処理を実行するときには、前記第一スタック領域におけるスタックポインタのアドレス値を記憶した後、スタックポインタのアドレス値を前記第二スタック領域におけるアドレス値へと変更するよう構成されている
ことを特徴とする遊技機である。
本態様(8)に係る遊技機は、
ROMと、RAMと、CPUと
を備え、
遊技進行を制御する主制御部
を更に備えた遊技機であって、
前記ROMには、前記CPUに対する命令を司るプログラムと、プログラムに従い読みだされるデータとが記憶され、
前記RAMは、
レジスタに記憶されているデータを退避可能なスタック領域
を有し、
主制御部は、
駆動用の電源電圧の供給を受けた後で、定期的に発生するよう制御される割込み処理の発生を許可し、前記割込み処理以外となる非割込み処理を実行し、
一遊技に必要な遊技価値が入力された後、遊技開始操作に基づいて当該一遊技での遊技結果に影響する、役の抽選処理を実行し、
前記抽選処理を実行した後、回胴の回転を開始させ、
回胴が予め定められた一定の速度で回転するようになった後、回胴停止操作の実行後に当該一遊技での遊技結果を回胴に表示させ、
すべての回胴に当該一遊技での遊技結果が表示された後、表示されている遊技結果に基づいて遊技価値の出力を行い、
遊技価値の出力を管理するに際し、
前記非割込み処理が実行されたときに、前記遊技価値の第一出力異常を検出し得るよう構成されており、
前記割込み処理が実行されたときに、前記遊技価値の第一出力異常とは異なる前記遊技価値の第二出力異常を検出し得るよう構成されており、
前記割込み処理として、遊技機の異常が発生しているか否かを判定する異常判定処理を実行し得るよう構成されており、
前記スタック領域は、第一スタック領域と第二スタック領域とに分かれており、
前記割込み処理の実行中において前記異常判定処理を実行するときには、前記第一スタック領域におけるスタックポインタのアドレス値を記憶した後、スタックポインタのアドレス値を前記第二スタック領域におけるアドレス値へと変更するよう構成されている
ことを特徴とする遊技機である。
本態様(9)に係る遊技機は、
ROMと、RAMと、CPUと
を備え、
遊技進行を制御する主制御部
を更に備えた遊技機であって、
前記ROMには、前記CPUに対する命令を司るプログラムと、プログラムに従い読みだされるデータとが記憶され、
前記RAMは、
レジスタに記憶されているデータを退避可能なスタック領域
を有し、
主制御部は、
駆動用の電源電圧の供給を受けた後で、定期的に発生するよう制御される割込み処理の発生を許可し、前記割込み処理以外となる非割込み処理を実行し、
一遊技に必要な遊技価値が入力された後、遊技開始操作に基づいて当該一遊技での遊技結果に影響する、役の抽選処理を実行し、
前記抽選処理を実行した後、回胴の回転を開始させ、
回胴が予め定められた一定の速度で回転するようになった後、回胴停止操作の実行後に当該一遊技での遊技結果を回胴に表示させ、
すべての回胴に当該一遊技での遊技結果が表示された後、表示されている遊技結果に基づいて遊技価値の出力を行い、
複数の設定値から一の設定値を選択可能であり、各設定値において前記抽選処理の実行結果が相違し得るよう構成されており、
前記割込み処理が実行されたときに、選択されている設定値が所定範囲内であるか否かを判定し、所定範囲内でないと判定された場合に異常を検出し得るよう構成されており、
前記割込み処理として、遊技機の異常が発生しているか否かを判定する異常判定処理を実行し得るよう構成されており、
前記スタック領域は、第一スタック領域と第二スタック領域とに分かれており、
前記割込み処理の実行中において前記異常判定処理を実行するときには、前記第一スタック領域におけるスタックポインタのアドレス値を記憶した後、スタックポインタのアドレス値を前記第二スタック領域におけるアドレス値へと変更するよう構成されている
ことを特徴とする遊技機である。
本態様(10−1)に係る遊技機は、
一定の間隔で発生する割込みプログラムと、
割込みプログラムを含む所定のプログラムである第1プログラムと、
所定のプログラム以外である第2プログラムと
を備え、
第1条件を充足した後に回胴が回転し、
第2条件を充足した後に回胴が停止し、
再度第1条件を充足するまで待機する回胴式遊技機であって、
第1プログラムで書き込み可能な第1記憶領域と、
第1プログラムで書き込み可能な第1スタックエリアと、
第2プログラムで書き込み可能な第2記憶領域と、
第2プログラムで書き込み可能な第2スタックエリアと、
第1プログラム又は第2プログラムで、設定又は更新されるスタックポインタと
を更に備え、
第1プログラムには少なくとも、回胴を回転させるプログラムが含まれており、
第1プログラムでは割込みプログラムは発生可能であり、
第2プログラムでは割込みプログラムは発生しないよう構成されており、
プログラム容量は第2プログラムより第1プログラムのほうが大きく、
使用する第1記憶領域の方が、使用する第2記憶領域よりも大きく、
第1スタックエリアの使用される領域は、第2スタックエリアの使用される領域よりも大きく、
電源投入時には必ず第1プログラムが実行され、
第1条件を充足した後から再度第1条件を充足するまでに、少なくとも一度は第2プログラムを実行する
ことを特徴とする回胴式遊技機である。
本態様(10−2)に係る遊技機は、
一定の間隔で発生する割込みプログラムと、
割込みプログラムを含む所定のプログラムである第1プログラムと、
所定のプログラム以外である第2プログラムと
を備え、
第1条件を充足した後に識別情報が変動表示し、
第2条件を充足した後に識別情報が停止表示し、
再度第1条件を充足するまで待機するぱちんこ遊技機であって、
第1プログラムで書き込み可能な第1記憶領域と、
第1プログラムで書き込み可能な第1スタックエリアと、
第2プログラムで書き込み可能な第2記憶領域と、
第2プログラムで書き込み可能な第2スタックエリアと、
第1プログラム又は第2プログラムで、設定又は更新されるスタックポインタと
を更に備え、
第1プログラムには少なくとも、識別情報を変動表示させるプログラムが含まれており、
第1プログラムでは割込みプログラムは発生可能であり、
第2プログラムでは割込みプログラムは発生しないよう構成されており、
プログラム容量は第2プログラムより第1プログラムのほうが大きく、
使用する第1記憶領域の方が、使用する第2記憶領域よりも大きく、
第1スタックエリアの使用される領域は、第2スタックエリアの使用される領域よりも大きく、
電源投入時には必ず第1プログラムが実行され、
第1条件を充足した後から再度第1条件を充足するまでに、少なくとも一度は第2プログラムを実行する
ことを特徴とするぱちんこ遊技機である。