(57)【特許請求の範囲】
【請求項１】
ゲーム制御用のプログラムを記憶するためのＲＯＭが埋設されたＲＯＭチップ部品と、前記ＲＯＭ内のプログラムを読み出して実行するＣＰＵが埋設されたＣＰＵチップ部品とを具備して成り、
前記ＣＰＵは、コマンドを解読する間に作業用メモリに対するリフレッシュを実行する機能を有するとともに、リフレッシュ処理を必要としないスタティック型の作業用メモリおよび前記ＲＯＭチップ部品に接続されており、
前記ＲＯＭチップ部品には、前記ＲＯＭとＣＰＵとの間でやりとりされるデータを取り込んで、その取り込んだデータを用いた演算によりセキュリティコードを生成する演算回路が埋設されており、
前記ＣＰＵは、前記演算回路が前記演算のために取り込んだデータと同一のデータを用いた演算により前記セキュリティコードに整合するコード情報を生成するとともに、前記ＲＯＭからコマンドが入力されたとき、このコマンドを解読している間に、前記作業用メモリに対するリフレッシュ処理に代えて、前記演算回路から前記セキュリティコードを取り込んでそのコード情報と自回路で生成されたコード情報とを照合する処理を実行し、その照合により前記セキュリティーコードと前記コード情報とが不整合であると判別したとき、前記解読したコマンドを実行しないことを特徴とする電子遊戯機用制御装置。
【請求項２】
前記演算回路は、前記ＲＯＭからＣＰＵへのデータ入力経路に接続されており、前記ＲＯＭからＣＰＵにデータが入力される都度、その入力データを用いて前記演算を実行する請求項１に記載された電子遊戯機用制御装置。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
この発明は、パチンコホールなどの遊戯場に設置される電子遊戯機に導入される技術であって、殊にこの種電子遊戯機のゲーム動作を制御するための電子遊戯機用制御装置に関連する。
【０００２】
【従来の技術】
パチンコホールには、パチンコ遊戯機やスロットマシンなどの電子遊戯機が複数台配備されている。これらの電子遊戯機には、電子回路部品が実装された制御基板が組み込まれており、遊戯機の動作が一連に制御される。
【０００３】
ところで、この種の風俗営業機種の電子遊戯機の制御は法規制に基づいて行う必要があり、各遊戯機メーカーは、遊戯機を実際に動作させるための制御プログラムや入賞確率などの固定データをこの法規制に従って作成して、ＲＯＭに記憶させている。前記制御基板には、このＲＯＭを内蔵するチップ部品（以下これを「ＲＯＭチップ部品」という）や、制御主体となるＣＰＵを含むチップ部品（以下これを「ＣＰＵチップ部品」という）などが実装され、検査を経た後、ケース内に封入されて機体内に組み込まれる。
【０００４】
こうして完成した遊戯機は、パチンコホールなどに納入されるが、この納入後に、封印を破り、前記ＲＯＭチップ部品を不正な内容のプログラムが書き込まれた部品と差し替えるという違法行為が行われる虞がある。
【０００５】
このような違法行為を摘発するためには、各遊戯機毎に、機体内の制御基板の封印をチェックする必要があり、多大な労力と時間とを要する。また違法行為が行われているという疑いがなければ、納入後の制御基板のチェックを行うことは難しく、違法行為を完全に防止することは、事実上不可能である。
【０００６】
この問題を解決するために、特開平８−２３８３７５号公報に示されるように、制御装置内に、ＲＯＭ内の制御プログラムが適正であるか否かをチェックする機能を具備させることが提案されている。
この方法は、具体的には、あらかじめ適正な制御プログラムを所定のフォーマットにより変換して得られるセキュリティコードを制御装置内に登録しておき、ＲＯＭ内から制御プログラムを読み出してこの変換フォーマットにより変換し、得られたコード情報と登録されたセキュリティコードとを照合するというものである。
【０００７】
【発明が解決しようとする課題】
上記のようにＲＯＭ内の制御プログラムを用いてＲＯＭの適否を判別する場合、プログラムの読出しやコード情報の生成作業のための処理時間を確保する必要がある。しかしながら瞬時のゲーム判定が必要なパチンコゲームやスロットゲームにおいては、この処理時間は致命的な遅延時間となり、ゲーム中に判別処理を行うのは事実上不可能である。このため現状の遊戯機では、装置の電源立ち上げ時やリセット時にのみ照合処理を行うように設定されている。
【０００８】
ところが近年、この照合処理をくぐりぬけて不正を行うために、本来のＲＯＭチップ部品を基板上に保持したまま、別の不正なＲＯＭチップを実装し、正規のＲＯＭに対する照合処理が終了した後に、プログラムの読出し先を不正なＲＯＭ側に切り替えるように変造された制御基板が出回っている。このため遊戯機の製造メーカー側では、ゲーム動作中にもＲＯＭの適否をチェックする方法を早急に開発する必要に迫られている。
【０００９】
この発明は上記問題点に着目してなされたもので、ゲーム制御を実行している間でも、その制御を遅延させることなくＲＯＭの適否を判別できるようにすることにより、プログラムの読み出し先を不正なＲＯＭに切り替えるような不正行為を摘出できるようにすることを、技術課題とする。
【００１０】
【課題を解決するための手段】
上記課題を解決するために、請求項１の発明では、ゲーム制御用のプログラムを記憶するためのＲＯＭが埋設されたＲＯＭチップ部品と、前記ＲＯＭ内のプログラムを読み出して実行するＣＰＵが埋設されたＣＰＵチップ部品とを具備して成る電子遊戯機用制御装置において、前記ＣＰＵを、コマンドを解読する間に作業用メモリに対するリフレッシュを実行する機能を有するものにするとともに、リフレッシュ処理を必要としないスタティック型の作業用メモリおよび前記ＲＯＭチップ部品に接続する。また前記ＲＯＭチップ部品には、前記ＲＯＭとＣＰＵとの間でやりとりされるデータを取り込んで、その取り込んだデータを用いた演算によりセキュリティコードを生成する演算回路を埋設する。
前記ＣＰＵは、前記演算回路が前記演算のために取り込んだデータと同一のデータを用いた演算により前記セキュリティコードに整合するコード情報を生成するとともに、前記ＲＯＭからコマンドが入力されたとき、このコマンドを解読している間に、前記作業用メモリに対するリフレッシュ処理に代えて、前記演算回路から前記セキュリティコードを取り込んでそのコード情報と自回路で生成されたコード情報とを照合する処理を実行し、その照合により前記セキュリティーコードと前記コード情報とが不整合であると判別したとき、前記解読したコマンドを実行しないようにする。
【００１１】
請求項２の発明では、前記演算回路は、前記ＲＯＭからＣＰＵへのデータ入力経路に接続されており、前記ＲＯＭからＣＰＵにデータが入力される都度、その入力データを用いて前記演算を実行する。
【００１２】
【作用】
一連のゲーム制御を行う際には、まずＣＰＵよりＲＯＭにアドレス信号が出力されてＲＯＭ内の参照すべきアドレスが指定される。この指定を受けたＲＯＭは、該当するアドレスに格納されたデータをＣＰＵに出力する。このようにＣＰＵとＲＯＭとの間でやりとりされるアドレスの指定データやプログラムデータを順次取り込んで、所定の演算規則に基づく演算を実行すると、あるコード情報を生成することができる。
【００１３】
この発明では、ＲＯＭチップ部品の内部に演算回路を埋設し、この演算回路に上記の演算処理によりセキュリティコードを生成させるとともに、ＣＰＵ側でもこの演算回路が使用するのと同一のデータを用いた演算を実行してセキュリティコードに整合するコード情報を生成する。
【００１４】
前記ＣＰＵは、コマンドを解読する間に作業用メモリに対するリフレッシュを実行する機能を有するものであるが、作業用メモリとしてスタティック型のメモリが使用されるため、リフレッシュ処理を実行する代わりに、前記演算回路からセキュリティコードを取り込んでそのコード情報を自回路で生成したコード情報と照合することが可能になる。この照合処理は、ＲＯＭからコマンドが入力される毎に実行されるので、ゲーム制御中に照合処理を繰り返し実行することが可能になる。しかも、リフレッシュ処理のための時間を利用して照合処理を行うので、照合処理を行っても遊戯機のゲーム動作が遅延することがない。
【００１５】
【実施例】
図１は、この発明にかかる電子遊戯機用制御装置が適用されたスロットマシンの外観を示す。
このスロットマシン１の機体は、ボックス形状の機体本体部の前面に扉部２を開閉可能に取り付けて構成されており、前記扉部２の前面には、リール表示窓３，メダル投入口４，始動レバー５，３個の停止釦スイッチ６ａ，６ｂ，６ｃ，メダル放出口７，メダル受皿８などが設けられている。
【００１６】
リール表示窓３には、上，中，下，斜めの合計５本の停止ラインＬ1 〜Ｌ5 が表されており、メダルの投入枚数が１枚であれば中央の停止ラインＬ1 のみが、２枚であれば上，中，下の３本の停止ラインＬ1 〜Ｌ3 が、３枚であればすべての停止ラインＬ1 〜Ｌ5 が、それぞれ有効化される。
【００１７】
前記機体本体部の内部には、リール表示窓３の位置にあわせて、３個のリール９ａ，９ｂ，９ｃが組み込まれている。各リール９ａ，９ｂ，９ｃの周面にはそれぞれ複数の図柄が描かれており、リール停止時には、各リール９ａ，９ｂ，９ｃの３駒分の図柄が、各停止ラインＬ1 〜Ｌ5 上に整列して並ぶようになっている。
【００１８】
前記メダル投入口４よりメダルが投入されると、その投入枚数に応じた数の停止ラインが有効化され、ついで始動レバー５が操作されると３個のリール９ａ，９ｂ，９ｃが一斉に始動する。この後停止釦スイッチ６ａ，６ｂ，６ｃが操作される都度、それぞれ対応するリール９ａ，９ｂ，９ｃが個別に停止する。このとき有効化されたライン上に、所定の図柄の組み合わせが成立していると、装置内部のホッパ（図示せず）が作動して、所定枚数のメダルがメダル放出口７よりメダル受皿８へと放出される。
【００１９】
図２は、前記スロットマシン１の基本的な電気構成を示す。
図中、１０は、この発明にかかる電子遊戯機用制御装置であって（以下単に「制御装置１０」という）、制御主体となるＣＰＵ１１，データの読み書きに用いられるＲＡＭ１２，ゲーム実行用の制御プログラムや各リールの図柄配列，入賞確率などを記憶するＲＯＭ１３などにより構成される。
【００２０】
なお上記制御装置１０のうち、ＣＰＵ１１とＲＡＭ１２とは、１つのパッケージ内に収容されたＣＰＵチップ部品１４として構成される。一方、ＲＯＭ１３は、モデルチェンジなどに対応できるように、単独のチップ部品として構成され、前記ＣＰＵチップ部品１４と同じ制御基板上に実装される。
【００２１】
前記制御装置１０にはバス１９を介して前記始動レバー５，停止釦スイッチ６ａ，６ｂ，６ｃなどの入力部，各リール９ａ，９ｂ，９ｃを駆動するためのリール駆動部１５，前記ホッパを駆動するためのホッパ駆動部１６などが接続される。ＣＰＵ１１は、各スイッチからの操作信号に基づき、リール駆動部１６に制御信号を出力して各リール９ａ，９ｂ，９ｃの始動や停止動作を実現する。またＣＰＵ１１は、各リール毎に、そのリールの駆動タイミングとＲＯＭ１３内に記憶された図柄配列データとを用いて有効ライン上に位置する図柄を認識しており、全リールが停止して有効ライン上に入賞にかかる図柄の組合せが成立したと判別したとき、ホッパ駆動部１６を駆動して所定枚数のメダルを放出させる。
【００２２】
この実施例の制御装置１０では、ＣＰＵ１１としてＺ８０系などダイナミックＲＡＭ（ＤＲＡＭ）へのリフレッシュ機能を有するタイプのものを用いる一方、ＲＡＭ１２としてリフレッシュ処理を必要としないスタティック型のメモリを採用して、ＣＰＵ１１のリフレッシュ処理を行うための処理時間を外部に対する処理を行わない空き時間に設定している。さらに前記ＣＰＵ１１には、この空き時間内に前記ＲＯＭ１３の適否判別を行う機能が設定され、通常のゲーム制御中におけるコマンド解読中にこの判別処理が実施される。
【００２３】
図３は、前記ＣＰＵ１１とＲＯＭ１３の詳細な構成、および両者の関係を示すもので、以下、同図を用いて前記判別処理の詳細を説明する。
前記ＲＯＭ１３は、プログラムやデータを記憶するためのＲＯＭ本体１７のほか、後記する演算処理を行うための演算回路１８を、それぞれ個別の集積回路として形成し、同一パッケージ内に埋設して成るものである。
【００２４】
前記演算回路１８は、ＲＯＭ本体１７とＣＰＵ１１との間をつなぐデータバス２０に接続されており、ＲＯＭ本体１７からデータが出力される都度、その出力データＤＴを取り込んで、例えば、そのデータＤＴの示す数値を順次積算処理するなど、所定の演算を実行する。
【００２５】
前記出力データＤＴは、ＣＰＵ１１からアドレスバス２１を介して与えられる参照アドレスデータＡＤＲに基づき出力されるもので、このデータＤＴはＣＰＵ１１内部の制御部２２に与えられて、その内容に応じた処理が実行される。
【００２６】
ＣＰＵ１１の演算部２３は、前記制御部２２の指令に応じて通常の演算動作を実行するほか、データＤＴが入力される都度、前記制御部２２を介してこのデータを受け取り、前記演算回路１８と同様の演算を実行する。
またこのデータＤＴがコマンドを示すものであった場合、制御部２２がこのコマンドを解読している間は、外部に対する処理がなさないリフレッシュ期間となるので、この間に演算部２３は、ＲＯＭ１３側の演算回路１８に読出し信号を出力してその演算結果ＳＣを取り込み、このＳＣの値を自己の演算結果ＳＣ´と照合する。この照合結果は解読処理後の制御部２２に与えられ、制御部２２は、この照合結果により解読したコマンドを実行するか否かを決定する。
【００２７】
なおこの実施例では、ＲＯＭ１３からＣＰＵ１１に入力されるデータＤＴのみを用いて演算を実行しているが、これに限らず、ＣＰＵ１１からＲＯＭ１３に出力される参照アドレスデータＡＤＲを上記演算処理対象に組み込んでも良い。
また前記演算回路１８を、通常部品メーカー側がメーカーコードやデバイスコートなどのコード情報をロジック形成するフォーマットエリアに形成すれば、演算ロジックの解読はより困難となり、ＲＯＭ本体１７のプログラムチェックにかかるセキュリティをさらに向上させることができる。
【００２８】
図４は、前記ＣＰＵ１１によるＲＯＭの適否チェックにかかる制御手順を示す。なお図中ｃは、前記照合処理により各演算結果が合致しなかった回数を計数するためのカウンタであって、初期状態では「０」にセットされ、ＣＰＵ内部のレジスタなどに格納される。
まず装置に電源が投入されると、ステップ１で、ＣＰＵ１１の制御部２２は、内部のレジスタや前記ＲＡＭ１２をリセットした後、ＲＯＭ１３に対し、参照アドレスデータＡＤＲを出力してデータ読出し先のアドレスを指定する（初期状態では０番地が指定される）。これを受けてＲＯＭ本体１７内の該当するアドレスのデータＤＴがＣＰＵ１１に入力されると、制御部２２は、このデータＤＴが数値などの固定データを示すものか、コマンドを示すものかをチェックする（ステップ２，３）。
【００２９】
入力されたデータＤＴがコマンド以外のデータであれば、ステップ４が「ＮＯ」となってステップ５へと移行し、前記演算部２３において、このデータＤＴを用いた演算処理が実行される。
このときＲＯＭ１３内の演算回路１８でも、同様に、データＤＴを用いた演算が実行されており、このステップ２〜５の処理が複数サイクル繰り返されることにより、ＣＰＵ１１，ＲＯＭ１３の双方で、所定のコード情報が生成される。
【００３０】
ある時点でＲＯＭ１３から入力されたデータＤＴがコマンドを表すものであったとき、前記制御部２２はこのコマンドの解読作業に入る。これと同時に、前記演算部２３は、演算回路１８の演算結果を取り込んで自己の演算結果ＳＣ′との照合処理を実行する（ステップ６）。
【００３１】
コマンドの解読が終了すると、ＣＰＵ１１の制御部２２は、前記照合処理をチェックする。この結果、演算結果ＳＣとＳＣ′とが合致していれば、ステップ７が「ＹＥＳ」となってステップ１１へと移行し、制御部２２は、解読したコマンドに基づく処理を行った後、ステップ２へと戻る。
以後、ＲＯＭ１３を構成するチップ部品が適正なものである限り、上記の処理が繰り返し実行されるもので、ＣＰＵ１１は前記ＲＯＭ１３が適正であることを確認しながら、そのプログラムを実行することになる。
【００３２】
一方、汎用のＲＯＭチップ部品に不正なプログラムを記憶させて前記ＲＯＭ１３を構成するチップ部品と差し替えた場合、この不正部品は演算回路１８を具備していないから、ＣＰＵ１１はＲＯＭ１３側からの演算結果を得られなくなる。また制御基板上に別のＲＯＭチップ部品を実装し、装置の動作途中でプログラムの読出し先を正規のＲＯＭ１３から不正なＲＯＭ側に切り替えた場合、演算回路１８側の演算結果ＳＣと演算部２３の演算結果ＳＣ′は合致しなくなる。したがってこれらの不正が行われた場合には、ステップ７の判定は「ＮＯ」となってステップ８へと移行し、前記カウンタｃがインクリメントされる。
【００３３】
つぎのステップ９で、制御部２２は、このカウンタｃの計数値が所定のしきい値ＴＨを越えたか否か、すなわち各演算結果が合致しないという事象がしきい値ＴＨを越える回数だけ発生したか否かを判別するもので、このステップ９が「ＹＥＳ」となると、制御部２２は、つぎのステップ１０で前記解読したコマンドの実行を中止する。これにより以後、機体は動作不能な状態に設定され、不正なプログラムの続行は不可能となる。
なお上記ステップ８，９の手順をおかずに、一度演算結果の不整合が生じたら直ちに装置の動作を停止するようにしてもよい。
【００３４】
このようにＣＰＵ１１の通常動作時に、ＣＰＵ１１，ＲＯＭ１３の双方で、両者間でやりとりされるデータを用いた演算を行うとともに、ＣＰＵ１１が外部に対する処理を行っていないわずかな空き時間内に、各演算結果を照合してＲＯＭ１３の適否を判別できるので、ゲーム制御の処理タイミングを遅延することなく、装置作動中に繰り返し判別処理を実行することができる。しかも、ＲＯＭ１３を構成するチップ部品が不正なものに差し替えられ、または動作途中でプログラムの読出し先が切り替えられた場合、その不正行為が直ちに判別できるので、セキュリティは大幅に向上する。
また装置の電源立上げ時やリセット時など装置の起動とともに照合動作が実行されるので、従来のようにＲＯＭ内のプログラムからセキュリティコードを生成するためのアルゴリズムを用意する必要がない。
【００３５】
なお演算結果の照合動作を実施する時間帯は、前記したリフレッシュ期間内に限らず、ＣＰＵが外部に対して処理を行っていない他の空き時間を利用してもよい。また近年開発されている複数の処理を並列して実行できるパイプラインを具備するＣＰＵを導入して、いずれか１本のラインをＲＯＭチップ部品の照合処理専用に設定するようにしてもよい。
【００３６】
【発明の効果】
この発明では、ＣＰＵとＲＯＭとの間でやりとりされるデータを用いた演算によりセキュリティコードを生成する演算回路をＲＯＭチップ部品内に埋設するとともに、ＣＰＵ側でも前記セキュリティコードに整合するコード情報を生成した。また、コマンドを解読する間に作業用メモリに対するリフレッシュを実行する機能を有するＣＰＵと、リフレッシュ処理を必要としないスタティック型の作業用メモリを使用し、前記作業用メモリに対するリフレッシュ処理に代えてセキュリティコードを照合する処理を実行するようにしたので、ゲーム制御を実行している間に繰り返しセキュリティコードの照合処理を行うことができる。しかも、リフレッシュ処理のための時間を使用することにより、照合処理のためにゲーム制御の処理タイミングを遅延させることがないから、通常のゲーム制御が行われている際にもＲＯＭチップ部品の適否を簡単に判別することが可能になる。また上記の照合結果が不整合であるときには解読したコマンドを実行しないようにしたから、不正なプログラムに差し替えられた場合には、速やかにそのプログラムの実行を中止することができ、遊戯機のセキュリティを大幅に向上することができる。
【図面の簡単な説明】
【図１】この発明の電子遊戯機用制御装置が適用されたスロットマシンの概略構成を示す正面図である。
【図２】図１のスロットマシンの電気的構成を示すブロック図である。
【図３】ＣＰＵとＲＯＭとの詳細な構成および両者の関係を示すブロック図である。
【図４】ＲＯＭの適否チェックにかかる制御手順を示すフローチャートである。
【符号の説明】
１０  電子遊戯機用制御装置
１１  ＣＰＵ
１３  ＲＯＭ
１７  ＲＯＭ本体
１８  演算回路
２２  制御部
２３  演算部
【図１】
0003696362.tif 000002
【図２】
0003696362.tif 000003
【図３】
0003696362.tif 000004
【図４】
0003696362.tif 000005