JP5093584B2 - 遊技機 - Google Patents

遊技機 Download PDF

Info

Publication number
JP5093584B2
JP5093584B2 JP2007268826A JP2007268826A JP5093584B2 JP 5093584 B2 JP5093584 B2 JP 5093584B2 JP 2007268826 A JP2007268826 A JP 2007268826A JP 2007268826 A JP2007268826 A JP 2007268826A JP 5093584 B2 JP5093584 B2 JP 5093584B2
Authority
JP
Japan
Prior art keywords
ram
input
cpu
command
control board
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
Application number
JP2007268826A
Other languages
English (en)
Other versions
JP2009106308A (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.)
Daiichi Shokai Co Ltd
Original Assignee
Daiichi Shokai Co Ltd
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 Daiichi Shokai Co Ltd filed Critical Daiichi Shokai Co Ltd
Priority to JP2007268826A priority Critical patent/JP5093584B2/ja
Publication of JP2009106308A publication Critical patent/JP2009106308A/ja
Application granted granted Critical
Publication of JP5093584B2 publication Critical patent/JP5093584B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Pinball Game Machines (AREA)

Description

本発明は、スロットマシン、パチンコ機などの遊技機を制御する制御装置に関する。
スロットマシン、パチンコ機などの遊技機の制御は、全体の進行を制御するための主基板、メダルや遊技球などの遊技媒体の払出しを制御する払出制御基板、音声出力、ランプ点灯、画像表示などの演出を制御する演出制御基板などの分散制御によって行われる(特許文献1)。主基板、払出制御基板、演出制御基板は、それぞれCPU、RAM、ROMなどを備えるマイクロコンピュータとして構成されている。
遊技機の制御基板、特に主基板と払出制御基板では、不正を防止するために種々の制約が設けられている。例えば、CPUについては、汎用のCPUではなく、遊技機特有のセキュリティ機能が設けられたCPUが用いられている。また、ROM、RAMの容量にも制約が設けられており、パチンコ機では制御用のプログラムが3キロバイト(KB)以内、データは3KB以内というように、プログラムサイズやデータ容量についても制約が設けられている。
特開2004−8483号公報
しかし、遊技機の制御は、年々、複雑化する傾向にある。例えば、払出制御基板は、主基板からの指示に従って遊技媒体を払い出すだけではなく、その払い出しが正確に行われているか否かの異常監視を行ったり、異常への対処を行ったりしている。また、不正行為への対処や、CRユニットと呼ばれるプリペイドカードサンドとの通信も行う。遊技機では、遊技媒体の払い出しが直接、遊技者の利益につながるため、払い出しの精度向上および不正行為の防止は非常に重要である。これらの精度向上等を図るため、払出制御基板には、プログラムやデータ量の厳しい制約の下で、より複雑な制御処理を実行することを要請されている。
本発明は、こうした課題に鑑み、遊技機の払出制御基板におけるプログラム容量を削減可能な技術を提供することを目的とする。
本発明は、所定の遊技媒体を用いて遊技を行う遊技機を対象とする。かかる遊技機としては、例えば、スロットマシンなどの回胴式遊技機、スマートボール、パチンコ機などが挙げられる。遊技媒体とは、遊技球やメダルなど遊技中に投資、特典の対象となる媒体を言う。
本発明の遊技機は、遊技の進行を統合制御する主制御装置、所定の条件下で遊技媒体を遊技者に払い出す払出装置、および主制御装置からの指示情報に従って払出しを制御する払出制御装置を有する。主制御装置と払出制御装置とは、双方向通信可能な通信線で接続されている。
払出制御装置は、CPU、ROM、RAMを備えたマイクロコンピュータとして構成されている。CPUは、払出制御を実行する演算回路である。ROMには、CPUが実行するプログラムが格納されている。RAMは、払出制御に用いられる種々の情報を格納するためのメモリとして機能する。かかる情報としては、例えば、制御プログラム中の各モジュール間で処理結果等を受け渡すためのワークや、演算中にCPUが計算結果を一時的に蓄えておくためのスタックなどが含まれる。
払出制御装置には、払出制御において、払出制御装置の外部との信号を入出力するための入出力ポートも設けられている。入出力ポートとは、ここでは、外部との信号線を接続する端子、その端子から入出力される信号を一時的に蓄積しておくバッファ、各信号の入出力先を切り換えるデコーダなどの総称として用いる。信号の出力先は、メモリと同様、アドレスによって指定可能である。
CPUが用いるコマンドには、メモリアクセスコマンド、入出力ポートアクセスコマンドが含まれる。メモリアクセスコマンドとは、メモリへのアクセスに使用されるコマンドであり、このコマンドには、2バイト以上のアドレス値の指定が含まれる。入出力ポートアクセスコマンドとは、外部との信号の入出力に使用されるコマンドであり、入出力先を指定するためのアドレス値はメモリアクセスコマンドよりも1バイト以上少ないコマンド体系となっている。例えば、メモリアクセスコマンドが2バイトでアドレス指定を行うコマンド体系である場合には、入出力ポートアクセスコマンドは1バイトでアドレス指定を行うコマンド体系となる。
Z80(商標)というCPUに即して説明すれば、ロード/ストアコマンドがメモリアクセスコマンドに相当し、イン/アウトコマンドが入出力ポートアクセスコマンドに相当する。ロード/ストアコマンドでは2バイトでアドレスが指定され、イン/アウトコマンドでは1バイトで指定される。
CPUからは、入出力ポートアクセスコマンドに応じて、稼働すべき対象を指定する入出力ポートリクエスト信号が出力される。この入出力ポートリクエスト信号は、直接または間接にRAMに入力可能に構成されている。直接入力とは、CPUからの入出力ポートリクエスト信号が、そのままRAMのチップセレクタ端子に入力されることを意味する。間接入力とは、入出力ポートリクエスト信号が、何からの素子または回路を経て、RAMに入力されることを意味する。例えば、入出力ポートリクエスト信号とアドレス信号を受けて、デコーダがチップセレクト信号を出力する態様のように、入出力ポートリクエスト信号が別の信号に置換されてRAMに入力される態様をとってもよい。
本発明によれば、払出制御装置において、入出力ポートリクエスト信号がRAMに入力されるよう構成されているため、CPUは、入出力ポートアクセスコマンドによって、RAMにアクセス可能となる。RAMの各領域を指定するためのアドレス信号はアドレスバスによって伝達し、RAMとの間でデータの授受はデータバスを通じて行えばよい。
アクセス先を指定するアドレスは、入出力ポートアクセスコマンドの方が、メモリアクセスコマンドよりも1バイト以上少なくて済む。従って、RAMへのアクセスが必要となる箇所で、メモリアクセスコマンドに代えて、入出力ポートアクセスコマンドを用いることにより、1カ所につき1バイト以上、プログラム容量を削減することができる。RAMへのアクセスは、プログラム全体で数多く行われる処理である。従って、本発明の遊技機では、上述の作用によって、払出制御に関するプログラム全体の容量を有意に削減することが可能となる。
本発明において、入出力ポートリクエスト信号をRAMに間接入力する一態様として、払出制御装置には、更に、エリア区分判定部を備えてもよい。エリア区分判定部は、入出力ポートアクセスコマンドで指定されるアドレス値に基づいて、アクセス先をRAMおよび入出力ポートに切り換え、RAMおよび入出力ポートのいずれかをアクティブにするセレクタ信号を出力する機能を奏する。入出力ポートアクセスコマンドは、通常、入出力ポートを通じたデータ授受に使用されるコマンドであるが、本発明では、同コマンドで指定されるアドレス空間の一部をRAMへのアクセスに使用するのである。エリア区分判定部は、従って、コマンドで指定されたアドレスが、RAM用または入出力ポート用のいずれに割り当てられたアドレスかを判定し、判定結果に応じてセレクタ信号を出力する。このセレクタ信号は、それぞれRAMおよび入出力ポートに入力され、各ユニットをアクセス可能な状態にさせる。
CPUからは、入出力ポートアクセスコマンドに応じて稼働すべき対象を指定する入出力ポートリクエスト信号が、エリア区分判定部に入力されている。従って、エリア区分判定部の上述の機能は、CPUがイン/アウトコマンドなど入出力ポートアクセスコマンドを出力した時に有効となる。
この態様によれば、入出力ポートアクセスコマンドで指定可能なアドレス空間の一部をRAMに割り当て、残余の部分を入出力ポートに割り当てることができる。従って、このアドレス空間を、RAMと入出力ポートの双方で有効活用することが可能となる。
本発明において、払出制御装置には、更に、メモリエリアデコード部を設けても良い。メモリエリアデコード部は、メモリアクセスコマンドで指定されるアドレス値の上位所定桁に基づいて、アクセス先となるROMおよびRAMのいずれかをアクティブにするためのメモリセレクト信号を出力する機能を奏する。CPUからは、メモリアクセスコマンドに応じて稼働すべき対象を指定するメモリリクエスト信号が、メモリエリアデコード部に入力されており、上述の機能は、CPUがメモリアクセスコマンドを出力した時に有効となる。
こうすることにより、メモリアクセスコマンドによってもRAMへのアクセスが可能となる。入出力ポートアクセスコマンドでアクセス可能なRAMの領域は、入出力ポート用のアドレス空間の一部に過ぎないが、メモリアクセスコマンドを利用すれば、全領域にアクセス可能となる。従って、入出力ポートアクセスコマンドによるRAMへのアクセスでプログラム容量の削減を図りつつ、メモリアクセスコマンドによってRAMの領域を無駄なく活用することが可能となる。
本発明において、RAMのアドレス空間と、入出力ポートアクセスコマンドで指定可能なアドレス空間とは同サイズであることが好ましい。こうすることにより、入出力ポートアクセスコマンドで指定されたアドレスを、そのままRAMへのアクセスに利用することが可能となる。
もっとも、これは必須の要件ではなく、RAMのアドレス空間が入出力ポートアクセスコマンドのアドレス空間よりも大きくてもよい。つまり、RAMのアドレス桁数が、入出力ポートアクセス用のアドレス桁数よりも多くてもよい。この場合には、エリア区分判定部に、入出力ポートアクセスコマンドで指定されたアドレスに対して、デフォルトの上位桁を加えた状態でRAMに出力する機能を持たせる必要がある。
入出力ポートで指定されるアドレス値のうち、RAMに割り当てられる領域(以下、「疑似RAM領域」と呼ぶこともある)は種々の設定が可能であるが、先頭アドレスを含む所定範囲を割り当てることが好ましい。この時、エリア区分判定部は、先頭アドレスから所定範囲内のアドレスが指定されている時に、アクセス先をRAMと判断し、その他の場合には入出力ポートと判断することになる。
遊技機では、ワークとして使用するRAM領域を先頭アドレスから空き領域(未使用領域)を設けることなく連続して設定することによって不正防止を図っている。上述の態様では、疑似RAM領域をRAM領域の先頭アドレスから設けることによって、疑似RAM領域をワークとして無駄なく活用することが可能となる。
エリア区分判定部がアクセス先の判定に使用するエリア区分データは、ハードウェア的に組み込むようにしてもよいし、ソフトウェア的に設定可能な構成としてもよい。後者の例では、エリア区分判定部に、エリア区分データを記憶するためのエリア区分データ記憶部を設け、CPUが起動時に、エリア区分データをエリア区分データ記憶部に設定するようにすればよい。
エリア区分データとしては、例えば、疑似RAM領域の境界アドレスを用いることができる。例えば、境界の先頭アドレス、最終アドレスを用いてもよい。また、先頭アドレスと、疑似RAM領域の容量を用いても良い。疑似RAM領域が先頭アドレスから開始することが既知の場合には、最終アドレスまたは疑似RAM領域の容量のみをエリア区分データとして用いることもできる。
エリア区分データをソフトウェア的に設定可能としておけば、機種や処理内容に応じて、比較的容易に最適サイズで疑似RAM領域を設けることができる利点がある。
本発明において、メモリエリアデコード部を設ける場合には、更に、上位所定桁に基づいて、入出力ポートをアクティブにする入出力ポートセレクト信号を出力可能としてもよい。入出力ポートセレクト信号は、入出力ポートに伝達される。
こうすることによって、メモリアクセスコマンドによって入出力ポートからの信号授受が可能となる。入出力ポートの一部または全部を、メモリアクセスコマンドでアクセスするものとすれば、その分、入出力ポートアクセスコマンドによってアクセス可能となる疑似RAM領域を増やすことができる。入出力ポート全部をメモリアクセスコマンドでアクセスするものとすれば、入出力ポートアクセスコマンドによって指定可能な全アドレス空間を疑似RAM領域とすることが可能となる。この態様によれば、プログラムサイズの削減効果上、最も効果的な疑似RAM領域のサイズを、柔軟に設定することが可能となるのである。
本発明において、上述の特徴は、必ずしも全てが備えられている必要はなく、適宜、一部を省略したり、組み合わせたりしても良い。上述の特徴は、払出制御装置のみならず、主制御装置に適用することも可能である。
また、本発明において、入出力ポートには、シリアル信号を授受可能なシリアルポートを設けても良い。
例えば、第1のアドレス値でアクセスされ払出制御装置が外部から受信したデータを一時的に蓄積しておくためのデータ受信バッファと、第2のアドレス値でアクセスされ払出制御装置から外部へ送信すべきデータを一時的に蓄積しておくためのデータ送信バッファとを入出力ポートに設けておく。こうすることによって、払出制御装置と、データ受信バッファ、データ送信バッファとの間では、通常のデータバスを利用してパラレルでデータの授受が可能となる。
そして、入出力ポートには、更に、シリアルパラレル(SP)変換部をデータ受信バッファに接続し、パラレルシリアル(PS)変換部をデータ送信バッファに接続しておけばよい。SP変換部は、外部からシリアル形式で受信したデータをパラレル形式に変換して、データ受信バッファに蓄積する。PS変換部は、データ送信バッファに蓄積されたデータを、パラレル形式からシリアル形式に変換して、外部に出力する。これらの変換部を有することによって、外部との信号授受をシリアル形式で行うことが可能となる。
上述の態様では、データ受信バッファの第1アドレス値とデータ送信バッファの第2アドレスを共通としても良いし、異ならせても良い。共通のアドレスとした場合には、リード/ライト信号によって、データ受信バッファと送信バッファとを切り換えるようにすればよい。異なるアドレスとした場合には、リード/ライト信号を用いるまでなく、データ受信バッファと送信バッファとを切り換え可能である。
アドレスが共通か否かに依らず、上述の態様によれば、データ受信バッファとデータ送信バッファを使い分けることが可能となり、単一のバッファに受信データと送信データが混在するといった事態を回避できるため、シリアル形式でのデータ授受を円滑に行うことができる。
もっとも、データ受信バッファ、データ送信バッファは、必ずしも送受信1回分のデータを蓄積可能なものである必要はなく、複数回分のデータを蓄積可能としてもよい。この場合には、FIFO(First In First Out)型とすることが好ましい。
本発明の実施例について以下の順序で説明する。
A.パチンコ機の全体構造:
B.制御用ハードウェア構成:
C.メイン制御基板110の回路構成:
D.払出制御基板210の回路構成:
E.遊技の進行制御処理:
E1.主制御側電源投入時処理:
E2.主制御側タイマ割り込み処理:
F.サブ統合側リセット処理:
G.払出制御基板の各種制御処理:
G1.払出制御側電源投入時処理:
G2.主要動作設定処理:
H.効果:
I.変形例:
I1.回路構成の変形例(1):
I2.回路構成の変形例(2):
A.パチンコ機の全体構造:
図1はパチンコ機1の全体構成を示す斜視図である。外枠2、本体枠3、扉枠5をそれぞれ開放した状態を示している。
外枠2は、島(図示しない)に設置されるアルミニウム合金製の矩形枠である。外枠2の下方前方には下部前面カバー板6が取り付けられている。
本体枠3は遊技盤4を装着するための枠であり、外枠2に対し開閉自在に軸支されている。
図示を省略したが、遊技盤4の表面には、種々の入賞口や役物が設けられている。パチンコ機1が、第1種または複合機と呼ばれる機種の場合、始動入賞口と呼ばれる入賞口に遊技球が入賞すると、乱数を用いた電子的な抽選が行われる。抽選の結果、大当たりとなると、遊技盤4に設けられた大入賞口が所定期間、所定回数、開閉し、賞球の払出を受けやすい有利な遊技状態(以下、「大当たり遊技」という)に移行する。パチンコ機1が、第2種または複合機の場合には、遊技球の動きによって機械的に抽選の当落を決定する機構が備えられている。この場合でも、大当たりが発生すると、機種に応じた大当たり遊技に移行する。
扉枠5は、遊技盤4前面を覆うガラス板50等を備えており、本体枠3に開閉自在に軸支されている。扉枠5の上方には、スピーカ29が取り付けられており、下方には遊技球を発射するためのハンドル8が設けられている。遊技者がハンドル8を操作すると、遊技球は、本体枠3に取り付けられた発射レール9を通じて、遊技盤4の遊技領域内に打ち込まれる。
図2はパチンコ機1の背面斜視図である。本体枠3の背面に取り付けられたカバー7を開き、遊技盤4を取り外した状態を示した。
本体枠3の背面には、賞球を払い出すための払出機構が設けられている。遊技球は、賞球タンク27に貯留されており、タンクレール26、球通路25を流下し、賞球払出装置20によって払い出される。
パチンコ機1での遊技は、遊技制御基板ボックス100に収納されたメイン制御基板によって制御される。賞球の払出しは、遊技制御基板ボックス100の下側に配置された払出制御基板ボックス200内の払出制御基板によって制御される。
図3はパチンコ機1の分解斜視図である。
本体枠3には、遊技盤4、カバー7の他、下部に打球発射装置10が取り付けられる。打球発射装置10は、ハンドル8の操作に応じて遊技球を発射する装置である。
図示する通り、メイン制御基板を収納した遊技制御基板ボックス100は、遊技盤4に取り付けられている。また、遊技制御基板ボックス100に重なるようにして、その奥には、表示、ランプ点灯、音声出力などの演出制御を行うサブ制御基板を収納した演出制御基板ボックスが取り付けられている。払出制御基板ボックス200およびその他の中継基板等を収納した基板ユニット200Uは、遊技盤4ではなく、本体枠3の下部に取り付けられる。
各基板ボックス間は、ハーネスおよびコネクタによって接続されている。
B.制御用ハードウェア構成:
図4はパチンコ機1の制御用ハードウェア構成を示すブロック図である。パチンコ機1は、メイン制御基板110、払出制御基板210、サブ制御基板310、装飾図柄制御基板350などの各制御基板の分散処理によって制御される。メイン制御基板110、払出制御基板210、サブ制御基板310は、それぞれ内部にCPU、RAM、ROMなどを備えたマイクロコンピュータとして構成されており、ROMに記録されたプログラムに従って種々の制御処理を実現する。メイン制御基板110、払出制御基板210の回路構成は後述する。
本実施例では、サブ制御基板310と装飾図柄制御基板350とは別基板として構成しているが、両者を統合した基板としてもよい。この場合、サブ制御基板310の機能と装飾図柄制御基板350の機能を、複数のCPUの分散処理で実現してもよいし、単独のCPUで実現する構成としてもよい。
実施例のパチンコ機1では、種々の不正を防止するため、メイン制御基板110への外部からの入力が制限されている。メイン制御基板110とサブ制御基板310とは単方向のパラレル電気信号で接続されており、メイン制御基板110と払出制御基板210とは、制御処理の必要上、双方向シリアル電気信号で接続されている。
払出制御基板210、サブ制御基板310は、それぞれメイン制御基板110からのコマンドに応じて動作する。装飾図柄制御基板350は、サブ制御基板310からのコマンドに応じて動作する。
パチンコ機1には、メイン制御基板110が直接に制御する機構もある。図中には、メイン制御基板110が制御する装置の一例として、大当たり遊技において、大入賞口を駆動するための大入賞口ソレノイド43、および特別図柄表示装置41を例示した。特別図柄表示装置41とは、遊技中にメイン制御基板110が行った抽選の結果を、所定数のLEDの点灯状態で表示する装置である。
メイン制御基板110は、この他にも、普通図柄表示装置、特別図柄保留ランプ、普通図柄保留ランプ、大当り種類表示ランプ、状態表示ランプなどの表示を制御することができる。
また、メイン制御基板110には、遊技中の動作を制御するため、種々のセンサからの検出信号が入力される。図中には一例として入賞検出器42からの入力を例示した。入賞検出器42とは、始動入賞口への入賞を検出するためのセンサである。メイン制御基板110は、入賞検出器42からの信号に応じて、先に説明した抽選を行い、大当り遊技を実行することができる。メイン制御基板110には、他にも種々の入力がなされているが、ここでは説明を省略する。
遊技時におけるその他の制御は、払出制御基板210、サブ制御基板310を介して行われる。
払出制御基板210は、遊技中の遊技球の発射および払い出しを次の手順で制御する。
遊技球の発射は、直接的には発射制御基板47によって制御される。即ち、遊技者が、ハンドル8を操作すると、発射制御基板47は操作に応じて発射モータ49を制御し、遊技球を発射する。遊技球の発射は、タッチ検出部48によって、ハンドル8に遊技者が触れていることが検出されている状況下でのみ行われる。払出制御基板210は、発射制御基板47に対して、発射可否の制御信号を送出することで、間接的に球の発射を制御する。
遊技中に入賞した旨のコマンドをメイン制御基板110から受信すると、払出制御基板210は、賞球払出装置20内の払出モータ21を制御し、払出球検出器22によって球数をカウントしながら規定数の球を払い出す。払出モータ21の動作は、モータ駆動センサ23によって監視されており、球ガミ、球切れなどの異常が検出された場合、払出制御基板210は、表示部4aにエラーコードを表示する。エラー表示された時には、係員が異常を除去した後、操作スイッチ4bを操作することで復旧させることができる。
サブ制御基板310は、遊技中における音声、表示、ランプ点灯などの演出を制御する。サブ制御基板310は、これらの制御を実行するためのCPU、RAM、ROMを備えたマイクロコンピュータとして構成されている。これらの演出は、通常時、入賞時、大当たり時など、遊技中のステータスに応じて変化する。メイン制御基板110から、各ステータスに応じた演出用のコマンドが送信されると、サブ制御基板310は、各コマンドに対応したプログラムを起動して、メイン制御基板110から指示された演出を実現する。
音声およびランプ点灯はサブ制御基板310が直接制御するが、LCD16の表示については、装飾図柄制御基板350を介して制御する。装飾図柄制御基板350の構成は後述する。
サブ制御基板310の制御対象となるランプには、遊技盤面に設けられたパネル装飾ランプ12と、枠に設けられた枠装飾ランプ31がある。サブ制御基板310は、ランプ中継基板32、34を介して、パネル装飾ランプ12および枠装飾ランプ31と接続されており、各ランプを個別に点滅させることができる。
図示を省略したが、スピーカ29を制御するため、サブ制御基板310には、音源ICおよびアンプが備えられている。CPUが、スピーカ29から出力する音声を決めて音声出力コマンドを出力すると、音源ICが予め用意された音源データから指定されたものを再生し、アンプで増幅してスピーカ29から出力する。
また、サブ制御基板310は、遊技中の演出の他、エラー時、不正行為その他の異常が生じた時には、警報音を出力したり、ランプを警告用に点灯したりして、異常発生を報知する。メイン制御基板110のRAMクリアスイッチが操作された時にも、同様に報知音が出力される。
警報音には、例えば、遊技中の効果音とは明らかに異なるブザー音を用いることができる。警告用のランプ点灯としては、例えば、遊技盤の周囲全体を赤く点滅させるなど、遊技中とは明らかに異なる態様での点灯・点滅をさせることができる。
図5は装飾図柄制御基板350の回路構成を示す説明図である。装飾図柄制御基板350は、サブ制御基板310から受けた表示コマンドに応じて、LCD16に画面を表示するための表示データを出力する。表示データは、LCD16にマトリックス状に備えられたR,G,Bの各画素の表示階調値を示すデータである。
装飾図柄制御基板350には表示データを生成する機能を実現するために、図示する種々の回路が用意されている。
装飾図柄制御基板350には、まず、表示データの生成を制御するためのマイクロコンピュータとしてCPU351、RAM352、ROM353が備えられている。
ROM353には、表示データを生成するための表示プログラム、表示コマンドに対し表示すべき画面、表示の時間、表示の順序を規定するスケジューラ、LCD16の各画面構成を規定する画面データが記憶されている。画面データの内容については後述するが、この段階では、表示パネルの画素に対応したデータとなっている訳ではない。
CPU351は、ROM353を参照して、表示コマンドに応じた画面データを抽出し、描画コマンドとしてVDP(Video Display Processor)355に出力する。
キャラROM356は、スプライトデータ、即ち画面に表示されるスプライトをビットマップで表したデータを格納している。
スプライトとは、LCD16の画面にまとまった単位として表示されるイメージを意味する。例えば、画面上に種々の人物を表示させる場合には、それぞれの人物を描くためのデータを「スプライト」と呼ぶ。複数の人物を表示させるためには、複数のスプライトを用いることになる。人物のみならず背景画像を構成する家、山、道路などをそれぞれスプライトとすることもできる。また、背景画像全体を一つのスプライトとしてもよい。本実施例では、上述の画面データによって、これらの各スプライトの画面上の配置を決め、スプライト同士が重なる場合の上下関係を決めることで、種々の表示内容を規定している。
本実施例では、データを扱う便宜上、各スプライトは縦横それぞれ64ピクセルの矩形領域を複数組み合わせて構成した。この矩形領域を描くためのデータを「キャラクター」と呼ぶ。小さなスプライトの場合は、一つのキャラクターで表現することができるし、人物など比較的大きいスプライトの場合には、例えば、横2×縦3などで配置した合計6個のキャラクターで表現することができる。背景画像のように更に大きいスプライトであれば、更に多数のキャラクターを用いて表現することができる。キャラクターの数および配置は、スプライトごとに任意に指定可能である。
上述の通り、動画を構成する静止画データを格納するため、キャラROM356は膨大な記憶容量を要する。本実施例では、かかる要求に応えるため、キャラROM356としてNAND型フラッシュメモリ356Nを採用した。NAND型フラッシュメモリ356Nは、周知の通り、NOR型フラッシュメモリよりも、集積度を高め容量を大きくするのに適しているとともに、ブロック単位での高速での読み出しが可能という利点がある。キャラROM356は、後述する通り、VDP355が表示データを生成する際に、何度もアクセスするメモリであるため、NAND型フラッシュメモリ356Nの大容量かつブロック単位での高速読み出し可能という特性がキャラROM356としての使用に適しているのである。
もっとも、NAND型フラッシュメモリ356Nには、メモリとしての機能が不全なブロック、いわゆるバッドブロックが少なからず存在するという短所がある。かかるバッドブロックは、使用中にも新たに生じることもある。こうした弊害に対応するため、本実施例では、NAND型フラッシュメモリ356Nのコントローラ356CをキャラROM356内に設けた。コントローラ356Cは、キャラROM356の論理アドレスと、NAND型フラッシュメモリ356Nの物理アドレスとを相互に変換する機能を奏する回路である。つまり、コントローラ356Cは、NAND型フラッシュメモリ356Nのブロックのうちバッドブロックを除いた使用可能なブロックと、上述の論理アドレスとの対応関係を表す管理テーブルを保持しており、この管理テーブルに基づいて、論理アドレスと物理アドレスとの変換を行うのである。従って、例えば、VDP355が論理アドレスで、キャラROM356に所定のスプライトデータを要求すれば、コントローラ356Cは、管理テーブルに基づいて、論理アドレスを物理アドレスに変換し、NAND型フラッシュメモリ356Nから要求されたデータを読み出すことができる。
本実施例では、このように、NAND型フラッシュメモリ356Nとコントローラ356Cとを併用することによって、大容量かつブロック単位での高速読み出し可能なキャラROM356を構成したが、キャラROM356は、NOR型フラッシュメモリを用いて構成することとも可能である。
VDP355は、CPU351から受け取った画面データに基づいて、表示すべきスプライトデータをキャラROM356から抽出し、表示データ、即ち表示すべき画像をビットマップ展開したデータを生成して、パネルインタフェース357に出力する。この処理は、16msec周期で行われる。LCD16への表示データの出力も同様である。VDP355は、表示データと併せて、この周期に適合した同期信号も出力しており、この同期信号は、LCD16の駆動にそのまま利用される。
フレームメモリ358は表示データを格納するためのバッファであり、フィールド358[0]、358[1]という2つの領域に分けられている。これらのフィールドは、ダブルバッファとして機能する。例えば、VDP355によって新規に生成された表示データをフィールド358[0]に書き込んでいる間には、フィールド358[1]から既に格納済みの表示データが読み出され、LCD16に出力される。フィールド358[0]への書き込みが完了すると、パネルインタフェース357は、各フィールドの書き込み/読み出しのモードを切り替え、フィールド358[0]から表側データをLCD16に出力しつつ、新規に生成された表示データをフィールド358[1]に書き込む。この切り換えは、CPU351から出力されるフィールド信号に応じて行われる。
パネルインタフェース357は、フレームメモリ358への表示データの格納または読み出し時に、表示データのサイズを表示パネルの画素数に適合するよう拡大または縮小可能としてもよい。例えば、VDP355の描画能力がLCD16の解像度に不足する場合には、VDP355の描画能力内の低解像度で表示データを生成した上で、LCD16の解像度に適合するように、パネルインタフェース357で拡大処理を行えばよい。
C.メイン制御基板110の回路構成:
図6はメイン制御基板110の回路構成を示す説明図である。先に説明した通り、メイン制御基板110は、CPU111、RAM116、ROM114を備えるマイクロコンピュータとして構成されている。図中には、CPU111が、RAM116、ROM114にアクセスするための回路、および外部入出力(I/O)を行うための回路を示した。
本実施例では、CPU111には、セキュリティ機能が備えられている。また、遊技機の規格上、プログラム容量は3KB以下、データ容量は3KB以下という厳しい制限下で動作するよう構成されている。
本実施例の回路は、CPU111がRAM116にアクセスするために、ロード/ストアコマンドと呼ばれる通常のメモリ領域へのアクセス用のコマンドの他、イン/アウトコマンドというI/Oにアクセスするためのコマンドも使用可能な構成となっている。以下では、まず回路構成について概要を示した後、その動作について説明する。
CPU111からは、バスバッファ112を介して図示する種々の信号が出力される。アドレスA15〜A0は16ビットの信号である。A15〜A8を上位アドレス、A7〜A0を下位アドレスと呼ぶこともある。データバスは、D7〜D0の8ビットである。RD/WRは読み書きの制御信号(以下、「リード・ライト」と呼ぶこともある)である。IOREQは、I/Oへのアクセスの際にアクティブとなる1ビットの信号であり、MREQはメモリへのアクセスの際にアクティブとなる1ビットの信号である。
メモリエリアデコーダ113は、メモリへのアクセスを中継する回路である。メモリエリアデコーダ113からは、ROM114へのアクセスを可能とするためのチップセレクタ信号MCS2、RAM116へのアクセスを可能とするためのチップセレクタ信号MCS1が出力される。チップセレクタ信号MCS1は、選択部115を介してRAM116に入力される。
エリア区分判定部120は、イン/アウトコマンドによって、RAM116へのアクセスを可能とするための回路である。エリア区分判定部120内には、イン/アウトコマンドがI/Oへのアクセスを意味しているのか、RAM116へのアクセスを意味しているのかを区分するための基準となるエリア区分データ121が格納されている。このデータは、予め固定値をハードウェア的に組み込んでおくようにしてもよいが、本実施例では、ROM114に記憶された基準値を読み込んで、起動時に設定するものとした。
エリア区分判定部120からは、I/Oデコーダ122をアクティブにするためのIOエリア識別信号、およびRAM116へのチップセレクタ信号MCS0が出力される。
チップセレクタ信号MCS0は、選択部115を介してRAM116に入力される。RAM116は、メモリエリアデコーダ113からのチップセレクタ信号MCS1、およびエリア区分判定部120からのチップセレクタ信号MCS0のいずれかがアクティブとなっていれば、アクセス可能である。従って、選択部115は、例えば、オアゲートによって構成することができる。
IOデコーダ122は、IOエリア識別信号がアクティブとなっている時に稼働する。IOデコーダ122は、下位アドレスA7〜A0の値に応じて、アクセス先となるべきIOを指定するためのチップセレクタ信号IOCS1、IOCS2等を出力する。チップセレクタ信号は、下位アドレスA7〜A0のアドレス空間に相当する本数、出力可能である。
図中には、I/Oポートの一つとして備えられているシリアルポートの構成を示した。チップセレクタ信号IOCS1、IOCS2は、パラレル入出力ポート123内に設けられた受信バッファ123r、送信バッファ123sに対応している。受信バッファ123r、送信バッファ123sの容量は、任意に設定可能であるが、本実施例では、データの入出力が可能なサイズとして32バイトの容量を確保した。これらのバッファは、いわゆるFIFO(First In First Out1)型である。
受信バッファ123rは、シリアル入出力制御部124内に構成されたSP(シリアル/パラレル)変換部124sに接続され、送信バッファ123sは、PS(パラレル/シリアル)変換部124pに接続されている。外部からシリアル入力する際には、データは、SP変換部124sによって8ビットのパラレルデータに変換され、受信バッファ123rに蓄積される。CPU111は、インコマンドによって、受信バッファ123rのデータを読み取ればよい。また、外部にシリアル出力する際には、CPU111は、アウトコマンドによって送信バッファ123sにデータを格納すればよい。このデータは8ビットのパラレルデータとしてPS変換部124pに伝達され、シリアルデータに変換されて、出力される。
図7はメイン制御基板110の動作を示す説明図である。先に説明した通り、本実施例では、CPU111は、RAM116に対して、ロード/ストアコマンドと、イン/アウトコマンドの双方を用いてアクセスすることが可能である。図7では、かかるアクセスを実現するため、ロードコマンド、インコマンドを例にとって、CPU111、メモリエリアデコーダ113、エリア区分判定部120、IOデコーダ122の機能をそれぞれ示した。
CPU111が、LD(ロード)命令を出力したとする(処理S1)。メモリエリアに直接アクセス可能とするため、LD命令では、アドレスA15〜A0の全てをコマンド内で指定する必要がある。従って、図中に示す通り、このコマンドは、「LD、下位アドレス、上位アドレス」という3バイトで構成される。LDコマンド出力と併せて、MREQおよびRD信号がアクティブとなるが、図の煩雑化回避のため、図示を省略した。
メモリエリアデコーダ113は、アドレスに基づき、アクセス先が、ROM114かRAM116かを判定する(処理S2)。
ROM114へのアクセスが指定されている場合には、ROM114に対応するチップセレクタ信号MCS2をアクティブにする。この結果、ROM114内において、A12〜A0で指定された領域に格納されているデータが読み出される。
RAM116へのアクセスが指定されている場合には、RAM116に対応するチップセレクタ信号MCS1をアクティブにする。この結果、RAM116内において、下位アドレスで指定された領域に格納されているデータが読み出される。この場合、CPU111は、RAM116のメモリ領域(アドレス00H〜FFH)のうち任意の領域にアクセス可能である。RAM116のメモリ領域は設定により512バイトおよび256バイトに切り換えることが可能であるが、本実施例では、256バイトと設定されている場合を例にとって説明する。
次に、IN命令を出力したとする(処理S3)。IN命令では、アクセス可能なIOが下位アドレスで指定される256カ所に制限されているため、コマンドは図示する通り、「IN、下位アドレス」の2バイトで構成される。
エリア区分判定部120は、エリア区分データに基づいて、アクセス先が、RAMかIOかを判別する(処理S4)。
例えば、図中のRAM116内のハッチングの領域(00H〜**H)(以下、この領域を「疑似RAM領域」と呼ぶこともある)がIN命令でもアクセス可能な領域として設定されているとする。エリア区分判定部120は、下位アドレスA7〜A0が、「00H〜**H」に含まれる場合には、アクセス先は疑似RAM領域であると判断し、その他の場合にはIOであると判断する。
アクセス先がRAM116と判断される場合には、エリア区分判定部120は、チップセレクタ信号MCS0をアクティブにする。この結果、RAM116内において、下位アドレスで指定された領域に格納されているデータが読み出される。
アクセス先がIOであると判断される場合には、エリア区分判定部120は、IOエリア識別信号をアクティブにする。この結果、IOデコーダ122が稼働し、下位アドレスA7〜A0に基づいてIO選択し、対応するチップセレクタ信号IOCS1、IOCS2等をアクティブにする(処理S5)。
本実施例では、このように、RAM116内に設けられた疑似RAM領域には、ロード/ストアコマンド、イン/アウトコマンドの双方でアクセスすることが可能である。疑似RAM領域は、任意に設定可能である。IOへのアクセスに必要なアドレス空間を除き、全てを疑似RAM領域に割り当てても良い。疑似RAMは、上述の通り、イン/アウトコマンドでアクセスできる分、アクセス1回につき1バイトずつプログラム容量を削減することができる。
疑似RAM領域へのアクセスには、下位アドレスA7〜A0をそのまま利用することができる点で、疑似RAM領域は、RAM116の先頭アドレスから設定することが好ましい。
先頭アドレスから疑似RAM領域を設定することには、遊技機の規格との関係でも次に示す利点がある。
不正防止の観点から、遊技機では、メイン制御基板110での制御処理において使用するワークは、RAM領域の先頭アドレスから連続した領域に設ける。このため、疑似RAM領域を先頭アドレスから設けておけば、疑似RAM領域をワークに十分に活用することが可能となるのである。これに対し、疑似RAM領域を、先頭アドレスとは異なる任意のアドレス(説明の便宜上仮に「AAH」としておく)から設けると、先頭アドレスからA9Hの領域をワークとして使用した上で、更にメモリ容量が不足する場合にのみ疑似RAM領域がワークに使用されるに過ぎなくなる。
D.払出制御基板210の回路構成:
図8は払出制御基板210の回路構成を示す説明図である。払出制御基板210は、CPU211、RAM216、ROM214を備えるマイクロコンピュータとして構成されている。図中には、CPU211が、RAM216、ROM214にアクセスするための回路、および外部出力(I/O)を行うための回路を示した。
CPU211がセキュリティ機能を有している点、およびプログラム容量、データ容量が厳しく制限されている点については、メイン制御基板110と同様である。
また、CPU211がRAM216にアクセスするために、ロード/ストアコマンド、イン/アウトコマンドの双方を利用可能な回路構成となっている点もメイン制御基板110と同様である。
メイン制御基板110と同様、CPU211からは、バスバッファ212を介して、アドレスA15〜A0、データD7〜D0、RD/WR、IOREQ、MREQなどの信号が出力される。
メモリエリアデコーダ213は、メモリへのアクセスを中継する回路であり、ROM214へのチップセレクタ信号MCS2、RAM216へのチップセレクタ信号MCS1が出力される。チップセレクタ信号MCS1は、選択部215を介してRAM216に入力される。本実施例では、払出制御基板210のROM214は、メイン制御基板110のROM114よりも小容量としたため、ROM214にはアドレスA11〜A0が接続されている。メイン制御基板110のROM114と同サイズのROM214を用いる場合には、アドレスA12〜A0を接続すればよい。
エリア区分判定部220は、イン/アウトコマンドによって、RAM216へのアクセスを可能とするための回路である。エリア区分判定部220内には、先に図7で示したように、イン/アウトコマンドがI/O、RAM216のいずれへのアクセスを意味しているのかを区分するための基準となるエリア区分データ221が格納されている。
エリア区分判定部220からは、I/Oデコーダ222をアクティブにするためのIOエリア識別信号、およびRAM216へのチップセレクタ信号MCS0が出力される。チップセレクタ信号MCS0は、選択部215を介してRAM216に入力される。
IOデコーダ222は、IOエリア識別信号がアクティブとなっている時に稼働する。IOデコーダ222は、下位アドレスA7〜A0の値に応じて、アクセス先となるべきIOを指定するためのチップセレクタ信号IOCS1、IOCS2等を出力する。図の例では、チップセレクタ信号IOCS1によって受信バッファ223にアクセス可能となり、チップセレクタ信号IOCS2によって送信バッファ224にアクセス可能となる。
チップセレクタ信号は、下位アドレスA7〜A0のアドレス空間に相当する本数、出力可能である。
本実施例では、払出制御基板210には、パラレルのIOポートのみを設けたが、メイン制御基板110と同様、シリアルポートを設けても良い。本実施例の構成において、メイン制御基板110と払出制御基板210との間でシリアル信号を授受するためには、両者の間、例えば払出制御基板210上または中継基板などに、図6で示したシリアル入出力制御部124を設ければよい。
本実施例では、払出制御基板210においても、疑似RAM領域を利用可能としたが、かかる構成は必須のものではない。例えば、メイン制御基板110でのみ疑似RAM領域を利用可能とし、払出制御基板210では、RAM126にはロード/ストアコマンドのみでアクセスするようにしてもよい。この場合には、払出制御基板210からは、エリア区分判定部210および選択部115を省略した回路構成とすればよい。
E.遊技の進行制御処理:
以下、電源投入後のメイン制御基板110の制御処理について説明する。メイン制御基板110は、遊技の進行を制御する。遊技中には、種々の乱数を用いて、大当たりの発生などの抽選を行う。ただし、本実施例における乱数は、いわゆる乱数関数によってその都度発生させるものではなく、所定の初期値から所定周期で順次、一定値ずつ更新される変数を言う。遊技機では、入賞口への入賞などをトリガとして抽選が行われ、乱数を使用するタイミングが不定期となるため、一定の規則に従って更新される変数であっても、結果として乱数としての機能を果たすのである。本明細書では、この意味で乱数という用語を用いる。
本実施例で用いる乱数としては、例えば次のものが挙げられる。
(1)大当たり判定用乱数…大当たり遊技状態を発生させるか否かの決定に用いられる乱数;
(2)大当たり判定用初期値決定用乱数…大当たり判定用乱数の初期値の決定に用いられる乱数;
(3)リーチ判定用乱数…大当たり遊技状態を発生させないときにリーチを発生させるか否かの決定に用いられる乱数;
(4)変動表示パターン用乱数…特別図柄表示装置41に表示する変動表示パターンの決定に用いられる乱数;
(5)大当たり図柄用乱数…大当たり遊技状態を発生させるときに特別図柄表示装置41に表示する特別図柄の組み合わせを決定するのに用いられる乱数;
(6)大当たり図柄用初期値決定用乱数…大当たり図柄用乱数の初期値の決定に用いられる乱数;
(7)普通図柄当り判定用乱数…始動入賞口の開閉翼を開閉動作させるか否かの決定に用いられる乱数;
(8)普通図柄当り判定用初期値決定用乱数…普通図柄当り判定用乱数の初期値の決定に用いられる乱数;
(9)普通図柄変動表示パターン用乱数…普通図柄表示器に表示する変動表示パターンの決定に用いられる乱数;
E1.主制御側電源投入時処理:
図9および図10は主制御側電源投入時処理の一例を示すフローチャートである。メイン制御基板110のCPU111が電源投入による復電をトリガとして開始・実行する処理である。「復電」は、電源を遮断した状態から電源を投入した状態、停電又は瞬停からその後の電力の復旧した状態も含む。
処理が開始されると、CPU111は、スタックポインタに初期値を設定し、エリア区分判定部120(図6参照)にエリア区分データを設定する(ステップS10)。スタックポインタは、例えば、使用中のレジスタの内容、サブルーチンを終了して本ルーチンに復帰するときの本ルーチンの復帰アドレスなど、制御処理を進める上で一時的に記憶する種々の情報の格納アドレスをスタックに順次、格納・読み出し可能とするために、スタック中での最新の情報の格納場所を表すレジスタである。
エリア区分データは、図6、7で説明した通り、疑似RAM領域を規定するためのデータである。本実施例では、予めROM114に疑似RAM領域の境界となる値、即ち図7の例では、アドレス「**H」を記憶させておき、上記ステップS10の処理でこれを読み出して、エリア区分判定部120に設定するものとした。
次に、CPU111は停電クリア信号の出力を開始する(ステップS12)。停電クリア信号は、電源基板に設けられた停電監視回路からの停電予告信号をラッチするDタイプフリップフロップのラッチ状態を解除することによって、停電予告信号をラッチさせずに継続的に監視可能とするための処理である。
停電予告信号を論理反転して監視可能となると、CPU111は、ウェイトタイマ処理1によって所定の待ち時間を経た後(ステップS14)、停電予告信号が入力されているか否かを判定する(ステップS16)。本実施形態では、待ち時間を200ミリ秒(ms)とした。停電予告信号が入力されている場合には、ウェイトタイマ処理1による待ち時間(ステップS14)を経てから再度検出を行う。こうすることによって、CPU111は、停電予告信号が継続的に出力されているか否かを検出している。
このように継続的に検出する理由は次の通りである。停電予告信号は、停電又は瞬停によってパチンコ機1への供給電圧が所定の停電予告電圧より小さくなった時に出力される。電源投入時から所定電圧に上がるまでには、一定の時間を要するから、ステップS14、S16の処理によって継続的に停電予告信号を検出することによって、電圧が十分に上がる前に停電予告信号を誤検出することを回避できる。
停電予告信号が検出されず(ステップS16)、電源電圧に異常がないと判断される時は、CPU111は停電クリア信号の出力を停止し(ステップS18)、Dタイプフリップフロップをラッチ状態にセットする。以後、Dタイプフリップフロップからは、供給電圧が停電予告電圧を下回った時に、停電予告信号を出力するようになる。
CPU111はRAMクリアスイッチが操作されている時は(ステップS20)。RAMクリア報知フラグRCLに値1をセットし(ステップS22)、操作されていないときには値0をセットする(ステップS24)。RAMクリアスイッチが操作されると、後述の通り、メイン制御基板110のRAM上の確率変動、未払い出し賞球等の遊技に関する遊技情報が消去されることになる。
次にCPU111はウェイトタイマ処理2で(ステップS26)、装飾図柄制御基板350の起動を待つ。但し、メイン制御基板110は装飾図柄制御基板350から起動完了の通知を受信することはできないため、所定時間経過した時点で起動が完了したものとみなして次の処理を実行することになる。本実施例では、ブートするまでの時間(ブートタイマ)として2秒(s)が設定されている。
CPU111は、RAMクリア報知フラグRCLが値0である時(図10のステップS28)、即ちRAMクリアスイッチが操作されていない時には、RAM116に記憶されている遊技情報のチェックサムを算出する(ステップS30)。そして、チェックサムの値が前回の電源断時に予め算出されバックアップされていたチェックサムの値と一致しているか否かを判定する(ステップS32)。
チェックサムが一致しているときには、バックアップフラグBKが値1であるか否かを判定する(ステップS34)。バックアップフラグBKは、前回の電源断時に、遊技情報、チェックサムの値などが正常にバックアップされていることを表すフラグである。
バックアップフラグBKが値1であるときには、CPU111はバックアップフラグBKに値0をセットし、RAM116にROM114から読み出した復電時の設定を行う(ステップS36)。また、電源投入時コマンド作成処理、つまりバックアップされていた遊技情報に応じた各種コマンドをRAM116の所定記憶領域に記憶させる処理を行う(ステップS38)。
上述の通り、本実施例では、チェックサムによってバックアップ情報が正常か否かを検査するとともに、バックアップフラグBKに基づいて主制御側電源断時処理が正常に終了された否かを検査している。本実施例では、この2重チェックによってバックアップ情報が不正行為により記憶されたものであるか否かを検査しているのである。
一方、RAMクリア報知フラグRCLが値1のとき(ステップS28)、つまりRAMクリアスイッチが操作されているときには、後述する通りRAM116を初期化する処理を行う。チェックサムの値が一致していないとき、またはバックアップフラグBKが値0であるときも同様である(ステップS32、S34)。バックアップが正常に行われていないと判断されるからである。
RAM116の初期化として、CPU111は、まずRAM116の全領域に値0を書き込むことによって、RAM116をクリアする(ステップS40)。この処理によって、大当たり判定用乱数や初期値更新型のカウンタ等の値は初期値0にセットされる。
次に、CPU111はROM114から読み出した初期情報をRAM116にセットする(ステップS42)。
そして、CPU111はRAMクリア報知を行う(ステップS44)。RAMクリア報知とは、RAMクリアが行われたことを報知する音声出力を指示するRAMクリア報知コマンドをサブ制御基板310に出力する処理である。コマンドを受け取った時のサブ制御基板310の動作は後述する。
以上の処理を完了すると、CPU111は割り込み初期設定を行い(ステップS46)、タイマ割り込み処理の割り込み周期を設定する。本実施形態では割り込み周期は4msとした。
CPU111が割り込み許可設定を行うと(ステップS48)、上述の割り込み周期でタイマ割り込み処理が繰り返し行われるようになる。
次にCPU111は主制御側メイン処理を実行する。
この処理は、ウォッチドックタイマクリアレジスタWCLに予め設定された値Aをセットする(ステップS50)。これはウォッチドックタイマをクリア設定するために必要な処理の一つである。本実施例では、この値Aの他、後述する主制御タイマ割り込み処理において、値B、値Cが順次、設定された時に、ウォッチドックタイマがクリア設定されるように構成されている。
図示する通り、主制御側メイン処理はループを構成しているため、この処理が正常に繰り返されるとともに、主制御タイマ割り込み処理が周期的に行われる限り、ウォッチドックタイマクリアレジスタWCLには、値A、B、Cが順に設定され、ウォッチドッグタイマは常にクリア設定され続ける。これに対し、CPU111の処理に異常が生じると、ウォッチドックタイマクリアレジスタWCLのクリア設定が行われなくなるため、CPU111は異常発生と判断し、リセットして電源投入時の処理(ステップS10以降)を再度実行することになる。
ウォッチドックタイマクリアレジスタWCLに値Aを設定した後、停電予告信号の入力がないときには(ステップS52)、CPU111は非当落乱数更新処理を行う(ステップS54)。先に示した乱数のうち当落判定(大当たり判定)にかかわらない乱数、即ち大当たり判定用初期値決定用乱数、リーチ判定用乱数、変動表示パターン用乱数及び大当たり図柄用初期値決定用乱数等を更新する。また、普通図柄当り判定用初期値決定用乱数及び普通図柄変動表示パターン用乱数等も更新する。
本実施例では、大当たり判定用乱数は、上述の大当たり判定用初期値決定用乱数から始まって、主制御側タイマ割り込み処理が行われるごとに値1ずつカウントアップされ、所定の上限値に至ると、今度は所定の下限値から再度、カウントアップされる。上述の非当落乱数更新処理では、大当たり判定用初期値決定用乱数が更新されるため、上述のカウントアップの開始点が変化し、大当たり判定用乱数が特定の値となる周期が変動する。こうすることで、一定の周期でカウントアップするという単純な処理によりながら、大当たり判定用乱数に乱数としての機能を果たさせることができる。他の乱数についても同様である。
CPU111は、主制御側メイン処理として、以上で説明したステップS50〜ステップS54を繰り返し行う。
一方、停電予告信号が入力されている場合(ステップS52)、CPU111は主制御側電源断時処理を行う。停電予告信号は、パチンコ遊技機1の電源が遮断されたり、停電又は瞬停したりして、基準電圧が停電予告電圧より低くなった時に、電源基板が発する信号である。
主制御側電源断時処理では、CPU111はまず割り込み禁止設定を行う(ステップS56)。RAM116のバックアップをとっている最中に、主制御側タイマ割り込み処理が行われてRAM116への書き込みがなされることを防ぐためである。
CPU111は、次に停電クリア信号を出力する(ステップS58)。また、開閉翼ソレノイド、開閉板ソレノイド、特別図柄表示装置41、特別図柄記憶ランプ、普通図柄表示器、普通図柄記憶ランプ、遊技状態表示ランプ、小当り表示ランプ、ラウンド表示ランプ等に出力している駆動信号を停止する。
そして、RAM116の遊技情報に基づいてチェックサム算出し(ステップS60)、バックアップフラグBKに値1をセットする(ステップS62)。これによりバックアップ情報の記憶が完了する。
その後、ウォッチドックタイマのクリア設定を行って(ステップS64)、無限ループに入り、電源が遮断されることによりCPU111の動作は停止する。但し、電源が遮断されない場合には、無限ループ内で、ウォッチドックタイマがクリア設定されなくなるため、所定時間経過後にCPU111にリセットがかかり、CPU111は主制御側電源投入時処理(ステップ10以降)を再び行う。
E2.主制御側タイマ割り込み処理:
図11は主制御側タイマ割り込み処理のフローチャートである。メイン制御基板110のCPU111によって、所定の割り込み周期(本実施形態では、4ms)ごとに繰り返し行われる処理である。
処理を開始すると、CPU111は、レジスタを退避してから(ステップS70)ウォッチドックタイマクリアレジスタWCLに値Bをセットし(ステップS72)、割り込みフラグをクリアする(ステップS74)。
以下、CPU111は、図示する各処理を順次、実行する。これらの処理の実行順序は、図示した順序に限らない。
スイッチ入力処理(ステップS76)はパチンコ機の各種スイッチの信号を入力する処理である。入力する信号としては、普通入賞口、始動入賞口、大入賞口に入球した遊技球の検出信号、賞球の払出コマンドの受信時に払出制御基板210が出力するACK信号、などが挙げられる。
タイマ減算処理(ステップS78)は、種々の時間管理に利用されるタイマ値を減算する処理である。初期値が設定されたタイマ値が、この減算処理によって4msずつ減算され、値0になることで、初期値に相当する時間の経過を検出することができる。タイマ値は、管理対象となる時間ごとに設けられている。管理対象となる時間としては、例えば、変動表示パターンに従って特別図柄表示装置41が点灯する時間、普通図柄変動表示パターンに従って普通図柄表示器が点灯する時間、払出制御基板210からのACK信号を入力するまでの所要時間などが挙げられる。
当落乱数更新処理(ステップS80)は、種々の乱数値をカウントアップ等する処理である。更新対象となる乱数は、大当たり判定用乱数、大当たり図柄用乱数、大当たり判定用初期値決定用乱数、大当たり図柄用初期値決定用乱数である。普通図柄当り判定用乱数、普通図柄当り判定用初期値決定用乱数もこの当落乱数更新処理により更新される。
種々の初期値決定用乱数は、主制御側メイン処理(図10のステップS54)及び主制御側タイマ割り込み処理の双方で更新されている。こうすることによって、ランダム性をより高めることができるからである。
賞球制御処理(ステップS82)は、払出制御基板210へのコマンド送出処理である。例えば、遊技球が入賞した時には、遊技球を払い出す旨を払出制御基板210に指示する賞球コマンドを作成し、払出制御基板210に送信する。また、払出制御基板210からACK信号が所定時間内に入力されないときには、払出制御基板210との接続状態を確認するためのセルフチェックコマンドなどを作成し、払出制御基板210に送信する。
枠コマンド受信処理(ステップS84)は、パチンコ機の枠側に取り付けられている払出制御基板210からメイン制御基板110にコマンドを送る処理である。払出制御基板210のコマンドには、例えば賞球ユニットが球がみを起こして遊技球を払い出せないなどの異常を表す状態コマンドが挙げられる。
不正行為検出処理(ステップS86)は、賞球に関する異常状態を確認し報知する処理である。例えば、大当たり遊技状態でないときに大入賞口に遊技球が入球したのを検知した場合には、CPU111は異常と判断して入賞異常報知コマンドを作成し、サブ制御基板310に出力する。
特別図柄及び特別電動役物制御処理(ステップS88)では、CPU111は、まず始動入賞口への入賞が検出された時に、大当たり判定用乱及び大当たり図柄用乱数等の値を始動情報として記憶する。
始動情報を記憶する領域には、始動情報記憶ブロック0〜3の4つのブロックが設けられている。始動情報は、始動情報記憶ブロック0〜3の順に時系列的に記憶されている。
始動情報記憶ブロックはFIFO(First In First Out)型のメモリ領域であり、格納された順に読み出しが行われる。始動情報記憶ブロック0の始動情報が読み出されると、始動情報記憶ブロック1以降の始動情報は順次、始動情報記憶ブロック0以降に繰り上げて格納される。
CPU111は、始動情報が記憶されている始動情報記憶ブロックの数だけ保留球として特別図柄記憶ランプを点灯させる。このために、CPU111は特別図柄記憶ランプの点灯数に応じて、点灯信号を設定し、サブ制御基板310に出力する。本実施形態では、保留数は最大4個に設定されている。
CPU111は、始動情報記憶ブロック0に始動情報として格納されている大当たり判定用乱数の値を、ROM114に予め記憶されている大当たり判定値と比較する。両者が一致していれば大当たりと判定する。
大当たりと判定されたときは、大当たり図柄用乱数の値から、特別図柄表示装置41に表示する大当り図柄を決定する。CPU111は、更に、変動表示パターン用乱数に基づいて変動表示パターンを決定する。
上述した大当たり判定値との比較処理は、始動入賞口への入賞が検出されたか否かに関わらず、特別図柄及び特別電動役物制御処理(ステップS88)を実行する際において、始動情報として格納されている大当たり判定用乱数が残っているとき、特別図柄の変動開始ごとに実行される。
CPU111は、上述の判定結果によって決定した遊技状態、および変動表示パターンを踏まえた演出を行わせるための遊技演出コマンドを作成し、サブ制御基板310に送信する。また、遊技状態に応じて、役物のソレノイドの駆動信号も出力する。例えば大当たり遊技状態の時は、CPU111は大入賞口の開閉板を開閉動作させる駆動信号を出力する。
普通図柄及び普通電動役物制御処理(ステップS90)では、CPU111は、特別図柄及び特別電動役物制御処理(ステップS88)と同様に、普通図柄当り判定用乱数に基づく当たり判定、普通図柄の変動制御および当たり時において入賞口の開閉翼を開閉動作させるための開閉翼ソレノイドの駆動制御を行う。
ポート出力処理(ステップS92)は、上述の種々の処理で説明した信号を、主制御I/Oポートの出力端子から出力する処理である。本実施例では、CPU111は、上述の各処理の実行時には、それぞれ出力すべき信号を設定して一旦、出力情報記憶領域に記憶させておき、ポート出力処理において、出力情報記憶領域の情報に基づいて各種信号を出力する。出力すべき信号としては、例えば、払出制御基板210に対するACK信号、大入賞口等の開閉板の開閉板ソレノイドへの駆動信号、大当たり情報出力信号、確率変動中情報出力信号、特別図柄表示情報出力信号、普通図柄表示情報出力信号、時短中情報出力情報、始動口入賞情報出力信号等の遊技に関する各種情報(遊技情報)、表示ランプを点灯させる信号などが挙げられる。
サブ統合基板コマンド送信処理(ステップS94)は、上述の種々の処理で設定した制御信号をサブ制御基板310に出力する処理である。本実施例では、CPU111は、上述の各処理の実行時には、それぞれ制御信号を設定して、一旦、送信情報記憶領域に記憶させておき、サブ統合基板コマンド送信処理において、送信情報記憶領域の情報に基づいて制御信号を送信する。送信情報としては、例えば、遊技演出コマンド、RAMクリア報知コマンド、賞球異常報知コマンド及び状態コマンド、およびメイン制御基板110と払出制御基板210との基板間の接続状態を確認するときにセットされるセルフチェックフラグの値に基づいてその接続状態に不具合が生じているときに作成される接続不具合コマンドなどが挙げられる。
CPU111は、以上の処理を終えた後、ウォッチドックタイマクリアレジスタWCLに値Cをセットする(ステップS96)。この処理、ステップS72の処理、および主制御側メイン処理(図10のステップS50)によって、ウォッチドックタイマクリアレジスタWCLには、値A、値Bそして値Cが順にセットされるため、ウォッチドックタイマがクリア設定される。
主制御側タイマ割り込み処理が開始された時点で、CPU111は、汎用レジスタの内容をスタックに積んで退避させる。従って、以上の処理を完了すると、CPU111は、スタックに積んで退避した内容を読み出し、もとのレジスタに書き込むことによって、レジスタの復帰を行い(ステップS98)、割り込み許可の設定を行って、このルーチンを終了する。
F.サブ統合側リセット処理:
次に、サブ制御基板310が実行する制御処理について説明する。
図12はサブ統合側リセット処理のフローチャートである。パチンコ遊技機1への電源投入に応じて、サブ制御基板310のCPUによって実行される処理である。この処理は、停電又は瞬停によってリセットがかかった後の電力復旧時にも実行される。
処理が開始されると、CPUは、CPUを初期化する処理と、リセット後のウェイトタイマを設定する処理等の初期設定処理を行う(ステップS700)。CPUは、初期設定処理中では割り込み禁止とし、初期設定処理のあと割り込み許可とする。
次に、ステップS700に続いて、16ms経過フラグSTが値1となるまで待つ(ステップS702)。16ms経過フラグSTは、16msを計時するフラグであり、16ms経過したとき値1に設定される。フラグの値は、後述する2msタイマ割り込み処理で更新される。
16ms経過フラグSTが値1であるときには(ステップS702)、16ms経過フラグSTを値0でクリアする(ステップS704)。
その後、16ms定常処理を実行していることを表す16ms処理中フラグSPに値1をセットし(ステップS706)、16ms定常処理を行う(ステップS708)。16ms定常処理では、メイン制御基板110からの各種コマンドを解析するコマンド解析処理、パネル装飾ランプ12、枠装飾ランプ31(図1参照)の点灯制御を行うランプ処理、演出用の音声や警報音などの出力処理、装飾図柄制御基板350を介してLCD16に演出用の画面を表示させる処理、これらの処理が正常に行われていることを監視するウォッチドックタイマ処理、および役物の駆動パターンをスケジューラにセットする処理等を行う。
16ms定常処理が完了すると、CPUは16ms処理中フラグSPに値0をセットする(ステップS710)。
CPUは、以上の処理(ステップS702〜S710)を、繰り返し実行する。
サブ制御基板310は、16ms定常処理を繰り返し実行する他、種々の割り込み処理を行う。かかる割り込み処理としては、2msタイマ割り込み、コマンド受信割り込み処理、コマンド受信終了割り込み処理があげられる。
2msタイマ割り込み処理では、16ms定常処理で設定された役物の駆動パターンに基づいての駆動処理を行い、8回実行されるごとに16ms経過フラグSTに値1をセットして16ms定常処理の実行タイミングを管理する。16ms経過フラグSTに値1をセットした時には、2msタイマ割り込み処理で使用した作業領域のバックアップを行う。
コマンド受信割り込み処理では、メイン制御基板110からのコマンド送信指示に従って、コマンドを受信する。本実施例では、コマンドは16ビット(2バイト)で構成されている。通信線のハード的な制約上、メイン制御基板110からは、コマンドは4ビット×4回/パケットで送信される。サブ制御基板310は、これらを順次、受信し、再結合してコマンドを生成する。
コマンドの受信が完了すると、コマンド受信終了割り込み処理によって、信号受信時に使用するカウンタを値0にリセットしたり、正常に受信が完了しなかったコマンドを破棄するなどの処理を行う。
G.払出制御基板の各種制御処理:
G1.払出制御側電源投入時処理:
次に、払出制御基板210が行う各種制御処理について説明する。
図13〜15は払出制御側電源投入時処理の一例を示すフローチャートである。CPU211が電源投入による復電をトリガとして開始・実行する処理である。「復電」は、電源を遮断した状態から電源を投入した状態、停電又は瞬停からその後の電力の復旧した状態も含む。
処理が開始されると、CPU211は、割り込みのモードを設定する(ステップS300)。本実施形態では、後述する払出制御側タイマ割り込み処理が優先的に行われるよう設定している。
次に、CPU211は、I/Oの入出力設定を行うとともに、主制御側電源投入時処理(図9)のステップS10と同様、エリア区分データの設定を行う(ステップS302)。
その後、ウェイトタイマ処理1によって、電源電圧が十分にあがるのを待つ(ステップS304)。本実施例では、待ち時間は200msとした。
待ち時間を経過した後、RAMクリアスイッチが操作されている場合には(ステップS306),CPU211は払出RAMクリア報知フラグHRCLに値1をセットし(ステップS308)、操作されていない場合にはフラグHRCに値0を設定する(ステップS310)。RAMクリア報知フラグHRCLが値1の時には、例えば賞球ストック数、実球計数、駆動指令数、各種フラグ、各種情報等の払い出しに関する払出情報など、RAM216に記憶されている種々の情報の消去を許容することを意味する。
CPU211が、RAM216へのアクセスを許可し(ステップS312)、スタックポインタの設定を行う(ステップS314)。これによって、例えば払出情報のRAM216への書き込み(記憶)又は読み出しが可能となり、CPU211がレジスタの内容をRAM216内のスタック領域に待避することが可能となる。
次に、CPU211は、主制御側電源投入時処理(図10)のステップS28〜S48と同様の処理を実行する(S316〜S332)。ただし、払出制御基板210は、電源投入時コマンド作成処理およびRAMクリア報知等(図9のステップS38、S44)は行わない。ステップS316〜S332の処理によって、RAMクリアスイッチが操作されている場合、および電源断時のバックアップが正常に行われていない場合を除き、RAM216は電源断時の状態に復旧される。
次に、CPU211は、停電予告信号が入力されていない場合には(ステップS334)、払出制御側メイン処理を1.75ms周期で実行する。本実施例では、1.75msごとに値0から値1に変化する1.75ms経過フラグHTをCPU211が監視し、このフラグHTが値1となる時に(ステップS336)、ステップS338以降の処理を実行するものとした。1.75ms経過フラグHTの更新は、1.75ms周期で実行する割り込み処理で管理する。
払出制御側メイン処理では、CPU211は1.75ms経過フラグHTを値0でリセットした後(ステップS338)、外部ウォッチドックタイマ(外部WDT)にクリア信号を出力する(ステップS340)。払出制御側メイン処理が正常に行われている限り、外部WDTは周期的にクリアされるが、異常が生じて外部WDTがクリアされなくなると、所定時間経過後に強制的にリセットがかかることになる。
払出制御側メイン処理では、以下に示す処理が行われる。
ポート出力処理(ステップS342)では、CPU211はRAM216に記憶された各種情報をI/Oから出力する。出力すべき情報としては、例えば、メイン制御基板110からのコマンドに対するアクノリッジ(ACK)、払出モータ21への駆動情報、払い出した賞球数情報、エラー表示情報などが挙げられる。
ポート入力処理(ステップS344)では、CPU211はI/Oから各種信号を入力する。入力すべき情報としては、例えば、エラー解除スイッチ、回転角スイッチ、計数スイッチ、満タンスイッチ、CRユニット等からの検出信号、メイン制御基板110からのACK信号等が挙げられる。
タイマ更新処理(ステップS346)では、払出制御に関する種々の時間管理を行うタイマの値を、それぞれ減算する。この処理は1.75ms周期で実行されるので、各タイマ値は1.75msごとに減算される。管理対象となるタイマ値の例として、球がみ判定時間が5005ms、スキップ判定時間が22.75ms、球抜き判定時間が60060ms、満タン判定時間が504ms、球切れ判定時間が119msにそれぞれ設定されている。タイマ更新処理によって、これらのタイマ値は1.75msずつ減算される。各タイマ値の減算結果が値0になると、それぞれ上述の所定時間が経過したことになる。
CR通信処理(ステップS348)では、CRユニットから貸球要求信号が入力されている時は、貸球要求信号に基づく貸球情報をRAM216の貸球情報記憶領域に記憶する。CRユニットを制御する別ルーチンでは、この貸球情報に基づいて、遊技球の貸出が行われる。貸球要求信号に異常がある場合には、その旨を伝える貸球要求エラー情報を出力する。
満タン及び球切れチェック処理(ステップS350)では、CPU211は、賞球を払い出す上皿が満タンか否かの判定、賞球の球切れの有無の判定を行う。これらの判定は、それぞれ満タンスイッチ、球切れスイッチからの検出信号に基づいて行うことができる。判定結果を安定させるため、それぞれの検出信号がOFFからONに変化した後、所定時間、継続してONとなっている時に、満タンまたは球切れであると判定するようにした。
コマンド受信処理(ステップS352)では、CPU221は、払い出しに関する各種コマンドをメイン制御基板110から受信する。
また、コマンド解析処理(ステップS354)では、受信したコマンドを解析する。
そして、解析結果に基づいて主要動作設定処理を行う(ステップS356)。ここで実行される処理としては、優先度の高い順に、球抜きスイッチ操作判定処理、回転角スイッチ履歴作成処理、スプロケット定位置判定スキップ処理、球がみ判定処理、賞球用賞球ストック数加算処理、貸球用賞球ストック数加算処理、ストック監視処理、払出球抜き判定設定処理などが挙げられる。
これらの処理内容については後述する。
LED表示データ作成処理(ステップS358)では、球切れその他の異常時に、エラー表示用のLEDへの表示データを生成して出力する。
コマンド送信処理(ステップS360)では、上述した状態情報記憶領域から各種情報を読み出し、この各種情報に基づいてコマンドを作成してメイン制御基板110に送信する。ポート出力処理(ステップS342)、CR通信処理(ステップS348)、LED表示データ作成処理(ステップS358)等では、説明の便宜上、種々のコマンド等を出力する旨を示したが、実際には、これらの処理では、CPU211は、出力すべき情報を生成して一旦RAM216の所定領域に格納しておき、コマンド送信処理(ステップS360)でRAM216から情報を読み出して出力するという手順をとっている。
CPU211は、上述の一連の処理の最後に、外部WDTへのクリア信号の出力を停止する(ステップS362)。外部WDTは、クリア信号解除時間の計時を開始するため、クリア信号が再び出力されないまま、所定時間経過してしまうと、CPU211に強制リセットがかかる状態となる。先に説明した通り、正常に払出制御側メイン処理が正常に実行されている限り、周期的にクリア信号が出力されるため(ステップS340)、リセットはかからない。
停電予告信号の入力があったときには(ステップS334)、CPU211は割り込み禁止設定を行って(ステップS364)、RAM216への書き込みを防ぐことにより、RAM216に格納された払出情報等を保護する。次に、CPU211は、払出モータ21への駆動信号の出力を停止し(ステップS366)、遊技球の払い出しを停止する。また、外部WDTにクリア信号をON/OFFして(ステップS368)、外部WDTを一旦、クリアした後、再度、強制リセットのための計時を開始させる。
CPU211は、RAM216の記憶内容に基づいてチェックサムを算出しバックアップ領域に記憶させるとともに(ステップS370)、払出バックアップフラグHBKに値1をセットする(ステップS372)。そして、CPU211は、RAM216へのアクセスの禁止設定を行い(ステップS374)、RAM216に記憶されているバックアップ情報を保護する。
以上の処理を終えた後、CPU211が無限ループに入る。
G2.主要動作設定処理:
次に、払出制御側メイン処理の主要動作設定処理(ステップS356)で行われる、球抜きスイッチ操作判定処理、回転角スイッチ履歴作成処理、スプロケット定位置判定スキップ処理、球がみ判定処理、賞球用賞球ストック数加算処理、貸球用賞球ストック数加算処理、ストック監視処理、払出球抜き判定設定処理について説明する。
球抜きスイッチ操作判定処理は、球抜きスイッチからの検出信号に基づいて、その操作がなされているか否かを判定する処理である。操作されている時は、CPU211は球抜きフラグRMVに値1をセットする。この判定結果は、後述する通り、賞球払出装置20に払出動作を行わせるか否かの制御に活用される。
回転角スイッチ履歴作成処理は、賞球払出装置20において、遊技球を1つずつ払い出すスプロケットの回転位置を、回転角スイッチからの検出信号に基づいて判断する。スプロケットが所定角度だけ回転するたびに、1バイトの記憶容量を有する回転角スイッチ検出履歴情報RSWに記録する。スプロケットはその姿勢に応じて、回転角スイッチの光を遮断/非遮断するように構成されており、回転角スイッチからは、遮断から非遮断への遷移およびその逆の遷移のそれぞれに応じて、値1又は値0が出力される。回転角スイッチ検出履歴情報RSWは、従前の信号を1ビットずつ上位にシフトした上で、回転角スイッチからの最新の検出信号を最下位ビットに格納する情報である。
スプロケット定位置判定スキップ処理は、スプロケットが定位置にあるか否かの定位置判定の実行を制御する処理である。
定位置判定をスキップする条件が整っていない時には、CPU211は、回転角スイッチ検出履歴情報RSWと定位置判定値との対比によって定位置判定を行う。本実施例の定位置判定値は、「00001111」、つまり上位4ビットが値0、下位4ビットが値1である。回転角スイッチ検出履歴情報RSWと定位置判定値の下位5ビットが一致していれば、スプロケットは定位置にあると判断されるため、CPU211は定位置判定をスキップする。下位5ビットが値「01111」となるのは、回転角スイッチが非遮断から遮断への遷移が少なくとも1回検出された後、遮断から非遮断に遷移した検出信号が4回の検出周期で連続して検出されたことをあらわしている。
球がみ判定処理は、スプロケットに遊技球が噛み込んで動かなくなる状態、いわゆる球がみ状態が生じているか否かを、回転角スイッチ検出履歴情報RSWに回転角スイッチからの検出信号があるか否かに基づいて判定する処理である。回転角スイッチの光を非遮断から遮断に遷移した状態の検出信号がある場合には、球がみは生じていないと判断する。判断結果は、球がみ判定中フラグVALに格納する。球がみが生じていない時には値0、生じている時には値1で表す。
賞球用賞球ストック数加算処理は、メイン制御基板110からの賞球コマンドを解析して、新たに払い出す球数を求め、従来の払出球数のうち、まだ払出が完了していない未払い数に加算して、払い出すべき残数を求める処理である。
貸球用賞球ストック数加算処理は、CRユニットからの貸球要求信号に基づいて払い出す球数を加算する処理である。CPU211は、貸球要求信号があると、未払いの賞球数を表す賞球ストック数PBSに、新たに貸し出すべき貸球数RBVを加算して、払出すべき遊技球の総数を求める。もっとも、本実施例では、貸球よりも賞球を優先して扱うため、賞球の払い出しが完了してから、貸球の払い出しを行うように制御される。
ストック監視処理とは、遊技者が遊技球を上皿に満タンにした状態で遊技を続けていないか監視する処理である。CPU211は、賞球ストック数PBSが予め設定されたしきい値TH(本実施例では50とした)以上になると、注意フラグCAに値1をセットする。このフラグの値に基づき、払出制御基板210からメイン制御基板110にコマンドが送信され、扉枠装飾ランプの点灯による報知が行われる。
払出球抜き判定設定処理は、賞球払出装置20の動作の制御処理である。遊技状態等に応じて、賞球払出装置20に、貯留皿への賞球の払出し、賞球タンク27及びタンクレール26からの遊技球の抜き取り、又はこのような払い出しや排出を行わないといういずれかの動作を行わせる処理である。
図16は払出球抜き判定設定処理の一例を示すフローチャートである。CPU211が、払出制御側メイン処理(図15)の主要動作設定処理(ステップS356)において実行する処理である。
処理を開始するとCPU211は、球がみ中フラグPBEが値0、即ち払出モータ21に球がみが生じていない時には、賞球ストック数PBSをRAM216から読み出す(ステップS472)。賞球ストック数PBSが値0より大きい場合、即ち払い出すべき遊技球の残数がある場合には(ステップS474)、上皿が遊技球で満タンでなければ(ステップS476)、払出設定処理を行う(ステップS478)。払出設定処理は、払出モータ21を駆動して遊技球を払い出すための設定を行う処理である。処理内容は後述する。
上皿が遊技球で満タンのときには、払出不能と判断し、このルーチンを終了する。
CPU211は、球がみ中フラグPBEが値1、つまり球がみが生じている時(ステップS470)または、賞球ストック数PBSが値0のとき、つまり未払い出し球数がないときには、球抜きフラグRMVが値1であれば(ステップS480)、球抜き設定処理を行う(ステップS482)。球抜き設定処理とは、賞球タンク27及びタンクレール26に貯留されている遊技球を排出する処理である。処理内容は後述する。球抜きフラグRMVが値0であれば、球抜きは不要と判断して、何も行わずにこのルーチンを終了する。
図17は球抜き設定処理の一例を示すフローチャートである。払出球抜き判定設定処理(図16)のステップS482に相当する処理であり、賞球タンク27及びタンクレール26に貯留されている遊技球を排出するための処理である。
処理を開始し、球抜き判定時間が経過するまでの間(ステップS530)、CPU211は、球抜き動作を行うよう払出モータ21への駆動信号を出力する(ステップS536)。球抜き判定時間の時間管理は、先に説明した通り払出制御側メイン処理(図15)のステップS346で行われている。
球抜き判定時間が経過すると(ステップS530)、CPU211は払出モータ21への駆動信号を停止して(ステップS532)、球抜き動作を終了する。そして、球抜きが完了したと判断して、CPU211は、球抜きフラグRMVに値0をセットし(ステップS534)、このルーチンを終了する。
図18は払出設定処理の一例を示すフローチャートである。払出設定処理は、払出モータ21を駆動して遊技球を払い出す設定を行う処理である。
処理が開始されると、CPU211は駆動指令数DRVをRAM216から読み出す(ステップS490)。駆動指令数DRVは、あと何個分の遊技球を払い出すように払出モータ21を駆動するかを表す変数である。
駆動指令数DRVが値0のとき(ステップS492)、つまり未払いの遊技球数がゼロ個であるときには、払出モータ21への駆動信号の出力を停止する(ステップS494)。
そして、賞球ストック数PBSおよび実球計数PBをRAM216から読み出す(ステップS496、S498)。実球計数PBとは、払出モータ21が実際に払い出した遊技球の球数を計数スイッチからの検出信号に基づいてカウントした値である。
賞球ストック数PBSから実球計数PBを引いた値が未払いの遊技球数となるから、CPU211は、この値で、賞球ストック数PBS及び駆動指令数DRVを更新し(ステップS500)、実球計数PBに値0をセットし(ステップS502)、このルーチンを終了する。
駆動指令数DRVが値0でないとき(ステップs492)、つまり未払いの遊技球があるときには、払出モータ21に駆動信号を出力する(ステップS504)。
CPU211は、球がみ判定中フラグVALが値0(ステップS506)、即ち球がみが生じていない場合には、遊技球が払い出されていることを意味するから、スプロケットが定位置となるごとに、未払い数を表す駆動指令数DRVから値1を引く(ステップS508)。また、計数スイッチからの検出信号があれば(ステップS510)、実際に遊技球の払出が検出されたことを意味するから、実球計数PBを値1増加させる(ステップS512)。計数スイッチからの検出信号がない場合には、実球計数PBをカウントアップすることなく、このルーチンを終了する。
上述のステップS510において、計数スイッチからの検出信号の有無の判断は、払出モータへの駆動信号の出力から、実際に計数スイッチで遊技球が検出されるまでの所要時間以上の待ち時間を経てから行うことが好ましい。
球がみ判定中フラグVALが値1のとき(ステップS506)、つまり球がみが生じているときには、球がみ判定時間が経過するまで(ステップS514)、球がみを解消させるように払出モータ21を動作させる駆動信号を出力する(ステップS516)。また、払出モータ21による球がみ動作を行っていることを示す球がみ中フラグPBEに値1をセットし(ステップS518)、このルーチンを終了する。
球がみ判定時間が経過したときには(ステップS514)、払出モータ21への駆動信号を停止し(ステップS520)、球がみ動作を終了させる。また、球がみ中フラグPBEに値0をセットして(ステップS522)、このルーチンを終了する。
H.効果:
実施例で説明した種々の制御処理において、メイン制御基板110および払出制御基板210が出力する種々のコマンドは、一旦、RAM116、216に蓄えられた後、所定のタイミングでRAM116、216から読み出されて出力される。また、制御処理で用いられる種々のフラグや、情報もRAM116、216上に構築されたワークを利用して管理されている。
このように、実施例の制御処理では、RAM116、216に頻繁にアクセスが行われる。
本実施例では、図6〜8で説明した通り、メイン制御基板110、払出制御基板210のCPU111、211は、それぞれRAM116、216に対して、ロード/ストアコマンドおよびイン/アウトコマンドの双方でアクセスすることができる。このように疑似RAMは、イン/アウトコマンドでアクセスできる分、アクセス1回につき1バイトずつプログラム容量を削減することができる。プログラム中に疑似RAMへのイン/アウトコマンドでのアクセス箇所が増えるほど、プログラム容量の削減効果は大きくなる。
図19は疑似RAMの効果を示す説明図である。ある遊技機において、疑似RAMの有無でのプログラム容量の変化を比較して示した。
最上段は、疑似RAMを設けない場合である。つまり、RAMへのアクセスは、全てロード/ストアコマンドによって行われる場合を示している。この時の容量は550バイト強となっている。
2〜4段目は、疑似RAMを設けた場合である。それぞれ疑似RAMの容量を64バイト、128バイト、192バイトに変化させた場合を示した。図示する通り、プログラムの容量は、疑似RAMが64バイトの場合に10%、128バイトの場合に18%、192バイトの場合に31%削減される。
このように、本実施例によれば、イン/アウトコマンドでRAMへのアクセスを可能とする回路、つまりエリア区分判定部120を設けることによって、プログラムの容量を削減することが可能となる。RAMへのアクセスコマンド一つ当たりの削減量は1バイトに過ぎないが、頻繁に使用されるコマンドであるため、制御プログラム全体では、大きな削減効果を生むことができるのである。
I.変形例:
制御基板の回路構成は、以下に示す通り、種々の変形例が可能である。ここでは、メイン制御基板110の変形例を示すが、払出制御基板210についても同様の変形例が適用可能である。
I1.回路構成の変形例(1):
図20はメイン制御基板の変形例(1)を示す説明図である。実施例では、IOにアクセスするためのアドレス空間を確保しておく必要上、疑似RAM領域は、8ビットのアドレス空間の一部にとどまる例を示した。変形例では、8ビットのアドレス空間全体を疑似RAM領域とすることができる回路例を示す。
変形例の回路では、メモリエリアデコーダ113AおよびIOデコーダ122の構成が、実施例(図6)と相違する。その他の構成は、実施例と同じであるため説明を省略する。
メモリエリアデコーダ113Aは、アドレスに基づいてアクセス先がROM、RAM、IO領域(受信バッファ123r、送信バッファ123s)のいずれに当たるかを判断し、それぞれチップセレクタ信号MCS2、MCS1、およびMIOCS1、MIOCS2を出力する。ここでは2種類のIOを備える例を示したが、更に多くのIOを設けても良い。この場合には、メモリエリアデコーダ113Aから、各IOに対してチップセレクタ信号が接続される。
変形例の構成では、エリア区分判定部120は実施例と同様の機能を果たす(図6、図7参照)。つまり、イン/アウトコマンドが入力された時、指定された8ビットのアドレス値と、エリア区分データ121とを比較して、アクセス先がIOか疑似RAM領域かを判定し、IOエリア識別信号またはチップセレクタ信号MCS0を出力する。
変形例の構成によれば、実施例と同様に、8ビットのアドレス空間の一部を疑似RAM領域に割り当てることができる。この場合には、イン/アウトコマンドが入力された時に、エリア区分判定部120がアクセス先を切り換える機能を果たすことになる。
変形例では、更に、8ビットのアドレス空間全体を疑似RAM領域に割り当てることも可能となる。エリア区分データ121に、「FFH」、つまり8ビットのアドレス空間の最大値を設定しておけば、エリア区分判定部120は無条件に疑似RAM領域へのアクセスが要求されているものと判断するようになり、アドレスバスA7〜A0によって確保し得るRAM116の疑似RAM領域全体にアクセスすることが可能となる。
この時、IOへのアクセスはロード/ストアコマンドによって確保される。メモリエリアデコーダ113Aにおいて、RAMの全領域を除く範囲にIO領域を設定しておけばよい。具体的には、アドレス空間の上位の所定ビットの差異によって、RAM116、ROM114、IO領域を規定することになる。こうしておけば、RAM116,IOのそれぞれに対して、下位8ビット分のアドレスを確保することができる。
IOへのアクセスを行う場合、CPU111がIO領域に対応するアドレスを指定してロード/ストアコマンドを出力すると、メモリエリアデコーダ113Aはアクセス先がIOであると判断してチップセレクタ信号MIOCS1、MIOCS2のいずれかをアクティブにする。この結果、指定されたIOにアクセスすることが可能となる。
また、メモリエリアデコーダ113Aは、アドレスA15〜A0の全空間に基づいてチップセレクタの出力が可能であるため、変形例の回路によれば、RAMおよびIOの双方にロード/ストアコマンドでアクセスすることが可能である。
また、実施例と同様、RAM116の一部が疑似RAM領域となるようエリア区分判定部120のエリア区分データ121において設定しておけば、疑似RAM領域に対しては、イン/アウトコマンドでアクセス可能となる。この時、疑似RAM領域に割り当てられなかった領域、つまり8ビットのアドレス空間の最後の方の領域は、イン/アウトコマンドでアクセス可能なIO領域となる。
このように設定することにより、RAM116およびIOそれぞれの一部について、ロード/ストアコマンドおよびイン/アウトコマンドの双方でアクセスすることが可能となる。
このように変形例の回路によれば、RAM116およびIOの双方について、ロード/ストアコマンド、イン/アウトコマンドの双方でのアクセスが可能となる。疑似RAM領域を大きくすれば、イン/アウトコマンドでRAM116にアクセスすることができる分、プログラムの削減効果も大きくなる。しかし、一方、疑似RAM領域を大きくすることによって、IOへのアクセスにロード/ストアコマンドを使用する必要が生じると、その分、プログラムサイズが大きくなる。RAM116およびIOへのアクセス数は、プログラムの内容によって異なるから、上述の相反する効果を考慮して、プログラムサイズを最小にすることができる最適の疑似RAM領域のサイズもプログラムごとに求めることができる。
I2.回路構成の変形例(2):
図21はメイン制御基板の変形例(2)を示す説明図である。この変形例では、RAM116の全領域を疑似RAM領域とし、IOへのアクセスはロード/ストアコマンドによって行う回路例を示す。
図示する通り、この変形例の回路では、エリア区分判定部120は存在しない。CPU111は、RAM116にアクセスする際には、イン/アウトコマンドとともに、下位アドレスA7〜A0を指定する。IOREQは、直接、RAM116のチップセレクタ信号として入力されているため、イン/アウトコマンドは無条件にRAM116へのアクセスを意味することになる。CPU111は、イン/アウトコマンドによって、RAM116の下位アドレスA7〜A0に対応する全領域へのアクセスが可能となる。
一方、メモリエリアデコーダ113Bからは、チップセレクタ信号IOCS1,IOCS2が受信バッファ123r、送信バッファ123sにそれぞれ出力される。CPU111が、ロード/ストアコマンドを出力すると、メモリエリアデコーダ113Bは、指定されたアドレスに基づいてROM114、IO(受信バッファ123r、送信バッファ123s)のいずれへのアクセスかを判断し、チップセレクタ信号MCS2、IOCS1,IOCS2のいずれかをアクティブにする。この結果、ROMおよびIOにそれぞれアクセスすることが可能となる。
この変形例の回路によれば、RAM116へのアクセスを全てイン/アウトコマンドで行うことができるため、プログラムサイズを削減することができる。また、エリア区分判定部120を設けなくてもすむ分、回路構成が簡素なもので済むという利点もある。
以上、本発明の種々の実施例について説明したが、本発明はこれらの実施例に限定されず、その趣旨を逸脱しない範囲で種々の構成を採ることができることはいうまでもない。
実施例では、パチンコ機1への適用例を示したが、本発明はスロットマシンへの適用も可能である。
また、実施例では、メイン制御基板110、払出制御基板210の双方に疑似RAMを設ける構成を示したが、いずれか一方にのみ設けても良い。
図20、21で示した変形例は、それぞれ払出基板に適用することも可能である。
実施例では、RAM領域にイン/アウトコマンドでアクセス可能とする例を示したが、同様の構成をROMに適用することによって、インコマンドでROMにアクセス可能としてもよい。
パチンコ機1の全体構成を示す斜視図である。 パチンコ機1の背面斜視図である。 パチンコ機1の分解斜視図である。 パチンコ機1の制御用ハードウェア構成を示すブロック図である。 装飾図柄制御基板350の回路構成を示す説明図である。 メイン制御基板110の回路構成を示す説明図である。 メイン制御基板110の動作を示す説明図である。 払出制御基板210の回路構成を示す説明図である。 主制御側電源投入時処理の一例を示すフローチャート(1)である。 主制御側電源投入時処理の一例を示すフローチャート(2)である。 主制御側タイマ割り込み処理のフローチャートである。 サブ統合側リセット処理のフローチャートである。 払出制御側電源投入時処理の一例を示すフローチャート(1)である。 払出制御側電源投入時処理の一例を示すフローチャート(2)である。 払出制御側電源投入時処理の一例を示すフローチャート(3)である。 払出球抜き判定設定処理の一例を示すフローチャートである。 球抜き設定処理の一例を示すフローチャートである。 払出設定処理の一例を示すフローチャートである。 疑似RAMの効果を示す説明図である。 メイン制御基板の変形例(1)を示す説明図である。 メイン制御基板の変形例(2)を示す説明図である。
符号の説明
1…パチンコ機
2…外枠
3…本体枠
4…遊技盤
4a…表示部
4b…操作スイッチ
5…扉枠
6…下部前面カバー板
7…カバー
8…ハンドル
9…発射レール
10…打球発射装置
12…パネル装飾ランプ
16…LCD
20…賞球払出装置
21…払出モータ
22…払出球検出器
23…モータ駆動センサ
25…球通路
26…タンクレール
27…賞球タンク
29…スピーカ
31…枠装飾ランプ
32、34…ランプ中継基板
41…特別図柄表示装置
42…入賞検出器
43…大入賞口ソレノイド
47…発射制御基板
48…タッチ検出部
49…発射モータ
50…ガラス板
100…遊技制御基板ボックス
110…メイン制御基板
111…CPU
112…バスバッファ
113、113A、113B…メモリエリアデコーダ
113d…エリア区分データ
114…ROM
115…選択部
116…RAM
120…エリア区分判定部
121…エリア区分データ
122…IOデコーダ
123…パラレル入出力ポート
123s…送信バッファ
123r…受信バッファ
124…シリアル入出力制御部
124s…SP変換部
124p…PS変換部
200…払出制御基板ボックス
200U…基板ユニット
210…払出制御基板
211…CPU
212…バスバッファ
213…メモリエリアデコーダ
214…ROM
215…選択部
216…RAM
220…エリア区分判定部
221…エリア区分データ
222…IOデコーダ
223…受信バッファ
224…送信バッファ
310…サブ制御基板
350…装飾図柄制御基板
351…CPU
352…RAM
353…ROM
356…キャラROM
356C…コントローラ
356N…NAND型フラッシュメモリ
357…パネルインタフェース
358…フレームメモリ

