JP2014151073A - 遊技機 - Google Patents
遊技機 Download PDFInfo
- Publication number
- JP2014151073A JP2014151073A JP2013024802A JP2013024802A JP2014151073A JP 2014151073 A JP2014151073 A JP 2014151073A JP 2013024802 A JP2013024802 A JP 2013024802A JP 2013024802 A JP2013024802 A JP 2013024802A JP 2014151073 A JP2014151073 A JP 2014151073A
- Authority
- JP
- Japan
- Prior art keywords
- time
- date
- effect control
- flg
- control cpu
- 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.)
- Pending
Links
Images
Landscapes
- Pinball Game Machines (AREA)
Abstract
【課題】不正確な計時日時を取得してしまう事態を防止することができる遊技機を提供することを目的としている。
【解決手段】日時を計時する計時手段と、前記計時手段の計時動作の開始又は停止を操作する計時日時操作フラグと、計時手段により計時される日時を任意に設定可能な日時設定手段とを有し、日時設定手段にて日時を設定する際、計時日時操作フラグにより計時手段の計時動作を停止させた上で日時を設定し、当該日時を設定した後、当該設定された日時に基づく計時動作を当該計時手段が開始するよう当該計時日時操作フラグにて操作してなることを特徴としている。
【選択図】図17
Description
本発明は、パチンコ機、アレンジボール機、雀球遊技機、スロットなどの遊技機に関し、より詳しくは、不正確な計時日時を取得してしまう事態を防止することができる遊技機に関する。
従来のパチンコ機等の遊技機として、例えば、特許文献1に記載のような遊技機が知られている。この遊技機は、時刻や日付を計時するRTC(Real Time Clock)を備え、このRTCにより計時した日時に基づいて、現実の日時とリンクした所定の日時期間についてのみ実行可能な演出を行うというものである。
ところで、上記演出を実行するにあたっては、例えば、定時時刻や変動開始時等その他種々の条件をもとに上記RTCにアクセスし、計時日時を取得することが考えられる。
しかしながら、上記のような遊技機は、RTCの計時日時を遊技場の係員等が再設定する場合、その再設定途中に電源遮断等が発生し、もって、設定が正しく完了せず、それがために、不正確な計時日時を取得してしまう可能性があるという問題があった。
そこで本発明は、上記問題に鑑み、不正確な計時日時を取得してしまう事態を防止することができる遊技機を提供することを目的としている。
上記本発明の目的は、以下の手段によって達成される。なお、括弧内は、後述する実施形態の参照符号を付したものであるが、本発明はこれに限定されるものではない。
請求項1の発明によれば、日時を計時する計時手段(RTCモジュール部905)と、
前記計時手段(RTCモジュール部905)の計時動作の開始又は停止を操作する計時操作手段(計時日時操作フラグTC_FLG)と、
前記計時手段(RTCモジュール部905)により計時される日時を任意に設定可能な日時設定手段(設定ボタン15)とを有し、
前記日時設定手段(設定ボタン15)にて日時を設定する際、前記計時操作手段(計時日時操作フラグTC_FLG)により前記計時手段(RTCモジュール部905)の計時動作を停止させた上で日時を設定し、当該日時を設定した後、当該設定された日時に基づく計時動作を当該計時手段(RTCモジュール部905)が開始するよう当該計時操作手段(計時日時操作フラグTC_FLG)にて操作してなることを特徴としている。
前記計時手段(RTCモジュール部905)の計時動作の開始又は停止を操作する計時操作手段(計時日時操作フラグTC_FLG)と、
前記計時手段(RTCモジュール部905)により計時される日時を任意に設定可能な日時設定手段(設定ボタン15)とを有し、
前記日時設定手段(設定ボタン15)にて日時を設定する際、前記計時操作手段(計時日時操作フラグTC_FLG)により前記計時手段(RTCモジュール部905)の計時動作を停止させた上で日時を設定し、当該日時を設定した後、当該設定された日時に基づく計時動作を当該計時手段(RTCモジュール部905)が開始するよう当該計時操作手段(計時日時操作フラグTC_FLG)にて操作してなることを特徴としている。
また、請求項2の発明によれば、上記請求項1に記載の遊技機において、前記計時操作手段(計時日時操作フラグTC_FLG)は、前記計時手段(RTCモジュール部905)の計時動作を停止させたまま、電源遮断が生じた際、当該計時動作の停止を維持してなることを特徴としている。これにより、不正確な計時日時を取得してしまう事態をより防止することができる。
さらに、請求項3の発明によれば、上記請求項2に記載の遊技機において、前記計時手段(RTCモジュール部905)の計時動作を停止させたまま電源遮断が生じた際、前記計時操作手段(計時日時操作フラグTC_FLG)は、前記日時設定手段(設定ボタン15)にて新たな日時が設定されるまで、当該計時手段(RTCモジュール部905)の計時動作を停止させてなることを特徴としている。これにより、計時日時を再設定しない限り、計時手段(RTCモジュール部905)の動作を停止させたままの状態にしておけば、当該計時手段(RTCモジュール部905)が、不正確な計時日時を計時してしまうという事態を防止することができる。
本発明によれば、不正確な計時日時を取得してしまう事態を防止することができる。
<第1実施形態>
以下、本発明に係る遊技機の第1実施形態を、パチンコ遊技機を例にして、図1〜図21を参照して具体的に説明する。なお、以下の説明において、上下左右の方向を示す場合は、図示正面から見た場合の上下左右をいうものとする。
以下、本発明に係る遊技機の第1実施形態を、パチンコ遊技機を例にして、図1〜図21を参照して具体的に説明する。なお、以下の説明において、上下左右の方向を示す場合は、図示正面から見た場合の上下左右をいうものとする。
まず、図1及び図2を参照して、本実施形態に係るパチンコ遊技機の外観構成を説明する。
図1に示すように、パチンコ遊技機1は、木製の外枠2の前面に矩形状の前面枠3を開閉可能に取り付け、その前面枠3の裏面に取り付けられている遊技盤収納フレーム(図示せず)内に遊技盤4が装着された構成からなる。遊技盤4は、図2に示す遊技領域40を前面に臨ませた状態で装着され、図1に示すようにこの遊技領域40の前側に透明ガラスを支持したガラス扉枠5が設けられている。そして、このガラス扉枠5には扉開放センサ50(図3参照)が設けられており、当該ガラス扉枠5の開閉を検知できるようになっている。なお、上記遊技領域40は、遊技盤4の面上に配設された球誘導レール6(図2参照)で囲まれた領域からなるものである。
また、パチンコ遊技機1は、図1に示すように、ガラス扉枠5の下側に前面操作パネル7が配設され、その前面操作パネル7には上受け皿ユニット8が設けられている。そして、この上受け皿ユニット8には、排出された遊技球を貯留する上受け皿9が一体形成されている。また、この前面操作パネル7には、球貸しボタン11及びプリペイドカード排出ボタン12(カード返却ボタン12)が設けられ、上受け皿9の上皿表面部分には、内蔵ランプ(図示せず)点灯時に押下することにより演出効果を変化させることができる押しボタン式の演出ボタン装置13が設けられている。そして、この上受け皿9には、当該上受け皿9に貯留された遊技球を下方に抜くための球抜きボタン14が設けられ、さらに、略十字キーからなる設定ボタン15が設けられている。この設定ボタン15は、中央部に設けられた円形の中央ボタン15aと、その中央ボタン15aの図示上側に設けられた三角形状の上ボタン15bと、その中央ボタン15aの図示左側に設けられた三角形状の左ボタン15cと、その中央ボタン15aの図示右側に設けられた三角形状の右ボタン15dと、その中央ボタン15aの図示下側に設けられた三角形状の下ボタン15eとで構成されており、後述するRTCモジュール部905(図3参照)の機能を使用するかしないかの設定ができると共に、時刻や日付を設定できるものである。
一方、前面操作パネル7の右端部側には、発射ユニット(図示せず)を動作させるための発射ハンドル16が設けられ、前面枠3の上部両側面側並びに発射ハンドル16の左隣接位置には、BGM(Background music)あるいは効果音を発するスピーカ17が設けられている。そして、上記前面枠3の周枠には、光の装飾により演出効果を現出するLEDランプ等の装飾ランプが配設されている。
他方、上記遊技盤4の遊技領域40には、図2に示すように、略中央部にLCD(Liquid Crystal Display)等からなる液晶表示装置41が配設されている。この液晶表示装置41は、表示エリアを左、中、右の3つのエリアに分割し、独立して数字やキャラクタあるいは図柄(装飾図柄)の変動表示等が可能なものである。
また、液晶表示装置41の真下には、特別図柄始動口42が配設され、その内部には入賞球を検知する特別図柄始動口スイッチ42a(図3参照)が設けられている。そして、この特別図柄始動口42の右側には、大入賞口43が配設され、その内部には入賞球を検知する大入賞口スイッチ43a(図3参照)が設けられている。
さらに、上記液晶表示装置41の右上部にはゲートからなる普通図柄始動口44が配設され、その内部には、遊技球の通過を検知する普通図柄始動口スイッチ44a(図3参照)が設けられている。また、上記大入賞口43の右側及び上記特別図柄始動口42の左側には、一般入賞口45が夫々配設され(図示では、右側に1つ、左側に3つ)、その内部には、夫々、遊技球の通過を検知する一般入賞口スイッチ45a(図3参照)が設けられている。
そして、上記遊技盤4の遊技領域40の右下周縁部には、7セグメントが3個並べて構成されており、そのうち2個の7セグメントが特別図柄表示装置46であり、他の7セグメントは保留球数等を表示するものである。この特別図柄表示装置46の左側には、2個のLEDからなる普通図柄表示装置47が設けられている。なお、上記遊技盤4の遊技領域40には、複数の遊技釘(図示せず)が配設され、遊技球の落下方向変換部材としての風車48が配設されている。
次に、上記のような外観構成からなるパチンコ遊技機内に設けられる遊技の進行状況に応じて電子制御を行う制御装置を、図3を用いて説明する。この制御装置は、図3に示すように、遊技動作全般の制御を司る主制御基板60と、その主制御基板60からの制御コマンドに基づいて遊技球を払出す払出制御基板70と、画像と光と音についての制御を行うサブ制御基板80とで主に構成されている。なお、サブ制御基板80は、図3に示すように、演出制御基板90と、装飾ランプ基板100と、液晶制御基板120とで構成されている。
主制御基板60は、主制御CPU600と、一連の遊技制御手順を記述した遊技プログラム等を格納した主制御ROM601と、作業領域やバッファメモリ等として機能する主制御RAM602とで構成されたワンチップマイコンを搭載している。そして、このように構成される主制御基板60には、払出モータMを制御して遊技球を払出す払出制御基板70が接続されている。そしてさらには、特別図柄始動口42への入賞を検知する特別図柄始動口スイッチ42aと、普通図柄始動口44の通過を検知する普通図柄始動口スイッチ44aと、一般入賞口45への入賞を検知する一般入賞口スイッチ45aと、大入賞口43への入賞を検知する大入賞口スイッチ43aとが接続されている。また、主制御基板60には、特別図柄表示装置46と、普通図柄表示装置47とが接続され、ガラス扉枠5(図1参照)の開閉を検知できる扉開放センサ50が接続されている。
このように構成される主制御基板60は、特別図柄始動口スイッチ42a又は普通図柄始動口スイッチ44aからの信号を受信すると、遊技者に有利な特別遊技状態を発生させるか(いわゆる「当たり」)、あるいは、遊技者に有利な特別遊技状態を発生させないか(いわゆる「ハズレ」)の抽選を行い、その抽選結果である当否情報に応じて特別図柄の変動パターンや停止図柄あるいは普通図柄の表示内容を決定し、その決定した情報を特別図柄表示装置46又は普通図柄表示装置47に送信する。これにより、特別図柄表示装置46又は普通図柄表示装置47に抽選結果が表示されることとなる。そしてさらに、主制御基板60は、その決定した情報を含む演出制御コマンドを生成し、演出制御基板90に送信する。なお、主制御基板60が、一般入賞口スイッチ45a、大入賞口スイッチ43aからの信号を受信した場合は、遊技者に幾らの遊技球を払い出すかを決定し、その決定した情報を含む払出制御コマンドを払出制御基板70に送信することで、払出制御基板70が遊技者に遊技球を払出すこととなる。
一方、主制御基板60は、扉開放センサ50よりガラス扉枠5の開放検知信号を受信すると、その情報を含む演出制御コマンドを生成し、演出制御基板90に送信する。
他方、上記払出制御基板70は、上記主制御基板60からの払出制御コマンドを受信し、その受信した払出制御コマンドに基づいて払出モータ信号を生成する。そして、その生成した払出モータ信号にて、払出モータMを制御し、遊技者に遊技球を払出す。そしてさらに、払出制御基板70は、遊技球の払出動作を示す賞球計数信号や払出動作の異常に係るステイタス信号を送信し、遊技者の操作に応答して遊技球を発射させる発射制御基板71の動作を開始又は停止させる発射制御信号を送信する処理を行う。
演出制御基板90は、上記主制御基板60からの演出制御コマンドを受けて各種演出を実行制御する演出制御CPU900と、演出制御手順を記述した制御プログラム等が格納されているフラッシュメモリからなる演出制御ROM901と、作業領域やバッファメモリ等として機能する演出制御RAM902とで構成されている。そしてさらに、演出制御基板90は、所望のBGMや効果音を生成する音LSI903と、BGMや効果音等の音データ等が予め格納されている音ROM904と、主に時刻や日付を計時するRTCモジュール部905と、そのRTCモジュール部905の機能を使用するか使用しないかのデータ等を格納するRTC用RAM906と、後述する電源基板130からの電力供給が遮断されたとしても、RTCモジュール部905及びRTC用RAM906に電力を供給する二次電池又はリチウム電池等からなるバックアップ電源907とが搭載されている。このように、RTCモジュール部905及びRTC用RAM906は、同一のバックアップ電源907から電力を供給されているため、電源遮断前の遊技履歴の情報や、電源遮断中にガラス扉枠5が開放される等の操作が行われた場合も、これら情報を記憶することができる。
一方、このように構成される演出制御基板90には、ランプ演出効果を現出するLEDランプ等の装飾ランプが搭載されている装飾ランプ基板100が接続され、さらに、内蔵されているランプ(図示せず)点灯時に遊技者が押下することにより演出効果を変化させることができる押しボタン式の演出ボタン装置13が接続され、BGMや効果音等を発するスピーカ17が接続されている。またさらに、演出制御基板90には、RTCモジュール部905の機能を使用するかしないかの設定ができると共に、時刻や日付を設定できる設定ボタン15が接続されている。そしてさらに、演出制御基板90には、液晶表示装置41を制御する液晶制御基板120が接続されている。
かくして、このように構成される演出制御基板90は、主制御基板60より送信される大当たり抽選結果(大当たりかハズレの別)に基づく特別図柄変動パターン、現在の遊技状態、作動保留球数、抽選結果に基づき停止させる装飾図柄等に必要となる基本情報を含んだ演出制御コマンドを演出制御CPU900にて受信する。そして、演出制御CPU900は、受信した演出制御コマンドに対応した演出パターンを、演出制御ROM901内に予め格納しておいた多数の演出パターンの中から抽選により決定し、その決定した演出パターンを実行指示する制御信号を演出制御RAM902内に一時的に格納する。
演出制御CPU900は、演出制御RAM902に格納しておいた演出パターンを実行指示する制御信号のうち、音に関する制御信号を音LSI903に送信する。これを受けて音LSI903は、当該制御信号に対応する音データを音ROM904より読み出し、スピーカ17に出力する。これにより、スピーカ17より上記決定された演出パターンに対応したBGMや効果音が発せられることとなる。
また演出制御CPU900は、演出制御RAM902に格納しておいた演出パターンを実行指示する制御信号のうち、光に関する制御信号を装飾ランプ基板100に送信する。これにより、装飾ランプ基板100が、ランプ演出効果を現出するLEDランプ等の装飾ランプを点灯又は消灯する制御を行うため、上記決定された演出パターンに対応したランプ演出が実行されることとなる。
そして演出制御CPU900は、演出制御RAM902に格納しておいた演出パターンを実行指示する制御信号のうち、画像に関する液晶制御コマンドを液晶制御基板120に送信する。これにより、液晶制御基板120が、当該液晶制御コマンドに基づく画像を表示させるように液晶表示装置41を制御することにより、上記決定された演出パターンに対応した画像が液晶表示装置41に表示されることとなる。なお、液晶制御基板120には演出内容に沿った画像を表示するための種々の画像データが記憶されており、さらに、演出出力全般の制御を担うVDP(Video Display Processor)が搭載されている。
ところで、RTCモジュール部905は、図4に示すように、水晶発振器905aと、日時生成部905bと、デジタル補正レジスタ905cと、タイマレジスタ905dと、アラームレジスタ905eと、システムコントロール部905fと、バスインターフェース905gと、割込みコントローラ905hと、温度センサ905iとを備えている。
この水晶発振器905aは、所定のクロック信号を発生させることができるもので、その発生させた所定のクロック信号を、日時生成部905b、デジタル補正レジスタ905c、タイマレジスタ905dに出力している。この日時生成部905bは、上記水晶発振器905aより出力された所定のクロック信号を用いて、時刻や日付を計時することができる。またさらに、この日時生成部905bは、時刻や日付を設定できるレジスタを備えており、このレジスタに、遊技場の係員等が設定ボタン15(図1参照)を用いて設定した時刻や日付の設定データが、バスインターフェース905gを介してシステムコントロール部905fにより書き込まれると、日時生成部905bは、計時している時刻や日付に、その書き込まれたレジスタの時刻や日付を反映させることとなる。
そしてさらに、日時生成部905bは、水晶発振器905aに供給されている電圧が低下したか否かを監視する電圧低下検知フラグFOS_FLGを備えている。この電圧低下検知フラグFOS_FLGは、水晶発振器905aに供給されている電圧が低下したことを検知すると「1」を設定し、演出制御CPU900より、当該電圧低下検知フラグFOS_FLGに「0」を書き込む信号がバスインターフェース905gを介してシステムコントロール部905fに送信され、そのシステムコントロール部905fにより「0」が書き込まれるまで、その値(すなわち、「1」)を保持しているものである。これにより、後述する電源基板130(図3参照)からの電力供給遮断時に、バックアップ電源907(図3参照)からRTCモジュール部905に電力供給される際、何らかの要因で一時的に電圧が低下し、その後、電圧低下が解消されたとしても、電圧低下検知フラグFOS_FLGは「1」を保持しているため、その一時的な電圧低下を検知することができる。それゆえ、日時生成部905bは、上記水晶発振器905aより出力された所定のクロック信号を用いて、時刻や日付を計時しているため、水晶発振器905aへ供給される電圧が一時的に低下したことにより発生している恐れのある計時誤差を、この電圧低下検知フラグFOS_FLGにより検知することができる。
一方、デジタル補正レジスタ905cは、計時日時をデジタル的に補正することができる補正値を設定することができるものである。このデジタル補正レジスタ905cには、補正値に応じた補正ビットが格納されている。すなわち、例えば、補正値+192.15×10−6には、補正ビット「0111111」が対応し、補正値+6.10×10−6には、補正ビット「0000010」が対応するというようなテーブルが予め格納されている。そのため、このデジタル補正レジスタ905cを使用する場合は、演出制御ROM901内に予め使用したい補正値に対応した補正ビット(例えば、「0000010」)を格納しておき、所定のタイミングで、その格納しておいた補正ビット(例えば、「0000010」)が演出制御CPU900より、バスインターフェース905gを介して、システムコントロール部905fに送信されると、当該システムコントロール部905fは、その補正ビットをデジタル補正レジスタ905cに書込む処理を行う。これにより、システムコントロール部905fは、その補正ビットに応じた補正値を当該デジタル補正レジスタ905cより読み出し、日時生成部905bに送信する。これを受けて日時生成部905bは、当該補正値の値に応じて、例えば、1秒のクロック数を10秒毎に変化させ、計時日時をデジタル的に補正する。このようにすれば、計時日時を自動的に調整することができる。
また一方、タイマレジスタ905dは、所望のタイミングでタイマ割込み信号を発生させることができるものである。このタイマレジスタ905dを使用する場合は、演出制御ROM901内に予め所望の割込みタイミング設定値を格納しておく。そして、所定のタイミングで、その格納しておいた設定値が演出制御CPU900より、バスインターフェース905gを介して、システムコントロール部905fに送信されると、当該システムコントロール部905fは、その設定値をタイマレジスタ905dに書込む処理を行う。これにより、タイマレジスタ905dは、その設定値に応じたタイミングで割込み信号を発生させるべくタイマ値のカウントダウンを行ない、そのタイマ値が0となると割込み信号を発生させる。ところで、このタイマレジスタ905dには、タイマフラグTIMER_FLGが備えられており、このタイマフラグTIMER_FLGは、タイマ値が「0」となった際、「1」が設定されるというものである。そして、演出制御CPU900より、当該タイマフラグTIMER_FLGに「0」を書き込む信号がバスインターフェース905gを介してシステムコントロール部905fに送信され、そのシステムコントロール部905fにより「0」が書き込まれるまで、その値(すなわち、「1」)を保持しているというものである。これにより、何らかの要因で、所望のタイミングで割込み信号が発生しなかった場合、タイマレジスタ905d自体に不具合が生じたのか、あるいは、それ以外に不具合が生じたのかを早期に発見することができる。
他方、アラームレジスタ905eは、所望の日時にアラーム割込み信号を発生させることができるものである。このアラームレジスタ905eを使用する場合は、演出制御ROM901内に予め所望の日時にアラーム割込み信号が発生するような設定値を格納しておく。そして、所定のタイミングで、その格納しておいた設定値が演出制御CPU900より、バスインターフェース905gを介して、システムコントロール部905fに送信されると、当該システムコントロール部905fは、その設定値をアラームレジスタ905eに書込む処理を行う。これにより、アラームレジスタ905eは、その設定値と日時生成部905bより出力される時刻や日付と比較し、一致すれば、アラーム割込み信号を発生させるというものである。ところで、このアラームレジスタ905eには、アラームフラグALARM_FLGが備えられており、アラーム割込み信号が発生すると「1」が設定されるというものである。このアラームフラグALARM_FLGは、演出制御CPU900より、当該アラームフラグALARM_FLGに「0」を書き込む信号がバスインターフェース905gを介してシステムコントロール部905fに送信され、そのシステムコントロール部905fにより「0」が書き込まれるまで、その値(すなわち、「1」)を保持しているというものである。これにより、何らかの要因でアラーム割込み信号が発生しなかった場合、アラームレジスタ905e自体に不具合が生じたのか、あるいは、それ以外に不具合が生じたのかを早期に発見することができる。
ところで、タイマレジスタ905dにて発生したタイマ割込み信号及びアラームレジスタ905eにて発生したアラーム割込み信号は、割込みコントローラ905hに出力され、割込みコントローラ905hより演出制御CPU900に出力することができる。
一方、システムコントロール部905fは、上述のように、RTCモジュール部905を統括的に制御するものであり、温度センサ905iの動作/非動作を制御することができる温度センサ制御信号CSを備えている。この温度センサ制御信号CSは、演出制御CPU900により制御され、温度センサ制御信号CSが「H」レベルになると、温度センサ905iは動作を開始し、RTCモジュール部905の温度を検知し、その検知した温度を演出制御CPU900に出力することができる。一方、温度センサ制御信号CSが「L」レベルになると、温度センサ905iは動作を停止する。これにより、後述する電源基板130(図3参照)からの電力供給が遮断されると、演出制御CPU900の動作は停止し、温度センサ制御信号CSが「L」レベルになる。それゆえ、温度センサ905iの動作は停止することとなるから、バックアップ電源907にてRTCモジュール部905が動作している場合、消費電力を低減させることできる。そして、当該電源基板130(図3参照)からの電力供給が開始された場合は、演出制御CPU900の動作が開始されることとなるから、当該演出制御CPU900にて、温度センサ制御信号CSを「H」レベルに制御すると、温度センサ905iの動作を自動復帰させることができる。なお、本実施形態においては、説明していないが、温度センサ制御信号CSの信号レベルに限らず、当該信号を使用しないように設定できるレジスタを設けても良い。
また一方、このシステムコントロール部905fは、日時生成部905bにて計時している計時日時が更新中か否かを示すアクセス禁止フラグAB_FLGを備えている。このアクセス禁止フラグAB_FLGが「1」のとき、日時生成部905bにて計時している計時日時は、更新中であるため、日時生成部905bにて計時している計時日時を読み出すと、不正確な計時日時を読み出してしまう可能性がある。一方、このアクセス禁止フラグAB_FLGが「0」のとき、日時生成部905bにて計時している計時日時は更新中でないため、日時生成部905bより正確な計時日時を読み出すことができる。そのため、演出制御CPU900は、このアクセス禁止フラグAB_FLGを監視することにより、日時生成部905bより正確な計時日時を読み出すことができる。
さらに、このシステムコントロール部905fは、日時生成部905bにて計時している計時日時を設定する際使用する計時日時操作フラグTC_FLGを備えている。この計時日時操作フラグTC_FLGに「1」を設定することにより、日時生成部905bにて計時している計時日時を設定することができ、「0」を設定することにより、日時生成部905bは、その設定した日時より日時を計時することとなる。なお、この計時日時操作フラグTC_FLGに「1」が設定されている場合、日時生成部905bは、計時動作を停止している。なおまた、計時日時操作フラグTC_FLGは、演出制御CPU900より、当該計時日時操作フラグTC_FLGに「0」又は「1」を書き込む信号がバスインターフェース905gを介してシステムコントロール部905fに送信され、そのシステムコントロール部905fにより「1」又は「0」が書き込まれるまで、その値を保持している。そのため、電源遮断が生じたとしても、計時日時操作フラグTC_FLGは、その値を維持している。
ところで、上記説明した各基板への電源供給は、図3に示す電源基板130より供給されている。なお、図示では、電源供給ルートは、省略している。
ここで、本発明の特徴部分に係る演出制御基板90の処理内容(プログラムの概要)について、図5〜図21も参照して具体的に説明する。
まず、パチンコ遊技機1に電源が投入されると、電源基板130(図3参照)から各制御基板に電源が投入された旨の電源投入信号が送られる。そしてその信号を受けて、演出制御CPU900は、図5に示す演出制御メイン処理を行う。
<メイン処理>
図5に示すように、この演出制御メイン処理は、まず、演出制御CPU900が、内部に設けられているレジスタを初期化すると共に、入出力ポートの入出力方向を設定する。そしてさらに、出力方向に設定された出力ポートから送信されるデータがシリアル転送となるように設定する(ステップS1)。
図5に示すように、この演出制御メイン処理は、まず、演出制御CPU900が、内部に設けられているレジスタを初期化すると共に、入出力ポートの入出力方向を設定する。そしてさらに、出力方向に設定された出力ポートから送信されるデータがシリアル転送となるように設定する(ステップS1)。
その設定後、演出制御CPU900は、上記主制御基板60(図3参照)から受信する演出制御コマンドを格納する演出制御RAM902内のメモリ領域を初期化する(ステップS2)。そして、演出制御CPU900は、上記主制御基板60からの割込み信号を受信する入力ポートの割込み許可設定処理を行う(ステップS3)。
次いで、演出制御CPU900は、作業領域、スタック領域として使用する演出制御RAM902内のメモリ領域を初期化し(ステップS4)、音LSI903(図3参照)に初期化指令を行う。これにより、音LSI903は、その内部に設けられているレジスタを初期化する(ステップS5)。
次いで、演出制御CPU900は、図示しない可動役物を動作させるモータに異常が発生しているか否か、そのモータを動作させるモータデータが格納される演出制御RAM902内のメモリ領域を確認する。異常データが格納されている場合は、演出制御CPU900は、当該モータを原点位置に戻す指令を行う。これにより、可動役物は初期位置に戻ることとなる(ステップS6)。
次いで、演出制御CPU900は、RTC確認処理を行う(ステップS7)。このRTC確認処理について、図6を参照して具体的に説明する。
<RTC確認処理>
図6に示すように、まず、演出制御CPU900は、時間設定フラグTM_FLGに「0」を設定し(ステップS20)、設定ボタン15(図1,3参照)が押下されたか否かを確認する(ステップS21)。設定ボタン15が押下されていれば(ステップS21:ON)、設定ボタンフラグSB_FLGに「1」を設定し(ステップS22)、ステップS23の処理に進む。
図6に示すように、まず、演出制御CPU900は、時間設定フラグTM_FLGに「0」を設定し(ステップS20)、設定ボタン15(図1,3参照)が押下されたか否かを確認する(ステップS21)。設定ボタン15が押下されていれば(ステップS21:ON)、設定ボタンフラグSB_FLGに「1」を設定し(ステップS22)、ステップS23の処理に進む。
一方、設定ボタン15が押下されていなければ(ステップS21:OFF)、ステップS23の処理に進む。
上記処理を経て、演出制御CPU900は、電圧低下検知フラグFOS_FLGの値を確認する(ステップS23)。すなわち、演出制御CPU900は、RTCモジュール部905の日時生成部905b(図4参照)より電圧低下検知フラグFOS_FLGの値を2回取得し、その2回取得した電圧低下検知フラグFOS_FLGのレベルが一致するか否かを確認した上で、図示しない内部レジスタ内に格納し、その電圧低下検知フラグFOS_FLGのレベルを確認する。これにより、電圧低下検知フラグFOS_FLGが「0」であれば(ステップS23:=0)、ステップS24の計時日時チェック処理を行う。この計時日時チェック処理に関し、図7を参照して具体的に説明する。
<計時日時チェック処理>
図7に示すように、まず、演出制御CPU900は、RTCモジュール部905のシステムコントロール部905f(図4参照)より計時日時操作フラグTC_FLGの値を2回取得し、その2回取得した計時日時操作フラグTC_FLGのレベルが一致するか否かを確認した上で、図示しない内部レジスタ内に格納し、その計時日時操作フラグTC_FLGのレベルを確認する(ステップS50)。これにより、計時日時操作フラグTC_FLGが「1」であれば(ステップS50:=1)、チェック異常フラグCA_FLGに「1」を設定し(ステップS51)、ステップS24(図6参照)の処理を終える。
図7に示すように、まず、演出制御CPU900は、RTCモジュール部905のシステムコントロール部905f(図4参照)より計時日時操作フラグTC_FLGの値を2回取得し、その2回取得した計時日時操作フラグTC_FLGのレベルが一致するか否かを確認した上で、図示しない内部レジスタ内に格納し、その計時日時操作フラグTC_FLGのレベルを確認する(ステップS50)。これにより、計時日時操作フラグTC_FLGが「1」であれば(ステップS50:=1)、チェック異常フラグCA_FLGに「1」を設定し(ステップS51)、ステップS24(図6参照)の処理を終える。
一方、計時日時操作フラグTC_FLGが「0」であれば(ステップS50:=0)、演出制御CPU900は、ステップS52の計時日時データ読み込み処理に進む。このように、計時日時データ読み込み処理の前に、計時日時操作フラグTC_FLGの確認処理を設けることにより、不正確な計時日時を取得してしまう事態を防止することができる。すなわち、RTCモジュール部905の日時生成部905bの計時日時を、設定ボタン15を用いて再設定している最中に、電源遮断等が発生し、設定が正しく完了しなかった場合、不正確な計時日時を取得してしまう可能性がある。しかしながら、このように、計時日時データ読み込み処理の前に、計時日時操作フラグTC_FLGの確認処理を設けておけば、不正確な計時日時を取得してしまう事態を防止することができる。また、計時日時操作フラグTC_FLGは、上述したように、電源遮断等が発生しても、設定された値を維持しているため、不正確な計時日時を取得してしまう事態をより防止することができる。なお、特に必要なければ、ステップS50の処理を設けなくとも良い。
上記処理を経て、演出制御CPU900は、ステップS52の計時日時データ読み込み処理を行う。この計時日時データ読み込み処理に関し、図8を参照して具体的に説明する。
<計時日時データ読み込み処理>
図8に示すように、まず、演出制御CPU900は、RTCモジュール部905のシステムコントロール部905f(図4参照)よりアクセス禁止フラグAB_FLGの値を2回取得し、その2回取得したアクセス禁止フラグAB_FLGのレベルが一致するか否かを確認した上で、図示しない内部レジスタ内に格納し、そのアクセス禁止フラグAB_FLGのレベルを確認する(ステップS60)。これにより、アクセス禁止フラグAB_FLGの値が「1」であれば(ステップS60:=1)、日時生成部905bにて計時している計時日時は更新中のため、演出制御CPU900は、所定時間(例えば、244μs)待機し(ステップS61)、再度ステップS60の処理を行う。
図8に示すように、まず、演出制御CPU900は、RTCモジュール部905のシステムコントロール部905f(図4参照)よりアクセス禁止フラグAB_FLGの値を2回取得し、その2回取得したアクセス禁止フラグAB_FLGのレベルが一致するか否かを確認した上で、図示しない内部レジスタ内に格納し、そのアクセス禁止フラグAB_FLGのレベルを確認する(ステップS60)。これにより、アクセス禁止フラグAB_FLGの値が「1」であれば(ステップS60:=1)、日時生成部905bにて計時している計時日時は更新中のため、演出制御CPU900は、所定時間(例えば、244μs)待機し(ステップS61)、再度ステップS60の処理を行う。
一方、アクセス禁止フラグAB_FLGの値が「0」であれば(ステップS60:=0)、日時生成部905bにて計時している計時日時は更新中でないため、演出制御CPU900は、日時生成部905bにて計時している計時日時をバスインターフェース905g及びシステムコントロール部905fを介して日時生成部905bより読み出し、図示しない内部レジスタ内に格納し(ステップS62)、ステップS52(図7参照)の処理を終える。このようにすれば、日時生成部905bより正確な計時日時を読み出すことができる。なお、演出制御CPU900は、上記ステップS52の処理を複数回行い、読み出した値が一致しているか否かを確認している。
<計時日時チェック処理>
次いで、演出制御CPU900は、上記ステップS52(図7参照)の処理後、複数回読み出した値が不一致であれば(ステップS53:NO)、RTCモジュール部905に何らかの異常が発生していると判断し、チェック異常フラグCA_FLGに「1」を設定し(ステップS51)、ステップS24(図6参照)の処理を終える。
次いで、演出制御CPU900は、上記ステップS52(図7参照)の処理後、複数回読み出した値が不一致であれば(ステップS53:NO)、RTCモジュール部905に何らかの異常が発生していると判断し、チェック異常フラグCA_FLGに「1」を設定し(ステップS51)、ステップS24(図6参照)の処理を終える。
一方、複数回読み出した値が一致していれば(ステップS53:YES)、演出制御CPU900は、1秒以上待機する(ステップS54)。
次いで、演出制御CPU900は、上記ステップS52と同一の処理を行い、日時生成部905bにて計時している計時日時をバスインターフェース905g及びシステムコントロール部905fを介して日時生成部905bより読み出し、図示しない内部レジスタ内に格納する(ステップS55)。
次いで、演出制御CPU900は、上記ステップS52にて読み出した計時日時と、上記ステップS55にて読み出した計時日時との差分をとり、1秒以上の差が発生しているか否かを確認する(ステップS56)。一秒以上の差が発生していなければ(ステップS56:NO)、RTCモジュール部905に何らかの異常が発生していると判断し、チェック異常フラグCA_FLGに「1」を設定し(ステップS51)、ステップS24(図6参照)の処理を終える。
一方、一秒以上の差が発生していれば(ステップS56:YES)、RTCモジュール部905に何ら異常が発生していないと判断し、チェック異常フラグCA_FLGに「0」を設定し(ステップS57)、ステップS24(図6参照)の処理を終える。このように、ステップS54〜ステップS56の処理を設けることにより、不正確な計時日時を使用してしまう事態を防止することができる。なお、特に必要なければ、上記ステップS54〜ステップS56の処理を設けなくとも良い。
<RTC確認処理>
次いで、演出制御CPU900は、上記ステップS24(図6参照)の処理を終えた後、図6に示すように、チェック異常フラグCA_FLGの確認を行う(ステップS25)。チェック異常フラグCA_FLGの値が「1」であれば(ステップS25:=1)、演出制御CPU900は、コールドスタートか否かの確認を行う(ステップS26)。具体的には、ホットスタートしたか否かの確認を行っている。すなわち、ホットスタートとは、ノイズ等によりサブ制御基板80(演出制御基板90)が瞬停した際、演出制御CPU900は、再度、図5に示すステップS1の処理から開始し、瞬停前に取得しておいたチェックサム値(例えば、後述するステップS11〜ステップS16のチェックサム値を毎回取得)を確認し、チェックサム値の値に異常がなければ、演出制御RAM902内に格納されているデータを使用するというものである。このステップS26では、演出制御RAM902内に格納されている当該チェックサム値が存在するか否かを確認し、存在していれば、ホットスタートであると判断し(ステップS26:NO)、RTC演出不使用フラグRD_FLGに「1」を設定し(ステップS28)、RTC演出が実行されないようにした上で、図5に示すステップS7の処理を終える。
次いで、演出制御CPU900は、上記ステップS24(図6参照)の処理を終えた後、図6に示すように、チェック異常フラグCA_FLGの確認を行う(ステップS25)。チェック異常フラグCA_FLGの値が「1」であれば(ステップS25:=1)、演出制御CPU900は、コールドスタートか否かの確認を行う(ステップS26)。具体的には、ホットスタートしたか否かの確認を行っている。すなわち、ホットスタートとは、ノイズ等によりサブ制御基板80(演出制御基板90)が瞬停した際、演出制御CPU900は、再度、図5に示すステップS1の処理から開始し、瞬停前に取得しておいたチェックサム値(例えば、後述するステップS11〜ステップS16のチェックサム値を毎回取得)を確認し、チェックサム値の値に異常がなければ、演出制御RAM902内に格納されているデータを使用するというものである。このステップS26では、演出制御RAM902内に格納されている当該チェックサム値が存在するか否かを確認し、存在していれば、ホットスタートであると判断し(ステップS26:NO)、RTC演出不使用フラグRD_FLGに「1」を設定し(ステップS28)、RTC演出が実行されないようにした上で、図5に示すステップS7の処理を終える。
一方、演出制御RAM902内に格納されているチェックサム値が存在していなければ、ホットスタートではない、すなわち、コールドスタートであると判断し(ステップS26:YES)、RTCモジュール部905に異常が発生したことを報知する液晶制御コマンドを演出制御RAM902内に格納し(ステップS27)、RTC演出不使用フラグRD_FLGに「1」を設定し(ステップS28)、RTC演出が実行されないようにした上で、図5に示すステップS7の処理を終える。なお、この液晶制御コマンドが、後述する図20に示すタイマ割込み処理の際、液晶制御基板120(図3参照)に送信され、液晶表示装置41にRTCモジュール部905に異常が発生したことが表示されることとなる。なおまた、この表示は、所定時間(例えば、30秒)表示されるものである。
しかして、このように、コールドスタートか否かを確認する処理を設けておけば、遊技者の遊技を妨げる事態を防止することができる。すなわち、ホットスタートの際、液晶表示装置41にRTCモジュール部905に異常が発生したことが表示されるようにしていれば、遊技者の遊技を妨げることとなるが、コールドスタートか否かを確認する処理を設けておき、ホットスタートの際、液晶表示装置41にRTCモジュール部905に異常が発生したことが表示されないようにすれば、遊技者の遊技を妨げる事態を防止することができる。
ところで、チェック異常フラグCA_FLGの値が「0」であれば(ステップS25:=0)、演出制御CPU900は、RTC用RAM906(図3参照)に格納されているRTCモジュール部905(図3参照)の機能を使用するか否かの設定を読み出し、確認を行う(ステップS29)。RTCモジュール部905の機能を使用しなければ(ステップS29:NO)、RTC演出不使用フラグRD_FLGに「1」を設定し(ステップS28)、RTC演出が実行されないようにした上で、図5に示すステップS7の処理を終える。
一方、RTCモジュール部905の機能を使用する場合(ステップS29:YES)は、RTC演出を実行する際使用される内部カウンタIN_CNTに上記ステップS24にて読み出した計時日時(図7に示すステップS55にて読み出した計時日時、又は、ステップS54〜ステップ56の処理を設けていない場合は、ステップS52にて読み出した計時日時)をセットし、カウントアップ開始フラグCUS_FLGに「1」を設定する(ステップS30)。なお、この内部カウンタIN_CNTのカウントアップの方法については、後述することとする。
次いで、演出制御CPU900は、RTC演出不使用フラグRD_FLGに「0」を設定し(ステップS31)、RTC演出が実行されるようにした上で、図5に示すステップS7の処理を終える。
しかして、図6に示すステップS24の計時日時チェック処理にて示したように、電源投入時の処理において、日時生成部905bにて計時している計時日時を読み出すようにすれば、遊技者の遊技を妨げ、当該遊技者に不快感を与えてしまう事態を低減させることができる。
<メイン処理>
かくして、上記ステップS7(図5参照)の処理を経て、演出制御CPU900は、その内部に設けられている一定周期のパルス出力を作成する機能や時間計測の機能等を有するCTC(Counter Timer Circuit)の設定を行う。すなわち、演出制御CPU900は、1ms毎に定期的にタイマ割込みがかかるように上記CTCの時間定数レジスタを設定する(ステップS8)。
かくして、上記ステップS7(図5参照)の処理を経て、演出制御CPU900は、その内部に設けられている一定周期のパルス出力を作成する機能や時間計測の機能等を有するCTC(Counter Timer Circuit)の設定を行う。すなわち、演出制御CPU900は、1ms毎に定期的にタイマ割込みがかかるように上記CTCの時間定数レジスタを設定する(ステップS8)。
上記処理を終えた後、演出制御CPU900は、メインループ更新周期か否かを確認する。具体的には、0〜31までループ状にカウントするメインループカウンタML_CNTを16分周(すなわち、16で除算)した際の余りを確認し、その余りが0であれば(ステップS9:YES)、ステップS11に進み、0以外であれば(ステップS9:NO)、予告抽選等に用いる乱数値を更新する処理を行う(ステップS10)。なお、メインループカウンタML_CNTのインクリメント(+1)方法については、後述することとする。
次いで、演出制御CPU900は、後述するステップS14にて生成された装飾ランプ基板100に搭載されているLEDランプ等の装飾ランプをそれぞれ点灯又は消灯させるのに必要な制御信号を演出制御RAM902内のメモリ領域に書込みする処理を行う(ステップS11)。
続いて、演出制御CPU900は、上記演出制御RAM902内のメモリ領域に格納されている上記主制御基板60(図3参照)から受信する演出制御コマンドを読み出し、その内容に応じた演出パターンを、演出制御ROM901内に予め格納しておいた多数の演出パターンの中から抽選により決定する。そして、その決定された演出パターンに対応する液晶制御コマンドを上記演出制御RAM902内のメモリ領域に格納する(ステップS12)。
次いで、演出制御CPU900は、RTC処理を行う(ステップS13)。このRTC処理について図9を参照して具体的に説明する。
<RTC処理>
図9に示すように、まず、演出制御CPU900は、上記演出制御RAM902内のメモリ領域に格納されている上記主制御基板60(図3参照)から受信する演出制御コマンドを読み出し、変動や大当たり等を示す場合は、時間設定フラグTM_FLGに「0」を設定し、後述する計時日時等設定画面(図18参照)の表示を終了する液晶制御コマンドを演出制御RAM902内のメモリ領域に格納し、後述するステータスフラグST_FLGに「00H」を設定する処理を行う(ステップS70)。なお、この液晶制御コマンドが、後述する図20に示すタイマ割込み処理の際、液晶制御基板120(図3参照)に送信され、液晶表示装置41に設定画面が表示されない(キャンセルされる)こととなる。
図9に示すように、まず、演出制御CPU900は、上記演出制御RAM902内のメモリ領域に格納されている上記主制御基板60(図3参照)から受信する演出制御コマンドを読み出し、変動や大当たり等を示す場合は、時間設定フラグTM_FLGに「0」を設定し、後述する計時日時等設定画面(図18参照)の表示を終了する液晶制御コマンドを演出制御RAM902内のメモリ領域に格納し、後述するステータスフラグST_FLGに「00H」を設定する処理を行う(ステップS70)。なお、この液晶制御コマンドが、後述する図20に示すタイマ割込み処理の際、液晶制御基板120(図3参照)に送信され、液晶表示装置41に設定画面が表示されない(キャンセルされる)こととなる。
次いで、演出制御CPU900は、時間設定フラグTM_FLGを確認し(ステップS71)、時間設定フラグTM_FLGに「0」が設定されていれば(ステップS71:=0)、RTCモジュール部905に係る日時生成部905bの計時日時の設定をしていないと判断し、ステップS72の処理に進む。そして、演出制御CPU900は、上記演出制御RAM902内のメモリ領域に格納されている上記主制御基板60(図3参照)から受信する演出制御コマンドを読み出し、デモ中であり(ステップS72:YES)、扉開放センサ50によりガラス扉枠5の開放が検知され(ステップS73:YES)、遊技場の係員等により設定ボタン15が長押しされていれば(ステップS74:YES)、時間設定フラグTM_FLGに「1」を設定する(ステップS75)。
一方、演出制御CPU900は、デモ中でないか(ステップS72:NO)、又は、扉開放センサ50よりガラス扉枠5の開放が検知されていないか(ステップS73:NO)、あるいは、遊技場の係員等により設定ボタン15が長押しされていなければ(ステップS74:NO)、設定ボタンフラグSB_FLGの確認を行う(ステップS76)。設定ボタンフラグSB_FLGに「0」が設定されていれば(ステップS76:=0)、図5に示すステップS13の処理を終える。
一方、設定ボタンフラグSB_FLGに「1」が設定されていれば(ステップS76:=1)、設定ボタンフラグSB_FLGに「0」を設定(ステップS77)し、時間設定フラグTM_FLGに「1」を設定する(ステップS75)。
上記ステップS75の処理を終えた後、演出制御CPU900は、ステータスフラグST_FLGに「00H」を設定すると共に、計時日時等設定画面(図18参照)を表示する液晶制御コマンドを演出制御RAM902内のメモリ領域に格納し(ステップS78)、ステップS79の処理に進む。なお、この液晶制御コマンドが、後述する図20に示すタイマ割込み処理の際、液晶制御基板120(図3参照)に送信され、液晶表示装置41に計時日時等設定画面(図18参照)が表示されることとなる。
他方、演出制御CPU900は、時間設定フラグTM_FLGに「1」が設定されていれば(ステップS71:=1)、RTCモジュール部905に係る日時生成部905bの計時日時の設定をしていると判断し、ステップS72〜ステップS78の処理をせず、ステップS79の処理に進む。
次いで、演出制御CPU900は、上記処理を経て、ステップS79の時間設定処理を行う。この時間設定処理に関し、図10〜図18を参照して具体的に説明する。
<時間設定処理>
図10に示すように、まず、演出制御CPU900は、ステータスフラグST_FLGの値を確認する(ステップS90)。ステータスフラグST_FLGの値が「00H」であれば、RTC機能設定処理を行い(ステップS91)、ステータスフラグST_FLGの値が「01H」であれば、西暦設定処理を行い(ステップS92)、ステータスフラグST_FLGの値が「02H」であれば、月設定処理を行い(ステップS93)、ステータスフラグST_FLGの値が「03H」であれば、日設定処理を行い(ステップS94)、ステータスフラグST_FLGの値が「04H」であれば、時刻設定処理を行い(ステップS95)、ステータスフラグST_FLGの値が「05H」であれば、再設定確認処理を行い(ステップS96)、ステータスフラグST_FLGの値が「06H」であれば、全設定終了処理を行う(ステップS97)。そして、何れかの処理を終えた後、演出制御CPU900は、図5に示すステップS13の処理を終える。
図10に示すように、まず、演出制御CPU900は、ステータスフラグST_FLGの値を確認する(ステップS90)。ステータスフラグST_FLGの値が「00H」であれば、RTC機能設定処理を行い(ステップS91)、ステータスフラグST_FLGの値が「01H」であれば、西暦設定処理を行い(ステップS92)、ステータスフラグST_FLGの値が「02H」であれば、月設定処理を行い(ステップS93)、ステータスフラグST_FLGの値が「03H」であれば、日設定処理を行い(ステップS94)、ステータスフラグST_FLGの値が「04H」であれば、時刻設定処理を行い(ステップS95)、ステータスフラグST_FLGの値が「05H」であれば、再設定確認処理を行い(ステップS96)、ステータスフラグST_FLGの値が「06H」であれば、全設定終了処理を行う(ステップS97)。そして、何れかの処理を終えた後、演出制御CPU900は、図5に示すステップS13の処理を終える。
ここで、上記ステップS91〜S97の処理を、図11〜図18を参照して具体的に説明する。
<RTC機能設定処理>
ステータスフラグST_FLGの値が「00H」のとき、図11に示すように、演出制御CPU900は、RTCモジュール部905の機能を使用するか否かの設定確認を行う(ステップS100)。具体的には、遊技場の係員等が、液晶表示装置41に表示されている図18(a)に示す画面P1の内容に従い、設定ボタン15の左ボタン15c又は右ボタン15d(図1参照)を押下し、RTCモジュール部905の機能の有効/無効の設定が行われたか否かの設定確認を行う。
ステータスフラグST_FLGの値が「00H」のとき、図11に示すように、演出制御CPU900は、RTCモジュール部905の機能を使用するか否かの設定確認を行う(ステップS100)。具体的には、遊技場の係員等が、液晶表示装置41に表示されている図18(a)に示す画面P1の内容に従い、設定ボタン15の左ボタン15c又は右ボタン15d(図1参照)を押下し、RTCモジュール部905の機能の有効/無効の設定が行われたか否かの設定確認を行う。
次いで、演出制御CPU900は、液晶表示装置41に表示されている「設定終了」(図18(a)に示す画面P1参照)が設定ボタン15の上ボタン15b,左ボタン15c,下ボタン15e,右ボタン15d(図1参照)のいずれかを押下することによって選択され、中央ボタン15aが押下されたか否かを確認している(ステップS101)。「設定終了」が選択され、中央ボタン15aが押下された場合(ステップS101:YES)、演出制御CPU900は、計時日時等の設定が終了したと判断し、時間設定フラグTM_FLGに「0」を設定すると共に、図18に示す設定画面の表示を終了する液晶制御コマンドを演出制御RAM902内のメモリ領域に格納し(ステップS102)、図10に示すステップS91の処理を終える。なお、この液晶制御コマンドが、後述する図20に示すタイマ割込み処理の際、液晶制御基板120(図3参照)に送信され、液晶表示装置41に図18に示す設定画面が表示されない(キャンセルされる)こととなる。
一方、「設定終了」(図18(a)に示す画面P1参照)が選択されず(ステップS101:NO)、設定ボタン15の中央ボタン15aが押下されていない場合(ステップS103:OFF)、演出制御CPU900は、図10に示すステップS91の処理を終える。
他方、「設定終了」(図18(a)に示す画面P1参照)が選択されず(ステップS101:NO)、設定ボタン15の中央ボタン15aが押下された場合(ステップS103:ON)、演出制御CPU900は、RTCモジュール部905の機能の有効/無効の設定のみ完了したと判断し、当該設定された内容をRTC用RAM906(図3参照)内のメモリ領域に格納する。そして、RTCモジュール部905の機能を使用するように設定(有効設定)されていれば(ステップS104:YES)、ステータスフラグST_FLGに「01H」の値を設定し(ステップS105)、図10に示すステップS91の処理を終える。
一方、RTCモジュール部905の機能を使用しないように設定(無効設定)されていれば(ステップS104:NO)、上記説明したステップS102の処理を経て、図10に示すステップS91の処理を終える。
<西暦設定処理>
ステータスフラグST_FLGの値が「01H」のとき、図12に示すように、演出制御CPU900は、西暦を変更するか否かの設定確認を行う(ステップS110)。具体的には、遊技場の係員等が、液晶表示装置41に表示されている図18(b)に示す画面P2の内容に従い、設定ボタン15の上ボタン15b,左ボタン15c,下ボタン15e,右ボタン15d(図1参照)のいずれかを押下することによって西暦の変更を行ったか否かの確認を行う。
ステータスフラグST_FLGの値が「01H」のとき、図12に示すように、演出制御CPU900は、西暦を変更するか否かの設定確認を行う(ステップS110)。具体的には、遊技場の係員等が、液晶表示装置41に表示されている図18(b)に示す画面P2の内容に従い、設定ボタン15の上ボタン15b,左ボタン15c,下ボタン15e,右ボタン15d(図1参照)のいずれかを押下することによって西暦の変更を行ったか否かの確認を行う。
次いで、演出制御CPU900は、設定ボタン15の中央ボタン15aが押下されたか否かを確認する(ステップS111)。当該中央ボタン15aが押下されていなければ(ステップS111:OFF)、演出制御CPU900は、図10に示すステップS92の処理を終える。
一方、中央ボタン15aが押下されていれば(ステップS111:ON)、演出制御CPU900は、西暦の変更作業が終了したと判断し、ステータスフラグST_FLGに「02H」の値を設定し(ステップS112)、図10に示すステップS92の処理を終える。
<月設定処理>
ステータスフラグST_FLGの値が「02H」のとき、図13に示すように、演出制御CPU900は、月を変更するか否かの設定確認を行う(ステップS120)。具体的には、遊技場の係員等が、液晶表示装置41に表示されている図18(b)に示す画面P2の内容に従い、設定ボタン15の上ボタン15b,左ボタン15c,下ボタン15e,右ボタン15d(図1参照)のいずれかを押下することによって月の変更を行ったか否かの確認を行う。
ステータスフラグST_FLGの値が「02H」のとき、図13に示すように、演出制御CPU900は、月を変更するか否かの設定確認を行う(ステップS120)。具体的には、遊技場の係員等が、液晶表示装置41に表示されている図18(b)に示す画面P2の内容に従い、設定ボタン15の上ボタン15b,左ボタン15c,下ボタン15e,右ボタン15d(図1参照)のいずれかを押下することによって月の変更を行ったか否かの確認を行う。
次いで、演出制御CPU900は、設定ボタン15の中央ボタン15aが押下されたか否かを確認する(ステップS121)。当該中央ボタン15aが押下されていなければ(ステップS121:OFF)、演出制御CPU900は、図10に示すステップS93の処理を終える。
一方、中央ボタン15aが押下されていれば(ステップS121:ON)、演出制御CPU900は、月の変更作業が終了したと判断し、ステータスフラグST_FLGに「03H」の値を設定し(ステップS122)、図10に示すステップS93の処理を終える。
<日設定処理>
ステータスフラグST_FLGの値が「03H」のとき、図14に示すように、演出制御CPU900は、日を変更するか否かの設定確認を行う(ステップS130)。具体的には、遊技場の係員等が、液晶表示装置41に表示されている図18(b)に示す画面P2の内容に従い、設定ボタン15の上ボタン15b,左ボタン15c,下ボタン15e,右ボタン15d(図1参照)のいずれかを押下することによって変更する日の変更を行ったか否かの確認を行う。
ステータスフラグST_FLGの値が「03H」のとき、図14に示すように、演出制御CPU900は、日を変更するか否かの設定確認を行う(ステップS130)。具体的には、遊技場の係員等が、液晶表示装置41に表示されている図18(b)に示す画面P2の内容に従い、設定ボタン15の上ボタン15b,左ボタン15c,下ボタン15e,右ボタン15d(図1参照)のいずれかを押下することによって変更する日の変更を行ったか否かの確認を行う。
次いで、演出制御CPU900は、設定ボタン15の中央ボタン15aが押下されたか否かを確認する(ステップS131)。当該中央ボタン15aが押下されていなければ(ステップS131:OFF)、演出制御CPU900は、図10に示すステップS94の処理を終える。
一方、中央ボタン15aが押下されていれば(ステップS131:ON)、演出制御CPU900は、日の変更作業が終了したと判断し、ステータスフラグST_FLGに「04H」の値を設定し(ステップS132)、図10に示すステップS94の処理を終える。
<時刻設定処理>
ステータスフラグST_FLGの値が「04H」のとき、図15に示すように、演出制御CPU900は、時刻を変更するか否かの設定確認を行う(ステップS140)。具体的には、遊技場の係員等が、液晶表示装置41に表示されている図18(b)に示す画面P2の内容に従い、設定ボタン15の上ボタン15b,左ボタン15c,下ボタン15e,右ボタン15d(図1参照)のいずれかを押下することによって時刻の変更を行ったか否かの確認を行う。
ステータスフラグST_FLGの値が「04H」のとき、図15に示すように、演出制御CPU900は、時刻を変更するか否かの設定確認を行う(ステップS140)。具体的には、遊技場の係員等が、液晶表示装置41に表示されている図18(b)に示す画面P2の内容に従い、設定ボタン15の上ボタン15b,左ボタン15c,下ボタン15e,右ボタン15d(図1参照)のいずれかを押下することによって時刻の変更を行ったか否かの確認を行う。
次いで、演出制御CPU900は、設定ボタン15の中央ボタン15aが押下されたか否かを確認する(ステップS141)。当該中央ボタン15aが押下されていなければ(ステップS141:OFF)、演出制御CPU900は、図10に示すステップS95の処理を終える。
一方、中央ボタン15aが押下されていれば(ステップS141:ON)、演出制御CPU900は、時刻の変更作業が終了したと判断し、ステータスフラグST_FLGに「05H」の値を設定し(ステップS142)、図10に示すステップS95の処理を終える。
<再設定確認処理>
ステータスフラグST_FLGの値が「05H」のとき、図16に示すように、演出制御CPU900は、液晶表示装置41に表示されている図18(b)に示す画面P2の「確定」が設定ボタン15の上ボタン15b,左ボタン15c,下ボタン15e,右ボタン15d(図1参照)のいずれかを押下することによって選択され、中央ボタン15aが押下されると、演出制御CPU900は、ステップS92〜ステップS95にて設定した内容を取得し、演出制御RAM902内のメモリ領域に格納する(ステップS150)。なお、図18(b)に示す画面P2の「戻る」が選択された場合は、液晶表示装置41に図18(a)に示す画面P1が表示されることとなる。
ステータスフラグST_FLGの値が「05H」のとき、図16に示すように、演出制御CPU900は、液晶表示装置41に表示されている図18(b)に示す画面P2の「確定」が設定ボタン15の上ボタン15b,左ボタン15c,下ボタン15e,右ボタン15d(図1参照)のいずれかを押下することによって選択され、中央ボタン15aが押下されると、演出制御CPU900は、ステップS92〜ステップS95にて設定した内容を取得し、演出制御RAM902内のメモリ領域に格納する(ステップS150)。なお、図18(b)に示す画面P2の「戻る」が選択された場合は、液晶表示装置41に図18(a)に示す画面P1が表示されることとなる。
次いで、演出制御CPU900は、さらに、設定ボタン15の中央ボタン15aが押下されたか否かを確認する(ステップS151)。中央ボタン15aが押下されていなければ(ステップS151:OFF)、図10に示すステップS96の処理を終える。
一方、中央ボタン15aが押下されていれば(ステップS151:ON)、演出制御CPU900は、上記ステップS150にて演出制御RAM902内のメモリ領域に格納した設定データを読み出し、内部カウンタIN_CNTと比較し、西暦が極端に異なるか否か等を確認し、当該設定データが正常か否かを確認する(ステップS152)。設定データが正常でなければ(ステップS152:NO)、演出制御CPU900は、ステータスフラグST_FLGに「00H」を設定し(ステップS153)、図10に示すステップS96の処理を終える。この際、演出制御CPU900は、図18(c)に示す画面P3の内容が表示されるような液晶制御コマンドを演出制御RAM902内のメモリ領域に格納する。この液晶制御コマンドが、後述する図20に示すタイマ割込み処理の際、液晶制御基板120(図3参照)に送信され、液晶表示装置41に表示されることとなる。なお、図18(c)に示す画面P3の「戻る」が選択された場合は、液晶表示装置41に、画面P1が表示されることとなる。
一方、設定データが正常であれば(ステップS152:YES)、演出制御CPU900は、上記ステップS150にて演出制御RAM902内のメモリ領域に格納した設定データを読み出し、内部カウンタIN_CNTと比較し、差分があるか否かを確認する(ステップS154)。差分がある場合、演出制御CPU900は、現在時刻が変更されたと判断し(ステップS154:YES)、ステータスフラグST_FLGに「06H」を設定し(ステップS155)、図10に示すステップS96の処理を終える。なお、本実施形態においては、図18(b)の画面P2に示すように「分」までしか設定できるようにしていないが、「秒」も設定できるようにした場合に、差分があるか否かを確認するにあたっては、秒桁以下の差分しかなかった場合は、変更がなかったものとして判断するのが好ましい。
一方、差分がない場合、演出制御CPU900は、現在時刻が変更されなかったと判断し(ステップS154:NO)、ステータスフラグST_FLGに「00H」を設定し(ステップS153)、図10に示すステップS96の処理を終える。
<全設定終了処理>
ステータスフラグST_FLGの値が「06H」のとき、図17に示すように、演出制御CPU900は、後述するステップS170にて値がセットされる確認タイマCN_TIMERが「0」か否かを確認する(ステップS160)。確認タイマCN_TIMERの値が「0」であれば(ステップS160:YES)、演出制御CPU900は、システムコントロール部905f(図4参照)が備えている計時日時操作フラグTC_FLGに「1」を設定する(ステップS161)。これにより、日時生成部905bの計時動作は停止し、当該日時生成部905b(図4参照)に計時日時を設定することができることとなる。
ステータスフラグST_FLGの値が「06H」のとき、図17に示すように、演出制御CPU900は、後述するステップS170にて値がセットされる確認タイマCN_TIMERが「0」か否かを確認する(ステップS160)。確認タイマCN_TIMERの値が「0」であれば(ステップS160:YES)、演出制御CPU900は、システムコントロール部905f(図4参照)が備えている計時日時操作フラグTC_FLGに「1」を設定する(ステップS161)。これにより、日時生成部905bの計時動作は停止し、当該日時生成部905b(図4参照)に計時日時を設定することができることとなる。
次いで、演出制御CPU900は、所定時間(例えば、122μs以上)待機した後(ステップS162)、RTCモジュール部905(図3参照)に、演出制御RAM902内のメモリ領域に格納した設定データを送信する(ステップS163)。これにより、当該設定データが、RTCモジュール部905のバスインターフェース905gを介して、日時生成部905bが備えているレジスタ内にシステムコントロール部905fにより書き込まれる。この際、演出制御CPU900は、図18(d)に示す画面P4の内容が表示されるような液晶制御コマンドを演出制御RAM902内のメモリ領域に格納する。この液晶制御コマンドが、後述する図20に示すタイマ割込み処理の際、液晶制御基板120(図3参照)に送信され、液晶表示装置41に表示されることとなる。なお、図18(d)に示す画面P4の「設定終了」が選択された場合は、液晶表示装置41に図18に示す設定画面が表示されない(キャンセルされる)こととなる。
次いで、演出制御CPU900は、上記計時日時操作フラグTC_FLGに「0」を設定する(ステップS164)。これにより、日時生成部905bが備えているレジスタに書き込んだ上記設定データが反映され、当該日時生成部905bは、その設定データに基づく日時より日時を計時することとなる。
次いで、演出制御CPU900は、日時生成部905bが備えている電圧低下検知フラグFOS_FLGに「0」を設定し(ステップS165)、図7に示すステップS52と同一の処理を行い、日時生成部905bにて計時している計時日時をバスインターフェース905g及びシステムコントロール部905fを介して日時生成部905bより読み出し、図示しない内部レジスタ内に格納する(ステップS166)。
次いで、演出制御CPU900は、上記複数回読み出した計時日時の値が不一致であれば(ステップS167:NO)、RTCモジュール部905に何らかの異常が発生していると判断し、RTCモジュール部905に異常が発生したことを報知する液晶制御コマンドを演出制御RAM902内に格納し(ステップS168)、そして、RTC演出不使用フラグRD_FLGに「1」を設定し(ステップS169)、RTC演出が実行されないようにした上で、ステップS177の処理に進む。なお、この液晶制御コマンドが、後述する図20に示すタイマ割込み処理の際、液晶制御基板120(図3参照)に送信され、液晶表示装置41にRTCモジュール部905に異常が発生したことが表示されることとなる。なおまた、この表示は、所定時間(例えば、30秒)表示されるものである。
一方、上記複数回読み出した計時日時の値が一致していれば(ステップS167:YES)、確認タイマCN_TIMERに1秒以上のカウントを行うカウント値を設定する(ステップS170)。
演出制御CPU900は、上記ステップS170の処理を終えた後、又は、上記ステップS160にて確認タイマCN_TIMERの値が「0」でなければ(ステップS160:NO)、確認タイマCN_TIMERの値を減算する(ステップS171)。
次いで、演出制御CPU900は、確認タイマCN_TIMERの値を確認し、1秒以上経過していなければ(ステップS172:NO)、図10に示すステップS97の処理を終える。
一方、演出制御CPU900は、確認タイマCN_TIMERの値を確認し、1秒以上経過していれば(ステップS172:YES)、図7に示すステップS55と同一の処理を行い、日時生成部905bにて計時している計時日時をバスインターフェース905g及びシステムコントロール部905fを介して日時生成部905bより読み出し、図示しない内部レジスタ内に格納する(ステップS173)。
次いで、演出制御CPU900は、上記ステップS166にて読み出した計時日時と、上記ステップS173にて読み出した計時日時との差分をとり、1秒以上の差が発生しているか否かを確認する(ステップS174)。一秒以上の差が発生していなければ(ステップS174:NO)、RTCモジュール部905に何らかの異常が発生していると判断し、RTCモジュール部905に異常が発生したことを報知する液晶制御コマンドを演出制御RAM902内に格納し(ステップS168)、そして、RTC演出不使用フラグRD_FLGに「1」を設定し(ステップS169)、RTC演出が実行されないようにした上で、ステップS177の処理に進む。
一方、一秒以上の差が発生していれば(ステップS174:YES)、RTCモジュール部905に何ら異常が発生していないと判断し、RTC演出を実行する際使用される内部カウンタIN_CNTに上記ステップS173にて読み出した計時日時をセットし、カウントアップ開始フラグCUS_FLGに「1」を設定する(ステップS175)。なお、この内部カウンタIN_CNTのカウントアップの方法については、後述することとする。
次いで、演出制御CPU900は、RTC演出不使用フラグRD_FLGに「0」を設定し(ステップS176)、RTC演出が実行されるようにした上で、ステップS177の処理に進む。このように、ステップS166〜ステップS174の処理を設けることにより、不正確な計時日時を使用してしまう事態を防止することができる。また、このように、計時日時が不正確な場合、RTC演出を使用しないようにすれば、意図しないタイミングでRTC演出が実行されてしまう事態を防止することができる。
上記処理を経て、ステップS177の処理に進んだ演出制御CPU900は、時間設定フラグTM_FLGに「0」を設定し(ステップS177)、図10に示すステップS97の処理を終える。
しかして、本実施形態によれば、計時日時操作フラグTC_FLGに「1」を設定し、日時生成部905bの計時動作を停止させた上で、当該日時生成部905bに計時日時を設定し、その設定後、日時生成部905bの計時動作を再開させているため、不正確な日時を使用してしまう事態を防止することができる。また、図7のステップS50の処理にて、計時日時操作フラグTC_FLGの値が「1」だった場合、ステップS79の処理を実行(すなわち、計時日時の再設定)しない限り、計時日時操作フラグTC_FLGの値は「1」のままである。そのため、日時生成部905bの計時動作は停止した状態となる。それゆえ、計時日時を再設定しない限り、日時生成部905bの計時動作を停止させたままの状態にしておけば、日時生成部905bが、不正確な日時を計時してしまうという事態を防止することができる。
<メイン処理>
かくして、上記のようなステップS13(図5参照)の処理を経て、演出制御CPU900は、RTC演出不使用フラグRD_FLGに「0」が設定されていれば、RTC演出を実行すると判断し、内部カウンタIN_CNTのカウント値(演出用日時データ)を取得し、その取得したカウント値(演出用日時データ)を用いたRTC演出に応じた制御信号並びに上記決定された演出パターンに応じた制御信号を生成する。すなわち、光に関する制御信号、音に関する制御信号を生成する。そして、演出ボタン装置13を遊技者に押下させるような演出があるか否かも決定され、図示しない可動役物を動作させるモータ(図示せず)の動作内容及び大入賞口43等のソレノイドの動作内容を決定する(ステップS14)。なお、この決定された光に関する制御信号が、次回のステップS11の処理の際、演出制御RAM902内のメモリ領域に書き込まれることとなる。このように、RTC演出を実行する際、内部カウンタIN_CNTのカウント値(演出用日時データ)を取得し、使用ようにすれば、日時生成部905bにて計時している計時日時が更新中だとしてもアクセス可能となるまで待機せずとも良くなる。それゆえ、本実施形態によれば、計時日時取得時の処理遅延を防止することができる。
かくして、上記のようなステップS13(図5参照)の処理を経て、演出制御CPU900は、RTC演出不使用フラグRD_FLGに「0」が設定されていれば、RTC演出を実行すると判断し、内部カウンタIN_CNTのカウント値(演出用日時データ)を取得し、その取得したカウント値(演出用日時データ)を用いたRTC演出に応じた制御信号並びに上記決定された演出パターンに応じた制御信号を生成する。すなわち、光に関する制御信号、音に関する制御信号を生成する。そして、演出ボタン装置13を遊技者に押下させるような演出があるか否かも決定され、図示しない可動役物を動作させるモータ(図示せず)の動作内容及び大入賞口43等のソレノイドの動作内容を決定する(ステップS14)。なお、この決定された光に関する制御信号が、次回のステップS11の処理の際、演出制御RAM902内のメモリ領域に書き込まれることとなる。このように、RTC演出を実行する際、内部カウンタIN_CNTのカウント値(演出用日時データ)を取得し、使用ようにすれば、日時生成部905bにて計時している計時日時が更新中だとしてもアクセス可能となるまで待機せずとも良くなる。それゆえ、本実施形態によれば、計時日時取得時の処理遅延を防止することができる。
次いで、演出制御CPU900は、上記決定された音に関する制御信号を音LSI903に送信する。そして、音LSI903は、その制御信号に応じたBGMあるいは効果音を音ROM904から読み出す。これにより、音LSI903は、その読み出した音データに基づく処理を行い、音源データとしてスピーカ17へ出力する処理を行う(ステップS15)。
次いで、演出制御CPU900は、ステップS12にて決定されたソレノイドの作動内容に応じたソレノイドデータを生成し、その生成したソレノイドデータを演出制御RAM902内に格納する(ステップS16)。
次いで、演出制御CPU900は、上記ステップS15の処理に関し、音LSI903が音データ等をデコード処理する際、ノイズ等により何らかのエラーが発生していないかを、当該音LSI903にアクセスし確認する(ステップS17)。
かくして、演出制御CPU900は、上記ステップS17の処理を終えた後、再度ステップS9の処理に戻り、ステップS9〜S17の処理を繰り返すこととなる。
<コマンド受信割込み処理>
続いて、図19を参照して、このような演出制御メイン処理の実行中に、主制御基板60より演出制御コマンド及び割込み信号が送信されてきた際の処理について説明する。
続いて、図19を参照して、このような演出制御メイン処理の実行中に、主制御基板60より演出制御コマンド及び割込み信号が送信されてきた際の処理について説明する。
図19に示すように、演出制御CPU900は、上記割込み信号を受信した際、各レジスタの内容を演出制御RAM902内のスタック領域に退避させる退避処理を実行する(ステップS200)。その後、演出制御CPU900は、演出制御コマンドを受信した入力ポートのレジスタを読み出し(ステップS201)、演出制御RAM902内のコマンド送受信用メモリ領域のアドレス番地を示すポインタを算出する(ステップS202)。
そしてその後、演出制御CPU900は、再度、演出制御コマンドを受信した入力ポートのレジスタを読み出し(ステップS203)、ステップS201にて読み出した値とステップS203にて読み出した値が一致しているか否かを確認する。一致していなければ(ステップS204:NO)、ステップS207に進み、一致していれば(ステップS204:YES)、上記算出したポインタに対応するアドレス番地に、主制御基板60より受信した演出制御コマンドを格納する(ステップS205)。なお、この格納された演出制御コマンドが、図5に示すステップS12の処理の際、演出制御CPU900に読み出されることとなる。
次いで、演出制御CPU900は、演出制御RAM902内のコマンド送受信用メモリ領域のアドレス番地を示すポインタを更新し(ステップS206)、ステップS200の処理で退避しておいたレジスタを復帰させる(ステップS207)。これにより、図5に示す演出制御メイン処理に戻ることとなる。
<タイマ割込み処理>
続いて、図20を参照して、演出制御メイン処理のステップS8(図5参照)の処理にて設定した、1ms毎のタイマ割込みが発生した際の処理について説明する。
続いて、図20を参照して、演出制御メイン処理のステップS8(図5参照)の処理にて設定した、1ms毎のタイマ割込みが発生した際の処理について説明する。
図20に示すように、演出制御CPU900は、1ms毎のタイマ割込みが発生した際、各レジスタの内容を演出制御RAM902内のスタック領域に退避させる退避処理を実行する(ステップS300)。その後、演出制御CPU900は、当該演出制御CPU900内に設けられている入出力ポートのレジスタをリフレッシュする(ステップS301)。
続いて、演出制御CPU900は、図5に示すステップS16にて処理した演出制御RAM902内のメモリ領域に格納されているソレノイドデータを出力ポートよりシリアル転送で送信する。これにより、大入賞口43等が開閉動作することとなる。またさらに、演出制御CPU900は、演出制御RAM902内のメモリ領域に格納されているモータデータを出力ポートよりシリアル転送で送信する。これにより、図示しない可動役物が、そのモータデータに基づいた動作をすることとなる(ステップS302)。
次いで、演出制御CPU900は、演出ボタン装置13からの信号を受信する(ステップS303)。なお、演出ボタン装置13が遊技者によって押下されていた場合、演出制御CPU900は、図5に示すステップS14の処理を行う際、演出ボタン装置13が押下されたことを考慮した演出パターンを決定することとなる。
次いで、演出制御CPU900は、図示しない可動役物のモータ(図示せず)の位置を検知するモータセンサから送信される検知データに基づきモータの位置を確認する(ステップS304)。
次いで、演出制御CPU900は、図5に示すステップS7,ステップS11,ステップS13の処理にて演出制御RAM902内のメモリ領域に格納された液晶制御コマンドを液晶制御基板120(図3参照)に送信する(ステップS305)。
次いで、演出制御CPU900は、上記ステップS304にて確認したモータの位置に基づき、図5に示すステップS14にて決定された可動役物を動作させるモータの動作内容に応じたモータデータを生成した上で、演出制御RAM902内のメモリ領域に格納する(ステップS306)。なお、この演出制御RAM902内のメモリ領域に格納されたモータデータが、次の1msのタイマ割込みの際、ステップS302の処理にて出力ポートよりシリアル転送にて送信されることとなる。
次いで、演出制御CPU900は、内部カウンタIN_CNTの処理を行う(ステップS307)。この内部カウンタ処理について、図21を参照して具体的に説明する。
<内部カウンタ処理>
図21に示すように、演出制御CPU900は、まず、後述するエラーフラグERR_FLGの値に「1」が設定されているかを確認する(ステップS400)。エラーフラグERR_FLGに「1」が設定されていれば、エラー発生中であると判断し(ステップS400:YES)、図20に示すステップS307の処理を終える。
図21に示すように、演出制御CPU900は、まず、後述するエラーフラグERR_FLGの値に「1」が設定されているかを確認する(ステップS400)。エラーフラグERR_FLGに「1」が設定されていれば、エラー発生中であると判断し(ステップS400:YES)、図20に示すステップS307の処理を終える。
一方、エラーフラグERR_FLGに「0」が設定されていれば、エラーは発生中でないと判断し(ステップS400:NO)、演出制御CPU900は、内部カウンタIN_CNTの値が補正時刻(例えば、24:00:00)に到達したか否かを確認する(ステップS401)。補正時刻に到達していなければ(ステップS401:YES)、演出制御CPU900は、後述するエラーカウンタERR_CNT及びアクセス禁止カウンタAB_CNTの値をクリアする(ステップS402)。
次いで、演出制御CPU900は、カウントアップ開始フラグCUS_FLGに「1」が設定されていることを確認し、RTC演出を実行する際使用される内部カウンタIN_CNTのカウントアップを行い(ステップS403)、図20に示すステップS307の処理を終える。このように、1ms毎のタイマ割込み内で、内部カウンタIN_CNTのカウントアップを行うようにすれば、正確な日時をカウントすることができ、意図通りのRTC演出を実行させることができる。
一方、補正時刻に到達していれば(ステップS401:NO)、RTCモジュール部905のシステムコントロール部905f(図4参照)よりアクセス禁止フラグAB_FLGの値を2回取得し、その2回取得したアクセス禁止フラグAB_FLGのレベルが一致するか否かを確認した上で図示しない内部レジスタ内に格納し、そのアクセス禁止フラグAB_FLGのレベルを確認する(ステップS404)。これにより、アクセス禁止フラグAB_FLGの値が「1」であれば(ステップS404:=1)、日時生成部905bにて計時している計時日時は、更新中であるため、日時生成部905bより計時日時を読み出さず、演出制御CPU900は、アクセス禁止カウンタAB_CNTの値を+1加算する(ステップS405)。
次いで、演出制御CPU900は、アクセス禁止カウンタAB_CNTの値を確認し(ステップS406)、10より小さければ(ステップS406:YES)、図20に示すステップS307の処理を終える。
一方、10より大きければ(ステップS406:NO)、演出制御CPU900は、RTCモジュール部905(図3参照)に何らかの異常が発生していると判断し、上記ステップS400にて参照するエラーフラグERR_FLGに「1」を設定し(ステップS407)、そして、RTC演出不使用フラグRD_FLGに「1」を設定し(ステップS408)、RTC演出が実行されないようにした上で、図20に示すステップS307の処理を終える。このようにすれば、意図しないRTC演出が実行されてしまう事態を防止することができる。
他方、アクセス禁止フラグAB_FLGの値が「0」であれば(ステップS404:=0)、日時生成部905bにて計時している計時日時は、更新中でないため、演出制御CPU900は、図7に示すステップS52と同一の処理を行い、日時生成部905bにて計時している計時日時をバスインターフェース905g及びシステムコントロール部905fを介して日時生成部905bより読み出し、図示しない内部レジスタ内に格納する(ステップS409)。これにより、不正確な計時日時を日時生成部905b(図4参照)より読み出してしまう事態を防止することができる。
次いで、演出制御CPU900は、上記複数回読み出した計時日時の値が一致していれば(ステップS410:YES)、RTCモジュール部905に何ら異常が発生していないと判断し、エラーカウンタERR_CNTのカウント値をクリアする(ステップS411)。
次いで、演出制御CPU900は、上記ステップ409にて、演出制御CPU900の内部レジスタ内に格納した計時日時を内部カウンタIN_CNTにセットし、時刻補正を行い(ステップS412)、図20に示すステップS307の処理を終える。
一方、計時日時の値が不一致であれば(ステップS410:NO)、エラーカウンタERR_CNTの値を+1加算する(ステップS413)。
次いで、演出制御CPU900は、エラーカウンタERR_CNTの値を確認し(ステップS413)、10より小さければ(ステップS414:YES)、図20に示すステップS307の処理を終える。
一方、10より大きければ(ステップS414:NO)、演出制御CPU900は、RTCモジュール部905(図3参照)に何らかの異常が発生していると判断し、上記ステップS400にて参照するエラーフラグERR_FLGに「1」を設定し(ステップS415)、そして、RTC演出不使用フラグRD_FLGに「1」を設定し(ステップS416)、RTC演出が実行されないようにした上で、図20に示すステップS307の処理を終える。このようにすれば、意図しないRTC演出が実行されてしまう事態を防止することができる。
<タイマ割込み処理>
かくして、演出制御CPU900は、上記ステップS307(図20参照)の処理を終えた後、図5に示すステップS9の処理にて用いる0〜31までループ状にカウントするメインループカウンタML_CNTをインクリメント(+1)し、そのインクリメントした値を16分周(すなわち、16で除算)する処理を行う(ステップS308)。そしてその後、演出制御CPU900は、ステップS300の処理で退避しておいたレジスタを復帰させる(ステップS309)。これにより、図5に示す演出制御メイン処理に戻ることとなる。
かくして、演出制御CPU900は、上記ステップS307(図20参照)の処理を終えた後、図5に示すステップS9の処理にて用いる0〜31までループ状にカウントするメインループカウンタML_CNTをインクリメント(+1)し、そのインクリメントした値を16分周(すなわち、16で除算)する処理を行う(ステップS308)。そしてその後、演出制御CPU900は、ステップS300の処理で退避しておいたレジスタを復帰させる(ステップS309)。これにより、図5に示す演出制御メイン処理に戻ることとなる。
しかして、以上説明した本実施形態によれば、不正確な計時日時を取得してしまう事態を防止することができる。
<第2実施形態>
次に、本発明に係る遊技機の第2実施形態を図22〜図25を参照して説明する。なお、第1実施形態と同一構成については、同一の符号を付し、説明は省略する。
次に、本発明に係る遊技機の第2実施形態を図22〜図25を参照して説明する。なお、第1実施形態と同一構成については、同一の符号を付し、説明は省略する。
第2実施形態と第1実施形態の異なる点は、第1実施形態では、内部カウンタIN_CNTのカウント値(演出用日時データ)を用いてRTC演出を実行したが、第2実施形態では、日時生成部905bにて計時している計時日時を取得し、RTC演出を実行するものである。
そのため、第2実施形態は、演出制御基板90の処理内容(プログラムの概要)のうち、図22〜図25に示す処理内容が第1実施形態と相違しており、それ以外の処理は、第1実施形態と同一である。それゆえ、以下では、処理内容が異なる部分のみ説明することとする。
図22に示すように、ステップS7(図5参照)のRTC確認処理の処理内容が相違する。すなわち、図22に示すステップS7(図5参照)のRTC確認処理の詳細処理と、図6に示すステップS7(図5参照)のRTC確認処理の詳細処理とは、ステップS500(図22参照)の計時日時データ読み込み処理と、ステップS30(図6参照)の内部カウンタの設定処理とが相違し、それ以外の処理は同一である。
このステップS500に示す計時日時データ読み込み処理は、ステップS52(図7参照)と同一の処理を行い、日時生成部905bにて計時している計時日時をバスインターフェース905g及びシステムコントロール部905fを介して日時生成部905bより読み出し、演出制御CPU900の内部レジスタ(図示せず)内に格納するというものである(ステップS500)。
一方、図23に示すように、ステップS13(図5参照)のRTC処理の処理内容も相違する。すなわち、図23に示す全設定終了処理は、ステップS13(図5参照)のRTC処理の詳細処理(図9参照)のうち、ステップS79の時間設定処理の詳細処理(図10参照)のうち、ステップS97の全設定終了処理の詳細処理を示すもので、図23に示すステップS97(図10参照)の全設定処理と、図17に示すステップS97(図10参照)の全設定処理とは、ステップS600(図22参照)の計時日時データ読み込み処理と、ステップS175(図17参照)の内部カウンタの設定処理とが相違し、それ以外の処理は同一である。
このステップS600に示す計時日時データ読み込み処理は、ステップS52(図7参照)と同一の処理を行い、日時生成部905bにて計時している計時日時をバスインターフェース905g及びシステムコントロール部905fを介して日時生成部905bより読み出し、演出制御CPU900の内部レジスタ(図示せず)内に格納するというものである(ステップS600)。なお、図16に示す再設定確認処理のうち、第1実施形態と異なる部分があるため、その点について説明する。すなわち、第1実施形態において、演出制御CPU900は、ステップS152にて、演出制御RAM902内のメモリ領域に格納した設定データ(ステップS150参照)を読み出し、内部カウンタIN_CNTと比較し、西暦が極端に異なるか否か等を確認し、当該設定データが正常か否かを確認していたが、本実施形態においては、図22に示すステップS500にて、当該演出制御CPU900の内部レジスタ(図示せず)内に格納した計時日時と比較し、西暦が極端に異なるか否か等を確認している。そして、設定データが正常でなければ(ステップS152:NO)、演出制御CPU900は、ステータスフラグST_FLGに「00H」を設定し(ステップS153)、図10に示すステップS96の処理を終え、設定データが正常であれば(ステップS152:YES)、上記ステップS150にて演出制御RAM902内のメモリ領域に格納した設定データを読み出し、当該演出制御CPU900の内部レジスタ(図示せず)内に格納した計時日時と比較し、差分があるか否かを確認する(ステップS154)。差分がある場合、演出制御CPU900は、現在時刻が変更されたと判断し(ステップS154:YES)、ステータスフラグST_FLGに「06H」を設定し(ステップS155)、図10に示すステップS96の処理を終えることとなる。
一方、図24に示すように、タイマ割込み処理の処理内容も相違する。すなわち、図24に示すタイマ割込み処理と、図20に示すタイマ割込み処理とは、ステップS700(図24参照)の計時日時データ取得処理と、ステップS307の内部カウンタ処理とが相違し、それ以外の処理は同一である。この計時日時データ取得処理について、図25を参照して具体的に説明する。
<計時日時データ取得処理>
図25に示すように、演出制御CPU900は、まず、後述するエラーフラグERR_FLGの値に「1」が設定されているかを確認する(ステップS800)。エラーフラグERR_FLGに「1」が設定されていれば、エラー発生中であると判断し(ステップS800:YES)、図24に示すステップS700の処理を終える。
図25に示すように、演出制御CPU900は、まず、後述するエラーフラグERR_FLGの値に「1」が設定されているかを確認する(ステップS800)。エラーフラグERR_FLGに「1」が設定されていれば、エラー発生中であると判断し(ステップS800:YES)、図24に示すステップS700の処理を終える。
一方、エラーフラグERR_FLGに「0」が設定されていれば、エラーは発生中でないと判断し(ステップS800:NO)、演出制御CPU900は、RTCモジュール部905のシステムコントロール部905f(図4参照)よりアクセス禁止フラグAB_FLGの値を2回取得し、その2回取得したアクセス禁止フラグAB_FLGのレベルが一致するか否かを確認した上で図示しない内部レジスタ内に格納し、そのアクセス禁止フラグAB_FLGのレベルを確認する(ステップS801)。これにより、アクセス禁止フラグAB_FLGの値が「0」であれば(ステップS801:=0)日時生成部905bにて計時している計時日時は、更新中でないため、演出制御CPU900は、アクセス禁止カウンタAB_CNTの値をクリアする(ステップS802)。
次いで、演出制御CPU900は、ステップS52(図7参照)と同一の処理を行い、日時生成部905bにて計時している計時日時をバスインターフェース905g及びシステムコントロール部905fを介して日時生成部905bより読み出し、図示しない内部レジスタ内に格納し(ステップS803)、図24に示すステップS700の処理を終える。なお、この処理にて格納された計時日時が、ステップS14(図5参照)にて使用されることとなる。すなわち、ステップS14にて、演出制御CPU900は、RTC演出不使用フラグRD_FLGに「0」が設定されていれば、RTC演出を実行すると判断し、当該計時日時を用いたRTC演出に応じた制御信号並びに上記決定された演出パターンに応じた制御信号を生成する。すなわち、光に関する制御信号、音に関する制御信号を生成するというものである。
一方、アクセス禁止フラグAB_FLGの値が「1」であれば(ステップS801:=1)、日時生成部905bにて計時している計時日時は、更新中であるため、日時生成部905bより計時日時を読み出さず、アクセス禁止カウンタAB_CNTの値を+1加算する(ステップS804)。これにより、不正確な計時日時を日時生成部905b(図4参照)より読み出してしまう事態を防止することができる。
次いで、演出制御CPU900は、アクセス禁止カウンタAB_CNTの値を確認する(ステップS805)。そして、10より小さければ(ステップS805:YES)、図24に示すステップS700の処理を終える。
一方、10より大きければ(ステップS805:NO)、演出制御CPU900は、RTCモジュール部905(図3参照)に何らかの異常が発生していると判断し、上記ステップS800にて参照するエラーフラグERR_FLGに「1」を設定し(ステップS806)、RTC演出不使用フラグRD_FLGに「1」を設定し(ステップS807)、RTC演出が実行されないようにした上で、図24に示すステップS700の処理を終える。このようにすれば、意図しないRTC演出が実行されてしまう事態を防止することができる。
しかして、以上説明した本実施形態においても、不正確な計時日時を取得してしまう事態を防止することができる。
なお、第1実施形態及び第2実施形態において示すRTC演出とは、予告等の演出に限らず、時刻や日付を表示したり、特定の日時に達するまでの残日時をカウント方式で表示したりする等の幅広い演出態様のことをいう。
また、本実施形態においては、RTC用RAM906に、RTCモジュール部905の機能を使用するかしないかの設定信号を格納する例だけを示したが、それに限らず、主制御基板60より送信される現在の遊技状態等を格納しても良い。
1 パチンコ遊技機
15 設定ボタン(日時設定手段)
90 演出制御基板
900 演出制御CPU
901 演出制御ROM
902 演出制御RAM
905 RTCモジュール部(計時手段)
TC_FLG 計時日時操作フラグ(計時操作手段)
15 設定ボタン(日時設定手段)
90 演出制御基板
900 演出制御CPU
901 演出制御ROM
902 演出制御RAM
905 RTCモジュール部(計時手段)
TC_FLG 計時日時操作フラグ(計時操作手段)
Claims (3)
- 日時を計時する計時手段と、
前記計時手段の計時動作の開始又は停止を操作する計時操作手段と、
前記計時手段により計時される日時を任意に設定可能な日時設定手段とを有し、
前記日時設定手段にて日時を設定する際、前記計時操作手段により前記計時手段の計時動作を停止させた上で日時を設定し、当該日時を設定した後、当該設定された日時に基づく計時動作を当該計時手段が開始するよう当該計時操作手段にて操作してなることを特徴とする遊技機。 - 前記計時操作手段は、前記計時手段の計時動作を停止させたまま、電源遮断が生じた際、当該計時動作の停止を維持してなることを特徴とする請求項1に記載の遊技機。
- 前記計時手段の計時動作を停止させたまま電源遮断が生じた際、前記計時操作手段は、前記日時設定手段にて新たな日時が設定されるまで、当該計時手段の計時動作を停止させてなることを特徴とする請求項2に記載の遊技機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013024802A JP2014151073A (ja) | 2013-02-12 | 2013-02-12 | 遊技機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2013024802A JP2014151073A (ja) | 2013-02-12 | 2013-02-12 | 遊技機 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014151073A true JP2014151073A (ja) | 2014-08-25 |
Family
ID=51573540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013024802A Pending JP2014151073A (ja) | 2013-02-12 | 2013-02-12 | 遊技機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2014151073A (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016150028A (ja) * | 2015-02-16 | 2016-08-22 | 株式会社三共 | 遊技機および遊技用装置 |
JP2016150029A (ja) * | 2015-02-16 | 2016-08-22 | 株式会社三共 | 遊技機および遊技用装置 |
JP2016214659A (ja) * | 2015-05-22 | 2016-12-22 | 株式会社三共 | 遊技機 |
JP2016214658A (ja) * | 2015-05-22 | 2016-12-22 | 株式会社三共 | 遊技機 |
-
2013
- 2013-02-12 JP JP2013024802A patent/JP2014151073A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016150028A (ja) * | 2015-02-16 | 2016-08-22 | 株式会社三共 | 遊技機および遊技用装置 |
JP2016150029A (ja) * | 2015-02-16 | 2016-08-22 | 株式会社三共 | 遊技機および遊技用装置 |
JP2016214659A (ja) * | 2015-05-22 | 2016-12-22 | 株式会社三共 | 遊技機 |
JP2016214658A (ja) * | 2015-05-22 | 2016-12-22 | 株式会社三共 | 遊技機 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4966357B2 (ja) | 遊技機 | |
JP4857315B2 (ja) | 弾球遊技機 | |
JP2010142308A (ja) | 弾球遊技機 | |
JP2006081673A (ja) | 遊技台 | |
JP2010259594A (ja) | 遊技機 | |
JP2014151073A (ja) | 遊技機 | |
JP4869304B2 (ja) | 弾球遊技機 | |
JP5032420B2 (ja) | 弾球遊技機 | |
JP2010259590A (ja) | 遊技機 | |
JP2010227369A (ja) | 遊技台 | |
JP2011092659A (ja) | 遊技機 | |
JP5661731B2 (ja) | 遊技機 | |
JP2014151071A (ja) | 遊技機 | |
JP5127801B2 (ja) | 遊技機 | |
JP5313376B2 (ja) | 遊技機 | |
JP5658775B2 (ja) | 遊技機 | |
JP2015042359A (ja) | 遊技機 | |
JP4866450B2 (ja) | 遊技機 | |
JP6307113B2 (ja) | 遊技機 | |
JP2014151072A (ja) | 遊技機 | |
JP5959226B2 (ja) | 遊技機 | |
JP5959227B2 (ja) | 遊技機 | |
JP6307112B2 (ja) | 遊技機 | |
JP6242971B2 (ja) | 遊技機 | |
JP5726228B2 (ja) | 遊技機 |