以下、本発明の実施形態について詳細に説明する。図1は、本実施形態のパチンコ機GMを示す斜視図である。このパチンコ機GMは、島構造体に着脱可能に装着される矩形枠状の木製外枠1と、外枠1に固着されたヒンジ2を介して開閉可能に枢着される前枠3とで構成されている。この前枠3には、遊技盤5が、裏側からではなく表側から着脱自在に装着され、その前側には、ガラス扉6と前面板7とが夫々開閉自在に枢着されている。
ガラス扉6の外周には、LEDランプなどによる電飾ランプが、略C字状に配置されている。前面板7には発射用の遊技球を貯留する上皿8が装着され、前枠3の下部には、上皿8から溢れ出し又は抜き取った遊技球を貯留する下皿9と、発射ハンドル10とが設けられている。発射ハンドル10は発射モータと連動しており、発射ハンドル10の回動角度に応じて動作する打撃槌によって遊技球が発射される。
上皿8の外周面には、チャンスボタン11が設けられている。このチャンスボタン11は、遊技者の左手で操作できる位置に設けられており、遊技者は、発射ハンドル10から右手を離すことなくチャンスボタン11を操作できる。このチャンスボタン11は、通常時には機能していないが、ゲーム状態がボタンチャンス状態となると内蔵ランプが点灯されて操作可能となる。なお、ボタンチャンス状態は、必要に応じて設けられるゲーム状態である。
上皿8の右部には、カード式球貸し機に対する球貸し操作用の操作パネル12が設けられ、カード残額を3桁の数字で表示する度数表示部と、所定金額分の遊技球の球貸しを指示する球貸しスイッチと、ゲーム終了時にカードの返却を指令する返却スイッチとが設けられている。
図2に示すように、遊技盤5には、金属製の外レールと内レールとからなるガイドレール13が環状に設けられ、その内側の遊技領域5aの略中央には、液晶カラーディスプレイDISPが配置されている。また、遊技領域5aの適所には、上下2つの図柄始動口15A,15Bと、単一の大入賞口16と、左右4つの普通入賞口17と、通過口であるゲート18とが配設されている。これらの入賞口及びゲート15〜18は、それぞれ内部に検出スイッチを有しており、遊技球の通過を検出できるようになっている。なお、図柄始動口15Bを通過した遊技球と、図柄始動口15Aを通過した遊技球は、別々の検出スイッチで検知され、別々の経路を経て遊技機から排出される。
液晶ディスプレイDISPの下部には、7セグメントLEDやドットマトリクスなどで構成される特別図柄表示部SPa,SPbが設けられている。特別図柄表示部は、左右の図柄始動口15A,15Bに対応して2つ設けられており、各図柄始動口15A,15Bに遊技球が入賞することを条件に実行される大当り抽選の抽選結果を明示するための表示部である。各特別図柄表示部SPa,SPbは、対応する図柄始動口15A,15Bに遊技球が入賞すると、表示内容の変動動作を開始し、その後、大当り状態か否かの抽選結果を表示して停止するようになっている。図示のように、特別図柄表示部SPa,SPbが7セグメントLEDで構成されている場合、大当り状態であれば特別図柄(例えば「1」〜「9」)の何れかを表示し、ハズレ状態あれば「−」を表示する。
特別図柄表示部SPa,SPbの下部には、それぞれ4個のLEDランプで構成された2つの抽選保留数表示部14A,14Bが、図柄始動口15A,15Bに対応して設けられている。抽選保留数表示部14A,14Bは、特別図柄表示部SPa,SPbの変動動作中に、図柄始動口15A,15Bに更に遊技球が入賞したことを示しており、4個を限度に遊技球の入賞が記憶され、その後の大当り抽選処理が保留状態となる。
本実施形態の場合、液晶ディスプレイDISPは、特別図柄表示部として機能するのではなく、演出図柄を変動表示する演出図柄表示部として機能している。そして、特別図柄表示部SPa又は特別図柄表示部SPbと同期した演出動作を実行している。具体的には、大当り状態に係わる演出図柄(簡易的には、特別図柄と同じ「1」〜「9」)を変動表示すると共に、背景画像や各種のキャラクタなどをアニメーション的に表示している。
液晶ディスプレイDISPの右上部には、普通図柄表示部19が設けられている。普通図柄表示部19は普通図柄を表示するものであり、ゲート18を通過した遊技球が検出されると、表示される普通図柄が所定時間だけ変動し、遊技球のゲート18の通過時点において抽出された抽選用乱数値により決定される停止図柄を表示して停止するようになっている。なお、普通図柄の変動動作中に、遊技球がゲート18を通過した場合には、4個を上限として変動動作の開始が保留される。
大入賞口16は、例えば前方に開放可能な開閉板16aで開閉制御されるが、特別図柄表示部SPa,SPbと演出図柄表示部DISPの停止図柄が「7」及び「7・7・7」などの特別図柄のとき、「大当り」と称される特別遊技が開始され、開閉板16aが開放されるようになっている。
大入賞口16の開閉板16aが開放された後、所定時間が経過し、又は所定数(例えば10個)の遊技球が入賞すると開閉板16aが閉じる。このような動作は、最大で例えば15回まで特別遊技が継続され、遊技者に有利な状態に制御される。なお、特別図柄表示部の変動後の停止図柄が特別図柄のうちの特定図柄であった場合には、確変大当り状態となり、特別遊技の終了後のゲームが高確率状態となるという特典が付与される。
図3は、上記した各動作を実現するパチンコ機GMの全体回路構成を示すブロック図である。図中の一点破線は、主に、直流電圧ラインを示している。図3に示す通り、このパチンコ機GMは、AC24Vを受けて各種の直流電圧やシステムリセット信号(電源リセット信号)SYSなどを出力する電源基板20と、遊技制御動作を中心統括的に担う主制御基板21と、主制御基板21から受けた制御コマンドCMDに基づいてランプ演出及び音声演出を実行する演出制御基板22と、演出制御基板22から受けた制御コマンドCMD’に基づいて液晶ディスプレイDISPを駆動する液晶制御基板23と、主制御基板21から受けた制御コマンドCMD”に基づいて払出モータMを制御して遊技球を払い出す払出制御基板24と、遊技者の操作に応答して遊技球を発射させる発射制御基板25と、を中心に構成されている。
但し、この実施形態では、主制御基板21が出力する制御コマンドCMDは、コマンド中継基板26と演出インターフェイス基板27を経由して、演出制御基板22に伝送される。また、演出制御基板22が出力する制御コマンドCMD’は、演出インターフェイス基板27を経由して、液晶制御基板23に伝送され、主制御基板21が出力する制御コマンドCMD”は、主基板中継基板28を経由して、払出制御基板24に伝送される。
これら主制御基板21、演出制御基板22、液晶制御基板23、及び払出制御基板24には、ワンチップマイコンを備えるコンピュータ回路がそれぞれ搭載されている。そこで、これらの制御基板21〜24に搭載された回路、及びその回路によって実現される動作を機能的に総称して、本明細書では、主制御部21、演出制御部22、液晶制御部23、及び払出制御部24と言うことがある。なお、演出制御部22、液晶制御部23、及び払出制御部24の全部又は一部がサブ制御部である。
ところで、このパチンコ機GMは、図3の破線で囲む枠側部材GM1と、遊技盤5の背面に固定された盤側部材GM2とに大別されている。枠側部材GM1には、ガラス扉6や前面板7が枢着された前枠3と、その外側の木製外枠1とが含まれており、機種の変更に拘わらず、長期間にわたって遊技ホールに固定的に設置される。一方、盤側部材GM2は、機種変更に対応して交換され、新た盤側部材GM2が、元の盤側部材の代わりに枠側部材GM1に取り付けられる。なお、枠側部材1を除く全てが、盤側部材GM2である。
図3の破線枠に示す通り、枠側部材GM1には、電源基板20と、払出制御基板24と、発射制御基板25と、枠中継基板32とが含まれており、これらの回路基板が、前枠3の適所に各々固定されている。一方、遊技盤5の背面には、主制御基板21、演出制御基板22、液晶制御基板23が、液晶ディスプレイDISPやその他の回路基板と共に固定されている。
そして、枠側部材GM1と盤側部材GM2とは、一箇所に集中配置された接続コネクタC1〜C4によって電気的に接続されている。接続コネクタC1〜C4は、この実施形態では、遊技盤5の背面視左下に集中配置されている。そして、ガラス扉6を開放した状態で、前枠3の表側から、遊技盤5の左端を前枠3に係止して回転支点を確保し、確保した回転支点を中心に遊技盤5を回転させることで、前枠3の内側に遊技盤5を嵌合させる。なお、遊技盤5を嵌合させると、全ての接続コネクタC1〜C4が接続状態となり、それだけで枠側部材GM1と盤側部材GM2の接続が完了し、パチンコ機GMが動作可能な状態となる。
図3に示す通り、電源基板20は、接続コネクタC2を通して、主基板中継基板28に接続され、接続コネクタC3を通して、電源中継基板30に接続されている。そして、主基板中継基板28は、電源基板20から受けたシステムリセット信号SYS、RAMクリア信号DEL、電圧降下信号DWN、バックアップ電源BU、DC12V、DC32Vを、そのまま主制御部21に出力している。同様に、電源中継基板30も、電源基板20から受けたシステムリセット信号SYSや、交流及び直流の電源電圧を、そのまま演出インターフェイス基板27に出力している。なお、演出インターフェイス基板27は、受けたシステムリセット信号SYSを、そのまま演出制御部22と液晶制御部23に出力している。
一方、払出制御基板24は、中継基板を介することなく、電源基板20に直結されており、主制御部21が受けると同様の、システムリセット信号SYS、RAMクリア信号DEL、電圧降下信号DWN、バックアップ電源BUを、その他の電源電圧と共に直接的に受けている。
ここで、電源基板20が出力するシステムリセット信号SYSは、電源基板20に交流電源24Vが投入されたことを示す電源リセット信号であり、この電源リセット信号によって各制御部21〜24のワンチップマイコンその他のIC素子が電源リセットされるようになっている。
主制御部21及び払出制御部24が、電源基板20から受けるRAMクリア信号DELは、各制御部21,24のワンチップマイコンの内蔵RAMの全領域を初期設定するか否かを決定する信号であって、係員が操作する初期化スイッチSWのON/OFF状態に対応した値を有している。初期化スイッチSWをON操作すると、RAMクリア信号DELがLレベルとなり、初期化スイッチSWから手を離すと、RAMクリア信号DELがHレベルに戻る。
主制御部21及び払出制御部24が、電源基板20から受ける電圧降下信号DWNは、交流電源24Vが降下し始めたことを示す信号であり、この電圧降下信号DWNを受けることによって、各制御部21、24では、停電や営業終了に先立って、必要な終了処理を開始するようになっている。また、バックアップ電源BUは、営業終了や停電により交流電源24Vが遮断された後も、主制御部21と払出制御部24のワンチップマイコンの内蔵RAMのデータを保持するDC5Vの直流電源である。したがって、主制御部21と払出制御部25は、電源遮断前の遊技動作を電源投入後に再開できることになる(電源バックアップ機能)。このパチンコ機では少なくとも数日は、各ワンチップマイコンのRAMの記憶内容が保持されるよう設計されている。
一方、演出制御部22と液晶制御部23には、上記した電源バックアップ機能が設けられていない。しかし、先に説明した通り、演出制御部22と液晶制御部23には、電源中継基板30と演出インターフェイス基板27を経由して、システムリセット信号SYSが共通して供給されており、他の制御部21,24と、ほぼ同期したタイミングで電源リセット動作が実現される。
主制御部21は、払出制御部25に対して、制御コマンドCMD”を伝送している。一方、払出制御部25は、主制御部25に対して、遊技球の払出動作を示す賞球計数信号や、払出動作の異常に係わるステイタス信号CONが伝送している。ステイタス信号CONには、例えば、補給切れ信号、払出不足エラー信号、下皿満杯信号が含まれる。
また、主制御部21は、遊技盤中継基板29を経由して、遊技盤5の各遊技部品に接続されている。そして、遊技盤上の各入賞口16〜18に内蔵された検出スイッチのスイッチ信号を受ける一方、電動チューリップなどのソレノイド類を駆動している。スイッチ信号には、図柄始動口15A,15Bから主制御部21に伝送される入賞スイッチ信号SWa,SWbと、ゲート18から主制御部21に伝送されるゲート信号SWgとが含まれる。図4に示す通り、図柄始動口15やゲート18の検出スイッチには、直流電圧12Vが供給されるが、遊技球の通過を検出して得られるスイッチ信号は、バッファ回路BUFを経由することでTTL(Transistor transistor logic)レベルのスイッチ信号となる。
図5は、主制御部21の回路構成の一部を詳細に示す回路図である。主制御部21は、ワンチップマイコン40と、2つの発振回路OSC1,OSC2と、発振回路OSC2の発振異常を検出する異常検出回路41と、電源基板20からの制御信号DEL,DWNを受ける入力回路INPなどを有して構成されている。発振回路OSC1は、ワンチップマイコン40のシステムクロックΦ1を生成し、発振回路OSC2は、乱数生成用の計数クロックΦ2を生成している。
異常検出回路41は、計数クロックΦ2を受けるカウンタCNTと、カウンタCNTでN分周された計数クロックΦ2’を、微分コンデンサを経由してWD端子に受けるウォッチドッグタイマWDTとで構成されている。ウォッチドッグタイマWDTは、ここでは、TA8030Sが使用されており、計数クロックΦ2’が途絶えると、RST1出力端子から負の異常パルスが出力されるよう構成されている。なお、計数クロックΦ2’が途絶えない限り、RST1出力端子はHレベルである。また、異常パルスのパルス幅は、外付けコンデンサの値で決まるが、ここでは、25mS程度に設計されている。
ワンチップマイコン40には、CPUコア42、ROM43、RAM44、入力ポートIN1,IN2の他に、タイマ回路45と、乱数生成回路46と、割込みコントローラ47とが内蔵されている。入力ポートIN1は、異常検出回路41が出力する異常パルスを受けており、入力ポートIN2は、入力回路INPを経由して、電源基板20からの制御信号DEL,DWNを受けている。また、RAM44には、電源基板20からバックアップ電源BUが供給されている。
タイマ回路45は、システムクロックΦ1を受けて、カウント動作を実行し、予め設定されて上限値に達すると、CPUコアに対するタイマ割込み要求を出すよう構成されている。この割込み要求は、割込みコントローラ47に伝えられ、優先順位の制御を経て上で、CPUコア42の割込み端子INTに、割込み信号が供給されてタイマ割込み処理を起動させる。この実施形態では、このタイマ割込みの割込み要求が2mS毎に発生するよう設定されている。
乱数生成回路46は、発振回路OSC2から計数クロックΦ2を受けて計数動作を実行する複数個の乱数カウンタRNDと、入賞スイッチ信号SWa,SWbやゲートスイッチ信号SWgを受けると、その瞬間の乱数カウンタ値を記憶するラッチ回路LTHa〜LTHcとを有して構成されている。なお、入賞スイッチ信号SWa,SWbに対する乱数カウンタRNDと、ゲートスイッチ信号SWgに対する乱数カウンタRNDとは、計数動作によって循環する数値範囲が相違している。また、各乱数カウンタとも、計数動作の初期値を、各ICに固有のシリアル番号などのランダムな値に設定できる他、計数範囲を一巡する毎に、その後の初期値をランダムに変更できるようになっている。
そして、ラッチ回路LTHa〜LTHcの何れかが、乱数カウンタ値を記憶すると、割込みコントローラ47に、割込み要求が出力される。この割込み要求は、割込みコントローラ47において優先順位の制御が実行された上で、CPUコア42の割込み端子INTに、割込み信号が供給されて乱数取得割込み処理を起動させる。
この割込み要求の優先順位は適宜に設定されるが、この実施形態では、乱数取得のための割込み要求を、タイマ割込み要求より高く設定しているので、同時に割込み要求が生じた場合には、乱数取得の割込み要求が優先される。そして、この優先順位に対応して、タイマ割込み動作中でも、乱数取得の割込みを受け付けるよう構成している(図7のST20参照)。更に、この実施形態では、電源降下の異常時にもNMIを使用せず、電源基板20から電圧降下信号DWNを受けた場合には、これを、タイマ割込み処理において処理している。
したがって、以上の意味において、乱数取得の割込み要求が最優先されることになり、入賞状態を読み落とす可能性が、事実上ゼロとなる。このように、本実施形態では、乱数取得の割込み要求が最優先されるので、タイマ割込み要求が若干待たされる可能性もあるが、後述するように、乱数取得の割込み処理は、短時間で終了するので、何ら弊害は生じない。
続いて、遊技動作を統括的に制御する主制御部21のプログラムの概要を説明する。図6は、主制御部21の制御プログラムを示すフローチャートである。主制御部21の制御プログラムは、電源電圧の復旧や投入に基づいて起動されるシステムリセット処理(図6)と、タイマ割込みにより2mS毎に起動されるマスク可能なタイマ割込み処理(図7(a))と、乱数取得の割込み処理(図8)とで構成されている。なお、これらの処理を実現するワンチップマイコン40には、Z80CPU(Zilog社)相当品が内蔵されている。また、ワンチップマイコン40には、不図示のウォッチドッグタイマも内蔵されており、これに対する定期的なクリア処理が途絶えるとCPUが強制的にリセットされるよう構成されている。
以下、図6を参照しつつ、システムリセット処理プログラム(メイン処理)について説明する。メイン処理が開始されるのは、停電状態からの復旧時のように初期化スイッチSWがOFF状態で電源がON状態になる場合と、遊技ホールの開店時のように、初期化スイッチSWがON操作されて電源がON状態になる場合とがある。なお、制御プログラムが暴走したことにより、ウォッチドッグタイマが起動してCPUが強制的にリセットされる場合もある。
何れの場合でも、Z80CPUは、最初に自らを割込み禁止状態に設定すると共に(ST1)、割込みモード2に設定する(ST2)。また、CPU内部のスタックポインタSPの値を、スタック領域の最終アドレスに初期設定すると共に(ST3)、ワンチップマイコンの各部を含めて内部レジスタの値を初期設定する(ST4)。
次に、入力ポートIN2からRAMクリア信号DELを取得する(ST5)。先に説明した通り、RAMクリア信号DELとは、ワンチップマイコン40の内蔵RAM44の全領域を初期設定するか否かを決定する信号であって、係員が操作する初期化スイッチSWのON/OFF状態に対応した値を有している。
そこで、RAMクリア信号のレベルが判定される(ST6)。ここでは、RAMクリア信号がON状態(Lレベル)であったと仮定すると、ステップST6の判定に続いて、内蔵RAMの全領域がゼロクリアされる(ST10)。したがって、図7(b)のステップST38の処理でセットされたバックアップフラグBFLの値は、他のチェックサム値などと共にゼロとなる。
次に、RAM領域がゼロクリアされたことを報知するための電源投入コマンドが出力され(ST11)、タイマ割込み動作(図7(a))を起動する割込み信号INTを出力するタイマ回路45を初期設定する(ST12)。そして、CPUを割込み禁止状態にセットした状態で(ST13)、各種のカウンタついて更新処理を実行し(ST14)、その後、CPUを割込み許可状態に戻してステップST13に戻る。なお、ステップST14で更新されるカウンタには、変動パターン決定用カウンタが含まれているが、この変動パターン決定用カウンタは、図7(a)の特別図柄処理(ST27)における大当り抽選処理の結果や遊技状態(低確率状態、高確率状態、保留個数等)に応じて、どのような演出態様とするかを決定する為のカウンタである。
さて、ステップST6の判定処理に戻って説明すると、停電状態からの復旧時には、RAMクリア信号はOFF状態(Hレベル)である。そして、このような場合には、ステップST6の判定に続いて、バックアップフラグBFLの内容が判定される(ST7)。バックアップフラグBFLとは、図7(b)の電源監視処理の動作が実行されたことを示すデータであり、この実施形態では、電源遮断時のステップST38の処理でバックアップフラグBFLが5AHとされ、電源復帰後のステップST33の処理でゼロクリアされる。
電源投入時や、停電状態からの復旧時である場合には、バックアップフラグBFLの内容が5AHの筈である。但し、何らかの理由でプログラムが暴走状態となり、ウォッチドッグタイマによるCPUリセット動作が生じたような場合には、バックアップフラグBFL=00Hである。したがって、BFL≠5AH(通常はBFL=00H)となる場合には、ステップST7からステップST10の処理に移行させて遊技機の動作を初期状態に戻す。
一方、バックアップフラグBFL=5AHであれば、チェックサム値を算出するためのチェックサム演算を実行する(ST8)。ここで、チェックサム演算とは、内蔵RAMのワーク領域を対象とする8ビット加算演算である。そして、チェックサム値が算出されたら、この演算結果を、RAMのSUM番地の記憶値と比較をする(ST9)。
SUM番地には、電圧降下時に実行される電源監視処理(図7(b))において、同じチェックサム演算によるチェックサム値が記憶されている(ST39)。そして、記憶された演算結果は、内蔵RAMの他のデータと共に、バックアップ電源によって維持されている。したがって、本来は、ステップST9の判定によって両者が一致する筈である。
しかし、電源降下時にチェックサム演算(ST39)の実行できなかった場合や、実行できても、その後、メイン処理のチェックサム演算(ST8)の実行時までの間に、ワーク領域のデータが破損している場合もあり、このような場合にはステップST9の判定結果は不一致となる。判定結果の不一致によりデータ破損が検出された場合には、ステップST10の処理に移行させてRAMクリア処理を実行し、遊技機の動作を初期状態に戻す。一方、ステップST9の判定において、チェックサム演算(ST8)によるチェックサム値と、SUM番地の記憶値とが一致する場合には、ステップST12の処理に移行する。
続いて、上記したメイン処理を中断させて、2mS毎に開始されるタイマ割込み処理プログラム(図7(a))を説明する。なお、本実施形態では、乱数生成回路46を内蔵したワンチップマイコン40を使用するので、普通図柄処理(ST26)や特別図柄処理(ST27)で使用する乱数カウンタが、タイマ割込み処理においてソフトウェア的に更新されることはない。
タイマ割込みが生じると、最初にCPUが割込み許可状態とされる(ST20)。これは、本実施形態では、タイマ割込みより、乱数取得の割込みを優先するためであり、タイマ割込み処理を中断してでも、図柄始動口15A,15Bの入賞状態を記憶し乱数値を取得するためである。
ステップST20の処理が終われば、次に、CPUのレジスタを保存することなく、直ちに電源監視処理が実行される(ST21)。これは、タイマ割込み処理が起動されるタイミングが、ステップST15の直後に固定されているため、レジスタを保存する必要がないからである。
電源監視処理(ST21)では、電源基板20から供給されている電圧降下信号DWNのレベルを判定するが、具体的な処理内容については後述する。電源監視処理(ST21)が終わると、各遊技動作の時間を管理しているタイマについて、タイマ減算処理が行なわれる(ST22)。ここで減算されるタイマは、主として、電動チューリップや大入賞口の開放時間やその他の遊技演出時間を管理するために使用される。
続いて、大入賞口16の入賞検出スイッチを含む各種スイッチ類のON/OFF信号が入力され、ワークエリアの入賞スイッチデータDT(図8)として、該当ビットにON/OFF信号が記憶される(ST23)。但し、図柄始動口15A,15Bやゲート18からのスイッチ信号は、図8の乱数取得の割込み処理で記憶されているので、ステップST23の処理で取得されることはない。
スイッチ入力処理(ST23)が終われば、次に、エラー管理処理が行われる(ST24)。エラー管理処理は、遊技球の補給が停止したり、遊技球が詰まっていないかなど、機器内部に異常が生じていないかの判定を含んでいる。また、このエラー管理処理(ST24)では、入力ポートIN1のデータに基づいて、ウォッチドッグタイマWDT(図5)のRST1端子のレベルが判定される。
先に説明した通り、発振回路OSC2の発振が停止したり、カウンタCNTの故障によって、計数クロックΦ2’が途絶えると、RST1出力端子から、パルス幅25mS程度の負の異常パルスが出力される。したがって、もし発振回路OSC2などの動作に異常が認められたら、異常報知処理を含むエラー処理が起動される。本実施形態では、大当り判定用の乱数値や、当り判定用の乱数値が、乱数生成回路46で生成されるので、発振回路OSC2の動作が停止したような場合には、遊技動作中であっても、直ちに適切な対応が採れるよう、2mS毎にウォッチドッグタイマWDTの出力を監視しているのである(ST24)。
次に、払出制御部24から受けた賞球計数信号に基づく管理処理を実行した後(ST25)、普通図柄処理を行う(ST26)。普通図柄処理とは、電動チューリップなど、普通電動役物を作動させるか否かの判定を意味する。具体的には、入賞スイッチデータDTに基づき、乱数取得割込み処理(図8)によって遊技球がゲートを通過したと判定されている場合に、取得されている当り用カウンタRG(=RNDg)を、当り当選値と対比して行われる。そして、対比結果が当選状態であれば当り中の動作モードに変更する。また、当り中となれば、電動チューリップなど、普通電動役物の作動に向けた処理を行う。
続いて、特別図柄処理を行う(ST27)。特別図柄処理とは、大入賞口16など特別電動役物を作動させるか否かの判定である。入賞スイッチデータDTに基づき、乱数取得の割込み処理(図8)によって遊技球が図柄始動口15A,15Bを通過したと判定されている場合に、取得されている大当り用カウンタRG(RNDa,RNDb)を、大当り当選値と対比して大当り抽選処理を実行する。そして、抽選結果が当選状態であれば大当り中の動作モードに変更する。また、大当り中となれば、大入賞口など種特別電動役物の作動に向けた処理を行う。
このような特別図柄処理(ST27)の後、主制御部21で管理するLEDについて点灯動作を進行させると共に(ST28)、電動チューリップや大入賞口などの開閉動作を実現するソレノイド駆動処理を実行して、タイマ割込みを終える(ST29)。その結果、割込み処理ルーチンからメイン処理の無限ループ処理(図6)に戻り、ステップST13の処理が実行される。
続いて、図7(b)に示す電源監視処理(ST21)について念のため説明する。電源監視処理(ST21)では、先ず、電源基板20から供給される電圧降下信号DWNを、入力ポートIN2を通して取得し(ST31)、それが異常レベルでないか判定する(ST32)。そして、異常レベルでない場合には、異常回数カウンタとバックアップフラグBFLをゼロクリアして処理を終える(ST33)。
一方、電圧降下信号DWNが異常レベルである場合には、異常回数カウンタをインクリメント(+1)して(ST34)、計数結果が上限値MAXを超えていないかを判定する(ST35)。これは、入力ポートからの取得データが、ノイズなどの影響でビット化けしている可能性があることを考慮したものであり、所定回数(例えば、上限値MAX=2)連続して異常レベルを維持する場合には、交流電源が現に遮断されたと判定する。
このように、本実施形態では、電源遮断時にも、直ぐには以降のバックアップ処理を開始せず、動作開始のタイミングが、MAX×2mSだけ遅れる。また、乱数取得割込みの処理時間だけ遅れるおそれもある。
しかし、(1)電源降下信号DWNは、直流電源電圧の降下ではなく、交流直流電圧の降下を検出すること、(2)直流電源電圧は、大容量のコンデンサによって交流電源の遮断後もしばらくは維持されること、(3)電源監視処理が高速度(2mS毎)で繰り返されること、(4)乱数取得の割込みの処理がシンプルであり素早く完了すること、(5)バックアップ処理もシンプルであり、迅速に終わることから、実質的には何の弊害もない。
ところで、ステップST35の判定の結果、異常回数カウンタの計数値が上限値MAXに一致した場合には、異常回数カウンタをゼロクリアした後(ST36)、CPUを割込み禁止状態にする(ST37)。これは、このタイミングまで、CPUが、割込み許可状態であるので(ST20参照)、乱数取得の割込み要求を受け付けることを意味する。したがって、図柄始動口への入賞状態は、電源遮断の最終段階まで、チェックされることになり、チェックされた入賞状態や、取得された乱数値は、ワンチップマイコン40の内蔵RAM44に記憶されるので、電源遮断後もバックアップ電源BUによって維持される。
以上の処理が終われば、その後は割込み処理が生じないので、バックアップフラグBFLに5AHを設定し(ST38)、メインルーチンのステップST8の場合と、全く同じ演算を、全く同じ作業領域(ワークエリア)に対して実行し、その演算結果を記憶する(ST39)。なお、実行される演算は、典型的には8ビット加算演算である。
そして、その後はワンチップマイコン40をRAMアクセス禁止状態に設定すると共に(ST40)、全ての出力ポートの出力データをクリアする(ST41)。その結果、同種の電源監視処理を主制御部21より遅れて開始する払出制御部24に対して、不合理なデータが送信させることが防止される。そして、その後は、無限ループ処理を繰り返しつつ直流電源電圧が降下するのを待つ(ST41)。
続いて、図8に基づいて、乱数取得の割込み処理を説明する。乱数取得の割込み要求は、図柄始動口15A,15Bかゲート18に遊技球が通過して、該当するラッチ回路LTHa〜LTHcに乱数値が記憶された段階で発生する。なお、タイマ割込みの割込み要求が同時に発生した場合には、乱数取得の割込み要求の方が優先されるのは先に説明した通りである。
乱数取得の割込み処理では、最初にレジスタ群がスタック領域に保存される(ST50)。これは、乱数取得の割込み処理が、タイマ割込み処理を中断してでも開始されるためである。なお、保存されるレジスタ群には、Z80CPUのAFレジスタ、BCレジスタ、DEレジスタ、HLレジスタが含まれている。
次に、乱数生成回路46の該当レジスタ(乱数ラッチレジスタ)をアクセスして、その内容をワークエリアの該当領域BUFに記憶する。そして、乱数ラッチレジスタのビット内容を判定することで、今回の割込み要求が、図柄始動口15Aへの遊技球通過に基づくものか否かが判定される(ST51)。
そして、図柄始動口15Aへの遊技球通過に基づく割込み要求であると判定される場合には、乱数生成回路46の該当レジスタ(乱数値レジスタA)から乱数値RNDaを読み出して、RAMのワークエリアの該当領域に記憶する。また、ワークエリアの入賞スイッチデータDTのビット0を1にセットする(ST52)。
次に、ワークエリアのBUF番地に格納された(乱数生成回路46の)乱数ラッチレジスタのビット内容を判定することで、今回の割込み要求が、図柄始動口15Bへの遊技球通過に基づくものか否かが判定される(ST53)。なお、極めて稀には、図柄始動口15Aと図柄始動口15Bに、同時に遊技球が入賞することも有り得るが、ステップST53の処理を設けているので、そのような場合にも、図柄始動口15Bへの遊技球通過を見逃すことがない。
すなわち、図柄始動口15Bへの遊技球通過に基づく割込み要求であると判定される場合には、乱数生成回路46の該当レジスタ(乱数値レジスタB)から乱数値RNDbを読み出して、RAMのワークエリアの該当領域に記憶する。また、ワークエリアの入賞スイッチデータDTのビット1を1にセットする(ST54)。
以下同様であり、ワークエリアのBUF番地の内容に基づいて、今回の割込み要求が、ゲート18への遊技球通過に基づくものかであると判定される場合には(ST55がYES)、乱数生成回路46の該当レジスタ(乱数値レジスタC)から乱数値RNDcを読み出して、RAMのワークエリアの該当領域に記憶すると共に、ワークエリアの入賞スイッチデータDTのビット2を1にセットする(ST56)。
以上の処理が終われば、スタック領域に保存しておいたデータ群を、元のレジスタ群に書き戻し(ST57)、CPUを割込み許可状態にして割込み処理を終える(ST58)。
以上のように、本実施形態では、遊技球の入賞状態が、最優先でRAMのワークエリアに記憶され、その記憶内容が電源遮断後も維持されるので、停電などが生じても遊技者に不利益を与えることがない。また、専用の乱数生成回路46を設け、乱数生成回路のハードウェア動作で乱数値を取り込むので、図柄始動口が幾ら増加しても、入賞状態の読み落しなどの問題が生じない。
以上、ここでは、NMI(non maskable interrupt)を使用しない実施形態について説明したが、電源電圧の降下時や、発振回路OSC2の異常時には、マスク不能の割込みをかける構成を採っても良い。
但し、この場合には、図柄始動口15Aへの入賞状態と、図柄始動口15Bへの入賞状態を等価値に設定するのではなく、乱数取得の割込み処理(図8)で最初にチェックされる図柄始動口15Aへの入賞状態を、相対的に高価値に設定するべきである。なお、このような構成は、最初の実施形態においても有効である。
具体的な手法としては、図柄始動口15Aに入賞した方が、図柄始動口15Bに入賞した場合より、遊技者が得る平均利益が高くなるよう適宜に設定される。例えば、(1)確変大当りの当選確率を、図柄始動口15Aへの入賞時の方を高く設定する、(2)大当りゲーム中の大入賞口の開放回数が少ない大当り状態への当選確率を低下させる一方、大入賞口の開放回数が多い大当り状態への当選確率を上昇させる、(3)図9に示すように、図柄始動口15Aへ入賞すると、賞球がほぼ望めない「2R大当り」が発生しない、などの手法が選択される。いずれの場合も、図柄始動口15Aに入賞した方が、図柄始動口15Bに入賞した場合より、遊技者が得る平均利益が高い。
なお、図9は、大当り抽選に当選した場合における振分け割合を図示したものであり、もし、図柄始動口15Bに入賞して大当り抽選に当選しても、20%の割合で「2R大当り」の状態となり、大入賞口が0.3秒しか開放されないので、事実上、賞球が望めない不利な大当り状態となる。
また、平均利益が高いものの他に、図柄始動口15Aに入賞した方が図柄始動口15Bに入賞した場合より、特定演出の行われる可能性が高いものにも適用可能である。特定演出とは、出現頻度の低い演出やその始動口に入賞した場合にのみ出現する特有の演出などである。これにより、演出面における演出価値の高い方の入賞が最大限尊重されることになる。
このような構成の場合、図柄始動口への入賞時に、マスク可能な最優先の乱数取得割込みが発生し、しかも、その割込み処理では、先ず、図柄始動口15Aへの入賞がチェックされるので(ST51)、マスク不能の割込みを使用する場合でも、遊技者の利益は最大限尊重される。すなわち、図柄始動口15Bへの入賞状態からチェックすると、入賞状態でない図柄始動口15Bのチェック時間だけ、入賞状態である図柄始動口15Aのチェックが遅れ、電源遮断時などに、図柄始動口15Aへの入賞状態を読み落とすおそれがある。
以上、本発明の2つの実施形態について詳細に説明したが、具体的な説明は特に本発明を限定する趣旨ではなく、本発明の趣旨を逸脱することなく各種の改変が可能である。例えば、実施例は弾球遊技機について説明したが、スロットマシンにも本発明を好適に適用することができる。