Claims (7)

  1. 所定の遊技媒体を用いて遊技を行う遊技機であって、
    前記遊技の進行を統合制御する主制御装置と、
    所定の条件下で、前記遊技媒体を遊技者に払い出す払出装置と、
    前記主制御装置からの指示情報に従って、前記払出しを制御する払出制御装置とを有し、
    前記主制御装置と払出制御装置とは、双方向通信可能な通信線で接続されており、
    前記払出制御装置は、
    前記払出制御を実行するためのCPUと、
    前記CPUが実行するプログラムを格納するためのメモリとしてのROMと、
    前記払出制御に用いられる種々の情報を格納するためのメモリとしてのRAMと、
    前記払出制御において、前記払出制御装置の外部との信号を入出力するための入出力ポートとを有し、
    前記CPUは、メモリへのアクセスに使用されるコマンドであって2バイト以上のアドレス値を含むコマンド体系を有するメモリアクセスコマンドと、外部との信号の入出力に使用されるコマンドであって入出力先を指定するためのアドレス値が前記メモリアクセスコマンドよりも1バイト以上少ないコマンド体系を有する入出力ポートアクセスコマンドとを使用可能であり、
    前記入出力ポートアクセスコマンドに応じて稼働すべき対象を指定する入出力ポートリクエスト信号は、前記CPUから直接または間接に前記RAMに入力可能に構成されている遊技機。
  2. 請求項1記載の遊技機であって、
    前記入出力ポートアクセスコマンドで指定されるアドレス値に基づいて、アクセス先を前記RAMおよび入出力ポートに切り換え、前記RAMおよび入出力ポートのいずれかをアクティブにするセレクタ信号を出力するエリア区分判定部を備え、
    前記入出力ポートリクエスト信号は、前記CPUから前記エリア区分判定部に入力されている遊技機。
  3. 請求項2記載の遊技機であって、更に、
    前記メモリアクセスコマンドで指定されるアドレス値の上位所定桁に基づいて、アクセス先となる前記ROMおよびRAMのいずれかをアクティブにするためのメモリセレクト信号を出力するメモリエリアデコード部を有し、
    前記メモリアクセスコマンドに応じて稼働すべき対象を指定するメモリリクエスト信号は、前記CPUから前記メモリエリアデコード部に入力されている遊技機。
  4. 請求項2または3記載の遊技機であって、
    前記RAMのアドレス空間と、前記入出力ポートアクセスコマンドで指定可能なアドレス空間とが等しい遊技機。
  5. 請求項2〜4いずれか記載の遊技機であって、
    前記エリア区分判定部は、前記入出力ポートで指定されるアドレス値が、先頭アドレスを含む所定範囲内の時に、アクセス先を前記RAMと判断する遊技機。
  6. 請求項2〜5いずれか記載の遊技機であって、
    前記エリア区分判定部は、前記アクセス先の判定に使用するエリア区分データを記憶するエリア区分データ記憶部を有し、
    前記CPUは、起動時に前記エリア区分データ記憶部に、前記エリア区分データを設定する遊技機。
  7. 請求項3記載の遊技機であって、
    前記メモリエリアデコード部は、更に、前記上位所定桁に基づいて、前記入出力ポートをアクティブにする入出力ポートセレクト信号を出力可能である遊技機。
