(57)【要約】【課題】動作を第三者に解析されないようにしつつも、検査機関のみにはその動作を解析可能な遊技機用ＣＰＵを提供すること。【解決手段】信号ＭＯＤＥＡ、ＭＯＤＥＢに対応したモードを設定するモード制御部１０と、汎用機能を備えた汎用機能部２０と、非暗号化プログラムを記憶するＥＰＲＯＭ４０と、遊技機制御に必要なデータを記憶するＥＥＰＲＯＭ４５と、ワークエリアとして機能するＲＡＭ５０と、実アドレス信号からチップセレクト信号を生成するチップセレクト部６０と、モニター用データ（ＭＤ０〜ＭＤ７）、モニター用アドレス（ＭＡＤＲ０〜ＭＡＤＲ１６）、および、チップセレクト信号を出力する端子とバススルー端子７５とを備え各種の機能を有する出力処理部７０と、ＣＰＵコア３０とを有し、各構成部はバス８０で接続されている。【選択図】          図１
2007260438.tif 000002
【特許請求の範囲】
【請求項１】
遊技機用の中央演算処理装置において、
メモリに記憶された暗号化されていないプログラムに従って動作を行う際に、自身の内部で生成されてバスを介して送受されている暗号化されていない実アドレス信号および実データ信号のうちの少なくとも一方を暗号化し、これを前記バスによる前記実アドレス信号および実データ信号の送受タイミングと同一のタイミングでモニター出力する出力処理部を内部に備えたことを特徴とする遊技機用中央演算処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パチンコ機等の遊技機を制御するための遊技機用の中央演算処理装置に関する。
【背景技術】
【０００２】
今日、パチンコ機等の遊技機を構成する各種の電動部品の制御を行うために、遊技機内部に遊技機用の中央演算処理装置（ＣＰＵ）が設けられており、このＣＰＵが予め定められたプログラムに従った動作を行うことによって、所定の制御動作が実行可能になっている。そして、このＣＰＵが動作を行う際には、ＣＰＵ内部のバス上に実アドレスや実データを送出する。
この実アドレスおよび実データのバスは、周辺ＩＣを作動させる信号として用いる他、ＣＰＵの動作解析用として、例えばロジックアナライザ等の外部解析機器にも用いられる。
【０００３】
ところで、このＣＰＵを用いた遊技機においては、ＣＰＵがプログラムに従った動作を行うのに従って、実アドレスや実データがＣＰＵ外部に出力されるため、これを手掛かりに前記ロジックアナライザ等で内蔵されたプログラムを解析し、解析結果を反映して自己に有利なようにプログラムを改ざんする者が現れる可能性がある。
そこで、予めプログラムを暗号化しておき、必要時にはこれを復号化するための復号化回路を設けておき、この復号化回路によって復号化されたプログラムにしたがって、ＣＰＵが動作を行うようにすることが提案されていた。
また、解析されない様に、実アドレスを削除したり、代替としてチップセレクト信号のみを出力するものが提案されていた。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、このような復号化回路を設けた構成では、コストの増加やＣＰＵの構成が複雑になると共に、プログラムを一旦暗号化する必要があるため、その手間が煩雑となってしまう。また、実アドレスを出力しない構成では、ＣＰＵ外部には、ＣＰＵの動作に伴った何らの情報も出力されないため、逆に、検査機関における検査がそのままでは行えない等の問題点があった。
すなわち、パチンコ機では検査機関の検査が行われなければ販売製品として認められないため、この検査機関によって、ＣＰＵの動作等を検査可能な構成にしなければならないという要請に十分応えられなかった。
【０００５】
これらをまとめると、同じＣＰＵにおいて、従来バスの機能を有した上で、不正な第三者には解析されず、検査機関においてはその動作を解析可能であるといった、半ば相矛盾する要求を満たす必要があった。
本発明は、このような従来の課題を解決するためになされたもので、その目的は、動作を第三者に解析されないようにしつつも、検査機関のみにはその動作を解析可能な遊技機用ＣＰＵを提供する点にある。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、請求項１に係る発明によれば、遊技機用の中央演算処理装置において、メモリに記憶された暗号化されていないプログラムに従って動作を行う際に、自身の内部で生成されてバスを介して送受されている暗号化されていない実アドレス信号および実データ信号のうちの少なくとも一方を暗号化し、これを前記バスによる前記実アドレス信号および実データ信号の送受タイミングと同一のタイミングでモニター出力する出力処理部を内部に備えたことを特徴とする遊技機用中央演算処理装置が提供される。
【０００７】
これによれば、第三者は実アドレスや実データの出力の様子を把握できず、データ解析が不可能になり、制御プログラムの模倣行為および不正行為を抑止可能となる。さらに、制御プログラムそのものを暗号化する必要がなく、モニターバスの出力フォーマットのみを暗号化すれば良いため、開発作業が大幅に省略される。なお、暗号化は、例えば、自身の外部から装着される復号手段によって復号可能に行えばよい。
【発明の効果】
【０００８】
以上説明したように、請求項１に係る発明によれば、第三者は実アドレス信号や実データ信号の出力の様子を把握できず、データ解析が不可能になり、制御プログラムの模倣行為および不正行為を抑止可能となる。さらに、制御プログラムそのものを暗号化する必要がなく、モニターバスの出力フォーマットのみを暗号化すれば良いため、開発作業が大幅に省略される。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態を、図面を参照しつつ説明する。図１、図２は夫々、本発明の第１の実施の形態にかかる遊技機用ＣＰＵ１００、これに対応する復号解析装置２００のブロック構成図である。
この遊技機用ＣＰＵ１００は、２ビットのデジタル信号ＭＯＤＥＡ、ＭＯＤＥＢが与えられるとこれに対応したモードを設定するモード制御部１０と、各構成部へのクロック供給やウオッチドックタイマー機能を含む各種の割り込み機能等、通常のＣＰＵが有する汎用機能を備えた汎用機能部２０と、暗号化されないプログラムを記憶するワンタイムプログラム型のリードオンリーメモリ（ＯＴＰ・ＲＯＭ）であるＥＰＲＯＭ４０と、遊技機の制御に必要な各種のデータを記憶する電気的書換え可能なリードオンリーメモリであるＥＥＰＲＯＭ４５と、各種の処理の際にワークエリアとして機能するＲＡＭ５０と、１６ビットの実アドレス信号（ＡＤＲ０〜ＡＤＲ１５）から図示しない１６種類までのアドレスに対応して接続可能なラッチＩＣ（各ラッチＩＣに対して、例えば、「７ＦＦ０（Ｈ）〜７ＦＦＦ（Ｈ）」のアドレスが割り当てられている）をイネーブルするためのチップセレクト信号（ＣＳ０〜ＣＳ１５）を生成するチップセレクト部６０と、モニター用データ（ＭＤ０〜ＭＤ７）、モニター用アドレス（ＭＡＤＲ０〜ＭＡＤＲ１６）、および、チップセレクト信号を出力する端子とバススルー端子７５とを備え各種の機能を有する出力処理部７０と、図示しないレジスタやＡＬＵ等を備え、プログラムに従って動作を行うＣＰＵコア３０とを有していて、各構成部は、データ線、アドレス線、および、コントロール線を含んでなるバス８０で情報を送受可能に接続されている。コントロール線は、一般的なものであり、例えば、モトローラ社製（モトローラは登録商標）のＣＰＵ６８ＨＣ１１では、「Ｅ、Ｒ／Ｗ 等」が該当するが、このうち必要に応じコントロール信号として外部に引き出される。
ここで、出力処理部７０についてより詳細に説明する。出力処理部７０は、１６ビットの実アドレス信号（ＡＤＲ０〜ＡＤＲ１４）をスクランブル結線により暗号化してＭＡＤＲ０〜ＭＡＤＲ１５から出力する。
【００１０】
ここで暗号化の方法としては最も単純な方法について説明を行ったが、公知の高度な暗号化方法を用いれば尚好ましい。このスクランブル結線は、実アドレスを並び替えてモニターアドレスに割り当てることで実現可能であり図３にこの様子の一例を示す。この例では、実アドレス「ＡＤＲ０、ＡＤＲ４、…、ＡＤＲ１５」がモニターアドレス「ＭＡＤＲ０、ＭＡＤＲ１、…、ＭＡＤＲ１５」に割り当てられている。なお、ＭＡＤＲ１６は、１６ビットの実アドレスに基づいて所定エリアアクセスを行ったと判断した場合には、「１」それ以外には「０」をとなるＳＤ信号をＭＡＤＲ１６から出力する。この所定エリアは、例えば、１６種類のラッチＩＣ（図示せず）に割り当てられているアドレス範囲であり、このアドレス範囲の例としては「７ＦＦ０（Ｈ）〜７ＦＦＦ（Ｈ）」としておけばよい。即ち、この場合、チップセレクト信号ＣＳ０〜ＣＳ１５のいずれかが所定レベル（アクティブ状態）になって出力されれば、ＳＤ信号も出力されることになる。
【００１１】
なお、出力処理部７０は、データについては、所定エリアアクセス時以外には、同様な手法によって暗号化されたデータを出力するようになっている。そして、各データ線（ＭＤ０〜ＭＤ７）は各ラッチＩＣに接続されている。
また、出力処理部７０は、所定エリアアクセス時にはチップセレクト信号ＣＳ０〜ＣＳ１５のいずれかを所定レベルとして出力するがこれ以外の時にはハイインピーダンス等のノンアクティブ状態となるように構成されている。
さらに、出力処理部７０は、ＣＰＵ内に内蔵するバススルー端子７５に、例えば、ハイレベルの信号（制御信号）を供給すれば、実アドレスおよび実データを夫々ＭＡＤＲ０〜ＭＡＤＲ１５、ＭＤ０〜ＭＤ７から出力するように構成されている。
【００１２】
ここで、バススルー端子の機能についてさらに説明する。この機能を用いると通常暗号化されるバス（アドレスおよびデータ）においては、プログラム開発者が後述する復号解析装置を所有していないため、デバック等が不能である点を解決できる。すなわち、不正な第三者に解析されないためにバスを暗号化した結果、開発者自身も作成過程における動作解析が不能となる問題を解決できる。
すなわち、この機能により、実アドレスおよび実データが常時供給されるため、従来の解析装置で解析可能となる。但し、この設定がここで例示した様に簡単であると、不正な第三者にもこの機能を使用され、解析に利用されてしまうので、例えば、この設定はＣＰＵ内部のマスクオプションとして設定され、バススルーされた専用チップとして運用される等の処置が施されるのが望ましい。
【００１３】
すなわち、バススルーの設定がなされたＣＰＵは遊技機メーカに支給され、それにより，開発を行うが実際に量産され、販売されるＣＰＵは、このバススルーしない設定のものがあてがわれる。また、検査機関は、この実際に販売されるタイプのＣＰＵが用いられた遊技機が型式申請され、後述の復号解析装置で検査される。これにより、実際に販売されるＣＰＵが検査されるため、検査の正確性、整合性を完全に満たす事が可能となる。
【００１４】
次に、図２に示す復号解析装置２００は、ＭＡＤＲ０〜ＭＡＤＲ１５からアドレス信号を入力して復号するアドレス復号部１１０と、ＳＤ信号（ＭＡＤＲ１６）を入力してＳＤ信号の状態を判定する判定部１２０と、判定部１２０で判定した信号状態が「１」の時、ＭＤ０〜ＭＤ７からデータ信号を入力して復号するデータ復号部１３５と、判定部１２０で判定した信号状態が「０」の時、ＭＤ０〜ＭＤ７からデータ信号を入力してそのまま出力するデータ非復号部１４０と、アドレス復号部１１０、データ復号部１３５、および、データ非復号部１４０の出力を入力して例えば逆アセンブルトレースしてその結果を出力可能な解析部１５０とを有している。このような復号解析装置２００は、アドレス復号部１１０、判定部１２０、データ復号部１３５、および、データ非復号部１４０を備えた、ロジックアナライザやＲＯＭチェッカ等で実現可能である。
【００１５】
今、ＭＯＤＥＡ、ＭＯＤＥＢにハイレベルのデジタル信号を供給したとき、この遊技機用ＣＰＵ１００が検査モードになり、検査機関が遊技機用ＣＰＵ１００を検査するものとして動作説明を行う。
ＣＰＵコア３０がＥＰＲＯＭ４０に記憶されているプログラムにしたがって動作すると、バス８０を介してＣＰＵ内部では実アドレスおよび実データが送受される。そして、出力処理部７０は、実アドレスおよび実データを暗号化してＭＡＤＲ０〜ＭＡＤＲ１５、ＭＤ０〜ＭＤ７として出力する。このとき、特定エリアアクセスの場合には、ＳＤ信号が「０」となって出力されるとともに、チップセレクト部６０のアドレスデコード動作によって、対応するチップセレクト信号が出力され、かつ、ＭＤ０〜ＭＤ７には暗号化されていない実データが出力される。
【００１６】
そして、検査機関が復号解析装置２００を遊技機用ＣＰＵ１００に装着して検査を行うと、暗号化された実アドレスはアドレス復号部１１０によって復号されて解析部１５０に出力される。一方、ＭＤ０〜ＭＤ７から出力されるデータ信号は、判定部１２０がＳＤ信号が「１」であると判定した場合にはデータ復号部１３５によって復号されて解析部１５０に出力されるとともに、判定部１２０がＳＤ信号が「１」でないと判定した場合には、所定エリアアクセス時であるため、データ非復号部１４０を介してＣＰＵから出力される実データがそのまま解析部１５０に出力される。
【００１７】
そして、解析部１５０では、得られた実データと実アドレス、及び、解析に必要なコントロール信号を用いた逆アセンブルトレース等を行ってＣＰＵのプログラムが異常なく開発されたか否かをチェックする。
このように、この実施の形態によれば、復号解析装置２００を外部から装着して暗号化された実アドレスや実データを復号可能になるので、復号解析装置２００を所有する検査機関のみが実アドレスや実データの出力の様子を把握することができるとともに、復号解析装置２００を所有しない第三者のデータ解析が厳重に防止可能になる。
【００１８】
なお、この復号解析装置２００においては、復号部と解析部を同一装置としたが、復号機能を復号装置として独立させ、解析機能は、従来の解析装置をそのまま流用するよう構成しても良い。
また、特定エリアのアクセス時には、暗号化されないデータを出力するようにすれば、遊技機用ＣＰＵ１００が特定エリアをアクセスする場合には、暗号化を行わない実データおよびそのエリアに対応したチップセレクト信号が出力されるため、遊技機の開発者は特定領域を適切に定めて通常通りの開発作業が行えるという効果が得られる。すなわち、ＭＤ０〜ＭＤ７及びチップセレクト信号により周辺回路を正常にアクセスする事が可能となる。
【００１９】
しかも、バススルー端子７５に制御信号を与えることによって、暗号化されないアドレスおよびデータを出力可能となるため遊技機の開発作業が通常通り行える。なお、この暗号化されないアドレスおよびデータを出力する際に、所定量の遅延を与えて出力して暗号化される場合のタイミングと同一となるようにしておくことも好ましい。
図４、図５は夫々、本発明の第２の実施の形態にかかる遊技機用ＣＰＵ１０１、これに対応する復号解析装置２１０のブロック構成図である。この実施の形態は、遊技機用ＣＰＵ１０１が、特定エリアアクセス時には、実データとチップセレクト信号を外部出力可能になっている点に特徴がある。
【００２０】
この遊技機用ＣＰＵ１０１は、モード制御部１０と、汎用機能部２０と、ＥＰＲＯＭ４０と、ＥＥＰＲＯＭ４５と、ＲＡＭ５０と、１６ビットの実アドレス信号（ＡＤＲ０〜ＡＤＲ１５）から図示しない１６種類までのアドレスに対応して接続可能なラッチＩＣ（各ラッチＩＣに対して、例えば、「７ＦＦ０（Ｈ）〜７ＦＦＦ（Ｈ）」のアドレスが割り当てられている）をイネーブルするためのチップセレクト信号（ＣＳ０〜ＣＳ１５）を生成して外部出力するチップセレクト部６１と、モニター用データ（ＭＤ０〜ＭＤ７）、モニター用アドレス（ＭＡＤＲ０〜ＭＡＤＲ１６）、および、所定エリアアクセス時の実データ（Ｄ０〜Ｄ７）を出力する端子とを備え各種の機能を有する出力処理部７１と、ＣＰＵコア３０とを有していて、各構成部はバス８０で情報を送受可能に接続されている。なお、図１に示す符号と同一の符号を付したものは、図１の構成要素と同一のものであり、以下、実アドレスおよび実データを暗号化するものとする。
【００２１】
出力処理部７１は、１６ビットの実アドレス信号（ＡＤＲ０〜ＡＤＲ１５）を前述したようなスクランブル結線により暗号化してＭＡＤＲ０〜ＭＡＤＲ１５から出力するとともに、８ビットの実データ信号（Ｄ０〜Ｄ７）を同じく暗号化してＭＤ０〜ＭＤ７から出力する。なお、ＭＡＤＲ１６は、前述したようなＳＤ信号を出力するようにしておけばよいが、実アドレスおよび実データを常に暗号化して出力する場合には必ずしも必要とはならない。図面上には記載されているが、以下図の説明においては、ＭＡＤＲ１６が削除された場合についての内容とする。
【００２２】
図５に示す復号解析装置２１０は、ＭＡＤＲ０〜ＭＡＤＲ１５からアドレス信号を入力して復号するアドレス復号部１１１と、ＭＤ０〜ＭＤ７からデータ信号を入力して復号するデータ復号部１３６と、アドレス復号部１１１およびデータ復号部１３６の出力及びコントロール信号を入力して例えば逆アセンブルトレースしてその結果を出力可能な解析部１５１とを有している。このような復号解析装置２１０は、アドレス復号部１１１およびデータ復号部１３６を備えた、ロジックアナライザやＲＯＭチェッカ等で実現可能である。
【００２３】
今、ＭＯＤＥＡ、ＭＯＤＥＢにハイレベルのデジタル信号を供給したとき、この遊技機用ＣＰＵ１０１が検査モードになり、検査機関が遊技機用ＣＰＵ１０１を検査するものとして動作説明を行う。
ＣＰＵコア３０がＥＰＲＯＭ４０に記憶されているプログラムにしたがって動作すると、バス８０を介してＣＰＵ内部では実アドレスおよび実データが送受される。そして、出力処理部７１は、実アドレスおよび実データを暗号化してＭＡＤＲ０〜ＭＡＤＲ１５、ＭＤ０〜ＭＤ７から出力するとともに、特定エリアアクセス時には、実データをＤ０〜Ｄ７から出力する。また、特定エリアアクセスの場合には、チップセレクト部６１のアドレスデコード動作によって、対応するチップセレクト信号が外部出力され、このＤ０〜Ｄ７及びチップセレクト信号により周辺回路を正常にアクセスすることが可能となる。
【００２４】
そして、検査機関が復号解析装置２１０を遊技機用ＣＰＵ１０１に装着して検査を行うと、暗号化された実アドレスはアドレス復号部１１１によって復号されるとともに、暗号化された実データ（ＭＤ０〜ＭＤ７）はデータ復号部１３６によって復号され、両者は解析部１５１に出力される。
さらに、解析部１５１では、得られた実データと実アドレス及びコントロール信号を用いた逆アセンブルトレース等を行ってＣＰＵのプログラムが異常なく開発されたか否かをチェックする。
【００２５】
したがって、この実施の形態によれば、暗号化を行わない実データやチップセレクト信号がＤ０〜Ｄ７、ＣＳ０〜ＣＳ１５を介して特定エリアアクセス時に出力されるため、遊技機の開発者は通常通りの開発作業が行えるという効果が得られる。しかも、Ｄ０〜Ｄ７、ＣＳ０〜ＣＳ１５に実データやチップセレクト信号が出力されるのは特定エリアアクセス時のみであり、それ以外はハイインピーダンス等のノンアクティブ状態となるので、実データやチップセレクト信号を参照してプログラム全体を第三者が解読するのは困難である。
【００２６】
図６は、本発明の第３の実施の形態にかかる遊技機用ＣＰＵ１０２のブロック構成図である。この実施の形態は、チップセレクト信号を出力するチップセレクト部を設けず、遊技機用ＣＰＵ１０２が、特定エリアアクセス時には、実データと実アドレス信号を外部出力可能になっている点に特徴がある。
この遊技機用ＣＰＵ１０２は、モード制御部１０と、汎用機能部２０と、ＥＰＲＯＭ４０と、ＥＥＰＲＯＭ４５と、ＲＡＭ５０と、モニター用データ（ＭＤ０〜ＭＤ７）、モニター用アドレス（ＭＡＤＲ０〜ＭＡＤＲ１５）、所定エリアアクセス時の実データ（Ｄ０〜Ｄ７）、および、所定エリアアクセス時の実アドレス（ＡＤＲ０〜ＡＤＲ１５）を出力する端子とを備え各種の機能を有する出力処理部７２と、ＣＰＵコア３０とを有していて、各構成部はバス８０で情報を送受可能に接続されている。なお、図１に示す符号と同一の符号を付したものは、図１の構成要素と同一のものであり、以下、実アドレスおよび実データを暗号化するものとする。
【００２７】
出力処理部７２は、まず、１６ビットの実アドレス信号（ＡＤＲ０〜ＡＤＲ１５）を前述したようなスクランブル結線により暗号化してＭＡＤＲ０〜ＭＡＤＲ１５から出力するとともに、８ビットの実データ信号（Ｄ０〜Ｄ７）を同じく暗号化してＭＤ０〜ＭＤ７から出力する。なお、前述したようなＳＤ信号を出力するようにしておけばよいが、実アドレスおよび実データを常に暗号化する場合には必ずしも必要とはならないので、ここでは削除している。
この実施の形態における所定エリアは、前述してきたようにチップセレクト信号の信号線数では限定されず、仮想的は１６本のアドレス線で定まるいかなるエリアをも所定エリアとして定めうる。
【００２８】
なお、この遊技機用ＣＰＵ１０２に対しては、検査機関は図５に示す復号解析装置２１０を用いればよい。さて、ＣＰＵコア３０がＥＰＲＯＭ４０に記憶されているプログラムにしたがって動作すると、バス８０を介してＣＰＵ内部では実アドレスおよび実データが送受される。そして、出力処理部７２は、実アドレスおよび実データを暗号化してＭＡＤＲ０〜ＭＡＤＲ１５、ＭＤ０〜ＭＤ７から出力するとともに、所定エリアアクセス時には実アドレスおよび実データを夫々ＡＤＲ０〜ＡＤＲ１５、ＭＤ０〜ＭＤ７から出力する。
【００２９】
そして、検査機関が復号解析装置２１０を遊技機用ＣＰＵ１０２に装着して検査を行うと、暗号化されたアドレス（ＭＡＤＲ０〜ＭＡＤＲ１５）はアドレス復号部１１１によって復号されるとともに、暗号化されたデータ（ＭＤ０〜ＭＤ７）はデータ復号部１３６によって復号され、両者は解析部１５１に出力される。
さらに、解析部１５１では、得られた実データと実アドレスを用いた逆アセンブルトレース等を行ってＣＰＵのプログラムが異常なく開発されたか否かをチェックする。
【００３０】
したがって、この実施の形態によれば、暗号化を行わない実アドレスおよび実データが、ＡＤＲ０〜ＡＤＲ１５、Ｄ０〜Ｄ７から特定エリアアクセス時に出力されるため、遊技機の開発者は通常通りの開発作業が行えるという効果が得られる。しかも、チップセレクト信号線の数で特定エリアの範囲が限定されないので、特定エリアの範囲を広げることができ設計自由度の大きな汎用性を有するＣＰＵを実現可能になる。さらに、実アドレスや実データが出力されるのは、特定エリアアクセス時のみなので、実アドレスや実データを参照してプログラム全体を第三者が解読するのは困難である。
尚、この特定エリアは、予め想定されるエリア、例えば、２０００（Ｈ）〜２０１Ｆ（Ｈ）等に固定しても良いし、出力処理部にアドレス設定部等を設け、可変にできる様構成しても良い。
【００３１】
図７は、本発明の第４の実施の形態にかかる遊技機用ＣＰＵ１０３のブロック構成図である。この実施の形態は、第１の実施の形態において、チップセレクト部を設けず、特定エリアアクセス時には、実アドレス信号を外部出力可能にした点に特徴がある。
この遊技機用ＣＰＵ１０３は、モード制御部１０と、汎用機能部２０と、ＥＰＲＯＭ４０と、ＥＥＰＲＯＭ４５と、ＲＡＭ５０と、モニター用データ（ＭＤ０〜ＭＤ７）、モニター用アドレス（ＭＡＤＲ０〜ＭＡＤＲ１６）、および、実アドレス信号（ＡＤＲ０〜ＡＤＲ１５）を出力する端子を備え各種の機能を有する出力処理部７３と、ＣＰＵコア３０とを有していて、各構成部はバス８０で情報を送受可能に接続されている。なお、図１に示す符号と同一の符号を付したものは、図１の構成要素と同一のものであり、以下、実アドレスおよび実データを暗号化するものとする。
【００３２】
出力処理部７０は、１６ビットの実アドレス信号（ＡＤＲ０〜ＡＤＲ１５）を前述したようなスクランブル結線により暗号化してＭＡＤＲ０〜ＭＡＤＲ１５から出力するとともに、所定エリアアクセス時以外には、８ビットの実データ信号（Ｄ０〜Ｄ７）を同じく暗号化してＭＤ０〜ＭＤ７から出力し、さらに、特定エリアアクセス時には実アドレス信号（ＡＤＲ０からＡＤＲ１５）を出力する。なお、ＭＡＤＲ１６は、前述したようなＳＤ信号を出力するようにしておけばよい。
この実施の形態における所定エリアも、前述してきたようにチップセレクト信号の信号線数では限定されず、仮想的は１６本のアドレス線で定まるいかなるエリアをも所定エリアとして定めうる。この遊技機用ＣＰＵ１０３に対しては、検査機関は図１に示す復号解析装置２００を用いればよい。
【００３３】
今、ＭＯＤＥＡ、ＭＯＤＥＢにハイレベルのデジタル信号を供給したとき、この遊技機用ＣＰＵ１３０が検査モードになり、検査機関が遊技機用ＣＰＵ１０３を検査するものとして動作説明を行う。
ＣＰＵコア３０がＥＰＲＯＭ４０に記憶されているプログラムにしたがって動作すると、バス８０を介してＣＰＵ内部では実アドレスおよび実データが送受される。そして、出力処理部７３は、実アドレスおよび実データを暗号化してＭＡＤＲ０〜ＭＡＤＲ１５、ＭＤ０〜ＭＤ７から出力する。このとき、特定エリアアクセスの場合には、ＳＤ信号が「０」となって出力されるとともに、実アドレスがＡＤＲ０〜ＡＤＲ１５から出力されると共に、ＭＤ０〜ＭＤ７にも暗号化されていない実データが出力される。
【００３４】
そして、検査機関が復号解析装置２００を遊技機用ＣＰＵ１０３に装着して検査を行うと、暗号化された実アドレスはアドレス復号部１１０によって復号されて解析部１５０に出力されるとともに、ＭＤ０〜ＭＤ７から出力されるデータ情報は、判定部１２０がＳＤ信号が「１」であると判定した場合にはデータ復号部１３５によって復号されて解析部１５０に出力され、また、判定部１２０がＳＤ信号が「１」でないと判定した場合には、所定エリアアクセス時であるため、データ非復号部１４０を介して実データがそのまま解析部１５０に出力される。
【００３５】
そして、解析部１５０では、得られた実データと実アドレスを用いた逆アセンブルトレース等を行ってＣＰＵのプログラムが異常なく開発されたか否かをチェックする。
この実施の形態によれば、暗号化を行わない実アドレスが、ＡＤＲ０〜ＡＤＲ１５から特定エリアアクセス時に出力されるため、遊技機の開発者は通常通りの開発作業が行えるという効果が得られる。しかも、チップセレクト信号線の数で特定エリアの範囲が限定されないので、特定エリアの範囲を広げることができ設計自由度の大きな汎用性を有するＣＰＵを実現可能になる。さらに、実アドレスが出力されるのは、特定エリアアクセス時のみなので、実アドレスを参照してプログラム全体を第三者が解読するのは困難である。
【００３６】
図８、図９は夫々、本発明の第５の実施の形態にかかる遊技機用ＣＰＵ１０４、これに対応する復号解析装置２２０のブロック構成図である。この実施の形態は、遊技機用ＣＰＵ１０４が行う暗号化手順を所定のパターンで変更することや、チップセレクト信号およびアドレスの下位数ビットの信号を用いて特定エリアアクセス用のアドレス信号を生成可能としたことに特徴がある。
【００３７】
この遊技機用ＣＰＵ１０４は、モード制御部１０と、汎用機能部２０と、ＥＰＲＯＭ４０と、ＥＥＰＲＯＭ４５と、ＲＡＭ５０と、１２ビットの実アドレス信号（ＡＤＲ４〜ＡＤＲ１５）から４つのチップセレクト信号（ＣＳ０〜ＣＳ３）を生成して外部出力するチップセレクト部６２と、モニター用データ（ＭＤ０〜ＭＤ７）、モニター用アドレス（ＭＡＤＲ０〜ＭＡＤＲ１９）、所定エリアアクセス時の実データ（Ｄ０〜Ｄ７）、および、所定エリアアクセス時の実アドレスの下位４ビット（ＡＤＲ０〜ＡＤＲ３）を出力する端子とを備え各種の機能を有する出力処理部７４と、ＣＰＵコア３０とを有していて、各構成部はバス８０で情報を送受可能に接続されている。さらに、出力処理部７４には、暗号化手順を所定パターンで変更する暗号化手順切替部９０が内蔵されている。
【００３８】
なお、図１に示す符号と同一の符号を付したものは、図１の構成要素と同一のものであり、以下、実アドレスおよび実データを暗号化するものとする。出力処理部７４は、１６ビットの実アドレス信号（ＡＤＲ０〜ＡＤＲ１５）を前述したようなスクランブル結線及び公知の暗号化手段に基づき暗号化して、すなわち、スクランブルと暗号化演算の両者により暗号化して出力するが、このとき、アドレスモニター端子からは暗号化手順の種類を特定するための情報（ＳＤ０〜ＳＤ３）が出力されるようになっている。
【００３９】
これを図１０を参照して説明する。実アドレスデータは、モニター端子にスクランブルされて割り当てられ、具体的には、１６ビットのデータがモニター端子に割り当てられる。このような割り当てパターンは、１つの暗号化手順に相当する。そこで、今、４種類の割り当てパターンが存在することを想定し、いずれの割り当てを採用したかをＳＤ０〜ＳＤ３のいずれかを「１」として４ビットのデータで表現するものとする。
【００４０】
また、図１０ではスクランブル結線の様子を示している。図１０に示すように、「ＭＡＤＲ３」、「ＭＡＤＲ８」、「ＭＡＤＲ１２」、および、「ＭＡＤＲ１８」の夫々に、「ＳＤ０」、「ＳＤ３」、「ＳＤ１」、「ＳＤ２」を対応させるものとする。暗号化手順切替部９０は、所定パターンで使用する暗号化手順（暗号化の演算内容）を変更し、用いている暗号手順に対応するＳＤ信号を「１」とし、モニター端子に出力する。ここでは、暗号化アドレスとＳＤ信号をスクランブル結線としたが、さらに暗号化データも含めてスクランブルすると尚効果的である。
【００４１】
なお、暗号化手順は、具体的には、例えば、元データに対し、１対１の変換を行うテーブルにより、別のデータに変換する手段を用い、この変換テーブルを用いる変換テーブルの数だけ準備し、いずれかのテーブルを切り替え可能なようにしておけばよい。この変換テーブルの変更は、ランダムまたは所定時間毎に行うように構成しておけばよい。
図１３にこの変換テーブルの一例を示す。図中、元データはテーブルとして用意されるものではなく理解しやすいように図に加えたものである。変換テーブルは、テーブル１、テーブル２、…、以下必要と思われる分準備される。ここにおいては、ＳＤ信号の数がテーブルの数に相当するため図示しない分も含め、４種類となる。ＳＤ０〜ＳＤ３を４ビットの組合せ信号とすれば１６種類まで拡張は可能であり、また、ＳＤ信号の数そのものを増やせば自由に増加可能である。
【００４２】
さて、図において、テーブル１が変換テーブルとして選択された場合を説明すると、元データが８ビットの数値（１６進２桁）、すなわち、２５６通りの数値を有していたとすると、これら個々の値がテーブル１により全く別の数値に変換される。例えば、「００」は「３Ｆ」に、「ＦＤ」は「８９」にといった具合である。この際、この変換は１対１であるため、異なる元データが同一のデータに変換されることはない。換言すれば、テーブル１の数値は２５６通りの異なる種類の数値で構成される。そして、今度は逆に完全な１対１変換であるため、逆変換すなわち復号化も１対１で行われる。
【００４３】
ここで、復号化を具体的に説明すれば、上記暗号化されたデータ「３Ｆ」は「００」に、「８９」は「ＦＤ」に復号される。尚、このテーブルの構成は、全くランダムであり、変換テーブルの配列には何らの規則性を有しないのが望ましい。さて、上記テーブルが他のテーブル、例えば、テーブル２に切り替わると「００」は「８Ａ」に、「ＦＤ」は「Ｃ９」に暗号化される。この様に、テーブルが切り替わると同一元データに対し、全く異なる値に変換され、これがモニターバスに出力されるためそれをもって、元データを類推し、解析するのは困難を極めることになる。データ線のスクランブルも一種の暗号化であり、それ自体効果はあるが、その変換には必ず規則性が伴うため解析されやすい。具体的に言えば、通常の解析装置への結線方法を解読すれば復号可能となってしまう。
【００４４】
しかし、これに加えて上述した様にさらなる暗号化を行えば、その複合には全ての変換テーブルデータ、テーブルの切り替え対応を解析、把握せねばならず相当な困難を伴う事になる。もちろん、本発明においては、暗号化そのものは他の公知のさらに高度な手段をもっても可能であることは言うまでもない。
また、出力処理部７４は、８ビットの実データ信号（Ｄ０〜Ｄ７）を同じく暗号化してＭＤ０〜ＭＤ７から出力する。次に、図９に示す復号解析装置２２０は、ＭＡＤＲ０〜ＭＡＤＲ１９から暗号化されたアドレス信号、ＳＤ信号を入力し、ＳＤ信号で指定される暗号化手順（上記例においてはテーブルの種類に相当）に対応する復号手順でアドレスの復号を行うアドレス復号部１１２と、ＭＤ０〜ＭＤ７およびＳＤ０〜ＳＤ３から暗号化されたデータ信号、ＳＤ信号を入力し、ＳＤ信号で指定される暗号化手順に対応する復号手順でデータの復号を行うデータ復号部１３７と、アドレス復号部１１２およびデータ復号部１３７の出力を入力して、例えば、逆アセンブルトレースしてその結果を出力可能な解析部１５２とを有している。このような復号解析装置２２０は、アドレス復号部１１２およびデータ復号部１３７を備えた、ロジックアナライザやＲＯＭチェッカ等で実現可能である。尚、上記暗号化の例に対応する復号化としては全く同一のテーブルを用い、逆変換を行う事で実現できる。
【００４５】
今、ＭＯＤＥＡ、ＭＯＤＥＢにハイレベルのデジタル信号を供給したとき、この遊技機用ＣＰＵ１０４が検査モードになり、検査機関が遊技機用ＣＰＵ１０４を検査するものとして動作説明を行う。
ＣＰＵコア３０がＥＰＲＯＭ４０に記憶されているプログラムにしたがって動作すると、バス８０を介してＣＰＵ内部では実アドレスおよび実データが送受される。そして、出力処理部７４は、実アドレスおよび実データを暗号化してＭＡＤＲ０〜ＭＡＤＲ１９の中のスクランブルされた１６本と、ＭＤ０〜ＭＤ７から出力するとともに、ＭＡＤＲ０〜ＭＡＤＲ０１９の中のＳＤ０〜ＳＤ３には、その時点における暗号化手順の種類データが出力される。さらに、特定エリアアクセス時には、実データ、実アドレスの下位４ビットをＭＤ０〜ＭＤ７、ＡＤＲ０〜ＡＤＲ３から出力する。また、特定エリアアクセスの場合には、チップセレクト部６２のアドレスデコード動作によって、チップセレクト信号（ＣＳ０〜ＣＳ３）が外部出力される。
【００４６】
このＡＤＲ４〜ＡＤＲ１５のアドレスデコード信号であるＣＳ０〜ＣＳ３と、実アドレスの下位４ビットをＣＰＵ外部でさらにデコードする事で所定エリアのアクセス信号を生成可能となり、周辺回路を正常にアクセスできる。
そして、検査機関が復号解析装置２２０を遊技機用ＣＰＵ１０４に装着して検査を行うと、暗号化された実アドレスは暗号化に用いられた暗号化手順に対応する復号化手順によってアドレス復号部１１２によって復号されるとともに、暗号化された実データ（ＭＤ０〜ＭＤ７）は暗号化に用いられた暗号化手順に対応する復号化手順によってデータ復号部１３７によって復号され、両者は解析部１５２に出力される。
【００４７】
さらに、解析部１５２では、得られた実データと実アドレスを用いた逆アセンブルトレース等を行ってＣＰＵのプログラムが異常なく開発されたか否かをチェックする。
この実施の形態によれば、暗号化手順切替部９０が、暗号化手法使用パターンに基づいて、様々な暗号化手法によって暗号化を行うので、第三者のデータ解析が一層厳重に防止可能になる。さらに、チップセレクト信号とアドレスの下位所定ビットの信号を用いて、特定アクセスエリアの範囲を自由に設定することが可能となる。例えば、チップセレクト信号ＣＳ０がアドレス「２００Ｘ（Ｈ）（Ｘは、０〜Ｆ（Ｈ））」とすると、このＸを４ビットのアドレス信号ＡＤＲ０〜ＡＤＲ４で定めると、「２０００（Ｈ）」から「２００Ｆ（Ｈ）」までの１６番地が指定可能となり、結局、チップセレクト信号をＣＳ０からＣＳ３までの４種類とすると、「１６×４＝６４」番地のアドレスがアクセス可能となる。
【００４８】
図１１は、本発明の第６の実施の形態にかかる遊技機用ＣＰＵ１０５のブロック構成図である。この実施の形態は、遊技機用ＣＰＵ１０５が、チップセレクト部６０が生成するチップセレクト信号でイネーブル可能なラッチＩＣを含んで構成された、外部出力ポートを備えた汎用入出力ポート９０を備えている点に特徴がある。
この遊技機用ＣＰＵ１０５は、モード制御部１０と、汎用機能部２０と、ＥＰＲＯＭ４０と、ＥＥＰＲＯＭ４５と、ＲＡＭ５０と、モニター用アドレス（ＭＡＤＲ０〜ＭＡＤＲ１９）およびモニター用データ（ＭＤ０〜ＭＤ７）を出力する端子とを備え各種の機能を有する出力処理部７５と、入出力用（ＰＡ０〜ＰＡ７、ＰＢ０〜ＰＢ７）、入力専用（ＰＣ０〜ＰＣ７、ＰＤ０〜ＰＤ７）、および、出力専用（ＰＥ０〜ＰＥ７、ＰＦ０〜ＰＦ７）ポートを備える汎用入出力ポート９５と、ＣＰＵコア３０とを有していて、各構成部はバス８０で情報を送受可能に接続されている。さらに、出力処理部７５には、暗号化手順を所定パターンで変更する暗号化手順切替部９０が内蔵されている。
【００４９】
なお、図１に示す符号と同一の符号を付したものは、図１の構成要素と同一のものであり、以下、実アドレスおよび実データを暗号化するものとする。出力処理部７５は、１６ビットの実アドレス信号（ＡＤＲ０〜ＡＤＲ１５）および８ビットの実データ信号（Ｄ０〜Ｄ７）を前述したようなスクランブル結線と暗号化手順により暗号化して出力するが、このとき、アドレスモニター端子からは暗号化手順の種類を特定するための情報（ＳＤ０〜ＳＤ３）が出力されるようになっている。また、暗号化手順切替部９０は、所定パターンで使用する暗号化手順（変換テーブル）を変更し、用いている暗号化手順に対応するＳＤ信号を「１」とし、モニター端子に出力する。なお、図１０を参照して説明したように、モニターアドレスバスと、リアルバスと、暗号化手順とが対応付けられているものとする。図１２に、汎用入出力ポート９５の構成の一部を示す。この図１２に示す部分は、入出力用ポート（ＰＡ０〜ＰＡ７）の構成するためのもので、内部の１６ビットの実アドレス信号及びコントロール信号からラッチＩＣ６５をイネーブルとするチップセレクト信号を生成して出力するチップセレクト部６０と、このチップセレクト部６０が生成する所定のチップセレクト信号でイネーブルされ（アクティブローまたはアクティブハイ）、データバス上の８ビットのデータをラッチして外部とポートを介して入出力可能なラッチＩＣ６５とを有している。
【００５０】
今、ＭＯＤＥＡ、ＭＯＤＥＢにハイレベルのデジタル信号を供給したとき、この遊技機用ＣＰＵ１０５が検査モードになり、検査機関が遊技機用ＣＰＵ１０５を検査するものとして動作説明を行う。
ＣＰＵコア３０がＥＰＲＯＭ４０に記憶されているプログラムにしたがって動作すると、バス８０を介してＣＰＵ内部では実アドレスおよび実データが送受される。そして、出力処理部７５は、実アドレスおよび実データを暗号化してＭＡＤＲ０〜ＭＡＤＲ１９の中でスクランブルされた１６本と、ＭＤ０〜ＭＤ７から出力する。
【００５１】
また、特定エリアアクセスの場合には、例えば、チップセレクト部６０のアドレスデコード動作によって、チップセレクト信号（ＣＳ０〜ＣＳ３）が出力され、ラッチＩＣ６５がイネーブル状態になって８ビットのデータをラッチして、ポートＰＡ０〜ＰＡ７を介してデータの入出力が行われる。 同様な構成で、他のポートＰＢ０〜ＰＢ７ではデータが入出力され、ポートＰＣ０〜ＰＣ７、ＰＤ０〜ＰＤ７ではデータが入力され、ポートＰＥ０〜ＰＥ７、ＰＦ０〜ＰＦ７ではデータが出力される。
【００５２】
そして、検査機関が復号解析装置２２０を遊技機用ＣＰＵ１５０に装着して検査を行うと、暗号化されたアドレスは暗号化に用いられた暗号化手順に対応する復号化手順によってアドレス復号部１１２によって復号されるとともに、暗号化されたデータ（ＭＤ０〜ＭＤ７）は暗号化に用いられた暗号化手順に対応する復号化手順によってデータ復号部１３７によって復号され、両者は解析部１５２に出力される。さらに、解析部１５２では、得られた実データと実アドレスを用いた逆アセンブルトレース等を行ってＣＰＵのプログラムが異常なく開発されたか否かをチェックする。
【００５３】
このように、この実施の形態によれば、ラッチＩＣとチップセレクト部とを内蔵した汎用入出力ポート９５をＣＰＵ内部に設けたので、外部回路系の複雑化を阻止し、かつ外部拡張のための信号、すなわち、実アドレス及び実データを削除しても十分な機能が得られる。
なお、以上述べてきた各実施の形態において、第１の実施形態で説明したバススルー端子７５や、第５の実施形態で説明した暗号化手順切替部９０を設けた構成にしても良いことは言うまでもない。
【００５４】
以上説明してきた実施の形態によれば、検査機関が正当に所有する復号解析装置を外部から遊技機用ＣＰＵに装着して、暗号化された実アドレスや実データを復号することができるので、復号解析装置を正当に所有する検査機関のみが実アドレスや実データの出力の様子を把握してプログラム検査等を行えるとともに、復号解析装置を正当には所有しない第三者のプログラム解析を厳重に防止可能になる。
【図面の簡単な説明】
【００５５】
【図１】本発明の第１の実施の形態にかかる遊技機用ＣＰＵのブロック構成図である。
【図２】本発明の実施の形態にかかる復号解析装置のブロック構成図である。
【図３】本発明の第１の実施の形態にかかる遊技機用ＣＰＵで用いる暗号化手法の説明図である。
【図４】本発明の第２の実施の形態にかかる遊技機用ＣＰＵのブロック構成図である。
【図５】本発明の他の実施の形態にかかる復号解析装置のブロック構成図である。
【図６】本発明の第３の実施の形態にかかる遊技機用ＣＰＵのブロック構成図である。
【図７】本発明の第４の実施の形態にかかる遊技機用ＣＰＵのブロック構成図である。
【図８】本発明の第５の実施の形態にかかる遊技機用ＣＰＵのブロック構成図である。
【図９】本発明の他の実施の形態にかかる復号解析装置のブロック構成図である。
【図１０】本発明の第５の実施の形態にかかる遊技機用ＣＰＵで用いる暗号化手法の説明図である。
【図１１】本発明の第６の実施の形態にかかる遊技機用ＣＰＵのブロック構成図である。
【図１２】本発明の第６の実施の形態にかかる遊技機用ＣＰＵが備える汎用入出力ポートの一部の構成図である。
【図１３】本発明の第５の実施の形態にかかる遊技機用ＣＰＵで用いる暗号化手法の説明図である。
【符号の説明】
【００５６】
１０  モード制御部
２０  汎用機能部
３０  ＣＰＵコア
４０  ＥＰＲＯＭ
４５  ＥＥＰＲＯＭ
５０  ＲＡＭ
６０  チップセレクト部
６１  チップセレクト部
６２  チップセレクト部
６５  ラッチＩＣ
７０  出力処理部
７１  出力処理部
７２  出力処理部
７３  出力処理部
７４  出力処理部
７５  出力処理部
８０  バス
９０  暗号化手順切替部
９５  汎用入出力ポート
１００  遊技機用ＣＰＵ
１０１  遊技機用ＣＰＵ
１０２  遊技機用ＣＰＵ
１０３  遊技機用ＣＰＵ
１０４  遊技機用ＣＰＵ
１０５  遊技機用ＣＰＵ
１１０  アドレス復号部
１１１  アドレス復号部
１１２  アドレス復号部
１２０  判定部
１３５  データ復号部
１３６  データ復号部
１３７  データ復号部
１４０  データ非復号部
１５０  解析部
１５１  解析部
１５２  解析部
２００  復号解析装置
２１０  復号解析装置
２２０  復号解析装置
【図１】
2007260438.tif 000003
【図２】
2007260438.tif 000004
【図３】
2007260438.tif 000005
【図４】
2007260438.tif 000006
【図５】
2007260438.tif 000007
【図６】
2007260438.tif 000008
【図７】
2007260438.tif 000009
【図８】
2007260438.tif 000010
【図９】
2007260438.tif 000011
【図１０】
2007260438.tif 000012
【図１１】
2007260438.tif 000013
【図１２】
2007260438.tif 000014
【図１３】
2007260438.tif 000015