【手続補正書】
【提出日】平成17年7月25日(2005.7.25)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【書類名】  明細書
【発明の名称】  故障診断機能を有する乱数発生装置内蔵型遊技機制御用マイクロコンピュータ
【特許請求の範囲】
【請求項１】内蔵された遊技機制御用のプログラムが正規のものか否かの照合を行う機能を有する遊技機制御用マイクロコンピュータにおいて、乱数発生装置を内蔵させると共に、該マイクロコンピュータの起動当初に前記内蔵乱数発生装置が所定の機能及び動作を正常に作動しているか否かの故障診断を行うための乱数発生装置用故障診断手段を内蔵させ、前記乱数発生装置用故障診断手段が診断の結果正常と判断した時には前記マイクロコンピュータをユーザモードへ移行し、また異常と判断した時には何らかの警告を発すると共に前記マイクロコンピュータをユーザモードに移行しないように構成されていることを特徴とする故障診断機能を有する乱数発生装置内蔵型遊技機制御用マイクロコンピュータ。
【請求項２】前記乱数発生装置用故障診断手段が、前記マイクロコンピュータ起動当初のブートモードにおいて作動するように構成されていることを特徴とする請求項１記載の故障診断機能を有する乱数発生装置内蔵型遊技機制御用マイクロコンピュータ。
【請求項３】前記乱数発生装置用故障診断手段が、予め前記マイクロコンピュータに内蔵された乱数発生装置に関する故障診断用データ又は数式を内蔵しており、該内蔵された故障診断用データ又は数式と乱数発生装置から出力される乱数値とを比較することにより正常か否を診断するように構成されていることを特徴とする請求項１又は２記載の故障診断機能を有する乱数発生装置内蔵型遊技機制御用マイクロコンピュータ。
【請求項４】前記乱数発生装置用故障診断手段が、故障診断用初期値データ又は数式を乱数発生装置にロードし、その後に発生する乱数値と内蔵された故障診断用データとを複数回照合することにより正常か否かの診断を行うように構成されていることを特徴とする請求項３記載の故障診断機能を有する乱数発生装置内蔵型遊技機制御用マイクロコンピュータ。
【請求項５】前記乱数発生装置用故障診断手段が乱数発生装置のビット変化を監視するように構成され、乱数発生装置の所定のビットデータが複数回の乱数取り出しにもかかわらず変化しない場合に異常と判断し、ビットデータが所定回数内で変化した時に正常と診断するように構成されていることを特徴とする請求項１又は２記載の故障診断機能を有する乱数発生装置内蔵型遊技機制御用マイクロコンピュータ。
【請求項６】前記乱数発生装置用故障診断手段が、乱数発生装置を起動して最初の乱数データＡ１と固有初期値データＢとの排他的論理和を行い、その結果をステータスレジスタ１に格納し、その後次の乱数データＡｉ（ｉ＞１）を取り出し、該乱数データＡｉと固有初期値データＢとの排他的論理和を行いその結果をステータスレジスタ２に格納し、該ステータスレジスタ１と該ステータスレジスタ２との排他的論理和を行いその結果をステータスレジスタ３に格納し、ステータスレジスタ３のデータが”１”の場合に次の乱数データＡｉ＋ｊ（ｊ＞０）を取り出し、該乱数データＡｉ＋ｊと固有初期値データＢとの排他的論理和を行いステータスレジスタ１へ格納すると共に前記ステータスレジスタ３との論理積を行い、その結果が”１”の場合に正常と判断し、前記ステータスレジスタ３のデータ”０”の場合に新たな乱数データＡｉ＋ｊ＋１を取り出して該乱数データと固有初期値データＢとの排他的論理和を行いステータスレジスタ２に格納し、前記ステータスレジスタ１と該ステータスレジスタ２との排他的論理和を行いその結果をステータスレジスタ３に格納し、該ステータスレジスタ３のデータが”１”となるまで繰り返しトライし、所定回数を越えてもステータスレジスタ３のデータが”１”にならない場合に異常と判断するように構成されていることを特徴とする請求項５記載の故障診断機能を有する乱数発生装置内蔵型遊技機制御用マイクロコンピュータ。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、遊技機の抽選に使用される乱数を発生する乱数発生装置を内蔵した遊技機制御用のマイクロコンピュータにおいて、外部装置（一般には遊技場のホールコンピュータ、または遊技機制御用マイクロコンピュータが正規品か否かをチェックする照合装置等が該当する）を使用せずに、遊技機を制御する遊技機制御用マイクロコンピュータ自身が、乱数発生装置が正常に作動しているかどうかをチェックする故障診断機能に関するものである。
【０００２】
【従来の技術】
従来の遊技機用乱数として線形合同法（乗積合同法／混合合同法）やＭ系列等の様々な乱数発生装置が使用されているが、スタート入賞口に入賞するタイミングで当該乱数発生装置の出力を乱数とする方式のものが知られている。しかしながら、乱数発生回路を内蔵させた遊技機制御用マイクロコンピュータチップは、市場にはない。また、例えば中央処理装置（以下ＣＰＵという）、ランダムアクセスメモリ（以下ＲＡＭという）、リードオンリーメモリ（以下ＲＯＭという）、カウンタタイマ回路（以下ＣＴＣという）、並列入出力コントローラ（以下ＰＩＯという）、シリアル入出力コントローラ（以下ＳＩＯという）等のデバイスをワンチップ化したものをマイクロプロセッサ、またはマイクロコンピュータと呼称されているもの（以下マイコンという）には、一般的にその内蔵したどのデバイスが故障しているか、またはデバイスのどの機能が不都合なのかを診断する目的で、出荷前の不良製品を排除する為に必ずデバイスに対応したテスト回路が内蔵されている。内蔵するデバイスの出力信号は、マイコンの外部ピンに直接接続されることは無く、必ずテスト回路に接続され、最終的にＩ／Ｏバッファを経由してマイコンの外部ピンへ伝達される。また同様に当該デバイスへの入力信号は、マイコンの外部ピンからＩ／Ｏバッファを経由してテスト回路に接続され、最終的に当該デバイスへと伝達される。したがって、マイコンは通常動作するピン配列とは別に出荷前テストの為に、テストモード用のピン配列を持ち、テストモード時には外部装置と個々のデバイスが直接、信号の送受ができる様な形態になる。出荷前のマイコン検査には半導体テスタ等が使用され、半導体テスタのプローブをマイコンの外部ピンに接続し、テストベクタと呼称されるテストパターンをマイコンの外部ピンから入力し、その入力パターンに基づき、当該デバイスから返信される期待値とを比較して故障の判定を行っている。
【０００３】
【発明が解決しようとする課題】
しかし、上記半導体テスタによる検査は、出荷前の実際の遊技機に組み込む以前の不良品を検出する手段としては有効であるが、出荷後、すなわち実際の遊技機に組み込まれ、通常使用による時間的経過による劣化によって発生する不良品には対処することはできない。乱数発生装置がマイコンに対して外部回路である場合には、乱数発生装置を操作して確率を変造することが容易であり、外部装置である限り第三者による変造行為を防止できない。そのために変造しにくいように乱数発生装置をマイコンに内蔵することが考えられるが、かかる場合に異常電流・電圧の発生やサージ電流の発生等の要因により乱数発生装置のみが不良となった場合には、不当な抽選状態（大当たり／中当たり／小当たり／はずれ状態）に遷移する可能性が出てくる。かかる不良を野放しにしておくことは、その台の遊技者が不当又は過剰な利益、不利益を被ると共に、抽選確率が所定レベルにないという理由で遊技機製造メーカの信用も毀損されることになる。
【０００４】
【課題を解決するための手段】
そこで本発明はかかる従来技術の欠点に鑑みなされたもので、遊技機を制御する遊技機制御用マイクロコンピュータに乱数発生装置を内蔵させると共に、当該装置が正常に作動しているかどうかをチェックする故障診断機能を持たせることを目的とする。すなわち本発明は、内蔵された遊技機制御用のプログラムが正規のものか否かの照合を行う機能を有する遊技機制御用のマイクロコンピュータにおいて、乱数発生装置を内蔵させると共に、該マイクロコンピュータの起動当初に前記内蔵乱数発生装置が所定の機能及び動作を正常に作動しているか否かの故障診断を行うための乱数発生装置用故障診断手段を内蔵させ、前記乱数発生装置用故障診断手段が診断の結果正常と判断した時には前記マイクロコンピュータをユーザモードへ移行し、また異常と判断した時には何らかの警告を発すると共に前記マイクロコンピュータをユーザモードに移行しないように構成することにより本目的を達成する。請求項２の発明は、前記乱数発生装置用故障診断手段が、前記マイクロコンピュータ起動当初のブートモードにおいて作動するように構成されていることを特徴とするものである。請求項３の発明は前記乱数発生装置用故障診断手段が、予め前記マイクロコンピュータに内蔵された乱数発生装置に関する故障診断用データ又は数式を内蔵しており、該内蔵された故障診断用データ又は数式と乱数発生装置から出力される乱数値とを比較することにより正常か否を診断するように構成されていることを特徴とするものである。請求項４の発明は、前記乱数発生装置用故障診断手段が、故障診断用初期値データ又は数式を乱数発生装置にロードし、その後に発生する乱数値と内蔵された故障診断用データとを複数回照合することにより正常か否かの診断を行うように構成されていることを特徴とするものである。請求項５の発明は、前記乱数発生装置用故障診断手段が乱数発生装置のビット変化を監視するように構成され、乱数発生装置の所定のビットデータが複数回の乱数取り出しにもかかわらず変化しない場合に異常と判断し、ビットデータが所定回数内で変化した時に正常と診断するように構成されていることを特徴とするものである。請求項６の発明は、前記乱数発生装置用故障診断手段が、乱数発生装置を起動して最初の乱数データＡ１と固有初期値データＢとの排他的論理和を行い、その結果をステータスレジスタ１に格納し、その後次の乱数データＡｉ（ｉ＞１）を取り出し、該乱数データＡｉと固有初期値データＢとの排他的論理和を行いその結果をステータスレジスタ２に格納し、該ステータスレジスタ１と該ステータスレジスタ２との排他的論理和を行いその結果をステータスレジスタ３に格納し、ステータスレジスタ３のデータが”１”の場合に次の乱数データＡｉ＋ｊ（ｊ＞０）を取り出し、該乱数データＡｉ＋ｊと固有初期値データＢとの排他的論理和を行いステータスレジスタ１へ格納すると共に前記ステータスレジスタ３との論理積を行い、その結果が”１”の場合に正常と判断し、前記ステータスレジスタ３のデータが”０”の場合に新たな乱数データＡｉ＋ｊ＋１を取り出して該乱数データと固有初期値データＢとの排他的論理和を行いステータスレジスタ２に格納し、前記ステータスレジスタ１と該ステータスレジスタ２との排他的論理和を行いその結果をステータスレジスタ３に格納し、該ステータスレジスタ３のデータが”１”となるまで繰り返しトライし、所定回数を越えてもステータスレジスタ３のデータが”１”にならない場合に異常と判断するように構成されていることを特徴とするものである。
【０００５】
【作用】
本発明にかかるマイクロコンピュータでは、遊技機の起動当初すなわちブートモードにおいて乱数発生装置用故障診断手段を作動する。故障診断手段には予め、故障診断用の初期値データ、故障診断判定用データ又は数式が組み込まれており、乱数発生装置かあら取り出された乱数値とこれらのデータとを比較することにより乱数発生装置が正常に作動しているか否について診断を行うことになる。その結果異常と判断された場合には遊技機をユーザモードへ移行させずに、停止状態を維持させることになる。請求項５及び６のマイクロコンピュータでは、第三者による変造行為によって乱数発生装置から出力される所定のビットデータが固定された場合には、他のビットデータも固定化されることを考慮し、乱数取り出し毎に所定のビットデータが変化するか否について監視している。乱数の場合は、ビットデータが連続して出力されることもあり、所定回数ビットデータが変化するか否について診断を行うことでビットデータ出力が破壊されているか否について診断している。
【０００６】
【発明の実施の形態】
以下に本発明を図示された実施例に従って詳細に説明する。図１に示すものは本発明にかかるマイクロコンピュータの概略ブロック図であり、１は中央処理装置（ＣＰＵ）であり、該ＣＰＵ１はアドレスバス、データバス、制御信号バスを介して遊技機制御用プログラム５ａが格納されたユーザモード用プログラムメモリ（ユーザＲＯＭ）５、乱数発生装置６、該乱数発生装置６の乱数更新用の初期値データ３ａが格納されたユーザモード用データメモリ（ユーザＲＡＭ）３、モード制御用プログラム４ａ、乱数発生装置故障診断用プログラム４ｂ及び乱数発生装置制御用プログラム４ｃが格納されたブートモードでアクセス可能なブートモード用プログラムメモリ（ブートＲＯＭ）４、並びに故障診断判定用データ２ａ、故障診断用初期値データ２ｂ、ビットスクランブル設定データ２ｃ及びステータスレジスタ群２ｄが格納されたブートモードでアクセス可能なブートモード用データメモリ（ブートＲＡＭ）２が接続されている。そして、乱数発生装置用故障診断手段は、ブートモードでアクセス可能なブートモード用プログラムメモリ４とブートモード用データメモリ２とで構成されている。
【０００７】
前記モード制御プログラム４ａは、図２のフローチャートに示すような機能を有する。すなわち、遊技機起動当初（電源がＯＮされるか遊技機を初期化するシステムリセット入力時）は、ブートモードとし故障診断プログラム４ｂと乱数発生装置制御プログラム４ｃとを起動させ、故障診断モードとする。そして乱数発生装置故障診断用プログラム４ｂに沿った故障診断を行わせ、診断の結果、障害が無いと判定した場合にはモードをユーザモードに切り替え、遊技機制御用プログラム５ａを起動させ、次のシステムリセットまで故障診断モードを含むブートモードへの切り替えは行わない。また、診断の結果、障害があると判定された場合には、ユーザモードへの切り替えは行わず、遊技機は停止した状態を維持する。
【０００８】
次に、故障診断用プログラム４ｂの機能について説明する。本実施例では診断プログラムは２種類あり、単純な乱数データの比較方式とビット変化監視方式とがある。まず最初にデータ比較方式について説明する。
「データ比較方式」
図３はデータ比較方式のフローチャートを示すもので、故障診断モードにおいて、ブートモード診断用データメモリ２に格納されたビットスクランブル設定データ２ｃを乱数発生装置６にロードしてスクランブルデータに対応したビット配列を乱数発生装置に設定する。次に故障診断用初期値データ２ｂを乱数発生装置６にロードし、乱数発生装置６を起動させる。そしてｎ個の乱数データを乱数発生装置６から発生させ、かかる複数個（ｎ個）の乱数データと予めブートモード用データメモリ２に格納された故障診断判定用データ２ａとを比較し、これらが完全に一致しているか否かの判定を行い、もし、最初のデータ比較において一致しない場合には、データは正常でないと判断して装置を停止した状態に維持する。データが全て一致している場合には、再び図２のＡに戻りｎ個の乱数と判断用データとの比較を都合ｍ回行い、ｍ回ともデータが一致する場合に乱数発生装置６は正常であるとしてユーザモードへ移行させる。
【０００９】
「ビット変化監視方式」
次に図４は、ブートモードの処理時間を短くし、できるだけ早く診断を終了させてユーザモードへ移行させる手段として無限ループタイプのビット監視方式のフローチャートを示すものであり、故障診断モードにおいて前述同様にブートモード用データメモリ２に格納されたビットスクランブル設定データ２ｃを乱数発生装置６にロードしてスクランブルデータに対応したビット配列を乱数発生装置６に設定する。次に故障診断用初期値データ２ｂを乱数発生装置６にロードし、乱数発生装置６を起動させる。
【００１０】
乱数発生装置６に対して乱数データの取り出し命令を出し、該乱数発生装置６から所定のビットデータ”０”又は”１”を取り出し、該取り出したビットデータＡ１と固有初期値データ（例えばオール”１”）Ｂとの排他的論理和を行い、その結果をステータスレジスタ１に格納する。次に乱数発生装置６に乱数取り出し命令を出し、乱数発生装置６から所定のビットデータ”０”又は”１”を取り出し、該取り出したビットデータＡ２と固有初期値データ（例えばオール”１”）との排他的論理和を行い、その結果をステータスレジスタ２に格納する。前記ステータスレジスタ１に格納されたデータ”０”又は”１”とステータスレジスタ２に格納されたデータ”０”又は”１”との排他的論理和を行いその結果をステータスレジスタ３に格納する。
【００１１】
もしステータスレジスタ３に格納されたデータが”１”である時には、ステータスレジスタ１とステータスレジスタ２との値が異なっている、すなわち取り出したビットデータが「０→１」または「１→０」と変化していると判断し、次に進み、ステータスレジスタ３に格納されたデータが”０”の場合にはステータスレジスタ１への格納後に戻り、乱数発生装置６から所定のビットデータを取り出し、該取り出したビットデータＡ３と固有初期値データ（例えばオール”１”）との排他的論理和を行い、その結果をステータスレジスタ２に格納する。そして前記ステータスレジスタ１に格納されたデータ”０”又は”１”とステータスレジスタ２に格納されたデータ”０”又は”１”との排他的論理和を行いその結果をステータスレジスタ３に格納し、該ステータスレジスタ３のデータが”１”となるまで何度も繰り返し、所定の回数（例えば１０回）繰り返してもステータスレジスタ３のデータが”１”とならないときは、異常であると判断し、ユーザモードに移行させずに遊技機を停止した状態に維持する。
【００１２】
ステータスレジスタ３に格納されたデータが”１”である時には、再び乱数発生装置６に乱数取り出し命令を出し、所定のビットデータ”０”又は”１”を取り出し、取り出したビットデータＡ４と固有初期値データ（例えばオール”１”）との排他的論理和を行い、その結果をステータスレジスタ１に格納し、該ステータスレジスタ１に格納されたデータ”０”又は”１”とステータスレジスタ３に格納されたデータ”１”との論理積を行いその結果が”１”か否かを判断し、結果が”１”の時は乱数発生装置６のビットデータは正常に作動しているとしてユーザモードへ移行し、結果が”０”の場合には、再び図４のＢに戻り、乱数発生装置６からビットデータを取り出してステータスレジスタ１に格納し、ステータスレジスタ３のデータ”１”との論理積が”１”となるまで何度も繰り返し、所定回数（例えば１０回）試行しても論理積が”１”にならない場合には乱数発生装置６は異常であると判断し、ユーザモードに移行させずに遊技機を停止した状態に維持する。
【００１３】
図５に示すものは図４のフローチャートにビット変化監視方式において、より慎重に判断するために追加されるためのもので、
ａ：追加フロー１のみを図４に追加した場合
ｂ：追加フロー２のみを図４に追加した場合
ｃ：追加フロー１と追加フロー２とを図４に追加した場合
とが考えられる。かかる機能を追加することにより診断の性能及び安全性は高まるが、ブート処理時間及びステップ数は、図４→ａ→ｂ→ｃの順にかかるために、目的・用途により最適なものを選択するのが良い。すなわち、追加フロー１の場合は、前述図４のフローチャートにおいてステータスレジスタ３のデータが”１”となった場合に、１回目の照合を終了し、改めてｍ回試行を繰り返し、ｍ回とも判定結果が正常となる場合（ステータスレジスタ３のデータが”１”となる場合）に図４の次のステップに移行するように構成されたものである。
【００１４】
次に追加フロー２の場合は、ステータスレジスタ３のデータが”１”となった後の追加フローであり、新たな乱数の取り出しとステータスレジスタ３との論理積が”１”になったら終了するのではなく、論理積が”１”となったら図４のフローチャートのｃに戻り、ｍ回試行を繰り返し、ｍ回とも判定結果が”１”となった場合に診断結果正常と判断することになる。その結果前記ｃタイプの場合は、ｍｍ試行を繰り返すこととなる。
【００１５】
【発明の効果】
以上述べたように本発明にかかる乱数発生装置内蔵型の遊技機制御用マイクロコンピュータでは、乱数発生装置の故障診断手段をも内蔵しているので、該マイクロコンピュータが装着された遊技機がホールに設置され、経時変化、異常電流、異常電圧又はサージ電流などの要因によりマイクロコンピュータの乱数発生装置が故障し、正常な乱数を発生できなくなってもその状態を検知するため、遊技者に不利な状況を与えずに済む。また乱数発生装置を従来とは異なりマイクロコンピュータに内蔵するように構成したので、乱数発生装置に対する変造行為を極力減らすことが可能となる。また本発明にかかる乱数発生装置の故障診断手段は、単純な乱数データの比較方式だけではなく、乱数発生装置のビットデータの変化を監視するように構成しているために、乱数発生装置異常状態を完全に把握することができる。
【図面の簡単な説明】
【図１】 本発明にかかるマイクロコンピュータの概略ブロック図である。
【図２】 モード制御プログラムの動作を示すフローチャートである。
【図３】 本発明にかかる乱数発生装置用故障診断手段の診断方式（データ比較方式）の動作を説明するフローチャートである。
【図４】 本発明にかかる乱数発生装置用故障診断手段の診断方式（ビット変化監視方式）の動作を説明するフローチャートである。
【図５】 図４にかかるフローチャートにおける繰り返しの検査状況を示すフローチャートである。
【符号の説明】
１ 中央処理装置（ＣＰＵ）
２ ブートモード用データメモリ
２ａ 故障診断判定用データ
２ｂ 故障診断用初期値データ
２ｃ ビットスクランブル設定データ
２ｄ ステータスレジスタ群
３ ユーザモード用データメモリ
３ａ 乱数更新用初期値データ
４ ブートモード用プログラムメモリ
４ａ モード制御用プログラム
４ｂ 乱数発生装置故障診断用プログラム
４ｃ 乱数発生装置制御用プログラム
５ ユーザモード用プログラムメモリ
５ａ 遊技機制御用プログラム
６ 乱数発生装置
【手続補正２】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2000042234.tif 000001
【図２】
2000042234.tif 000002
【図３】
2000042234.tif 000003
【図４】
2000042234.tif 000004
【図５】
2000042234.tif 000005