JP2004097363A - 遊技機制御用チップ及び遊技機制御方法 - Google Patents

遊技機制御用チップ及び遊技機制御方法 Download PDF

Info

Publication number
JP2004097363A
JP2004097363A JP2002261253A JP2002261253A JP2004097363A JP 2004097363 A JP2004097363 A JP 2004097363A JP 2002261253 A JP2002261253 A JP 2002261253A JP 2002261253 A JP2002261253 A JP 2002261253A JP 2004097363 A JP2004097363 A JP 2004097363A
Authority
JP
Japan
Prior art keywords
signal
chip
circuit
random number
gaming machine
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.)
Granted
Application number
JP2002261253A
Other languages
English (en)
Other versions
JP4363829B2 (ja
Inventor
Eiichi Yoshida
吉田 栄一
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.)
LETech Co Ltd
Original Assignee
LETech Co Ltd
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 LETech Co Ltd filed Critical LETech Co Ltd
Priority to JP2002261253A priority Critical patent/JP4363829B2/ja
Publication of JP2004097363A publication Critical patent/JP2004097363A/ja
Application granted granted Critical
Publication of JP4363829B2 publication Critical patent/JP4363829B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Pinball Game Machines (AREA)

Abstract

【課題】外部端子を常時監視(モニタ)し、異常ある場合にCPUの停止、異常情報の通知を行う遊技機制御用チップ及び遊技機制御方法を提供する。
【解決手段】外部端子の入出力を自らチェックする機能を持った遊技機制御用チップを用いた遊技機制御方法であって、所定のデータ値や信号パターン等を設定する期待値設定ステップと、外部端子から入力された信号と、前記期待値設定ステップにて設定された所定のデータ値や信号パターン等の出力信号又はチップ内部の信号を外部端子へ出力する各制御信号とを比較し、不一致の検出を行う不一致検出ステップと、前記不一致検出ステップの結果に基づき、不一致の場合には前記遊技機制御用チップのCPUを停止させたり、その検査対象である外部端子の情報を異常検出信号として外部へ知らせる不一致判定ステップとを有する。
【選択図】    図26

Description

