JP2007260438A - 遊技機用中央演算処理装置 - Google Patents

遊技機用中央演算処理装置 Download PDF

Info

Publication number
JP2007260438A
JP2007260438A JP2007183017A JP2007183017A JP2007260438A JP 2007260438 A JP2007260438 A JP 2007260438A JP 2007183017 A JP2007183017 A JP 2007183017A JP 2007183017 A JP2007183017 A JP 2007183017A JP 2007260438 A JP2007260438 A JP 2007260438A
Authority
JP
Japan
Prior art keywords
data
cpu
output
address
unit
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.)
Pending
Application number
JP2007183017A
Other languages
English (en)
Inventor
Michiharu Akasaka
道春 赤坂
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.)
Heiwa Corp
Original Assignee
Heiwa Corp
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 Heiwa Corp filed Critical Heiwa Corp
Priority to JP2007183017A priority Critical patent/JP2007260438A/ja
Publication of JP2007260438A publication Critical patent/JP2007260438A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Pinball Game Machines (AREA)

Abstract

【課題】動作を第三者に解析されないようにしつつも、検査機関のみにはその動作を解析可能な遊技機用CPUを提供すること。
【解決手段】信号MODEA、MODEBに対応したモードを設定するモード制御部10と、汎用機能を備えた汎用機能部20と、非暗号化プログラムを記憶するEPROM40と、遊技機制御に必要なデータを記憶するEEPROM45と、ワークエリアとして機能するRAM50と、実アドレス信号からチップセレクト信号を生成するチップセレクト部60と、モニター用データ(MD0〜MD7)、モニター用アドレス(MADR0〜MADR16)、および、チップセレクト信号を出力する端子とバススルー端子75とを備え各種の機能を有する出力処理部70と、CPUコア30とを有し、各構成部はバス80で接続されている。
【選択図】 図1

Description