JP2007268826A 2007-08-24 2007-10-16 遊技機 Expired - Fee Related JP5093584B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007268826A JP5093584B2 (ja) 2007-08-24 2007-10-16 遊技機

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2007218951 2007-08-24
JP2007218951 2007-08-24
JP2007265964 2007-10-11
JP2007265964 2007-10-11
JP2007268826A JP5093584B2 (ja) 2007-08-24 2007-10-16 遊技機

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012194752A Division JP5589174B2 (ja) 2007-08-24 2012-09-05 遊技機

Publications (2)

Publication Number Publication Date
JP2009106308A JP2009106308A (ja) 2009-05-21
JP5093584B2 true JP5093584B2 (ja) 2012-12-12

Family

ID=40775521

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2007268826A Expired - Fee Related JP5093584B2 (ja) 2007-08-24 2007-10-16 遊技機
JP2012194752A Expired - Fee Related JP5589174B2 (ja) 2007-08-24 2012-09-05 遊技機

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2012194752A Expired - Fee Related JP5589174B2 (ja) 2007-08-24 2012-09-05 遊技機

Country Status (1)

Country Link
JP (2) JP5093584B2 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6054281B2 (ja) * 2013-11-05 2016-12-27 株式会社ユニバーサルエンターテインメント 遊技機
JP6054280B2 (ja) * 2013-11-05 2016-12-27 株式会社ユニバーサルエンターテインメント 遊技機
JP5969558B2 (ja) * 2014-09-02 2016-08-17 株式会社大都技研 遊技台
JP6303140B2 (ja) * 2016-07-07 2018-04-04 株式会社大都技研 遊技台
JP6282365B2 (ja) * 2017-03-14 2018-02-21 株式会社ユニバーサルエンターテインメント 遊技機
JP6570668B2 (ja) * 2018-01-23 2019-09-04 株式会社ユニバーサルエンターテインメント 遊技機

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2548952B2 (ja) * 1987-09-26 1996-10-30 株式会社三共 弾球遊技機
JPH08321846A (ja) * 1995-05-26 1996-12-03 Matsushita Electric Works Ltd ネットワーク装置
JP2004229938A (ja) * 2003-01-30 2004-08-19 Sankyo Kk 遊技機
JP2005152622A (ja) * 2003-11-07 2005-06-16 Daiichi Shokai Co Ltd 遊技機
JP4789105B2 (ja) * 2005-08-16 2011-10-12 株式会社大一商会 遊技機

