JP3953281B2 - 遊技機 - Google Patents
遊技機 Download PDFInfo
- Publication number
- JP3953281B2 JP3953281B2 JP2001052827A JP2001052827A JP3953281B2 JP 3953281 B2 JP3953281 B2 JP 3953281B2 JP 2001052827 A JP2001052827 A JP 2001052827A JP 2001052827 A JP2001052827 A JP 2001052827A JP 3953281 B2 JP3953281 B2 JP 3953281B2
- Authority
- JP
- Japan
- Prior art keywords
- state
- data
- save
- backup flag
- processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Pinball Game Machines (AREA)
- Retry When Errors Occur (AREA)
Description
【発明の属する技術分野】
本発明は、パチンコ機などの遊技機に関し、特に、遊技動作中に停電などが生じても、電源復旧後には正常に元の遊技動作を再開できるように改善した遊技機に関するものである。
【0002】
【従来の技術】
パチンコ機などのマイコン内蔵型の遊技機は、電源電圧が所定値を下回った場合には正常な動作を継続することが不可能となる。そこで、パチンコ機などでは落雷などに伴う停電が生じても、その影響を受けないような工夫が必要となる。
【0003】
ここで、各パチンコホールに自家発電装置を備えるような対策もあり得るが、パチンコ機での消費電力は少なくなく、しかもパチンコ機の台数も多いので、かかる対策はコスト的にも設置空間的にも現実的でない。
【0004】
そのため、停電に対する一般的な対策としては、NMIの処理によって必要なデータをRAMエリアに保存し、そのRAMエリアだけにバックアップ電源を供給して内容を維持し、商用電源が復旧すればバックアップされたデータを読み出して、停電前の遊技動作を再現するようにしている。
【0005】
【発明が解決しようとする課題】
しかしながら、停電などのトラブルは突発的に生じるので、例えば、停電前のパチンコ機が大当り状態であったような場合には、電源復旧後は、如何なる場合にも大当りゲームが再現される必要があり、そうでないと遊技者との間に無用のトラブルが発生してしまうことになる。また、停電状態でなくても、電源ラインに予期せぬ異常が生じることもあり、例えば、電源ラインが不安定な状態で変動しても、適切な動作をすることが望まれる。
【0006】
この発明は、かかる要請に基づいてなされたものであって、中断された遊技動作が再開されるに際して、万一、電源電圧の変動やその他の電気的トラブルがあったとしても、極力、元のゲームが再現されるように改善された遊技機を提供することを課題とする。
【0007】
【課題を解決するための手段】
上記の課題を解決するため、本発明は、制御プログラムに基づいて遊技動作を制御するCPUを有し、遊技者に有利な第1状態と遊技者に不利な第2状態とを択一的に選択可能な遊技機であって、前記制御プログラムは、電源投入に対応して開始され、無限ループ処理を含んで構成された第一処理と、所定時間毎に前記第一処理を中断して開始され、繰り返し遊技動作を制御する第二処理と、電源電圧が所定レベルを下回ると強制的に開始され、退避エリアへのデータ退避処理を行う第三処理とを含み、前記第三処理では、前記データ退避処理が完了したことを示すバックアップフラグがクリアされた第1状態である場合には、前記データ退避処理の後、スタックポインタの値を特定記憶エリアに保存すると共に前記バックアップフラグを所定値に設定することで第2状態に設定する一方、前記バックアップフラグが第1状態でない場合には、本来ならその後に実行される、前記スタックポインタの値を前記特定記憶エリアに保存するセーブ処理を実行することなく、前記第一処理の最初の処理に移行しており、前記第一処理では、前記バックアップフラグが第2状態であることを条件に、前記特定記憶エリアの保存内容に基づいて前記スタックポインタの値を設定した後、前記退避エリアに退避されているデータのデータ復帰処理を開始し、その後、前記バックアップフラグを第1状態に設定しており、前記データ退避処理における前記退避エリアの退避先や、前記データ復帰処理における前記退避エリアの復帰元は、前記スタックポインタによって特定される。
【0010】
【発明の実施の形態】
以下、本発明の一実施例であるカード式弾球遊技機に基づいて本発明の実施の形態を説明する。図1は、本実施例のパチンコ機2を示す斜視図であり、図2は、同パチンコ機2の側面図である。
【0011】
図1に示すパチンコ機2は、島構造体に着脱可能に装着される矩形枠状の木製の外枠3と、外枠3に固着されたヒンジHを介して開閉可能に枢着される前枠4とで構成されている。なお、このパチンコ機2は、カード式球貸し機1に電気的に接続された状態で、パチンコホールの島構造体の長さ方向に複数個が配設されている。
【0012】
ヒンジHを介して外枠3に枢着される前枠4には、遊技盤5が裏側から着脱自在に装着され、遊技盤5の前側に対応させて、窓部を有するガラス扉6と前面板7とが夫々開閉自在に枢着されている。前面板7には発射用の遊技球を貯留する上皿8が装着され、前枠4の下部には、上皿8から溢流し又は抜き取った遊技球を貯留する下皿9と、発射手段10の発射ハンドル11とが設けられている。
【0013】
この発射手段10は、回動操作可能な発射ハンドル11と、この発射ハンドル11の回動角度に応じた打撃力で打撃槌12(図4)により遊技球を発射させる発射モータなどを備えている。上皿8の右部には、カード式球貸し機1に対する球貸し操作用の操作パネル13が設けられ、この操作パネル13には、カード残額を3桁の数字で表示するカード残額表示部13aと、所定金額分の遊技球の球貸しを指示する球貸しスイッチ13bと、ゲーム終了時にカードの返却を指令する返却スイッチ13cとが設けられている。
【0014】
図3に示すように、遊技盤5には、金属製の外レールと内レールとからなるガイドレール15がほぼ環状に設けられ、このガイドレール15の内側の遊技領域5aには、カラーの液晶ディスプレイ16、図柄始動手段(図柄始動兼入賞手段)17、開閉式入賞手段(大入賞手段)18、複数の普通入賞手段19(上段の普通入賞手段19以外に、開閉式入賞手段18の左右両側部に6つの普通入賞手段19)、2つのゲート20(通過口)が夫々所定の位置に配設されている。
【0015】
液晶ディスプレイ16は、変動図柄を表示するとともに背景画像や各種のキャラクタの動画などを表示する第1図柄表示手段22として機能する。第1図柄表示手段22は、背景画やキャラクタをアニメーション的に表示するとともに、左右方向に並ぶ3個(左、中、右)の図柄表示部22a〜22cを有し、図柄始動手段17に遊技球が入賞することを条件に、各図柄表示部22a〜22cの表示図柄が所定時間だけ変動表示(スクロール表示)され、図柄始動手段17への遊技球の入賞タイミングに応じた抽選結果に基づいて決定される停止図柄パターンで停止する。
【0016】
液晶ディスプレイ16の直ぐ上側に、普通入賞手段19と第2図柄表示手段23とが設けられている。第2図柄表示手段23は1個の普通図柄を表示する普通図柄表示部を有し、ゲート20を通過した遊技球が検出されたとき、普通図柄表示部の表示図柄が所定時間だけ変動し、遊技球のゲート20通過時点において抽選された抽選用乱数値により決定される停止図柄を表示して停止するようになっている。図柄始動手段17は、開閉自在な左右1対の開閉爪17aを備えた電動式チューリップであり、第2図柄表示手段23の変動後の停止図柄が当り図柄を表示した場合に、開閉爪17aが所定時間だけ開放されて入賞し易くなる。
【0017】
開閉式入賞手段18は前方に開放可能な開閉板18aを備え、第1図柄表示手段22の変動後の停止図柄が「777」などの当り図柄のとき、「大当り」と称する特別遊技が開始され、開閉板18aが前側に開放される。この開閉式入賞手段18の内部に特定領域18bがあり、この特定領域18bを入賞球が通過すると、特別遊技が継続される。ここで、特別遊技状態が遊技者に有利な状態に相当する。
【0018】
開閉式入賞手段18の開閉板18aが開放された後、所定時間が経過し、又は所定数(例えば10個)の遊技球が入賞して開閉板18aが閉じるときに、遊技球が特定領域18bを通過していない場合には特別遊技が終了するが、特定領域18bを通過していれば最大で例えば16回まで特別遊技が継続され、遊技者に有利な状態に制御される。
【0019】
図4に示すように、前枠4の裏側には、遊技盤5を裏側から押さえる裏機構板30が着脱自在に装着され、この裏機構板30には開口部30aが形成され、その上側に賞球タンク33と、これから延びるタンクレール34とが設けられ、このタンクレール34に接続された払出し手段35が裏機構板30の側部に設けられ、裏機構板30の下側には払出し手段35に接続された通路ユニット36が設けられている。払出し手段35から払出された遊技球は通路ユニット36を経由して上皿排出口8a(図1)から上皿8に払出される。
【0020】
裏機構板30の開口部30aには、遊技盤5の裏側に装着された裏カバー37と、入賞手段17〜19に入賞した遊技球を排出する入賞球排出樋(不図示)とが夫々嵌合されている。この裏カバー37に装着されたケース38の内部に主制御基板39が配設され、その前側に図柄制御基板40が配設されている(図2)。主制御基板39の下側で、裏カバー37に装着されたケース41aの内部にランプ制御基板42が設けられ、このケース41aに隣接するケース41bの内部にサウンド制御基板43が設けられている。
【0021】
これらケース41a,41bの下側で裏機構板30に装着されたケース44の内部には、電源基板45と払出し制御基板46が夫々設けられている。この電源基板45には、図3に示すように、電源スイッチ80と初期化スイッチ85とが配置されている。これら両スイッチ80,85に対応する部位はケース44が切欠かれ、両スイッチ80,85の各々を指で同時に操作可能になっている。
【0022】
また、発射手段10の後側に装着されたケース47の内部には、発射制御基板48が設けられている。これら制御基板39〜40,42〜43,45〜46,48は夫々独立の基板であり、電源基板45と発射制御基板48を除く制御基板39,40,42,43,46には、ワンチップマイコンLE2080A(LE・Tech社製)を備えるコンピュータ回路が搭載されており、主制御基板39と他の制御基板40,42,43,46とは、複数本の信号線でコネクタを介して電気的に接続されている。なお、この実施例で使用するワンチップマイコンLE2080Aは、Z80(Zilog社)相当品のCPUとROMとRAMとその他のICを内蔵して構成されている。
【0023】
主制御基板39とその他の制御基板40,42,43,46とは、複数本の信号線でコネクタを介して電気的に接続され、主制御基板39から各制御基板40,42,43,46に、所定の遊技動作を実行させる種々の制御コマンドを一方向通信で送信可能になっている。制御コマンドの一方向通信を採用することで、図柄停止に関する不正を確実に防止できるとともに、主制御基板39の制御負荷を格段に軽減でき、送信制御を簡単化することができる。
【0024】
図5は、主制御基板39のうち、Z80CPUをリセット状態にするためのリセット信号発生部の回路例を図示したものである。この回路からはユーザリセット信号URSTと、システムリセット信号RSTとが出力されるが、何れの信号も、Z80CPUのリセット端子を所定時間LレベルにすることによりプログラムカウンタPCの値を強制的に0000Hにしてプログラム処理を初期状態に戻すものである。
【0025】
図5に示すように、リセット信号発生部は、CPUからのタイマクリア信号を受けて動作するウォッチドッグタイマ回路51と、リップルカウンタRBC(例えばTC74HC4020AF)及びD型フリップフロップD−FF(例えばHD74HC74)からなるシステムリセット回路52とで構成されている。なお、システムリセット回路52には、不図示の電源リセット回路からのリセット信号SYSRSTと、システムクロックXTALとが供給されている。
【0026】
ウォッチドックタイマ回路51は、ウォッチドッグタイマWDTとして、TA8030S(東芝)を用いている。このウォッチドッグタイマWDTでは、クロック端子WDにパルス信号が入力されない自走状態では、TC端子の電圧は、ICへの電源投入後、2Vと4Vの間で充放電動作が繰り返され、RST端子からは、Hレベル期間TWDが1.1×C1×R1(ms)、Lレベル期間TRSTが0.75×C1(ms)のリセット信号RSTが出力される。一方、クロック端子WDに正パルスが加わると、4Vに向けての充電途中でも充電電荷が放電されて、再び2Vから充電動作を始めるようになっている。
【0027】
そこで、このパチンコ機では、ウォッチドッグタイマWDTのクロック端子WDに、TWD未満の所定時間τ毎にタイマクリア信号をソフトウェア的に加えることによって、RST端子が常時Hレベルに維持されるようにしている。このようなウォッチドッグタイマ回路51では、パチンコ機が正常に動作している場合には、所定時間τ毎にタイマクリア信号が加わるので、CPUがリセットされることはないが、プログラムの暴走などによってCPU側からのタイマクリア信号が途絶えた状況では、一定時間後にウォッチドッグタイマWDTのリセット信号RSTが自動的に立下り、ユーザリセット信号URSTを受けたZ80CPUが強制的にリセットされることになる。
【0028】
図6は、図5に示すシステムリセット回路52の動作内容を説明するタイムチャートである。電源が投入されると、不図示の電源リセット回路からの信号SYSRSTが図6(a)に示すように立ち上がる(t1)。すると、これに対応して、リップルカウンタRBCのクリア端子CLRがHレベルとなり、Q5やQ6を含むRBCの全出力はLレベルとなる。なお、信号SYSRSTの立ち上がり(t1)に対応して、D型フリップフロップD−FFのクリア端子CLRが立ち下がるのでD−FFのQ出力はLレベルとなる。
【0029】
その後、電源リセット回路からの信号SYSRSTが図6(a)に示すように立ち下がる(t2)。すると、リップルカウンタRBCのクリア端子CLRもLレベルとなるので、RBCはシステムクロックXTALのカウント動作を開始する。また、信号SYSRSTの立ち下がりに対応して(t2)、D−FFのCLR端子はHレベルになるので、その後、D型フリップフロップD−FFのクロック端子CKに信号が供給されると、HレベルのD入力がQ出力端子に現れることになる。
【0030】
一定時間後、リップルカウンタRBCのカウント動作の結果、RBCのQ5出力がHレベルとなる(t3)。すると、これに対応してシステムリセット信号RSTは、図6(g)に示すようにHレベルとなる。なお、リップル・キャリー・バイナリ・カウンタRBCのカウント段数で決まるt2からt3までの間、システムリセット信号RSTがLレベルであることによってZ80CPUを正しくリセット状態にすることができる。
【0031】
その後の動作も説明すると、リップルカウンタRBCのQ5出力はやがてLレベルとなり、これに合わせてRBCのQ6出力はHレベルとなる(t4)。すると、リップルカウンタRBCのQ6出力の立ち上がりに対応して、D−FFのQ出力はHレベルとなる。そして、リップルカウンタRBCのクリア端子CLRがHレベルになることにより、これ以降のリップルカウンタRBCの全出力はLレベルに維持されることになる。
【0032】
図7は、主制御基板39で実行される遊技制御プログラムのメインルーチンを示すフローチャートである。電源がON状態になると、図5に示すシステムリセット回路52の動作によってワンチップマイコンLE2080AのCPUコア(Z80相当品)にリセット信号が加わり、図7に示す処理が開始される。
【0033】
メインルーチンでは、最初に、Z80CPUは、自らを割込み禁止状態(DI)に設定し、Z80CPUコアを含むワンチップマイコンの各部を初期設定する(ST1)。なお、電源がON状態になる場合には2つのパターンがあり、停電状態からの復旧時のように、初期化スイッチ85がOFF状態で電源がON状態になる場合と、パチンコホールの開店時のように、初期化スイッチ85がON状態で電源がON状態になる場合があるが、いずれの場合もステップST1の処理が実行される。
【0034】
ステップST1の処理が終わると、次に、CPUは、ウォッチドッグタイマWDTにタイマクリア信号を出力する(ST2)。そのため、ウォッチドッグタイマWDTの充放電用のコンデンサC1は、このタイミングで必ず放電状態となり、その後、予期しない早期のタイミングにおいてウォッチドッグタイマWDTからCPUリセット信号URSTが出力される恐れはない。
【0035】
次に、CPUは割込みモード2に設定される(ST2)。なお、割込みモード2とは、Z80の3つの割込みモード(モード0、1、2)の中で、最も強力な割込みモードであり、CPU内部のIレジスタに記憶された1バイトデータと、割込み時にCPUがデータバスから取得する割込みベクタ(1バイト)とを組合せて、最大128個の割込み処理ルーチンにハードウェア的に分岐できる割込みモードを意味する。
【0036】
この割込みモード2の設定の後、CPUは、RAMクリア信号の値を判定する(ST3)。RAMクリア信号は、RAM領域を初期値設定するか否かを示す信号であって、初期化スイッチ85のON/OFF状態に対応した値を有している。今、パチンコホールの開店時であって、初期化スイッチ85がON状態で電源投入されたと仮定すると、ステップST3の判定がYesとなり、RAMのワークエリアが初期化され、その他のRAM領域がゼロクリアされる(ST5)。そして、CPUは割込み許可状態(EI)に設定され(ST5)、その後は無限ループ状に乱数発生処理が行われる(ST6)。なお、ステップST6の処理は、後述する大当り判定処理などの判定によって外れ状態となった場合に、どのような態様の外れゲームを演出するかを決定するための処理である。
【0037】
一方、停電状態からの復旧時のように、初期化スイッチ85がOFF状態であった場合には、ステップST3の判定に続いて、バックアップフラグBFLの内容が判定される(ST4)。バックアップフラグBFLとは、NMI処理において退避されていた中断動作時のバックアップデータが、元の状態に復帰されているか否かを示すデータであり、この実施例では、ステップST25の処理でバックアップフラグBFLが5AHとされ、ステップST12の処理においてゼロクリアされるようになっている。
【0038】
今、停電状態からの復旧時を想定すると、バックアップフラグBFLの内容は5AHである。そのため、CPUの処理は、ステップST4からステップST7に移行し、RAMのSP記憶エリアから読み出された16ビットデータがCPUのスタックポインタSPに書き込まれる(ST7)。
【0039】
次に、停電時のNMI処理において退避されていた各データを読み出して、バックアップされたコマンドを復帰させる処理を行う(ST8)。ここでコマンドとは、主制御基板から各制御基板に伝送されるコマンドであって、画像や音声によってゲームを盛り上げたり、或いは、賞球を払出すためのものであるが、CPUは、退避データを読み出すことによって必要なコマンドを作成する。次に、CPUは、POP命令を実行して、スタックエリアからAFレジスタを除く各レジスタ(BC,DE,HL)の値を復帰させる(ST9)。そして、この処理が終われば、SP記憶エリアのデータをゼロクリアする(ST11)。なお、このステップST11の処理は、技術的には必ずしも必須ではないが、公的機関からの指導に基づくものであり必ず実行される処理である。
【0040】
以上の処理の結果、停電時からの復帰処理は一応完了するので、そのことを示すべくバックアップフラグBFLをゼロクリアする(ST12)。このように、本実施例では、SP記憶エリアのデータをゼロクリアする処理(ST11)と、バックアップフラグBFLをゼロクリアする処理(ST12)とを連続して実行しているので、SP記憶エリアのデータがゼロクリアされたが、バックアップフラグBFLがゼロクリアされていない状態で、ユーザリセット信号URSTがCPUに加わる可能性が極限的に小さくなり、異常事態発生の可能性が殆どない。
【0041】
すなわち、SP記憶エリアのデータがゼロクリアされたが、バックアップフラグBFLがゼロクリアされていない状態において、何れかの回路の予期せぬ誤動作によってCPUがリセットされると、リセット後の動作において、ステップST4の次にステップST7の処理が行われるため、スタックポインタSPには0000Hに設定されることになる。
【0042】
すると、その後の復帰処理(POP命令)においてはデタラメなデータが復帰されることになって、中断前とは全く無関係の遊技動作が再開されるか、或いはプログラムが暴走するかの事態が生じてしまう。しかし、本実施例では、SP記憶エリアのデータをゼロクリアする処理(ST11)と、バックアップフラグBFLをゼロクリアする処理(ST12)とを連続して実行するので、そのような可能性が事実上ゼロとなる。なお、ステップST2のタイミングでウォッチドッグタイマWDTをクリアしていることも、上記した異常事態発生の防止に大きく寄与している。
【0043】
このように、本実施例では、ステップST11とST12を連続して実行する点に特徴があるが、AFレジスタの復帰が完了していないのに、SP記憶エリアのデータをゼロクリアし、且つバックアップフラグBFLをゼロクリアするのは、ST11やST12の処理ではAレジスタを使用するしかないので、これらST11やST12の処理を後回しにすると折角復帰させたAレジスタのデータが壊れてしまうからである。
【0044】
そのため、この実施例では、バックアップフラグBFLをゼロクリアした後にIレジスタやAFレジスタの復帰処理を行っている。具体的には、先ず、POPAFの命令を実行してIレジスタの内容をFレジスタに復帰させている(ST13)。NMIの割込み処理プログラムでは、Iレジスタの値をAレジスタにロードした後、Aレジスタの値をPUSHしているので(図8(c)参照)、このPOP命令によってFレジスタのP/Vフラグには、CPU内部の割込み許可フリップフロップIFFの値が格納されることになる。
【0045】
ここで、P/Vフラグが1の場合にはNMI処理時のCPUが割込み許可状態であったことになり、逆に、P/Vフラグが0の場合にはNMI処理時のCPUが割込み禁止状態であったことになる。そこで、P/Vフラグが0なら再度POP命令を実行してAFレジスタの値を復帰し、割込み禁止状態のままRET命令を実行する(ST15、ST16)。一方、P/Vフラグが1なら再度POP命令を実行してAFレジスタの値を復帰すると共に、割込み許可状態に変更してRET命令を実行する(ST17〜ST19)。何れにしても、RET命令が実行されることによって、スタック領域にPUSH処理されていた中断時のPC(プログラムカウンタ)の値が復元され、停電等により中断されていた処理が再開されることになる。
【0046】
ところで、ステップST12の処理を終えた後に、ウォッチドックタイマWDTからCPUリセット信号URSTは発せられるようなことがあると、再リセットされた後のCPUの処理は、ステップST4からステップST5に移行するので、もはや中断した遊技動作を再開できなくなる。しかし、このパチンコ機では、CPUがリセットされた後、直ぐにウォッチドックタイマWDTをクリアしているので(ST2)、無意味にCPUがリセットされる恐れは極めて低い。
【0047】
なお、CPUがリセットされる恐れを更に解消する趣旨からは、図7の破線で示すように、停電時からの復帰処理完了を示す処理(ST11,12)に先だって、ステップST10のタイミングでウォッチドッグタイマWDTにタイマクリア信号を出力しても良い。この場合には、ステップST2のタイミングに代えて(或いはステップST2のタイミングに加えて)同様の処理を行うので、仮に、RET命令実行後も割込み禁止状態が長引いたとしても、ウォッチドッグタイマWDTからCPUにリセット信号URSTが加わることはない。また、自走状態におけるウォッチドッグタイマWDTのリセット出力のHレベル期間TWDを短く設定して(具体的には時定数C1×R1を小さくする)、プログラム暴走時の対応を迅速化しても、そのことに伴うトラブルが生じない。
【0048】
図8は、停電などによって電源電圧が降下した際に生じるNMIの割込み処理プログラムの内容を示すフローチャートである。この割込み処理では、先ず、各レジスタ(AF,I,BC,DE,HL)の内容がスタックエリアにPUSHされる(ST20)。但し、Iレジスタの値を直接スタックエリアにPUSHすることはできないので、LD A,Iの命令を実行した後、PUSH AFの命令を実行することで代行している。
【0049】
次に、図8(b)に示すバックアップフラグBFLの記憶エリアの内容をチェックし、また、SP記憶エリアの内容をチェックする(ST21)。図7のステップST11、ST12に関して説明したように、NMI割込みから正常に復帰した場合には、バックアップフラグBFLやSP記憶エリアの内容はゼロの筈である。したがって、ステップST21の判定において、双方ともゼロであるとの条件が成立しない場合とは、NMI割込みの復帰処理中(ST1〜ST10)の間に、改めてNMI割込みが生じたことを意味する。
【0050】
このような場合には、ステップST22以降の処理に移行しても、ステップST22において、NMI割込み時のスタックポインタSPの値が破壊されるので停電前の状態を復元することができなくなる。そこで、この実施例では、NMI割込みの復帰処理中(ST1〜ST10)の間に、再度、電源電圧が降下して改めてNMI割込みが生じたような場合には、0000H番地に処理を移行させるようにしている。このように対応することによって、メインルーチンの処理は、ステップST1からステップST4に進み、更に、ステップST7に進むことによって中断前の処理を復元することが可能となる。
【0051】
ところで、バックアップフラグBFLやSP記憶エリアの内容が共にゼロである通常の場合には、ステップST21からステップST22に処理が移り、ステップST20におけるPUSH命令実行後のスタックポインタSPの値が、RAMのSP記憶エリアに保存される(ST22)。図8(b)(c)は、各レジスタ(AF,I,BC,DE,HL)やスタックポインタSP、プログラムカウンタPCの退避状態を図示している。
【0052】
続いて、現在、賞球を払出し中の場合もあるので、賞球計数スイッチの状態を検出して記憶する(ST23)。なお、所定時間待機するのは(ST24)、払出し中の賞球が移動する時間を考慮したものである。その他、図示していないが、必要なデータをバックアップした後、バックアップフラグBFLのRAMエリアにフラグ値5AHを記憶し(ST25)、以降、RAMのアクセスを禁止して電源電圧が降下してCPUが非動作状態になるのを待つ(ST26)。その後、CPUは非動作状態となるが、RAMにはバックアップ電源が供給されているので、バックアップされたデータがそのまま保存され続ける。すなわち、電源が完全に遮断された後もRAMエリアは、図8(b)(c)の状態のまま維持される。
【0053】
図9は、メインルーチン(図7)の無限ループ処理(ST6)の間に2msec毎に生じるタイマ割込みINT(Maskable Interrupt禁止可能割込み)の割込み処理プログラムの内容を示すフローチャートである。タイマ割込みが生じると、各レジスタの内容はスタック領域に退避され、乱数作成処理、スイッチ入力管理処理、エラー管理処理などが行われる(ST30)。スイッチ入力管理処理は、ゲートや電動チューリップなどを遊技球が通過したか否かの判定であり、エラー管理処理は、機器内部に異常が生じていないかの判定である。また、乱数作成処理とは、ハードウェア的に更新されている当り用乱数値や大当たり乱数値の取得処理を意味する。
【0054】
その後、処理分けカウンタの値が判定されて、ST32〜ST36のうちの該当する処理が行われる。上記したエラー管理やスイッチ管理は、短い時間間隔で繰り返し行うべきであるが、一方、パチンコゲームの演出に係わる処理は遊技者のニーズに応じて複雑高度化するため、ある程度以上の処理時間を要することになる。そこで、この実施例では、全ての遊技制御動作を1回の割込み処理で完了させのではなく、5種類の処理に区分し、区分された各処理を割込み毎に分担して実行するようにしている。そのため、0〜4の範囲で循環動作する処理分けカウンタを設けて、処理分けカウンタの値に応じた処理を行うようにしている。
【0055】
具体的に説明すると、処理分けカウンタが0の場合には大入賞口の開放などに関する処理を行い(ST32)、処理分けカウンタが1の場合には当り状態(電動チューリップの開放)か否かに関する普通図柄処理を行い(ST32)、処理分けカウンタが2の場合には大当り状態か否かに関する処理を行っている(ST32)。また、処理分けカウンタが3の場合には、電動チューリップや大入賞口の開閉タイミングに関係するタイマ管理処理や、主制御基板から各制御基板に伝送されるコマンド作成処理が行われる(ST35)。処理分けカウンタが4の場合には、情報出力やエラー表示コマンドの作成処理が行われる(ST36)。そして、その後、ウォッチドッグタイマWDTにタイマクリア信号を出力するようにしている(ST37)。
【0056】
ステップST37の処理は、5回目の割込み処理において実行されるので、ステップST37におけるタイマクリア信号の発生周期は、通常は2msec×5である。しかし、NMIの割込みが生じた後、電源が復旧したような場合には、更にメインルーチン(図7)の処理が加わるので、2msec×5より長い時間タイマクリア信号が発生しなことになる。しかし、本実施例の場合にはステップST1〜ST19の処理の間に少なくとも1回、ウォッチドッグタイマWDTにタイマクリア信号が出力されるので、停電などからの復旧後、意味もなくCPUがリセットされて中断した処理に戻れないという弊害はない。
【0057】
ステップST32〜ST36の何れかの処理が終わると、処理分けカウンタの値が更新された後(ST39)、生成されているコマンドが各制御基板に伝送される(ST40)。また、各レジスタの値が復帰されると共に割込み許可状態に変更されて、割込み処理ルーチンからメインルーチンに戻る(ST40)。なお、図9の破線で示すように、各割込み毎にウォッチドッグタイマWDTにタイマクリア信号を出力しても良く(ST38)、この場合には、充放電コンデンサC1の充電完了までの時間をより短く設定して、プログラムの暴走をより迅速に検知してCPUをリセット状態にすることが可能となる。
【0058】
以上、本発明の一実施例について説明したが、具体的な技術内容は、特に、本発明を限定するものではない。例えば、図7に記載したステップST11とステップST12の処理順序を逆転されるのも好適である。すなわち、このような実施態様では、如何なる場合にも、SP記憶エリアがゼロクリアされているにも係わらず、バックアップフラグがゼロクリアされていない状態でCPUがリセットされることはない。最悪でも、バックアップフラグがゼロクリアされているにも係わらず、SP記憶エリアがゼロクリアされていない状態でCPUがリセットされる程度である。そして、この最悪の事態でも、バックアップフラグがゼロクリアされているので、ステップST4の処理の後、ステップST5の処理に移行してリセット処理が正しく行われる。
【0059】
【発明の効果】
以上説明したように、本発明によれば、中断された遊技動作が再開されるに際して、万一、電源電圧の変動やその他の電気的トラブルがあったとしても、極力、元のゲームが再現することが可能となる。
【図面の簡単な説明】
【図1】実施例に係るパチンコ機の斜視図である。
【図2】図1のパチンコ機の側面図である。
【図3】図1のパチンコ機の正面図である。
【図4】図1のパチンコ機の背面図である。
【図5】ウォッチドッグタイマ回路とシステムリセット回路の回路例である。
【図6】システムリセット回路の回路動作を説明するタイムチャートである。
【図7】実施例に係る遊技制御プログラムのメインルーチンのフローチャートである。
【図8】停電時などに実施されるNMI割込み処理プログラムのフローチャートである。
【図9】タイマ割込みにおけるINT割込み処理プログラムのフローチャートである。
【符号の説明】
WDT リセット手段(ウォッチドッグタイマ)
2 遊技機(パチンコ機)
ST6 無限ループ処理
ST1〜ST19 第1処理
ST30〜ST41 第2処理
ST20〜ST26 第3処理
ST11 SP記憶エリアのクリア処理
ST12 バックアップフラグのリセット処理
ST22 SPの値をSP記憶エリアに保存する処理
ST25 バックアップフラグをセットする処理
Claims (3)
- 制御プログラムに基づいて遊技動作を制御するCPUを有し、遊技者に有利な第1状態と遊技者に不利な第2状態とを択一的に選択可能な遊技機であって、
前記制御プログラムは、電源投入に対応して開始され、無限ループ処理を含んで構成された第一処理と、所定時間毎に前記第一処理を中断して開始され、繰り返し遊技動作を制御する第二処理と、電源電圧が所定レベルを下回ると強制的に開始され、退避エリアへのデータ退避処理を行う第三処理とを含み、
前記第三処理では、前記データ退避処理が完了したことを示すバックアップフラグがクリアされた第1状態である場合には、前記データ退避処理の後、スタックポインタの値を特定記憶エリアに保存すると共に前記バックアップフラグを所定値に設定することで第2状態に設定する一方、前記バックアップフラグが第1状態でない場合には、本来ならその後に実行される、前記スタックポインタの値を前記特定記憶エリアに保存するセーブ処理を実行することなく、前記第一処理の最初の処理に移行しており、
前記第一処理では、前記バックアップフラグが第2状態であることを条件に、前記特定記憶エリアの保存内容に基づいて前記スタックポインタの値を設定した後、前記退避エリアに退避されているデータのデータ復帰処理を開始し、その後、前記バックアップフラグを第1状態に設定しており、
前記データ退避処理における前記退避エリアの退避先や、前記データ復帰処理における前記退避エリアの復帰元は、前記スタックポインタによって特定される遊技機。 - 前記制御プログラムにしたがった正常な処理がされなくなった場合には、リセット手段が機能して遊技動作を強制的に初期状態に戻すようにした遊技機であって、前記第一処理には、前記リセット手段の動作を初期状態に戻すクリア処理が含まれている請求項1に記載の遊技機。
- 前記リセット手段は、一定時間以内に前記制御プログラムがクリア処理を実行しているか否かによって、正常な遊技動作が実現されているか否かを判定している請求項2に記載の遊技機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001052827A JP3953281B2 (ja) | 2001-02-27 | 2001-02-27 | 遊技機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001052827A JP3953281B2 (ja) | 2001-02-27 | 2001-02-27 | 遊技機 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006177625A Division JP4372122B2 (ja) | 2006-06-28 | 2006-06-28 | 遊技機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002253821A JP2002253821A (ja) | 2002-09-10 |
JP3953281B2 true JP3953281B2 (ja) | 2007-08-08 |
Family
ID=18913398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001052827A Expired - Fee Related JP3953281B2 (ja) | 2001-02-27 | 2001-02-27 | 遊技機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3953281B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5043087B2 (ja) * | 2009-10-21 | 2012-10-10 | 株式会社藤商事 | 遊技機 |
JP5318986B2 (ja) * | 2012-03-16 | 2013-10-16 | 株式会社藤商事 | 遊技機 |
-
2001
- 2001-02-27 JP JP2001052827A patent/JP3953281B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002253821A (ja) | 2002-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4789862B2 (ja) | 遊技機 | |
JP4264593B2 (ja) | 遊技機 | |
JP3859129B2 (ja) | 遊技機 | |
JP4587997B2 (ja) | 遊技機 | |
JP3860972B2 (ja) | 遊技機 | |
JP4805968B2 (ja) | 遊技機 | |
JP3953281B2 (ja) | 遊技機 | |
JP3779883B2 (ja) | 遊技機 | |
JP4308214B2 (ja) | 弾球遊技機 | |
JP4712650B2 (ja) | 遊技機 | |
JP4372122B2 (ja) | 遊技機 | |
JP4024235B2 (ja) | 遊技機 | |
JP3949898B2 (ja) | 遊技機 | |
JP4206098B2 (ja) | 遊技機 | |
JP4308221B2 (ja) | 遊技機 | |
JP3917389B2 (ja) | 弾球遊技機 | |
JP3612053B2 (ja) | 遊技機 | |
JP3775723B2 (ja) | 遊技機 | |
JP3938495B2 (ja) | 遊技機 | |
JP2001198330A (ja) | 遊技機 | |
JP3891804B2 (ja) | 遊技機 | |
JP4024233B2 (ja) | 遊技機 | |
JP4056501B2 (ja) | 遊技機の異常リセット判定方法 | |
JP4024234B2 (ja) | 遊技機 | |
JP2003210795A (ja) | 遊技機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050720 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060328 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20060613 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060628 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20061114 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070111 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070403 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070424 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110511 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120511 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130511 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140511 Year of fee payment: 7 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |