以下、本発明の好ましい実施例について、添付図面を参照して説明する。本実施例では、遊技機の一例として弾球遊技機の一種であるパチンコ機、特に、第1種パチンコ遊技機を用いて説明する。なお、本発明を第3種パチンコ遊技機や他の遊技機に用いることは、当然に可能である。
図1は、本実施例のパチンコ機Pの遊技盤の正面図である。遊技盤1の周囲には、球が入賞することにより5個から15個の球が払い出される複数の入賞口2が設けられている。また、遊技盤1の中央には、複数種類の識別情報としての図柄(特別図柄)などを表示する液晶ディスプレイ(以下単に「LCD」と略す)3が設けられている。このLCD3の表示画面は縦方向に3分割されており、3分割された各表示領域において、それぞれ上から下へ上下方向にスクロールしながら図柄の変動表示が行われる。
LCD3の上方には、表面に「○」と「×」との普通図柄が表示された2つのLED6a,6bで構成された普通図柄表示装置6が配設されている。この普通図柄表示装置6では、遊技領域に打ち込まれた球がLCD3の両側に配設されたゲート7を通過した場合に、「○」と「×」とのLED6a,6bを交互に点灯させる変動表示が行われる。かかる変動表示が「○」のLED6aで終了した場合には、当たりとなって普通電動役物4が所定時間(例えば0.5秒)開放される。
また、LCD3の下方には、図柄作動口(第1種始動口、普通電動役物)4が設けられており、球がこの図柄作動口4へ入賞することにより、前記したLCD3の変動表示が開始される。図柄作動口4の下方には、特定入賞口(大入賞口)5が設けられている。この特定入賞口5は、LCD3の変動後の表示結果が予め定められた図柄の組み合わせの1つと一致する場合に、大当たりとなって、球が入賞しやすいように所定時間(例えば、30秒経過するまで、或いは、球が10個入賞するまで)開放される入賞口である。
この特定入賞口5内には、Vゾーン5aが設けられており、特定入賞口5の開放中に、球がVゾーン5a内を通過すると、継続権が成立して、特定入賞口5の閉鎖後、再度、その特定入賞口5が所定時間(又は、特定入賞口5に球が所定個数入賞するまで)開放される。この特定入賞口5の開閉動作は、最高で16回(16ラウンド)繰り返し可能にされており、開閉動作の行われ得る状態が、いわゆる所定の遊技価値が付与された状態(特別遊技状態)である。
なお、第3種パチンコ遊技機において所定の遊技価値が付与された状態(特別遊技状態)とは、LCD3の変動後の表示結果が予め定められた図柄の組み合わせの1つと一致する場合に、特定入賞口が所定時間開放されることをいう。この特定入賞口の開放中に、球がその特定入賞口内へ入賞すると、特定入賞口とは別に設けられた大入賞口が所定時間、所定回数開放される。
図2は、かかるパチンコ機Pの電気的構成を示したブロック図である。パチンコ機Pの主制御基板Cには、演算装置である1チップマイコンとしてのMPU21が搭載されている。このMPU21には、MPU21により実行される各種の制御プログラムや固定値データを記憶したROM22と、そのROM22内に記憶される制御プログラムの実行に当たって各種のデータ等を一時的に記憶するためのメモリであるRAM23と、割込回路やタイマ回路、データ送受信回路などの各種回路が内蔵されている。図3から図5に示すフローチャートのプログラムは、制御プログラムの一部としてROM22内に記憶されている。
RAM23には、パチンコ機Pの電源のオフ後においても、後述する電源基板50からバックアップ電圧が供給されて、パチンコ機Pの電源のオフ後もデータを保持(バックアップ)できるように構成されている。このRAM23は、各種のデータ等を一時的に記憶するためのメモリやエリアの他に、バックアップエリア23aを備えている。バックアップエリア23aは、停電などの発生により電源が切断された場合、電源の再入時に、パチンコ機Pの状態を電源切断前の状態に復帰させるため、電源切断時(停電発生時を含む。以下、同様)のスタックポインタや、各レジスタ、I/O等の値を記憶しておくためのエリアである。バックアップエリア23aへの書き込みは、INT割込処理(図3参照)によって電源切断時に実行され、逆にバックアップエリア23aに書き込まれた各値の復帰は、電源入時(停電解消による電源入を含む。以下、同様)のメイン処理(図4参照)において実行される。なお、MPU21のINT端子(外部割込端子)には、停電等の発生による電源断時に、後述する停電監視回路50bから出力される停電信号51が入力されるように構成されており、停電の発生により、図3の停電時処理(INT割込処理)が割込許可のタイミングで実行される。INT割込が実行されると、割込禁止命令を実行することなく、MPU21によって強制的に割込禁止の状態となる。
かかるROM22およびRAM23を内蔵したMPU21は入出力ポート25と接続されており、入出力ポート25は、電源基板50に設けられたクリアスイッチ50cと、払出用モータ26によって賞球や貸球の払出制御を行う払出制御基板Hと、前述した特別図柄及び普通図柄の変動表示の制御を行う表示用制御基板Dと、スピーカ27から効果音の出力制御を行うと共にLEDや各種ランプ28の点灯制御を行う音声ランプ制御基板Sと、そのほか他の入出力装置29とにそれぞれ接続されている。なお、払出制御基板HのRAM(図示せず)には、パチンコ機Pの電源のオフ後においても、電源基板50からバックアップ電圧が供給されて、パチンコ機Pの電源のオフ後もデータを保持(バックアップ)できるように構成されている。
電源基板50は、パチンコ機Pの各部に電力を供給するための電源部50aと、停電監視回路50bと、クリアスイッチ50cとを備えている。停電監視回路50bは、停電等の発生による電源断時に、主制御基板CのMPU21のINT端子および払出制御基板HのMPUのINT端子へ停電信号51を出力するための回路である。停電監視回路50bは、電源部50aから出力される最も大きい電圧である直流安定24ボルトの電圧を監視し、この電圧が22ボルト未満になった場合に停電(電源断)の発生と判断して、停電信号51を主制御基板C及び払出制御基板Hへ出力するように構成されている。この停電信号51の出力によって、主制御基板C及び払出制御基板Hは、停電の発生を認識し、停電時処理(主制御基板Cの場合は図3のINT割込処理、払出制御基板Hの場合は図示せず)を実行する。
なお、電源部50aは、直流安定24ボルトの電圧が22ボルト未満になった後においても、かかる停電時処理の実行に充分な時間の間、制御系の駆動電圧である5ボルトの出力を正常値に維持するように構成されている。よって、主制御基板C及び払出制御基板Hは、停電時処理を正常に実行し完了することができるのである。
クリアスイッチ50cは、主制御基板CのRAM23および払出制御基板HのRAM(図示せず)にバックアップされるデータをクリアするためのスイッチであり、押しボタンタイプのスイッチで構成されている。クリアスイッチ50cが押下されると、クリア信号52が主制御基板Cおよび払出制御基板Hへ出力される。このクリアスイッチ50cが押下された状態でパチンコ機Pの電源が投入されると(停電解消による電源入を含む)、主制御基板Cおよび払出制御基板Hによって、それぞれのRAM23のデータがクリアされる。
次に、上記のように構成されたパチンコ機Pで実行される各処理を、図3から図5の各フローチャートを参照して説明する。図3は、停電の発生等によるパチンコ機Pの電源断時に、主制御基板Cで実行されるINT割込処理(停電時処理)のフローチャートである。このINT割込処理により、停電の発生等による電源断時の主制御基板Cの状態がバックアップエリア23aに記憶される。
停電の発生等によりパチンコ機Pの電源が断されると、停電監視回路50bから停電信号51が主制御基板CのMPU21のINT端子へ出力される。すると、MPU21ではINT割込が発生し、割込が許可状態にあれば、図3のINT割込処理が開始される。一方、停電信号51の出力時に、MPU21が割込禁止の状態になっていれば、図3のINT割込処理の実行は待機され、割込が許可されたタイミングで開始される。前述した通り、停電信号51が出力された後所定時間は、主制御基板Cの処理が実行可能なように電源基板50の電源部50aから電力供給がなされている。よって、INT割込処理はこの所定時間内にすべての処理を正常に完了することができる。なお、INT割込が実行されると、MPU21によって強制的に割込禁止の状態となるので、割込許可がなされるまで、INT割込が重複して発生することはない。
具体的にINT割込処理では、まず、各レジスタおよびI/O等の値をスタックエリアへ書き込み(S1)、次に、スタックポインタの値をバックアップエリア23aへ書き込んで退避する(S2)。更に、停電発生情報をバックアップエリア23aへ書き込んで(S3)、停電の発生等による電源断時の状態を記憶する。その後、その他停電処理を実行した後(S4)、電源が完全に断して処理が実行できなくなるまで、処理をループする。
本実施例の場合、図3のINT割込処理(停電時処理)は、後述する図4のメイン処理のS19の処理からS21の処理前の間にのみ実行されるので、メイン処理でS21の処理以降に繰り返し実行される乱数初期値更新処理(S22)及びその他ランダム処理(S23)において、各レジスタの値を、それぞれのサブルーチンの外から引き継いで使用しないようにプログラムすることにより、S1の処理で各レジスタの値をバックアップエリア23aへ退避する必要はない。
図4は、パチンコ機Pの電源入時に主制御基板Cで実行されるメイン処理のフローチャートである。メイン処理では、バックアップが有効であれば、バックアップエリア23aに記憶された各データを元の状態に戻し、遊技の制御を電源が断される前の状態から続行する。一方、バックアップが有効でなかったり、或いは、バックアップが有効であっても電源入時にクリアスイッチ50cが押下された場合には、RAMクリア及び初期化処理を実行して、パチンコ機Pを初期化する。
まず、割込を禁止し(S11)、スタックポインタを設定する(S12)。クリアスイッチ50cがオンされているか否かを確認し(S13)、オンされていなければ(S13:No)、バックアップが有効であるか否かを確認する(S14)。この確認は、RAM23の所定のエリアに書き込まれたキーワードが正しく記憶されているか否かにより判断する。キーワードが正しく記憶されていればバックアップは有効であり、逆に、キーワードが正しくなければバックアップデータは破壊されているので、そのバックアップは有効ではない。バックアップが有効であれば(S14:Yes)、処理をS15へ移行して、主制御基板Cの各状態を電源断前の状態に復帰させる。即ち、バックアップエリア23aからスタックポインタの値を読み出して、これをスタックポインタへ書き込み、電源断前(停電前)の状態、即ちINT割込発生前の状態に戻す(S15)。次に、スタックポインタの値を戻した後のスタックエリア、即ちバックアップエリア23aへ退避した各レジスタやI/O等のデータをそのバックアップエリア23aから読み出して、これら各データを元のレジスタやI/O等へ書き込み(S16)、その後、INT割込リターンを実行して処理を電源断前に実行していたところへ戻して、制御を電源断前の状態から続行する。
一方、クリアスイッチ50cがオンされていたり(S13:Yes)、或いはバックアップが有効でなければ(S14:No)、RAMクリア及び初期化処理を実行し(S17)、その後、タイマ割込等の設定を行って(S18)割込が発生可能な状態にした上で、割込を許可する(S19)。実行待機中の割込があれば(既に割込が発生しているものがあれば)、ここで割込が許可されることにより実行される。なお、2以上の割込が待機中であれば(2以上の割込が発生していれば)、予めMPU21に設定されている割込優先順位に則って順に実行される。停電時処理を行うINT割込と、遊技の制御を行うタイマ割込とでは、割込優先順位はINT割込の方が高いので、両割込が発生してその実行が同時に待機されている場合には、停電時処理のINT割込が遊技の制御のタイマ割込に優先して実行される。よって、停電発生後、停電時処理を迅速に実行することができるのである。すべての割込処理の終了後、このメイン処理(図4)は、割込処理の実行により中断された部分(処理)から続行される。
S19による割込の許可後は、ノーオペレーション処理(NOP処理)(S20)の後に割込を禁止し(S21)、乱数初期値更新処理(S22)およびその他ランダム処理(S23)を実行する。その後は、処理をS19へ移行してS23までの各処理を繰り返す。即ち、割込を禁止した状態(S21)で、乱数初期値更新処理(S22)およびその他ランダム処理(S23)を実行し、その後一旦割込を許可する(S19)。ノーオペレーション処理(S20)の後、再度、割込を禁止し(S21)、乱数初期値更新処理(S22)およびその他ランダム処理(S23)を実行するのである。
ここで、乱数初期値更新処理(S22)は、大当たりを決定するための乱数カウンタの更新の初期値を更新するための処理である。また、その他ランダム処理(S23)は、遊技の制御に当たって所定のデータにランダム性を持たせるための更新処理である。上述する通りこれらの処理は、割込の実行されない不定な時間を利用して繰り返し実行されるので、これらの処理の対象となるデータは、結果的にランダムな値となる。よって、S19からS23の各処理を繰り返し実行することにより、乱数カウンタの更新の初期値等をランダムな値にすることができる。なお、乱数初期値更新処理(S22)とその他ランダム処理(S23)との間にS19からS21の各処理を追加して、両処理(S22,S23)の間においても、割込許可の状態を設けるようにしても良い。
図5は、パチンコ機Pの主制御基板Cにおいて実行されるタイマ割込処理のフローチャートである。パチンコ機Pの主な制御は、このタイマ割込処理によって実行される。タイマ割込処理が実行されると、MPU21によって強制的に割込禁止の状態となる。この割込禁止の状態にて、まず、特別図柄変動処理(S39)や表示データ作成処理(S41)、ランプ・情報処理(S42)などにより、前回のタイマ割込処理で更新された出力データを一度に各ポートへ出力するポート出力処理を実行する(S31)。
次に、大当たりを決定するための乱数カウンタの値などを「+1」更新する乱数更新処理(S32)を実行し、記憶タイマ減算処理を実行する(S33)。記憶タイマ減算処理は、大当たり判定の保留球が所定数以上あり、且つ、LCD3において図柄の変動表示中である場合に、図柄の変動表示の時間短縮を行うものである。
スイッチ監視処理(S34)は、読み込まれた各スイッチの状態に応じて、遊技領域へ打ち込まれた球の入賞口2や大入賞口5、図柄作動口4への入賞、ゲート7への通過等に関する処理を行うものである。図柄カウンタ更新処理(S35)では、LCD3で行われる変動表示の結果、停止表示される図柄を決定するためのカウンタの更新処理が行われる。また、図柄チェック処理(S36)では、図柄カウンタ更新処理(S35)で更新されたカウンタの値に基づいて、特別図柄変動処理(S39)で使用される大当たり図柄や、はずれ図柄、更にはリーチ図柄などが決定される。
普通図柄変動処理(S37)によって、「○」と「×」との2つのLED6a,6bで構成された普通図柄表示装置6の変動表示を行うと共に、その変動表示の結果、「○」のLED6aで変動表示が終了した場合には当たりとなって普通電動役物(図柄作動口)4を所定時間(例えば0.5秒)開放する当たり処理を実行する。その後、状態フラグをチェックし(S38)、LCD3において特別図柄の変動開始または変動表示中であれば(S38:図柄変動中)、特別図柄変動処理(S39)によって、球が図柄作動口4を通過するタイミングで読み取った乱数カウンタの値に基づいて、大当たりか否かの判定が行われると共に、LCD3において特別図柄の変動処理を実行する。一方、状態フラグをチェックした結果、大当たり中であれば(S38:大当り中)、大入賞口5を開放するなどの大当たり処理(S40)を実行する。更に、状態フラグをチェックした結果、特別図柄の変動中でも大当たり中でもなければ(S38:その他)、S39及びS40の処理をスキップして、S41の表示データ作成処理へ移行する。
表示データ作成処理(S41)では、特別図柄の変動表示以外にLCD3に表示されるデモデータや、普通図柄表示装置6の2つのLED6a,6bの表示データなどが作成され、ランプ・情報処理(S42)では、保留球のランプデータをはじめ、各種のランプデータが作成される。効果音処理(S43)では、遊技の状況に応じた効果音データが作成される。なお、これらの表示データ及び効果音データは、前記したポート出力処理(S31)によって対応する制御基板D,Sへそれぞれ出力(送信)される。
効果音処理(S29)の終了後は、このタイマ割込処理を終了する。その後は、タイマ割込処理の実行直前に実行されていたメイン処理(図4)の直後に戻ってメイン処理を続行する。そして、タイマ割込回路に設定されている時間の経過後であって且つ割込許可状態となった場合に、このタイマ割込処理が再実行される。
以上説明したように、本実施例のパチンコ機Pによれば、遊技の制御を行うタイマ割込処理(図5)、及び、停電等の発生時にバックアップ処理を行うINT割込処理(停電時処理)(図3)は、いずれも割込の禁止設定が可能に構成されており、特に、タイマ割込が発生してタイマ割込処理が実行されると、MPU21は割込禁止の状態となるので、遊技の制御の実行途中で停電信号51が出力されてINT割込が発生しても、INT割込処理の実行は、タイマ割込処理が終了して、メイン処理のS19で割込が許可されるまで待機される。よって、INT割込処理(停電時処理)の実行タイミングを、割込許可(S19)のタイミングで制御することができる。従って、停電時処理の実行に好適なタイミングでのみ、その停電時処理(INT割込処理)を実行し、逆に、停電時処理の実行に都合の悪いタイミングでは、その停電時処理(INT割込処理)の実行を待機させることができるので、制御プログラムを、簡略化された小容量のプログラムとすることができる。
なお、タイマ割込処理は、その実行開始時にMPU21によって強制的に割込禁止の状態となるので、制御の開始時に割込禁止の設定を行う必要がない。よって、遊技の制御をタイマ割込処理でなく、メイン処理で行う場合に比べて、更に制御プログラムを簡略化することができる。
また、停電時処理をNMI割込で行う場合や、停電時処理は割込の禁止設定が可能なINT割込で行うものの遊技の制御をメイン処理で行い、そのメイン処理の制御中に停電時処理が実行可能な場合に割込を許可し、停電時処理が実行不可能な場合に割込を禁止する場合には、停電の発生時に比較的早期に停電時処理を実行できるものの、停電時処理の実行箇所が幾多にも及ぶこととなるので、その幾多にも及ぶ実行箇所を想定したプログラムにせざるを得ず、その結果、停電時処理自体が複雑化する。よって、これらのものでは、本実施例より、停電発生時に停電時処理が早期に実行されたとしても、その実行時間に長時間を要すので、停電時処理が完了するまでの時間は、本実施例より却って長くなる。言い換えれば、本実施例のように、停電時処理を割込の禁止設定が可能なINT割込処理で構成し、同様に、遊技の制御を割込の禁止設定が可能なタイマ割込処理で構成することにより、停電時処理を簡略化することができると共に停電発生から停電時処理が完了するまでの時間を短時間にすることができるのである。
更に、本実施例のパチンコ機Pによれば、ノイズの影響などによって停電信号51がパルス状に繰り返し出力される場合にも、スタックオーバーなどの不都合を生じることが無く、正常に停電時処理を実行することができる。即ち、停電時処理をNMI割込で実行していると、停電信号51がパルス状に繰り返し出力される場合、停電時処理たるNMI割込処理が繰り返し実行される。スタックエリアにはNMI割込処理(停電時処理)の実行の度に、その戻り先番地がスタック(記憶)されるので、やがてスタックオーバーとなって処理を正常に実行できなくなる(MPU21が暴走する)。これに対し本実施例では、停電時処理を割込の禁止設定が可能なINT割込処理で行っているので、例え停電信号51が繰り返し出力されたとしても、INT割込処理(停電時処理)は割込が許可されない限り繰り返し実行されることはない。よって、かかる場合にも、割込の戻り先番地のスタック等によってスタックオーバーが生じることはなく、正常に停電時処理を実行することができる。
次に、図6及び図7を参照して第2実施例を説明する。前記した第1実施例では、乱数カウンタの更新の初期値など所定のデータにランダム性を持たせるための処理(乱数初期値更新処理(S22)とその他ランダム処理(S23))を割込禁止の状態でメイン処理にて実行した。これに対し、第2実施例では、かかる処理をタイマ割込処理の中で実行するものである。以下、前記した第1実施例と同一の部分には同一の符号を付してその説明は省略し、異なる部分についてのみ説明する。
図6は、パチンコ機Pの電源入時に主制御基板Cで実行される第2実施例のメイン処理のフローチャートである。このメイン処理では、第1実施例のメイン処理と同様に、まず、S11からS18までの処理が実行される。そして、S16の処理の実行後は、INT割込リターンを実行して処理を電源断前に実行していたところへ戻して、制御を電源断前の状態から続行する。一方、S18の処理の実行後は割込を許可し(S51)、以降の処理をループする。
図7は、パチンコ機Pの主制御基板Cにおいて実行される第2実施例のタイマ割込処理のフローチャートである。第2実施例の場合も、第1実施例の場合と同様に、タイマ割込処理が実行されると、MPU21によって強制的に割込禁止の状態となる。第2実施例では、この割込禁止の状態にて、まず、スタックポインタの値を2減算してタイマ割込実行時にスタックされた2バイトのタイマ割込終了後の戻り先アドレス(番地)をクリアする(S60)。このようにスタックポインタの値の操作を、割込開始時に行うことにより、スタックの使用領域をその分小さくして、RAM23を有効に使用することができる。
なお、S60の処理(スタックポインタの値の操作)は、必ずしもタイマ割込処理の開始直後に実行する必要はなく、例えばS63の処理の前に実行するようにしても、スタックオーバーなどの支障を来すことなく、プログラムを正常に動作させることができる。ただし、この場合には、タイマ割込終了後の戻り先アドレスをスタックエリアに記憶したままS31以降の処理を実行することとなるので、スタックの使用領域を戻り先アドレス分小さくすることはできない。また、タイマ割込終了後の戻り先アドレスが3バイト以上で記憶される場合には、S60の処理ではそのバイト数分、スタックポインタの値を減算する。
S60の処理後は、第1実施例の場合と同様に、S31からS43の各処理を実行する。S43の処理の実行後は、大当たりを決定するための乱数カウンタの更新の初期値を更新するための処理である乱数初期値更新処理(S61)と、遊技の制御に当たって所定のデータにランダム性を持たせるための更新処理であるその他ランダム処理(S62)を実行する。両処理(S61,S62)の実行後は、一旦割込を許可し(S63)、ノーオペレーション処理(S64)の後、再度、割込を禁止する(S65)。割込の禁止後は、処理をS61へ移行し、前述したS61からS65の各処理を次のタイマ割込処理が発生するまで繰り返す。
このように、乱数初期値更新処理(S61)およびその他ランダム処理(S62)は、S60及びS31からS43の実行後に次回のタイマ割込が発生し実行されるまでの残余時間の間、繰り返し実行されるので、これらの処理の対象となるデータは、結果的にランダムな値となる。なお、乱数初期値更新処理(S61)とその他ランダム処理(S62)との間に、S63からS65の各処理を追加して、両処理(S61,S62)の間においても、割込許可の状態を設けるようにしても良い。
上記のタイマ割込処理は、次回の自己のタイマ割込が発生するまで継続して実行されるので、次回のタイマ割込処理は、S63の処理後からS65の処理前までの間にのみ開始され得る。同様に、停電発生時に実行される図3のINT割込処理(停電時処理)も、禁止設定が可能な割込で構成されるので、停電信号51がS60及びS31からS62までの間に出力されたとしても、その間はINT割込処理の実行が待機され、S63により割込が許可されて初めて実行される。よって、INT割込処理(停電時処理)の実行タイミングを、割込許可(S63)のタイミングで制御することができる。従って、停電時処理の実行に好適なタイミングでのみ、その停電時処理(INT割込処理)を実行し、逆に、停電時処理の実行に都合の悪いタイミングでは、その停電時処理(INT割込処理)の実行を待機させることができるので、制御プログラムを、簡略化された小容量のプログラムとすることができる。なお、タイマ割込処理は、その実行開始時にMPU21によって強制的に割込禁止の状態となるので、制御の開始時に割込禁止の設定を行う必要がなく、その分、更に制御プログラムを簡略化することができる。
また、第1実施例の場合と同様に、停電時処理を割込の禁止設定が可能なINT割込処理で行っているので、例えノイズの影響などによって停電信号51がパルス状に繰り返し出力される場合にも、スタックオーバーなどの不都合を生じることが無く、正常に停電時処理を実行することができる。
なお、請求項1記載の制御手段としては、図5及び図7に示すタイマ割込処理が該当し、退避手段としては、図3に示すINT割込処理(停電時処理)が該当し、復電手段としては、図4及び図6に示すS15及びS16の各処理が該当する。
以上、実施例に基づき本発明を説明したが、本発明は上記実施例に何ら限定されるものではなく、本発明の趣旨を逸脱しない範囲内で種々の改良変形が可能であることは容易に推察できるものである。
なお、上記各実施例では、遊技の制御はタイマ割込処理を用いて実行したが、必ずしもこれに限られるものではなく、例えば、MPU21の内部設定で実行可能なインターバル割込や、割込の禁止設定が可能な他の割込処理によって、遊技の制御を実行するようにしても良い。また、上記各実施例は、主制御基板Cを例に説明したが、当然のことながら、かかる構成をバックアップ可能に構成された払出制御基板Hなどの他の制御基板に用いるようにしても良い。
また、上記各実施例では、メイン処理(図4及び図6)のS16の処理の後は、INT割込リターンを実行して処理を電源断前に実行していたところへ戻し、制御を電源断前の状態から続行した。しかし、これに代えて、第1実施例のメイン処理(図4)では、S16の処理後はS19の処理へジャンプさせ、第2実施例のメイン処理(図6)では、S16の処理後はS51の処理へジャンプさせるように構成しても良い。ただし、この場合には、INT割込処理(図3)の先頭で、スタックポインタの値を2減算して、INT割込処理の実行時にスタックされたINT割込終了後の戻り先アドレス(番地)をクリアし、スタックに記憶されるデータの調整を行う。その際、戻り先アドレスが3バイト以上でスタックに記憶される場合には、そのバイト数分、スタックポインタの値を減算する。このように構成することによっても、上記各実施例ではINT割込処理(停電時処理)の実行ポイントが定まっているので、即ち、第1実施例においては図4のS19の処理後からS21の処理前の間、第2実施例においては図7のS63の処理後からS65の処理前の間に定まっているので、INT割込リターンに代えて、ジャンプさせても、制御を電源断前の状態から続行することができる。かかる構成によれば、スタックに記憶されるINT割込終了後の戻り先アドレスのデータ数分、RAMの使用量を減少することができる。
本発明を上記実施例とは異なるタイプのパチンコ機等に実施しても良い。例えば、一度大当たりすると、それを含めて複数回(例えば2回、3回)大当たり状態が発生するまで、大当たり期待値が高められるようなパチンコ機(通称、2回権利物、3回権利物と称される)として実施しても良い。また、大当たり図柄が表示された後に、所定の領域に球を入賞させることを必要条件として特別遊技状態となるパチンコ機として実施しても良い。更に、パチンコ機以外にも、アレパチ、雀球、スロットマシン、いわゆるパチンコ機とスロットマシンとが融合した遊技機などの各種遊技機として実施するようにしても良い。
なお、スロットマシンは、例えばコインを投入して図柄有効ラインを決定させた状態で操作レバーを操作することにより図柄が変動され、ストップボタンを操作することにより図柄が停止されて確定される周知のものである。従って、スロットマシンの基本概念としては、「複数の図柄からなる図柄列を変動表示した後に図柄を確定表示する可変表示手段を備え、始動用操作手段(例えば操作レバー)の操作に起因して図柄の変動が開始され、停止用操作手段(例えばストップボタン)の操作に起因して、或いは、所定時間経過することにより、図柄の変動が停止され、その停止時の確定図柄が特定図柄であることを必要条件として、遊技者に有利な特別遊技状態を発生させる特別遊技状態発生手段とを備えたスロットマシン」となり、この場合、遊技媒体はコイン、メダル等が代表例として挙げられる。
また、パチンコ機とスロットマシンとが融合した遊技機の具体例としては、複数の図柄からなる図柄列を変動表示した後に図柄を確定表示する可変表示手段を備えており、球打出用のハンドルを備えていないものが挙げられる。この場合、所定の操作(ボタン操作)に基づく所定量の球の投入の後、例えば操作レバーの操作に起因して図柄の変動が開始され、例えばストップボタンの操作に起因して、或いは、所定時間経過することにより、図柄の変動が停止され、その停止時の確定図柄がいわゆる大当たり図柄であることを必要条件として遊技者に有利な大当たり状態が発生させられ、遊技者には、下部の受皿に多量の球が払い出されるものである。
以下に本発明の変形例を示す。請求項1記載の遊技機において、前記退避手段は、前記制御手段より割込優先順位の高い割込で構成されていることを特徴とする遊技機1。よって、両割込が発生して、その実行が同時に待機されている場合に割込が許可されると、退避手段が制御手段より優先して実行されるので、停電発生後、迅速に退避手段を実行することができる。
請求項1記載の遊技機または遊技機1において、前記退避手段は、禁止設定が可能な割込であって使用されている割込のうち割込優先順位が最も高い割込で構成されていることを特徴とする遊技機2。よって、退避手段の割込が発生して、割込が許可された場合には、他の割込(NMI割込を除く)の実行が待機されていても、退避手段の割込が真っ先に実行されるので、停電発生後、迅速に退避手段を実行することができる。なお、形式上使用状態にあっても、例えば割込実行後、NOP処理で割込リターン(RETI)するような実際の制御に使われていない割込は割込優先順位の高低に関し除いて判断される。
請求項1記載の遊技機または遊技機1若しくは2において、停電が発生した場合に停電信号を出力する停電監視手段を備え、前記退避手段は、その停電監視手段から出力される停電信号を契機として実行される割込処理により構成されていることを特徴とする遊技機3。退避手段は、停電信号の出力を契機として実行されるので、遊技に関するデータのバックアップ手段への退避を、停電後迅速に行うことができる。
請求項1記載の遊技機または遊技機1から3のいずれかにおいて、前記制御手段は、独自に割込を発生させることが可能な内部割込により実行されるものであることを特徴とする遊技機4。制御手段は、例えばCPU(又はMPU)の内部割込により実行されるものなので、制御手段を実行させるためのトリガ装置をCPU(又はMPU)の外部に設ける必要がない。よって、遊技機のコストを低減することができる。なお、内部割込としては、例えば、タイマ割込やCPU(又はMPU)の設定によって一定の間隔で独自に発生させることができるインターバル割込が例示される。
遊技機4において、前記制御手段は、自己の割込処理の実行を割込禁止の状態ですべて実行するものであることを特徴とする遊技機5。よって、制御手段の実行途中に退避手段が実行されることがなくなるので、退避手段の実行に当たって、制御手段により送信されるコマンドの保証やレジスタ情報等の退避処理を簡略化して、プログラム容量や使用するRAMの容量を削減することができる。
遊技機5において、前記制御手段による遊技に関する制御に使用される所定のデータについてランダム性を持たせるために更新する更新手段を備えており、その更新手段は、前記制御手段が実行される割込処理とは別にメイン処理において実行されるものであることを特徴とする遊技機6。更新手段による所定のデータの更新はメイン処理によって実行されるので、制御手段の実行時間に応じてその更新時間は長短する。よって、かかるデータ更新により、更新されるデータにランダム性を持たせて、遊技の制御に使用することができる。
遊技機6において、前記更新手段は、その実行前に割込を禁止し、その実行後に割込を許可するものであることを特徴とする遊技機7。よって、更新手段の実行途中に、制御手段および退避手段が実行されることはないので、プログラムを複雑化させることなく、所定のデータを制御手段の実行の残余時間にて更新することができる。なお、更新手段が2以上のサブルーチンによって構成される場合、割込の禁止及び許可は、各サブルーチン毎に行っても良いし、複数のサブルーチンをまとめて行うようにしても良い。
遊技機4において、前記制御手段は、遊技に関する制御を行う第1制御部と、その第1制御部で使用される所定のデータにランダム性を持たせる第2制御部とを有し、前記第1制御部は割込を禁止した状態で実行されると共に、前記第2制御部は割込を禁止した状態で実行される一方、その実行後に割込が許可されることを特徴とする遊技機8。かかる構成によれば、制御手段の第1制御部及び第2制御部の実行途中に退避手段が実行されることはないので、プログラムを複雑化させることなく、遊技に関する制御を行うことができる。また、所定のデータを第1制御部の実行の残余時間にて更新して、該データにランダム性を持たせることができる。なお、第2制御部が2以上のサブルーチンによって構成される場合、割込の禁止及び許可は、各サブルーチン毎に行っても良いし、複数のサブルーチンをまとめて行うようにしても良い。
遊技機8において、前記制御手段は、割込の発生により制御が実行されると、次回の自己の割込が発生するまでその実行中の制御を継続するものであり、次回の自己の割込を開始する前までに、実行中の割込終了後の戻り先番地のスタックをクリアするものであることを特徴とする遊技機9。これにより、割込の重複発生によるスタックオーバーを無くして、制御を正常に実行することができる。なお、割込終了後の戻り先番地のスタックのクリアは、例えば、スタックポインタの値を、その戻り先番地を示すデータの数分戻すことにより行われる。
遊技機9において、前記制御手段は、割込の発生により制御が実行されると、次回の自己の割込が発生するまでその実行中の制御を継続するものであり、割込が発生して制御の開始時に、その割込終了後の戻り先番地のスタックをクリアするものであることを特徴とする遊技機10。戻り先番地のスタックを、制御の開始時にクリアすることにより、RAMのスタック量をその分減少させて、RAMを有効に使用することができる。なお、割込終了後の戻り先番地のスタックのクリアは、例えば、スタックポインタの値を、その戻り先番地を示すデータの数分戻すことにより行われる。
遊技機1から10のいずれかにおいて、前記退避手段は、プログラムの一カ所の部分でのみ実行されるように割込の許可と禁止とがなされていることを特徴とする遊技機11。よって、退避手段の実行後の戻り先番地が固定されるので、その番地を停電時に記憶する必要がなく、その分、停電時処理の記憶量と処理内容とを簡略化することができる。なお、NOP処理のように、退避手段の戻り先番地に影響を与えない処理が割込の許可と禁止との間に含まれている場合には、割込の許可後から割込の禁止前までの一連の期間を一カ所と称する。また、遊技機11の場合には、退避手段の割込実行時に戻り先番地のスタックをクリアすると共に、復電処理後の割込リターンの際にはRETI命令を実行するのではなく、固定される戻り先番地へジャンプするように構成する。
遊技機1から11のいずれかにおいて、前記停電監視手段による停電信号の出力から、前記退避手段の実行が最も遅れた場合におけるその退避手段の実行に充分な時間、制御系の駆動電圧を有効な状態に維持する電源手段を備えていることを特徴とする遊技機12。退避手段の実行が最も遅れた場合においても、電源手段により、制御系の駆動電圧は退避手段の実行に充分な時間有効な状態に維持される。よって、停電時の退避処理を制御上の都合の良いタイミングの到来を待って実行することができる。
請求項1記載の遊技機又は遊技機1から12のいずれかにおいて、前記退避手段は、I/Oの値を前記バックアップ手段へ退避するものであることを特徴とする遊技機13。I/Oの値をバックアップすることにより、各ポートの出力状態をも復帰して遊技を再開することができる。なお、退避手段は、I/Oの値に加え、スタックポインタの値や、或いはレジスタの各値をバックアップ手段へ退避するようにしても良い。
請求項1記載の遊技機又は遊技機1から13のいずれかにおいて、前記制御手段は、遊技の制御を行う主制御手段と、その主制御手段から送信される制御コマンドに基づいて有価物体の払出制御である遊技に関する制御を行う払出制御手段とを備えており、前記バックアップ手段と、前記退避手段と、前記復電手段とは、前記主制御手段および払出制御手段にそれぞれ設けられていることを特徴とする遊技機14。停電の発生時に主制御手段および払出制御手段の遊技状態をバックアップして、これを停電の解消後に復帰することができるので、停電等の発生により電源が断されても、払出制御手段により有価物体を確実に払い出すことができる。なお、主制御手段と払出制御手段との必ずしも両者をバックアップする必要はなく、いずれか一方のみをバックアップするようにしても良い。かかる場合には、バックアップ手段と退避手段と復電手段とは、主制御手段または払出制御手段のうち、バックアップされる方に設けられる。更に、主制御手段及び払出制御手段以外の遊技に関する制御を行う制御手段(例えば、表示制御を行う表示用制御手段や音声やランプの出力制御を行う音声ランプ制御手段)を、制御手段としても良い。
請求項1記載の遊技機または遊技機1から14のいずれかにおいて、前記遊技機はパチンコ機であることを特徴とする遊技機15。中でも、パチンコ機の基本構成としては操作ハンドルを備え、その操作ハンドルの操作に応じて球を所定の遊技領域へ発射し、球が遊技領域内の所定の位置に配設された作動口に入賞(又は作動口を通過)することを必要条件として、表示手段において変動表示されている識別情報が所定時間後に確定停止されるものが挙げられる。また、特別遊技状態の出力時には、遊技領域内の所定の位置に配設された可変入賞装置(特定入賞口)が所定の態様で開放されて球を入賞可能とし、その入賞個数に応じた有価価値(景品球のみならず、磁気カードへ書き込まれる情報等も含む)が付与されるものが挙げられる。
請求項1記載の遊技機または遊技機1から14のいずれかにおいて、前記遊技機はスロットマシンであることを特徴とする遊技機16。中でも、スロットマシンの基本構成としては、「複数の識別情報からなる識別情報列を変動表示した後に識別情報を確定表示する可変表示手段を備え、始動用操作手段(例えば操作レバー)の操作に起因して、或いは、所定時間経過することにより、識別情報の変動が停止され、その停止時の確定識別情報が特定識別情報であることを必要条件として、遊技者に有利な特別遊技状態を出力させる特別遊技状態出力手段とを備えた遊技機」となる。この場合、遊技媒体はコイン、メダル等が代表例として挙げられる。
請求項1記載の遊技機または遊技機1から14のいずれかにおいて、前記遊技機はパチンコ機とスロットマシンとを融合させたものであることを特徴とする遊技機17。中でも、融合させた遊技機の基本構成としては、「複数の識別情報からなる識別情報列を変動表示した後に識別情報を確定表示する可変表示手段を備え、始動用操作手段(例えば操作レバー)の操作に起因して識別情報の変動が開始され、停止用操作手段(例えばストップボタン)の操作に起因して、或いは、所定時間経過することにより識別情報の変動が停止され、その停止時の確定識別情報が特定識別情報であることを必要条件として、遊技者に有利な特別遊技状態を出力させる特別遊技状態出力手段とを備え、遊技媒体として球を使用すると共に、前記識別情報の変動開始に際しては所定数の球を必要とし、特別遊技状態の出力に際しては多くの球が払い出されるように構成されている遊技機」となる。