(57)【要約】【課題】汎用性のあるプログラムＲＯＭを使用でき、そのＲＯＭの正否を短時間で確実に判定できるようにすることにある。【解決手段】プログラムＲＯＭ４０ｃの改ざんを検出するセキュリティ回路４０ｋは、真正のプログラムＲＯＭ４０ｃに記録された真正データからハッシュ関数（所定条件）を用いて作成された短い固定長の真正ハッシュ値（真正認証データ）が記録された記憶領域を有し、実装のプログラムＲＯＭ４０ｃに記録された実装データからハッシュ関数を用いて実装ハッシュ値（実装認証データ）を作成し、実装ハッシュ値と真正ハッシュ値とを照合することによって実装のプログラムＲＯＭ４０ｃの正否を判定する正否判定プログラムが記録された記憶領域を有する正否判定プログラムＲＯＭ４０ｍと、正否判定プログラムＲＯＭ４０ｍに記録された正否判定プログラムを実行する正否判定ＣＰＵ４０ｎとを備えた構成になっている。【選択図】  図２
2008206749.tif 000002
【特許請求の範囲】
【請求項１】
遊技制御を行うプログラムを含む各種データが記録されたプログラムＲＯＭ及びこのプログラムＲＯＭに記録された前記データに基づいて前記プログラムを実行する制御ＣＰＵを備えた遊技機であって、
前記プログラムＲＯＭにおける前記データの改ざんを検出するセキュリティ回路を備えてなり、
前記セキュリティ回路は、前記プログラムＲＯＭであって真正のプログラムＲＯＭに記録された真正データを認証するために当該真正データから所定条件を用いて作成された短い固定長の真正認証データが記録された記憶領域を有していると共に、前記プログラムＲＯＭであって現実に実装されているプログラムＲＯＭに記録された実装データから上記所定条件を用いて実装認証データを作成し、この実装認証データと前記真正認証データとを照合することによって当該実装されているプログラムＲＯＭの正否を判定する正否判定プログラムが記録された記憶領域を有する正否判定プログラムＲＯＭと、この正否判定プログラムＲＯＭに記録された前記正否判定プログラムを実行する正否判定ＣＰＵとを備えていることを特徴とする遊技機。
【請求項２】
前記真正認証データは、前記真正のプログラムＲＯＭに記録された前記真正データのうち所定の範囲の真正データに基づいて作成されたものであり、
前記実装認証データは、前記実装されたプログラムＲＯＭに記録された前記実装データのうち前記所定の範囲の真正データに対応する範囲の実装データに基づいて作成されたものであることを特徴とする請求項１に記載の遊技機。
【請求項３】
前記所定条件は、ハッシュ関数であり、
前記真正認証データは、真正ハッシュ値であり、
前記実装認証データは、実装ハッシュ値であることを特徴とする請求項１又は２に記載の遊技機。
【請求項４】
前記正否判定ＣＰＵは、前記制御ＣＰＵを用いて前記プログラムＲＯＭに記録されたプログラムを実行していないときに、前記正否判定プログラムＲＯＭに記録された正否判定プログラムを実行し、その実行によって得られた正否判定結果を前記制御ＣＰＵ側に出力するようになっていることを特徴とする請求項１〜３の何れかに記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遊技制御を行うためのプログラムを含む各種データが記録されたプログラムＲＯＭを備え、このプログラムＲＯＭの改ざんを防止するための機能を供えた遊技機に関する。
【背景技術】
【０００２】
この種の遊技機としては、いわゆるぱちんこ屋などの遊技場に設置されているスロットマシンやパチンコ遊技機等がある。例えば、スロットマシンは、一般に、メダル又は遊技球等の遊技媒体が投入されると、投入された遊技媒体の数によって有効ラインが決定され、遊技の開始が可能な状態となる。そして、スタートスイッチ（スタートレバー）を操作すると遊技開始となり、複数（例えば３つ）のリール（可変表示装置）が一斉に回転することになる。これにより、リールの外周部に一列をなすように配置された複数種類の図柄が図柄表示窓内において一定の方向（図柄が列をなす方向であって、例えば上から下に向かう方向）に移動する。
【０００３】
ここで、遊技者が、各リールに対応して設けられた停止ボタン（停止装置）のいずれかを操作すると、その停止ボタンに対応したリールが停止する。そして、すべてのリールが停止したときに、有効ラインに沿って停止した各図柄の組合せが、予め定められた入賞態様（即ち、入賞となる図柄組合せ）と一致していた場合には、当該入賞が成立し、その入賞に対応する数量の遊技媒体が、遊技者に払い出されることになる。
【０００４】
また、各種の入賞の中でも特にボーナス入賞となる図柄組合せが成立した場合は、次の遊技からいわゆるボーナス遊技が開始される。このボーナス遊技中は、ボーナス遊技でない通常の遊技（以下、「一般遊技」という）に比べ、入賞に当籤する確率が高くなるようになっている。
【０００５】
なお、このボーナス遊技の種類には、例えば、予め定められた入賞が所定回数（例えば８回）成立すると終了するレギュラーボーナス遊技（以下、「ＲＢ遊技」という）や、当該ＲＢ遊技が開始される確率が上昇すると共に、所定枚数のメダル（例えば４６５枚）が払い出されると終了するビッグボーナス遊技（以下、「ＢＢ遊技」という）などがあり、スロットマシンの機種に応じていずれか一方のボーナス遊技のみを搭載したものや、双方のボーナス遊技を搭載したものなどがある。
【０００６】
ここで、スロットマシンの内部では、スタートスイッチが操作されたときに、入賞の種類を決定するための乱数抽籤（以下、「内部抽籤」という）を行っており、遊技者が停止ボタンを操作してリールを停止させる際に、内部抽籤によって決定された図柄が有効ラインに沿って停止するように、一定の範囲内でリールの停止制御を行っている。
【０００７】
例えば、発生した乱数のサンプリングによって得られた数値が特定の閾値以内であれば、例えばボーナス入賞となり、当該閾値を超えていれば他の入賞や、はずれ等に該当することになる。
【０００８】
そして、これらの遊技に関する制御は、スロットマシン内に設けられたプログラムＲＯＭに記録されたプログラムを制御ＣＰＵによって実行することによって行われるようになっている。また、プログラムＲＯＭには上述した閾値等のデータも記録されており、これらのデータも制御ＣＰＵによってプログラムの実行の際に使用されることになる。なお、ＲＯＭはRead Only Memoryであり、ＣＰＵはCentral Processing Unitである。
【０００９】
このように、スロットマシンにおいては、プログラムＲＯＭに記録されたプログラムや閾値等のデータによって、入賞に当選する確率が変化するため、第三者機関の試験によって一定の基準に合格したスロットマシンのみが遊技場への設置を許されることになる。
【００１０】
ただし、プログラムＲＯＭ内のデータが不正に改ざんされた場合には、上述した一定の基準に合格していない不適格な遊技機となる。
【００１１】
このため、ＣＰＵ及びプログラムＲＯＭを含むＣＰＵの周辺デバイスを１チップに集積することにより、プログラムＲＯＭの改ざんに関する不正を防止するようにしたもの（例えば、特許文献１参照）、単に照合判定回路を設けると共に、遊技機の出玉情報等によってプログラムＲＯＭの改ざんに関する不正を防止するようにしたもの（例えば、特許文献２参照）、プログラムＲＯＭに記録されたプログラム名やバージョン情報等の属性情報を比較することにより、プログラムＲＯＭの改ざんに関する不正を防止するようにしたもの（例えば、特許文献３参照）などが提供されている。
【特許文献１】特開平９−８１５３９号公報
【特許文献２】特開平１０−１０８９６３号公報
【特許文献３】特開２００２−２３３６４７号公報（段落番号００５３）
【発明の開示】
【発明が解決しようとする課題】
【００１２】
ところが、上記特許文献1に記載の遊技機においては、ＣＰＵ及びプログラムＲＯＭを含む周辺デバイスが１チップ化されているので、プログラムＲＯＭとして汎用性のあるＲＯＭを使用することができないという問題がある。また、特許文献２に記載の遊技機においては、プログラムＲＯＭのデータを単に照合することになるためその照合に相当の時間を要することになる。このため、例えばスロットマシンの起動時に、実装されたプログラムＲＯＭが正規のものであるか否かを照合しようとした場合には、その起動のために多くの時間を要するという問題がある。また、出玉情報等によって不正を発見する場合には、出玉情報等に関するデータを所定期間とり続ける必要があることから、プログラムＲＯＭに関する改ざんを即座には発見できないという問題がある。次に、特許文献３に記載の遊技機においては、プログラム名やバージョン情報等の属性情報も同時に書き換えられたプログラムＲＯＭに差し替えられた場合には、当該プログラムＲＯＭの改ざんを発見できないという問題がある。
【００１３】
本発明は、上記事情に鑑みてなされたものであり、プログラムＲＯＭとして汎用性のあるＲＯＭを使用することができ、そのＲＯＭの正否を短時間で確実に判定することができる遊技機を提供することを目的としている。
【課題を解決するための手段】
【００１４】
上記目的を達成するために、請求項１に記載の発明は、遊技制御を行うプログラムを含む各種データが記録されたプログラムＲＯＭ及びこのプログラムＲＯＭに記録された前記データに基づいて前記プログラムを実行する制御ＣＰＵを備えた遊技機であって、前記プログラムＲＯＭにおける前記データの改ざんを検出するセキュリティ回路を備えてなり、前記セキュリティ回路は、前記プログラムＲＯＭであって真正のプログラムＲＯＭに記録された真正データを認証するために当該真正データから所定条件を用いて作成された短い固定長の真正認証データが記録された記憶領域を有していると共に、前記プログラムＲＯＭであって現実に実装されているプログラムＲＯＭに記録された実装データから上記所定条件を用いて実装認証データを作成し、この実装認証データと前記真正認証データとを照合することによって当該実装されているプログラムＲＯＭの正否を判定する正否判定プログラムが記録された記憶領域を有する正否判定プログラムＲＯＭと、この正否判定プログラムＲＯＭに記録された前記正否判定プログラムを実行する正否判定ＣＰＵとを備えていることを特徴としている。
【００１５】
請求項２に記載の発明は、請求項１に記載の発明において、前記真正認証データは、前記真正のプログラムＲＯＭに記録された前記真正データのうち所定の範囲の真正データに基づいて作成されたものであり、前記実装認証データは、前記実装されたプログラムＲＯＭに記録された前記実装データのうち前記所定の範囲の真正データに対応する範囲の実装データに基づいて作成されたものであることを特徴としている。
【００１６】
請求項３に記載の発明は、請求項１又は２に記載の発明において、前記所定条件は、ハッシュ関数であり、前記真正認証データは、真正ハッシュ値であり、前記実装認証データは、実装ハッシュ値であることを特徴としている。
【００１７】
ここで、ハッシュ値とは、もとのデータからハッシュ関数を利用して作られたある短い固定長のデータのことである。ハッシュ関数とは、ハッシュ値が分かっていても、もとのデータを算出できない一方向関数である。
【００１８】
請求項４に記載の発明は、請求項１〜３の何れかに記載の発明において、前記正否判定ＣＰＵは、前記制御ＣＰＵを用いて前記プログラムＲＯＭに記録されたプログラムを実行していないときに、前記正否判定プログラムＲＯＭに記録された正否判定プログラムを実行し、その実行によって得られた正否判定結果を前記制御ＣＰＵ側に出力するようになっていることを特徴としている。
【発明の効果】
【００１９】
請求項１〜４に記載の発明によれば、プログラムＲＯＭの改ざんを検出するセキュリティ回路が正否判定プログラムＲＯＭ及び正否判定ＣＰＵを有するハード構成となっており、プログラムＲＯＭの改ざんの検出を制御ＣＰＵによってセキュリティプログラムを実行することによりソフト的に行うようなものではないので、外部からセキュリティプログラムをソフト的に読み取るような方法では、プログラムＲＯＭの改ざん検出を回避するような情報を得ることができない。従って、上記のようにハード構成化するだけでも、プログラムＲＯＭの改ざんを防止する上で効果がある。
【００２０】
また、プログラムＲＯＭの改ざんを検出するセキュリティ回路はプログラムＲＯＭ、制御ＣＰＵ及び周辺デバイスを１チップ化したようなものではないので、プログラムＲＯＭとしては汎用性のあるＲＯＭをそのまま使用することができる利点がある。
【００２１】
更に、真正のプログラムＲＯＭに記録された真性データから所定条件を用いて作成された短い固定長の真正認証データと、現実に実装されているプログラムＲＯＭに記録された実装データから前記所定条件を用いて作成された実装認証データとを照合することにより、実装されているプログラムＲＯＭの正否を判定するようになっているので、もとのデータの量が多い場合でも極めて短時間で照合を終了し、正否を判定することができる。
【００２２】
しかも、大量のデータから所定条件を用いて短い固定長の真正認証データや実装認証データを作成しているので、これらの所定条件、真正認証データ及び実装認証データのみから元のデータを再現することは不可能に近い。即ち、映像をモザイク化した後は、そのそのモザイク化した映像からもとの映像を再現することが不可能に近いことと同一の理由による。
【００２３】
また、不正を働く者が有利となるようにプログラムＲＯＭのデータを改ざんつつ、その改ざん後のデータから所定条件を用いて作成した認証データを真正認証データに一致させるようにすることはほぼ不可能である。従って、実装されたプログラムＲＯＭが改ざんされた場合いは、その不正を確実に発見することができる。
【００２４】
請求項２に記載の発明によれば、真正認証データが真正のプログラムＲＯＭに記録された真正データのうち所定の範囲の真正データに基づいて作成されたものであり、実装認証データが実装されたプログラムＲＯＭに記録された実装データのうち前記所定の範囲の真正データに対応する範囲の実装データに基づいて作成されたものであるので、実装されたプログラムＲＯＭの実装データから実装認証データを作成する時間を短縮することができる。従って、実装されたプログラムＲＯＭの正否をより短時間で判定することができる。
【００２５】
請求項３に記載の発明によれば、所定条件がハッシュ関数であり、真正認証データが真正ハッシュ値であり、実装認証データが実装ハッシュ値であるので、不正を働く者が有利となるようにプログラムＲＯＭのデータを改ざんしつつ、その改ざん後のデータからハッシュ関数を用いて作成したハッシュ値（即ち、実装ハッシュ値）を真正ハッシュ値に一致させることはほぼ不可能である。なお、ＭＤ５のハッシュ関数においては、異なるデータから同一のハッシュ値が得られるという欠陥が報告されているが、このＭＤ５を用いた場合であっても、不正を働く者が有利となるようにプログラムＲＯＭのデータを改ざんした上で、実装ハッシュ値を真正ハッシュ値に一致させるようなことは不可能と思われる。ＳＨＡ２５６のハッシュ関数においては、異なるデータから同一のハッシュ値が得られるという欠陥は報告されていない。
【００２６】
請求項４に記載の発明によれば、正否判定ＣＰＵは、制御ＣＰＵを用いてプログラムＲＯＭに記録されたプログラムを実行していないときに、正否判定プログラムＲＯＭに記録された正否判定プログラムを実行し、その実行によって得られた正否判定結果を制御ＣＰＵ側に出力するようになっているので、当該プログラムＲＯＭが改ざんされている場合には、遊技の開始前に、プログラムＲＯＭの改ざんに関する警報を発するなどの措置をとることができる。従って、改ざんされたプログラムＲＯＭを有する遊技機が遊技場において使用されることになるのを確実に防止することができる。
【発明を実施するための最良の形態】
【００２７】
以下、本発明を実施するための最良の形態としての一実施の形態について図面を参照しながら説明する。この実施の形態は、本発明を遊技機の一つであるスロットマシンに適用した例を示している。
【００２８】
この実施の形態で示すスロットマシン１は、図１に示すように、その外壁部を構成する筐体の内部にリールユニット３０を備えている。このリールユニット３０は、回転軸を水平方向に向けて横一列に設置され、かつ個々に独立して回転するように構成された３個のリール（可変表示装置）３Ｌ、３Ｃ、３Ｒを備えている。各リール３Ｌ、３Ｃ、３Ｒの外周部には、複数種類の図柄が個々に設けられた各駒を直線状の一列をなすように２１個配置したリール帯が巻き付けられている。即ち、各リール３Ｌ、３Ｃ、３Ｒは、その回転及び停止を行うことにより、リール帯を各駒の列をなす方向に移動すると共に、その移動の停止を行い、これによって図柄の移動及び停止を行うようになっている。
【００２９】
また、各リール帯の図柄は、図柄表示窓４Ｌ、４Ｃ、４Ｒを通して、当該各図柄表示窓４Ｌ、４Ｃ、４Ｒの上段、中段、下段に対応する３つのものが同時に視認可能になっている。
【００３０】
図柄表示窓４Ｌ、４Ｃ、４Ｒは、スロットマシン１の正面に配置された前面パネル２の略中央に位置するリール部ディスプレイ２ａ（図１中、太線で囲まれた部分）に配置されている。
【００３１】
また、スロットマシン１には、各リール３Ｌ、３Ｃ、３Ｒの回転が停止した際に、図柄表示窓４Ｌ、４Ｃ、４Ｒ内に位置する図柄に基づいて入賞などの成否を判定する基準となる入賞ラインが定められている。この入賞ラインは、右上がりラインＬ１、上段ラインＬ２、中段ラインＬ３、下段ラインＬ４及び右下がりラインＬ５の５つのラインによって構成されている。
【００３２】
そして、入賞が有効とみなされる入賞ライン、すなわち有効ラインは、スロットマシン１に投入されるメダル（遊技媒体）の枚数に応じて決定される。即ち、１回の遊技において、３枚までメダルが投入可能になっており、１枚のメダルが投入された場合は、中段の入賞ラインＬ３のみが有効ラインとなり、２枚のメダルが投入された場合は、上、中、下段の入賞ラインＬ２、Ｌ３、Ｌ４の３本が有効ラインとなり、３枚のメダルが投入された場合は、入賞ラインＬ１〜Ｌ５の５本が有効ラインとなる。
【００３３】
リール部ディスプレイ２ａは、ノーマリホワイトの液晶画像表示装置によって構成されており、遊技中は、各リール３Ｌ、３Ｃ、３Ｒに対応する位置にほぼ透明な図柄表示窓４Ｌ、４Ｃ、４Ｒを表示することにより、遊技者が各リール３Ｌ、３Ｃ、３Ｒの各図柄を外部から視認することができるようになっている。また、リール部ディスプレイ２ａにおける図柄表示窓４Ｌ、４Ｃ、４Ｒの周囲の部分は、遊技に期待感や興趣を起こさせるための画像や、遊技者に有用な種々の情報が表示される領域になっている。更に、図示を省略するが、このリール部ディスプレイ２ａの裏側には、リール３Ｌ、３Ｃ、３Ｒの外周面を照らすことによって、図柄表示窓４Ｌ、４Ｃ、４Ｒを通して図柄の視認性を向上させるための冷陰極管が設置されている。
【００３４】
前面パネル２には、リール部ディスプレイ２ａの左側に、リール部パネル２ｂが設置されている。リール部パネル２ｂには、図中、上から順に、ボーナスカウント表示部５と、ＢＥＴランプ６ａ〜６ｃと、配当枚数表示部７と、貯留枚数表示部８と、遊技状態表示ランプ群９とが配設されている。
【００３５】
ボーナスカウント表示部５は、３桁の７セグメント表示器によって構成され、ボーナスゲーム中に払い出されたメダルの枚数などを表示するようになっている。ＢＥＴランプ６ａ、６ｂ、６ｃは、点灯数によって１回の遊技に投入されたメダル枚数を示し、メダルが１枚投入されたときはＢＥＴランプ６ａのみが点灯し、２枚投入されたときはＢＥＴランプ６ａ及び６ｂが点灯し、３枚投入されたときはすべてのＢＥＴランプ６ａ、６ｂ、６ｃが点灯するようになっている。配当枚数表示部７は、２桁の７セグメント表示器によって構成され、遊技の結果、入賞が成立した場合に、払い出されるメダルの枚数を表示するようになっている。貯留枚数表示部８は、３桁の７セグメント表示器によって構成され、スロットマシン１内に貯留されているメダルの枚数を表示するようになっている。
【００３６】
また、前面パネル２の下側でかつ当該前面パネル２の右側に対応する位置には、メダル投入口１０が設けられている。メダル投入口１０に投入されたメダルの枚数に応じて、前述したとおり有効ラインが決定される。また、メダルを３枚投入した後、更に続けてメダルを投入すると、４枚目以降のメダルはスロットマシン１内に貯留され、最大５０枚まで貯留可能となっている。また、前面パネル２の下側でかつメダル投入口１０の左側には、操作部１１が設けられている。
【００３７】
この操作部１１における棚状に突出する上面部の左側の部分には、左から順に、２−ＢＥＴスイッチ１２、１−ＢＥＴスイッチ１３、ＭＡＸ−ＢＥＴスイッチ１４が設けられている。これらの各ＢＥＴスイッチは、スロットマシン１に貯留されたメダルを１回の遊技のために使用するためのスイッチであり、スロットマシン１に３枚以上のメダルが貯留されている状態で、１−ＢＥＴスイッチ１３が操作されると１回の操作ごとに１枚、２−ＢＥＴスイッチ１２が操作されると２枚、ＭＡＸ−ＢＥＴスイッチ１４が操作されると３枚のメダルが１回の遊技のために投入される。このように、各種ＢＥＴスイッチ１２〜１４を操作することで、メダル投入口１０からメダルを投入する場合と同様に遊技のためにメダルが投入され、投入されたメダルの枚数に応じて前述の有効ラインが定まる。
【００３８】
また、操作部１１の正面部には、各図柄表示窓４Ｌ、４Ｃ、４Ｒに対応するように、停止ボタン（停止装置）１６Ｌ、１６Ｃ、１６Ｒが設けられている。これらの各停止ボタン１６Ｌ、１６Ｃ、１６Ｒは、各リール３Ｌ、３Ｃ、３Ｒに各々対応しており、例えば左側の停止ボタン１６Ｌが押されたときは、後述のメイン制御部４０等により左側のリール３Ｌの停止制御が行われるようになっている。同様に、中央の停止ボタン１６Ｃが押されたときは中央のリール３Ｃの停止制御が行われ、右側の停止ボタン１６Ｒが押されたときは右側のリール３Ｒの停止制御が行われるようになっている。停止ボタン１６Ｌ、１６Ｃ、１６Ｒの左側には、遊技者による傾動操作により３つのリールを一斉に回転させ、図柄表示窓４Ｌ、４Ｃ、４Ｒに表示された図柄の移動を開始させるためのスタートスイッチ１７が設けられている。
【００３９】
操作部１１の下側には、スロットマシン１に付与された機種名や、スロットマシン１のコンセプトに沿ったキャラクタなどの絵柄が描かれた腰部パネル１８が設けられており、腰部パネル１８の左側には、スロットマシン１に貯留されたメダルを排出するためのメダル排出スイッチ１９が設けられている。腰部パネル１８の下側には、メダル排出口２０が設けられている。スロットマシン１で遊技が行われた結果、入賞が成立した場合や、スロットマシン１にメダルが貯留されているときにメダル排出スイッチ１９を押した場合に、メダル排出口２０からメダルが排出されることになる。排出されたメダルは、メダル受け部２１で受け止められる。
【００４０】
一方、スロットマシン１の最上部には、遊技の状況に応じた発光パターンで発光することで、演出や報知を行う上部ランプ２２が設けられている。上部ランプ２２の左右両側には、遊技の状況に応じた操作音や演出音、報知音などを出力する右スピーカ２３Ｒ及び左スピーカ２３Ｌが設けられている。
【００４１】
次に図２を参照して、スロットマシン１における遊技に関する制御を行う制御部の構成について説明する。スロットマシン１の制御部は、メイン制御部４０と、サブ制御部（図示せず）とによって構成されている。メイン制御部４０は、主にメダルの投入、リール３Ｌ、３Ｃ、３Ｒの回転及び停止、メダルの払い出しなど、スロットマシン１で行われる遊技に関する制御を行うようになっている。サブ制御部は、主に遊技に伴って実行される、音、光、画像などによる演出に関する制御を行うようになっている。
【００４２】
メイン制御部４０は、基板上に配置されたマイクロコンピュータ（以下、「マイコン」という）４０ａを主たる構成要素とし、これに乱数サンプリングのための回路を付加した構成になっている。マイコン４０ａは、予め設定されたプログラムに従って制御動作を行うメインＣＰＵ（制御ＣＰＵ）４０ｂと、記憶手段であるプログラムＲＯＭ４０ｃ、セキュリティ回路４０ｋ及び制御ＲＡＭ４０ｄを備えた構成になっている。なお、ＲＡＭはRandom Access Memoryである。
【００４３】
メインＣＰＵ４０ｂには、基準クロックパルスを発生するクロックパルス発生回路４０ｅ及び基準クロックパルスを分周する分周器４０ｆと、所定の数値範囲（例えば０〜６５５３５）内で乱数を発生する乱数発生器４０ｇ及び発生した乱数をサンプリングするサンプリング回路４０ｈが接続されている。また、メインＣＰＵ４０ｂは、Ｉ／Ｏポート４０ｉを介して、上述したリール３Ｌ、３Ｃ、３Ｒや、ＢＥＴランプ６ａ等を制御するための各種入出力装置（図示せず）と信号のやりとりを行うようになっている。なお、乱数サンプリングの手段としてメインＣＰＵ４０ｂの動作プログラム上で乱数サンプリングを実行するように構成してもよい。その場合、乱数発生器４０ｇ及びサンプリング回路４０ｈは省略可能となるが、省略せずに、乱数サンプリング動作のバックアップ用としてそのまま残しておくことも可能である。
【００４４】
メインＣＰＵ４０ｂは、クロックパルス発生回路４０ｅが発生する基準クロックパルスに基づいて処理を行うとともに、分周器４０ｆが発生するパルス信号に基づいて割込処理などを一定時間ごとに行うようになっている。
【００４５】
プログラムＲＯＭ４０ｃは、データの書き込み器（いわゆるロムライタ）でデータを書き込むことが可能な汎用のＲＯＭを用いており、ソケット（図示せず）を介して基板（図示せず）に装着されるようになっている。即ち、プログラムＲＯＭ４０ｃは、ソケットによって差し替えが容易なものとなっている。そして、このプログラムＲＯＭ４０ｃには、スロットマシン１における遊技制御を行うためのプログラムに加えて、図柄テーブル、複数の確率抽籤テーブル、停止制御テーブル群、及び入賞判定テーブルなどの各種テーブル等のデータが書き込まれている。
【００４６】
ここで、図柄テーブルは、リール３Ｌ、３Ｃ、３Ｒにそれぞれ対応するステッピングモータ（図示せず）の各ステップと、リール３Ｌ、３Ｃ、３Ｒの図柄番号及び図柄の種類とを対応づけたものである。メイン制御部４０は、図柄テーブルを参照することによって、各リール３Ｌ、３Ｃ、３Ｒを停止制御すると共に、図柄表示窓４Ｌ、４Ｃ、４Ｒに停止表示された図柄を特定するようになっている。
【００４７】
確率抽籤テーブルは、乱数発生器４０ｇが発生する乱数の数値範囲（例えば０〜６５５３５）内において定めた各種の入賞等の役に対応する閾値を有するものであり、乱数発生器４０ｇ及びサンプリング回路４０ｈによって得られた数値がどの役に対応するかを決定する基準となるものである。この確率抽籤テーブルは、乱数発生器４０ｇ及びサンプリング回路４０ｈを用いて行う内部抽籤の際に参照される。
【００４８】
内部抽籤で決定される役の種類には、大別すると入賞役、リプレイ役、はずれの３種類がある。入賞役は、遊技者に特典を付与する役であり、付与する特典の内容に応じてさらに複数種類の入賞役が存在する。例えば、ＢＢ入賞役や、ＲＢ入賞役の他に、予め定められた枚数のメダルを遊技者へ払い出す小役という入賞役がある。また、リプレイ役は、次の遊技が再遊技となる役であり、はずれは入賞役およびリプレイ役以外の、遊技者に何ら特典のない役である。
【００４９】
停止制御テーブル群は、内部抽籤の結果と、停止制御の対象となるリールとに応じた複数の停止制御テーブルからなり、各々の停止制御テーブルは、リール３Ｌ、３Ｃ、３Ｒの各図柄と、各図柄が例えば図柄表示窓４Ｌ、４Ｃ、４Ｒ内の中段に位置するときに、遊技者が停止ボタンを押したときに、その位置からいくつの図柄数だけ進めてリール３Ｌ、３Ｃ、３Ｒを停止させるかの図柄数（最大４図柄分）とを対応づけたものである。この停止制御テーブルは、停止ボタン１６Ｌ、１６Ｃ、１６Ｒの操作に応じて各リール３Ｌ、３Ｃ、３Ｒの停止制御を行う際に参照される。
【００５０】
入賞判定テーブルは、前述した各種入賞及びリプレイが成立する図柄の組合せと、入賞が成立する各種図柄組合せに対応するメダル配当枚数とが設定されている。この入賞判定テーブルは、全リール３Ｌ、３Ｃ、３Ｒが停止した後に行われる入賞判定の際に参照される。
【００５１】
制御ＲＡＭ４０ｄは、メインＣＰＵ４０ｂで処理を行うために必要なデータや、当該メインＣＰＵ４０ｂが処理を行う過程で発生する種々のデータが記録されるようになっている。
【００５２】
セキュリティ回路４０ｋは、プログラムＲＯＭ４０ｃに記録されたプログラム及びテーブルを含む各種データの改ざんを検出するようになっている。このセキュリティ回路４０ｋは、正否判定プログラムＲＯＭ４０ｍ、正否判定ＣＰＵ４０ｎ及び正否判定ＲＡＭ４０ｐを備えた構成になっている。
【００５３】
正否判定プログラムＲＯＭ４０ｍは、真正のプログラムＲＯＭ４０ｃに記録された真正データの全体からハッシュ関数（所定条件）を用いて作成した短い固定長の真正ハッシュ値（真正認証データ）が記録された記憶領域を有すると共に、現実に実装されているプログラムＲＯＭ４０ｃに記録された実装データの全体から上記ハッシュ関数と同一のハッシュ関数を用いて実装ハッシュ値（実装認証データ）を作成し、この実装ハッシュ値と上記真正ハッシュ値とを照合することによって当該実装されているプログラムＲＯＭ４０ｃの正否を判定する正否判定プログラムが記録された記憶領域を有している。
【００５４】
正否判定ＣＰＵ４０ｎは、正否判定プログラムＲＯＭ４０ｍに記録された正否判定プログラムを実行し、その正否判定結果をメインＣＰＵ４０ｂに出力するようになっている。
【００５５】
正否判定ＲＡＭ４０ｐは、正否判定ＣＰＵ４０ｎで処理を行うために必要なデータや、当該正否判定ＣＰＵ４０ｎが処理を行う過程で発生する種々のデータが記録されるようになっている。
【００５６】
そして、正否判定ＣＰＵ４０ｎは、遊技場における毎朝の起動時において、メインＣＰＵ４０ｂを用いてプログラムＲＯＭ４０ｃに記録されたプログラムを実行する前に、正否判定プログラムＲＯＭ４０ｍに記録された正否判定プログラムを実行し、その正否判定結果をメインＣＰＵ４０ｂに出力するようになっている。
【００５７】
また、プログラムＲＯＭ４０ｃとセキュリティ回路４０ｋとは、基板上において、セキュリティ機能付きＲＯＭユニット４０ｒを構成した状態になっている。
【００５８】
なお、起動時において、プログラムＲＯＭ４０ｃのプログラムをメインＣＰＵ４０ｂで実行する前に、正否判定プログラムＲＯＭ４０ｍの正否判定プログラムを正否判定ＣＰＵ４０ｎで実行させるのは、マイコン４０ａに組み込まれた図示しないＢＩＯＳＲＯＭ  （Basic Input/Output System Read Only Memory）に記録されたＢＩＯＳをメインＣＰＵ４０ｂで実行することによってなされる。ＢＩＯＳは、マイコン４０ａの起動と同時に動作し、各ハードウエアが正常に動作することを確認した上で、他の種々のプログラムを動作させるべく処理する機能するプログラムである。そして、ＢＩＯＳは、正否判定ＣＰＵ４０ｎからメインＣＰＵ４０ｂに出力された正否判定結果が「正」であって、実装されたプログラムＲＯＭ４０ｃが改ざんされていない正規のものであると判断された場合には実装プログラムＲＯＭ４０ｃに記録されたプログラムをメインＣＰＵ４０ｂで実行させるべく処理するようになっている。また、ＢＩＯＳは、上記正否判定結果が「否」であって、実装されたプログラムＲＯＭ４０ｃが改ざんされた不正なものであると判断された場合には実装プログラムＲＯＭ４０ｃに記録されたプログラムをメインＣＰＵ４０ｂで実行させることなく、上述したサブ制御部を介して、リール部ディスプレイ２ａ等にプログラムＲＯＭ４０ｃが改ざんされた不正なものである旨の警報を出力し、その後の起動動作を停止するようになっている。
【００５９】
次に、セキュリティ回路４０ｋ及びＢＩＯＳによる制御の内容について図３を参照して説明する。まず、スロットマシン１を起動すると（ステップＳ１）、ＢＩＯＳが動作し（ステップＳ２）、このＢＩＯＳにより正否判定プログラムＲＯＭ４０ｍに記録された正否判定プログラムが正否判定ＣＰＵ４０ｎによって実行され、これにより正否判定結果がメインＣＰＵ４０ｂに出力される（ステップＳ３）。
【００６０】
次に、ステップＳ４において、正否判定結果が「正」であるか「否」であるかが判断され、「正」であればステップＳ５に移行し、「否」であればステップＳ６に移行する。ステップＳ５に移行した場合には、プログラムＲＯＭ４０ｃに記録されたプログラムをメインＣＰＵ４０ｂで実行する処理がＢＩＯＳによって行われ、以後スロットマシン１による遊技が可能な状態になる。一方、ステップＳ６に移行した場合には、プログラムＲＯＭ４０ｃが改ざんされた不正なのものである旨の警報をサブ制御部を介してリール部ディスプレイ２ａ等に出力する処理がＢＩＯＳによって行われ、この状態でＢＩＯＳによる起動動作が停止する（ステップＳ７）。
【００６１】
上記のように構成されたスロットマシン１によれば、プログラムＲＯＭ４０ｃの改ざんを検出するセキュリティ回路４０ｋが正否判定プログラムＲＯＭ４０ｃ、正否判定ＣＰＵ４０ｎ及び正否判定ＲＡＭ４０ｐを有するハード構成となっており、プログラムＲＯＭ４０ｃの改ざんの検出をメインＣＰＵ４０ｂによってセキュリティプログラムを実行することによりソフト的に行うものではないので、外部からセキュリティプログラムをソフト的に読み取るようなことでは、プログラムＲＯＭ４０ｃの改ざん検出を回避する情報を得ることができない。従って、上記のようにハード構成化するだけでも、プログラムＲＯＭ４０ｃの改ざんを防止する上で効果がある。
【００６２】
また、セキュリティ回路４０ｋはプログラムＲＯＭ４０ｃ、メインＣＰＵ４０ｂ及び周辺デバイスを１チップ化したような構造のものではないので、プログラムＲＯＭ４０ｃとしては汎用性のあるＲＯＭをそのまま使用することができる利点がある。
【００６３】
更に、真正のプログラムＲＯＭ４０ｃに記録された真性データからハッシュ関数を用いて作成された短い固定長の真正ハッシュ値と、現実に実装されているプログラムＲＯＭ４０ｃに記録された実装データから上記ハッシュ値と同一のハッシュ値を用いて作成された実装ハッシュ値とを照合することにより、実装されているプログラムＲＯＭ４０ｃの正否を判定するようになっているので、もとのデータの量が多い場合でも極めて短時間で照合を終了し、正否を判定することができる。従って、プログラムＲＯＭ４０ｃの正否判定のためにスロットマシン１が使用不能となる時間を低減することができる
【００６４】
また、不正を働く者が有利となるように実装するプログラムＲＯＭ４０ｃの実装データを改ざんしつつ、その改ざん後の実装データからハッシュ関数を用いて作成した実装ハッシュ値を真正ハッシュ値に一致させることはほぼ不可能である。従って、プログラムＲＯＭ４０ｃの改ざんを確実に発見することができる。
【００６５】
更に、毎朝の起動時において、プログラムＲＯＭ４０ｃに記録されたプログラムをメインＣＰＵ４０ｂで実行する前に、正否判定プログラムＲＯＭ４０ｃに記録された正否判定プログラムを正否判定ＣＰＵ４０ｎで実行し、その実行によって得られた正否判定結果をメインＣＰＵ４０ｂに出力するようになっているので、プログラムＲＯＭ４０ｃが改ざんされている場合には、プログラムＲＯＭ４０ｃの改ざんに関する警報を遊技の開始前に発すると共に、スロットマシン１の起動を停止させることができる。従って、改ざんされたプログラムＲＯＭ４０ｃを有するスロットマシン１によって遊技が行われるのを確実に防止することができる。
【００６６】
なお、上記実施の形態においては、真正のプログラムＲＯＭ４０ｃに記録された真正データの全体からハッシュ関数を用いて真正ハッシュ値を作成し、実装されたプログラムＲＯＭ４０ｃに記録された実装データの全体からハッシュ関数を用いて実装ハッシュ値を作成するように構成したが、真正ハッシュ値については、真正のプログラムＲＯＭ４０ｃに記録された真正データのうち所定の範囲の真正データに基づいて作成されたものとし、実装ハッシュ値については、実装されたプログラムＲＯＭ４０ｃに記録された実装データのうち上記所定の範囲の真正データに対応する範囲の実装データに基づいて作成されたものであってもよい。
【００６７】
この場合、真正のプログラムＲＯＭ４０ｃに記録された真正データをほぼ等間隔の複数に分割し、各分割された所定の範囲の真正データに基づいて作成された複数の真正ハッシュ値を正否判定プログラムＲＯＭ４０ｍに記録し、また、実装されたプログラムＲＯＭ４０ｃに記録された実装データのうち上記各所定の範囲の真正データに対応する範囲の実装データに基づいて実装ハッシュ値を作成することになる。そして、正否判定プログラムは、日が変わるごとに、照合すべき真正ハッシュ値を順次異なるものに変更し、当該真正ハッシュ値に対応する実装ハッシュ値を作成することによって、これらの真正ハッシュ値と実装ハッシュ値とを照合し、その照合によって得られた正否判定結果をメインＣＰＵ４０ｂに出力するものとなる。
【００６８】
このように、真正データや実装データの一部によって、真正ハッシュ値や実装ハッシュ値を作成するように構成した場合には、実装データから実装ハッシュ値を作成するための時間を短縮することができる。従って、実装されているプログラムＲＯＭ４０ｃの正否をより短時間で判定することができる利点がある。
【００６９】
また、上記実施の形態においては、毎朝の起動時において、メインＣＰＵ４０ｂを用いてプログラムＲＯＭ４０ｃに記録されたプログラムを実行していないときに、正否判定ＣＰＵ４０ｎによって、正否判定プログラムＲＯＭ４０ｍに記録された正否判定プログラムを実行するように構成したが、プログラムＲＯＭ４０ｃに記録されたプログラムを実行していないときであれば、毎朝の起動時に限らず、いつでも正否判定プログラムを実行してもよい。例えば、遊技場における営業の終了時において、プログラムＲＯＭ４０ｃに記録されたプログラムの実行が終了してから正否判定プログラムを実行するようにしたり、遊技場の営業時間内において、プログラムＲＯＭ４０ｃに記録されたプログラムの実行を強制的に停止させた上で正否判定プログラムを実行するようにしてもよい。
【図面の簡単な説明】
【００７０】
【図１】本発明の一実施の形態として示したスロットマシンの正面図である。
【図２】同スロットマシンにおけるメイン制御部の要部を示すブロック図である。
【図３】同スロットマシンにおけるプログラムＲＯＭの改ざんを検出処理する内容を示すフローチャートである。
【符号の説明】
【００７１】
１  スロットマシン（遊技機）
４０ｂ  メインＣＰＵ（制御ＣＰＵ）
４０ｃ  プログラムＲＯＭ４０ｃ
４０ｋ  セキュリティ回路
４０ｍ  正否判定プログラムＲＯＭ
４０ｎ  正否判定ＣＰＵ
【図１】
2008206749.tif 000003
【図２】
2008206749.tif 000004
【図３】
2008206749.tif 000005