本発明は、パチンコ機等の遊技機を制御するための遊技機用の中央演算処理装置に関する。
今日、パチンコ機等の遊技機を構成する各種の電動部品の制御を行うために、遊技機内部に遊技機用の中央演算処理装置(CPU)が設けられており、このCPUが予め定められたプログラムに従った動作を行うことによって、所定の制御動作が実行可能になっている。そして、このCPUが動作を行う際には、CPU内部のバス上に実アドレスや実データを送出する。
この実アドレスおよび実データのバスは、周辺ICを作動させる信号として用いる他、CPUの動作解析用として、例えばロジックアナライザ等の外部解析機器にも用いられる。
ところで、このCPUを用いた遊技機においては、CPUがプログラムに従った動作を行うのに従って、実アドレスや実データがCPU外部に出力されるため、これを手掛かりに前記ロジックアナライザ等で内蔵されたプログラムを解析し、解析結果を反映して自己に有利なようにプログラムを改ざんする者が現れる可能性がある。
そこで、予めプログラムを暗号化しておき、必要時にはこれを復号化するための復号化回路を設けておき、この復号化回路によって復号化されたプログラムにしたがって、CPUが動作を行うようにすることが提案されていた。
また、解析されない様に、実アドレスを削除したり、代替としてチップセレクト信号のみを出力するものが提案されていた。
しかしながら、このような復号化回路を設けた構成では、コストの増加やCPUの構成が複雑になると共に、プログラムを一旦暗号化する必要があるため、その手間が煩雑となってしまう。また、実アドレスを出力しない構成では、CPU外部には、CPUの動作に伴った何らの情報も出力されないため、逆に、検査機関における検査がそのままでは行えない等の問題点があった。
すなわち、パチンコ機では検査機関の検査が行われなければ販売製品として認められないため、この検査機関によって、CPUの動作等を検査可能な構成にしなければならないという要請に十分応えられなかった。
これらをまとめると、同じCPUにおいて、従来バスの機能を有した上で、不正な第三者には解析されず、検査機関においてはその動作を解析可能であるといった、半ば相矛盾する要求を満たす必要があった。
本発明は、このような従来の課題を解決するためになされたもので、その目的は、動作を第三者に解析されないようにしつつも、検査機関のみにはその動作を解析可能な遊技機用CPUを提供する点にある。
上記目的を達成するために、請求項1に係る発明によれば、遊技機用の中央演算処理装置において、メモリに記憶された暗号化されていないプログラムに従って動作を行う際に、自身の内部で生成されてバスを介して送受されている暗号化されていない実アドレス信号および実データ信号のうちの少なくとも一方を暗号化し、これを前記バスによる前記実アドレス信号および実データ信号の送受タイミングと同一のタイミングでモニター出力する出力処理部を内部に備えたことを特徴とする遊技機用中央演算処理装置が提供される。
これによれば、第三者は実アドレスや実データの出力の様子を把握できず、データ解析が不可能になり、制御プログラムの模倣行為および不正行為を抑止可能となる。さらに、制御プログラムそのものを暗号化する必要がなく、モニターバスの出力フォーマットのみを暗号化すれば良いため、開発作業が大幅に省略される。なお、暗号化は、例えば、自身の外部から装着される復号手段によって復号可能に行えばよい。
以上説明したように、請求項1に係る発明によれば、第三者は実アドレス信号や実データ信号の出力の様子を把握できず、データ解析が不可能になり、制御プログラムの模倣行為および不正行為を抑止可能となる。さらに、制御プログラムそのものを暗号化する必要がなく、モニターバスの出力フォーマットのみを暗号化すれば良いため、開発作業が大幅に省略される。
以下、本発明の実施の形態を、図面を参照しつつ説明する。図1、図2は夫々、本発明の第1の実施の形態にかかる遊技機用CPU100、これに対応する復号解析装置200のブロック構成図である。
この遊技機用CPU100は、2ビットのデジタル信号MODEA、MODEBが与えられるとこれに対応したモードを設定するモード制御部10と、各構成部へのクロック供給やウオッチドックタイマー機能を含む各種の割り込み機能等、通常のCPUが有する汎用機能を備えた汎用機能部20と、暗号化されないプログラムを記憶するワンタイムプログラム型のリードオンリーメモリ(OTP・ROM)であるEPROM40と、遊技機の制御に必要な各種のデータを記憶する電気的書換え可能なリードオンリーメモリであるEEPROM45と、各種の処理の際にワークエリアとして機能するRAM50と、16ビットの実アドレス信号(ADR0〜ADR15)から図示しない16種類までのアドレスに対応して接続可能なラッチIC(各ラッチICに対して、例えば、「7FF0(H)〜7FFF(H)」のアドレスが割り当てられている)をイネーブルするためのチップセレクト信号(CS0〜CS15)を生成するチップセレクト部60と、モニター用データ(MD0〜MD7)、モニター用アドレス(MADR0〜MADR16)、および、チップセレクト信号を出力する端子とバススルー端子75とを備え各種の機能を有する出力処理部70と、図示しないレジスタやALU等を備え、プログラムに従って動作を行うCPUコア30とを有していて、各構成部は、データ線、アドレス線、および、コントロール線を含んでなるバス80で情報を送受可能に接続されている。コントロール線は、一般的なものであり、例えば、モトローラ社製(モトローラは登録商標)のCPU68HC11では、「E、R/W 等」が該当するが、このうち必要に応じコントロール信号として外部に引き出される。
ここで、出力処理部70についてより詳細に説明する。出力処理部70は、16ビットの実アドレス信号(ADR0〜ADR14)をスクランブル結線により暗号化してMADR0〜MADR15から出力する。
ここで暗号化の方法としては最も単純な方法について説明を行ったが、公知の高度な暗号化方法を用いれば尚好ましい。このスクランブル結線は、実アドレスを並び替えてモニターアドレスに割り当てることで実現可能であり図3にこの様子の一例を示す。この例では、実アドレス「ADR0、ADR4、…、ADR15」がモニターアドレス「MADR0、MADR1、…、MADR15」に割り当てられている。なお、MADR16は、16ビットの実アドレスに基づいて所定エリアアクセスを行ったと判断した場合には、「1」それ以外には「0」をとなるSD信号をMADR16から出力する。この所定エリアは、例えば、16種類のラッチIC(図示せず)に割り当てられているアドレス範囲であり、このアドレス範囲の例としては「7FF0(H)〜7FFF(H)」としておけばよい。即ち、この場合、チップセレクト信号CS0〜CS15のいずれかが所定レベル(アクティブ状態)になって出力されれば、SD信号も出力されることになる。
なお、出力処理部70は、データについては、所定エリアアクセス時以外には、同様な手法によって暗号化されたデータを出力するようになっている。そして、各データ線(MD0〜MD7)は各ラッチICに接続されている。
また、出力処理部70は、所定エリアアクセス時にはチップセレクト信号CS0〜CS15のいずれかを所定レベルとして出力するがこれ以外の時にはハイインピーダンス等のノンアクティブ状態となるように構成されている。
さらに、出力処理部70は、CPU内に内蔵するバススルー端子75に、例えば、ハイレベルの信号(制御信号)を供給すれば、実アドレスおよび実データを夫々MADR0〜MADR15、MD0〜MD7から出力するように構成されている。
ここで、バススルー端子の機能についてさらに説明する。この機能を用いると通常暗号化されるバス(アドレスおよびデータ)においては、プログラム開発者が後述する復号解析装置を所有していないため、デバック等が不能である点を解決できる。すなわち、不正な第三者に解析されないためにバスを暗号化した結果、開発者自身も作成過程における動作解析が不能となる問題を解決できる。
すなわち、この機能により、実アドレスおよび実データが常時供給されるため、従来の解析装置で解析可能となる。但し、この設定がここで例示した様に簡単であると、不正な第三者にもこの機能を使用され、解析に利用されてしまうので、例えば、この設定はCPU内部のマスクオプションとして設定され、バススルーされた専用チップとして運用される等の処置が施されるのが望ましい。
すなわち、バススルーの設定がなされたCPUは遊技機メーカに支給され、それにより,開発を行うが実際に量産され、販売されるCPUは、このバススルーしない設定のものがあてがわれる。また、検査機関は、この実際に販売されるタイプのCPUが用いられた遊技機が型式申請され、後述の復号解析装置で検査される。これにより、実際に販売されるCPUが検査されるため、検査の正確性、整合性を完全に満たす事が可能となる。
次に、図2に示す復号解析装置200は、MADR0〜MADR15からアドレス信号を入力して復号するアドレス復号部110と、SD信号(MADR16)を入力してSD信号の状態を判定する判定部120と、判定部120で判定した信号状態が「1」の時、MD0〜MD7からデータ信号を入力して復号するデータ復号部135と、判定部120で判定した信号状態が「0」の時、MD0〜MD7からデータ信号を入力してそのまま出力するデータ非復号部140と、アドレス復号部110、データ復号部135、および、データ非復号部140の出力を入力して例えば逆アセンブルトレースしてその結果を出力可能な解析部150とを有している。このような復号解析装置200は、アドレス復号部110、判定部120、データ復号部135、および、データ非復号部140を備えた、ロジックアナライザやROMチェッカ等で実現可能である。
今、MODEA、MODEBにハイレベルのデジタル信号を供給したとき、この遊技機用CPU100が検査モードになり、検査機関が遊技機用CPU100を検査するものとして動作説明を行う。
CPUコア30がEPROM40に記憶されているプログラムにしたがって動作すると、バス80を介してCPU内部では実アドレスおよび実データが送受される。そして、出力処理部70は、実アドレスおよび実データを暗号化してMADR0〜MADR15、MD0〜MD7として出力する。このとき、特定エリアアクセスの場合には、SD信号が「0」となって出力されるとともに、チップセレクト部60のアドレスデコード動作によって、対応するチップセレクト信号が出力され、かつ、MD0〜MD7には暗号化されていない実データが出力される。
そして、検査機関が復号解析装置200を遊技機用CPU100に装着して検査を行うと、暗号化された実アドレスはアドレス復号部110によって復号されて解析部150に出力される。一方、MD0〜MD7から出力されるデータ信号は、判定部120がSD信号が「1」であると判定した場合にはデータ復号部135によって復号されて解析部150に出力されるとともに、判定部120がSD信号が「1」でないと判定した場合には、所定エリアアクセス時であるため、データ非復号部140を介してCPUから出力される実データがそのまま解析部150に出力される。
そして、解析部150では、得られた実データと実アドレス、及び、解析に必要なコントロール信号を用いた逆アセンブルトレース等を行ってCPUのプログラムが異常なく開発されたか否かをチェックする。
このように、この実施の形態によれば、復号解析装置200を外部から装着して暗号化された実アドレスや実データを復号可能になるので、復号解析装置200を所有する検査機関のみが実アドレスや実データの出力の様子を把握することができるとともに、復号解析装置200を所有しない第三者のデータ解析が厳重に防止可能になる。
なお、この復号解析装置200においては、復号部と解析部を同一装置としたが、復号機能を復号装置として独立させ、解析機能は、従来の解析装置をそのまま流用するよう構成しても良い。
また、特定エリアのアクセス時には、暗号化されないデータを出力するようにすれば、遊技機用CPU100が特定エリアをアクセスする場合には、暗号化を行わない実データおよびそのエリアに対応したチップセレクト信号が出力されるため、遊技機の開発者は特定領域を適切に定めて通常通りの開発作業が行えるという効果が得られる。すなわち、MD0〜MD7及びチップセレクト信号により周辺回路を正常にアクセスする事が可能となる。
しかも、バススルー端子75に制御信号を与えることによって、暗号化されないアドレスおよびデータを出力可能となるため遊技機の開発作業が通常通り行える。なお、この暗号化されないアドレスおよびデータを出力する際に、所定量の遅延を与えて出力して暗号化される場合のタイミングと同一となるようにしておくことも好ましい。
図4、図5は夫々、本発明の第2の実施の形態にかかる遊技機用CPU101、これに対応する復号解析装置210のブロック構成図である。この実施の形態は、遊技機用CPU101が、特定エリアアクセス時には、実データとチップセレクト信号を外部出力可能になっている点に特徴がある。
この遊技機用CPU101は、モード制御部10と、汎用機能部20と、EPROM40と、EEPROM45と、RAM50と、16ビットの実アドレス信号(ADR0〜ADR15)から図示しない16種類までのアドレスに対応して接続可能なラッチIC(各ラッチICに対して、例えば、「7FF0(H)〜7FFF(H)」のアドレスが割り当てられている)をイネーブルするためのチップセレクト信号(CS0〜CS15)を生成して外部出力するチップセレクト部61と、モニター用データ(MD0〜MD7)、モニター用アドレス(MADR0〜MADR16)、および、所定エリアアクセス時の実データ(D0〜D7)を出力する端子とを備え各種の機能を有する出力処理部71と、CPUコア30とを有していて、各構成部はバス80で情報を送受可能に接続されている。なお、図1に示す符号と同一の符号を付したものは、図1の構成要素と同一のものであり、以下、実アドレスおよび実データを暗号化するものとする。
出力処理部71は、16ビットの実アドレス信号(ADR0〜ADR15)を前述したようなスクランブル結線により暗号化してMADR0〜MADR15から出力するとともに、8ビットの実データ信号(D0〜D7)を同じく暗号化してMD0〜MD7から出力する。なお、MADR16は、前述したようなSD信号を出力するようにしておけばよいが、実アドレスおよび実データを常に暗号化して出力する場合には必ずしも必要とはならない。図面上には記載されているが、以下図の説明においては、MADR16が削除された場合についての内容とする。
図5に示す復号解析装置210は、MADR0〜MADR15からアドレス信号を入力して復号するアドレス復号部111と、MD0〜MD7からデータ信号を入力して復号するデータ復号部136と、アドレス復号部111およびデータ復号部136の出力及びコントロール信号を入力して例えば逆アセンブルトレースしてその結果を出力可能な解析部151とを有している。このような復号解析装置210は、アドレス復号部111およびデータ復号部136を備えた、ロジックアナライザやROMチェッカ等で実現可能である。
今、MODEA、MODEBにハイレベルのデジタル信号を供給したとき、この遊技機用CPU101が検査モードになり、検査機関が遊技機用CPU101を検査するものとして動作説明を行う。
CPUコア30がEPROM40に記憶されているプログラムにしたがって動作すると、バス80を介してCPU内部では実アドレスおよび実データが送受される。そして、出力処理部71は、実アドレスおよび実データを暗号化してMADR0〜MADR15、MD0〜MD7から出力するとともに、特定エリアアクセス時には、実データをD0〜D7から出力する。また、特定エリアアクセスの場合には、チップセレクト部61のアドレスデコード動作によって、対応するチップセレクト信号が外部出力され、このD0〜D7及びチップセレクト信号により周辺回路を正常にアクセスすることが可能となる。
そして、検査機関が復号解析装置210を遊技機用CPU101に装着して検査を行うと、暗号化された実アドレスはアドレス復号部111によって復号されるとともに、暗号化された実データ(MD0〜MD7)はデータ復号部136によって復号され、両者は解析部151に出力される。
さらに、解析部151では、得られた実データと実アドレス及びコントロール信号を用いた逆アセンブルトレース等を行ってCPUのプログラムが異常なく開発されたか否かをチェックする。
したがって、この実施の形態によれば、暗号化を行わない実データやチップセレクト信号がD0〜D7、CS0〜CS15を介して特定エリアアクセス時に出力されるため、遊技機の開発者は通常通りの開発作業が行えるという効果が得られる。しかも、D0〜D7、CS0〜CS15に実データやチップセレクト信号が出力されるのは特定エリアアクセス時のみであり、それ以外はハイインピーダンス等のノンアクティブ状態となるので、実データやチップセレクト信号を参照してプログラム全体を第三者が解読するのは困難である。
図6は、本発明の第3の実施の形態にかかる遊技機用CPU102のブロック構成図である。この実施の形態は、チップセレクト信号を出力するチップセレクト部を設けず、遊技機用CPU102が、特定エリアアクセス時には、実データと実アドレス信号を外部出力可能になっている点に特徴がある。
この遊技機用CPU102は、モード制御部10と、汎用機能部20と、EPROM40と、EEPROM45と、RAM50と、モニター用データ(MD0〜MD7)、モニター用アドレス(MADR0〜MADR15)、所定エリアアクセス時の実データ(D0〜D7)、および、所定エリアアクセス時の実アドレス(ADR0〜ADR15)を出力する端子とを備え各種の機能を有する出力処理部72と、CPUコア30とを有していて、各構成部はバス80で情報を送受可能に接続されている。なお、図1に示す符号と同一の符号を付したものは、図1の構成要素と同一のものであり、以下、実アドレスおよび実データを暗号化するものとする。
出力処理部72は、まず、16ビットの実アドレス信号(ADR0〜ADR15)を前述したようなスクランブル結線により暗号化してMADR0〜MADR15から出力するとともに、8ビットの実データ信号(D0〜D7)を同じく暗号化してMD0〜MD7から出力する。なお、前述したようなSD信号を出力するようにしておけばよいが、実アドレスおよび実データを常に暗号化する場合には必ずしも必要とはならないので、ここでは削除している。
この実施の形態における所定エリアは、前述してきたようにチップセレクト信号の信号線数では限定されず、仮想的は16本のアドレス線で定まるいかなるエリアをも所定エリアとして定めうる。
なお、この遊技機用CPU102に対しては、検査機関は図5に示す復号解析装置210を用いればよい。さて、CPUコア30がEPROM40に記憶されているプログラムにしたがって動作すると、バス80を介してCPU内部では実アドレスおよび実データが送受される。そして、出力処理部72は、実アドレスおよび実データを暗号化してMADR0〜MADR15、MD0〜MD7から出力するとともに、所定エリアアクセス時には実アドレスおよび実データを夫々ADR0〜ADR15、MD0〜MD7から出力する。
そして、検査機関が復号解析装置210を遊技機用CPU102に装着して検査を行うと、暗号化されたアドレス(MADR0〜MADR15)はアドレス復号部111によって復号されるとともに、暗号化されたデータ(MD0〜MD7)はデータ復号部136によって復号され、両者は解析部151に出力される。
さらに、解析部151では、得られた実データと実アドレスを用いた逆アセンブルトレース等を行ってCPUのプログラムが異常なく開発されたか否かをチェックする。
したがって、この実施の形態によれば、暗号化を行わない実アドレスおよび実データが、ADR0〜ADR15、D0〜D7から特定エリアアクセス時に出力されるため、遊技機の開発者は通常通りの開発作業が行えるという効果が得られる。しかも、チップセレクト信号線の数で特定エリアの範囲が限定されないので、特定エリアの範囲を広げることができ設計自由度の大きな汎用性を有するCPUを実現可能になる。さらに、実アドレスや実データが出力されるのは、特定エリアアクセス時のみなので、実アドレスや実データを参照してプログラム全体を第三者が解読するのは困難である。
尚、この特定エリアは、予め想定されるエリア、例えば、2000(H)〜201F(H)等に固定しても良いし、出力処理部にアドレス設定部等を設け、可変にできる様構成しても良い。
図7は、本発明の第4の実施の形態にかかる遊技機用CPU103のブロック構成図である。この実施の形態は、第1の実施の形態において、チップセレクト部を設けず、特定エリアアクセス時には、実アドレス信号を外部出力可能にした点に特徴がある。
この遊技機用CPU103は、モード制御部10と、汎用機能部20と、EPROM40と、EEPROM45と、RAM50と、モニター用データ(MD0〜MD7)、モニター用アドレス(MADR0〜MADR16)、および、実アドレス信号(ADR0〜ADR15)を出力する端子を備え各種の機能を有する出力処理部73と、CPUコア30とを有していて、各構成部はバス80で情報を送受可能に接続されている。なお、図1に示す符号と同一の符号を付したものは、図1の構成要素と同一のものであり、以下、実アドレスおよび実データを暗号化するものとする。
出力処理部70は、16ビットの実アドレス信号(ADR0〜ADR15)を前述したようなスクランブル結線により暗号化してMADR0〜MADR15から出力するとともに、所定エリアアクセス時以外には、8ビットの実データ信号(D0〜D7)を同じく暗号化してMD0〜MD7から出力し、さらに、特定エリアアクセス時には実アドレス信号(ADR0からADR15)を出力する。なお、MADR16は、前述したようなSD信号を出力するようにしておけばよい。
この実施の形態における所定エリアも、前述してきたようにチップセレクト信号の信号線数では限定されず、仮想的は16本のアドレス線で定まるいかなるエリアをも所定エリアとして定めうる。この遊技機用CPU103に対しては、検査機関は図1に示す復号解析装置200を用いればよい。
今、MODEA、MODEBにハイレベルのデジタル信号を供給したとき、この遊技機用CPU130が検査モードになり、検査機関が遊技機用CPU103を検査するものとして動作説明を行う。
CPUコア30がEPROM40に記憶されているプログラムにしたがって動作すると、バス80を介してCPU内部では実アドレスおよび実データが送受される。そして、出力処理部73は、実アドレスおよび実データを暗号化してMADR0〜MADR15、MD0〜MD7から出力する。このとき、特定エリアアクセスの場合には、SD信号が「0」となって出力されるとともに、実アドレスがADR0〜ADR15から出力されると共に、MD0〜MD7にも暗号化されていない実データが出力される。
そして、検査機関が復号解析装置200を遊技機用CPU103に装着して検査を行うと、暗号化された実アドレスはアドレス復号部110によって復号されて解析部150に出力されるとともに、MD0〜MD7から出力されるデータ情報は、判定部120がSD信号が「1」であると判定した場合にはデータ復号部135によって復号されて解析部150に出力され、また、判定部120がSD信号が「1」でないと判定した場合には、所定エリアアクセス時であるため、データ非復号部140を介して実データがそのまま解析部150に出力される。
そして、解析部150では、得られた実データと実アドレスを用いた逆アセンブルトレース等を行ってCPUのプログラムが異常なく開発されたか否かをチェックする。
この実施の形態によれば、暗号化を行わない実アドレスが、ADR0〜ADR15から特定エリアアクセス時に出力されるため、遊技機の開発者は通常通りの開発作業が行えるという効果が得られる。しかも、チップセレクト信号線の数で特定エリアの範囲が限定されないので、特定エリアの範囲を広げることができ設計自由度の大きな汎用性を有するCPUを実現可能になる。さらに、実アドレスが出力されるのは、特定エリアアクセス時のみなので、実アドレスを参照してプログラム全体を第三者が解読するのは困難である。
図8、図9は夫々、本発明の第5の実施の形態にかかる遊技機用CPU104、これに対応する復号解析装置220のブロック構成図である。この実施の形態は、遊技機用CPU104が行う暗号化手順を所定のパターンで変更することや、チップセレクト信号およびアドレスの下位数ビットの信号を用いて特定エリアアクセス用のアドレス信号を生成可能としたことに特徴がある。
この遊技機用CPU104は、モード制御部10と、汎用機能部20と、EPROM40と、EEPROM45と、RAM50と、12ビットの実アドレス信号(ADR4〜ADR15)から4つのチップセレクト信号(CS0〜CS3)を生成して外部出力するチップセレクト部62と、モニター用データ(MD0〜MD7)、モニター用アドレス(MADR0〜MADR19)、所定エリアアクセス時の実データ(D0〜D7)、および、所定エリアアクセス時の実アドレスの下位4ビット(ADR0〜ADR3)を出力する端子とを備え各種の機能を有する出力処理部74と、CPUコア30とを有していて、各構成部はバス80で情報を送受可能に接続されている。さらに、出力処理部74には、暗号化手順を所定パターンで変更する暗号化手順切替部90が内蔵されている。
なお、図1に示す符号と同一の符号を付したものは、図1の構成要素と同一のものであり、以下、実アドレスおよび実データを暗号化するものとする。出力処理部74は、16ビットの実アドレス信号(ADR0〜ADR15)を前述したようなスクランブル結線及び公知の暗号化手段に基づき暗号化して、すなわち、スクランブルと暗号化演算の両者により暗号化して出力するが、このとき、アドレスモニター端子からは暗号化手順の種類を特定するための情報(SD0〜SD3)が出力されるようになっている。
これを図10を参照して説明する。実アドレスデータは、モニター端子にスクランブルされて割り当てられ、具体的には、16ビットのデータがモニター端子に割り当てられる。このような割り当てパターンは、1つの暗号化手順に相当する。そこで、今、4種類の割り当てパターンが存在することを想定し、いずれの割り当てを採用したかをSD0〜SD3のいずれかを「1」として4ビットのデータで表現するものとする。
また、図10ではスクランブル結線の様子を示している。図10に示すように、「MADR3」、「MADR8」、「MADR12」、および、「MADR18」の夫々に、「SD0」、「SD3」、「SD1」、「SD2」を対応させるものとする。暗号化手順切替部90は、所定パターンで使用する暗号化手順(暗号化の演算内容)を変更し、用いている暗号手順に対応するSD信号を「1」とし、モニター端子に出力する。ここでは、暗号化アドレスとSD信号をスクランブル結線としたが、さらに暗号化データも含めてスクランブルすると尚効果的である。
なお、暗号化手順は、具体的には、例えば、元データに対し、1対1の変換を行うテーブルにより、別のデータに変換する手段を用い、この変換テーブルを用いる変換テーブルの数だけ準備し、いずれかのテーブルを切り替え可能なようにしておけばよい。この変換テーブルの変更は、ランダムまたは所定時間毎に行うように構成しておけばよい。
図13にこの変換テーブルの一例を示す。図中、元データはテーブルとして用意されるものではなく理解しやすいように図に加えたものである。変換テーブルは、テーブル1、テーブル2、…、以下必要と思われる分準備される。ここにおいては、SD信号の数がテーブルの数に相当するため図示しない分も含め、4種類となる。SD0〜SD3を4ビットの組合せ信号とすれば16種類まで拡張は可能であり、また、SD信号の数そのものを増やせば自由に増加可能である。
さて、図において、テーブル1が変換テーブルとして選択された場合を説明すると、元データが8ビットの数値(16進2桁)、すなわち、256通りの数値を有していたとすると、これら個々の値がテーブル1により全く別の数値に変換される。例えば、「00」は「3F」に、「FD」は「89」にといった具合である。この際、この変換は1対1であるため、異なる元データが同一のデータに変換されることはない。換言すれば、テーブル1の数値は256通りの異なる種類の数値で構成される。そして、今度は逆に完全な1対1変換であるため、逆変換すなわち復号化も1対1で行われる。
ここで、復号化を具体的に説明すれば、上記暗号化されたデータ「3F」は「00」に、「89」は「FD」に復号される。尚、このテーブルの構成は、全くランダムであり、変換テーブルの配列には何らの規則性を有しないのが望ましい。さて、上記テーブルが他のテーブル、例えば、テーブル2に切り替わると「00」は「8A」に、「FD」は「C9」に暗号化される。この様に、テーブルが切り替わると同一元データに対し、全く異なる値に変換され、これがモニターバスに出力されるためそれをもって、元データを類推し、解析するのは困難を極めることになる。データ線のスクランブルも一種の暗号化であり、それ自体効果はあるが、その変換には必ず規則性が伴うため解析されやすい。具体的に言えば、通常の解析装置への結線方法を解読すれば復号可能となってしまう。
しかし、これに加えて上述した様にさらなる暗号化を行えば、その複合には全ての変換テーブルデータ、テーブルの切り替え対応を解析、把握せねばならず相当な困難を伴う事になる。もちろん、本発明においては、暗号化そのものは他の公知のさらに高度な手段をもっても可能であることは言うまでもない。
また、出力処理部74は、8ビットの実データ信号(D0〜D7)を同じく暗号化してMD0〜MD7から出力する。次に、図9に示す復号解析装置220は、MADR0〜MADR19から暗号化されたアドレス信号、SD信号を入力し、SD信号で指定される暗号化手順(上記例においてはテーブルの種類に相当)に対応する復号手順でアドレスの復号を行うアドレス復号部112と、MD0〜MD7およびSD0〜SD3から暗号化されたデータ信号、SD信号を入力し、SD信号で指定される暗号化手順に対応する復号手順でデータの復号を行うデータ復号部137と、アドレス復号部112およびデータ復号部137の出力を入力して、例えば、逆アセンブルトレースしてその結果を出力可能な解析部152とを有している。このような復号解析装置220は、アドレス復号部112およびデータ復号部137を備えた、ロジックアナライザやROMチェッカ等で実現可能である。尚、上記暗号化の例に対応する復号化としては全く同一のテーブルを用い、逆変換を行う事で実現できる。
今、MODEA、MODEBにハイレベルのデジタル信号を供給したとき、この遊技機用CPU104が検査モードになり、検査機関が遊技機用CPU104を検査するものとして動作説明を行う。
CPUコア30がEPROM40に記憶されているプログラムにしたがって動作すると、バス80を介してCPU内部では実アドレスおよび実データが送受される。そして、出力処理部74は、実アドレスおよび実データを暗号化してMADR0〜MADR19の中のスクランブルされた16本と、MD0〜MD7から出力するとともに、MADR0〜MADR019の中のSD0〜SD3には、その時点における暗号化手順の種類データが出力される。さらに、特定エリアアクセス時には、実データ、実アドレスの下位4ビットをMD0〜MD7、ADR0〜ADR3から出力する。また、特定エリアアクセスの場合には、チップセレクト部62のアドレスデコード動作によって、チップセレクト信号(CS0〜CS3)が外部出力される。
このADR4〜ADR15のアドレスデコード信号であるCS0〜CS3と、実アドレスの下位4ビットをCPU外部でさらにデコードする事で所定エリアのアクセス信号を生成可能となり、周辺回路を正常にアクセスできる。
そして、検査機関が復号解析装置220を遊技機用CPU104に装着して検査を行うと、暗号化された実アドレスは暗号化に用いられた暗号化手順に対応する復号化手順によってアドレス復号部112によって復号されるとともに、暗号化された実データ(MD0〜MD7)は暗号化に用いられた暗号化手順に対応する復号化手順によってデータ復号部137によって復号され、両者は解析部152に出力される。
さらに、解析部152では、得られた実データと実アドレスを用いた逆アセンブルトレース等を行ってCPUのプログラムが異常なく開発されたか否かをチェックする。
この実施の形態によれば、暗号化手順切替部90が、暗号化手法使用パターンに基づいて、様々な暗号化手法によって暗号化を行うので、第三者のデータ解析が一層厳重に防止可能になる。さらに、チップセレクト信号とアドレスの下位所定ビットの信号を用いて、特定アクセスエリアの範囲を自由に設定することが可能となる。例えば、チップセレクト信号CS0がアドレス「200X(H)(Xは、0〜F(H))」とすると、このXを4ビットのアドレス信号ADR0〜ADR4で定めると、「2000(H)」から「200F(H)」までの16番地が指定可能となり、結局、チップセレクト信号をCS0からCS3までの4種類とすると、「16×4=64」番地のアドレスがアクセス可能となる。
図11は、本発明の第6の実施の形態にかかる遊技機用CPU105のブロック構成図である。この実施の形態は、遊技機用CPU105が、チップセレクト部60が生成するチップセレクト信号でイネーブル可能なラッチICを含んで構成された、外部出力ポートを備えた汎用入出力ポート90を備えている点に特徴がある。
この遊技機用CPU105は、モード制御部10と、汎用機能部20と、EPROM40と、EEPROM45と、RAM50と、モニター用アドレス(MADR0〜MADR19)およびモニター用データ(MD0〜MD7)を出力する端子とを備え各種の機能を有する出力処理部75と、入出力用(PA0〜PA7、PB0〜PB7)、入力専用(PC0〜PC7、PD0〜PD7)、および、出力専用(PE0〜PE7、PF0〜PF7)ポートを備える汎用入出力ポート95と、CPUコア30とを有していて、各構成部はバス80で情報を送受可能に接続されている。さらに、出力処理部75には、暗号化手順を所定パターンで変更する暗号化手順切替部90が内蔵されている。
なお、図1に示す符号と同一の符号を付したものは、図1の構成要素と同一のものであり、以下、実アドレスおよび実データを暗号化するものとする。出力処理部75は、16ビットの実アドレス信号(ADR0〜ADR15)および8ビットの実データ信号(D0〜D7)を前述したようなスクランブル結線と暗号化手順により暗号化して出力するが、このとき、アドレスモニター端子からは暗号化手順の種類を特定するための情報(SD0〜SD3)が出力されるようになっている。また、暗号化手順切替部90は、所定パターンで使用する暗号化手順(変換テーブル)を変更し、用いている暗号化手順に対応するSD信号を「1」とし、モニター端子に出力する。なお、図10を参照して説明したように、モニターアドレスバスと、リアルバスと、暗号化手順とが対応付けられているものとする。図12に、汎用入出力ポート95の構成の一部を示す。この図12に示す部分は、入出力用ポート(PA0〜PA7)の構成するためのもので、内部の16ビットの実アドレス信号及びコントロール信号からラッチIC65をイネーブルとするチップセレクト信号を生成して出力するチップセレクト部60と、このチップセレクト部60が生成する所定のチップセレクト信号でイネーブルされ(アクティブローまたはアクティブハイ)、データバス上の8ビットのデータをラッチして外部とポートを介して入出力可能なラッチIC65とを有している。
今、MODEA、MODEBにハイレベルのデジタル信号を供給したとき、この遊技機用CPU105が検査モードになり、検査機関が遊技機用CPU105を検査するものとして動作説明を行う。
CPUコア30がEPROM40に記憶されているプログラムにしたがって動作すると、バス80を介してCPU内部では実アドレスおよび実データが送受される。そして、出力処理部75は、実アドレスおよび実データを暗号化してMADR0〜MADR19の中でスクランブルされた16本と、MD0〜MD7から出力する。
また、特定エリアアクセスの場合には、例えば、チップセレクト部60のアドレスデコード動作によって、チップセレクト信号(CS0〜CS3)が出力され、ラッチIC65がイネーブル状態になって8ビットのデータをラッチして、ポートPA0〜PA7を介してデータの入出力が行われる。 同様な構成で、他のポートPB0〜PB7ではデータが入出力され、ポートPC0〜PC7、PD0〜PD7ではデータが入力され、ポートPE0〜PE7、PF0〜PF7ではデータが出力される。
そして、検査機関が復号解析装置220を遊技機用CPU150に装着して検査を行うと、暗号化されたアドレスは暗号化に用いられた暗号化手順に対応する復号化手順によってアドレス復号部112によって復号されるとともに、暗号化されたデータ(MD0〜MD7)は暗号化に用いられた暗号化手順に対応する復号化手順によってデータ復号部137によって復号され、両者は解析部152に出力される。さらに、解析部152では、得られた実データと実アドレスを用いた逆アセンブルトレース等を行ってCPUのプログラムが異常なく開発されたか否かをチェックする。
このように、この実施の形態によれば、ラッチICとチップセレクト部とを内蔵した汎用入出力ポート95をCPU内部に設けたので、外部回路系の複雑化を阻止し、かつ外部拡張のための信号、すなわち、実アドレス及び実データを削除しても十分な機能が得られる。
なお、以上述べてきた各実施の形態において、第1の実施形態で説明したバススルー端子75や、第5の実施形態で説明した暗号化手順切替部90を設けた構成にしても良いことは言うまでもない。
以上説明してきた実施の形態によれば、検査機関が正当に所有する復号解析装置を外部から遊技機用CPUに装着して、暗号化された実アドレスや実データを復号することができるので、復号解析装置を正当に所有する検査機関のみが実アドレスや実データの出力の様子を把握してプログラム検査等を行えるとともに、復号解析装置を正当には所有しない第三者のプログラム解析を厳重に防止可能になる。
本発明の第1の実施の形態にかかる遊技機用CPUのブロック構成図である。 本発明の実施の形態にかかる復号解析装置のブロック構成図である。 本発明の第1の実施の形態にかかる遊技機用CPUで用いる暗号化手法の説明図である。 本発明の第2の実施の形態にかかる遊技機用CPUのブロック構成図である。 本発明の他の実施の形態にかかる復号解析装置のブロック構成図である。 本発明の第3の実施の形態にかかる遊技機用CPUのブロック構成図である。 本発明の第4の実施の形態にかかる遊技機用CPUのブロック構成図である。 本発明の第5の実施の形態にかかる遊技機用CPUのブロック構成図である。 本発明の他の実施の形態にかかる復号解析装置のブロック構成図である。 本発明の第5の実施の形態にかかる遊技機用CPUで用いる暗号化手法の説明図である。 本発明の第6の実施の形態にかかる遊技機用CPUのブロック構成図である。 本発明の第6の実施の形態にかかる遊技機用CPUが備える汎用入出力ポートの一部の構成図である。 本発明の第5の実施の形態にかかる遊技機用CPUで用いる暗号化手法の説明図である。
符号の説明
10 モード制御部
20 汎用機能部
30 CPUコア
40 EPROM
45 EEPROM
50 RAM
60 チップセレクト部
61 チップセレクト部
62 チップセレクト部
65 ラッチIC
70 出力処理部
71 出力処理部
72 出力処理部
73 出力処理部
74 出力処理部
75 出力処理部
80 バス
90 暗号化手順切替部
95 汎用入出力ポート
100 遊技機用CPU
101 遊技機用CPU
102 遊技機用CPU
103 遊技機用CPU
104 遊技機用CPU
105 遊技機用CPU
110 アドレス復号部
111 アドレス復号部
112 アドレス復号部
120 判定部
135 データ復号部
136 データ復号部
137 データ復号部
140 データ非復号部
150 解析部
151 解析部
152 解析部
200 復号解析装置
210 復号解析装置
220 復号解析装置

