(58)【調査した分野】(Int.Cl.,DB名)
【発明の概要】
【発明が解決しようとする課題】
【0005】
ところで、特許文献1の遊技機では、出力データをクリアするにあたってクリアデータを準備する必要があり、これに伴い、出力データをクリアするための処理に要するプログラムの容量が増加してしまうという問題があった。このため、クリアデータを出力するための処理、すなわち出力ポートの記憶内容を初期化するための処理には改良の余地があった。
【0006】
本発明は、このような問題点に着目してなされたものであり、特定領域の記憶内容を初期化するために要するプログラムの容量を削減することができる遊技機を提供することを目的とする。
【課題を解決するための手段】
【0007】
上記課題を解決するために、本発明の遊技機は、
遊技を行う遊技機(例えば、遊技機1)であって、
特定領域(例えば、出力ポート)に特定情報(例えば、出力データ)を記憶させる特定情報記憶手段(例えば、
図2のSa4の処理を行う部分、
図3のSb11の処理を行う部分、
図4のSc15の処理を行う部分)と、
前記特定領域で記憶している特定情報を出力するための特定情報出力処理を実行する特定情報出力処理手段(例えば、
図2のSa5の処理を行う部分、
図3のSb12の処理を行う部分、
図4のSc16の処理を行う部分)と、
前記特定情報出力処理によって特定情報を出力する時間を特定可能な
複数ビットの時間数値データ(例えば、タイマ値)を時間記憶領域(例えば、Aレジスタ)に記憶させる時間情報記憶手段(例えば、
図2のSa1の処理を行う部分、
図3のSb2の処理を行う部分、
図4のSc7の処理を行う部分、)と、
を備え、
時間数値データは、特定ビットが1であるときに特定状態であることを示し、前記特定ビット以外のビットにより特定情報を出力する時間を示し、
時間の経過に応じて
時間数値データを減算更新
可能な時間情報更新手段(例えば、
図2のSa3の処理を行う部分、
図3のSb6の処理を行う部分、
図4のSc11の処理を行う部分)と、
前記時間情報更新手段により更新された
時間数値データが0になったときに、該
時間数値データを前記特定領域に記憶させることにより、前記特定領域の記憶内容を初期化する初期化手段(例えば、
図2のSa2でYのときにSa5の処理を行う部分、
図3のSb5でYのときにSb12の処理を行う部分、
図4のSc8でYのときにSc16の処理を行う部分)と
、を備え
、
前記時間情報更新手段は、前記特定ビットが0であるときに時間数値データを減算更新し、前記特定ビットが1であるときに時間数値データを減算更新しない、ものである。
この構成によれば、特定領域の記憶内容を初期化するときに、初期化のための情報(データ)を別途用意する必要がなくなるので、特定領域の記憶内容を初期化するために要するプログラムの容量を削減することができる。
【0008】
特定領域は、信号を出力するポート(例えば、出力ポート)である(例えば、
図2のSa2でYのときにSa5の処理を行う部分、
図3のSb5でYのときにSb12の処理を行う部分、
図4のSc8でYのときにSc16の処理を行う部分)。
この構成によれば、ポートの出力状態を容易にクリアできる。
【0009】
所定アドレスで示される記憶領域に所定データを格納する第1命令を実行する第1命令実行手段と、
所定アドレスで示される記憶領域に特定レジスタのデータを格納する第2命令を実行する第2命令実行手段とを備え、
前記第1命令の実行に用いるデータよりも前記第2命令の実行に用いるデータのほうがデータの容量が小さく、
初期化手段は、前記第2命令の実行により特定領域の記憶内容を初期化する(例えば、
図2のSa2でYのときにSa5の処理を行う部分、
図3のSb5でYのときにSb12の処理を行う部分、
図4のSc8でYのときにSc16の処理を行う部分)。
この構成によれば、特定領域の記憶内容を初期化するために要するデータの容量を削減することができる。
【0010】
特定領域と時間情報記憶領域とは同一の大きさの領域である。
この構成によれば、各々の領域の大きさが同一なので初期化する際に容易に扱うことができる。
【0011】
時間情報更新手段により更新された時間情報を特定レジスタに入力する時間情報入力手段(例えば、
図2のSa1の処理を行う部分、
図3のSb2の処理を行う部分、
図4のSc7の処理を行う部分)と、
前記特定レジスタに入力された時間情報に基づいて、更新後の時間情報が特定時間情報になったか否かを判定する判定手段(例えば、
図2のSa2の処理を行う部分、
図3のSb5の処理を行う部分、
図4のSc8の処理を行う部分)とを備え、
特定情報記憶手段は、更新後の時間情報が特定時間情報になっていないと判定されたときに、特定領域に記憶させる特定情報を前記特定レジスタに入力し、前記特定レジスタに入力した特定情報を前記特定領域に記憶させ(例えば、
図2のSa2でNのときにSa4およびSa5の処理を行う部分、
図3のSb5でNのときにSb11およびSb12の処理を行う部分、
図4のSc8でNのときにSc15およびSc16の処理を行う部分)、
初期化手段は、更新後の時間情報が特定時間情報になったと判定されたときに、前記特定レジスタに入力された前記特定時間情報を前記特定領域に記憶させることにより、前記特定領域の記憶内容を初期化する(例えば、
図2のSa2でYのときにSa5の処理を行う部分、
図3のSb5でYのときにSb12の処理を行う部分、
図4のSc8でYのときにSc16の処理を行う部分)。
この構成によれば、特定領域の記憶内容を初期化するために要するプログラムの容量を削減することができる。
【発明を実施するための形態】
【0013】
[遊技機の構成]
図1は、本実施の形態に係る遊技機1を示す図である。
図1に示すように、本実施の形態に係る遊技機1は、画像を表示する液晶表示器51と、楽曲や演出音などの音声を出力するスピーカ53,54とを備える。
【0014】
遊技機1は、遊技の制御を行う遊技制御手段と、遊技制御手段から送信された制御情報に基づいて演出の制御を行う演出制御手段とを備えている。具体的には、遊技制御手段として遊技制御基板を備えている。遊技制御基板はメイン制御部を備えている。メイン制御部は、1チップマイクロコンピュータにて構成され、CPU、ROM、RAM、パラレル出力ポート、パラレル入力ポートを備えている。メイン制御部は、ROMに記憶された制御プログラムを実行して、遊技の進行に関する処理を行うととともに、遊技制御基板に搭載された制御回路の各部を直接的または間接的に制御する。また、演出制御手段として演出制御基板を備えている。演出制御基板はサブ制御部を備えている。サブ制御部は、メイン制御部と同様に1チップマイクロコンピュータにて構成され、CPU、ROM、RAM、パラレル出力ポート、パラレル入力ポートを備えている。サブ制御部は、演出の制御を行うとともに演出制御基板に接続されている各種演出装置を制御する。メイン制御部は、パラレル出力ポートを介してパラレル信号によりサブ制御部に各種のコマンドを送信する。メイン制御部からサブ制御部へ送信されるコマンドは一方向のみで送られ、サブ制御部からメイン制御部へ向けてコマンドが送られることはない。以下、パラレル出力ポートを出力ポートと略して説明する。
【0015】
また、遊技機1は、条件装置を備えている。条件装置とは、その作動が入賞、再遊技、役物又は役物連続作動装置の作動に係る図柄の組合せが表示されるために必要な条件とされている装置で、遊技機内で行われる電子計算機によるくじ(以下、内部抽選という。)に当せんした場合に作動するものをいう。すなわち、条件装置とは当選フラグをいう。条件装置が作動したときにメイン制御部は外部に条件装置信号を出力するための条件装置信号出力処理を実行する。例えば、条件装置信号は、遊技機1の検定の際の試験信号として用いられる。
【0016】
[条件装置信号出力処理について]
次に、条件装置信号出力処理を実行する例について
図2を用いて説明する。本実施形態では、条件装置信号出力処理は、一定時間間隔(本実施形態では、約0.56ms)毎に実行されるタイマ割込処理(メイン)内で実行される。
【0017】
図2に示す条件装置信号出力処理において、条件装置信号として外部に出力される出力データの出力時間は、例えば44.8msに設定されている。そして、出力データの出力時間を計時する条件装置信号出力タイマに44.8msに相当するタイマ値がセットされ、タイマ値の減算が終了するまで出力データが出力される。
【0018】
遊技機1がスロットマシンであるときは、例えば、出力データは小役や再遊技役、特別役(ボーナス)に当選したことを特定可能なデータである。また、遊技機1がパチンコ遊技機であるときは、例えば、出力データは入賞口において入賞が発生したこと、当たりが発生したことを特定可能なデータである。
【0019】
図2に示すように、条件装置信号出力処理では、メイン制御部は、まず、条件装置信号出力タイマのタイマ値を記憶している記憶領域のアドレスをレジスタにセットしてタイマ値を取得し、取得したタイマ値を特定レジスタ(以下、Aレジスタと称する)に入力する(Sa1)。なお、当該アドレスに記憶しているタイマ値は条件装置信号出力タイマが減算されると更新される。
【0020】
次いで、Aレジスタに格納したタイマ値が「0」であるか否かを判定することによって、条件装置信号出力タイマによるタイマ値の減算が終了したか否かを判定する(Sa2)。タイマ値の減算が終了していないとき、すなわちAレジスタに入力したタイマ値が「0」でないときには、条件装置信号出力タイマのタイマ値を減算する(Sa3)。
【0021】
なお、本実施形態では、タイマ値は8ビットの値であり、1桁目の先頭の値を遊技状態の識別に使用し、残りの7桁の値を出力データの出力時間の識別に用いている。そして、本実施形態では、タイマ値のビット数に応じて定められた値を順次減算していき、減算の結果が0になったときに、Sb2で入力したタイマ値が0になったものと判定される。これにより、タイマ値のビット数に応じて出力データの出力時間が計時されることとなる。
【0022】
タイマ値を減算した後は、出力データが格納されている記憶領域のアドレスをレジスタにセットして当該アドレスから出力データを取得し、取得した出力データをAレジスタに入力する(Sa4)。次いで、Aレジスタに入力された出力データを出力ポートに出力する(Sa5)。この後、出力ポートから出力データが外部に出力される。
【0023】
また、Sa2でタイマ値の減算が終了したと判定されたとき、すなわちAレジスタに入力したタイマ値が「0」であるとき、換言するとAレジスタに入力された減算後のタイマ値が出力データを44.8ms出力したことを特定可能な「0」になったときには、Aレジスタに格納されているタイマ値である「0」を出力ポートに出力する(Sa5)。これにより、出力ポートの記憶内容が初期化される。また、出力データの出力が終了する。
【0024】
このように、Sa2およびSa5の処理により、減算後のタイマ値が出力データを44.8ms出力したことを特定可能な「0」になったときには、Aレジスタのタイマ値「0」を出力ポートに記憶させることにより、出力ポートの記憶内容を初期化するので、出力ポートの記憶内容を初期化するときに、初期化のための情報(データ)を別途用意する必要がなくなるので、出力ポートの記憶内容を初期化するために要するプログラムの容量を削減することができる。また、出力ポートの記憶内容を初期化するので出力ポートの出力状態を容易にクリアできる。
【0025】
ここで、遊技機1は、所定アドレスに所定データを格納する第1命令と、所定アドレスに特定レジスタのデータを格納する第2命令とを実行可能である。
そして、第1命令では、所定アドレスを特定するためのデータ(例えば、1バイトのデータ)と、所定アドレスに格納するデータの内容を特定するためのデータ(例えば、1バイトのデータ)と、内容を特定したデータを所定アドレスに格納させるためのデータ(例えば、1バイトのデータ)とが必要になる。しかし、第2命令では、特定レジスタ(例えば、Aレジスタ)のデータを所定アドレスに格納するため、第1命令のように所定アドレスに格納するデータの内容を特定する必要がない。よって、第2命令では、所定アドレスを特定するためのデータ(例えば、1バイトのデータ)と、特定レジスタのデータを所定アドレスにデータを格納させるためのデータ(例えば、1バイトのデータ)とがあればよい。このため、第2命令では第1命令よりもデータの容量を少なくすることができる(例えば、1バイト分のデータ)。そして、本実施形態では、出力ポートの初期化を第2命令により実行している。また、出力ポートの初期化に用いるAレジスタのデータとしてタイマ値の更新に用いたデータを兼用している。よって、出力ポートの初期化にあたって、別途、Aレジスタにデータを格納する命令は不要である。このため、出力ポートの初期化を第2命令により実行することにより、出力ポートを初期化するために要するデータの容量を削減することができる。
【0026】
また、出力ポートの記憶領域の大きさ(記憶容量)とAレジスタの記憶領域の大きさ(記憶容量)は同一の大きさである。よって、各々の領域の大きさが同一なので初期化する際に容易に扱うことができる。なお、出力ポートの記憶領域の大きさ(記憶容量)とタイマ値を記憶するRAMの記憶領域の大きさ(記憶容量)とを同一にしてもよい。
【0027】
また、Sa1の処理によりタイマ値をAレジスタに入力してSa2の処理によりタイマ値が「0」であるか否かを判定するとともに、タイマ値が「0」になっていないと判定されたときにはSa4の処理により出力データをAレジスタに入力してSa5の処理により出力データを出力ポートに記憶させる一方で、タイマ値が「0」になったと判定されたときにはSa5の処理(すなわち、共通の処理)によりAレジスタに入力されたタイマ値である「0」を出力ポートに記憶させることにより出力ポートの記憶内容を初期化する。よって、出力ポートの記憶内容を初期化するために要するプログラムの容量を削減することができる。
【0028】
[条件装置信号出力処理について]
次に、
図2に示す処理と異なる形態の条件装置信号出力処理を実行する例について
図3を用いて説明する。本実施形態では、条件装置信号出力処理は、一定時間間隔(本実施形態では、約0.56ms)毎に実行されるタイマ割込処理(メイン)内で実行される。
【0029】
図3に示す条件装置信号出力処理において、条件装置信号として外部に出力される出力データは出力データ1と出力データ2から構成されている。出力データ1と出力データ2の合計出力時間は、例えば44.8msに設定されている。そして、出力データ1の出力時間として44.8msの1/2である22.4msが割り当てられており、出力データ2の出力時間として44.8msの1/2である22.4msが割り当てられている。本実施形態では、出力データ1→出力データ2の順序で出力データが出力される。具体的には、まず、出力データの出力時間を計時する条件装置信号出力タイマに出力データ1の出力時間である22.4msに相当するタイマ値がセットされ、タイマ値の減算が終了するまで出力データ1が出力される。次いで、条件装置信号出力タイマに出力データ2の出力時間である22.4msに相当するタイマ値がセットされ、タイマ値の減算が終了するまで出力データ2が出力される。
【0030】
遊技機1がスロットマシンであるときは、例えば、出力データ1は小役や再遊技役に当選したことを特定可能なデータであり、出力データ2は特別役(ボーナス)に当選したことを特定可能なデータである。なお、出力データ1を特別役(ボーナス)に当選したことを特定可能なデータとし、出力データ2を小役や再遊技役に当選したことを特定可能なデータとしてもよい。また、遊技機1がパチンコ遊技機であるときは、例えば、出力データ1は入賞が発生したことを特定可能なデータであり、出力データ2は当たりが発生したことを特定可能なデータである。なお、出力データ1を当たりが発生したことを特定可能なデータとし、出力データ2を入賞口において入賞が発生したことを特定可能なデータとしてもよい。
【0031】
図3に示すように、条件装置信号出力処理では、メイン制御部は、まず、条件装置信号出力タイマアドレスをレジスタにセットする(Sb1)。条件装置信号出力タイマアドレスとは、条件装置信号出力タイマのタイマ値が格納されている記憶領域のアドレスである。当該アドレスに記憶しているタイマ値は条件装置信号出力タイマが減算されると更新される。上述したように、本実施形態では、出力データは出力データ1と出力データ2とに分けて出力されるため、Sb1では、出力データ1のタイマ値の減算中には出力データ1のタイマ値が格納されているアドレスがレジスタにセットされ、出力データ2のタイマ値の減算中には出力データ2のタイマ値が格納されているアドレスがレジスタにセットされる。なお、出力データ1のタイマ値と出力データ2のタイマ値を同一のアドレスに格納してもよい。
【0032】
次いで、Sb1でセットしたアドレスからタイマ値を取得し、取得したタイマ値を特定レジスタ(以下、Aレジスタと称する)に入力する(Sb2)。
【0033】
そして、Aレジスタに入力したタイマ値に基づいて出力データ1固定モードか否かをチェックするとともに条件装置信号出力タイマのタイマ値をチェックする(Sb3)。
【0034】
出力データ1固定モードとは、特定遊技状態である。具体的には、例えば、遊技機1がスロットマシンであるときはRT(リプレイタイム)であり、遊技機1がパチンコ遊技機であるときは確率変動状態や時短状態である。また、本実施形態では、タイマ値は8ビットの値であり、1桁目の先頭の値を出力データ1固定モードか否かの識別に使用し、残りの7桁の値を出力データの出力時間の識別に用いている。そして、先頭の値が「1」であるときは出力データ1固定モードであると判定し、先頭の値が「0」であるときは出力データ1固定モードでないと判定する。
【0035】
次いで、Sb3の処理に基づいて出力データ1固定モードか否かを判定する(Sb4)。
【0036】
出力データ1固定モードでないときは、Aレジスタに格納したタイマ値が「0」であるか否かを判定することによって、タイマ値の減算が終了したか否かを判定する(Sb5)。タイマ値の減算が終了していないとき、すなわちAレジスタに入力したタイマ値が「0」でないときには、条件装置信号出力タイマのタイマ値を減算する(Sb6)。
【0037】
なお、本実施形態では、タイマ値のビット数に応じて定められた値を順次減算していき、減算の結果が0になったときに、Sb2で入力したタイマ値が0になったものと判定される。これにより、タイマ値のビット数に応じて出力データの出力時間が計時されることとなる。
【0038】
次いで、出力データ1の出力タイミングか否かを判定する(Sb7)。具体的には、Sb6で減算したタイマ値が出力データ1のタイマ値であるときには出力データ1の出力タイミングであると判定され、Sb6で減算したタイマ値が出力データ2のタイマ値であるときには出力データ2の出力タイミングであると判定される。
【0039】
次いで、出力データ1が格納されている記憶領域のアドレスをレジスタにセットする(Sb8)。そして、Sb7の判定に基づき、出力データ1の出力タイミングであるときは(Sb9でY)、Sb8でセットしたアドレスから出力データ1を取得し、取得した出力データ1をAレジスタに入力する(Sb11)。次いで、Aレジスタに入力された出力データ1を出力ポートに出力する(Sb12)。この後、出力ポートから出力データ1が外部に出力される。
【0040】
また、Sb7の判定に基づき、出力データ1の出力タイミングでないとき(Sb9でN)、すなわち、出力データ2の出力タイミングであるときは、出力データ2が格納されている記憶領域のアドレスをレジスタにセットする(Sb10)。そして、Sb10でセットしたアドレスからから出力データ2を取得し、取得した出力データ2をAレジスタに入力する(Sb11)。次いで、Aレジスタに入力された出力データ2を出力ポートに出力する(Sb12)。この後、出力ポートから出力データ2が外部に出力される。
【0041】
また、Sb5でタイマ値の減算が終了したと判定されたとき、すなわちAレジスタに入力したタイマ値が「0」であるとき、換言するとAレジスタに入力された減算後のタイマ値が出力データを44.8ms出力したことを特定可能な「0」になったときには、Aレジスタに格納されているタイマ値である「0」を出力ポートに出力する(Sb12)。これにより、出力ポートの記憶内容が初期化される。また、出力データの出力が終了する。
【0042】
また、Sb4において、出力データ1固定モードあるときと判定されたときは、上記と同様にSb8〜Sb12の処理が行われて、出力データ1または出力データ2が出力される。すなわち、出力データ1固定モードあるときには、出力データの出力時間の計時が行われずに継続して出力データが出力される。そして、遊技の進行に係る特定契機に出力データの出力が終了する。なお、遊技機1がスロットマシンであるときは、例えば、ゲームの終了からゲームの開始まで出力データの出力が継続して行われ、遊技機1がパチンコ機であるときは、図柄の変動表示の終了から開始まで出力データの出力が継続して行われる。
【0043】
このように、Sb5およびSb12の処理により、減算後のタイマ値が出力データを44.8ms出力したことを特定可能な「0」になったときには、Aレジスタのタイマ値「0」を出力ポートに記憶させることにより、出力ポートの記憶内容を初期化するので、出力ポートの記憶内容を初期化するときに、初期化のための情報(データ)を別途用意する必要がなくなるので、出力ポートの記憶内容を初期化するために要するプログラムの容量を削減することができる。また、出力ポートの記憶内容を初期化するので出力ポートの出力状態を容易にクリアできる。
【0044】
ここで、遊技機1は、所定アドレスに所定データを格納する第1命令と、所定アドレスに特定レジスタのデータを格納する第2命令とを実行可能である。
そして、第1命令では、所定アドレスを特定するためのデータ(例えば、1バイトのデータ)と、所定アドレスに格納するデータの内容を特定するためのデータ(例えば、1バイトのデータ)と、内容を特定したデータを所定アドレスに格納させるためのデータ(例えば、1バイトのデータ)とが必要になる。しかし、第2命令では、特定レジスタ(例えば、Aレジスタ)のデータを所定アドレスに格納するため、第1命令のように所定アドレスに格納するデータの内容を特定する必要がない。よって、第2命令では、所定アドレスを特定するためのデータ(例えば、1バイトのデータ)と、特定レジスタのデータを所定アドレスにデータを格納させるためのデータ(例えば、1バイトのデータ)とがあればよい。このため、第2命令では第1命令よりもデータの容量を少なくすることができる(例えば、1バイト分のデータ)。そして、本実施形態では、出力ポートの初期化を第2命令により実行している。また、出力ポートの初期化に用いるAレジスタのデータとしてタイマ値の更新に用いたデータを兼用している。よって、出力ポートの初期化にあたって、別途、Aレジスタにデータを格納する命令は不要である。このため、出力ポートの初期化を第2命令により実行することにより、出力ポートを初期化するために要するデータの容量を削減することができる。
【0045】
また、出力ポートの記憶領域の大きさ(記憶容量)とAレジスタの記憶領域の大きさ(記憶容量)は同一の大きさである。よって、各々の領域の大きさが同一なので初期化する際に容易に扱うことができる。なお、出力ポートの記憶領域の大きさ(記憶容量)とタイマ値を記憶するRAMの記憶領域の大きさ(記憶容量)とを同一にしてもよい。
【0046】
また、Sb2の処理によりタイマ値をAレジスタに入力してSb5の処理によりタイマ値が「0」であるか否かを判定するとともに、タイマ値が「0」になっていないと判定されたときにはSb11の処理により出力データをAレジスタに入力してSb12の処理により出力データを出力ポートに記憶させる一方で、タイマ値が「0」になったと判定されたときにはSb12の処理(すなわち、共通の処理)によりAレジスタに入力されたタイマ値である「0」を出力ポートに記憶させることにより出力ポートの記憶内容を初期化する。よって、出力ポートの記憶内容を初期化するために要するプログラムの容量を削減することができる。
【0047】
[条件装置信号出力処理について]
次に、
図2および
図3に示す処理と異なる形態の条件装置信号出力処理を実行する例について
図4を用いて説明する。本実施形態では、条件装置信号出力処理は、一定時間間隔(本実施形態では、約0.56ms)毎に実行されるタイマ割込処理(メイン)内で実行する。
【0048】
図4に示す条件装置信号出力処理において、条件装置信号として外部に出力される出力データの出力時間は、例えば44.8msに設定されている。そして、出力データの出力時間を計時する条件装置信号出力タイマに44.8msに相当するタイマ値がセットされ、タイマ値の減算が終了するまで出力データが出力される。
【0049】
遊技機1がスロットマシンであるときは、例えば、出力データは小役や再遊技役、特別役(ボーナス)に当選したことを特定可能なデータである。また、遊技機1がパチンコ遊技機であるときは、例えば、出力データは入賞口において入賞が発生したこと、当たりが発生したことを特定可能なデータである。
【0050】
図4に示すように、条件装置信号出力処理では、メイン制御部は、まず、1回の遊技の最短時間を計時する一遊技時間管理用タイマを参照する(Sc1)。1回の遊技の最短時間とは1回の遊技を行うのに最低限要しなければならない時間であり、1回の遊技が終了しても最短時間が経過しないと次の遊技に進めない。
【0051】
次いで、一遊技時間管理用タイマのタイマ値が初期値か否かを判定する(Sc2)。例えば、初期値は4.1sに相当するタイマ値である。一遊技時間管理用タイマのタイマ値が初期値でないときはSc6に進む。一遊技時間管理用タイマのタイマ値が初期値であるときは割込カウンタを参照する(Sc3)。
【0052】
割込カウンタは、そのカウンタ値が0〜2の場合に1が加算され、カウンタ値が3の場合に0に更新される。すなわち割込カウンタのカウンタ値は、タイマ割込処理(メイン)が実行される毎に、0→1→2→3→0・・・の順番でループする。そして、カウント値を参照してタイマ割込0〜3のいずれであるかを判定することにより、タイマ割込処理(メイン)において実行すべき処理をタイマ割込0〜3のうちから選択する。
【0053】
そして、割込カウンタのカウント値が3であるか否かを判定する(Sc4)。すなわち、タイマ割込3の処理を実行するか否かを判定する。割込カウンタのカウント値が3でないときはSc6に進む。
【0054】
割込カウンタのカウント値が3であるときは、外部に出力データを出力する時間を計時する条件装置信号出力タイマにタイマ値をセットする(Sc5)。すなわち、条件装置信号出力タイマのタイマ値は一遊技時間タイマのタイマ値が初期値になったときにセットされる。
【0055】
そして、Sc6では、条件装置信号出力タイマアドレスをレジスタにセットする(Sc6)。条件装置信号出力タイマアドレスとは、条件装置信号出力タイマのタイマ値が格納されている記憶領域のアドレスである。当該アドレスに記憶しているタイマ値は条件装置信号出力タイマが減算されると更新される。
【0056】
次いで、Sc6でセットしたアドレスから条件装置信号出力タイマのタイマ値を取得し、取得したタイマ値を特定レジスタ(以下、Aレジスタと称する)に入力する(Sc7)。
【0057】
そして、Aレジスタに格納したタイマ値が「0」であるか否かを判定することによって、タイマ値の減算が終了したか否かを判定する(Sc8)。タイマ値の減算が終了していないとき、すなわちAレジスタに入力したタイマ値が「0」でないときには、条件装置出力データ番号を1減算し、条件装置信号出力タイミングデータを選択する(Sc9)。条件装置信号出力タイミングデータとはAレジスタに入力されたタイマ値により除算(割り算)される値を示すデータである。Sc9の処理では、条件装置信号出力タイミングデータで示される値をAレジスタに入力されたタイマ値により除算(割り算)する処理が行われる。
【0058】
次いで、出力データ1固定モードか否かを判定する(Sc10)。
【0059】
出力データ1固定モードとは、例えば、遊技機1がスロットマシンであるときはRT(リプレイタイム)であり、遊技機1がパチンコ遊技機であるときは確率変動状態や時短状態である。また、本実施形態では、タイマ値は8ビットの値であり、1桁目の先頭の値を出力データ1固定モードか否かの識別に使用し、残りの7桁の値を出力データの出力時間の識別に用いている。そして、先頭の値が「1」であるときは出力データ1固定モードであると判定し、先頭の値が「0」であるときは出力データ1固定モードでないと判定する。
【0060】
出力データ1固定モードでないときは、Sc9で除算(割り算)した余りのタイマ値から所定値を減算する(Sc11)。そして、タイマ値を減算した結果、余りが0になったか否かを判定する(Sc12)。
【0061】
なお、本実施形態では、タイマ値のビット数に応じて定められた値でタイマ値を除算(割り算)して余りを順次減算していき、減算の結果が0になったときに、Sc7で入力したタイマ値が0になったものと判定される。これにより、タイマ値のビット数に応じて出力データの出力時間が計時されることとなる。
【0062】
余りが0でないときは、条件装置信号出力データを記憶しているアドレス、すなわち、データ出力するための出力データが記憶されているアドレスを算出する(Sc13)。次いで、算出後のアドレスの次のアドレスに移行する(Sc14)。
【0063】
そして、Sc14において移行したアドレスから出力データを取得し、取得した出力データをAレジスタに入力する(Sc15)。次いで、Aレジスタに入力された出力データを出力ポートに出力する(Sc16)。この後、出力ポートから出力データが外部に出力される。
【0064】
また、Sc12で余りが0であると判定されたときは、Sc6の処理に戻る。なお、余りが0になったときは条件装置信号出力タイマのタイマ値が「0」になったときである。よって、Sc7ではAレジスタに減算後のタイマ値である「0」が入力される。このため、Sc8ではタイマ値のタイマ値の減算が終了したと判定される。
【0065】
そして、Sc8でタイマ値の減算が終了したと判定されたとき、すなわちAレジスタに入力したタイマ値が「0」であるとき、換言するとAレジスタに入力された減算後のタイマ値が出力データを44.8ms出力したことを特定可能な「0」になったときには、Aレジスタに格納されているタイマ値である「0」を出力ポートに出力する(Sc16)。これにより、出力ポートの記憶内容が初期化される。また、出力データの出力が終了する。
【0066】
また、Sc10において、出力データ1固定モードあるときと判定されたときは、上記と同様にSc14〜Sc16の処理が行われて、出力データが出力される。すなわち、出力データ1固定モードあるときとはSc11のようにタイマ値の減算が行われず、出力データの出力が継続して行われる。なお、遊技機1がスロットマシンであるときは、例えば、ゲームの終了からゲームの開始まで出力データの出力が継続して行われ、遊技機1がパチンコ機であるときは、図柄の変動表示の終了から開始まで出力データの出力が継続して行われる。
【0067】
このように、Sc12およびSc16の処理により、減算後のタイマ値が出力データを44.8ms出力したことを特定可能な「0」になったときには、Aレジスタのタイマ値「0」を出力ポートに記憶させることにより、出力ポートの記憶内容を初期化するので、出力ポートの記憶内容を初期化するときに、初期化のための情報(データ)を別途用意する必要がなくなるので、出力ポートの記憶内容を初期化するために要するプログラムの容量を削減することができる。また、出力ポートの記憶内容を初期化するので出力ポートの出力状態を容易にクリアできる。
【0068】
ここで、遊技機1は、所定アドレスに所定データを格納する第1命令と、所定アドレスに特定レジスタのデータを格納する第2命令とを実行可能である。
そして、第1命令では、所定アドレスを特定するためのデータ(例えば、1バイトのデータ)と、所定アドレスに格納するデータの内容を特定するためのデータ(例えば、1バイトのデータ)と、内容を特定したデータを所定アドレスに格納させるためのデータ(例えば、1バイトのデータ)とが必要になる。しかし、第2命令では、特定レジスタ(例えば、Aレジスタ)のデータを所定アドレスに格納するため、第1命令のように所定アドレスに格納するデータの内容を特定する必要がない。よって、第2命令では、所定アドレスを特定するためのデータ(例えば、1バイトのデータ)と、特定レジスタのデータを所定アドレスにデータを格納させるためのデータ(例えば、1バイトのデータ)とがあればよい。このため、第2命令では第1命令よりもデータの容量を少なくすることができる(例えば、1バイト分のデータ)。そして、本実施形態では、出力ポートの初期化を第2命令により実行している。また、出力ポートの初期化に用いるAレジスタのデータとしてタイマ値の更新に用いたデータを兼用している。よって、出力ポートの初期化にあたって、別途、Aレジスタにデータを格納する命令は不要である。このため、出力ポートの初期化を第2命令により実行することにより、出力ポートを初期化するために要するデータの容量を削減することができる。
【0069】
また、出力ポートの記憶領域の大きさ(記憶容量)とAレジスタの記憶領域の大きさ(記憶容量)は同一の大きさである。よって、各々の領域の大きさが同一なので初期化する際に容易に扱うことができる。なお、出力ポートの記憶領域の大きさ(記憶容量)とタイマ値を記憶するRAMの記憶領域の大きさ(記憶容量)とを同一にしてもよい。
【0070】
また、Sc7の処理によりタイマ値をAレジスタに入力してSc8の処理によりタイマ値が「0」であるか否かを判定するとともに、タイマ値が「0」になっていないと判定されたときにはSc15の処理により出力データをAレジスタに入力してSc16の処理により出力データを出力ポートに記憶させる一方で、タイマ値が「0」になったと判定されたときにはSc16の処理(すなわち、共通の処理)によりAレジスタに入力されたタイマ値である「0」を出力ポートに記憶させることにより出力ポートの記憶内容を初期化する。よって、出力ポートの記憶内容を初期化するために要するプログラムの容量を削減することができる。
【0071】
[本実施形態の効果]
本実施形態においては、Aレジスタに入力した減算後のタイマ値が出力データを特定時間出力したことを特定可能なタイマ値である「0」になったときに、Aレジスタのタイマ値を出力ポートに記憶させることにより、出力ポートの記憶内容を初期化する(本例では、
図2のSa2でYのときにSa5の処理を行う部分、
図3のSb5でYのときにSb12の処理を行う部分、
図4のSc8でYのときにSc16の処理を行う部分)。
よって、出力ポートの記憶内容を初期化するときに、初期化のための情報(データ)を別途用意する必要がなくなるので、出力ポートの記憶内容を初期化するために要するプログラムの容量を削減することができる。
【0072】
本実施形態においては、特定領域は出力ポートである(本例では、
図2のSa2でYのときにSa5の処理を行う部分、
図3のSb5でYのときにSb12の処理を行う部分、
図4のSc8でYのときにSc16の処理を行う部分)。
よって、出力ポートの出力状態を容易にクリアできる。
【0073】
本実施形態においては、所定アドレスで示されるアドレスに引数(1バイトの数値、0h)により格納されるデータを格納する第1命令と、所定アドレスで示されるアドレスに特定レジスタ(Aレジスタ)のデータを格納する第2命令とを実行可能である。そして、引数が不要になるため、第1命令の実行に用いるプログラムよりも第2命令の実行に用いるプログラムのほうがプログラム容量が小さい。このため、本実施形態の条件装置信号出力処理では、第2命令の実行により出力ポートの記憶内容を初期化する(本例では、
図2のSa2でYのときにSa5の処理を行う部分、
図3のSb5でYのときにSb12の処理を行う部分、
図4のSc8でYのときにSc16の処理を行う部分)。
よって、出力ポートの記憶内容を初期化するためのプログラム容量を小さくすることができる。
【0074】
本実施形態においては、出力ポートの記憶領域の大きさ(記憶容量)とAレジスタの記憶領域の大きさ(記憶容量)は同一の大きさである。
よって、各々の領域の大きさが同一なので初期化する際に容易に扱うことができる。
なお、出力ポートの記憶領域の大きさ(記憶容量)とタイマ値を記憶するRAMの記憶領域の大きさ(記憶容量)とを同一にしてもよい。
【0075】
本実施形態においては、タイマ値が「0」になっていないと判定されたときには出力データをAレジスタに入力して出力データを出力ポートに記憶させる一方で、タイマ値が「0」になったと判定されたときにはAレジスタに入力されたタイマ値である「0」を出力ポートに記憶させることにより出力ポートの記憶内容を初期化する(本例では、
図2のSa2でNのときにSa4及びSa5の処理を行い、Sa2でYのときにSa5の処理を行う部分、3のSb5でNのときにSb11およびSb12の処理を行い、
図3のSb5でYのときにSb12の処理を行う部分、
図4のSc8でNのときにSc15及びSc16の処理を行い、Sc8でYのときにSc16の処理を行う部分)。
よって、出力ポートの記憶内容を初期化するために要するプログラムの容量を削減することができる。
【0076】
[変形例]
以上、本発明における主な実施の形態を説明してきたが、本発明は、上記の実施の形態に限られず、種々の変形、応用が可能である。以下、本発明に適用可能な上記の実施の形態の変形例について説明する。
【0077】
[遊技機について]
上述した遊技機1は、各々が識別可能な複数種類の識別情報を変動表示可能な可変表示部を複数備え、可変表示部を変動表示した後、可変表示部の変動表示を停止することで表示結果を導出し、複数の可変表示部の表示結果の組合せである表示結果組合せに応じて入賞が発生可能なスロットマシンであってもよい。上述した遊技機1は、各々が識別可能な複数種類の識別情報の変動表示の結果に応じて、遊技者にとって有利な大当り遊技状態に制御可能なパチンコ遊技機であってもよい。
【0078】
[特定情報出力処理について]
上記実施形態では、条件装置信号処理を特定情報出力処理の例として挙げたが、これに限らず、例えば、外部に出力する試験信号を出力する処理、コマンドの出力処理、LEDの点灯処理を特定情報出力処理とするなど、特定情報出力処理として上記実施形態と異なる態様の特定情報出力処理を適用してもよい。
【0079】
[特定情報について]
上記実施形態では、条件装置信号処理における出力データを特定情報の例として挙げたが、これに限らず、例えば、外部に出力する試験信号を出力する処理における試験信号、コマンドの出力処理におけるコマンド、LEDの点灯処理における点灯データを特定情報とするなど、特定情報として上記実施形態と異なる態様の特定情報を適用してもよい。
【0080】
[特定領域について]
上記実施形態では、出力ポートを特定領域の例として挙げたが、これに限らず、例えば、RAM、レジスタ、バッファを特定領域とするなど、特定領域として上記実施形態と異なる態様の特定領域を適用してもよい。
【0081】
[特定時間情報について]
上記実施形態では、タイマ値を減算したときのタイマ値「0」を特定時間情報の例として挙げたが、例えば、タイマ値を加算したときの特定タイマ値を特定時間情報とするなど、特定時間情報として上記実施形態と異なる態様の特定時間情報を適用してもよい。