Also Published As

Publication number Publication date
JP2009106308A (ja) 2009-05-21
JP5589174B2 (ja) 2014-09-17
JP2012232198A (ja) 2012-11-29

Similar Documents

Publication Publication Date Title
JP5120932B2 (ja) 遊技機
JP5120931B2 (ja) 遊技機
JP5463400B2 (ja) 遊技機
JP6791597B2 (ja) 遊技機
JP5589174B2 (ja) 遊技機
JP5024843B1 (ja) 遊技台
JP2009207705A (ja) 遊技機
JP2009165581A (ja) 遊技機用制御プログラムの開発支援方法
JP2012040139A (ja) 遊技機
JP6842406B2 (ja) 遊技機
JP5463401B2 (ja) 遊技機
JP5589173B2 (ja) 遊技機
JP5095172B2 (ja) パチンコ遊技機
JP5231603B2 (ja) 遊技機
JP5851125B2 (ja) 遊技機
JP2011125374A (ja) 遊技台
JP4167695B2 (ja) 遊技機
JP6791596B2 (ja) 遊技機
JP6839922B2 (ja) 遊技機
JP6928582B2 (ja) 遊技機
JP2021010815A (ja) 遊技機
JP2020195614A (ja) 遊技機
JP2020195613A (ja) 遊技機
JP2004236983A (ja) 遊技機
JP7366387B2 (ja) 遊技機

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20090324

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101013

TRDD Decision of grant or rejection written
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120731

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120807

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120905

R150 Certificate of patent or registration of utility model

Ref document number: 5093584

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150928

Year of fee payment: 3

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