Claims (1)

  1. 遊技機用の中央演算処理装置において、
    メモリに記憶された暗号化されていないプログラムに従って動作を行う際に、自身の内部で生成されてバスを介して送受されている暗号化されていない実アドレス信号および実データ信号のうちの少なくとも一方を暗号化し、これを前記バスによる前記実アドレス信号および実データ信号の送受タイミングと同一のタイミングでモニター出力する出力処理部を内部に備えたことを特徴とする遊技機用中央演算処理装置。
JP2007183017A 2007-07-12 2007-07-12 遊技機用中央演算処理装置 Pending JP2007260438A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007183017A JP2007260438A (ja) 2007-07-12 2007-07-12 遊技機用中央演算処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007183017A JP2007260438A (ja) 2007-07-12 2007-07-12 遊技機用中央演算処理装置

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP9248749A Division JPH1176566A (ja) 1997-09-12 1997-09-12 遊技機用中央演算処理装置および復号装置ならびに解析装置

Publications (1)

Publication Number Publication Date
JP2007260438A true JP2007260438A (ja) 2007-10-11

Family

ID=38633967

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007183017A Pending JP2007260438A (ja) 2007-07-12 2007-07-12 遊技機用中央演算処理装置

Country Status (1)

Country Link
JP (1) JP2007260438A (ja)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6370355A (ja) * 1986-09-12 1988-03-30 Hitachi Ltd デ−タ処理システム
JPS63293637A (ja) * 1987-05-27 1988-11-30 Hitachi Ltd デ−タ保護用マイコン
JPS6441947A (en) * 1987-08-07 1989-02-14 Hitachi Ltd Semiconductor integrated circuit
JPH0314147A (ja) * 1989-06-13 1991-01-22 Fujitsu Ltd プログラム暗号化回路
JPH05111564A (ja) * 1991-10-21 1993-05-07 Sankyo Kk 遊技機制御用マイクロコンピユータ
JPH06187246A (ja) * 1992-12-22 1994-07-08 Kawasaki Steel Corp プログラマブルロジックデバイス及びその書き込み器

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6370355A (ja) * 1986-09-12 1988-03-30 Hitachi Ltd デ−タ処理システム
JPS63293637A (ja) * 1987-05-27 1988-11-30 Hitachi Ltd デ−タ保護用マイコン
JPS6441947A (en) * 1987-08-07 1989-02-14 Hitachi Ltd Semiconductor integrated circuit
JPH0314147A (ja) * 1989-06-13 1991-01-22 Fujitsu Ltd プログラム暗号化回路
JPH05111564A (ja) * 1991-10-21 1993-05-07 Sankyo Kk 遊技機制御用マイクロコンピユータ
JPH06187246A (ja) * 1992-12-22 1994-07-08 Kawasaki Steel Corp プログラマブルロジックデバイス及びその書き込み器