【0001】
【発明が属する技術分野】本発明は、パチンコ遊技機や回胴式遊技機等に使用される遊技機制御用チップ及び遊技機制御方法に関する。
【0002】
【従来の技術】従来の遊技機に使用される遊技機制御用チップにおいて、チップの端子自身が自ら出力した信号や端子へ入力された信号をチェックする機能は、外部装置との照合や通信を行う端子は別にして皆無であった。
【0003】
【発明が解決しようとする課題】その為、不正を行おうとする者が意図的に出力同士を短絡(ショート)させたり、然るべく外部端子に想定できない信号が入力されても、その信号を識別することはできなかった。
本発明は、かかる従来技術の課題に鑑みなされたものである。すなわち、本発明の目的は、外部端子を常時監視(モニタ)し、異常ある場合にCPUの停止、異常情報の通知を行う遊技機制御用チップ及び遊技機制御方法を提供することにある。
【0004】
【課題を解決するための手段】本発明に係る遊技機制御用チップ及び遊技機制御方法では、外部端子における出力データ又は期待値データと入力データ(フィードバックデータ)とを比較する。その時不一致の場合はCPUを停止させたり、検査対象の外部端子からその情報を出力することとした。
【0005】本発明に係る遊技機制御用チップは、セキュリティ機能を有し、遊技機に組み込む遊技機制御用チップであって、外部端子の入出力を自らチェックする機能を持ったバス/信号線制御手段を有するものである。
請求項2に記載した発明は、請求項1に記載の遊技機制御用チップであって、前記バス/信号線制御手段は、制御信号の方向制御や駆動能力の強化をするI/Oバッファと、所定のデータ値や信号パターン等を設定する期待値設定回路と、外部端子から入力された信号と、前記期待値設定回路にて設定された所定のデータ値や信号パターン等の出力信号又はチップ内部の信号を外部端子へ出力する各制御信号とを比較し、不一致の検出を行う不一致検出回路と、前記外部端子へ出力する信号、又は前記期待値設定回路の出力信号のいずれかを選択して前記不一致検出回路へ送出する切換回路と、該切換回路の出力/切換信号の制御や前記不一致検出回路の検出条件設定の制御を行う切換制御回路と、前記不一致検出回路から送られてきた外部端子の信号が不一致であるか否かの判定を行い、一致しなければ,前記遊技機制御用チップのCPUを停止させたり,その検査対象である外部端子の情報を異常検出信号として外部へ知らせる不一致判定回路を有するものである。
【0006】又、本発明に係る遊技機制御方法は、外部端子の入出力を自らチェックする機能を持った遊技機制御用チップを用いた遊技機制御方法であって、外部端子の入出力の異常を検出する異常検出ステップと、該異常検出ステップにて異常を検出した場合に、前記遊技機制御用チップのCPUを停止させたり、その検査対象である外部端子の情報を異常検出信号として外部へ知らせる異常判定ステップとを有するものである。
請求項4に記載した発明は、外部端子の入出力を自らチェックする機能を持った遊技機制御用チップを用いた遊技機制御方法であって、所定のデータ値や信号パターン等を設定する期待値設定ステップと、外部端子から入力された信号と、前記期待値設定ステップにて設定された所定のデータ値や信号パターン等の出力信号又はチップ内部の信号を外部端子へ出力する各制御信号とを比較し、不一致の検出を行う不一致検出ステップと、前記不一致検出ステップの結果に基づき、不一致の場合には前記遊技機制御用チップのCPUを停止させたり、その検査対象である外部端子の情報を異常検出信号として外部へ知らせる不一致判定ステップとを有するものである。
請求項5に記載した発明は、請求項6に記載の遊技機制御方法であって、前記不一致判定ステップにおける処理を前記外部端子毎に実行するものである。
請求項6に記載した発明は、請求項6に記載の遊技機制御方法であって、前記不一致判定ステップにおける処理を前記複数の外部端子について実行するものである。
【0007】
【発明の実施の形態】以下に本発明を図示された実施形態に従って詳細に説明する。
【0008】<チップの形態の説明> 本発明に係る遊技機制御用チップは、遊技機内部の基板上に搭載される集積回路として構成される。チップ種別の分類として、開発用チップと量産用チップとがある。図1を参照しつつ、量産用チップと開発用チップとについて説明する。開発用チップは、セキュリティ判定機能を有しないチップであり、それ以外については量産用チップと同等の機能を有する。量産用チップは、内蔵された記憶手段に記憶されているプログラムが、第三者機関による試験に合格した適正なものであるか否かを判定するセキュリティ判定機能を有する。
更にまた、本発明に係る遊技機制御用チップは、n(nは2以上の自然数である。以下同様)レベルの認証方式を持った外部入出力手段を内蔵しており、検査装置、照合装置、またはホールコンピュータ等の外部装置(以下、外部装置と省略)を接続することにより、用途に合わせた認証レベルでのチップの真贋検査の実施、及びチップ内の情報(ID番号等)を読み出すことが可能である。
【0009】<量産用チップの説明> 量産用チップは、ユーザが消去、再書き込みが不可能なユーザ用ROMを具備しており、図1(a)に示すように、セキュリティチェックの結果が不整合の場合はCPUを停止する。また、指定エリア外走行禁止機能により、設定されたアドレス範囲以外(指定エリア外を示すアドレス範囲である。)でのプログラム実行はできない。ここで、ユーザとは、本発明に係る遊技機制御用チップを遊技機に組み込んで製造・販売を行う遊技機メーカーを指す。
【0010】<開発用チップの説明> 開発用チップは、ユーザが消去、再書き込みが可能なユーザ用ROMを具備しており、図1(b)に示すように、セキュリティチェックの結果に関係無くユーザモードに遷移する。また、指定エリア外走行禁止機能においても、設定可能なアドレス範囲(指定エリアを示すアドレス範囲である。)は制限が無いので、ユーザが自由に開発・デバッグが行えることを可能とする。
【0011】<動作モードの説明> 動作モードとはCPU動作の制御やメモリマッピング、チップに内蔵された各種レジスタへのアクセス権等基本動作を制御するモードであり、セキュリティモードとユーザモードとプログラムモードがある。また、これらのモードとは別に、外部装置との間で通信を行う通信モードを具備する。
【0012】<セキュリティモードの説明> ブート用記憶手段が実行され、各機能の環境設定やセキュリティチェックが行われるモードである。セキュリティモード中は、CPU動作時の内部バスが外部端子に出力されない。
【0013】<セキュリティチェックの説明> ユーザプログラムの認証を行う機能である。システムリセット入力時に、ユーザプログラムを基に計算された認証コードが正しいか否かの再計算を行い,結果がNGの場合はCPUを停止する。認証コードは、ユーザ用記憶手段への書き込み時にユーザプログラムと共に書き込む。
【0014】<ユーザモードの説明> セキュリティチェックを通過した正規のユーザプログラムが実行されるモードである。セキュリティモード中のセキュリティチェックでOKにならないとこのモードには遷移しない。ユーザモード中はCPU動作時の内部バスが外部端子に外部バスとして出力される。なお、ユーザモード中はブート用記憶手段にアクセスすることはできない。
【0015】<プログラムモードの説明> CPUは動作せず、直接ユーザ用ROMにリード/ライトを行うモードである。システムリセット後、PRG端子の所定レベル(例えばハイレベル)により、このモードに遷移する。なお、量産用チップへの書き込みは一度だけ可能であり、開発用チップは消去や再書き込みが可能なものである。
【0016】図2、図3を参照しつつ、遊技機制御用チップに内蔵された各機能ブロックについて説明する。図2、図3に示すc1は、中央処理装置(CPU)である。(以下、CPUと省略)
CPUは、各機能ブロック(以下、便宜上“デバイス”、“回路”と呼称する場合もある。)の制御や指令を行う。
【0017】<タイマシステムの説明> 次に図2、図3に示すタイマシステムc2は、n個(例えば4個等)のnビット(例えば8、16ビット等)カウンタや各種制御レジスタを内蔵し、それぞれ独立したモードで動作が可能である。タイマシステムは、例えばモードとして大別してタイマモード、カウンタモード等があり、リアルタイム割込みの発生や時間計測を行うことを可能とする。上記これらの機能は、タイマシステム内の各種制御レジスタの設定により制御することができる。また、上記機能を実現する為のゲート信号またはトリガ信号の入力用であるタイマ入力バス、タイマシステムで生成された各種タイマ出力信号を外部へ出力する為のタイマ出力バスを具備する。
【0018】<不正実行禁止手段の説明> 次に図2、図3に示す不正実行禁止手段c3は、所定の指定エリア内で遊技機メーカーが作成したユーザプログラムが正しく実行されているかどうか監視し、指定エリア以外でユーザプログラムが実行されるとリセットが発生するものである。例えばメモリ空間全体を64kバイトとした場合、指定エリア(ユーザプログラム実行可能なアドレス範囲)の設定において、その範囲の先頭アドレスをプログラムコードスタートアドレス(以下PCS)として0番地、終了アドレスをプログラムコードエンドアドレス(以下PCE)として1FFF(16進)番地とした場合、2000(16進)〜FFFF(16進)番地の範囲に不正プログラムを格納して実行しようとしても実行することはできない。すなわち、不正実行禁止手段とは指定エリア外での命令実行を禁止する機能であり、あらかじめ指定したアドレス範囲(指定エリア)外で命令が実行(オペコードフェッチ)されると,IAT(Illegal Address Trap)信号を発生する機能である。このIAT信号によりリセットが発生する。この指定エリアの情報は、ユーザプログラムと共にユーザ用ROMに書き込む。
【0019】<暴走監視手段の説明> 次に図2、図3に示すc4は、暴走監視手段である。図6を参照しつつ、暴走監視手段c4の構成を更に詳しく説明する。暴走監視手段c4は、クロック選択手段c4a、nビットカウンタc4b、暴走監視制御手段c4c、動作モード制御手段c4d、制御ワード設定手段c4e、出力制御手段c4fにより構成される。
暴走監視手段c4は、ユーザモードに遷移する際に自動的に起動され、タイムアウト時間が経過すると、タイムアウト信号を発生させる。このタイムアウト信号を受け付けることによりユーザリセットを発生しユーザプログラムのリセットアドレス(例えば0番地等)からユーザプログラムを再実行させる。
また、動作モード制御手段c4d、制御ワード設定手段c4eの各種設定により、
(1)タイムアウト時間の設定・変更、
(2)カウントクリア&リスタート、
(3)動作許可/禁止、
等の設定を可能とする。
【0020】<クロック選択手段の説明>クロック選択手段c4aは、クロック生成手段c9より送られてきたシステムクロックを含む各分周クロックCLKO/m・・・CLKO/mの内1本を選択してnビットカウンタc4bへ送出するものである。
【0021】<nビットカウンタの説明> nビットカウンタc4bは、クロック選択手段c4aより送出された分周クロックをカウンタクロックとしてタイムアウト時間のカウントを行う。
【0022】<暴走監視制御手段の説明> 暴走監視制御手段c4cは、タイムアウト時間の設定の為の制御、nビットカウンタへの動作禁止、クリア、リスタート等の制御を行う。
【0023】<動作モード制御手段の説明> 動作モード制御手段c4dは、タイムアウト時間設定用のカウントクロックの選択、動作許可/動作禁止の制御を行い、またタイムアウト時間を変更することができる。なお、一度タイムアウト時間を変更すると、次のシステムリセットが発生するまで変更できないようにしても良い。
【0024】<制御ワード設定手段の説明> 制御ワード設定手段c4eは、タイムアウト時間のクリア及びリスタート、動作禁止を設定する。例えば制御ワード設定手段c4eに制御ワード(例えばCC(16進))を書き込むことにより暴走監視手段が動作禁止になる。この設定は、例えばシステムリセット後1回のみ可能にしても良い。55(16進)→AA(16進)→33(16進)によりクリア&リスタート(再度カウント開始)することで、タイムアウト時間を延長することができる。なお、制御ワードは3バイト連続して書き込む必要は無い。
【0025】<暴走監視手段の動作説明> 暴走監視手段c4は、ユーザモードに遷移することで自動起動される。タイムアウト時間は動作モード制御手段c4dによって設定され、デフォルト値は最長タイムアウト時間に設定されている。設定はシステムリセット後1回のみ可能とし、再設定はシステムリセットを無くして行うことができない。タイムアウトに達すると、出力制御手段c4fからタイムアウト信号を出力し、暴走監視手段c4の動作はそのまま継続される。
【0026】<リセット/割込制御手段の説明> 次に図2、図3に示すリセット/割込制御手段c5について、図7〜図10をあわせて参照しつつ説明する。リセット/割込制御手段c5は、各種リセットと、外部からの割込み要求や内蔵の周辺回路(タイマシステム)からの割込み要求を制御する。図7はそのリセット/割込制御手段c5の内部ブロック図を示している。
【0027】<システムリセットの説明> システムリセットは、XSRST端子に一定期間のロ−レベルを入力することにより発生するリセットである。外部入出力手段c14の一部の回路を除くCPUを含む内部のすべての回路が初期化され、PRG端子の入力レベルに応じて、セキュリティモードまたはプログラムモードに遷移する。セキュリティモードで異常がなければ、ユーザモードに遷移してユーザプログラムのリセットアドレス(例えば0番地)からユーザプログラムを実行する。XSRST端子から入力された信号は、ノイズフィルタc5aによってチャタリング等のノイズを除去した信号が延長回路c5cを介してCPUに入力され、同様にチップ外部の外部デバイスへのリセット信号としてXRSTO端子より外部へ出力される。図8は、そのXSRST端子に入力された信号がXRSTO端子より外部へ出力される関係をタイミングチャート例として示したものである。
【0028】<ユーザリセットの説明> 次に、ユーザリセットについて説明する。ユーザリセットの要因としては、外部要因としてXURST端子によるユーザリセット要求、内部要因として不正実行禁止手段c3のIAT信号発生によるリセット要求、暴走監視手段c4のタイムアウト信号によるユーザリセット要求等がありえる。これらの要求によるユーザリセットが発生し、ユーザリセットを受け付けると、リセットアドレス(例えば0番地)よりユーザプログラムの実行を開始する。ユーザリセットでは、セキュリティモードまたはプログラムモードには遷移せずに、ユーザモードにとどまったままで、リセットが実行されるものである。また、システムリセットと同様に、XURST端子から入力された信号は、ノイズフィルタc5aによってチャタリング等のノイズを除去した信号が延長回路c5cを介してCPUに入力される。図9(a)は、そのXURST端子に入力された信号によるユーザリセットのタイミングチャートを例として示したものである。また、図9(b)は、内部要因によるユーザリセットのタイミングチャートを例として示したものである。
【0029】<ノンマスカブル割込み(NMI)の説明> 次に、ノンマスカブル割込みについて説明する。ノンマスカブル割込み(NMI)は、CPUの割込み禁止状態でも無条件に受け付けられる割込みであり、すべての割込み要求に対して最優先で処理される。XNMI端子によるノンマスカブル割込みは、ノイズフィルタc5aを介してCPUに入力される。図10は、ノイズフィルタc5aを通過する前と通過後との関係を示すタイミングチャート例としたものである。XNMI信号が一定期間(ここでは4クロックの立ち上がりエッジを検出する間)ローレベルであるとき、ノイズフィルタc5aを通過した信号がNMI信号となりCPUに入力される。
【0030】<マスカブル割込み(INT)の説明> マスカブル割込み(INT)は、ユーザプログラムにより割込み要求の受け付けを許可/禁止できる割込みであり、INT優先順位制御回路c5dによる多重割込みの実行が可能である。
【0031】<外部マスカブル割込みの説明> 外部マスカブル割込みは、XINT端子に一定期間のロ−レベルを入力することにより発生し、XINT端子によるマスカブル割込みは、ノイズフィルタc5aを介してCPUに入力される。図10は、ノイズフィルタc5aを通過する前と通過後との関係を示すタイミングチャート例としたものである。XINT信号が一定期間(ここでは4クロックの立ち上がりエッジを検出する間)ローレベルであるとき、ノイズフィルタc5aを通過した信号がINT信号となりCPUに入力される。
【0032】<内部マスカブル割込みの説明> 内部マスカブル割込みは、タイマシステムからの割込み要求信号により発生する。
【0033】<デコード手段の説明> 次に図2、図3に示すデコード手段c6は、メモリマップドI/O方式、またはI/OマップドI/O方式によるチップ内部の各機能ブロックのデコードや外部デバイス用のデコード用信号であるチップセレクト信号のデコードを行い、チップセレクト信号のアドレス範囲を設定する。チップセレクト信号を例にすると、図4にメモリマップドI/O方式によるチップセレクト信号がFF00(16進)〜FF19(16進)にマッピングされ、図5(b)にI/OマップドI/O方式によるチップセレクト信号が00(16進)〜19(16進)にマッピングされていることを示している。なお、チップセレクト信号は複数本あるので、便宜上本明細書ではこれらを総称して外部デバイスデコード出力バスとしている。
【0034】<入出力手段の説明> 次に図2、図3に示す入出力手段c7は、入出力ポートと外部デバイス用のデコード用信号であるチップセレクト信号の兼用機能を制御するもので、
(1)入出力制御手段c7a、
(2)機能選択手段c7b、
とからなる。更に入出力制御手段c7aは、
(a)パラレル入出力ポート、
(b)外部デバイスデコード、
との二つの機能を持つ。
なお、パラレル入出力ポートは、異なる任意のビット幅の入出力ポートを複数個内蔵しており、それぞれポートの入出力の設定が可能である。
機能選択手段c7bによりいずれか1つの機能を選択して外部との入出力を行う。これにより外部端子がパラレル入出力ポート、または外部デバイスデコードのいずれかの状態として機能する。
【0035】<クロック生成手段の説明> 次に図2、図3に示すクロック生成手段c9は、クロック入力端子(図2のEX端子に該当)から入力されたクロックを任意の分周比(例えば2分周等)で分周し、CPUや内部の各回路に供給する回路である。また、生成されたクロックは、クロック出力端子(図2のCLKO端子に該当)から外部へ出力する。また、補助乱数発生手段r19へのクロックソース源(s3)として乱数発生装置c8へ供給する。
【0036】<セキュリティ手段の説明> 次に図2、図3に示すセキュリティ手段c10は、図示しない
(1)認証チェック制御手段、
(2)不正実行禁止制御手段、
(3)モード制御手段、
(4)機能制御手段、
(5)記憶手段制御手段、
(6)通信フォーマット制御手段、
の6つの手段からなる。
【0037】<認証チェック制御手段の説明>  認証チェック制御手段は、ユーザプログラム(UP)の認証を行う機能である。システムリセット入力時に、ユーザプログラムを基に計算された認証コードが正しいか否かの再計算を行い,結果がNGの場合はCPUを停止する制御を行う。
【0038】<不正実行禁止制御手段の説明>  不正実行禁止制御手段は、指定エリア外での命令実行を禁止する機能を制御するものであり、
(a)不正実行禁止手段c3が不正検出を行った際の指定エリア外
での命令実行禁止の制御、
(b)RAM(外部/内部両方)上でのプログラム実行禁止の制御、
(c)指定エリアでのプログラム実行監視の制御、
(d)リセット制御、
を行う。
【0039】<モード制御手段の説明>  モード制御手段は、
(a)プログラムモード、
(b)セキュリティモード、
(c)ユーザモード、
の三つのモードの制御を行う。
また、その他の制御として外部装置との通信を行う通信モードを制御する。
【0040】<機能制御手段の説明>  機能制御手段は、
(a)バス・信号線制御、
(b)CPU停止制御、
(c)乱数故障診断機能制御、
(d)ユーザ用ROMの読み出し/書き込み、
の機能を制御する。
【0041】<記憶手段制御手段の説明>  記憶手段制御手段は、
(a)デバイス切り離し、
(b)メモリバンク切り換え、
を行う。
【0042】<通信フォーマット制御手段の説明>  通信フォーマット制御手段は、外部装置との間で通信を行う際の各種通信フォーマット(イニシャル通信、認証通信、試験通信、照合通信)を制御する。
【0043】<記憶手段の説明> 次に図2、図3に示す記憶手段c11について、図4及び図5を参照しつつ説明する。図4は、チップ全体のメモリマップの具体例図を示し、図5はユーザ用ROM内のエリアの具体例図を示し、(a)はプログラム管理エリアの具体例図、(b)はI/OマップドI/O方式による内蔵レジスタや外部出力バスのデコードエリアの具体例図を示したものである。
【0044】記憶手段c11は、ID格納手段c11a、ブート用記憶手段c11b、ユーザ用記憶手段c11cで構成される。
【0045】<ID格納手段の説明>  ID格納手段c11aには、
(a)試験年月日時刻、
(b)製造年月日時刻、
(c)製造場所、
(d)製造工場、
(e)製造ライン、
(f)製造ロット、
(g)製造番号、
(h)ユーザ管理番号、
(i)シリアル番号、
等の情報データのうちのいくつかをn種類の異なるID番号として格納することができ、このID番号が付与されることで量産(例えば1000万個等)や流通等の管理が可能になる。また、ID番号とは別に第三者やユーザが知りえないチップ製造者・販売者のみがチップを特定できる情報である秘密情報を格納している。秘密情報の具体例としては、資材管理上の詳細な情報(ウェハー管理番号等)や協力工場に関するコード番号等があり得る。
【0046】<ブート用記憶手段の説明>  ブート用記憶手段c11bは、
(a)ブート用ROM、
(b)ブート用RAM、
とにより構成され、(a)ブート用ROMには、
(イ)セキュリティチェックプログラム、
(ロ)故障診断プログラム、
(ハ)環境設定プログラム、
(ニ)認証/照合プログラム、
等が格納される。また、(b)ブート用RAMは、ブートプログラムのワークエリア(データエリア,スタックエリア等)として使用する。
【0047】<ユーザ用記憶手段の説明>  ユーザ用記憶手段c11cは、
(a)ユーザ用ROM、
(b)ユーザ用RAM、
により構成される。
【0048】<ユーザ用ROMの説明>  ユーザ用ROMは、ユーザが作成したプログラム(ユーザプログラム)を格納する。ユーザ用ROMには予め定めた指定エリアがあり、(イ)プログラムコード/データエリア及び(ロ)プログラム管理エリアの2つのエリアが割り付けられている。(イ)プログラムコード/データエリアは、ユーザプログラムを格納するエリアである。(ロ)プログラム管理エリアは、CPUがユーザプログラムを実行するのに必要な情報を格納するエリアであり、ユーザ側で値の設定を行う。ユーザ用RAMのサイズの選択(例えば256/512バイト)もこのエリアで行う。
【0049】<プログラム管理エリアに設定するデータの説明> プログラム管理エリアに設定するデータには、図5に示すように
(1)プログラム管理エリアのスタートを示すコード列を設定する「ヘッダ(HDR)」(例として1F80(16進)〜1F87(16進)にマッピング)、
(2)メーカーコードを設定する「メーカーコード(MCD)」(例として1F88(16進)〜1F8A(16進)にマッピング)、
(3)製品コードを設定する「製品コード(PCD)」(例として1F8B(16進)〜1F92(16進)にマッピング)、
(4)ユーザプログラムのプログラムコードエリアの最終アドレスを設定する「プログラムコードエンドアドレス(PCE)」(例として1F93(16進)〜1F94(16進)にマッピング)、
(5)ユーザ用RAMのサイズを設定する「RAMサイズ選択(RSS)」(例として1F95(16進)にマッピング)、
(6)端子をパラレル入出力ポートまたは外部デバイスへのチップセレクトとして使用するかを設定する「端子機能選択」(例として1F96(16進)にマッピング)、
(7)乱数初期値を設定する「乱数初期値選択」(例として1F97(16進)にマッピング)、
(8)乱数初期値選択において指定のユーザ用RAMの値を選択した場合にそのアドレスを設定する「乱数初期値データアドレス」(例として1F98(16進)〜1F99(16進)にマッピング)、
(9)ユーザが指定したエリアに格納されたデータの情報を外部装置が読み出す為のユーザ用RAMアドレスを設定する「ユーザが読み出しを行う為のユーザ指定アドレス(エリア)」(例として1FA0(16進)〜1FBF(16進)にマッピング)等がある。
【0050】<ユーザ用RAMの説明>  ユーザ用RAMは、ユーザプログラムのワークエリア(データエリア,スタックエリア等)として使用する。ユーザの設定により、RAMサイズの変更(例えば512/256バイトの切り換え等)が可能である。ユーザ用RAMにはバックアップ機能があり、バックアップ機能を使用する場合は、VBB端子とGND端子間に別電源を供給することにより、チップの電源(V)切断後も、RAM内のデータが保持(バックアップ)できる。
【0051】<記憶監視手段の説明> 次に図2、図3に示す記憶監視手段c12は、記憶手段c11の読み出しや書き込みを監視し、セキュリティモード時に所定の記憶手段c11のアドレス範囲が監視範囲として設定される。
【0052】<バス/信号線制御手段の説明> 次にバス/信号線制御手段c13(図2及び図3)について、図26及び図27を参照しつつ、さらに詳しく説明する。
バス/信号線制御手段c13は、チップの外部バスと内部バスとのインターフェース機能及びアドレスバス、データバス,及び各制御信号の方向制御や駆動能力を強化するバスインタフェースである。また、上記信号が入力される各端子の状態を監視(モニタ)する機能を具備する。
【0053】<各端子の説明> アドレスバスは、メモリやI/Oデバイスとのデータ送受信のためのアドレスを指定する。データバスは、データ送受信を行う。XM1は、マシンサイクルを示す。XMREQは、メモリ空間へのリクエスト信号でありメモリのアクセス期間であることを示す。XIORQは、I/O空間へのリクエスト信号でありI/O空間のアクセス期間であることを示す。XRDは、リードサイクルであることを示す。XWRは、ライトサイクルであることを示す。XRFSHは、チップ外部のダイナミックメモリ等へのリフレッシュ信号である。XHALTは、CPUがHALT命令を実行している状態を示す信号で、ホールト状態中は命令を実行しない状態を保持し、このホールト状態の解除はリセット信号または割込みにより行われ、CPUの動作を再開する。
【0054】バス/信号線制御手段c13は、I/Oバッファc13a、期待値設定回路c13b、切換回路c13c、切換制御回路c13d、不一致検出回路c13e、不一致判定回路c13fで構成される。
I/Oバッファc13aは、外部端子から入力された信号をチップ内部へ入力したり、チップ内部の信号を外部端子へ出力したりする各制御信号の方向制御や駆動能力を強化するものである。
期待値設定回路c13bは、所定のデータ値や信号パターン等を設定するものである。
切換回路c13cは、外部端子へ出力する信号、又は期待値設定回路c13bの出力信号のいずれかを選択して不一致検出回路c13eへ送出するものである。
切換制御回路c13dは、切換回路c13cの出力/切換信号の制御や不一致検出回路c13eの検出条件設定の制御を行うものである。
不一致検出回路c13eは、外部端子から入力された信号と、
(1)期待値設定回路c13bにて設定された所定のデータ値や信号パターン等の出力信号、または、(2)チップ内部の信号を外部端子へ出力したりする各制御信号、とを比較し、不一致の検出を行うものである。
不一致判定回路c13fは、不一致検出回路c13eから送られてきた外部端子の信号が不一致であるか否かの判定を行い、一致しなければ、CPUを停止させたり、その検査対象である外部端子の情報を異常検出信号として外部へ知らせることとなる。
図26は、本発明のバス/信号線制御手段c13の端子毎の不一致検出を行う第一実施例を示すブロック構成図である。この実施例では、上記バス/信号線制御手段c13を構成するそれぞれの回路が端子毎に設けられて、その結果、(例えば不一致検出回路1から外部端子1不一致信号が出力されるというように)それぞれの不一致検出回路からは当該外部端子に固有の不一致信号が出力される。
図27は、本発明のバス/信号線制御手段c13の複数端子を同時に不一致判定を行う第二実施例を示すブロック構成図である。この実施例では、不一致判定回路c13fはすべての端子について共通で一つ設けられており、判定結果が異常となったときには単一の異常検出信号を出力してその旨を外部へ知らせる。
【0055】<乱数生成装置の説明> 次に図2、図3に示す乱数発生装置c8について図11から図19までを参照しつつ説明する。図11は、乱数発生の回路構成を示すブロック図である。更新周期設定データ保持回路r1は、ユーザが任意のインターバル周期で乱数更新を行う為のインターバル周期を指定する為の設定データを保持する回路であり、基準となるインターバル周期を指定する為の基準インターバル周期指定回路r1aと、その基準となるインターバル周期を基に実際の乱数更新を行う為のインターバル周期を指定する為の設定を行う定周期設定値格納回路r1bで構成されている。当該回路r1で指定されたデータは、更新周期設定回路r2へロードされる。
【0056】更新周期設定回路r2は、定周期で乱数更新を行う為のインターバル周期を設定する回路であり、基準インターバル周期指定回路r1aで指定されたデータに対応した基準となるインターバル周期を生成する為の基準インターバル周期生成回路r2aと、当該回路r2aから供給された基準インターバル周期クロックを基に定周期設定値格納回路r1bで指定されたカウントデータ数を基に基準インターバル周期をカウントする為の基準インターバル周期カウント回路r2bと、定周期設定値格納回路r1bで指定されたカウントデータ数に達した場合にインターバル周期の更新・継続を指定する為のリロードタイミングを生成するリロードタイミング生成回路r2cで構成される。したがって、更新周期設定回路r2で設定されたインターバル周期が乱数更新トリガ選択回路r6へ供給される。
【0057】例えばシステムクロックの分周波が基準となるインターバル周期(仮にIとする)だとすると、基準インターバル周期指定回路r1aで指定したデータ(例えば128分周を指定するデータ)に基づき分周したクロックが基準インターバル周期となる。また、定周期設定値格納回路r1bの指定できる設定範囲が仮に8ビットだとすると、実際の定周期で乱数更新を行う為の設定できるインターバル周期は、「128×システムクロック×1から128×システムクロック×256迄」のインターバル周期を設定することができる。また、定周期設定値格納回路r1bで指定した設定値が仮に「5」だとすると、この設定値が同様にリロードタイミング生成回路r2cにロードされ、当該回路にて「128×システムクロック×5」に達した場合再度インターバル周期の更新・継続を行う為のリロードタイミングを基準インターバル周期カウント回路r2bへ供給することになる。
【0058】ソフトウェア更新トリガ発生回路r3は、CPUからの命令により所定の条件を組み合わせたデータ(アドレス、所定のデータをデコードして発生したデータ等)を当該回路へライトアクセスを行うことによってソフトウェアトリガ信号を発生する。
【0059】動作開始指示回路r4は、乱数更新の動作の停止、再始動、継続動作等の指定を行うものである。
【0060】乱数更新トリガ選択情報保持回路r5は、乱数値の更新において、更新周期設定回路r2で発生された定周期で乱数更新を行う為のインターバル周期を使用する自動更新方式か、あるいはソフトウェア更新トリガ発生回路r3で発生されたソフトウェアによるトリガ信号を使用する手動更新方式を使用するかのいずれかの方式の選択を行うものである。
【0061】乱数更新トリガ選択回路r6は、更新周期設定回路r2で発生されたインターバル周期クロック、またはソフトウェア更新トリガ発生回路r3で生成されたソフトウェアによるトリガ信号のいずれかの内一つを選択して更新制御回路r7へ供給する。
【0062】更新制御回路r7は、乱数更新の動作の停止、再始動、継続動作等の制御を行う。
【0063】乱数発生回路r8は、所定の設定によりそれぞれ異なる乱数系列の発生を行う為のn次の生成多項式、又はnビットカウンタが複数内蔵されている。
【0064】ビットスクランブル設定回路r9は、乱数発生回路r8から出力される乱数データのビットの入れ換えや転置を行うものであり、ビットスクランブル要求回路r9a、ビットスクランブルキー生成回路r9b、ビットスクランブル回路r9cで構成される。ビットスクランブル要求回路r9aは、乱数更新トリガ選択回路r6により選択された更新手段により更新されたタイミングにより乱数発生回路r8から出力される乱数データに対しスクランブルをかける要求を指定する回路である。ビットスクランブルキー生成回路r9bは、補助乱数発生手段r19から発生されるビットスクランブル用キー生成の為の補助乱数やビットスクランブル要求回路r9aからのデータ値を基に乱数データの配置・転置を行う為のビットスクランブルテーブルの選択を行う回路である。ビットスクランブル回路r9cは、ビットスクランブルキー生成回路r9bから指定されたキーデータにより選択されたビットスクランブルテーブルを基に乱数データのビットの配置・転置を行う回路である。なお、スクランブルをかけるか否かの選択はビットスクランブル要求回路r9aによりユーザが自由に設定できるが、ビットスクランブル用キーの変更は、乱数発生回路r8より出力される乱数一巡終了信号S1により行われる。ビットスクランブル要求回路9aより出力されるビットスクランブル要求信号S2があっても乱数一巡終了信号S1が無いと、ビットスクランブル用キーの変更は行われない。このことにより乱数一巡毎の確率が一定となる。
【0065】乱数最大値格納回路r10は、ユーザが任意に設定した乱数周期の最大値を格納する為の回路である。例えば乱数発生範囲が1から4095まであるとした場合、ユーザにとって1から36までの乱数のみ必要な場合、当該回路r10に最大値として36を設定すれば1から36までの乱数を得ることが可能である。
【0066】乱数最大値比較回路r11は、ユーザが任意に設定した乱数周期の最大値と乱数発生回路r8が発生した乱数値をビットスクランブル回路r9cがビットスクランブルを行った出力値を比較し、出力値が最大値より大きい場合には乱数発生回路r8に対し次の乱数発生を指示する。最大値以下の場合には乱数値保持回路r12へ格納する。
【0067】乱数値保持回路r12は、ユーザが任意に設定した乱数周期の最大値以下の場合の時のスクランブルされた乱数データを保持するものである。すなわち最大周期に達するまでの乱数データを保持する回路である。
【0068】乱数値要求回路r13は、ユーザが乱数データを読み出す為の要求を行うものであり、外部トリガ入力による要求やその要求があった場合の情報を割込信号として外部へ出力することも可能である。
【0069】乱数値読出回路r14は、ユーザが乱数データを読み出す為の回路である。
【0070】ROM内プログラム管理エリアr15は、乱数発生装置の動作指定、制御等を行う為にユーザが設定する動作環境設定の指定を行うエリアであり、乱数系列を発生する為の最初のスタート値である乱数初期値選択定数r15aと、ある所定のRAMアドレスに格納されたデータを発生する乱数系列の初期値として使用したい場合、そのデータを乱数初期値選択回路r17へ送出することを目的とするRAMアドレス指定r15bとで構成される。なお、初期化プログラムで乱数初期値をRAM値と選択した場合RAMアドレス指定で示されたアドレスのRAM値を乱数初期値選択回路r17へ格納する。
【0071】ソフトウェア操作r16は、乱数の更新処理や所定の初期値をロードする為の制御を行う為の操作を指しており、乱数発生装置自身が持つ値である固定値r16a、乱数発生装置に割り付けられた自身を認識する為の固有の番号であるID番号r16b、RAMアドレス指定r15bで指定された値であるRAM値r16c、RAM内の全アドレスのデータを基に加算・減算・乗算・除算等の演算処理した値であるRAM演算値r16d、プログラムの制御用のデータエリアであるRAMr16e、で構成される。
【0072】なお、ID番号r16bは、前述したID格納手段c11aに格納されたチップのID番号と同様のものである。前述したチップのIDがチップ自身を個別に識別するものであって、乱数発生装置のID番号は、乱数の初期値をチップ個別に設定するものである。したがって、両者の違いは仕様的な相違のみであり、実際の両者のID番号は、異なっても良いしまた同一であっても何等問題では無い。したがって、段落番号0045で示した(a)〜(i)の情報データのいくつかを乱数初期値用のID番号とすることが可能である。乱数初期値選択回路r17は、乱数初期値として固定値r16a、ID番号r16b、RAM値r16c、RAM演算値r16dのいずれかの内1つを選択して乱数発生回路r8へ初期値をロードする。
【0073】乱数初期値格納回路r18は、乱数初期値選択回路r17により選択された初期値又は補助乱数発生手段r19にて発生された乱数を初期値として格納する為の回路である。 乱数初期値は乱数発生回路r8の発生する乱数値が一巡する毎に補助乱数発生手段r19より乱数初期値格納回路r18により更新できる。
【0074】補助乱数発生手段r19は、本乱数発生装置とは別の手段にて乱数を発生させたものである。
【0075】次に図13を参照しつつ乱数発生について説明する。図13は補助乱数発生手段r19の概要を示すブロック図であり、
(1)は外部トリガ入力バスが無い場合(図2参照)、
(2)は外部トリガ入力バスがある場合(図3参照)
について示している。発生手段として
(a)CPUの命令制御による乱数発生、
(b)熱雑音による乱数発生、
(c)別クロックによる乱数発生、
(d)チップ外部からのトリガ入力、
による乱数発生の4つの場合を含む。
【0076】(a)CPUの命令制御による乱数発生は、CPUが行った命令(命令実行数カウント回路r21にて保持される)の情報等をカウントしたデータを乱数とするものである。
【0077】(b)熱雑音による乱数発生は、抵抗体やダイオード等から発生する熱雑音等のノイズ成分を乱数とするもので、これら熱雑音発生体を内蔵した熱雑音発生回路r22から発生するアナログのノイズ成分をA/D変換回路r23にてデジタルデータに変換したものを乱数とするものである。
【0078】(c)別クロックによる乱数発生は、本乱数発生装置で使用するクロックとは別のクロックで乱数を生成するものである。
【0079】(d)チップ外部からのトリガ入力による乱数発生は、ユーザが任意に設定したトリガ入力で乱数を生成するものである。トリガ入力バスから入力されたトリガ信号は、外部トリガ制御手段r25に供給され、当該手段r25は入力された各トリガ信号の選定やイネーブル・ディセーブル等の制御等を行う。
【0080】これら上記(a)、(b)、(c)、(d)の方法にて生成された乱数は乱数初期値としてビットスクランブルキー生成回路r9b、または乱数初期値格納回路r18へ供給されることとなる。供給の方法としては上記(a)、(b)、(c)、(d)を適宜組み合わせたものとなる。
【0081】上記(c)において、カウンタ回路r24に供給するクロックとして、
(1)の外部トリガ入力バスが無い場合、各機能ブロックに供給するクロックとは異なる分周比率のクロックソース源(s3)がクロック生成手段c9より供給され、
(2)の外部トリガ入力バスがある場合、EX端子とは別のクロックがOSC端子より供給される。供給するクロックとして所定のインターバル周期との同期を避ける為に、例えばEX端子に供給される周波数(例えば12MHzとする。)とは別の異なる周波数(例えば11MHzとする。)を供給するようにしても良いことはいうまでもない。
【0082】次に図14を参照しつつビットスクランブルテーブルについて説明する。図14は乱数発生装置のビットスクランブル設定回路r9の具体的な説明図であり、ビットスクランブルテーブルとはビットの入れ換えのパターンを示すビットスクランブルテーブル(以下便宜上、「変換テーブル」、または「変換パターン」と略称する場合がある)であり、この変換テーブルにもとづいてビットの配置・転置位置が決定する。例えばデータ長を8ビットし元の配置が最下位ビットから順にD0−D1−D2−D3−D4−D5−D6−D7だとすると
(1)D0−D1−D2−D3−D4−D5−D6−D7
(2)D3−D0−D5−D1−D7−D2−D4−D6
(3)から(255)までの記載を省略。
(256)D7−D5−D2−D4−D1−D6−D0−D3
といった様に元の変換を行わないものを加味すると256通りの変換パターンが存在することになる。この様子を図式イメージ化したものが図14(a)である。
【0083】しかし、上記変換パターンをソフトウェアでは無くハードウェアにて実現しようとすると回路規模が大きくなりゲート数の増大を招いてしまう。
【0084】そこでその変換テーブルの数を減少させることによって回路規模を小さくしゲート数の増大を招くこと無く256通りの変換パターンを確保することが可能にするのがビットスクランブル設定回路r9の特徴であり、その原理を図式イメージ化したものが図14(b)である。以下にその原理の説明を行うが、便宜上同様にデータ長は8ビットとする。
【0085】ビットスクランブルキー発生回路r9bのKEY_A(4ビット)によって最初に16通りの変換テーブルを発生する。すなわちこの最初の16通りの変換パターンがそれぞれ個別に元のパターンとなる。(仮にO1〜O16とする)
【0086】次に上記16通りの元のパターンに対しKEY_B(2ビット)にてそれぞれ個別に更にパターンの変換を行う。すなわち
(O1×4通り)から(O16×4通り)迄の加算値となるので合計実質上64通りの変換パターンを実現したことになる。したがって、上記同様64通りの変換パターンがそれぞれ個別に元のパターンとなる。(仮にOH1〜OH4とする)
【0087】次に上記同様に64通りのパターンに対しKEY_C(2ビット)にてそれぞれ個別に更にパターンの変換を行う。すなわち(OH1×4通り)から(OH4×4通り)迄の加算値となるので最終的に合計した結果、実質上の変換パターンは256通り実現したことになる。
【0088】したがって本来256通りの変換テーブルが必要だったものが、上記の方法により24通りの変換テーブルを用意するだけで、実質上256通りの変換パターンを実現させたことになり回路規模が小さくなる。
【0089】また、上記方法の変換パターンのロジック回路はシフトレジスタを用いること無くゲート回路のみで設計できる為、次の変換パターンを交換する処理スピードは遊技機の動作するシステムクロックの1周期分も要しない。
【0090】図15は更新周期設定データ保持回路r1と更新周期設定回路r2の内部構成を示すブロック図である。
【0091】次に乱数発生装置の動作について図16に図示された概要フローに従い順に説明する。図16は乱数発生装置が所望の動作を行う為の環境設定の設定を行う初期化ルーチン処理を示すフローチャートである。遊技機全体を初期化するシステムリセットが入力されると最初に使用する乱数初期値として
(1)乱数発生装置の固定値、
(2)乱数発生装置のID番号、
(3)RAM値、
(4)RAM演算値、
の内、何を使用するかの選定及びその他乱数発生装置の内部回路等の初期化処理の環境設定終了後、ユーザが使用できるユーザモードに遷移しユーザリセット待ちの状態となる。なお、ユーザリセットでは上記処理の初期化は行なわれない。
【0092】次に図17の概要フローを参照しつつ説明する。図17は乱数発生装置が図16による初期化処理終了後ユーザが自由に乱数を読み出す為の動作設定処理を示すフローチャートである。ユーザが接続した各周辺装置の初期化及びユーザが作成した遊技制御プログラムの先頭番地に戻る為のユーザリセットが入力されると、インターバル動作の為の定周期が起動される。定周期による更新又は手動更新(ソフトウェアによる更新)の内いずれを使用するかの更新トリガ条件の設定が行われ、手動更新が設定された場合ソフトウェア更新トリガによる乱数更新を行うことになる。次に遊技機のスタートセンサ入力等の乱数読み込みタイミングかの判断が行われソフトウェアによる取込みトリガを使用する場合乱数値要求回路をアクセスすることで乱数値保持回路に保持された乱数値が取り込まれ乱数値読出回路へロードされる。後は読み出した乱数を基にユーザが抽選処理等のアプリケーション操作を行うことになる。
【0093】次に図18の概要フローを参照しつつ説明する。図18は乱数発生装置の乱数更新及び乱数読出処理のフローチャートの一例を示したもので、(a)は自動更新(定周期)及び手動更新(ソフトウェア)による乱数更新処理、(b)は外部トリガ及びソフトウェアによる取込みトリガによる乱数読出処理を示したフローである。
【0094】乱数の更新が行われるとビットスクランブルキーデータの示すビットスクランブルテーブルにより乱数値のビットスクランブル処理を行い、乱数値が最大値以内の場合乱数値を乱数値保持回路へ格納し、最大値を超えた場合乱数値の再更新を行う。次に乱数の発生が一巡したか否かの判断が行われ、一巡した場合にビットスクランブルの変更要求は有るか否かの判断が行われ、要求があった場合ビットスクランブルキーデータの更新処理を行う。
【0095】なお、乱数値の取込とは発生した乱数を乱数保持回路r12からユーザがアクセス可能な乱数値読出回路r14に対して送るか否かの処理のことを指す。定周期による乱数更新トリガを使用した場合乱数値の取込は自動的に行われる。この乱数値の取込処理を行うか否かの選定を行うことでユーザが
(1)更新周期設定回路によって自動的に連続して発生された乱数値を使用するか
(2)任意の時点で更新して読み出した乱数値を使用するかの遊技性の趣向を選定することができる。
【0096】したがって、ユーザが実際に乱数の取得を行うには乱数値要求回路r13にアクセスすることでその時点の本乱数発生装置で発生されている乱数値を取得することができる。
【0097】また、ユーザリセットの入力毎に上記動作指定条件の設定をユーザが自由に変更できるが、
(1)最大値設定、
(2)更新トリガ条件設定、
は1度設定を行うと変更することはできない。
【0098】次に図3について説明する。図3は、実施形態を示す図2の構成とほぼ同じであるが、図2では、乱数発生装置c8に対してクロック生成手段c9から専用の信号(s3)が入力されているのに対し、図3の構成では、乱数発生装置c8に対しチップ外部からトリガ信号を取り入れる為の入トリガ入力バスと、EX端子とは別に異なるクロックを供給する為のOSC端子を有しており、乱数更新トリガ、乱数要求トリガ、補助乱数要求トリガ等を外部から取り入れることを可能とするものである。
【0099】次に図12について説明する。図12は、図11の構成とほぼ同じであるが、図12の構成では、更に外部出力制御手段r20を設け、乱数値保持回路r12から出力される乱数データをソフトウェア操作によるスイッチにより外部入出力手段c14へ送出する実施形態を示した乱数発生の回路構成を示すブロック図である。ソフトウェア操作によるスイッチとは、ユーザではアクセスや操作ができないものであり、例えば所定のアルゴリズムによりコマンドや制御シーケンスを暗号化処理を施した信号が外部入出力手段c14へ入力され、その信号をCPUが認識した際に起動するものである。このスイッチが起動されると、乱数値保持回路r12の乱数データがリアルタイムで入賞状態やチップの遊技状態に関わらず、外部入出力手段c14へ送出されることになる。すなわち、発生した全ての乱数データが出力されることになり、第三者機関での出現乱数の一様性の検査が可能となる。
【0100】なお、乱数値は通常、乱数が必要なタイミングで適時に読み出されるため、乱数更新内容や乱数列は外部バス上には出力されない。しかし全ての乱数値をデータバス上に出力させて検査を行う必要が生じた場合は、ソフトウェア更新トリガ使用時に毎回、乱数値読出回路14の乱数データをCPUが読み出せば全ての乱数値がデータバスへ出力させることが可能となる。図19にその入賞状態に関わらない乱数発生装置の乱数読出処理及び乱数出力処理のフローチャートを示している。
【0101】また、乱数最大値比較回路r11から出力される乱数は、データバス上に直結されていない為、上記やソフトウェア乱数のように更新の度に乱数データがデータバス上に乗ることは無い。すなわち、CPUのリード命令やリードサイクルに関わらず、乱数発生装置内のバス上で自動的に更新制御が行われる。したがって、この乱数の更新タイミングと乱数列の並び(乱数列を生成する数式)は、不正者に予測することはできない。
【0102】<外部入出力手段の説明> 次に図2、図3に示す外部入出力手段c14について説明する。外部入出力手段c14は、外部装置と本チップとを接続し、本チップの真贋を検査する為のものである。nレベルの認証通信方式を可能にし、各レベルの認証通信が確立後、照合通信方式に遷移し、チップ内部の情報を外部へ出力したり、チップの遊技状態に関わらず、認証、照合、検査の制御を行う。また、認証通信中にやりとりされる認証データ、及び照合通信中のデータは全て暗号化処理が施されており、乱数を基数にした暗号通信を行い、通信で使用されるデータ、暗号や復号に用いられる認証キー等は、毎回通信を行うごとに異なることで、不正者への解読を困難にする。また、試験通信機能がある。外部入出力手段c14は、SC端子及びBRC端子を監視しており、BRC端子へクロック等の信号が供給されると外部装置との認証待ち状態となり、SC端子から所定の信号を受け取ると、その受け取った信号に対する認証制御を行う。
【0103】次に、図20、図21、図22、図23、図24、及び図25を参照しつつ、遊技機制御用チップと、外部装置との通信の内容及び方法の関係について説明する。
【0104】図20は、認証方式/照合方式に関わる概念フローチャートである。ここで、外部装置の中で検査装置、照合装置と呼ばれる装置は、第三者機関がチップの検査、真贋チェック等を行う目的で、遊技機制御用チップのSC端子及びBRC端子(図2、図3に示す外部入出力手段c14の端子)を介して接続し、通信を実行する装置をいう。外部装置による認証又は照合処理は、通信開始の初期化要求から始まり、認証方式/照合方式の要求をした上で、それぞれのレベルの認証又は照合の通信を開始する。チップが外部装置より通信開始の初期化要求のコマンドを受け取ると、チップは初期化(イニシャル通信)を行い、認証通信に備え、認証方式/照合方式の要求を行い、その要求待ち状態となる。外部装置より認証方式/照合方式の要求を受けると、チップは認証方式を識別し、要求に応じた認証シーケンスで通信を開始する。レベル1、レベル2、・・・、レベルnとレベルが高くなるごとに、より深いレベルの認証又は照合がなされる。低いレベルの認証又は照合では、その内容に制限が加わることとなる。それぞれのレベルの認証又は照合の通信を開始した後、そのレベルの認証又は照合を実施するか否かを判定する。各レベルにおける認証/照合判定がNGだった場合は、外部装置に対し初期化要求を行うが、OKの場合は各認証レベル/照合レベル用に用意された照合通信に遷移することとなる。
【0105】図21は、外部装置との通信の概要シーケンスを示したものである。TDTY検査に始まり、BRC端子へ入力するクロックの検査、BRC端子へ入力されたクロックの検出を経て、外部装置との通信が開始される。外部装置とチップとの間で通信が開始されると、まず、イニシャル通信を実行する。そして、イニシャル通信を終えてから認証通信又は試験通信を実行する。認証通信においては、各それぞれのレベルにおける認証通信を終えると、照合通信を実行することとなる。
【0106】以下、通信の概要シーケンスの内容について詳細に説明する。
【0107】<TDTY検査の説明> 最初にシステムリセット解除後、セキュリティモードにおけるCPUのオペコードフェッチをトリガとした自己端子折り返し検査をSC端子にて行う(以下「TDTY検査」と称する)。
<BRC端子へ入力するクロックの検査> 次にTDTY検査がOKとなると、BRC端子より入力される通信用クロックの入力条件を監視しその検査を行う。
【0108】<BRC端子へ入力されたクロックの検出の説明> 次にBRC端子へ入力されたクロックを検出し、入力条件が満たされた場合のみクロック入力を許可する。入力されたクロックは図示しない保護回路を経て、イニシャル通信の待ち受け状態となる。
【0109】<イニシャル通信の説明> 次に外部装置よりイニシャル通信の要求を受信すると、初期化、及びクロックの同期を行う。またどの認証レベルで認証を実施するかの判定を行い、判定後認証通信へと遷移する。また、同様に試験通信の要求を受信すると、データ折り返し試験を行う為の試験通信へと遷移する。
イニシャル通信の内容として
(1)通信要求
外部装置から送られる通信要求情報にしたがって、チップはイニシャル後の通信の内容を決定する。
(2)認証通信要求:認証レベル1〜nの要求
(3)試験通信要求:
(4)外部入出力手段c14へのリセット要求:再度イニシャル通信待ち受け状態に初期化する。認証通信中、照合通信中であってもこのブロックリセット要求を受信した場合は直ちに外部入出力手段c14の特定された機能ブロックの初期化を行い、イニシャル通信待ち受けとなる。イニシャル通信が正常に終了すると、チップは認証通信待ち受け状態へと遷移する。
【0110】<認証通信の説明> nレベルの認証レベルによりチップの真偽を検査する。認証後、照合通信へと遷移する。例えばレベル認証の例として
(1)レベル1認証(nとする)は、外部装置との真贋判定は、セキュリティレベル1において1回のみ実施する。
(2)レベル2認証(nとする)は、外部装置との真贋判定は、セキュリティレベル2においてm回実施する。(m≧1、但しn≧n
(3)レベル3認証(nとする)は、外部装置との真贋判定は、セキュリティレベル3においてm回実施する。(m≧2、但しn≧n
(4)レベル4認証(nとする)は、外部装置との真贋判定は、セキュリティレベル4においてm回実施する。(m≧2、但しn≧n
(5)レベル5認証(nとする)は、外部装置との真贋判定は、セキュリティレベル5においてm回実施する。(m≧2、但しn≧n
(6)レベルn認証(nとする)は、外部装置との真贋判定は、セキュリティレベルnにおいてm回実施する。(m≧2、但しn≧n
のようにすることができる。なお、数字が大きくなるほど、セキュリティ強度が大きくなる。また、それぞれのセキュリティレベルにおいて、異なる認証コードを使用するものとする。また、実施回数においても、それぞれの認証レベルにおいて、目的・用途に応じて適宜加減する。なお、認証レベルが低い場合は解析の糸口を与えないよう実施回数が少ない方が好ましいと考えられる。
【0111】認証通信は、外部装置とチップ間の相互認証であるため、お互いに相手の真贋に対して判定結果を所有している。認証判定がNG時は照合通信に遷移しないが、OKであった場合は外部装置が認証OKとなったことをチップ側に通知する。また、チップ側の認証判定がOKであれば照合通信にそのまま遷移することが可能となる。
なお、認証レベルによって任意の有効データバイト数を与え、外部通信用乱数発生手段c14cより得た乱数値の位置情報にしたがい、送信データの並べ替えを行ってから外部装置側へ送出するものとする。
【0112】<照合通信の説明> 認証通信を経て、認証判定がOKとなった場合は照合通信に遷移する。各認証レベルに応じて各種コマンドを外部装置より受信し、コマンドに対応したチップ内の情報を返送することが可能となる。
【0113】図22は、外部入出力手段(図2、図3に示すc14)の詳細な構成例を示すブロック図である。本チップは、前述したように、BRC端子へクロック等の信号が供給されている場合外部装置との認証待ち状態となり、SC端子から所定の信号を受け取ると、その受け取った信号に対する認証制御を行うが、その際の重要な役割を果たすのが外部入出力手段c14である。
【0114】外部入出力手段c14は、送信部c14a、受信部c14b、外部通信用乱数発生手段c14c、チップ内部データ用暗号手段c14d、チップ内部データ用復号手段c14e、データ制御手段c14f、通信制御手段c14gからなる。そして、外部入出力手段c14は、通信に必要な情報を制御したり、チップ内部データの暗号/復号等のハードウェア演算処理、通信ステータス管理、認証コマンド解析・実行等を行う。
【0115】これらの手段のうち、CPUにつながるBUS1(システムバス)につながるのは、データ制御手段c14f及び通信制御手段c14gである。BUS2は、システムバスとは独立した外部入出力手段c14内の固有のハードウェアバスであって、送信部c14a、受信部c14b、外部通信用乱数発生手段c14c、チップ内部データ用暗号手段c14d、チップ内部データ用復号手段c14e、データ制御手段c14f、通信制御手段c14gのすべてがこのBUS2につながっている。
【0116】<送信部の説明> 外部入出力手段c14の送信部c14aの内部を更に詳しく見ると、
(1)P/S(パラレル/シリアル)変換手段、
(2)送信タイミング制御手段、
(3)スクランブル手段、
(4)外部通信用暗号手段、
(5)多重化手段、
(6)フレーム制御手段、
(7)TDTY検査手段、
で構成される。送信部は、外部装置へデータを送信するブロックである。
【0117】<P/S変換手段の説明> P/S変換手段は、データ制御手段c14fからBUS2を介して送られてきたパラレルデータ信号をシリアルデータ信号に変換する。
【0118】<送信タイミング制御手段の説明> 送信タイミング制御手段は、送信の開始要求を受けて、P/S変換手段にてチップ内部の暗号化されたデータをパラレルデータからシリアルデータに変換するまでのタイミングの制御、及びフレーム制御のタイミングを制御する。
【0119】<スクランブル手段の説明> スクランブル手段は、P/S変換手段にてシリアルデータに変換されたチップ内部の暗号化されたデータに対しスクランブル処理を施すものである。後述するスクランブル解除手段とあいまって、暗号通信の秘匿性を高める役割を果たす。
【0120】<外部通信用暗号手段の説明> 外部通信用暗号手段は、送信する前のチップ内部のデータに対し所定のアルゴリズムによる暗号を施すものである。
【0121】<多重化手段の説明> 多重化手段は、先頭コードの異なる個々のフレーム長に対し、多重化処理を行うものである。
【0122】<フレーム制御手段の説明> フレーム制御手段は、何種類かの先頭コードの異なるフレームを制御するものである。
【0123】<TDTY検査手段の説明> TDTY検査はSC端子より所定のパターン(例えば”1010”等)を送出し、折り返されたパターンを監視することによって、SC端子破壊による検査を行うものである。TDTY検査は外部システムリセット解除後(セキュリティモード)にCPUより出力されるオペコードフェッチサイクルをトリガとして行われる。TDTY検査が正常に終了した場合は所定のパターン(例えば”1010”等)は一回だけの送出で終了するが、折り返されたデータがNGであった場合は、n回(例えば最大5回)のリトライが行われる。n回の検査を行ってもNGであった場合はTDTYO信号を発生しCPUがリセットされる。TDTY検査終了後はBRCクロック端子の入力を開放し、外部装置から通信用クロック入力を許可する。なお、検査結果はNGであっても通信用クロックの入力は許可するものとする。
【0124】前述のP/S変換手段によりシリアル変換された信号は、スクランブルをかけられたのち、外部通信用暗号手段により暗号化されて、多重化手段により多重化されてSC端子から出力されるが、その際に、フレーム制御手段により、フレーム化がされることとなる。
【0125】<受信部の説明> 外部入出力手段c14の受信部c14bの内部を更に詳しく見ると、
(1)パルス検出手段、
(2)通信クロック生成手段、
(3)クロック断検出手段、
(4)ハードウェアリセット手段、
(5)外部通信用復号手段、
(6)受信タイミング制御手段、
(7)スクランブル解除手段、
(8)S/P変換手段、
(9)フレーム検出手段、
(10)通信エラー検出手段、
で構成される。受信部は、外部装置からのデータを受信するブロックである。
【0126】<パルス検出手段の説明> パルス検出手段は、SC端子から入力された信号のスタートビット、ストップビット、先頭コード等のパルスの検出を行うものである。
【0127】<通信クロック生成手段の説明> 通信クロックはBRC端子より入力されたクロックの分周を行い、通信を行う上でのクロックを生成する。リセット後は、通信開始時のイニシャルパルスにより、受信データとの同期処理を行う。位相合わせのパルスはBRCクロックに同期する。
【0128】<クロック断検出手段の説明> クロック断検出手段は、外部装置から供給される通信クロックが供給されているか否かの検出を行う。外部装置との通信は、外部装置よりBRC端子へのクロック供給が行われることで動作を開始する為、外部装置が接続されない限りBRC端子はレベル固定(例えば”H”レベル固定)であり、クロック断と認識されディセーブル状態となっている。外部装置が接続された場合はBRC端子より通信クロックが供給され、ある検出条件を満たした時点でクロック断と認識されたディセーブル状態を解除し、通信可能な状態とする。
【0129】<ハードウェアリセット手段の説明> ハードウェアリセット手段は、ユーザモードに影響を与えないように、通信エラーからのリカバリ復帰等の初期化処理を行う際に、外部入出力手段c14の各ブロックをリセットするものである。なお、外部入出力手段c14の送信部のP/S変換手段、送信タイミング制御手段、スクランブル手段、外部通信用暗号手段、多重化手段、フレーム制御手段、TDTY検査手段、受信部のパルス検出手段、通信クロック生成手段、クロック断手段、外部通信用復号手段、受信タイミング制御手段、スクランブル解除手段、S/P変換手段、フレーム検出手段、通信エラー検出手段、及び通信制御手段の各ブロックがリセットされ、外部通信用乱数発生手段、チップ内部データ用暗号手段、チップ内部データ用復号手段、データ制御手段の各ブロックはリセットされない。
【0130】<外部通信用復号手段の説明> 外部通信用復号手段は、外部装置から送られてきた所定のアルゴリズムにて暗号化されたデータの復号処理を施すものである。
【0131】<受信タイミング制御手段の説明> 受信タイミング制御手段は、受信の開始要求を受けて、S/P変換手段にて外部装置から送られた復号化したデータをシリアルデータからパラレルデータに変換するまでのタイミングの制御を、フレーム検出手段からの信号を基に制御を行うものである。
【0132】<スクランブル解除手段の説明> スクランブル解除手段は、外部装置から送られた復号化したデータを更に予めスクランブル処理を施されたデータに対しスクランブル解除処理を施すものである。
【0133】<S/P変換手段の説明> S/P変換手段は、シリアルデータをパラレルデータに変換する。
【0134】<フレーム検出手段の説明> フレーム検出手段は、各通信によってフレーム長が異なるものを検出する。このフレーム長によって通信内容(認証レベル)が決定される。
【0135】<通信エラー検出手段の説明> 通信エラー検出手段は、認証検査を行う際の正確なデータの受け渡しを行なう為の通信上の誤りを検出し、誤動作による内部情報の漏洩とならないよう以下の通信エラーの検出を行う。
【0136】<通信エラー内容の説明> 通信エラーは、具体的には、次に掲げる4つのエラーがある。
(1)クロックエラー:これはBRCクロックが断状態時に発生するエラーである。エラーが発生している間は、外部入出力手段はすべてディセーブル状態となる。
(2)通信フォーマットエラー:通信フォーマット上におけるエラーである。
(3)照合通信時のコマンドエラー:照合通信に遷移すると、外部装置からコマンドが送信されるようになる。あらかじめ決められたコマンド以外のコードを受信した場合は全てコマンドエラーとしての処理を行う。コマンドエラーが発生した場合時の処理としては、外部装置に送信する。
(4)ユーザモード中の照合通信エラー:ユーザモード中に照合通信が行われた場合は、CPUへのリセットは禁止のため、ユーザモード中の照合通信においては、外部装置からコマンドを受信した場合、ユーザモード中であることを知らせるコマンドを外部装置に送信し、CPUへのリセットが不可能なことを通知し、外部入出力手段c14のハードウェアによる通信を行うことを知らせる。但し、受信したデータが通信エラーを起こしている場合は、通信に異常があることを通知する。
【0137】前述の外部装置からBRC端子に入力された信号は、パルス検出手段、通信クロック生成手段、クロック断検出手段に送られる。クロック断検出手段により、クロック断が検出されると、ハードウェアリセット手段へ送られて、外部入出力手段c14の送信部・受信部・通信制御手段の各ブロックへリセット信号が送られる等の処理が行われる。BRC信号に基づいて、通信クロック生成手段がクロック信号を生成し、それに基づいて外部通信用復号手段がSC端子からの信号を復号する。復号された信号は、スクランブル解除手段によりスクランブルが解除されて、S/P変換手段に送られる。S/P変換手段は、受信タイミング制御手段及びフレーム検出手段との連携によりパラレル信号をつくり、BUS2からデータ制御手段c14fを介して、チップ側に伝達される。これらの伝達途上において通信エラー検出手段は、フレーム検出及びS/P変換手段からの信号を監視し通信エラーを検出する。
【0138】<外部通信用乱数発生手段の説明> 外部通信用乱数発生手段c14cは、外部装置との通信の為に設けられた乱数発生手段であって、乱数発生装置c8とは独立して機能する。なお、乱数発生方式としては乱数発生装置c8と同様である。
【0139】<チップ内部データ用暗号手段の説明> チップ内部データ用暗号手段c14dは、外部装置へチップ内部のデータを送信する前に予め所定のアルゴリズムにて暗号を施すものである。なお、外部通信用暗号手段とは独立して機能するものである。
【0140】<チップ内部データ用復号手段の説明> チップ内部データ用復号手段は、予め所定のアルゴリズムにて暗号化されたチップ内部のデータに対し復号を施すものである。なお、外部通信用復号手段とは独立して機能するものである。
【0141】<データ制御手段の説明> データ制御手段c14fは、BUS1を介して送られてきたチップ内部のデータである
(1)秘密情報データ、
(2)IDデータ、
(3)ROMデータ、
(4)デバイス情報データ、
(5)アクセス情報データ、
(6)S4を介して送られてきたチップ内部のデータである乱数データ、
(7)S5を介して送られてきたチップ内部のデータであるスチール情報データ(スチールとはデータの取り込みを指す。以下同様)、
を外部装置へ送出する為のデータ制御、外部装置からのコマンド等のデータをBUS1上に送出する為のデータ制御を行う。
また、上記これらのデータを一旦記憶するバッファを兼ね備えており、具体的には受信部c14bを介して入力された外部装置データを格納するレジスタ、乱数発生装置c8からの信号s4により受け取った乱数データを格納するレジスタ、スチール情報格納手段c15からの信号s5により受け取ったスチール情報データを格納するレジスタ、チップの他の部分から取得した秘密情報データ、IDデータ、ROMデータ、デバイス情報データ、アクセス情報データ等をそれぞれ格納するレジスタを有している。
なお、ROMデータとは、ユーザ用ROMやブート用ROMに格納されてあるデータを指し、デバイス情報データとは、量産用チップ/開発用チップのチップ種別、CPUの種類や型式番号、内蔵された各デバイスの種類や型式番号を指し、アクセス情報データとは、内蔵された各デバイスがアクセスを行った時の状況の履歴データを示すものである。
【0142】<通信制御手段の説明> 通信制御手段c14gは、チップと外部装置との間で相互認証を行う為の各種制御を行う。図23は、通信制御手段c14gのブロック図を示すものであり、認証待ち制御手段と、シーケンス制御手段と、認証レベル制御手段と、認証判定手段と、認証コマンド制御手段と通信ステータス制御手段とで構成される。
【0143】<認証待ち制御手段の説明> 認証待ち制御手段は、外部装置からの通信要求を受けて最初の通信処理を行い、外部装置から次の処理要求を受けるまでのチップ自身のスタンバイ状態を制御するものである。
【0144】<シーケンス制御手段の説明> シーケンス制御手段は、それぞれ異なる認証レベルでのシーケンスの制御を行うものである。
【0145】<認証レベル制御手段の説明> 認証レベル制御手段は、それぞれ異なる認証レベルでのコマンド制御を行うものである。
【0146】<認証判定手段の説明> 認証判定手段は、それぞれ異なる認証レベルのコマンドの判定や許可を行うものである。
【0147】<認証コマンド制御手段の説明> 認証コマンド制御手段は、チップ内部の各種データを読み出す為の制御を行うものである。
【0148】<通信ステータス制御手段の説明> 通信ステータス制御手段は、通信中に発生した各通信ステータスのデータの格納や制御を行う。ステータスとして考えられるのは、受信フレーム中のパリティビット検査を行い、受信したデータのパリティ結果と異なった場合発生する通信フォーマットエラー等の通信エラーステータスや、ブート処理による自己診断情報のステータスや、各認証コマンドの制御ステータス等がある。
【0149】データ制御手段c14fが制御する秘密情報データ、IDデータ、ROMデータ、デバイス情報データ、アクセス情報データ、乱数データ、スチール情報データのチップ内部データは、通信ステータス制御手段、認証コマンド制御手段、認証判定手段、認証レベル制御手段、シーケンス制御手段、認証待ち制御手段の連携に従い、それぞれ必要に応じて、また、各認証レベルのそれぞれの認証手続に従い、順次チップ内部データが外部装置へ送られていくこととなる。
【0150】<スチール情報格納手段の説明> 次に図2、図3に示すスチール情報格納手段c15について説明する。スチール情報格納手段c15は、プログラム管理エリアにてユーザが指定したエリアに格納されたデータの情報を、CPUがその指定したエリアにアクセスすることで、リアルタイムにその時のアクセスしたデータの情報が格納されるものである。また、内蔵された各デバイスにCPUがアクセスを行った際に、その時の状況が同様に格納されるものである。
【0151】次に図24、図25について説明する。図24は、ユーザが指定したエリアの情報をスチール情報格納手段に格納する迄のフローチャートである。また、図25は、チップ内部の情報データを外部装置へ送出する為のフローチャートであり、外部装置からチップ内部の情報データの送信要求がされて、チップがチップ内部情報データを送信する処理を示すフローチャートを外部装置側及びチップ側の動作を対照させて示している。なお、本フローチャートでは、通信処理中に発生する各種エラー処理については、説明を省略してあるが、さまざまな段階で生じ得るエラーに関しては、適切な段階にまで戻るなどのエラー処理が行われる。
【0152】まず、前提として、チップ側のCPUの動作のうち、セキュリティモードの開始処理に始まり、ユーザモードに遷移してからのスチールデータ格納処理について図24を参照しつつ説明する。図1の量産チップの説明において前述したように、チップのブート時には、セキュリティモードから始まり、所定のブート処理が完了してセキュリティチェックがOKになるとユーザモードに遷移する。セキュリティモードにおける一連のブート処理のうちの一つとして、「プログラム管理エリアにてユーザが指定したアドレス(エリア)を読み込むステップ」と、「プログラム管理エリアにてユーザが指定したアドレス(エリア)をブート処理の環境設定値として設定するステップ」とが実行される。ここで、「プログラム管理管理エリアにてユーザが指定したアドレス(エリア)」とは、図5(a)に示すプログラム管理エリアの「1FA0h」から始まり「1FBFh」までのエリアに書き込まれたものを指す。このアドレス(エリア)を読み込んだ上で、ブート処理の環境設定値として設定する。そして、ユーザモードに遷移したのち、CPUが当該アドレス(エリア)にアクセスをしたか否かを判断する。CPUが当該アドレス(エリア)にアクセスした時には、その時のデータバス上のデータをスチールし、スチールしたデータをスチール情報格納手段c15に格納する。これらの処理は、CPU、記憶手段c11、記憶監視手段c12、スチール情報格納手段c15の連携によりなされる。
【0153】次に、図25の右側に記載した外部装置側のフローチャートを説明する。図25の右側に記載した外部装置側のフローチャートは、主に、チップ内部情報データの送信要求に始まり、その受信処理までの処理を示すものである。外部装置がチップ内部情報データの要求送信を行う場合には、チップへの送信要求処理を行い、チップからの応答がある場合に、レベル認証手続を行い、それをクリアすると、チップ内部情報データの送信要求処理を実行し、その受信処理、受信したデータを外部装置の記憶手段に格納する処理を行い、受信が終了すると、その他の処理を実行して戻る。チップからの応答が無い場合やレベル認証をクリアしない場合は、スタート時点に戻る。また、チップ内部情報データの受信処理が終了しない場合は、再度送信要求処理を実行することとなる。なお、何回かの再度送信要求を行い、チップ内部情報データの受信処理が終了しない場合は、図示しないエラー処理に従うこととなる。
【0154】図25の左側に記載したチップ側のフローチャートは、外部装置との通信に関するチップ側のフローチャートである。外部装置から照合通信の要求ありと判断すると、外部装置との通信開始処理を実行する。レベル認証をクリアできるとその旨を外部装置へ通知する。そして、照合通信の受信待ちをする。そして、チップ内部情報データの取り出し要求があると、チップ内部情報データの取り出し処理を実行し、そのデータを外部装置へ送信する。その後、照合通信の受信待ちに戻る。
【0155】各機関へ提供する認証レベルの割り当ての例として
(1)レベル1:ユーザA
(2)レベル2:ユーザB
(3)レベル3:第三者機関A(下位)
(4)レベル4:第三者機関B(中位)
(5)レベル5:第三者機関C(上位)
………
(6)レベルn:最上位機関
のように考えられる。
【0156】また、認証検査/照合検査の内容の例として、
(1)レベル1(ユーザA):1種類のID番号+ユーザ指定エリア情報
(2)レベル2(ユーザB):レベル1+1種類のID番号+ユーザプログラム
(3)レベル3(第三者機関A): レベル2+数種類のID番号+乱数データ
(4)レベル4(第三者機関B): レベル3+全種類のID番号+デバイス情報データ
(5)レベル5(第三者機関C): レベル4+アクセス情報データ
………
(6)レベルn (最上位機関):チップ内部データ全て
のように考えられる。なお、各レベルによる真贋判定の実施の回数については段落番号0110で説明したものに対応している。
【0157】上述の例はあくまでも一例であり、各機関へ提供する認証レベルの割り当てや具体的に検査/照合する内容は色々な組み合わせが考えられる。
【0158】また、チップの真贋検査において、認証レベルの低いレベル1及びレベル2については、特に検査装置や照合装置に限らず、ホールコンピュータにこれらの認証レベルに対応した真贋検査の機能を持たせても良いことは言うまでもない。
【0159】
【発明の効果】本発明では、チップの外部端子自身が自ら出力した信号や、外部端子へ入力された信号をチェックする機能を持ったバス/信号線制御手段を内蔵することで、悪意に出力同士を短絡(ショート)したり、然るべく外部端子に想定できない信号が入力されるような不正に対しても、これらの不正を事前に検出することができる。
【図面の簡単な説明】
【図1】チップの動作モード遷移図である。
【図2】チップ全体の機能ブロック図である。
【図3】外部トリガ/クロック入力、及び乱数データを外部へ出力可能な場合のチップ全体の機能ブロック図である。
【図4】チップ全体のメモリマップを示した具体例図である。
【図5】ユーザ用ROM内のエリアを示した具体例図である。
【図6】暴走監視手段c4のブロック図である。
【図7】リセット/割込制御手段c5のブロック図である。
【図8】システムリセットのタイミングチャート例である。
【図9】ユーザリセットのタイミングチャート例である。
【図10】NMI及びINT割込みのタイミングチャート例である。
【図11】乱数発生の回路構成を示すブロック図である。
【図12】乱数データを外部へ出力可能な場合の乱数発生の回路構成機能ブロック図である。
【図13】補助乱数発生手段r19の具体例を示すブロック図である。
【図14】ビットスクランブルテーブルの構成を示す概念説明図である。
【図15】更新周期設定データ保持回路r1と更新周期設定回路r2の内部構成を示すブロック図である。
【図16】乱数発生装置c8が所望の動作を行う為の環境設定の設定を行う初期化ルーチン処理を示すフローチャートである。
【図17】乱数発生装置c8が図16による初期化処理終了後ユーザが自由に乱数を読み出す為の動作設定処理を示すフローチャートである。
【図18】乱数発生装置c8の乱数更新及び乱数読出処理のフローチャートを示したものである。
【図19】入賞状態に関わらない乱数発生装置c8の乱数読出処理及び乱数出力処理のフローチャートを示したものである。
【図20】認証方式/照合方式に関わる概念フローチャートである。
【図21】外部装置との通信の概要シーケンスである。
【図22】外部入出力手段c14の詳細な構成例を示すブロック図である。
【図23】外部入出力手段c14のうちの通信制御手段c14gの詳細を示すブロック図である。
【図24】ユーザが指定したエリアの情報をスチール情報格納手段に格納する迄のフローチャートである。
【図25】チップ内部の情報データを外部装置へ送出する為のフローチャートである。外部装置からチップ内部の情報データの送信要求がされて、チップがチップ内部情報データを送信する処理を示すフローチャートを外部装置側及びチップ側の動作を対照させて示している。
【図26】本発明のバス/信号線制御手段c13の端子毎の不一致検出を行う第一実施例を示したブロック構成図である。
【図27】本発明のバス/信号線制御手段c13の複数端子について同時に不一致判定を行う第二実施例を示したブロック構成図である。
【符号の説明】
c1 中央処理装置(CPU)
c2 タイマシステム
c3 不正実行禁止手段
c4 暴走監視手段
c4a クロック選択手段
c4b nビットカウンタ
c4c 暴走監視制御手段
c4d 動作モード制御手段
c4e 制御ワード設定手段
c4f 出力制御手段
c5 リセット/割込制御手段
c5a ノイズフィルタ
c5b OR(論理和)回路
c5c 延長回路
c5d INT優先順位制御回路
c6 デコード手段
c7 入出力手段
c7a 入出力制御手段
c7b 機能選択手段
c8 乱数発生装置
c9 クロック生成手段
c10 セキュリティ手段
c11 記憶手段
c11a ID格納手段
c11b ブート用記憶手段
c11c ユーザ用記憶手段
c12 記憶監視手段
c13 バス/信号線制御手段
c13a I/0バッファ
c13b 期待値設定回路
c13c 切換回路
c13d 切換制御回路
c13e 不一致検出回路
c13f 不一致判定回路
c14 外部入出力手段
c14a 送信部
c14b 受信部
c14c 外部通信用乱数発生手段
c14d チップ内部データ用暗号手段
c14e チップ内部データ用復号手段
c14f データ制御手段
c14g 通信制御手段
c15 スチール情報格納手段
r1  更新周期設定データ保持回路
r1a  基準インターバル周期指定回路
r1b  定周期設定値格納回路
r2 更新周期設定回路
r2a  基準インターバル周期生成回路
r2b  基準インターバル周期カウント回路
r2c  リロードタイミング生成回路
r3 ソフトウェア更新トリガ発生回路
r4 動作開始指示回路
r5 乱数更新トリガ選択情報保持回路
r6 乱数更新トリガ選択回路
r7 更新制御回路
r8 乱数発生回路
r9 ビットスクランブル設定回路
r9a ビットスクランブル要求回路
r9b ビットスクランブルキー生成回路
r9c ビットスクランブル回路
r10 乱数最大値格納回路
r11 乱数最大値比較回路
r12 乱数値保持回路
r13 乱数値要求回路
r14 乱数値読出回路
r15 ROM内プログラム管理エリア
r15a 乱数初期値選択定数
r15b RAMアドレス指定
r16 ソフトウェア操作
r16a 固定値
r16b ID番号
r16c RAM値
r16d RAM演算値
r16e RAM
r17 乱数初期値選択回路
r18 乱数初期値格納回路
r19 補助乱数発生手段
r20 外部出力制御手段
r21 命令実行数カウント回路
r22 熱雑音発生回路
r23 A/D変換回路
r24  カウンタ回路
r25 外部トリガ制御手段
S1  乱数一巡終了信号
S2  ビットスクランブル要求信号
S3 各機能ブロックに供給するクロックとは異なる分周比率のクロックソース源
S4  ユーザでアクセスできない乱数出力データ
S5  スチール情報データ
BUS1 システムバス
BUS2 外部入出力手段c14内の固有のハードウェアバス

Claims (6)

  1. セキュリティ機能を有し、遊技機に組み込む遊技機制御用チップであって、
    外部端子の入出力を自らチェックする機能を持ったバス/信号線制御手段を有する遊技機制御用チップ。
  2. 請求項1に記載の遊技機制御用チップであって、
    前記バス/信号線制御手段は、
    制御信号の方向制御や駆動能力の強化をするI/Oバッファと、
    所定のデータ値や信号パターン等を設定する期待値設定回路と、
    外部端子から入力された信号と、前記期待値設定回路にて設定された所定のデータ値や信号パターン等の出力信号又はチップ内部の信号を外部端子へ出力する各制御信号とを比較し、不一致の検出を行う不一致検出回路と、
    前記外部端子へ出力する信号、又は前記期待値設定回路の出力信号のいずれかを選択して前記不一致検出回路へ送出する切換回路と、
    該切換回路の出力/切換信号の制御や前記不一致検出回路の検出条件設定の制御を行う切換制御回路と、
    前記不一致検出回路から送られてきた外部端子の信号が不一致であるか否かの判定を行い、一致しなければ,前記遊技機制御用チップのCPUを停止させたり,その検査対象である外部端子の情報を異常検出信号として外部へ知らせる不一致判定回路
    を有する遊技機制御用チップ。
  3. 外部端子の入出力を自らチェックする機能を持った遊技機制御用チップを用いた遊技機制御方法であって、
    外部端子の入出力の異常を検出する異常検出ステップと、
    該異常検出ステップにて異常を検出した場合に、前記遊技機制御用チップのCPUを停止させたり、その検査対象である外部端子の情報を異常検出信号として外部へ知らせる異常判定ステップと
    を有する遊技機制御方法。
  4. 外部端子の入出力を自らチェックする機能を持った遊技機制御用チップを用いた遊技機制御方法であって、
    所定のデータ値や信号パターン等を設定する期待値設定ステップと、
    外部端子から入力された信号と、前記期待値設定ステップにて設定された所定のデータ値や信号パターン等の出力信号又はチップ内部の信号を外部端子へ出力する各制御信号とを比較し、不一致の検出を行う不一致検出ステップと、
    前記不一致検出ステップの結果に基づき、不一致の場合には前記遊技機制御用チップのCPUを停止させたり、その検査対象である外部端子の情報を異常検出信号として外部へ知らせる不一致判定ステップと
    を有する遊技機制御方法。
  5. 請求項4に記載の遊技機制御方法であって、
    前記不一致判定ステップにおける処理を前記外部端子毎に実行する遊技機制御方法。
  6. 請求項4に記載の遊技機制御方法であって、
    前記不一致判定ステップにおける処理を前記複数の外部端子について実行する遊技機制御方法。
JP2002261253A 2002-09-06 2002-09-06 遊技機制御用チップ Expired - Fee Related JP4363829B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002261253A JP4363829B2 (ja) 2002-09-06 2002-09-06 遊技機制御用チップ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002261253A JP4363829B2 (ja) 2002-09-06 2002-09-06 遊技機制御用チップ

Publications (2)

Publication Number Publication Date
JP2004097363A true JP2004097363A (ja) 2004-04-02
JP4363829B2 JP4363829B2 (ja) 2009-11-11

Family

ID=32261682

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002261253A Expired - Fee Related JP4363829B2 (ja) 2002-09-06 2002-09-06 遊技機制御用チップ

Country Status (1)

Country Link
JP (1) JP4363829B2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009183500A (ja) * 2008-02-07 2009-08-20 Daito Giken:Kk 遊技台
JP2010194368A (ja) * 2010-06-17 2010-09-09 Daito Giken:Kk 遊技台
JP2010259837A (ja) * 2010-08-23 2010-11-18 Daito Giken:Kk 遊技台
JP2021137487A (ja) * 2020-03-09 2021-09-16 京楽産業.株式会社 遊技機
JP2021137486A (ja) * 2020-03-09 2021-09-16 京楽産業.株式会社 遊技機
JP2021137488A (ja) * 2020-03-09 2021-09-16 京楽産業.株式会社 遊技機

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009183500A (ja) * 2008-02-07 2009-08-20 Daito Giken:Kk 遊技台
JP4537463B2 (ja) * 2008-02-07 2010-09-01 株式会社大都技研 遊技台
JP2010194368A (ja) * 2010-06-17 2010-09-09 Daito Giken:Kk 遊技台
JP4576484B2 (ja) * 2010-06-17 2010-11-10 株式会社大都技研 遊技台
JP2010259837A (ja) * 2010-08-23 2010-11-18 Daito Giken:Kk 遊技台
JP2021137487A (ja) * 2020-03-09 2021-09-16 京楽産業.株式会社 遊技機
JP2021137486A (ja) * 2020-03-09 2021-09-16 京楽産業.株式会社 遊技機
JP2021137488A (ja) * 2020-03-09 2021-09-16 京楽産業.株式会社 遊技機
JP7141727B2 (ja) 2020-03-09 2022-09-26 京楽産業.株式会社 遊技機
JP7141728B2 (ja) 2020-03-09 2022-09-26 京楽産業.株式会社 遊技機
JP7141729B2 (ja) 2020-03-09 2022-09-26 京楽産業.株式会社 遊技機

Also Published As

Publication number Publication date
JP4363829B2 (ja) 2009-11-11

Similar Documents

Publication Publication Date Title
JP4263898B2 (ja) 遊技機制御用チップ及び遊技機制御方法
JP4364292B2 (ja) 遊技機制御用チップ及び遊技機制御方法
US7779273B2 (en) Booting a multiprocessor device based on selection of encryption keys to be provided to processors
US7774617B2 (en) Masking a boot sequence by providing a dummy processor
US8037293B2 (en) Selecting a random processor to boot on a multiprocessor system
JP5031029B2 (ja) 複数のプロセッサにまたがるセキュア・ブートのシステム、方法およびプログラム
US8046573B2 (en) Masking a hardware boot sequence
US9104894B2 (en) Hardware enablement using an interface
KR101237104B1 (ko) 의사 난수 생성기에 대한 초기 시드 관리
JP5607546B2 (ja) 保護された動作モードの間にシステムアクセスを制御するための方法および装置
WO2017101122A1 (zh) 管用分离的计算机加密锁
US8108941B2 (en) Processor, memory, computer system, system LSI, and method of authentication
JP6695805B2 (ja) 部品が本質的な特徴に基づいて起動される集積回路
KR101329823B1 (ko) 보안 시스템 온 칩
US20070288739A1 (en) System and method for masking a boot sequence by running different code on each processor
JP4242600B2 (ja) 遊技機制御用チップ及び遊技機制御方法
JPH1040099A (ja) 通信機能を有するセキュリティチップ
JP4226845B2 (ja) 遊技機制御用チップ及び遊技機制御方法
JP4363829B2 (ja) 遊技機制御用チップ
JP2004038409A (ja) 遊技機制御用チップ及び遊技機制御方法
JP2003209545A (ja) コア内蔵型集積回路及びそのコア盗用防止方法
JP2002099345A (ja) 通信機能を有するセキュリティチップ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050906

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090407

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090603

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090603

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20090728

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090818

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120828

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150828

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees