JP5285165B2 - 遊技機 - Google Patents

遊技機 Download PDF

Info

Publication number
JP5285165B2
JP5285165B2 JP2012029878A JP2012029878A JP5285165B2 JP 5285165 B2 JP5285165 B2 JP 5285165B2 JP 2012029878 A JP2012029878 A JP 2012029878A JP 2012029878 A JP2012029878 A JP 2012029878A JP 5285165 B2 JP5285165 B2 JP 5285165B2
Authority
JP
Japan
Prior art keywords
power
routine
interrupt
control unit
execution
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.)
Active
Application number
JP2012029878A
Other languages
English (en)
Other versions
JP2012115703A (ja
Inventor
明利 金子
博之 伊庭
泰一 堤
浩平 松浦
佑輔 山本
恵 吉澤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Heiwa Corp
Original Assignee
Heiwa Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Heiwa Corp filed Critical Heiwa Corp
Priority to JP2012029878A priority Critical patent/JP5285165B2/ja
Publication of JP2012115703A publication Critical patent/JP2012115703A/ja
Application granted granted Critical
Publication of JP5285165B2 publication Critical patent/JP5285165B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Pinball Game Machines (AREA)

Description

本発明は、遊技機における電源断発生時のメモリバックアップ技術に関する。
従来においては、停電等によりパチンコ機等の遊技機に電源断が発生した場合、電源復帰時に遊技機を電源断時の状態に戻す技術が存在した。このような技術では、遊技機で電源断が検出された時、ノンマスカブル割込み(NMI)を発生させて電源断時のメモリ内容をバックアップするといった方式が一般的であった。
しかしながら、NMIはマスク不可能な割込みであるため、電源断が検出された時点でどのような処理が実行されていたとしても強制的にNMIが発生してしまう。このため、遊技制御処理やサブルーチン等の複雑な処理が実行されている最中にNMIが発生した場合には、CPUのレジスタやプログラムカウンタ等の処理中の内容を他のメモリにバックアップ(退避、保存)し、また、電源復帰時にはバックアップしたデータを元に戻して中断された処理を再開するといった制御を行う必要があった。このため、バックアップのためにメモリを大量に消費するとともに、電源断発生時の処理や電源復帰時の処理を行うプログラムが複雑になるという問題点があった。
特許文献1には、ポーリングにより電源遮断信号を検出する技術が記載されている。しかしながら、特許文献1においては、電源遮断信号を検出すると遊技処理中であっても即座に割込みを発生させ退避処理を実行している。
特許文献2には、遊技処理を実行するメインルーチンの最終段階で電断信号を検出した場合に、遊技処理中のデータをメモリにバックアップする技術が記載されている。
特開2004−174150号公報(段落0010,0011) 特開2003−290454号公報(段落0009)
しかしながら、特許文献1、2とも、電源断検出処理(電源断発生の判定処理、及び、電源断が発生した時のバックアップ等の電源断時処理)中に何らかの割込み処理が実行される可能性がある。電源断検出処理中に割込み処理が実行された場合には、電断発生の判定処理や電源断時処理が複雑となってしまい、電源断検出処理を正確に行うことができない。また、電源復帰時の処理が複雑になってしまう。
本発明は、上記問題点に鑑みてなされたものであり、電源断検出処理及び電源復帰時の処理が複雑になることを防止できる遊技機を提供することを目的とする。
上記課題を解決するために、請求項1に記載の発明は、電源の供給を受けて動作する遊技機において、所定の遊技制御処理を繰り返し実行するルーチンと、該所定の遊技制御処理を繰り返し実行するルーチンの実行中に起動される割込みルーチンと、の実行を制御する実行制御手段と、電源の供給が途絶えても記憶内容を保持する記憶手段と、を備え、前記実行制御手段は、前記所定の遊技制御処理を繰り返し実行するルーチンにおいて、前記割込みルーチンの実行を禁止した状態で、電源断が発生したか否かを判定する処理である判定処理と、該判定処理で電源断が発生したと判定された場合に、電源断が発生するまでに行われていた処理に係るデータを前記記憶手段に保持させるために、前記記憶手段へのアクセスを禁止する電源断時処理と、を含む電源断検出処理を実行することを特徴とする遊技機を提供する。
この発明によれば、遊技機は、割込みルーチンの実行を禁止した後に電源断検出処理を実行するため、電源断検出処理中に割込みルーチンが実行されることがなくなり、電源断時処理が複雑になることを防止できる。また、遊技機は、電源復帰時の処理においても、レジスタ、割込み状態、及び、スタックポインタ等の内容を元に戻す必要もないし、復帰させたプログラムカウンタに従ってプログラム中断点から処理を再開する必要もなく、復帰処理が複雑になることを防止できる。
請求項2に記載の発明は、請求項1に記載の遊技機において、前記実行制御手段は、前記所定の遊技制御処理を繰り返し実行するルーチンにおいて、前記割込みルーチンが所定回数実行される毎に実行される処理であるメインルーチン内遊技制御処理を行い、前記メインルーチン内遊技制御処理が終了する毎に、前記割込みルーチンの実行を禁止した後、前記電源断検出処理を実行することを特徴とする。
この発明によれば、メインルーチン内遊技制御処理の実行中や割込みルーチンの実行中に電源断検出処理が実行されることがなくなるため、割込み状態やプログラムカウンタやレジスタの内容をバックアップしておく必要がなくなる。従って、メモリの消費量を抑えつつ、電源断検出処理を正確に行うことができる。
請求項3に記載の発明は、請求項1又は2に記載の遊技機において、前記割込みルーチンは、所定の周期で発生するタイマ割込により起動され、前記実行制御手段は、前記割込みルーチンにおいて、電源の供給が途絶えた場合に発生する電源断検出信号を検出する処理を実行することを特徴とする。
この発明によれば、遊技機は、所定の周期で起動される割込みルーチンにおいて、ポーリングにより電源断検出信号の検出を行うことができるため、規則正しく電源断検出信号の検出を正確に行うことができる。
本発明によれば、遊技機は、割込みルーチンの実行を禁止した状態で電源断検出処理を実行するため、電源断検出処理中に割込みルーチンが実行されることがなくなり、電源断検出処理を正確に行うことができる。
本発明の実施の形態に係るパチンコ機の正面図である。 同実施の形態に係るパチンコ機の電気的構成を示す図である。 同実施の形態に係る主制御部が備えるマイクロコンピュータの構成を示す図である。 同実施の形態に係るCPUの構成を示す図である。 同実施の形態に係るRAMの構成を示す図である。 同実施の形態に係るメインルーチンの処理の流れを示すフローチャートである。 同実施の形態に係る割込みルーチンの処理の流れを示すフローチャートである。 同実施の形態に係る電源断検出信号チェック処理の流れを示すフローチャートである。 同実施の形態に係る電源断検出処理の流れを示すフローチャートである。 同実施の形態に係る各処理の処理タイミングを示すタイムチャートである。
以下、図面を参照して本発明の実施の形態について説明する。まず、遊技機の一例であるパチンコ機の全体の構成について説明する。図1は、パチンコ機1の正面図であり、特に説明に必要な部分を模式的に示した図である。
図1に示すように、パチンコ機1は、額縁状に形成されたガラス扉枠2を有する。ガラス扉枠2の下部表面には打球供給皿3が設けられている。打球供給皿3の下部には、遊技球を発射するハンドル5が設けられている。ガラス扉枠2の後方には、遊技盤6が着脱可能に取り付けられている。また、遊技盤6の前面には遊技領域7が設けられている。
遊技領域7の中央付近には、複数種類の図柄を可変表示するための特別図柄表示装置9が設けられている。特別図柄表示装置9には、例えば、「左」、「中」、「右」の3つの図柄表示エリアがある。特別図柄表示装置9の上部には、始動入賞口14に入った入賞球数を表示する4個のランプを有する始動記憶表示器18が設けられている。この例では、始動記憶表示器18は、始動入賞がある毎に4個を上限として点灯しているランプを1つずつ増やす。そして、特別図柄表示装置9の可変表示が開始される毎に点灯しているランプを1つ減らす。
特別図柄表示装置9の下部には始動入賞口14が設けられている。始動入賞口14は特別図柄始動口開閉装置141によって開閉される。始動入賞口14の側部には、普通図柄作動ゲート11が設けられている。遊技領域7の下部には、7セグメントLEDで構成された普通図柄表示装置10が設けられている。その他、遊技領域7には、複数の一般入賞口19,24が設けられている。始動入賞口14の下部には大入賞口20が設けられている。大入賞口開閉装置201は、特定遊技状態(大当り状態)において開状態とされる。
遊技領域7の最下部には、入賞しなかった遊技球を吸収するアウト口26が設けられている。遊技領域7の左右周辺には、遊技中に点滅表示される遊技盤表示灯25が設けられ、また、遊技領域7の外側の上部には、効果音を発するスピーカ27が設けられている。また、遊技領域7の外部には本体表示灯28が設けられている。
発射装置から打ち出された遊技球は、打球レールを通って遊技領域7に入り、その後、遊技領域7を下りてくる。遊技球が普通図柄作動ゲート11を通ると、普通図柄表示装置10の表示数字が連続的に変化する状態になる。また、遊技球が始動入賞口14に入ると、図柄の変動を開始できる状態であれば、特別図柄表示装置9内の図柄が回転を始める。図柄の変動を開始できる状態でなければ、始動入賞記憶を1増やす。
特別図柄表示装置9内の画像の回転は、一定時間が経過したときに停止する。停止時の画像の組み合わせが大当り図柄の組み合わせであると、大当り遊技状態に移行する。すなわち、大入賞口開閉装置201が、一定時間経過するまで、または、所定個数(例えば10個)の遊技球が入賞するまで開放する。そして、大入賞口開閉装置201の開放中に遊技球が特定入賞領域に入賞すると継続権が発生し、大入賞口開閉装置201の開放が再度行われる。継続権の発生は、所定回数(例えば15ラウンド)許容される。
停止時の特別図柄表示装置9内の画像の組み合わせが確率変動を伴う大当り図柄の組み合わせである場合には、次に大当りとなる確率が高くなる。すなわち、高確率状態という遊技者にとってさらに有利な状態となる。さらに、高確率状態では、普通図柄表示装置10における停止図柄が当り図柄になる確率が高められる。
次に、図2を参照して、パチンコ機1の電気的構成について説明する。
電源部40は、図示せぬ外部電源から24ボルトの交流電源の供給を受け、当該交流電源をパチンコ機1で使用する複数の定電圧の直流電源や粗整流の直流電源に変換する。そして、電源部40は、変換後の各種直流電源を主制御部31、払出制御部37、演出制御部32、及び、図柄制御部80に供給する。
また、電源部40には、電源回路やコンデンサ等のバックアップ電源41が搭載されている。電源部40は、外部電源からの電源の供給を監視し、電源の供給が途絶えた場合に、電源断検出信号を主制御部31及び払出制御部37に送信するとともに、バックアップ電源41を供給する。また、RAMクリアSW(ラムクリアスイッチ)42からの操作信号を受けて、ラムクリア信号を主制御部31及び払出制御部37に送信する。
また、パチンコ機1には遊技球を検出するための各種スイッチが設けられている。
特別図柄始動SW(スイッチ)17は、遊技球が始動入賞口14に入賞するのを検出した場合に、検出信号を主制御部31に送信する。普通図柄始動SW(スイッチ)15は、遊技球が普通図柄作動ゲート11を通過するのを検出した場合に、検出信号を主制御部31に送信する。カウントSW(スイッチ)23は、遊技球が大入賞口20に入賞するのを検出した場合に、検出信号を主制御部31に送信する。一般SW(スイッチ)16は、遊技球が一般入賞口19,24に入賞するのを検出した場合に、検出信号を主制御部31に送信する。
払出計数SW(スイッチ)47は、賞球が払出装置97により払い出されるのを検出した場合に、検出信号を払出制御部37に送信する。払出通路玉切SW(スイッチ)187は、球貯留タンクから払出装置97間における払出通路内の遊技球の有無を検出し、遊技球がないことを検出した場合に検出信号を払出制御部37に送信する。皿満タンSW(スイッチ)48は、打球供給皿3に貯留されている遊技球が満タンになったことを検出した場合に、検出信号を払出制御部37に送信する。
ハンドル5は、操作信号を発射制御部91に送信する。ラムクリアスイッチ42は、主制御部31及び払出制御部37に保存されている過去の遊技情報をクリアするためのスイッチであり、押しボタンタイプのスイッチで構成されている。
主制御部31は、パチンコ機1の裏側に設けられた図示せぬ主制御基板で構成される。主制御基板にはマイクロコンピュータが搭載されている。主制御部31は、各スイッチ17,15,23,16から入力される信号を解析し、解析結果に基づいて、制御コマンドを大入賞口開閉装置201、特別図柄始動口開閉装置141、及び、演出制御部32に送信する。また、主制御部31は、各種遊技状態を示す信号をホールコンピュータとの接続端子34に送信する。
図3には、主制御部31に搭載されているマイクロコンピュータの構成を示す。同図に示すように、マイクロコンピュータは、遊技制御用プログラムや各種パラメータが記憶されているROM54、ワークメモリとして使用されるRAM55、遊技制御用プログラムに従って処理を実行するCPU56、及び、I/Oポート57で構成されている。I/Oポート57は、各スイッチ17,15、23、16、演出制御部32、払出制御部37等の外部装置に接続され、信号の入出力を制御する。
図4には、CPU56の構成を示す。CPU56は、汎用レジスタ、フラグレジスタ、インデックスレジスタ、スタックポインタ、割込みレジスタ、リフレッシュレジスタ、プログラムカウンタ、命令レジスタ、命令レコーダ、演算装置、制御装置等を備えている。各レジスタは、演算結果、次に読み込む命令のアドレス、実行状態等を保持する。
図5には、RAM55の構成例を示す。同図に示すように、RAM55には、遊技関連制御用変数使用領域55aとスタック領域55bとが設けられている。パチンコ機1に使用されるRAM55の記憶容量は、一般的には256バイト又は512バイトである。
遊技関連制御用変数使用領域55aには、パチンコ機1に電源断が発生したか否かを示す電源断発生情報が記憶される「電源断発生情報フラグ」領域と、電源復帰後のRAM55に異常がないかを確認するためのチェックサムが記憶される「チェックサムバッファ」領域と、各種スイッチから入力された信号の状態が記憶される「入力状態フラグn(n=1、2、・・・)」領域と、割込みルーチンを実行した回数が記憶される「割込み回数カウンタ」領域と、割込みルーチンで検出される電源断検出信号が連続してオンであった(つまり、電源断の状態が検出された)回数(電源断検出回数)が記憶される「電源断信号オンカウンタ」と、確率変動時間短縮機能を実現するために用いられる「回数切りカウンタ」と、が設けられている。
スタック領域55bは、CPU56のワーキングエリアとして用いられ、割込み発生時や、サブルーチンや関数を呼び出す際に、処理中のデータや戻りアドレスなどを一時的に退避する。
CPU56がROM54に記憶されている遊技制御用プログラムに従って処理を実行することにより、主制御部31は実行制御手段及び電源断検出手段として機能する。
実行制御手段は、電源投入時に起動されるメインルーチンと、当該メインルーチンの実行中に所定の周期(本実施の形態では2ms)で発生するタイマ割込みにより起動される割込みルーチンと、の実行を制御する手段である。
メインルーチンにおいては、処理時間の変動が大きい、または、比較的処理時間が長い処理や、2msという短い周期で実行する必要のない遊技制御処理(以下「メインルーチン内遊技制御処理」という)が実行される。また、割込みルーチンにおいては、比較的短い周期で正確に行う必要のある処理が実行される。具体的には、スイッチの入力処理、当りに関連する乱数の更新処理等の遊技制御処理(以下「割込みルーチン内遊技制御処理」という)、及び、電源断検出回数を計数する処理が行われる。これらのメインルーチン内遊技制御処理、及び、割込みルーチン内遊技制御処理の実行中に電源断が発生した場合には、CPU56のレジスタにおける処理途中のデータがバックアップ対象のデータとなる。
電源断検出手段は、電源断検出処理(電源断発生の判定処理、及び、データのバックアップ等の電源断発生時に実行すべき電源断時処理)を実行する手段である。この電源断検出処理は、メインルーチンにおいて実行される。電源断発生の判定処理においては、割込みルーチンでポーリングによる電源断検出信号に基づいて計数された電源断検出回数が2回以上である場合に電源断が発生したと判定される。実行制御手段は、メインルーチンの一周期におけるメインルーチン内遊技制御処理の終了後、タイマ割込みの発生を禁止した後に当該電源断検出手段により電源断処理を実行する。
また、パチンコ機1は、サブ基板として、演出制御部32、表示灯制御部35、音声制御部70、図柄制御部80、払出制御部37、及び、発射制御部91を備えている。
演出制御部32は、主制御部31からの制御コマンドを受けて、表示灯制御部35、音声制御部70、及び、図柄制御部80を制御する。表示灯制御部35は、遊技盤6に設けられている始動記憶表示器18及び遊技盤表示灯25の表示制御を行うとともに、枠側に設けられている本体表示灯28の表示制御を行う。音声制御部70は、スピーカ27からの音声出力制御を行う。図柄制御部80は、特別図柄表示装置9及び普通図柄表示装置10の表示制御を行う。発射装置92は、発射制御部91によって制御される駆動モータで駆動され、遊技球を打撃して発射する。
払出制御部37は、パチンコ機1の裏側に設けられた図示せぬ払出制御基板で構成され、賞球の払出を制御する。払出制御部37は、主制御部31と同様、CPU、ROM、RAM、及び、I/Oポートを備えており、払出制御部37のCPUがROMに記憶されている払出制御用プログラムに従って処理を実行することにより、払出制御部37は実行制御手段及び電源断検出手段として機能する。
払出制御部37の実行制御手段は、電源投入時に起動されるメインルーチンと、当該メインルーチンの実行中に所定の周期で発生するタイマ割込みによって起動される割込みルーチンと、の実行を制御する手段である。
払出制御部37で実行される割込みルーチンにおいては、主制御部31からの払出制御コマンドを検出する処理と、電源部40からの電源断検出信号に基づいて電源断検出回数を計数する処理とが行われる。払出制御部37のタイマ割込みは、主制御部31と同様に2ms毎に発生する。
払出制御部37の電源断検出手段は、電源断検出処理を実行する手段である。ここで、払出制御部37の電源断検出手段が、実際の電源断発生時点から電源断が発生したと判断し電源断時処理を行うまでの時間は、主制御部31の電源断検出手段よりも長くなるように設計されている。本実施の形態においては、払出制御部37の電源断検出手段は、電源断信号オンカウンタが“4”(電源断検出回数が4回)であった場合に電源断が発生したと判断する。
払出制御部37は主制御部31から送信される払出制御コマンドにより払出制御を行っているため、主制御部31と同じタイミングかそれより早いタイミングで電源断時処理を行うと、払出制御部37は主制御部31からコマンドを受け取る前に電源断状態となってしまい、主制御部31との整合性が取れなくなってしまう。本実施の形態では、主制御部31、払出制御部37ともに2ms毎にタイマ割込みを発生させ、主制御部31は電源断検出回数が2回であった場合に(およそ4ms)電源断時処理を行うのに対して、払出制御部37ではタイマ割込み発生のタイミングのずれも勘案して、電源断検出回数が4回であった場合に(およそ8ms)電源断時処理を行う。
次に、パチンコ機1が備える主制御部31の動作について説明する。
[メインルーチン]
図6は、主制御部31のCPU56が実行するメインルーチンを示すフローチャートである。まず、パチンコ機1に対して電源が投入されると、CPU56は、ROM54に記憶された遊技制御プログラムに従い、RAM55をワークエリアとして用いてメインルーチンを実行する。メインルーチンにおいて、CPU56は、まず、必要な初期設定処理を行う。
具体的には、CPU56は、スタックポインタにスタックポインタ指定アドレスを設定する(ステップS101)。次に、割込みモードを“2”に設定する(ステップS102)。本実施の形態で用いられるCPU56には、マスク可能な割込み(INT)のモードとして、カウンタタイマを使用する割込みモード“2”が用意されている。なお、マスク可能な割込みが発生すると、CPU56は、他の割込みを禁止状態に設定するとともに、プログラムカウンタの内容をRAM55のスタック領域55bにセーブする。
そして、RAM55をアクセス可能状態に設定する(ステップS103)。
次に、内蔵デバイスレジスタの設定を行う(ステップS104)。具体的には、内蔵周辺回路であるCTC(カウンタ/タイマ)及びPIO(パラレル入出力ポート)の初期化を行う。そして、電源投入時のウエイト処理を行う(ステップS105)。
次に、I/Oポート57からラムクリア信号の読み込みを行い、パチンコ機1に設けられているラムクリアスイッチ42が押されているか否かの判定を行う(ステップS106)。ラムクリア信号がオンである場合にはラムクリアスイッチが押されている(オンである)と判断し(ステップS106:Y)、RAM55の初期化処理を行う(ステップS111〜)。
ラムクリア信号がオフである場合には(ステップS106:N)、電源断発生情報が有効であるか否かを判定する(ステップS107)。電源断発生情報が有効であるか否かは、RAM55の電源断発生情報フラグ領域に電源断発生情報フラグが設定されているか否かで判断する。電源断発生情報が有効でない場合は(ステップS107:N)、電源復帰時の処理を行う必要がないため、RAM55の初期化処理を行う(ステップS111〜)。
一方、電源断発生情報フラグが設定されており、電源断発生情報が有効であると判断した場合には(ステップS107:Y)、電源復帰時の処理を行う。まず、電源断発生時に保護したRAM55のデータ内容が正常であることを確認するためにチェックサムが正常であるか否かを判断する(ステップS108)。具体的には、RAM55のデータ内容(電源断発生情報フラグ領域、チェックサムバッファ領域、スタック領域55bは除く)についてチェックサムを計算し、当該計算した値とチェックサムバッファ領域に記憶しておいたチェックサムの値とを比較する。一致しない場合はチェックサムが正常でないと判断し(ステップS108:N)、RAM55の初期化処理を行う(ステップS111〜)。
一方、チェックサム同士が一致し、チェックサムが正常であったと判断した場合は(ステップS108:Y)、サブ基板へ復帰コマンドを送信する(ステップS109)。具体的には、表示灯(ランプ、LED)、音声出力、図柄表示を電源断時の状態に戻すため、演出制御部32へ複合サブ制御コマンドを送信する。また、払出装置97に賞球の払出開始の指示を行うために、払出制御部37に払出制御コマンドを送信する。次に、RAM55に記憶されている電源断発生情報フラグをクリアする等の、復帰時RAM初期設定処理を行う(ステップS110)。
ステップS111以降のRAM55の初期化処理では、CPU56は、まず、RAM55をクリアする処理を行う(ステップS111)。また、RAM55の遊技関連制御用変数使用領域55aに初期値を設定する初期値設定処理も行う(ステップS112)。
次に、CPU56は、サブ基板を初期化するために初期コマンドを送信する(ステップS113)。具体的には、払出装置97に賞球の払出開始の指示を行うために、払出制御部37に払出制御コマンドを送信する。さらに、表示灯制御部35、音声制御部70、図柄制御部80を初期状態とするため、演出制御部32へ複合サブ制御コマンドを送信する。そして、2ms毎に定期的にタイマ割込みがかかるように、CPU56はCTCのレジスタ設定を行う(ステップS114)。
次いで、CPU56は、割込み禁止状態に設定した後に(ステップS115)、電源断検出処理(ステップS116)、及び、初期値更新乱数を生成するためのカウンタのカウント値を更新する初期値更新乱数更新処理(ステップS117)を実行する。ここで、初期値更新乱数とは、所定周期毎に変更する大当り判定用乱数カウンタの初期値を決定するための乱数である。
その後、割込み許可状態に設定し(ステップS118)、その他乱数更新処理を実行する(ステップS119)。その他乱数としては、リーチ抽選に用いる乱数、表示する図柄の種類を決定するための乱数等が存在する。ステップS115からステップS119までの処理は、割込み回数カウンタの値が2以上になるまで繰り返し実行される。
なお、ステップS115における割込み禁止状態の設定は、CPU56が割込み禁止命令を発行したり、割込み禁止用のレジスタを禁止に設定したり、マスクレジスタをセットすることによって実現され、ステップS118における割込み許可状態の設定は、割込み許可命令を発行したり、割込み禁止用のレジスタを許可に設定したり、マスクレジスタをリセットすることによって実現される。
以上のように、ステップS115において割込み禁止状態にした後に、ステップS116において電源断検出処理を実行するため、電源断検出処理が実行されているときに、タイマ割込みが発生することがなく、電源断検出処理を正確に行うことができる。
ステップS120において、CPU56は、RAM55に記憶されている割込み回数カウンタの値をチェックし、値が2以上である場合には(ステップS120:N)、割込み回数カウンタをクリアし(ステップS121)、ステップS122からステップS128において以下のメインルーチン内遊技制御処理を実行する。
まず、サブ基板に制御コマンドを送信するサブ基板コマンド送信処理を行う(ステップS122)。具体的には、例えば、特別図柄に関する表示制御コマンドをRAM55における遊技関連制御用変数使用領域55aの所定の領域に設定して表示制御コマンドを送出する処理を行う。また、普通図柄に関する表示制御コマンドを遊技関連制御用変数使用領域55aの所定の領域に設定して表示制御コマンドを送出する処理を行う。また、入賞検出に応じて払出制御コマンドを送出する処理を行う。次に、払い出した賞球数を管理する賞球払出管理処理を実行する(ステップS123)。次に、パチンコ機1で発生した特別遊技についての情報を管理する特別遊技管理処理を行い(ステップS124)、普通遊技についての情報を管理する普通遊技管理処理を行う(ステップS125)。次に、ホールコンピュータ等の外部装置に送信すべき大当り情報、始動情報、確率変動情報等を生成する外部情報処理を行う(ステップS126)。次に、パチンコ機1を検査するための遊技機試験信号を出力する遊技機試験信号出力処理を実行し(ステップS127)、外部装置に対する情報の出力管理処理を行う(ステップS128)。その後、ステップS115に戻り、メインルーチンにおける一周期の処理を繰り返す。従来においては、タイマ割込みを4ms毎に発生させていたので、初期値更新乱数更新処理やその他乱数更新処理を除く全ての遊技制御処理を割込みルーチン内で行っていたが、本実施の形態においてはタイマ割込みの周期を2ms毎にしたので、2msという短時間の間に割込みルーチン内で全ての遊技制御処理を行うことが不可能となった。このため、割込みルーチンを2回実行した後に、1回(つまり4ms毎)、メインルーチン内においてステップS122からステップS128までのメインルーチン内遊技制御処理を実行するようにしている。
[割込みルーチン]
次に、図7に示すフローチャートを参照して、主制御部31のCPU56が実行する割込みルーチンについて説明する。
本実施の形態では、CPU56の内蔵CTCが2ms毎に繰り返しタイマ割込みを発生するように設定される。そして、タイマ割込みが発生すると、CPU56は割込みルーチンを起動し実行する。この割込みルーチンでは、CPU56はステップS201においてレジスタの退避処理を実行した後、ステップS202からステップS205において以下の割込みルーチン内遊技制御処理を行う。
まず、遊技制御に用いられる大当り判定用の乱数等の各判定用乱数を示す各カウンタを更新する当り抽選乱数更新処理を行い(ステップS202)、図6のステップS117での処理と同様の初期値更新乱数更新処理を行う(ステップS203)。次に、入力処理を行う(ステップS204)。具体的には、各スイッチ17,15,23,16等からの出力信号をI/Oポート57から入力し、それらの状態判定を行って、遊技領域7へ打ち込まれた遊技球の始動入賞口14や大入賞口20への入賞、普通図柄作動ゲート11の通過、更には賞球や貸球を検出する。各信号のスイッチレベルによりオン又はオフを示すデータを作成し、当該データを次の割込みルーチンが実行されるまで保持する。次に、スイッチ入力イベント処理を行う(ステップS205)。具体的には、ステップS204において、特別図柄始動スイッチ17や普通図柄始動スイッチ15等からの検出信号を受信した場合には乱数抽選を行い、抽選した乱数をRAM55の所定の領域に記憶する。
次に、電源断検出信号チェック処理を行い(ステップS206)、その後、割込み回数カウンタに1加算する(ステップS207)。そして、レジスタの復帰処理を行い(ステップS208)、割込み許可状態に設定して(ステップS209)、メインルーチンに戻る。本実施の形態においては、スイッチの入力チェック及び当りに関連する乱数の更新を2ms毎に実行するために、タイマ割込みを2ms毎に発生させている。従来においては、スイッチの入力チェックは4ms毎に行われていたが、この場合、ゲージ構成やスイッチの位置によっては遊技球のスピードが早くなり、遊技球のスイッチ通過を示す時間間隔(つまり、スイッチ通過の検出信号が出力される時間間隔)が4ms未満になる場合もあり、スイッチ通過検出を取りこぼす可能性があった。これを回避するために、従来においてはゲージ構成を変更したり、スイッチの位置を遊技盤6上でなく遊技盤6の裏面の球のスピードが落ちる位置に配置していた。スイッチ検出の周期を2msという遊技球のスイッチ通過を示す時間間隔よりも短い周期で規則正しく行うことにより、スイッチ検出の取りこぼしがなくなり、正確にスイッチを検出することができる。また、当りに関連する乱数の更新は、定期的な割込みで1ずつ更新しなければならないため、スイッチ検出を2ms毎にした時点で自ずと2ms毎の更新となる。
(電源断検出信号チェック処理)
次に、図8を参照して、割込みルーチンにおける電源断検出信号チェック処理(図7のステップS206)について詳細に説明する。
まず、カウンタ値として“0”をセットする(ステップS301)。
次に、電源部40から出力される電源断検出信号をI/Oポート57からポーリングにより入力し、当該電源断検出信号がオン(high)かオフ(low)かを判定する(ステップS302)。電源断検出信号がオフであると判定された場合には(ステップS302:N)、電源断の状態が検出されなかったことになるため、電源断検出信号オンカウンタの値を“0”にリセットする(ステップS305)。
一方、電源断検出信号がオンであると判定された場合には(ステップS302:Y)、電源断の状態が検出されたことになるため、カウンタ値として、電源断検出信号オンカウンタのアドレスで示される領域のカウンタ値をRAM55からロードし(ステップS303)、そのカウンタ値に“1”を加算する(ステップS304)。そして、そのカウンタ値をRAM55の電源段検出信号オンカウンタにセーブする(ステップS305)。
(電源断検出処理)
次に、図9を参照して、メインルーチンにおける電源断検出処理(図6のステップS116)について説明する。
まず、CPU56は、電源断発生の判定処理を行うために、割込みルーチンにおいてセットされた電源断検出信号オンカウンタをRAM55からロードする(ステップS401)。電源断検出信号オンカウンタの値が2よりも小さい場合には(ステップS402:Y)、電源断が発生していないと判断し、処理を終了する。一方、電源断検出信号オンカウンタの値が2以上の場合には(ステップS402:N)、電源断が発生したと判断し、電源断検出信号オンカウンタをクリアした後(ステップS403)、以下の電源断時処理を実行する。
まず、I/Oポート57のうち、電動役物及び普通図柄に関連する出力ポートをクリアし、出力を停止する(ステップS404)。そして、RAM55に記憶されているデータのチェックサム(電源断発生情報フラグ領域、チェックサムバッファ領域、及び、スタック領域55bを除く)を作成し、作成したチェックサムをチェックサムバッファに保存する(ステップS405)。次いで、電源断が発生したことを示す電源断発生情報をRAM55の電源断発生情報フラグ領域に保存する(ステップS406)。
そして、RAM55に記憶されたデータ内容を保護するために、RAM55へのアクセスを禁止し(ステップS407)、電源断をウエイトする(ステップS408)。
以上のような実行制御を行うことにより、割込みルーチンの実行中(特に割込みルーチン内遊技制御処理の実行中)、及び、メインルーチンにおけるメインルーチン内遊技制御処理の実行中において電源断検出処理が実行されることがない。このため、電源断時処理においてバックアップすべきデータとしては、RAM55に記憶されたデータのみであり、CPU56のレジスタ等の内容をスタック領域55bに退避する必要がない。このため、RAM55の消費量を抑えることができ、また、電源断時処理が複雑になるのを防ぐことができる。また、電源復帰時の処理においても、レジスタ、割込み状態、及び、スタックポインタ等の内容を元に戻す必要もないし、復帰させたプログラムカウンタに従ってプログラム中断点から処理を再開する必要もなく、復帰処理が複雑になるのを防ぐことができる。
図10は、各処理の処理タイミングの一例を示すタイミングチャートである。電源投入時の割込み回数カウンタは“0”である。電源が投入されると、まず、メインルーチンのうちステップS101〜S114の処理が行われ、その後、ステップS115〜S119における電源断検出処理及び初期値更新乱数更新処理(以下、「Aの処理」という)が繰り返し実行される。2ms経過後にタイマ割込みが発生すると、割込みルーチン(以下、「Bの処理」という)が実行される。Bの処理において割込み回数カウンタに1が加算される。Bの処理の実行が完了した後には、割込み回数カウンタの値が“1”(2未満)であるため、Aの処理が実行される。4ms経過した後に再びタイマ割込みが発生し、Bの処理が実行されて割込み回数カウンタに1が加算される。Bの処理が完了した時点で、割込み回数カウンタの値が“2”であるため、割込み回数カウンタの値が“0”に初期化された後、ステップS121〜S128におけるメインルーチン内遊技制御処理(以下「Cの処理」という)が行われる。Cの処理は、例えば、約500μs程度で終了し、その後Aの処理が繰り返される。6ms経過後に再びタイマ割込みが発生し、Bの処理が行われて割込み回数カウンタに1が加算される。Bの処理の実行が完了した時点で、割込み回数カウンタの値は“1”(2未満)であるため、Aの処理が実行される。以下、同様に処理が繰り返される。Bの処理は規則正しく2ms毎に繰り返され、Cの処理はほぼ4ms毎に繰り返されることとなる。ここで、電源断検出処理は、Aの処理内において割込み禁止状態に設定された上で行われるため、Bの処理及びCの処理と競合することはない。
以上説明したように、本実施の形態では、メインルーチンにおいて電源断検出処理が繰り返し実行され、割込みルーチンにおいて電源断検出信号及び割込みルーチン内遊技制御処理が実行されるように構成され、電源断検出処理が行われているときにはタイマ割込みの発生が禁止される。従って、電源断検出処理において使用されていたメモリの内容がタイマ割込みの発生によって改変されてしまう可能性はない。従って、電源断検出処理は正確に行われる。
割込みルーチン内で電源断検出処理を行うことも可能であるが、そのようにした場合には、電源復帰時に中断した処理を復帰させるために、割込みルーチンのプログラムカウンタ及びメインルーチンのプログラムカウンタやレジスタをスタック領域55bに記憶しておく必要があるので、スタック領域55bを大量に消費する。この場合には、遊技制御用に使用可能なRAM55の領域が減少してしまい、また、電源復帰時に中断したプログラムの個所から処理を再開する必要があるため電源復帰時の処理が複雑となる。これを防ぐために、メインルーチン内で電源断検出処理を行うようにした。
このように、メモリの消費量を抑え処理が複雑となるのを防ぐとともに、電源断検出処理を正確に行うことができる。
また、本実施の形態においては、電源断検出をNMIでなくポーリング方式としたため、メインルーチン内遊技制御処理や割込みルーチンの実行途中で電源断処理が強制的に行われることがない。従って、同様に、バックアップのためのメモリの消費量を抑えることができ、処理が複雑となるのを防ぐことが可能となる。
また、電源断が発生したか否かの判定については、割込みルーチン内の電源断検出信号チェック処理で電源断検出信号が連続してオンであった回数(電源断検出回数)を計数し、メインルーチン内の電源断検出処理でその電源断検出回数が所定回数以上ならば電源断と判断し、電源断時処理を行う様にした。このように、定期的なタイマ割込みにより起動される割込みルーチンで電源断検出信号を複数回チェックすることにより、ノイズ等による誤作動や瞬断対策を行うことができる。
さらに、ポーリング方式を主制御部31及び払出制御部37共に採用し、主制御部31よりも払出制御部37において電源断発生から電源断時処理までの時間を長くしたことにより、電源断発生時もコマンドの送受信を正確に行うことが可能となる。
また、処理時間が変動する、或いは、処理時間が比較的長いメインルーチン内遊技制御処理を割込みルーチンで実行しないようにしたことにより、2msの周期で検出する必要のある信号(電源断検出信号、スイッチからの信号)を割込みルーチンで正確に検出することが可能となった。なお、メインルーチン内遊技制御処理の実行周期は4msに限定されることはなく、割込み回数が2回以上の周期であればよい。例えば、6ms(割込み回数3回)の周期であってもよい。
なお、上述した実施の形態においては、メインルーチンにおける電源断検出処理(ステップS116)の直後に実行される初期値更新乱数更新処理(ステップS117)は割込みルーチンのステップS203においても実行されるため、同時に初期値更新乱数更新処理が行われないように、メインルーチンにおいて初期値更新乱数更新処理を実行している間は割込み禁止にする必要がある。従って、このような、メインルーチンと割込みルーチンとの両方で初期値更新乱数更新処理を実行する処理方式の場合には、従来においてもメインルーチンで初期値更新乱数更新処理を行う前に割込み禁止にする必要があったため、電源断検出処理中を割込み禁止にしたことによって、制御処理に使用されるプログラムは従来よりも増加していない。なお、電源断検出処理(ステップS116)と初期値更新乱数更新処理(ステップS117)との処理の順番を入れ替えることも可能である。
また、上述した実施の形態においては、タイマ割込みの周期を2msとしたが、これに限定されることはなく、割込みルーチンが実行される所定の周期は、打ち出された遊技球がスイッチを通過する時間間隔よりも短ければよい。
また、上述した実施形態では、電源断発生時にRAM55に記憶されているデータをバックアップ電源41によって保持しておくようにしたが、データのバックアップ方法はこれに限定されることはなく、例えば、バックアップ電源41の供給が不要なEEPROMやフラッシュメモリのような不揮発性メモリにRAM55のデータを退避してもよい。
また、図1の正面図に示されたパチンコ機1は、始動入賞にもとづいて特別図柄表示装置9に可変表示される特別図柄の停止図柄が所定の図柄の組み合わせになると所定の遊技価値が遊技者に付与可能になる第1種パチンコ遊技機であったが、始動入賞にもとづいて開放する電動役物の所定領域への入賞があると所定の遊技価値が遊技者に付与可能になる第2種パチンコ遊技機や、始動入賞にもとづいて可変表示される図柄の停止図柄が所定の図柄の組み合わせになると開放する所定の電動役物への入賞があると所定の権利が発生または継続する第3種パチンコ遊技機であっても、本発明を適用することができる。さらに、遊技媒体が遊技球であるパチンコ機に限られず、スロット機等においても本発明を適用することができる。
1パチンコ機、2ガラス扉枠、3打球供給皿、5ハンドル、6遊技盤、7遊技領域、9特別図柄表示装置、10普通図柄表示装置、11普通図柄作動ゲート、14始動入賞口、141特別図柄始動口開閉装置、18始動記憶表示器、19,24一般入賞口、20大入賞口、201大入賞口開閉装置
25遊技盤表示灯、26アウト口、27スピーカ、28本体表示灯
15普通図柄始動スイッチ、16一般スイッチ、17特別図柄始動スイッチ、23カウントスイッチ、42ラムクリアスイッチ、47払出計数スイッチ、187払出通路玉切スイッチ、48皿満タンスイッチ
31主制御部、37払出制御部、32演出制御部、35表示灯制御部、70音声制御部、91発射制御部、92発射装置、97払出装置、34ホールコンピュータとの接続端子、40電源部、41バックアップ電源
56CPU、54ROM、55RAM、55a遊技関連制御用変数使用領域、55bスタック領域、57I/Oポート

Claims (3)

  1. 電源の供給を受けて動作する遊技機において、
    所定の遊技制御処理を繰り返し実行するルーチンと、該所定の遊技制御処理を繰り返し実行するルーチンの実行中に起動される割込みルーチンと、の実行を制御する実行制御手段と、
    電源の供給が途絶えても記憶内容を保持する記憶手段と、を備え、
    前記実行制御手段は、前記所定の遊技制御処理を繰り返し実行するルーチンにおいて、前記割込みルーチンの実行を禁止した状態で、電源断が発生したか否かを判定する処理である判定処理と、該判定処理で電源断が発生したと判定された場合に、電源断が発生するまでに行われていた処理に係るデータを前記記憶手段に保持させるために、前記記憶手段へのアクセスを禁止する電源断時処理と、を含む電源断検出処理を実行することを特徴とする遊技機。
  2. 前記実行制御手段は、前記所定の遊技制御処理を繰り返し実行するルーチンにおいて、前記割込みルーチンが所定回数実行される毎に実行される処理であるメインルーチン内遊技制御処理を行い、前記メインルーチン内遊技制御処理が終了する毎に、前記割込みルーチンの実行を禁止した後、前記電源断検出処理を実行することを特徴とする請求項1に記載の遊技機。
  3. 前記割込みルーチンは、所定の周期で発生するタイマ割込により起動され、
    前記実行制御手段は、前記割込みルーチンにおいて、電源の供給が途絶えた場合に発生する電源断検出信号を検出する処理を実行することを特徴とする請求項1又は2に記載の遊技機。
JP2012029878A 2012-02-14 2012-02-14 遊技機 Active JP5285165B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012029878A JP5285165B2 (ja) 2012-02-14 2012-02-14 遊技機

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012029878A JP5285165B2 (ja) 2012-02-14 2012-02-14 遊技機

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2011120792A Division JP5144788B2 (ja) 2011-05-30 2011-05-30 遊技機

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012269543A Division JP5443580B2 (ja) 2012-12-10 2012-12-10 遊技機

Publications (2)

Publication Number Publication Date
JP2012115703A JP2012115703A (ja) 2012-06-21
JP5285165B2 true JP5285165B2 (ja) 2013-09-11

Family

ID=46499231

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012029878A Active JP5285165B2 (ja) 2012-02-14 2012-02-14 遊技機

Country Status (1)

Country Link
JP (1) JP5285165B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4420540B2 (ja) * 1999-12-02 2010-02-24 株式会社平和 遊技機の制御装置
JP2002052215A (ja) * 2000-08-08 2002-02-19 Heiwa Corp 遊技機およびそのcpu
JP4023322B2 (ja) * 2003-01-17 2007-12-19 株式会社三洋物産 遊技機
JP4431819B2 (ja) * 2003-05-13 2010-03-17 株式会社大一商会 遊技機
JP4076979B2 (ja) * 2004-06-29 2008-04-16 株式会社サンセイアールアンドディ 遊技機

Also Published As

Publication number Publication date
JP2012115703A (ja) 2012-06-21

Similar Documents

Publication Publication Date Title
JP4855735B2 (ja) 遊技機
JP2001170326A (ja) 遊技機
JP2006255208A (ja) 遊技機
JP2001112940A (ja) 遊技機
JP5500832B2 (ja) 遊技機
JP2002320742A (ja) パチンコ遊技機
JP5285165B2 (ja) 遊技機
JP5443580B2 (ja) 遊技機
JP5144788B2 (ja) 遊技機
JP4724897B2 (ja) 遊技機
JP4793845B2 (ja) 遊技機
JP4947735B2 (ja) 遊技機
JP4947744B2 (ja) 遊技機
JP5800875B2 (ja) 遊技機
JP2006026441A (ja) 遊技機
JP6090483B2 (ja) 遊技機
JP2001293149A (ja) 遊技機
JP5994831B2 (ja) 遊技機
JP2001246123A (ja) 遊技機
JP5909616B2 (ja) 遊技機
JP5832497B2 (ja) 遊技機
JP4756662B2 (ja) 遊技機
JP4756663B2 (ja) 遊技機
JP5725051B2 (ja) 遊技機
JP4756656B2 (ja) 遊技機

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

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: 20130521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130530

R150 Certificate of patent or registration of utility model

Ref document number: 5285165

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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