Similar Documents

Publication Publication Date Title
US4797928A (en) Encryption printed circuit board
US8001374B2 (en) Memory encryption for digital video
CN100390760C (zh) 半导体装置和电子装置
US4465901A (en) Crypto microprocessor that executes enciphered programs
JP5886375B2 (ja) 不確定性ランダム値発生器
US6366117B1 (en) Nonvolatile/battery-backed key in PLD
US6441641B1 (en) Programmable logic device with partial battery backup
US6981153B1 (en) Programmable logic device with method of preventing readback
JP2002328845A (ja) 半導体集積回路及びicカードのセキュリティー保護方法
CN109933481B (zh) 一种jtag接口的解锁系统及jtag解锁控制方法
US7117372B1 (en) Programmable logic device with decryption and structure for preventing design relocation
JP2006277411A (ja) プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法
JP2004515001A (ja) 解読アルゴリズムおよび解読鍵を有するプログラマブルロジックデバイス
JP2008530663A (ja) マイクロプロセッサのデータセキュリティの方法およびシステム
EP2027551A1 (en) System and method for secure boot across a plurality of processors
JP2004265194A (ja) 情報処理装置、および情報処理方法
US20200228306A1 (en) Configuring a device based on a dpa countermeasure
US8090108B2 (en) Secure debug interface and memory of a media security circuit and method
JPH1176566A (ja) 遊技機用中央演算処理装置および復号装置ならびに解析装置
JP2004361986A (ja) スクランブル回路
CN110990846B (zh) 信息存储方法、设备及计算机可读存储介质
JP2007260438A (ja) 遊技機用中央演算処理装置
JP4363829B2 (ja) 遊技機制御用チップ
JP2007281994A (ja) 半導体集積回路
JP2004070556A (ja) プログラマブルロジックデバイス

Legal Events

Date Code Title Description
A621 Written request for application examination

Effective date: 20070712

Free format text: JAPANESE INTERMEDIATE CODE: A621

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100105

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100511