以下、本発明に係る遊技機の一実施形態を、パチンコ遊技機を例にして、図1〜図16を参照して具体的に説明する。まず、図1及び図2を参照して本実施形態に係るパチンコ遊技機の外観構成を説明する。
図1に示すように、パチンコ遊技機1は、木製の外枠2の前面に矩形状の前面枠3を開閉可能に取り付け、その前面枠3の裏面に取り付けられている遊技盤収納フレーム(図示せず)内に遊技盤4が装着された構成からなる。遊技盤4は、図2に示す遊技領域40を前面に臨ませた状態で装着され、図1に示すようにこの遊技領域40の前側に透明ガラスを支持したガラス扉枠5が設けられている。なお、上記遊技領域40は、遊技盤4の面上に配設された球誘導レール6(図2参照)で囲まれた領域からなるものである。
一方、パチンコ遊技機1は、図1に示すように、ガラス扉枠5の下側に前面操作パネル7が配設され、その前面操作パネル7には上受け皿ユニット8が設けられ、この上受け皿ユニット8には、排出された遊技球を貯留する上受け皿9が一体形成されている。また、この前面操作パネル7には、球貸しボタン11及びプリペイドカード排出ボタン12(カード返却ボタン12)が設けられている。そして、上受け皿9の上皿表面部分には、内蔵ランプ(図示せず)点灯時に押下することにより演出効果を変化させることができる押しボタン式の演出ボタン装置13が設けられている。また、この上受け皿9には、当該上受け皿9に貯留された遊技球を下方に抜くための球抜きボタン14が設けられている。
また一方、図1に示すように、前面操作パネル7の右端部側には、発射ユニットを作動させるための発射ハンドル15が設けられ、前面枠3の上部両側面側には、BGM(Background music)あるいは効果音を発するスピーカ16が設けられている。そして、上記前面枠3の周枠には、LEDランプ等の装飾ランプが配設されている。
他方、上記遊技盤4の遊技領域40には、図2に示すように、略中央部にLCD(Liquid Crystal Display)等からなる液晶表示装置41が配設されている。この液晶表示装置41は、表示エリアを左、中、右の3つのエリアに分割し、独立して数字やキャラクタあるいは図柄(装飾図柄)の変動表示が可能なものである。
一方、液晶表示装置41の真下には、特別図柄1始動口42が配設され、その内部には入賞球を検知する特別図柄1始動口スイッチ(図3参照)が設けられている。そして、この特別図柄1始動口42の右側には、大入賞口44が配設され、その内部には入賞球を検知する大入賞口スイッチ(図3参照)が設けられている。また、液晶表示装置41の右下部側には、特別図柄2始動口43が配設され、その内部には入賞球を検知する特別図柄2始動口スイッチ(図3参照)が設けられている。
また一方、上記液晶表示装置41の右上部にはゲートからなる普通図柄始動口45が配設され、その内部には、遊技球の通過を検知する普通図柄始動口スイッチ(図3参照)が設けられている。また、上記大入賞口44の右側及び上記特別図柄1始動口42の左側には、一般入賞口46が夫々配設され(図示では、右側に1つ、左側に3つ)、その内部には、夫々、遊技球の通過を検知する一般入賞口スイッチ(図3参照)が設けられている。
また、上記遊技盤4の遊技領域40の右下周縁部には、7セグメントが3個並べて構成されており、そのうち2個の7セグメントが特別図柄表示装置47であり、他の7セグメントは特別図柄1や特別図柄2等の保留球数等を表示するものである。この特別図柄表示装置47は、図2に示すように、特別図柄1表示装置47aと特別図柄2表示装置47bとで構成されており、その特別図柄1表示装置47aの左側には、2個のLEDからなる普通図柄表示装置48が設けられている。なお、上記遊技盤4の遊技領域40には、図示はしないが複数の遊技釘が配設され、遊技球の落下方向変換部材としての風車49が配設されている。
次に、上記のような外観構成からなるパチンコ遊技機1内に設けられる遊技の進行状況に応じて電子制御を行う制御装置を、図3を用いて説明する。この制御装置は、図3に示すように、遊技店に設置された図示しない変圧トランスから供給される外部電源である交流電圧AC24Vを受けて複数種類の直流電圧を生成する電源基板50と、遊技動作全般の制御を司る主制御基板60と、その主制御基板60からの制御コマンドに基づいて遊技球を払出す払出制御基板70と、その主制御基板60からの制御コマンドを受けて演出処理を行う演出制御基板80とで主に構成されている。なお、演出制御基板80は、上記主制御基板60からの制御コマンドを演出I/F基板90を介して受信している。
電源基板50は、図3に示すように、電圧生成部500と、電圧監視部510と、システムリセット生成部520とを含んで構成されている。この電圧生成部500は、遊技店に設置された図示しない変圧トランスから供給される外部電源である交流電圧AC24Vを受けて複数種類の直流電圧を生成するものである。そして、その生成された直流電圧のうち直流電圧DC12Vとバックアップ電源VBBが払出制御基板70に供給され、直流電圧DC12V,DC32V及びバックアップ電源VBBが主制御基板60に供給される。そしてさらに、直流電圧DC5V,DC12V,DC15V及びDC32Vが演出I/F基板90に供給される。なお、払出制御基板70には、上記外部電源である交流電圧AC24Vが電源基板50を介して供給されている。
一方、電圧監視部510は、上記交流電圧AC24Vの電圧を監視するもので、この電圧が遮断されたり、停電が発生したりして電圧異常を検知した場合に電圧異常信号ALARM(図4参照)を主制御基板60に出力するものである。なお、電圧異常信号ALARMは、電圧異常時には「L」レベルの信号を出力し、正常時には「H」レベルの信号を出力する。
また一方、システムリセット生成部520は、電源投入時のシステムリセット信号SYS_RST(図4参照)を生成するもので、その生成したシステムリセット信号SYS_RSTを、主制御基板60,払出制御基板70及び演出I/F基板90に出力するものである。
他方、主制御基板60は、遊技盤中継基板100を介して遊技盤4の各遊技部品に接続されており、これにより、遊技盤4上の各始動口42,43,45及び各入賞口44,46の内部に設けられているスイッチ信号を受信する一方、大入賞口44などのソレノイド類を駆動するソレノイド類駆動信号を遊技盤中継基板100に送信している。
また、主制御基板60は、上記各入賞口44,46からのスイッチ信号を受信した場合、遊技者に幾らの遊技球を払い出すかを決定し、その決定した情報を払出制御コマンドPAY_CMD(図4参照)として送信する。そしてその一方で、払出制御基板70からは、遊技球の払出動作を示す賞球計数信号や払出動作の異常に係るステイタス信号STAY_SIGNAL(図4参照)を受信している。なお、ステイタス信号STAY_SIGNALには、例えば、補給切れ信号、払出不足エラー信号、下皿満杯信号が含まれている。
さらに、主制御基板60は、上記各始動口42,43,45からのスイッチ信号を受信すると、遊技者に有利な特別遊技状態を発生させるか(いわゆる「当たり」)、あるいは、遊技者に有利な特別遊技状態を発生させないか(いわゆる「ハズレ」)の抽選を行い、その抽選結果である当否情報に応じて特別図柄の変動パターンや停止図柄あるいは普通図柄の表示内容を決定し、その決定した情報を特別図柄表示装置47又は普通図柄表示装置48に送信する。これにより、特別図柄表示装置47又は普通図柄表示装置48に抽選結果が表示されることとなる。そしてさらに、主制御基板60は、その決定した情報を含む演出制御コマンドDI_CMD(図4参照)を生成し、演出I/F基板90に送信する。なお、主制御基板60は、電源基板50から供給された直流電圧DC32Vを遊技盤中継基板100に供給している。
一方、払出制御基板70は、上記主制御基板60からの払出制御コマンドPAY_CMDを受信し、その受信した払出制御コマンドPAY_CMDに基づいて払出モータ信号を生成し、その生成した払出モータ信号にて払出モータMを制御して遊技者に遊技球を払出す。そしてさらに、払出制御基板70は、遊技球の払出動作を示す賞球計数信号や払出動作の異常に係るステイタス信号STAY_SIGNAL(図4参照)を送信し、遊技者の操作に応答して遊技球を発射させる発射制御基板110の作動を開始又は停止させる発射制御信号を送信する。なお、払出制御基板70は、電源基板50から供給された交流電圧AC24Vを発射制御基板110に供給している。
また、演出制御基板80は、ROM,RAM,CPU,音LSI,音ROM(図示せず)が搭載されており、演出I/F基板90を介して上記主制御基板60から送信された演出制御コマンドDI_CMD(図4参照)に基づいて、上記前面枠3の周枠に配設されているLEDランプ等の装飾ランプを駆動制御して光による演出を実現させるための信号を演出I/F基板90を介して装飾ランプ基板120に送信する処理を行う。そしてさらに、演出制御基板80は、上記演出制御コマンドDI_CMD(図4参照)に基づいて、スピーカ16を駆動制御して音による演出を実現するための信号を演出I/F基板90を介してスピーカ16に送信する処理を行う。また、演出制御基板80は、上記演出制御コマンドDI_CMD(図4参照)に基づいて、液晶制御基板130を制御して液晶表示装置41による画像演出を実現させるための信号を演出I/F基板90を介して液晶制御基板130に送信する処理を行う。なお、液晶制御基板130には演出内容に沿った画像を表示するための種々の画像データが記憶されており、さらに、演出出力全般の制御を担うVDP(Video Display Processor)が搭載されている。なお、図示はしていないが、演出I/F基板90に供給されている各直流電圧は、各基板80,120,130夫々に供給されている。
ここで、本発明の特徴部分である主制御基板60について図4〜図6を用いてより詳しく説明する。
図4は、主制御基板60の回路構成を示す回路図であり、図4に示すように主制御基板60には、主制御CPU600と、一連の遊技制御手順を記述した制御プログラム等を格納した主制御ROM601と、作業領域やバッファメモリ等として機能する主制御RAM602とで構成された1チップマイクロコンピュータを搭載されている。そして、上記電源基板50にて生成された直流電圧DC12Vがノイズを除去するノイズフィルタ610を介してレギュレータ611により直流電圧DC12Vから直流電圧VCC5Vに変換され、その変換された直流電圧VCC5Vが上記主制御CPU600に供給されている。
また、上記電源基板50にて生成されたバックアップ電源VBB(DC5V)はノイズを除去するノイズフィルタ612及び抵抗R1を介して上記主制御CPU600に供給されている。
一方、図4に示すように、上記電源基板50より出力されたシステムリセット信号SYS_RSTの信号ラインには、プルアップ抵抗R2と、抵抗R3及びコンデンサC1のRC回路と、2つのシュミットトリガST1,ST2と、プルアップ抵抗R4とが接続され、上記主制御CPU600に接続されている。そして、上記電源基板50より出力された電圧異常信号ALARMの信号ラインには、プルアップ抵抗R5と、抵抗R6及びコンデンサC2のRC回路と、シュミットトリガST3とが接続され、上記主制御CPU600に接続されている。なお、この電圧異常信号ALARMが、「H」レベルから「L」レベルに遷移すると、主制御RAM602内に記憶されているデータのバックアップ処理が行われる。そして、その主制御RAM602内に記憶されているデータのバックアップ処理を行う際、主制御RAM602内の記憶内容を維持しなければならないが、その記憶内容を維持するため、当該主制御RAM602にバックアップ電源VBB(DC5V)が供給されている。
また、上記主制御CPU600には所定のクロック信号CLKを発生させる水晶発振器613が接続されている。
一方、主制御基板60は、図4に示すように、遊技盤中継基板100(図3参照)からの普通図柄始動口45,特別図柄1始動口42,特別図柄2始動口43及び大入賞口44,一般入賞口46のスイッチ信号をそれぞれ受信する。これらスイッチ信号は直流電圧DC12Vのプルアップ抵抗R10〜R13を介してスイッチ監視部614に入力され、その入力を受けたスイッチ監視部614は、これらスイッチ信号を直流電圧DC12Vから直流電圧DC5Vに変換すると共にスイッチ信号の断線の有無を確認した上で、直流電圧VCC5Vのプルアップ抵抗R14〜R17を介して主制御CPU600に入力している。
主制御CPU600は、これらスイッチ信号を受けて大入賞口44などのソレノイド類を駆動するソレノイド類駆動信号を遊技盤中継基板100に送信する。そして主制御CPU600は、大入賞口44及び一般入賞口46からのスイッチ信号を受信した場合、遊技者に幾らの遊技球を払い出すかを決定し、その決定した情報を払出制御コマンドPAY_CMDとして払出制御基板70に送信する。
さらに、主制御CPU600は、上記普通図柄始動口45,特別図柄1始動口42,特別図柄2始動口43からのスイッチ信号を受信すると、遊技者に有利な特別遊技状態を発生させるか(いわゆる「当たり」)、あるいは、遊技者に有利な特別遊技状態を発生させないか(いわゆる「ハズレ」)の抽選を行い、その抽選結果である当否情報に応じて特別図柄の変動パターンや停止図柄あるいは普通図柄の表示内容を決定し、その抽選結果を特別図柄表示装置47又は普通図柄表示装置48に送信する。この内容に関し、図5及び図6も用いてより詳しく説明する。
主制御CPU600は、上記普通図柄始動口45,特別図柄1始動口42,特別図柄2始動口43からのスイッチ信号を受信すると、主制御CPU600内の乱数回路620に送信する。これにより、普通図柄,特別図柄1,特別図柄2の抽選に用いる乱数値がそれぞれ決定される。すなわち、乱数回路620は、図5に示すように、乱数生成回路620aと、普通図柄乱数値レジスタ620bと、特別図柄1乱数値レジスタ620cと、特別図柄2乱数値レジスタ620dと、普通図柄乱数ラッチフラグレジスタ620eと、特別図柄1乱数ラッチフラグレジスタ620fと、特別図柄2乱数ラッチフラグレジスタ620gとで構成されている。
乱数生成回路620aは、上記水晶発振器613(図4参照)にて生成された所定のクロック信号CLKに基づいて、例えば2バイト(0〜65535)の範囲でランダムな乱数値を生成し、随時、その生成した乱数値を普通図柄乱数値レジスタ620b,特別図柄1乱数値レジスタ620c,特別図柄2乱数値レジスタ620dに出力する。なお、本実施形態においては、水晶発振器613にて生成されたクロック信号CLKに基づいて乱数値を生成する例を示したが、それに限らず、例えば、水晶発振器613にて生成されたクロック信号CLKを分周させたクロック信号に基づいて乱数値を生成してもよく、さらには、主制御CPU600にクロック信号が内蔵されていれば、その信号に基づいて乱数値を生成しても良い。
一方、普通図柄乱数値レジスタ620bは、普通図柄始動口45のスイッチ信号を受信すると上記乱数生成回路620aにて生成された乱数値を例えば1バイト分保持(ラッチ)する。そしてこのように、普通図柄乱数値レジスタ620bにて乱数値が保持(ラッチ)されると、普通図柄乱数値レジスタ620bはラッチ信号を普通図柄乱数ラッチフラグレジスタ620eに出力する。これにより、普通図柄乱数ラッチフラグレジスタ620eには、「1」がセットされることとなる。なお、普通図柄乱数値レジスタ620bは、普通図柄始動口45のスイッチ信号が上記クロック信号CLKの4周期以上のLレベル又はHレベルの信号であった際、上記乱数生成回路620aにて生成された乱数値を保持(ラッチ)することとなる。このようにすれば、ノイズ等が普通図柄始動口45のスイッチ信号を介して普通図柄乱数値レジスタ620bに入力されたとしても、上記乱数生成回路620aにて生成された乱数値を誤って保持(ラッチ)するという事態を低減することができる。
また、特別図柄1乱数値レジスタ620cは、特別図柄1始動口42のスイッチ信号を受信すると上記乱数生成回路620aにて生成された乱数値を例えば2バイト分保持(ラッチ)し、特別図柄2乱数値レジスタ620dは、特別図柄2始動口43のスイッチ信号を受信すると上記乱数生成回路620aにて生成された乱数値を例えば2バイト分保持(ラッチ)する。そしてこのように、特別図柄1乱数値レジスタ620cにて乱数値が保持(ラッチ)されると、特別図柄1乱数値レジスタ620cはラッチ信号を特別図柄1乱数ラッチフラグレジスタ620fに出力し、特別図柄2乱数値レジスタ620dにて乱数値が保持(ラッチ)されると、特別図柄2乱数値レジスタ620dはラッチ信号を特別図柄2乱数ラッチフラグレジスタ620gに出力する。これにより、特別図柄1乱数ラッチフラグレジスタ620f及び特別図柄2乱数ラッチフラグレジスタ620gには、「1」がセットされることとなる。なお、特別図柄1乱数値レジスタ620c及び特別図柄2乱数値レジスタ620dも、普通図柄乱数値レジスタ620bと同様、特別図柄1始動口42又は特別図柄2始動口43のスイッチ信号が上記クロック信号CLKの4サイクル以上のLレベル又はHレベルの信号であった際、上記乱数生成回路620aにて生成された乱数値を保持(ラッチ)することとなる。
このように、普通図柄乱数ラッチフラグレジスタ620eに「1」がセットされていると、普通図柄始動口45のスイッチ信号を新たに受信したとしても、普通図柄乱数値レジスタ620bは、乱数生成回路620aにて生成された新たな乱数値を保持(ラッチ)することができず、主制御CPU600にて、普通図柄乱数値レジスタ620bに保持(ラッチ)されている乱数値が読み出されることで、乱数生成回路620aにて生成された新たな乱数値を保持(ラッチ)することができる。すなわち、普通図柄乱数値レジスタ620bは、主制御CPU600にて、保持(ラッチ)した乱数値が読み出されると、読み出し信号を普通図柄乱数ラッチフラグレジスタ620eに出力し、これにより、普通図柄乱数ラッチフラグレジスタ620eに「0」がセットされる。そのため、普通図柄始動口45のスイッチ信号を新たに受信することで、普通図柄乱数値レジスタ620bは、乱数生成回路620aにて生成された新たな乱数値を保持(ラッチ)することができる。このように、普通図柄乱数値レジスタ620bに保持(ラッチ)されている乱数値が主制御CPU600に読み出されるまで保持することで、普通図柄始動口45のスイッチ信号にノイズ等が生じたとしても、普通図柄乱数値レジスタ620bが誤った乱数値を保持(ラッチ)することを低減することができる。
また同様に、特別図柄1乱数ラッチフラグレジスタ620fに「1」がセットされていると、特別図柄1始動口42のスイッチ信号を新たに受信したとしても、特別図柄1乱数値レジスタ620cは、乱数生成回路620aにて生成された新たな乱数値を保持(ラッチ)することができず、主制御CPU600にて、特別図柄1乱数値レジスタ620cに保持(ラッチ)されている乱数値が読み出されることで、乱数生成回路620aにて生成された新たな乱数値を保持(ラッチ)することができる。すなわち、特別図柄1乱数値レジスタ620cは、主制御CPU600にて、保持(ラッチ)した乱数値が読み出されると、読み出し信号を特別図柄1乱数ラッチフラグレジスタ620fに出力し、これにより、特別図柄1乱数ラッチフラグレジスタ620fに「0」がセットされる。そのため、特別図柄1始動口42のスイッチ信号を新たに受信することで、特別図柄1乱数値レジスタ620cは、乱数生成回路620aにて生成された新たな乱数値を保持(ラッチ)することができる。
そして、特別図柄2乱数ラッチフラグレジスタ620gに「1」がセットされていると、特別図柄2始動口43のスイッチ信号を新たに受信したとしても、特別図柄2乱数値レジスタ620dは、乱数生成回路620aにて生成された新たな乱数値を保持(ラッチ)することができず、主制御CPU600にて、特別図柄2乱数値レジスタ620dに保持(ラッチ)されている乱数値が読み出されることで、乱数生成回路620aにて生成された新たな乱数値を保持(ラッチ)することができる。すなわち、特別図柄2乱数値レジスタ620dは、主制御CPU600にて、保持(ラッチ)した乱数値が読み出されると、読み出し信号を特別図柄2乱数ラッチフラグレジスタ620gに出力し、これにより、特別図柄2乱数ラッチフラグレジスタ620gに「0」がセットされる。そのため、特別図柄2始動口43のスイッチ信号を新たに受信することで、特別図柄2乱数値レジスタ620dは、乱数生成回路620aにて生成された新たな乱数値を保持(ラッチ)することができる。
このように、普通図柄乱数値レジスタ620b,特別図柄1乱数値レジスタ620c,特別図柄2乱数値レジスタ620dにそれぞれ保持(ラッチ)されている乱数値を主制御CPU600が読み出すと、主制御CPU600は、その読み出した乱数値と主制御ROM601に格納されている図6に示すテーブルの値と比較する。
すなわち、主制御CPU600は、普通図柄乱数値レジスタ620bに保持(ラッチ)されている乱数値を読み出すと、その読み出した乱数値と図6(a)に示す普通図柄当たり判定テーブルNPP_TBLに格納されている値を比較することで普通図柄の当たり判定を行う。普通図柄当たり判定テーブルNPP_TBLには、図6(a)に示すように、遊技状態が通常状態の場合、下限値として249,上限値として250が格納され、遊技状態が、当り抽選確率が通常より高確率状態である確率変動状態(以下、確変状態という)の場合、下限値として4,上限値として250が格納されている。これにより、遊技状態が通常状態で、上記主制御CPU600にて読み出した乱数値が249〜250の場合、普通図柄は当たりとなり、それ以外の乱数値はハズレとなる。そして、遊技状態が確変状態で、上記主制御CPU600にて読み出した乱数値が4〜250の場合、普通図柄は当たりとなり、それ以外の乱数値はハズレとなる。そして、この抽選結果が、普通図柄表示装置48に送信されることとなる。
また、主制御CPU600は、特別図柄1乱数値レジスタ620cに保持(ラッチ)されている乱数値を読み出すか、又は、特別図柄2乱数値レジスタ620dに保持(ラッチ)されている乱数値を読み出すと、その読み出した乱数値と図6(b)に示す特別図柄大当たり判定テーブルSDH_TBLに格納されている値を比較することで特別図柄1又は特別図柄2の大当たり判定を行う。特別図柄大当たり判定テーブルSDH_TBLには、図6(b)に示すように、遊技状態が通常状態の場合、下限値として10001,上限値として10164が格納され、遊技状態が確変状態の場合、下限値として10001,上限値として11640が格納されている。これにより、遊技状態が通常状態で、上記主制御CPU600にて読み出した乱数値が10001〜10164の場合、特別図柄1又は特別図柄2は大当たりとなり、それ以外の乱数値はハズレとなる。そして、遊技状態が確変状態で、上記主制御CPU600にて読み出した乱数値が10001〜11640の場合、特別図柄1又は特別図柄2は大当たりとなり、それ以外の乱数値はハズレとなり、この抽選結果が、特別図柄1表示装置47a又は特別図柄2表示装置47bに送信されることとなる。
そしてさらに、主制御CPU600は、特別図柄1乱数値レジスタ620cに保持(ラッチ)されている乱数値を読み出すか、又は、特別図柄2乱数値レジスタ620dに保持(ラッチ)されている乱数値を読み出すと、その読み出した乱数値と図6(c)に示す特別図柄小当たり判定テーブルSDP_TBLに格納されている値を比較することで特別図柄1又は特別図柄2の小当たり判定を行う。特別図柄小当たり判定テーブルSDP_TBLには、図6(c)に示すように、特別図柄1の小当たり判定値の下限値として20001,上限値として20164が格納され、特別図柄2の小当たり判定値の下限値として20001,上限値として20082が格納されている。これにより、上記主制御CPU600にて特別図柄1乱数値レジスタ620cより読み出した乱数値が20001〜20164の場合、特別図柄1は小当たりとなり、それ以外の乱数値はハズレとなり、この抽選結果が、特別図柄1表示装置47aに送信されることとなる。そして、上記主制御CPU600にて特別図柄2乱数値レジスタ620dより読み出した乱数値が20001〜20082の場合、特別図柄2は小当たりとなり、それ以外の乱数値はハズレとなり、この抽選結果が、特別図柄2表示装置47bに送信されることとなる。なお、本実施形態においては、乱数値としてハードウェア乱数値を用いたが、プログラムで生成するソフトウェア乱数値を用いても良い。しかしながら、ハードウェア乱数値を用いた方が、処理が高速化される。そしてさらには、ソフトウェア乱数値では、プログラム容量の関係上、乱数値とはいえ、例えば2バイトの場合、0〜65535の範囲で値をカウントアップするだけものであるが、ハードウェア乱数値を用いれば、プログラム容量の制約がないため、ランダムな乱数値を生成することができる。それゆえ、乱数値がランダムであるため、タイミングを計って、当たりを故意に発生させるようなゴト行為を防止することができる。
なお、主制御基板60には、図4に示すように、上記電源基板50にて生成された直流電圧DC32Vが供給されており、その直流電圧DC32Vは、遊技盤中継基板100に出力され、この出力された電圧は、大入賞口44などのソレノイド類を駆動させる際の電圧として使用される。
次に、上記説明した普通図柄及び特別図柄の抽選処理について、より詳しく、図7〜図16に示す主制御基板60の主制御ROM601内に格納されているプログラムの概要を用いて説明する。
<メイン処理>
まず、図7を参照しつつ、メイン処理について説明する。主制御CPU600は、最初に自らを割込み禁止状態に設定すると共に(ステップS1)、主制御CPU600内のレジスタ値等の初期設定を行う(ステップS2)。
続いて、主制御CPU600は、電圧異常信号ALARMを2回取得し、その2回取得した電圧異常信号ALARMのレベルが一致するか否かを確認した上で図示しない内部レジスタ内に格納し(ステップS3)、その電圧異常信号ALARMのレベルを確認する。そして電圧異常信号ALARMのレベルが「L」レベルであれば(ステップS4:YES)、ステップS3の処理に戻り、電圧異常信号ALARMのレベルが「H」レベルであれば(ステップS4:NO)、ステップS5の処理に進む。すなわち、主制御CPU600は、電圧異常信号ALARMが正常レベル(すなわち「H」レベル)に変化するまで同一の処理を繰り返す(ステップS3〜S4)。このように、電圧異常信号ALARMを2回取得することで、正確な信号を読み込むことができる。
次いで、主制御CPU600は、主制御RAM602へのデータ書込みを許可する(ステップS5)。このように、電圧異常信号ALARMの正常レベル(正常値)を検知するまで主制御RAM602へのデータ書き込みを禁止することにより、交流電圧AC24Vが安定して供給される前に、不安定な信号が主制御RAM602にアクセスし、主制御RAM602に記憶されているデータを書き換えてしまうという事態を防止することができる。
次いで、主制御CPU600は、演出I/F基板90に液晶表示装置41に待機画面を表示させるような処理コマンドを送信し(ステップS6)、バックアップフラグBFLの内容を判定する(ステップS7)。なお、このバックアップフラグBFLとは、図8に示す電圧監視処理の動作が実行されたか否かを示すデータである。
このバックアップフラグBFLがOFF状態(ステップS7:OFF)であれば、後述する図8に示す電圧監視処理の動作が実行されていないこととなり、主制御CPU600は、主制御RAM602内の全領域を全てクリアする処理を行う(ステップS11)。一方、バックアップフラグBFLがON状態(ステップS7:ON)であれば、後述する図8に示す電圧監視処理の動作が実行されていることとなるため、主制御CPU600は、チェックサム値を算出するためのチェックサム演算を行う(ステップS8)。なお、チェックサム演算とは、主制御RAM602の作業領域を対象とする8ビット加算演算である。
そして、主制御CPU600は、上記チェックサム値が算出されたら、この演算結果を主制御RAM602内のSUM番地の記憶値と比較する処理を行う(ステップS9)。そして、記憶された演算結果は、主制御RAM602内に記憶されている他のデータと共に、バックアップ電源VBBによって維持されている。
このSUM番地の記憶値と上記ステップS8の処理にて算出されたチェックサム値が不一致(ステップS9:NO)であれば、主制御CPU600は、主制御RAM602内の全領域を全てクリアする処理を行う(ステップS11)。そして一致(ステップS9:YES)していれば、主制御CPU600は、主制御RAM602内に記憶されているデータに基づいて電源遮断時の遊技動作に復帰させる処理を行う(ステップS10)。
次いで、主制御CPU600は、ステップS10及びステップS11の処理後、その内部に設けられている一定周期のパルス出力を作成する機能や時間計測の機能等を有するCTC(Counter Timer Circuit)の設定を行う。すなわち、主制御CPU600は、4ms毎に定期的にタイマ割込みがかかるように上記CTCの時間定数レジスタを設定する(ステップS12)。そして次いで、主制御CPU600は、自身への割込みを禁止状態にセットした状態(ステップS13)で、各種の乱数カウンタの更新処理を行った後(ステップS14)、割込み許可状態に戻して(ステップS15)、ステップS13に戻る処理を行う。
<タイマ割込み処理>
続いて、図8を参照して、上述したメイン処理を中断させて、4ms毎に開始されるタイマ割込みプログラムについて説明する。このタイマ割込みが生じると、主制御CPU600内のレジスタ群の内容を主制御RAM602のスタック領域に退避させる退避処理を実行し(ステップS30)、その後電圧監視処理が実行される(ステップS31)。この電圧監視処理は、電源基板50から出力される電圧異常信号ALARMのレベルを判定し、電圧異常信号ALARMが「L」レベル(異常レベル)であれば、主制御RAM602内に記憶されているデータのバックアップ処理、すなわち、当該データのチェックサム値を算出し、その算出したチェックサム値をバックアップデータとして主制御RAM602に保存する処理を行う。
次いで、主制御CPU600は、上記電圧監視処理(ステップS31)が終了すると、各遊技動作の時間を管理しているタイマのタイマ減算処理を行う(ステップS32)。ここで減算されたタイマは、大入賞口44(図2参照)の開放時間、普通図柄の変動時間、特別図柄1又は特別図柄2の変動時間等の遊技演出時間、不正情報タイマ等を管理するために使用されるものである。
そして続いて、主制御CPU600には、各入賞口44,46及び各始動口42,43,45(図2参照)のスイッチを含む各種スイッチ類のON/OFF信号が入力され、作業領域にON/OFF信号レベルや、その立ち上がり状態が記憶される(ステップS33)。なお、このスイッチ入力処理は、不正入賞があった場合に、立ち上がり状態を無効(入賞無効)にする処理も行い、賞球を払出すために上記各入賞口44,46に何個の遊技球が入賞したのかのカウントも行っている。
その後、主制御CPU600は、エラー管理処理を行う(ステップS34)。なお、エラー管理処理は、遊技球の補給が停止したり、あるいは、遊技球が詰まったりなど、機器内部に異常が生じていないかの判定を含むものである。
次いで、主制御CPU600は、賞球管理処理を実行する(ステップS35)。この賞球管理処理は、払出制御基板70に払出し動作を行わせるための払出制御コマンドPAY_CMDを出力している。
次いで、主制御CPU600は、普通図柄処理を実行する(ステップS36)。この普通図柄処理は、普通図柄の当否抽選を実行し、その抽選結果に基づいて普通図柄の変動パターンや普通図柄の停止表示状態を決定したりするものである。なお、この普通図柄処理の詳細については、後述することとする。
次いで、主制御CPU600は、特別図柄処理を実行する(ステップS37)。この特別図柄処理では、特別図柄1又は特別図柄2の当否抽選を実行し、その抽選の結果に基づいて特別図柄1又は特別図柄2の変動パターンや特別図柄1又は特別図柄2の停止表示態様(停止特別図柄)を決定する。なお、この特別図柄処理の詳細については、後述することとする。
次いで、主制御CPU600は、LED管理処理を実行する(ステップS38)。このLED管理処理は、処理の進行状態に応じて、普通図柄表示装置48や特別図柄表示装置47への出力データを作成したり、当該データに基づく制御信号を出力したりする処理である。
次いで、主制御CPU600は、大入賞口44(図2参照)等の開閉動作を実現するソレノイドの駆動処理を実行し(ステップS39)、割込み許可状態に戻し(ステップS40)、主制御RAM602のスタック領域に退避させておいたレジスタの内容を復帰させタイマ割込みを終える(ステップS41)。これにより、割込み処理ルーチンからメイン処理(図7参照)に戻ることとなる。
<1.普通図柄処理>
次に、図9〜図11を参照して、上記普通図柄処理(図8のステップS36)について詳細に説明する。図9に示すように、普通図柄処理は、先ず、ゲートからなる普通図柄始動口45において、遊技球の通過を検知したか否かを確認、すなわち、普通図柄始動口45のスイッチ信号のレベルを確認する(ステップS100)。そして遊技球の通過を検知した場合(ステップS100:YES)、主制御CPU600は、普通図柄の作動保留球数が例えば4以上か否かを判断するため、普通図柄の作動保留球数が格納されている主制御RAM602領域を確認する(ステップS101)。そして、普通図柄の作動保留球数が4未満であれば(ステップS101:≠MAX)、普通図柄の作動保留球数を1加算する(ステップS102)。その後、主制御CPU600は、普通図柄の当否抽選に用いられる普通図柄乱数値レジスタ620b(図5参照)に保持(ラッチ)されている乱数値を読み出し、その読み出した乱数値を普通図柄の作動保留球数が格納されている主制御RAM602領域に格納した上で(ステップS103)、ステップS104の処理に進む。
一方、ステップS100にて、遊技球の通過を検知しなかった場合(ステップS100:NO)、ステップS101にて、普通図柄の作動保留球数が4以上であると判断した場合(ステップS101:=MAX)には、ステップS102〜S103の処理は行わず、ステップS104の処理に進む。
主制御CPU600は、ステップS104の処理に進むと、普通図柄当たり作動フラグがONに設定されているか、すなわち、普通図柄当たり作動フラグに5AHが設定されているかを確認する(ステップS104)。普通図柄当たり作動フラグに5AHが設定されていれば(ステップS104:ON)、普通図柄が当たり中であると判断し、普通図柄の表示データの更新を行った後(ステップS114)、普通図柄処理を終了し、図8に示すステップS37の特別図柄処理に移行することとなる。
一方、普通図柄当たり作動フラグに5AHが設定されていなければ(ステップS104:OFF)、普通図柄の挙動を示す処理状態、すなわち、普通図柄動作ステータスフラグの値を確認する(ステップS105)。そして、普通図柄動作ステータスフラグが00Hであれば、主制御CPU600は、普通図柄の変動開始前の状態であると判断し、ステップS106に進み、普通図柄の作動保留球数が0か否かを確認する(ステップS106)。
主制御CPU600は、普通図柄の作動保留球数が格納されている主制御RAM602領域を確認した上で、0であると判断した場合(ステップS106:=0)は、普通図柄の表示データの更新を行った後(ステップS114)、普通図柄処理を終了し、図8に示すステップS37の特別図柄処理に移行する。一方、0でないと判断した場合(ステップS106:≠0)は、普通図柄の作動保留球数を1減算する(ステップS107)。その後、主制御CPU600は、オフセット値を0に設定し(ステップS108)、乱数抽選処理を実行する(ステップS109)。この乱数抽選処理について図10及び図11を用いて説明する。
<乱数抽選処理:普通図柄処理>
図10に示すように、乱数抽選処理は、先ず、主制御CPU600にて、オフセット値(ステップS108参照)を確認し、そのオフセット値に基づいた各種データを取得する(ステップS200)。この各種データとは、図11に示す、主制御ROM601に格納されている抽選用テーブルLOT_TBLのデータのことである。
すなわち、抽選用テーブルLOT_TBLには、オフセット値0〜2に対応したデータが格納されている。より具体的に説明すると、オフセット値が0の項目には、乱数値のデータサイズを示すデータ(例えば、1バイトを示すデータ)が格納され、普通図柄乱数値レジスタ620b(図5参照)より読み出された普通図柄の当否抽選に用いられる乱数値が格納されている主制御RAM602のアドレス番地が格納され、遊技状態を示す普通図柄確変フラグが格納されている主制御RAM602のアドレス番地(状態確認フラグ)が格納され、図6(a)に示す普通図柄当たり判定テーブルNPP_TBL(通常状態)が格納されている主制御ROM601のアドレス番地(判定テーブル1)が格納され、図6(a)に示す普通図柄当たり判定テーブルNPP_TBL(確変状態)が格納されている主制御ROM601のアドレス番地(判定テーブル2)が格納され、普通図柄当たり判定フラグが格納されている主制御RAM602のアドレス番地が格納されている。
一方、オフセット値が1の項目には、乱数値のデータサイズを示すデータ(例えば、2バイトを示すデータ)が格納され、特別図柄1乱数値レジスタ620c(図5参照)又は特別図柄2乱数値レジスタ620d(図5参照)より読み出された特別図柄1又は特別図柄2の当否抽選に用いられる乱数値が格納されている主制御RAM602のアドレス番地が格納され、遊技状態を示す特別図柄確変フラグが格納されている主制御RAM602のアドレス番地(状態確認フラグ)が格納され、図6(b)に示す特別図柄大当たり判定テーブルSDH_TBL(通常状態)が格納されている主制御ROM601のアドレス番地(判定テーブル1)が格納され、図6(b)に示す特別図柄大当たり判定テーブルSDH_TBL(確変状態)が格納されている主制御ROM601のアドレス番地(判定テーブル2)が格納され、特別図柄大当たり判定フラグが格納されている主制御RAM602のアドレス番地が格納されている。
また、オフセット値が2の項目には、乱数値のデータサイズを示すデータ(例えば、2バイトを示すデータ)が格納され、特別図柄1乱数値レジスタ620c(図5参照)又は特別図柄2乱数値レジスタ620d(図5参照)より読み出された特別図柄1又は特別図柄2の当否抽選に用いられる乱数値が格納されている主制御RAM602のアドレス番地が格納され、遊技状態を示す特別図柄2変動中フラグが格納されている主制御RAM602のアドレス番地(状態確認フラグ)が格納され、図6(c)に示す特別図柄小当たり判定テーブルSDP_TBL(特別図柄1)が格納されている主制御ROM601のアドレス番地(判定テーブル1)が格納され、図6(c)に示す特別図柄小当たり判定テーブルSDP_TBL(特別図柄2)が格納されている主制御ROM601のアドレス番地(判定テーブル2)が格納され、特別図柄小当たり判定フラグが格納されている主制御RAM602のアドレス番地が格納されている。
ここで、ステップS108にて、オフセット値には0が設定されているため、主制御CPU600は、ステップS200にて、上述した抽選用テーブルLOT_TBLよりオフセット値0に対応したデータを取得する。次いで、主制御CPU600は、抽選用テーブルLOT_TBLにて取得した乱数値のデータサイズを示すデータが1バイトか否かを判定する(ステップS201)。乱数値のデータサイズが1バイトであれば(ステップS201:YES)、主制御CPU600は、当該主制御CPU600内部の2バイトレジスタの下位バイトに、普通図柄乱数値レジスタ620b(図5参照)より読み出された普通図柄の当否抽選に用いられる乱数値が格納されている主制御RAM602のアドレス番地より当該乱数値を読み出してセットし、上位バイトに00Hをセットする(ステップS202)。このように、上位バイトにプログラム上で、00Hをセットするようにすれば、実際の乱数値のバイト数を2バイトに拡張せずとも、1バイトの乱数値をプログラム上で2バイトデータとして扱うことができるため、データ容量が増加することなく処理することができる。
一方、乱数値のデータサイズが1バイトでなければ(ステップS201:NO)、主制御CPU600は、当該主制御CPU600内部の2バイトレジスタに、普通図柄乱数値レジスタ620b(図5参照)より読み出された普通図柄の当否抽選に用いられる乱数値が格納されている主制御RAM602のアドレス番地より当該乱数値を読み出してセットする。なお、本実施形態においては、オフセット値0の時の乱数値のデータサイズは1バイトデータ(図11に示す抽選用テーブルLOT_TBL参照)であるため、ステップS202の処理を行うこととなる。
次いで、主制御CPU600は、オフセット値に対応した判定テーブル1を取得する処理を行う(ステップS204)。すなわち、主制御CPU600は、ステップS200にて取得した図6(a)に示す普通図柄当たり判定テーブルNPP_TBL(通常状態)が格納されている主制御ROM601のアドレス番地を用いて、そのアドレス番地に格納されている普通図柄当たり判定テーブルNPP_TBL(通常状態)の判定値を読み出す処理を行う。その際、主制御CPU600は、当該主制御CPU600内部の2バイトレジスタの下位バイトに、上記普通図柄当たり判定テーブルNPP_TBL(通常状態)より読み出した判定値をセットし、上位バイトに00Hをセットする。これにより、プログラム上で2バイトデータとした乱数値は、当該判定値と同サイズのバイトデータで比較されることとなるため、データ比較をする上でデータ容量が増加することなく処理することができる。
続いて、主制御CPU600は、状態確認フラグがONに設定されているか否かを確認する処理を行う(ステップS205)。すなわち、主制御CPU600は、ステップS200にて取得した遊技状態を示す普通図柄確変フラグが格納されている主制御RAM602のアドレス番地を用いて、そのアドレス番地に格納されている普通図柄確変フラグがONに設定されているか否かの確認を行う。
その普通図柄確変フラグがONに設定されていれば(ステップS205:YES)、オフセット値に対応した判定テーブル2を取得する処理を行う(ステップS206)。すなわち、主制御CPU600は、ステップS200にて取得した図6(a)に示す普通図柄当たり判定テーブルNPP_TBL(確変状態)が格納されている主制御ROM601のアドレス番地を用いて、そのアドレス番地に格納されている普通図柄当たり判定テーブルNPP_TBL(確変状態)の判定値を読み出す処理を行う。その際、主制御CPU600は、当該主制御CPU600内部の2バイトレジスタの下位バイトに、上記普通図柄当たり判定テーブルNPP_TBL(確変状態)より読み出した判定値をセットし、上位バイトに00Hをセットする。これにより、プログラム上で2バイトデータとした乱数値は、当該判定値と同サイズのバイトデータで比較されることとなるため、データ比較をする上でデータ容量が増加することなく処理することができる。その後、主制御CPU600は、ステップS207に進む処理を行う。
一方、普通図柄確変フラグがONに設定されていなければ(ステップS205:NO)、ステップS207に進む処理を行う。
主制御CPU600は、ステップS207の処理において、上記ステップS202又はステップS203にてセットした乱数値が図6(a)に示す普通図柄当たり判定テーブルNPP_TBLの下限値以上か否かを判定する(ステップS207)。なお、普通図柄確変フラグがONに設定されていなければ、上記ステップS202又はステップS203にてセットした乱数値は、図6(a)に示す普通図柄当たり判定テーブルNPP_TBL(通常状態)の下限値(図示では、249)以上か否かを判定し、普通図柄確変フラグがONに設定されていれば、上記ステップS202又はステップS203にてセットした乱数値は、図6(a)に示す普通図柄当たり判定テーブルNPP_TBL(確変状態)の下限値(図示では、4)以上か否かを判定する。
上記ステップS202又はステップS203にてセットした乱数値が図6(a)に示す普通図柄当たり判定テーブルNPP_TBLの下限値以上でなければ(ステップS207:NO)、乱数抽選処理(図9のステップS109)を終了し、図9に示すステップS110の処理に進む。
一方、上記ステップS202又はステップS203にてセットした乱数値が図6(a)に示す普通図柄当たり判定テーブルNPP_TBLの下限値以上であれば(ステップS207:YES)、主制御CPU600は、上記ステップS202又はステップS203にてセットした乱数値が図6(a)に示す普通図柄当たり判定テーブルNPP_TBLの上限値以下か否かを判定する(ステップS208)。上記ステップS202又はステップS203にてセットした乱数値が図6(a)に示す普通図柄当たり判定テーブルNPP_TBLの上限値以下でなければ(ステップS208:NO)、乱数抽選処理(図9のステップS109)を終了し、図9に示すステップS110の処理に進む。
一方、上記ステップS202又はステップS203にてセットした乱数値が図6(a)に示す普通図柄当たり判定テーブルNPP_TBLの上限値以下であれば(ステップS208:YES)、主制御CPU600は、当たりであると判定し、上記ステップS200にて取得した普通図柄当たり判定フラグが格納されている主制御RAM602のアドレス番地を用いて、普通図柄当たり判定フラグを読み出し、普通図柄当たり判定フラグをONに設定(5AHを設定)する処理を行う(ステップS209)。そして、主制御CPU600は、その処理が終了した後、乱数抽選処理(図9のステップS109)を終了し、図9に示すステップS110の処理に進む。
<2.普通図柄処理>
かくして、乱数抽選処理(ステップS109)を実行した主制御CPU600は、上記乱数抽選処理にて決定した抽選結果に基づいて、停止図柄(普通図柄停止図柄)を決定する(ステップS110)。
次いで、主制御CPU600は、普通図柄の変動時間を短くする普通図柄時短フラグがONに設定されているかを確認し、ONに設定されていれば、普通図柄変動タイマにそれに応じた変動時間を設定し、OFFに設定されていれば、普通図柄変動タイマに通常の変動時間を設定する処理を行う(ステップS111)。
次いで、主制御CPU600は、普通図柄の作動保留球数に対応した普通図柄の当否抽選に用いられる乱数値が格納されている主制御RAM602領域の記憶領域をシフトする(ステップS112)。すなわち、普通図柄の作動保留球数を最大で4個保留できるとすると、普通図柄の作動保留球数4に対応した普通図柄の当否抽選に用いられる乱数値を普通図柄の作動保留球数3に対応した普通図柄の当否抽選に用いられる乱数値が格納されていた主制御RAM602領域にシフトし、普通図柄の作動保留球数3に対応した普通図柄の当否抽選に用いられる乱数値を普通図柄の作動保留球数2に対応した普通図柄の当否抽選に用いられる乱数値が格納されていた主制御RAM602領域にシフトし、普通図柄の作動保留球数2に対応した普通図柄の当否抽選に用いられる乱数値を普通図柄の作動保留球数1に対応した普通図柄の当否抽選に用いられる乱数値が格納されていた主制御RAM602領域にシフトするという処理を行う。
この処理の後、主制御CPU600は、上記ステップS105にて用いた普通図柄動作ステータスフラグに01Hを設定し、普通図柄の作動保留球数4に対応した普通図柄の当否抽選に用いられる乱数値が格納されていた主制御RAM602の領域に00Hを設定する処理を行う(ステップS113)。
そして、主制御CPU600は、上記ステップS113の処理を終えた後、普通図柄の表示データの更新を行い(ステップS114)、普通図柄処理を終了し、図8に示すステップS37の特別図柄処理に移行する。
他方、主制御CPU600は、上記ステップS105にて、普通図柄の挙動を示す処理状態、すなわち、普通図柄動作ステータスフラグの値が01Hであれば、主制御CPU600は、普通図柄が変動中であると判断し、ステップS115に進み、普通図柄変動タイマが0か否かを確認する(ステップS115)。普通図柄変動タイマが0でなければ(ステップS115:≠0)、普通図柄の表示データの更新を行い(ステップS114)、普通図柄処理を終了し、図8に示すステップS37の特別図柄処理に移行する。そして、普通図柄変動タイマが0であれば(ステップS115:=0)、主制御CPU600は、上記ステップS105にて用いた普通図柄動作ステータスフラグに02Hを設定し、普通図柄の当否抽選結果を一定時間維持させるために、普通図柄変動タイマに例えば約600msの時間が設定される(ステップS116)。
主制御CPU600は、上記ステップS116の処理を終えた後、普通図柄の表示データの更新を行い(ステップS114)、普通図柄処理を終了し、図8に示すステップS37の特別図柄処理に移行する。
一方、主制御CPU600は、上記ステップS105にて、普通図柄の挙動を示す処理状態、すなわち、普通図柄動作ステータスフラグの値が02Hであれば、主制御CPU600は、普通図柄が確認時間中(普通図柄の変動が終了して停止中)であると判断し、ステップS117に進み、普通図柄変動タイマが0か否かを確認する(ステップS117)。普通図柄変動タイマが0でなければ(ステップS117:≠0)、普通図柄の表示データの更新を行い(ステップS114)、普通図柄処理を終了し、図8に示すステップS37の特別図柄処理に移行する。そして、普通図柄変動タイマが0であれば(ステップS117:=0)、主制御CPU600は、上記ステップS105にて用いた普通図柄動作ステータスフラグに00Hを設定し(ステップS118)、普通図柄当たり判定フラグがONに設定(5AHが設定)されているかを確認する(ステップS119)。
これにより、普通図柄当たり判定フラグがOFFに設定(5AHが設定されていない)されていれば(ステップS119:OFF)、主制御CPU600は、普通図柄の表示データの更新を行い(ステップS114)、普通図柄処理を終了し、図8に示すステップS37の特別図柄処理に移行する。そして、普通図柄当たり判定フラグがONに設定(5AHが設定)されていれば(ステップS119:ON)、主制御CPU600は、ステップS104にて用いられる普通図柄当たり作動フラグをON(5AHを設定)に設定した(ステップS120)後、普通図柄処理を終了し、図8に示すステップS37の特別図柄処理に移行する。
<1.特別図柄処理>
次に、図12〜図16も参照して、上記特別図柄処理(図8のステップS37)について詳細に説明する。図12に示すように、特別図柄処理は、先ず、特別図柄1始動口42において、遊技球の入球(入賞球)を検知した否かを確認し(ステップS300)、さらに、特別図柄2始動口43において、遊技球の入球(入賞)を検知した否かを確認する(ステップS301)。
<始動口チェック処理>
この処理について、図13を用いて詳しく説明すると、主制御CPU600は、特別図柄1始動口42又は特別図柄2始動口43に遊技球が入球(入賞)したか否かを確認、すなわち、特別図柄1始動口42又は特別図柄2始動口43のスイッチ信号のレベルを確認する(ステップS400)。これにより、遊技球の入球(入賞)を検知しななければ(ステップS400:NO)、図12のステップS302の処理に進み、遊技球の入球(入賞)を検知すれば(ステップS400:YES)、主制御CPU600は、特別図柄1又は特別図柄2の作動保留球数が例えば4以上か否かを判断するため、特別図柄1又は特別図柄2の作動保留球数が格納されている主制御RAM602領域を確認する(ステップS401)。
そして、特別図柄1又は特別図柄2の作動保留球数が4未満であれば(ステップS401:≠MAX)、特別図柄1又は特別図柄2の作動保留球数を1加算する(ステップS402)。その後、主制御CPU600は、特別図柄1又は特別図柄2の当否抽選に用いられる特別図柄1乱数値レジスタ620c又は特別図柄2乱数値レジスタ620d(図5参照)に保持(ラッチ)されている乱数値を読み出し、さらに、特別図柄停止の際用いられる特別図柄用乱数値及び変動パターン用乱数値のカウンタの現在値を取得し、これら読み出した乱数値及び取得した乱数値をそれぞれ、特別図柄1又は特別図柄2の作動保留球数が格納されている主制御RAM602領域に格納する(ステップS403)。
次いで、主制御CPU600は、現在の遊技状態(特別図柄大当たり判定フラグがONに設定されているか否か等)を確認し、先読み禁止状態か否かを判定する(ステップS404)。そして、先読み禁止状態でなければ(ステップS404:NO)、主制御CPU600は、上記ステップS403にて主制御RAM602に格納した特別図柄1又は特別図柄2の当否抽選に用いられる乱数値を取得し(ステップS405)、さらに、図示しない始動口入賞時乱数判定テーブルを取得する(ステップS406)。
次いで、主制御CPU600は、上記ステップS405にて取得した乱数値及びステップS406にて取得した始動口入賞時乱数判定テーブルを用いて、大当たり抽選を行い、さらに、上記ステップS403にて主制御RAM602に格納した特別図柄用乱数値を用いて、大当たりの種類(15R確変大当り、15R非確変大当たり等)を決定し、上記ステップS403にて主制御RAM602に格納した変動パターン用乱数値を用いて、変動パターンを決定し、それに応じた特別図柄1始動口入賞コマンド又は特別図柄2始動口入賞コマンドを生成する(ステップS407)。
次いで、主制御CPU600は、上記生成された特別図柄1始動口入賞コマンド又は特別図柄2始動口入賞コマンドに応じた下位バイトの保留加算コマンドを生成し、ステップS409の処理に進む。
一方、主制御CPU600は、上記ステップS401にて特別図柄1又は特別図柄2の作動保留球数が4以上であれば(ステップS401:=MAX)、ステップS403〜ステップS408の処理をせずステップS409の処理に進み、又、上記ステップS404にて、先読み禁止状態であれば(ステップS404:YES)、ステップS405〜ステップS408の処理をせずステップS409の処理に進む。
ステップS409の処理において、主制御CPU600は、増加した保留球数に応じた上位バイトの保留加算コマンドを生成し(ステップS409)、その後、主制御CPU600は、その保留加算コマンドを演出制御基板80(図3参照)に送信する処理を行う(ステップS410)。これにより、主制御CPU600は、図12に示すステップS300及びステップS301の処理を終え、ステップS302の処理に進む。
<2.特別図柄処理>
図12に示すステップS302にて、主制御CPU600は、特別図柄小当たり作動フラグがONに設定されているか、すなわち、特別図柄小当たり作動フラグに5AHが設定されているかを確認する(ステップS302)。特別図柄小当たり作動フラグに5AHが設定されていれば(ステップS302:ON)、特別図柄が小当たり中であると判断し、特別図柄の表示データの更新を行った後(ステップS308)、特別図柄処理を終了し、図8に示すステップS38のLED管理処理に移行することとなる。
一方、特別図柄小当たり作動フラグに5AHが設定されていなければ(ステップS302:OFF)、特別図柄大当たり作動フラグがONに設定されているか、すなわち、特別図柄大当たり作動フラグに5AHが設定されているかを確認する(ステップS303)。特別図柄大当たり作動フラグに5AHが設定されていれば(ステップS303:ON)、特別図柄が大当たり中であると判断し、特別図柄の表示データの更新を行った後(ステップS308)、特別図柄処理を終了し、図8に示すステップS38のLED管理処理に移行することとなる。
一方、特別図柄大当たり作動フラグに5AHが設定されていなければ(ステップS303:OFF)、特別図柄の挙動を示す処理状態、すなわち、特別図柄動作ステータスフラグの値を確認する(ステップS304)。より詳しく説明すると、主制御CPU600は、特別図柄動作ステータスフラグの値が00H又は01Hであれば、特別図柄変動待機中(特別図柄の変動が行われておらず次回の変動のための待機状態であることを示す)であると判定し、特別図柄変動開始処理を行う(ステップS305)。そして、特別図柄動作ステータスフラグの値が02Hであれば、特別図柄変動中(特別図柄が現在変動中であることを示す)であると判定し、特別図柄変動中処理を行う(ステップS306)。そしてまた、特別図柄動作ステータスフラグの値が03Hであれば、特別図柄確認中(特別図柄の変動が終了して停止中であることを示す)であると判定し、特別図柄確認時間中処理を行う(ステップS307)。
次いで、主制御CPU600は、上記ステップS305、ステップS306、ステップS307のいずれかの処理を終えると、特別図柄の表示データの更新を行った後(ステップS308)、特別図柄処理を終了し、図8に示すステップS38のLED管理処理に移行することとなる。
ここで、図14〜図16を用いて、上記特別図柄変動開始処理(ステップS305)、特別図柄変動中処理(ステップS306)、特別図柄確認時間中処理(ステップS307)についてより詳しく説明する。
<1.特別図柄変動開始処理>
図14に示すように、特別図柄変動開始処理は、まず、特別図柄2の作動保留球数が0か否かを確認する(ステップS500)。すなわち、主制御CPU600は、特別図柄2の作動保留球数が格納されている主制御RAM602領域を確認した上で0であると判断した場合(ステップS500:=0)、特別図柄1の作動保留球数が格納されている主制御RAM602領域を確認する(ステップS501)。そして、特別図柄1の作動保留球数も0であると判断した場合(ステップS501:=0)、主制御CPU600は、特別図柄動作ステータスフラグの値が00Hか否かを確認する(ステップS502)。特別図柄動作ステータスフラグの値が00Hであれば(ステップS502:YES)、主制御CPU600は、特別図柄変動開始処理の処理を終え、図12に示すステップS308の処理に移行することとなる。
一方、特別図柄動作ステータスフラグの値が00Hでなければ(ステップS502:NO)、主制御CPU600は、客待ちデモコマンドを演出制御基板80(図3参照)に送信し(ステップS503)、特別図柄動作ステータスフラグに00Hをセットした上で(ステップS504)、特別図柄変動開始処理の処理を終え、図12に示すステップS308の処理に移行する。
他方、上記ステップS500にて、特別図柄2の作動保留球数が0でなく(ステップS500:≠0)、上記ステップS501にて、特別図柄1の作動保留球数が0でなければ(ステップS501:≠0)、主制御CPU600は、特別図柄1又は特別図柄2の作動保留球数を1減算する(ステップS505)。そしてその後、主制御CPU600は、保留減算コマンドを演出制御基板80(図3参照)に送信し(ステップS506)、特別図柄1又は特別図柄2の作動保留球数が格納されている主制御RAM602領域を、図9に示すステップS112の処理と同様、シフトし(ステップS507)、特別図柄1又は特別図柄2の作動保留球数4の主制御RAM602領域に0を設定する(ステップS508)。
次いで、主制御CPU600は、オフセット値を1に設定し(ステップS509)、乱数抽選処理を実行する(ステップS510)。この乱数抽選処理について図10及び図11を用いて説明する。
<1.乱数抽選処理:特別図柄変動開始処理>
図10に示すように、乱数抽選処理は、先ず、主制御CPU600にて、オフセット値を確認し、そのオフセット値に基づいた各種データを取得する(ステップS200)。すなわち、オフセット値には1が設定されているため、主制御CPU600は、図11に示す抽選用テーブルLOT_TBLよりオフセット値1に対応したデータを取得する。
次いで、主制御CPU600は、抽選用テーブルLOT_TBLにて取得した乱数値のデータサイズを示すデータが1バイトか否かを判定する(ステップS201)。本実施形態においては、乱数値のデータサイズは2バイトであり、乱数値のデータサイズが1バイトでないため(ステップS201:NO)、主制御CPU600は、当該主制御CPU600内部の2バイトレジスタに、上位バイトに00Hを付加することなく、特別図柄1乱数値レジスタ620c(図5参照)より読み出された特別図柄1の当否抽選に用いられる乱数値が格納されている主制御RAM602のアドレス番地より当該乱数値を読み出してそのままセットし、又、特別図柄2乱数値レジスタ620d(図5参照)より読み出された特別図柄2の当否抽選に用いられる乱数値が格納されている主制御RAM602のアドレス番地より当該乱数値を読み出してそのままセットする。
次いで、主制御CPU600は、オフセット値に対応した判定テーブル1を取得する処理を行う(ステップS204)。すなわち、主制御CPU600は、ステップS200にて取得した図6(b)に示す特別図柄大当たり判定テーブルSDH_TBL(通常状態)が格納されている主制御ROM601のアドレス番地を用いて、そのアドレス番地に格納されている特別図柄大当たり判定テーブルSDH_TBL(通常状態)の判定値を読み出す処理を行う。その際、主制御CPU600は、当該主制御CPU600内部の2バイトレジスタに、上位バイトに00Hを付加することなく、上記特別図柄大当たり判定テーブルSDH_TBL(通常状態)より読み出した判定値をそのままセットする。
そして続いて、主制御CPU600は、状態確認フラグがONに設定されているか否かを確認する処理を行う(ステップS205)。すなわち、主制御CPU600は、ステップS200にて取得した遊技状態を示す特別図柄確変フラグが格納されている主制御RAM602のアドレス番地を用いて、そのアドレス番地に格納されている特別図柄確変フラグがONに設定されているか否かの確認を行う。
特別図柄確変フラグがONに設定されていれば(ステップS205:YES)、オフセット値に対応した判定テーブル2を取得する処理を行う(ステップS206)。すなわち、主制御CPU600は、ステップS200にて取得した図6(b)に示す特別図柄大当たり判定テーブルSDH_TBL(確変状態)が格納されている主制御ROM601のアドレス番地を用いて、そのアドレス番地に格納されている特別図柄大当たり判定テーブルSDH_TBL(確変状態)の判定値を読み出す処理を行う。その際、主制御CPU600は、当該主制御CPU600内部の2バイトレジスタに、上位バイトに00Hを付加することなく、上記特別図柄大当たり判定テーブルSDH_TBL(確変状態)より読み出した判定値をそのままセットする。その後、主制御CPU600は、ステップS207に進む処理を行う。
一方、特別図柄確変フラグがONに設定されていなければ(ステップS205:NO)、ステップS207に進む処理を行う。
主制御CPU600は、ステップS207の処理において、上記ステップS203にてセットした乱数値が図6(b)に示す特別図柄大当たり判定テーブルSDH_TBLの下限値以上か否かを判定する(ステップS207)。なお、特別図柄確変フラグがONに設定されていなければ、上記ステップS203にてセットした乱数値は、図6(b)に示す特別図柄大当たり判定テーブルSDH_TBL(通常状態)の下限値(図示では、10001)以上か否かを判定し、特別図柄確変フラグがONに設定されていれば、上記ステップS203にてセットした乱数値は、図6(b)に示す特別図柄当たり判定テーブルSDH_TBL(確変状態)の下限値(図示では、10001)以上か否かを判定する。
上記ステップS203にてセットした乱数値が図6(b)に示す特別図柄大当たり判定テーブルSDH_TBLの下限値以上でなければ(ステップS207:NO)、乱数抽選処理(図14のステップS510)を終了し、図14に示すステップS511の処理に進む。
一方、上記ステップS203にてセットした乱数値が図6(b)に示す特別図柄大当たり判定テーブルSDH_TBLの下限値以上であれば(ステップS207:YES)、主制御CPU600は、上記ステップS203にてセットした乱数値が図6(b)に示す特別図柄大当たり判定テーブルSDH_TBLの上限値以下か否かを判定する(ステップS208)。上記ステップS203にてセットした乱数値が図6(b)に示す特別図柄大当たり判定テーブルSDH_TBLの上限値以下でなければ(ステップS208:NO)、乱数抽選処理(図14のステップS510)を終了し、図14に示すステップS511の処理に進む。
一方、上記ステップS203にてセットした乱数値が図6(b)に示す特別図柄大当たり判定テーブルSDH_TBLの上限値以下であれば(ステップS208:YES)、主制御CPU600は、大当たりであると判定し、上記ステップS200にて取得した特別図柄大当たり判定フラグが格納されている主制御RAM602のアドレス番地を用いて、特別図柄大当たり判定フラグを読み出し、特別図柄大当たり判定フラグをONに設定(5AHを設定)する処理を行う(ステップS209)。そして、主制御CPU600は、その処理が終了した後、乱数抽選処理(図14のステップS510)を終了し、図14のステップS511の処理に進む。
<2.特別図柄変動開始処理>
かくして、乱数抽選処理(ステップS510)を実行した主制御CPU600は、オフセット値を2に設定し(ステップS511)、再び、乱数抽選処理を行う(ステップS512)。この乱数抽選処理について図10及び図11を用いて説明する。
<2.乱数抽選処理:特別図柄変動開始処理>
図10に示すように、乱数抽選処理は、先ず、主制御CPU600にて、オフセット値を確認し、そのオフセット値に基づいた各種データを取得する(ステップS200)。すなわち、オフセット値には2が設定されているため、主制御CPU600は、図11に示す抽選用テーブルLOT_TBLよりオフセット値2に対応したデータを取得する。
次いで、主制御CPU600は、抽選用テーブルLOT_TBLにて取得した乱数値のデータサイズを示すデータが1バイトか否かを判定する(ステップS201)。本実施形態においては、乱数値のデータサイズは2バイトであり、乱数値のデータサイズが1バイトでないため(ステップS201:NO)、主制御CPU600は、当該主制御CPU600内部の2バイトレジスタに、上位バイトに00Hを付加することなく、特別図柄1乱数値レジスタ620c(図5参照)より読み出された特別図柄1の当否抽選に用いられる乱数値が格納されている主制御RAM602のアドレス番地より当該乱数値を読み出してそのままセットし、又、特別図柄2乱数値レジスタ620d(図5参照)より読み出された特別図柄2の当否抽選に用いられる乱数値が格納されている主制御RAM602のアドレス番地より当該乱数値を読み出してそのままセットする。
次いで、主制御CPU600は、オフセット値に対応した判定テーブル1を取得する処理を行う(ステップS204)。すなわち、主制御CPU600は、ステップS200にて取得した図6(c)に示す特別図柄小当たり判定テーブルSDP_TBL(特別図柄1)が格納されている主制御ROM601のアドレス番地を用いて、そのアドレス番地に格納されている特別図柄小当たり判定テーブルSDP_TBL(特別図柄1)の判定値を読み出す処理を行う。その際、主制御CPU600は、当該主制御CPU600内部の2バイトレジスタに、上位バイトに00Hを付加することなく、上記特別図柄小当たり判定テーブルSDP_TBL(特別図柄1)より読み出した判定値をそのままセットする。
続いて、主制御CPU600は、状態確認フラグがONに設定されているか否かを確認する処理を行う(ステップS205)。すなわち、主制御CPU600は、ステップS200にて取得した遊技状態を示す特別図柄2変動中フラグが格納されている主制御RAM602のアドレス番地を用いて、そのアドレス番地に格納されている特別図柄2変動中フラグがONに設定されているか否かの確認を行う。
特別図柄2変動中フラグがONに設定されていれば(ステップS205:YES)、オフセット値に対応した判定テーブル2を取得する処理を行う(ステップS206)。すなわち、主制御CPU600は、ステップS200にて取得した図6(c)に示す特別図柄小当たり判定テーブルSDP_TBL(特別図柄2)が格納されている主制御ROM601のアドレス番地を用いて、そのアドレス番地に格納されている特別図柄小当たり判定テーブルSDP_TBL(特別図柄2)の判定値を読み出す処理を行う。その際、主制御CPU600は、当該主制御CPU600内部の2バイトレジスタに、上位バイトに00Hを付加することなく、上記特別図柄小当たり判定テーブルSDP_TBL(特別図柄2)より読み出した判定値をそのままセットする。その後、主制御CPU600は、ステップS207に進む処理を行う。
一方、特別図柄2変動中フラグがONに設定されていなければ(ステップS205:NO)、ステップS207に進む処理を行う。
主制御CPU600は、ステップS207の処理において、上記ステップS203にてセットした乱数値が図6(c)に示す特別図柄小当たり判定テーブルSDP_TBLの下限値以上か否かを判定する(ステップS207)。なお、特別図柄2変動中フラグがONに設定されていなければ、上記ステップS203にてセットした乱数値は、図6(c)に示す特別図柄小当たり判定テーブルSDP_TBL(特別図柄1)の下限値(図示では、20001)以上か否かを判定し、特別図柄2変動中フラグがONに設定されていれば、上記ステップS203にてセットした乱数値は、図6(c)に示す特別図柄小当たり判定テーブルSDP_TBL(特別図柄2)の下限値(図示では、20001)以上か否かを判定する。
上記ステップS203にてセットした乱数値が図6(c)に示す特別図柄小当たり判定テーブルSDP_TBLの下限値以上でなければ(ステップS207:NO)、乱数抽選処理(図14のステップS512)を終了し、図14に示すステップS513の処理に進む。
一方、上記ステップS203にてセットした乱数値が図6(c)に示す特別図柄小当たり判定テーブルSDP_TBLの下限値以上であれば(ステップS207:YES)、主制御CPU600は、上記ステップS203にてセットした乱数値が図6(c)に示す特別図柄小当たり判定テーブルSDP_TBLの上限値以下か否かを判定する(ステップS208)。上記ステップS203にてセットした乱数値が図6(c)に示す特別図柄小当たり判定テーブルSDP_TBLの上限値以下でなければ(ステップS208:NO)、乱数抽選処理(図14のステップS512)を終了し、図14に示すステップS513の処理に進む。
一方、上記ステップS203にてセットした乱数値が図6(c)に示す特別図柄小当たり判定テーブルSDP_TBLの上限値以下であれば(ステップS208:YES)、主制御CPU600は、小当たりであると判定し、上記ステップS200にて取得した特別図柄小当たり判定フラグが格納されている主制御RAM602のアドレス番地を用いて、特別図柄小当たり判定フラグを読み出し、特別図柄小当たり判定フラグをONに設定(5AHを設定)する処理を行う(ステップS209)。そして、主制御CPU600は、その処理が終了した後、乱数抽選処理(図14のステップS512)を終了し、図14に示すステップS513の処理に進む。
しかして、本実施形態によれば、普通図柄、特別図柄の乱数抽選処理を共通化するにあたって、乱数値のデータサイズを同サイズにする処理を行っているため、従来の方法であれば、乱数値のデータサイズが異なっていると共通のプログラムで処理することは困難であったが、本実施形態によれば、例え乱数値のデータサイズが異なっていたとしても、共通のプログラムで処理することが可能となる。また、抽選用テーブルに格納されている情報を読み出すだけであるため、処理が非常に容易となる。
<3.特別図柄変動開始処理>
一方、主制御CPU600は、上述した図14に示すステップS512(乱数抽選処理)の処理を終えた後、図13のステップS403にて取得した特別図柄用乱数値を用いて、停止図柄(特別図柄の停止図柄)を決定する(ステップS513)。
次いで、主制御CPU600は、遊技状態移行準備処理、すなわち、通常状態、時短状態、潜伏確変状態、確変状態のいずれかの移行を決定する(ステップS514)。そして、その処理の後、主制御CPU600は、特別図柄1又は特別図柄2の変動パターンの生成を行う(ステップS515)。なおその際、特別図柄変動タイマに変動時間が設定される。
続いて、主制御CPU600は、特別図柄1が変動していれば特別図柄1変動中フラグをONに設定(5AHを設定)し、特別図柄2が変動していれば特別図柄2変動中フラグをONに設定(5AHを設定)する処理を行う(ステップS516)。
次いで、主制御CPU600は、液晶表示装置41(図2参照)に表示される装飾図柄の装飾図柄指定コマンドを生成し(ステップS517)、その生成した装飾図柄指定コマンドを演出制御基板80(図3参照)に送信する処理を行う(ステップS518)。
次いで、主制御CPU600は、特別図柄動作ステータスフラグに02Hを設定し(ステップS519)、特別図柄変動開始処理の処理を終え、図12のステップS308の処理に移行する。
<特別図柄変動中処理>
次に、特別図柄変動中処理(図12のステップS306)について説明する。
図15に示すように、特別図柄変動中処理は、まず、図14のステップS515にて特別図柄変動タイマに設定された時間が経過したか、すなわち、0になったか否かを確認する(ステップS600)。特別図柄変動タイマが0でなければ(ステップS600:NO)、主制御CPU600は、特別図柄変動中処理を終え、図12に示すステップS308の処理に移行する。
一方、特別図柄変動タイマが0であれば(ステップS600:YES)、主制御CPU600は、変動停止コマンドを演出制御基板80(図3参照)に送信する処理を行う(ステップS601)。そして主制御CPU600は、特別図柄動作ステータスフラグに03Hを設定し、特別図柄1変動中フラグ又は特別図柄2変動中フラグに00Hを設定し、特別図柄1又は特別図柄2の当否抽選結果を一定時間維持させるために、特別図柄変動タイマに例えば約500msの時間が設定される(ステップS602)。その後、主制御CPU600は、特別図柄変動中処理を終え、図12のステップS308の処理に移行する。
<特別図柄確認時間中処理>
次に、特別図柄確認時間中処理(図12のステップS307)について説明する。
図16に示すように、特別図柄確認時間中処理は、まず、図14のステップS515にて特別図柄変動タイマに設定された時間が経過したか、すなわち、0になったか否かを確認する(ステップS700)。特別図柄変動タイマが0でなければ(ステップS700:≠0)、主制御CPU600は、特別図柄確認時間中処理を終え、図12に示すステップS308の処理に移行する。
一方、特別図柄変動タイマが0であれば(ステップS700:=0)、主制御CPU600は、特別図柄動作ステータスフラグに01Hを設定し(ステップS701)、特別図柄大当たり判定フラグがONに設定されているか(5AHが設定されているか)を確認する(ステップS702)。特別図柄大当たり判定フラグがONに設定されていれば(5AHが設定されていれば)(ステップS702:YES)、特別図柄大当たり判定フラグに00Hを設定し、図12のステップS303にて使用する特別図柄大当たり作動フラグに5AHを設定し、そして普通図柄時短フラグに00Hを設定し、普通図柄確変フラグに00Hを設定し、特別図柄時短フラグに00Hを設定し、特別図柄確変フラグに00Hを設定し、後述する特別図柄時短回数カウンタ及び特別図柄確変回数カウンタに00Hを設定する処理を行う(ステップS703)。そしてその処理の後、主制御CPU600は、特別図柄確認時間中処理を終え、図12に示すステップS308の処理に移行する。
他方、特別図柄大当たり判定フラグがONに設定されていなければ(5AHが設定されていなければ)(ステップS702:NO)、主制御CPU600は、特別図柄小当たり判定フラグがONに設定されているか(5AHが設定されているか)を確認する(ステップS704)。特別図柄小当たり判定フラグがONに設定されていれば(5AHが設定されていれば)(ステップS704:YES)、特別図柄小当たり判定フラグに00Hを設定し、図12のステップS302にて使用する特別図柄小当たり作動フラグに5AHを設定し(ステップS705)、特別図柄時短回数カウンタの値が0か否かを確認する(ステップS706)。他方、特別図柄小当たり判定フラグがONに設定されていなければ(5AHが設定されていなければ)(ステップS704:NO)、ステップS705の処理をせず、特別図柄時短回数カウンタの値が0か否かを確認する(ステップS706)。
主制御CPU600は、ステップS706において、特別図柄時短回数カウンタの値が0か否かを確認する際、特別図柄時短回数カウンタの値が0でなければ(ステップS706:NO)、特別図柄時短回数カウンタの値を1減算し(ステップS707)、主制御CPU600は、再度、特別図柄時短回数カウンタの値が0か否かを確認する(ステップS708)。そして、特別図柄時短回数カウンタの値が0であれば(ステップS708:YES)、普通図柄時短フラグに00Hを設定し、普通図柄確変フラグに00Hを設定し、特別図柄時短フラグに00Hを設定し(ステップS709)、主制御CPU600は、ステップS710の処理に進む。
一方、上記ステップ706にて、特別図柄時短回数カウンタの値が0で(ステップS706:YES)、上記ステップ708にて、特別図柄時短回数カウンタの値が0であれば(ステップS708:NO)、主制御CPU600は、ステップS710の処理に進む。
ステップS710の処理において、主制御CPU600は、特別図柄確変回数カウンタの値が0か否かを確認する(ステップS710)。特別図柄確変回数カウンタの値が0であれば(ステップS710:YES)、主制御CPU600は、特別図柄確認時間中処理を終え、図12に示すステップS308の処理に移行する。
一方、特別図柄確変回数カウンタの値が0でなければ(ステップS710:NO)、主制御CPU600は、特別図柄確変回数カウンタの値を1減算し(ステップS711)、再度、特別図柄確変回数カウンタの値が0か否かを確認する(ステップS712)。そして、特別図柄確変回数カウンタの値が0でなければ(ステップS712:NO)、主制御CPU600は、特別図柄確認時間中処理を終え、図12に示すステップS308の処理に移行する。
一方、特別図柄確変回数カウンタの値が0であれば(ステップS712:YES)、主制御CPU600は、普通図柄時短フラグに00Hを設定し、普通図柄確変フラグに00Hを設定し、特別図柄時短フラグに00Hを設定し、特別図柄確変フラグに00Hを設定する処理を行い(ステップS713)、特別図柄確認時間中処理を終え、図12に示すステップS308の処理に移行する。
以上説明した本実施形態によれば、抽選プログラムを共通化することができると共に、プログラムの簡略化及びプログラム容量の削減が可能となる。
なお、本実施形態においては、抽選用テーブルLOT_TBLに、普通図柄の乱数値のデータサイズが1バイト、特別図柄の乱数値のデータサイズが2バイトの情報が格納されている例を示したが、勿論、それに限らず、普通図柄の乱数値のデータサイズが2バイト、特別図柄の乱数値のデータサイズが3バイト等、様々なデータサイズを格納することができる。なおその際、図10に示すステップS201の処理は、そのデータサイズに合せて変化させれば良い。すなわち、例えば、普通図柄の乱数値のデータサイズが2バイト、特別図柄抽選のデータサイズが3バイトであれば、図10に示すステップS201の処理は、乱数値が2バイトか否かを判定することとなる。