JP4876156B2 - Electronic device, game machine, main control board, peripheral board, authentication method and authentication program - Google Patents

Electronic device, game machine, main control board, peripheral board, authentication method and authentication program Download PDF

Info

Publication number
JP4876156B2
JP4876156B2 JP2009177085A JP2009177085A JP4876156B2 JP 4876156 B2 JP4876156 B2 JP 4876156B2 JP 2009177085 A JP2009177085 A JP 2009177085A JP 2009177085 A JP2009177085 A JP 2009177085A JP 4876156 B2 JP4876156 B2 JP 4876156B2
Authority
JP
Japan
Prior art keywords
main control
data
synchronization code
authentication
value
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.)
Expired - Fee Related
Application number
JP2009177085A
Other languages
Japanese (ja)
Other versions
JP2011030611A (en
Inventor
直幸 渡辺
浩 水上
元成 横島
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.)
Kyoraku Industrial Co Ltd
Original Assignee
Kyoraku Industrial 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 Kyoraku Industrial Co Ltd filed Critical Kyoraku Industrial Co Ltd
Priority to JP2009177085A priority Critical patent/JP4876156B2/en
Publication of JP2011030611A publication Critical patent/JP2011030611A/en
Application granted granted Critical
Publication of JP4876156B2 publication Critical patent/JP4876156B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

この発明は、複数の基板を備え、これらの基板間の通信の認証をおこなう電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラムに関する。   The present invention relates to an electronic device, a gaming machine, a main control board, a peripheral board, an authentication method, and an authentication program that include a plurality of boards and authenticate communication between these boards.

従来、複数の基板を備えた電子機器において、これら各基板に対する不正を防止するための様々な技術が提案されている。複数の基板を備えた電子機器としては、たとえば、ぱちんこ遊技機などがある。ぱちんこ遊技機には、電子機器全体の動作を司る主制御基板と、電子機器の各部の動作をおこなう被制御基板(周辺部)とを備えている。この主制御基板は、周辺部に制御コマンドを含む制御信号を出力し、その他の周辺部は、主制御基板から送信された制御信号にしたがって動作を実行する機能を備えている。   Conventionally, in an electronic apparatus having a plurality of substrates, various techniques have been proposed for preventing fraud on these substrates. As an electronic device provided with a plurality of substrates, for example, there is a pachinko gaming machine. The pachinko gaming machine includes a main control board that controls the operation of the entire electronic device, and a controlled board (peripheral part) that operates each part of the electronic device. The main control board outputs a control signal including a control command to the peripheral part, and the other peripheral parts have a function of executing an operation according to the control signal transmitted from the main control board.

主制御基板に対する不正には、たとえば、正規の主制御基板を不正な制御基板に取り替えたり、主制御基板がおこなう処理を規定したプログラムコードを改ざんしたりするなどの方法がある。このような不正を防止するため、たとえば、主制御基板内に搭載されたROMに記録されているプログラムデータをROMチェッカによってチェックして、ROMの不正交換などを防止する技術が提案されている(たとえば、下記特許文献1参照。)。   Examples of frauds with respect to the main control board include a method of replacing a regular main control board with an illegal control board, or altering a program code that defines processing performed by the main control board. In order to prevent such fraud, for example, a technique has been proposed in which program data recorded in a ROM mounted on the main control board is checked by a ROM checker to prevent illegal exchange of the ROM ( For example, see the following Patent Document 1.)

特開平11−333108号公報JP 11-333108 A

しかしながら、上述した特許文献1の技術によれば、プログラムデータの改ざんは検知できるが、正規な主制御基板と被制御基板との間に不正な制御基板が接続されてしまうのを防止することができない。このため、不正な制御基板から出力される制御信号によって、被制御基板が不正な制御をおこなってしまうという問題がある。   However, according to the technique disclosed in Patent Document 1 described above, although falsification of program data can be detected, it is possible to prevent an unauthorized control board from being connected between a regular main control board and a controlled board. Can not. For this reason, there is a problem that the controlled substrate performs unauthorized control by the control signal output from the unauthorized control substrate.

ここで、図17および図18を用いて、従来技術による不正防止技術について説明する。図17は、従来技術による不正防止技術の概要を示す説明図である。また、図18は、不正な制御基板の挿入例を示す説明図である。図17に示すように、正規の主制御基板1701は、周辺基板1702に対して正規の制御信号RSを出力して、周辺基板1702の動作を制御する。正規の主制御基板1701には、検査用ポート1703が設けられている。この検査用ポート1703から正規の主制御基板1701の内部に設けられたROMなどに記録されたプログラムデータを検査して、正規の主制御基板1701に不正がおこなわれていないかを検査する。   Here, a fraud prevention technique according to the prior art will be described with reference to FIGS. 17 and 18. FIG. 17 is an explanatory diagram showing an outline of a fraud prevention technique according to the prior art. FIG. 18 is an explanatory diagram showing an example of inserting an unauthorized control board. As shown in FIG. 17, the regular main control board 1701 outputs a regular control signal RS to the peripheral board 1702 to control the operation of the peripheral board 1702. A regular main control board 1701 is provided with an inspection port 1703. The program data recorded in the ROM or the like provided inside the regular main control board 1701 is inspected from the inspection port 1703 to inspect whether the regular main control board 1701 is fraudulent.

ところが、図18に示すように、正規の主制御基板1701と周辺基板1702との間に、不正な制御基板1801が挿入されてしまう場合がある。不正な制御基板1801は、正規の主制御基板1701から出力された正規の制御信号RSを破棄または無視し、替わりに不正な制御信号FSを周辺基板1702に出力する。ここで、周辺基板1702は、入力された信号が、正規の制御信号RSであるか不正な制御信号FSであるかを判別することができない。このため、周辺基板1702は、不正な制御信号FSにしたがって動作してしまうという問題がある。   However, as shown in FIG. 18, an unauthorized control board 1801 may be inserted between the regular main control board 1701 and the peripheral board 1702. The unauthorized control board 1801 discards or ignores the regular control signal RS output from the regular main control board 1701 and outputs the unauthorized control signal FS to the peripheral board 1702 instead. Here, the peripheral board 1702 cannot determine whether the input signal is the normal control signal RS or the illegal control signal FS. For this reason, there is a problem that the peripheral board 1702 operates in accordance with an unauthorized control signal FS.

また、検査用ポート1703は正規の主制御基板1701のみに設けられているため、検査用ポート1703を用いた検査をおこなっても、正規の主制御基板1701内の処理に対する検査結果が返ってしまう。このため、検査用ポート1703を用いた検査をおこなっても、不正な制御基板1801による不正制御を検知することができないという問題がある。   Further, since the inspection port 1703 is provided only on the regular main control board 1701, even if the inspection using the inspection port 1703 is performed, the inspection result for the process in the regular main control board 1701 is returned. . For this reason, there is a problem that even if an inspection using the inspection port 1703 is performed, unauthorized control by the unauthorized control board 1801 cannot be detected.

この発明は、上述した従来技術による問題点を解消するため、正規な主制御基板と周辺部との間に不正な制御基板が接続されるのを防止して、ぱちんこ遊技機などの電子機器に対する不正を防止することができる電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラムを提供することを目的とする。   In order to solve the above-described problems caused by the prior art, the present invention prevents an unauthorized control board from being connected between a regular main control board and a peripheral portion, and can be applied to electronic devices such as pachinko machines. An object is to provide an electronic device, a gaming machine, a main control board, a peripheral board, an authentication method, and an authentication program that can prevent fraud.

上述した課題を解決し、目的を達成するため、請求項1の発明にかかる電子機器は、主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理をおこなう周辺部と、を備える電子機器であって、前記主制御部は、所定のデータを記憶するデータ記憶手段と、前記主制御部の動作検査値とともに送信される演算値の生成に用いる前記データの量(以下、「データ量」という)を決定する決定手段と、前記データ記憶手段内の前記データを前記データ量に分割し、分割した前記データに対してそれぞれ結合法則を満たす2項演算をおこなって、分割した前記データの数(以下、「分割数」という)分の前記演算値を生成する演算値生成手段と、前記主制御部の前記動作検査値として、前記制御コマンドの送信に伴って出力されるパケット情報を含んだ同期コードを生成する同期コード生成手段と、他の手段から独立してフリーランに計時をおこなう計時手段と、指定されたタイミングで前記計時手段から取得した計時時間の情報を含んだ相対時間コードを生成する相対時間コード生成手段と、前記分割数分の前記演算値、前記同期コードおよび前記相対時間コードを前記周辺部に送信する送信手段と、を備え、前記周辺部は、前記分割数分の前記演算値、前記相対時間コードおよび前記同期コードを受信する受信手段と、前記分割数分の前記演算値に対して前記2項演算をおこなった演算結果と、前記データ記憶手段内の全ての前記データに対して前記2項演算をおこなった値(以下、「期待値」という)とが一致するか否かを判断する判断手段と、前記同期コードに含まれる前記パケット情報の差分を用いて前記主制御部の動作順序を認証するとともに、前記相対時間コードを用いて前記主制御部の動作順序を認証する動作認証手段と、前記動作認証手段によって、前記同期コードを用いた認証および前記相対時間コードを用いた認証の双方が成立した場合に、前記主制御部によって送信された制御コマンドを認証するコマンド認証手段と、を備え、前記同期コード生成手段は、前記同期コードの生成に用いる前記パケット情報の種類を前記分割数に基づいて決定し、前記動作認証手段は、前記判断手段によって前記演算値と前記期待値とが一致すると判断された際に前記2項演算の対象となった前記演算値の数に基づいて前記パケット情報の種類を特定して前記同期コードを用いた認証をおこなうことを特徴とする。   In order to solve the above-described problems and achieve the object, an electronic device according to the invention of claim 1 includes a main control unit and a peripheral unit that performs predetermined processing based on a control command transmitted by the main control unit. The main control unit includes: data storage means for storing predetermined data; and an amount of the data used to generate a calculation value transmitted together with an operation test value of the main control unit (hereinafter referred to as “the amount of data”). The data storage means is divided into the data amount, and the divided data is subjected to a binary operation satisfying the combining law for each of the divided data. The operation value generation means for generating the operation value for the number of the data (hereinafter referred to as “number of divisions”) and the operation check value of the main control unit are output along with the transmission of the control command. A synchronization code generating means for generating a synchronization code including packet information, a time measuring means for measuring a free run independently of other means, and information on the time measured from the time measuring means at a specified timing. A relative time code generating means for generating the included relative time code, and a transmission means for transmitting the calculation value, the synchronization code, and the relative time code for the number of divisions to the peripheral portion, the peripheral portion being Receiving means for receiving the calculated value for the number of divisions, the relative time code, and the synchronization code, a calculation result obtained by performing the binary operation on the calculated values for the number of divisions, and the data storage Determining means for determining whether or not the values obtained by performing the binary operation on all the data in the means (hereinafter referred to as “expected values”) match; Operation authentication means for authenticating the operation order of the main control section using the difference of the packet information included in the network, and authenticating the operation order of the main control section using the relative time code, and the operation authentication means And a command authenticating unit that authenticates a control command transmitted by the main control unit when both the authentication using the synchronization code and the authentication using the relative time code are established. The generation unit determines the type of the packet information used for generation of the synchronization code based on the number of divisions, and the operation authentication unit is determined by the determination unit to match the calculated value and the expected value. In this case, the type of the packet information is specified based on the number of the operation values that are the targets of the binary operation, and authentication using the synchronization code is performed. And features.

この請求項1の発明によれば、主制御部は、データ記憶手段内のデータの分割数に基づいて同期コードの生成に用いるパケット情報の種類を決定する。分割数は主制御部のみが知る値なので、不正解析者は、同期コードの生成に用いるパケット情報の種類を特定することができない。これにより、主制御部と周辺部との間に不正な制御部が挿入された場合に、同期コードを照合することによって不正を検知することができる。   According to the first aspect of the present invention, the main control unit determines the type of packet information used for generating the synchronization code based on the number of data divisions in the data storage means. Since the number of divisions is a value known only by the main control unit, the unauthorized analyst cannot specify the type of packet information used for generating the synchronization code. Thereby, when an unauthorized control unit is inserted between the main control unit and the peripheral unit, it is possible to detect fraud by checking the synchronization code.

また、請求項1の発明によれば、分割数そのものを決定するのではなく、演算値の生成に用いるデータ量を決定する。このため、分割数が不正に窃取される可能性を低減することができる。   According to the first aspect of the present invention, the amount of data used for generating the calculation value is determined instead of determining the number of divisions itself. For this reason, the possibility that the number of divisions is illegally stolen can be reduced.

さらに、請求項1の発明によれば、周辺部は、同期コードおよび相対時間コードの2種類のコードを用いて主制御部の動作順序を認証する。2種類のコードを用いて二重に認証処理をおこなうことにより、認証の強度を向上させ、不正な制御コマンドによる不正な処理が実行されるのを防止することができる。また、主制御部の動作順序を認証することによって、主制御部の動作の連続性を認証することができ、たとえば信号切替回路などを搭載した不正な制御部を検知することができる。   Furthermore, according to the invention of claim 1, the peripheral unit authenticates the operation order of the main control unit using two types of codes, a synchronization code and a relative time code. By performing authentication processing twice using two types of codes, it is possible to improve the strength of authentication and prevent unauthorized processing by an unauthorized control command. Further, by authenticating the operation sequence of the main control unit, the continuity of the operation of the main control unit can be authenticated, and for example, an unauthorized control unit equipped with a signal switching circuit or the like can be detected.

また、請求項2の発明にかかる電子機器は、請求項1に記載の発明において、前記同期コード生成手段は、前記制御コマンドの送信に伴って連続して出力される前記パケット情報と、前記制御コマンドの送信に伴って所定の間隔ごとに出力される前記パケット情報と、のいずれかを用いて前記同期コードを生成することを特徴とする。   An electronic device according to a second aspect of the present invention is the electronic device according to the first aspect, wherein the synchronization code generation means includes the packet information continuously output with the transmission of the control command, and the control. The synchronization code is generated using any one of the packet information output at predetermined intervals with the transmission of the command.

この請求項2の発明によれば、それぞれ異なる相関関係を有するパケット情報を用いて同期コードを生成することができる。   According to the second aspect of the present invention, it is possible to generate a synchronization code using packet information having different correlations.

また、請求項3の発明にかかる電子機器は、請求項1または2に記載の発明において、前記決定手段は、それぞれの前記演算値ごとに前記データ量を決定し、前記演算値生成手段は、前記演算値ごとにそれぞれ決定された前記データ量分の前記データを用いて前記演算値を生成することを特徴とする。   According to a third aspect of the present invention, in the electronic device according to the first or second aspect, the determining unit determines the data amount for each of the calculated values, and the calculated value generating unit includes: The calculation value is generated using the data corresponding to the data amount determined for each calculation value.

この請求項3の発明によれば、それぞれの演算値を生成するごとにデータ量を決定することができる。これにより、あらかじめデータ量を決定しておく場合と比較して、分割数が不正に窃取される可能性をさらに低減することができる。   According to the third aspect of the present invention, the amount of data can be determined every time each calculation value is generated. Thereby, compared with the case where the data amount is determined in advance, the possibility that the number of divisions is illegally stolen can be further reduced.

また、請求項4の発明にかかる電子機器は、請求項1〜3のいずれか一つに記載の発明において、前記送信手段は、前記演算値、前記同期コードおよび前記相対時間コードを前記制御コマンドに付加して前記周辺部に送信することを特徴とする。   The electronic device according to a fourth aspect of the present invention is the electronic device according to any one of the first to third aspects, wherein the transmission means transmits the calculated value, the synchronization code, and the relative time code to the control command. And is transmitted to the peripheral portion.

この請求項4の発明によれば、演算値や同期コード、相対時間コードを単体で送信する場合と比較して、主制御部と周辺部との間の通信負荷の増大を抑えることができる。また、請求項4の発明によれば、同期コードや相対時間コードを単体で送信する場合と比較して、通信データ中からこれらのデータが抽出され、解析されてしまう可能性を低減することができる。   According to the fourth aspect of the present invention, an increase in communication load between the main control unit and the peripheral unit can be suppressed as compared with the case where the calculated value, the synchronization code, and the relative time code are transmitted alone. According to the invention of claim 4, compared to the case where the synchronization code or the relative time code is transmitted alone, the possibility that these data are extracted from the communication data and analyzed is reduced. it can.

また、請求項5の発明にかかる電子機器は、請求項4に記載の発明において、前記演算値、前記同期コードおよび前記相対時間コードのうち少なくともいずれか1つは、前記制御コマンドの少なくとも一部を用いて生成されることを特徴とする。   According to a fifth aspect of the present invention, in the electronic device according to the fourth aspect, at least one of the calculated value, the synchronization code, and the relative time code is at least a part of the control command. It is generated using.

この請求項5の発明によれば、演算値や同期コード、相対時間コードの生成方法が解析されたり、これらのデータが再利用されたりする可能性を低減することができる。   According to the invention of claim 5, it is possible to reduce the possibility that the generation method of the calculation value, the synchronization code, and the relative time code is analyzed or the data is reused.

また、請求項6の発明にかかる電子機器は、請求項1〜5のいずれか一つに記載の発明において、前記主制御部は、前記演算値、前記同期コードおよび前記相対時間コードを所定の暗号化方法で暗号化する暗号化手段をさらに備え、前記送信手段は、前記暗号化手段によって暗号化された前記演算値、前記同期コードおよび前記相対時間コードを送信し、前記周辺部は、前記暗号化された前記演算値、前記同期コードおよび前記相対時間コードを前記暗号化方法に対応する復号化方法で復号化する復号化手段をさらに備え、前記判断手段および前記動作認証手段は、前記復号化手段によって復号化された前記演算値、前記同期コードおよび前記相対時間コードを用いて前記判断および前記認証をおこなうことを特徴とする。   An electronic device according to a sixth aspect of the present invention is the electronic device according to any one of the first to fifth aspects, wherein the main control unit sets the calculated value, the synchronization code, and the relative time code to a predetermined value. Further comprising an encryption means for encrypting by an encryption method, wherein the transmission means transmits the operation value, the synchronization code and the relative time code encrypted by the encryption means; The apparatus further comprises decryption means for decrypting the encrypted operation value, the synchronization code, and the relative time code by a decryption method corresponding to the encryption method, and the determination means and the operation authentication means include the decryption means The determination and the authentication are performed using the calculated value, the synchronization code, and the relative time code decoded by the conversion unit.

この請求項6の発明によれば、不正解析者によって演算値や同期コード、相対時間コードが不正に盗取された場合に、これらのデータの生成方法が解析されたり、これらのデータが再利用される可能性を低減させることができる。   According to the sixth aspect of the present invention, when an operation value, a synchronization code, or a relative time code is illegally stolen by an unauthorized analyst, the generation method of these data is analyzed, or these data are reused. The possibility of being reduced can be reduced.

また、請求項7の発明にかかる電子機器は、請求項6に記載の発明において、前記暗号化手段は、前記分割数に応じて前記暗号化方法を変更し、前記復号化手段は、前記判断手段によって前記演算結果と前記期待値とが一致した際に前記2項演算の対象となった前記演算値の数に基づいて前記復号化方法を変更することを特徴とする。   According to a seventh aspect of the present invention, in the electronic device according to the sixth aspect, the encryption unit changes the encryption method according to the number of divisions, and the decryption unit determines the determination. The decoding method is changed on the basis of the number of the operation values subjected to the binary operation when the operation result matches the expected value by means.

この請求項7の発明によれば、不正解析者は、暗号化方法の切り替えタイミングを知ることができず、演算値や同期コード、相対時間コードの生成方法が解析されたり、これらのデータが再利用される可能性をさらに低減させることができる。   According to the invention of claim 7, the fraud analyst cannot know the switching timing of the encryption method, and the generation method of the calculation value, the synchronization code, and the relative time code is analyzed, or these data are regenerated. The possibility of being used can be further reduced.

また、請求項8の発明にかかる電子機器は、請求項1〜7のいずれか一つに記載の発明において、前記同期コード生成手段は、前記分割数を特定値で割った時の余りの数に基づいて前記パケット情報の種類を決定し、前記動作認証手段は、前記演算値の数を特定値で割った時の余りの数に基づいて前記パケット情報の種類を特定することを特徴とする。   An electronic device according to an eighth aspect of the invention is the electronic device according to any one of the first to seventh aspects, wherein the synchronization code generation means is a remainder when the division number is divided by a specific value. And determining the type of the packet information based on the number of remainders obtained by dividing the number of the operation values by the specific value. .

また、請求項9の発明にかかる電子機器は、請求項1〜7のいずれか一つに記載の発明において、前記同期コード生成手段は、前回の分割数と今回の分割数との差分に基づいて前記パケット情報の種類を決定し、前記動作認証手段は、前回の認証時における前記演算値の数と今回の認証時における前記演算値の数との差分に基づいて、前記パケット情報の種類を特定することを特徴とする。   An electronic device according to a ninth aspect of the present invention is the electronic device according to any one of the first to seventh aspects, wherein the synchronization code generating means is based on a difference between the previous division number and the current division number. The type of packet information is determined, and the operation authentication means determines the type of packet information based on a difference between the number of the calculated values at the previous authentication and the number of the calculated values at the current authentication. It is characterized by specifying.

この請求項8および9の発明によれば、パケット情報の種類を決定する際に、分割数に対して演算処理をおこなうので、分割数と利用するパケット情報との対応関係が複雑になる。したがって、不正解析者による解析がより困難な認証値を送信することができる。   According to the eighth and ninth aspects of the present invention, when the type of packet information is determined, the arithmetic processing is performed on the number of divisions, so that the correspondence between the number of divisions and the packet information to be used becomes complicated. Accordingly, it is possible to transmit an authentication value that is more difficult to analyze by an unauthorized analyst.

また、請求項10の発明にかかる電子機器は請求項1〜9のいずれか一つに記載の発明において、前記データ記憶手段は、前記主制御部で用いられるプログラムデータを記憶することを特徴とする。   An electronic device according to a tenth aspect of the present invention is the electronic device according to any one of the first to ninth aspects, wherein the data storage means stores program data used in the main control unit. To do.

この請求項10の発明によれば、主制御部に記録されたプログラムコードの不正な書き換えや、主制御部のデータ記憶手段の不正な取り替えなどを検出することができる。   According to the tenth aspect of the present invention, it is possible to detect unauthorized rewriting of the program code recorded in the main control unit or unauthorized replacement of the data storage means of the main control unit.

また、請求項11の発明にかかる電子機器は、請求項1〜10のいずれか一つに記載の発明において、前記2項演算は、加算または排他的論理和演算であることを特徴とする。   An electronic device according to an eleventh aspect of the present invention is the electronic device according to any one of the first to tenth aspects, wherein the binary operation is an addition or exclusive OR operation.

この請求項11の発明によれば、演算値の生成に用いる2項演算として、加算または排他的論理和演算を切り替えて用いることができる。   According to the eleventh aspect of the present invention, addition or exclusive OR operation can be switched and used as the binary operation used to generate the operation value.

また、請求項12の発明にかかる遊技機は、請求項1〜11のいずれか一つに記載の電子機器を備え、前記主制御部は主制御基板であり、前記周辺部は周辺基板であることを特徴とする。   A gaming machine according to a twelfth aspect of the present invention includes the electronic device according to any one of the first to eleventh aspects, wherein the main control unit is a main control board, and the peripheral portion is a peripheral board. It is characterized by that.

この請求項12の発明によれば、主制御基板は、データ記憶手段内のデータの分割数に基づいて同期コードの生成に用いるパケット情報の種類を決定する。分割数は主制御基板のみが知る値なので、不正解析者は、同期コードの生成に用いるパケット情報の種類を特定することができない。これにより、主制御基板と周辺基板との間に不正な制御基板が挿入された場合に、同期コードを照合することによって不正を検知することができる。   According to the twelfth aspect of the invention, the main control board determines the type of packet information used for generating the synchronization code based on the number of data divisions in the data storage means. Since the number of divisions is a value known only by the main control board, the unauthorized analyst cannot specify the type of packet information used for generating the synchronization code. As a result, when an illegal control board is inserted between the main control board and the peripheral board, the illegality can be detected by collating the synchronization code.

また、請求項12の発明によれば、分割数そのものを決定するのではなく、演算値の生成に用いるデータ量を決定する。このため、分割数が不正に窃取される可能性を低減することができる。   According to the twelfth aspect of the invention, the amount of data used for generating the calculation value is determined instead of determining the division number itself. For this reason, the possibility that the number of divisions is illegally stolen can be reduced.

さらに、請求項12の発明によれば、周辺基板は、同期コードおよび相対時間コードの2種類のコードを用いて主制御基板の動作順序を認証する。2種類のコードを用いて二重に認証処理をおこなうことにより、認証の強度を向上させ、不正な制御コマンドによる不正な処理が実行されるのを防止することができる。また、主制御基板の動作順序を認証することによって、主制御基板の動作の連続性を認証することができ、たとえば信号切替回路などを搭載した不正な制御基板を検知することができる。   According to the twelfth aspect of the invention, the peripheral board authenticates the operation sequence of the main control board using two types of codes, a synchronization code and a relative time code. By performing authentication processing twice using two types of codes, it is possible to improve the strength of authentication and prevent unauthorized processing by an unauthorized control command. Further, by authenticating the operation sequence of the main control board, it is possible to authenticate the continuity of the operation of the main control board. For example, an unauthorized control board equipped with a signal switching circuit or the like can be detected.

また、請求項13の発明にかかる主制御基板は、電子機器に搭載され、周辺基板に所定の処理をおこなわせる制御コマンドを送信する主制御基板であって、所定のデータを記憶するデータ記憶手段と、前記主制御基板の動作検査値とともに送信される演算値の生成に用いる前記データの量(以下、「データ量」という)を決定する決定手段と、前記データ記憶手段内の前記データを前記データ量に分割し、分割した前記データに対してそれぞれ結合法則を満たす2項演算をおこなって、分割した前記データの数(以下、「分割数」という)分の前記演算値を生成する演算値生成手段と、前記主制御基板の前記動作検査値として、前記制御コマンドの送信に伴って出力されるパケット情報を含んだ同期コードを生成する同期コード生成手段と、他の手段から独立してフリーランに計時をおこなう計時手段と、指定されたタイミングで前記計時手段から取得した計時時間の情報を含んだ相対時間コードを生成する相対時間コード生成手段と、前記分割数分の前記演算値、前記同期コードおよび前記相対時間コードを前記周辺基板に送信する送信手段と、を備え、前記同期コード生成手段は、前記同期コードの生成に用いる前記パケット情報の種類を前記分割数に基づいて決定することを特徴とする。   A main control board according to a thirteenth aspect of the invention is a main control board that is mounted on an electronic device and transmits a control command for causing a peripheral board to perform a predetermined process, and is a data storage means for storing predetermined data. Determining means for determining the amount of data (hereinafter referred to as “data amount”) used to generate a calculation value transmitted together with the operation inspection value of the main control board; and the data in the data storage means An operation value that is divided into data amounts, performs binary operations on the divided data, each satisfying a coupling rule, and generates the operation values for the number of the divided data (hereinafter referred to as “division number”). Generation means, and as the operation inspection value of the main control board, synchronization code generation means for generating a synchronization code including packet information that is output along with transmission of the control command, A time measuring means for measuring the free run independently of the means, a relative time code generating means for generating a relative time code including information on the time measured from the time measuring means at a specified timing, and the division number Transmission means for transmitting the calculated value of minutes, the synchronization code and the relative time code to the peripheral board, and the synchronization code generation means divides the type of the packet information used for generation of the synchronization code into the division It is determined based on the number.

この請求項13の発明によれば、データ記憶手段内のデータの分割数に基づいて同期コードの生成に用いるパケット情報の種類を決定する。分割数は主制御基板のみが知る値なので、不正解析者は、同期コードの生成に用いるパケット情報の種類を特定することができない。これにより、主制御基板と周辺基板との間に不正な制御基板が挿入された場合に、同期コードを照合することによって不正を検知することができる。   According to the thirteenth aspect of the invention, the type of packet information used for generating the synchronization code is determined based on the number of data divisions in the data storage means. Since the number of divisions is a value known only by the main control board, the unauthorized analyst cannot specify the type of packet information used for generating the synchronization code. As a result, when an illegal control board is inserted between the main control board and the peripheral board, the illegality can be detected by collating the synchronization code.

また、請求項13の発明によれば、分割数そのものを決定するのではなく、演算値の生成に用いるデータ量を決定する。このため、分割数が不正に窃取される可能性を低減することができる。   According to the thirteenth aspect of the invention, the amount of data used for generating the calculation value is determined instead of determining the division number itself. For this reason, the possibility that the number of divisions is illegally stolen can be reduced.

また、請求項14の発明にかかる周辺基板は、電子機器に搭載され、主制御基板によって送信された制御コマンドに基づいて所定の処理をおこなう周辺基板であって、前記主制御基板によって送信された複数の演算値、相対時間コードおよび同期コードを受信する受信手段と、前記複数の前記演算値に対して前記2項演算をおこなった演算結果と、当該演算結果の期待値とが一致するか否かを判断する判断手段と、前記同期コードに含まれる前記パケット情報の差分を用いて前記主制御基板の動作順序を認証するとともに、前記相対時間コードを用いて前記主制御基板の動作順序を認証する動作認証手段と、前記動作認証手段によって、前記同期コードを用いた認証および前記相対時間コードを用いた認証の双方が成立した場合に、前記主制御基板によって送信された制御コマンドを認証するコマンド認証手段と、を備え、前記動作認証手段は、前記判断手段によって前記演算結果と前記期待値とが一致すると判断された際に前記2項演算の対象となった前記演算値の数に基づいて前記パケット情報の種類を特定して前記同期コードを用いた認証をおこなうことを特徴とする。   The peripheral board according to the invention of claim 14 is a peripheral board that is mounted on an electronic device and performs a predetermined process based on a control command transmitted by the main control board, and is transmitted by the main control board. Whether receiving means for receiving a plurality of calculation values, relative time code and synchronization code, a calculation result obtained by performing the binary operation on the plurality of calculation values, and an expected value of the calculation result And authenticating the operation order of the main control board using the difference between the packet information included in the synchronization code and authenticating the operation order of the main control board using the relative time code. And when the authentication using the synchronization code and the authentication using the relative time code are both established by the operation authentication unit and the operation authentication unit. Command authentication means for authenticating a control command transmitted by the board, wherein the operation authentication means is the target of the two-term operation when the determination means determines that the calculation result matches the expected value The type of the packet information is specified based on the number of the calculated values, and authentication using the synchronization code is performed.

さらに、請求項14の発明によれば、周辺基板は、同期コードおよび相対時間コードの2種類のコードを用いて主制御基板の動作順序を認証する。2種類のコードを用いて二重に認証処理をおこなうことにより、認証の強度を向上させ、不正な制御コマンドによる不正な処理が実行されるのを防止することができる。また、主制御基板の動作順序を認証することによって、主制御基板の動作の連続性を認証することができ、たとえば信号切替回路などを搭載した不正な制御基板を検知することができる。   According to the fourteenth aspect of the present invention, the peripheral board authenticates the operation sequence of the main control board using two types of codes, a synchronization code and a relative time code. By performing authentication processing twice using two types of codes, it is possible to improve the strength of authentication and prevent unauthorized processing by an unauthorized control command. Further, by authenticating the operation sequence of the main control board, it is possible to authenticate the continuity of the operation of the main control board. For example, an unauthorized control board equipped with a signal switching circuit or the like can be detected.

また、請求項15の発明にかかる認証方法は、主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理をおこなう周辺部と、を備える電子機器における認証方法であって、前記主制御部において、前記主制御部の動作検査値とともに送信される演算値の生成に用いる前記データの量(以下、「データ量」という)を決定する決定工程と、前記主制御部に記憶されている所定のデータを前記データ量に分割し、分割した前記データに対してそれぞれ結合法則を満たす2項演算をおこなって、分割した前記データの数(以下、「分割数」という)分の前記演算値を生成する演算値生成工程と、前記主制御部の前記動作検査値として、前記制御コマンドの送信に伴って出力されるパケット情報を含んだ同期コードを生成する同期コード生成工程と、他の手段から独立してフリーランに計時をおこなう計時部から、所定のタイミングで計時時間情報を取得し、当該計時時間情報を含んだ相対時間コードを生成する相対時間コード生成工程と、前記分割数分の前記演算値、前記同期コードおよび前記相対時間コードを前記周辺部に送信する送信工程と、を含み、前記周辺部において、前記分割数分の前記演算値、前記相対時間コードおよび前記同期コードを受信する受信工程と、前記分割数分の前記演算値に対して前記2項演算をおこなった演算結果と、当該演算結果の期待値とが一致するか否かを判断する判断工程と、前記同期コードに含まれる前記パケット情報の差分を用いて前記主制御部の動作順序を認証するとともに、前記相対時間コードを用いて前記主制御部の動作順序を認証する動作認証工程と、前記動作認証工程において、前記同期コードを用いた認証および前記相対時間コードを用いた認証の双方が成立した場合に、前記主制御部によって送信された制御コマンドを認証するコマンド認証工程と、を含み、前記同期コード生成工程では、前記同期コードの生成に用いる前記パケット情報の種類を前記分割数に基づいて決定し、前記動作認証工程では、前記判断工程で前記演算値と前記期待値とが一致すると判断された際に前記2項演算の対象となった前記演算値の数に基づいて前記パケット情報の種類を特定して前記同期コードを用いた認証をおこなうことを特徴とする。   An authentication method according to a fifteenth aspect of the present invention is an authentication method in an electronic device comprising a main control unit and a peripheral unit that performs predetermined processing based on a control command transmitted by the main control unit. A determination step of determining an amount of the data (hereinafter referred to as “data amount”) used for generating a calculation value transmitted together with an operation test value of the main control unit in the main control unit; Divide predetermined stored data into the amount of data, perform binary operation satisfying the combining rule for each of the divided data, and the number of the divided data (hereinafter referred to as “number of divisions”) A calculation value generating step for generating the calculation value and a synchronization code including packet information output with transmission of the control command as the operation check value of the main control unit Relative time code that acquires timed time information at a predetermined timing and generates a relative time code including the timed time information from the synchronous code generation step and the timekeeping unit that time-freezes independently of other means A generation step, and a transmission step of transmitting the calculated value for the number of divisions, the synchronization code, and the relative time code to the peripheral part, wherein the calculated value for the number of divisions in the peripheral part, A reception step of receiving a relative time code and the synchronization code; and whether or not a calculation result obtained by performing the binary operation on the calculation value for the number of divisions matches an expected value of the calculation result. And determining the operation order of the main control unit using the difference between the packet information included in the synchronization code and determining the main control using the relative time code. Sent by the main control unit when both the authentication using the synchronization code and the authentication using the relative time code are established in the operation authentication step for authenticating the operation order of the units and the operation authentication step. A command authentication step for authenticating a control command, wherein in the synchronization code generation step, a type of the packet information used for generation of the synchronization code is determined based on the division number, and in the operation authentication step, the determination The type of the packet information is specified based on the number of the arithmetic values subjected to the binary operation when it is determined in the step that the arithmetic value and the expected value match, and the synchronization code is used. It is characterized by performing authentication.

この請求項15の発明によれば、主制御部は、データ記憶手段内のデータの分割数に基づいて同期コードの生成に用いるパケット情報の種類を決定する。分割数は主制御部のみが知る値なので、不正解析者は、同期コードの生成に用いるパケット情報の種類を特定することができない。これにより、主制御部と周辺部との間に不正な制御部が挿入された場合に、同期コードを照合することによって不正を検知することができる。   According to the fifteenth aspect of the present invention, the main control unit determines the type of packet information used for generation of the synchronization code based on the number of data divisions in the data storage means. Since the number of divisions is a value known only by the main control unit, the unauthorized analyst cannot specify the type of packet information used for generating the synchronization code. Thereby, when an unauthorized control unit is inserted between the main control unit and the peripheral unit, it is possible to detect fraud by checking the synchronization code.

また、請求項15の発明によれば、分割数そのものを決定するのではなく、演算値の生成に用いるデータ量を決定する。このため、分割数が不正に窃取される可能性を低減することができる。   According to the fifteenth aspect of the present invention, the amount of data used for generating the calculation value is determined instead of determining the number of divisions. For this reason, the possibility that the number of divisions is illegally stolen can be reduced.

さらに、請求項15の発明によれば、周辺部は、同期コードおよび相対時間コードの2種類のコードを用いて主制御部の動作順序を認証する。2種類のコードを用いて二重に認証処理をおこなうことにより、認証の強度を向上させ、不正な制御コマンドによる不正な処理が実行されるのを防止することができる。また、主制御部の動作順序を認証することによって、主制御部の動作の連続性を認証することができ、たとえば信号切替回路などを搭載した不正な制御部を検知することができる。   According to the fifteenth aspect of the present invention, the peripheral unit authenticates the operation order of the main control unit using two types of codes, a synchronization code and a relative time code. By performing authentication processing twice using two types of codes, it is possible to improve the strength of authentication and prevent unauthorized processing by an unauthorized control command. Further, by authenticating the operation sequence of the main control unit, the continuity of the operation of the main control unit can be authenticated, and for example, an unauthorized control unit equipped with a signal switching circuit or the like can be detected.

また、請求項16の発明にかかる認証プログラムは、請求項15に記載の認証方法をコンピュータに実行させることを特徴とする。   An authentication program according to claim 16 causes a computer to execute the authentication method according to claim 15.

この請求項16の発明によれば、請求項15に記載の認証方法をコンピュータに実行させることができる。   According to the sixteenth aspect of the present invention, the computer can execute the authentication method according to the fifteenth aspect.

本発明にかかる電子機器、遊技機、主制御基板、周辺基板、認証方法および認証プログラムによれば、正規な主制御基板と周辺部との間に不正な制御基板が接続されるのを防止して、ぱちんこ遊技機などの電子機器に対する不正を防止することができる。   According to the electronic device, the gaming machine, the main control board, the peripheral board, the authentication method, and the authentication program according to the present invention, it is possible to prevent an unauthorized control board from being connected between the regular main control board and the peripheral part. Thus, fraud to electronic devices such as pachinko machines can be prevented.

本発明のぱちんこ遊技機の遊技盤の一例を示す正面図である。It is a front view which shows an example of the game board of the pachinko game machine of this invention. ぱちんこ遊技機の制御部の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the control part of a pachinko game machine. 主制御基板および周辺基板の機能的構成を示すブロック図である。It is a block diagram which shows the functional structure of a main control board and a peripheral board | substrate. 主制御部による演出制御部の制御処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the control process of the production | presentation control part by the main control part. 主制御部による演出制御部の制御処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the control process of the production | presentation control part by the main control part. 大当たり関連コマンドの送信タイミングを示すタイムチャートである。It is a time chart which shows the transmission timing of a jackpot related command. 演出制御部による図柄変動処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the symbol variation process by an effect control part. 演出制御部による大当たり時の処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the process at the time of the big hit by an effect control part. ランプ制御部による図柄変動時のランプ制御処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the lamp control process at the time of the symbol variation by a lamp control part. 主制御部が出力する制御信号のデータフォーマットを模式的に示す説明図である。It is explanatory drawing which shows typically the data format of the control signal which a main control part outputs. 主制御部における個体認証データ(個体検査値)の生成方法を模式的に示す説明図である。It is explanatory drawing which shows typically the production | generation method of the individual authentication data (individual test value) in a main control part. 主制御部におけるパケット情報の選択方法を模式的に示す説明図である。It is explanatory drawing which shows typically the selection method of the packet information in a main control part. 主制御部による制御信号の送信処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the transmission process of the control signal by a main control part. 周辺部による主制御部の認証処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the authentication process of the main control part by a peripheral part. 周辺部による演算値と期待値の照合処理の手順を示すフローチャートである。It is a flowchart which shows the procedure of the collation process of the calculated value and expected value by a peripheral part. 制御部間のデータの流れの一例を示すシーケンス図である。It is a sequence diagram which shows an example of the flow of data between control parts. 従来技術による不正防止技術の概要を示す説明図である。It is explanatory drawing which shows the outline | summary of the fraud prevention technique by a prior art. 不正な制御基板の挿入例を示す説明図である。It is explanatory drawing which shows the example of insertion of an unauthorized control board.

(実施の形態)
以下に添付図面を参照して、この発明にかかる電子機器の機能を有したぱちんこ遊技機と、このぱちんこ遊技機に搭載されている複数の基板間(主制御基板および周辺基板)の制御信号に含まれる制御コマンドを認証する認証方法および認証プログラムの好適な実施の形態を詳細に説明する。
(Embodiment)
Referring to the accompanying drawings, control signals between a pachinko gaming machine having the function of an electronic device according to the present invention and a plurality of boards (main control board and peripheral board) mounted on the pachinko gaming machine will be described below. A preferred embodiment of an authentication method and an authentication program for authenticating an included control command will be described in detail.

(ぱちんこ遊技機の基本構成)
図1は、本発明のぱちんこ遊技機の遊技盤の一例を示す正面図である。遊技盤101の下部位置に配置された発射部(図2参照)の駆動によって発射された遊技球は、レール102a,102b間を上昇して遊技盤101の上部位置に達した後、遊技領域103内を落下する。遊技領域103には、図示を省略する複数の釘が設けられ、遊技球を各種の方向に向けて落下させるとともに、落下途中の位置には、遊技球の落下方向を変化させる風車や、入賞口が配設されている。
(Basic configuration of pachinko machine)
FIG. 1 is a front view showing an example of a game board of a pachinko gaming machine according to the present invention. A game ball launched by driving a launching unit (see FIG. 2) arranged at a lower position of the game board 101 ascends between the rails 102a and 102b and reaches an upper position of the game board 101, and then the game area 103 Fall inside. A plurality of nails (not shown) are provided in the game area 103, and a game ball is dropped in various directions, and a windmill or a prize opening that changes the fall direction of the game ball is placed in the middle of the fall. Is arranged.

遊技盤101の遊技領域103の中央部分には、図柄表示部104が配置されている。図柄表示部104としては、たとえば液晶表示器(LCD)が用いられる。なお、図柄表示部104としては、LCDに限らずCRTなどを用いることもできる。図柄表示部104の下方には、始動入賞させるための始動入賞口105が配設されている。図柄表示部104の左右には、それぞれ入賞ゲート106が配設されている。   A symbol display unit 104 is arranged at the center of the game area 103 of the game board 101. As the symbol display unit 104, for example, a liquid crystal display (LCD) is used. The symbol display unit 104 is not limited to the LCD, and a CRT or the like can also be used. Below the symbol display unit 104, a start winning port 105 for starting winning is arranged. Winning gates 106 are arranged on the left and right of the symbol display unit 104, respectively.

入賞ゲート106は、遊技球の通過を検出し、始動入賞口105を一定時間だけ開放させる抽選をおこなうために設けられる。図柄表示部104の側部や下方などには普通入賞口107が配設されている。普通入賞口107に遊技球が入賞すると、普通入賞時の賞球数(たとえば10個)の払い出しをおこなう。遊技領域103の最下部には、どの入賞口にも入賞しなかった遊技球を回収する回収口108が設けられている。   The winning gate 106 is provided to detect the passing of the game ball and perform a lottery to open the start winning opening 105 for a predetermined time. A normal winning opening 107 is disposed on the side of the symbol display unit 104 or below. When a game ball wins the normal winning opening 107, the number of winning balls (for example, 10) at the time of the normal winning is paid out. At the bottom of the game area 103, there is provided a collection port 108 for collecting game balls that have not won any winning ports.

上述した図柄表示部104は、特定の入賞口に遊技球が入賞したとき(始動入賞時)に、複数の図柄の表示の変動を開始させ、所定時間後に図柄が停止する。この停止時に特定図柄(たとえば「777」)に揃ったとき、大当たり状態となる。大当たり状態のとき、下方に位置する大入賞口109が一定の期間開放を所定ラウンド(たとえば15ラウンド)繰り返し、入賞した遊技球に対応した賞球数を払い出す。   The symbol display unit 104 described above starts a variation in the display of a plurality of symbols when a game ball is won at a specific winning opening (at the time of starting winning), and the symbol stops after a predetermined time. When the specific symbols (for example, “777”) are aligned at the time of the stop, a big hit state is obtained. In the big hit state, the big winning opening 109 located below repeats opening for a predetermined period for a predetermined round (for example, 15 rounds), and pays out the number of winning balls corresponding to the winning game balls.

図2は、ぱちんこ遊技機の制御部の内部構成を示すブロック図である。制御部200は、複数の制御部により構成されている。図示の例では、主制御部201と、周辺部(演出制御部202、賞球制御部203)とを有する。主制御部201は、ぱちんこ遊技機の遊技にかかる基本動作を制御する。演出制御部202は、遊技中の演出動作を制御する。賞球制御部203は、払い出す賞球数を制御する。   FIG. 2 is a block diagram showing the internal configuration of the control unit of the pachinko gaming machine. The control unit 200 includes a plurality of control units. In the example of illustration, it has the main control part 201 and the peripheral part (The effect control part 202, the prize ball control part 203). The main control unit 201 controls basic operations related to the game of the pachinko gaming machine. The production control unit 202 controls the production operation during the game. The prize ball control unit 203 controls the number of prize balls to be paid out.

主制御部201は、ROM212に記憶されたプログラムデータに基づき、遊技内容の進行に伴う基本処理を実行するCPU211と、CPU211の演算処理時におけるデータのワークエリアとして機能するRAM213、各検出部221〜224から各種データを受信するとともに、演出制御部202および賞球制御部203への各種データの送信をおこなうインタフェース(I/F)214などを備えて構成される。主制御部201は、たとえばいわゆる主制御基板によってその機能を実現する。   Based on the program data stored in the ROM 212, the main control unit 201 executes a CPU 211 that performs basic processing as the game content progresses, a RAM 213 that functions as a data work area when the CPU 211 performs arithmetic processing, and each detection unit 221- An interface (I / F) 214 that receives various data from the H.224 and transmits various data to the effect control unit 202 and the prize ball control unit 203 is configured. The main control unit 201 realizes its function by, for example, a so-called main control board.

この主制御部201の入力側には、始動入賞口105に入賞した入賞球を検出する始動入賞口検出部221と、入賞ゲート106を通過した遊技球を検出するゲート検出部222と、普通入賞口107に入賞した遊技球を検出する普通入賞口検出部223と、大入賞口109に入賞した入賞球を検出する大入賞口検出部224とがI/F214を介して接続されている。これらの検出部としては、近接スイッチなどを用いて構成できる。   On the input side of the main control unit 201, a start winning port detection unit 221 that detects a winning ball that has won a winning winning port 105, a gate detection unit 222 that detects a game ball that has passed through the winning gate 106, and a normal win An ordinary winning opening detection unit 223 that detects a game ball won in the mouth 107 and a large winning opening detection unit 224 that detects a winning ball won in the big winning opening 109 are connected via the I / F 214. These detection units can be configured using proximity switches or the like.

この主制御部201の出力側には、大入賞口開閉部231が接続され、この大入賞口開閉部231の開閉を制御する。大入賞口開閉部231は、大当たり時に大入賞口109を一定期間開放する機能であり、ソレノイドなどを用いて構成される。この大当たりは、生成した乱数(大当たり判定用乱数)に基づいて所定の確率(たとえば300分の1など)で発生するようあらかじめプログラムされている。   A prize winning opening / closing part 231 is connected to the output side of the main control part 201, and the opening / closing of the prize winning opening / closing part 231 is controlled. The special prize opening / closing unit 231 has a function of opening the special prize opening 109 for a certain period of time when a big hit is made, and is configured using a solenoid or the like. This jackpot is programmed in advance to occur with a predetermined probability (for example, 1/300, etc.) based on the generated random number (random number for jackpot determination).

演出制御部202は、主制御部201から各種の制御コマンドを含む制御信号を受け取り、このコマンドに基づいてROM242に記憶されたプログラムデータを実行して遊技中における演出制御をおこなう。この演出制御部202は、演出処理を実行するCPU241と、CPU241の演算処理時におけるデータのワークエリアとして機能するRAM243、図柄表示部104に表示させる画像データを書き込むVRAM244、主制御部201からの各種データの受信およびランプ制御部251や音声制御部252への各種データの送信をおこなうインタフェース(I/F)245などを備えて構成される。演出制御部202は、たとえばいわゆる演出基板によってその機能を実現する。また、演出制御部202の出力側には、上述した図柄表示部(LCD)104、ランプ制御部251、音声制御部252がI/F245を介して接続されている。ランプ制御部251はランプ261の点灯を制御する。また、音声制御部252はスピーカ262から出力される音声を制御する。   The effect control unit 202 receives control signals including various control commands from the main control unit 201, and executes program data stored in the ROM 242 based on these commands to perform effect control during the game. The effect control unit 202 includes a CPU 241 that executes effect processing, a RAM 243 that functions as a data work area during the calculation processing of the CPU 241, a VRAM 244 that writes image data to be displayed on the symbol display unit 104, and various types from the main control unit 201. An interface (I / F) 245 for receiving data and transmitting various data to the lamp control unit 251 and the voice control unit 252 is provided. The effect control unit 202 realizes its function by, for example, a so-called effect board. In addition, the above-described symbol display unit (LCD) 104, lamp control unit 251, and voice control unit 252 are connected to the output side of the effect control unit 202 via the I / F 245. The lamp control unit 251 controls lighting of the lamp 261. The voice control unit 252 controls voice output from the speaker 262.

賞球制御部203は、主制御部201から各種の制御コマンドを含む制御信号を受け取り、このコマンドに基づいてROM282に記憶されたプログラムデータを実行して賞球制御をおこなう。この賞球制御部203は、賞球制御の処理を実行するCPU281と、CPU281の演算処理時におけるデータのワークエリアとして機能するRAM283、主制御部201からの各種データの受信および発射部292との各種データの送受信をおこなうインタフェース(I/F)284などを備えて構成される。賞球制御部203は、たとえばいわゆる賞球基板によってその機能を実現する。   The winning ball control unit 203 receives control signals including various control commands from the main control unit 201, and executes program data stored in the ROM 282 based on these commands to perform winning ball control. The prize ball control unit 203 includes a CPU 281 that executes prize ball control processing, a RAM 283 that functions as a data work area when the CPU 281 performs arithmetic processing, and various data reception and emission units 292 from the main control unit 201. An interface (I / F) 284 that transmits and receives various data is provided. The prize ball control unit 203 realizes its function by, for example, a so-called prize ball substrate.

賞球制御部203は、接続される払出部291に対して入賞時の賞球数を払い出す制御をおこなう。また、発射部292に対する遊技球の発射の操作を検出し、遊技球の発射を制御する。払出部291は、遊技球の貯留部から所定数を払い出すためのモータなどからなる。賞球制御部203は、この払出部291に対して、各入賞口(始動入賞口105、普通入賞口107、大入賞口109)に入賞した遊技球に対応した賞球数を払い出す制御をおこなう。   The winning ball control unit 203 performs control for paying out the number of winning balls at the time of winning a prize to the connected paying unit 291. In addition, an operation of launching a game ball with respect to the launch unit 292 is detected, and the launch of the game ball is controlled. The payout unit 291 includes a motor for paying out a predetermined number from the game ball storage unit. The winning ball control unit 203 controls the paying unit 291 to pay out the number of winning balls corresponding to the game balls won in each winning port (start winning port 105, normal winning port 107, large winning port 109). Do it.

発射部292は、遊技のための遊技球を発射するものであり、遊技者による遊技操作を検出するセンサと、遊技球を発射させるソレノイドなどを備える。賞球制御部203は、発射部292のセンサにより遊技操作を検出すると、検出された遊技操作に対応してソレノイドなどを駆動させて遊技球を間欠的に発射させ、遊技盤101の遊技領域103に遊技球を送り出す。   The launcher 292 launches a game ball for a game, and includes a sensor that detects a game operation by the player, a solenoid that launches the game ball, and the like. When the prize ball control unit 203 detects a game operation by the sensor of the launch unit 292, the game ball 103 is intermittently fired by driving a solenoid or the like in response to the detected game operation, and the game area 103 of the game board 101 is played. A game ball is sent out.

上記構成の主制御部201と、演出制御部202と、賞球制御部203は、それぞれ異なるプリント基板(主制御基板、演出基板、賞球基板)に設けられる。これに限らず、たとえば、賞球制御部203は、主制御部201と同一のプリント基板上に設けることもできる。   The main control unit 201, the effect control unit 202, and the prize ball control unit 203 configured as described above are provided on different printed circuit boards (main control board, effect board, and prize ball board). For example, the prize ball control unit 203 can be provided on the same printed circuit board as the main control unit 201.

(主制御基板および周辺基板の機能的構成)
図3は、主制御基板(主制御部)および周辺基板(演出制御部、賞球制御部)の機能的構成を示すブロック図である。まず、主制御部201としての機能を有する主制御基板310の機能的構成について説明する。図3に示すように、主制御基板310は、周辺基板320を動作させるための制御コマンドを送信する機能部であり、データ記憶部311、決定部312、演算値生成部313、同期コード生成部314、相対時間コード生成部315、計時部316、暗号化部317、送信部318によって構成される。
(Functional configuration of main control board and peripheral board)
FIG. 3 is a block diagram showing a functional configuration of a main control board (main control unit) and peripheral boards (effect control unit, prize ball control unit). First, a functional configuration of the main control board 310 having a function as the main control unit 201 will be described. As shown in FIG. 3, the main control board 310 is a functional unit that transmits a control command for operating the peripheral board 320, and includes a data storage unit 311, a determination unit 312, a calculation value generation unit 313, and a synchronization code generation unit. 314, a relative time code generation unit 315, a timer unit 316, an encryption unit 317, and a transmission unit 318.

データ記憶部311は、所定のデータを記憶する。所定のデータとは、たとえば主制御基板310で用いられるプログラムデータである。データ記憶部311としては、たとえば、主制御部201のROM212(図2参照)の一部を用いることができる。なお、データ記憶部311に記憶されたデータは、書き換えや消去がおこなわれない固定データとする。   The data storage unit 311 stores predetermined data. The predetermined data is program data used in the main control board 310, for example. As the data storage unit 311, for example, a part of the ROM 212 (see FIG. 2) of the main control unit 201 can be used. Note that the data stored in the data storage unit 311 is fixed data that is not rewritten or erased.

決定部312は、後述する同期コードおよび相対時間コード(動作認証値)とともに送信される演算値の生成に用いるデータの量(以下、「データ量」という)を決定する。決定部312は、たとえば、乱数生成回路や乱数生成プログラムによって生成された値をデータ量として決定したり、主制御基板310の他の処理において生成される値を所定のタイミングで参照し、その値をデータ量として決定したりする。   The determination unit 312 determines an amount of data (hereinafter referred to as “data amount”) used to generate a calculation value transmitted together with a synchronization code and a relative time code (operation authentication value) described later. The determination unit 312 determines, for example, a value generated by a random number generation circuit or a random number generation program as a data amount, refers to a value generated in other processing of the main control board 310 at a predetermined timing, and determines the value. Is determined as the amount of data.

演算値生成部313は、データ記憶部311内のデータを、決定部312によって決定されたデータ量に分割し、分割したデータに対してそれぞれ結合法則を満たす2項演算をおこなって、分割したデータの数(以下、「分割数」という)分の演算値を生成する。   The calculation value generation unit 313 divides the data in the data storage unit 311 into the data amount determined by the determination unit 312, performs a binary operation that satisfies the combining law for each of the divided data, and generates the divided data The calculation value for the number (hereinafter referred to as “the number of divisions”) is generated.

結合法則を満たす2項演算とは、たとえば加算または排他的論理和演算である。演算値生成部313は、分割されたデータのそれぞれに対して加算または排他的論理和演算をおこなって、分割数分の演算値を生成する。演算値生成部313が演算値の生成に用いた2項演算を、以下「演算値生成用演算」という。演算値生成部313は、演算値を生成する際、データ記憶部311に記憶された全てのデータを、重複なく用いるようにする。具体的には、たとえば、決定部312によって決定された量のデータを、データ記憶部311内のアドレスの先頭から順番に読み出して、演算値を生成する。   The binary operation satisfying the combining rule is, for example, addition or exclusive OR operation. The calculation value generation unit 313 performs addition or exclusive OR operation on each of the divided data to generate calculation values for the number of divisions. The binary calculation used by the calculation value generation unit 313 to generate the calculation value is hereinafter referred to as “calculation for generating a calculation value”. The calculation value generation unit 313 uses all data stored in the data storage unit 311 without duplication when generating calculation values. Specifically, for example, the amount of data determined by the determination unit 312 is sequentially read from the head of the address in the data storage unit 311 to generate a calculation value.

ここで、演算値は、後述する同期コード生成部314において、いずれの種類のパケット情報を用いて同期コードが生成されたかを伝達するために送信される。より詳細には、後述する同期コード生成部314は、分割数(演算値の個数)に基づいて同期コードの生成に用いるパケット情報の種類を決定する。主制御基板310は、分割数そのものの値ではなく、演算値を周辺基板320に送信する。周辺基板320では、演算値に対して所定の演算(演算値生成用演算)をおこなうことによって分割数を特定し、同期コードの生成に用いられたパケット情報の種類を特定するようにする。これにより、不正な制御基板などでは、同期コードがいずれのパケット情報を用いて生成されているかを特定することができないため、同期コードが不正に生成されるのを防止することができる。   Here, the calculated value is transmitted in a synchronization code generation unit 314, which will be described later, to transmit which type of packet information is used to generate the synchronization code. More specifically, the synchronization code generation unit 314, which will be described later, determines the type of packet information used for generating the synchronization code based on the number of divisions (the number of calculation values). The main control board 310 transmits the calculated value to the peripheral board 320 instead of the division number itself. The peripheral board 320 specifies the number of divisions by performing a predetermined calculation (calculation for generating a calculation value) on the calculation value, and specifies the type of packet information used for generating the synchronization code. As a result, an unauthorized control board or the like cannot specify which packet information is used to generate the synchronization code, and thus can prevent the synchronization code from being generated illegally.

なお、この演算値を、主制御部201(すなわち主制御基板310)の個体を認証するために用いる認証値として用いることも可能である。これは、演算値がデータ記憶部311に記憶されたデータが、書き換えや消去がおこなわれない固定データのためである。また、個体を認証するとは、主制御基板310を物理的(ハードウェア的)に認証する、という意味であり、主制御基板310が不正な制御基板に付け替えられていないことを認証することを意味する。演算値は主制御基板310に記憶された固定データを元に生成されているので、不正な制御基板で演算値を偽造するのは非常に困難である。したがって、演算値による個体認証が失敗した場合には、不正な制御基板による制御がおこなわれようとしていることが検知できる。   Note that this calculated value can also be used as an authentication value used for authenticating the individual of the main control unit 201 (that is, the main control board 310). This is because the data in which the operation value is stored in the data storage unit 311 is fixed data that is not rewritten or erased. Further, authenticating the individual means that the main control board 310 is physically (hardware-like) authenticated, and means that the main control board 310 is not replaced with an unauthorized control board. To do. Since the calculation value is generated based on the fixed data stored in the main control board 310, it is very difficult to forge the calculation value with an unauthorized control board. Therefore, when the individual authentication based on the calculated value fails, it can be detected that control by an unauthorized control board is about to be performed.

同期コード生成部314は、制御コマンドの送信に伴って出力されるパケット情報を含んだ同期コードを生成する。同期コードは、主制御基板310による制御コマンドの送信が継続して実行されていることを確認するための情報である。また、パケット情報は、主制御基板310の制御コマンドの生成など、主制御基板310の動作に伴って、任意の間隔、たとえば、所定の時間間隔や所定のクロック数間隔、または命令実行数間隔などに設定された出力タイミングで出力される。   The synchronization code generation unit 314 generates a synchronization code including packet information that is output along with transmission of the control command. The synchronization code is information for confirming that transmission of a control command by the main control board 310 is continuously executed. Further, the packet information may be set at an arbitrary interval, for example, a predetermined time interval, a predetermined clock number interval, or an instruction execution number interval in accordance with the operation of the main control board 310, such as generation of a control command of the main control board 310. Is output at the output timing set to.

同期コードは、その生成手順によって同期コードAと同期コードBとの2種類に分けられる。具体的には、主制御基板310の動作検査値として任意の間隔ごとに出力されたパケット情報を含んだ同期コードAおよび同じく動作検査値として連続して出力されたパケット情報を含んだ同期コードBがある。   The synchronization code is divided into two types of synchronization code A and synchronization code B according to the generation procedure. Specifically, the synchronization code A including the packet information output at every interval as the operation inspection value of the main control board 310 and the synchronization code B including the packet information output continuously as the operation inspection value. There is.

・同期コードA
そこで、同期コードAは、所定の出力タイミングで出力されたパケット情報(以下、「間欠パケット情報」という)を用いて生成される。なお、上述したように、同期コード生成のために利用するパケット情報は、制御コマンドの生成に関する動作に限定されず、主制御基板310が連続して動作していることを認証可能な情報であればよい。そして、パケット情報は、任意の間隔ごとに出力されているため、連続した出力タイミングのパケット情報を比較した場合に、パケット情報同士はお互いの所定間隔の時間差や命令実行数量などの変化量をもつという相関関係を有している。
・ Synchronization code A
Therefore, the synchronization code A is generated using packet information output at a predetermined output timing (hereinafter referred to as “intermittent packet information”). As described above, the packet information used for generating the synchronization code is not limited to the operation related to the generation of the control command, and may be information that can authenticate that the main control board 310 is operating continuously. That's fine. Since the packet information is output at arbitrary intervals, when packet information at successive output timings is compared, the packet information has a change amount such as a time difference between each predetermined interval and an instruction execution quantity. There is a correlation.

したがって、後述する動作認証部324では、この複数のパケット情報同士の相関関係を求めることによって主制御基板310の動作の継続性を認証する。なお、同期コードAは、パケット情報として取得した値をそのまま利用してもよいし、これらの値に所定の演算を施して暗号化した値を利用してもよい。   Therefore, the operation authentication unit 324 described later authenticates the continuity of the operation of the main control board 310 by obtaining the correlation between the plurality of packet information. As the synchronization code A, values acquired as packet information may be used as they are, or values obtained by performing a predetermined operation on these values may be used.

また、同期コードAは、制御コマンドの出力処理以前のタイミングで、主制御基板310の動作検査値としてあらかじめ設定された所定の間隔ごとに出力されたパケット情報を含んで生成してもよい。このように、同期コードAは、主制御基板310の利用者(遊技者ではなく、たとえば、主制御基板310を遊技機に搭載する管理者や、業者など)の設定するタイミングに応じた同期コードを生成できる。このような構成にすることによって、同期コードを第三者にとってより解析の困難な情報とすることができる。   The synchronization code A may be generated including packet information output at predetermined intervals set in advance as an operation inspection value of the main control board 310 at a timing before the output processing of the control command. Thus, the synchronization code A is a synchronization code corresponding to the timing set by the user of the main control board 310 (not the player, for example, an administrator or a trader who mounts the main control board 310 in the gaming machine). Can be generated. With such a configuration, the synchronization code can be made information that is more difficult for a third party to analyze.

・同期コードB
一方、同期コードBは、主制御基板310の動作に伴って、連続した間隔、たとえば、所定の時間間隔や所定のクロック数間隔、または命令実行数間隔などに設定された出力タイミングで出力されたパケット情報(以下、「連続パケット情報」という)を含んだ情報である。なお、同期コードAと同様に、同期コードBを生成のために利用するパケット情報は、制御コマンドの生成に関する動作に限定されず、主制御基板310が連続して動作していることを認証可能な情報であればよい。そして、パケット情報は、連続したタイミングで出力されているため、所定の間隔の相関関係を有している。
・ Synchronization code B
On the other hand, the synchronization code B is output at an output timing set at a continuous interval, for example, a predetermined time interval, a predetermined clock number interval, or an instruction execution number interval in accordance with the operation of the main control board 310. This information includes packet information (hereinafter referred to as “continuous packet information”). As with the synchronization code A, the packet information used for generating the synchronization code B is not limited to the operation related to the generation of the control command, and can authenticate that the main control board 310 is operating continuously. Any information is sufficient. Since the packet information is output at successive timings, it has a correlation at a predetermined interval.

したがって、後述する動作認証部324では、この複数のパケット情報同士の相関関係を求めることによって主制御基板310の動作の継続性を認証する。同期コードBも、パケット情報として取得した値をそのまま利用してもよいし、これらの値に所定の演算を施して暗号化した値を利用してもよい。   Therefore, the operation authentication unit 324 described later authenticates the continuity of the operation of the main control board 310 by obtaining the correlation between the plurality of packet information. As the synchronization code B, values acquired as packet information may be used as they are, or values obtained by performing a predetermined operation on these values may be used.

また、同期コードBは、制御コマンドの出力処理以前のタイミングで、主制御基板310の動作検査値としてあらかじめ設定された所定の間隔ごとに出力されたパケット情報を含んで生成してもよい。このように、同期コードBは、主制御基板310の利用者(遊技者ではなく、たとえば、主制御基板310を遊技機に搭載する管理者や、業者など)の設定するタイミングに応じた同期コードを生成できる。このような構成にすることによって、同期コードを第三者にとってより解析の困難な情報とすることができる。   Further, the synchronization code B may be generated including packet information output at predetermined intervals set in advance as an operation inspection value of the main control board 310 at a timing before the output processing of the control command. Thus, the synchronization code B is a synchronization code according to the timing set by the user of the main control board 310 (not a player, for example, an administrator or a trader who mounts the main control board 310 in a gaming machine). Can be generated. With such a configuration, the synchronization code can be made information that is more difficult for a third party to analyze.

このように、所定の制御コマンドが出力された際に同期コードを参照することによって、主制御基板310にて実行されている動作が継続しておこなわれているか否かを簡易的に判定することができる。したがって、図18で説明したような、不正な制御基板18001による不正行為への防御策を講じることができる。具体的には、同期コードによって認証した動作順序が継続した動作であると判定できなければ、主制御基板310から送信された制御コマンド以外の不正な制御基板から送信された制御コマンドであると判断し、不正制御を検知することができる。   In this way, by referring to the synchronization code when a predetermined control command is output, it is possible to easily determine whether or not the operation being executed on the main control board 310 is continuously performed. Can do. Accordingly, it is possible to take a countermeasure against fraud by the unauthorized control board 18001 as described in FIG. Specifically, if it cannot be determined that the operation sequence authenticated by the synchronization code is a continuous operation, it is determined that the control command is transmitted from an unauthorized control board other than the control command transmitted from the main control board 310. And unauthorized control can be detected.

ここで、同期コード生成部314は、演算値生成部313によって生成された演算値の数(分割数)に基づいて、同期コードの生成に用いるパケット情報の種類を決定する。すなわち、同期コード生成部314は、間欠パケット情報を用いて同期コードAを生成するか、連続パケット情報を用いて同期コードBを生成するかを分割数に基づいて変更する。同期パケット情報の種類を決定する手法としては、たとえば、分割数2の場合は間欠パケット、分割数3の場合は連続パケット・・というように、選択するパケット情報を分割数ごとに決めておく方法がある。また、たとえば、分割数が偶数の場合は同期コードの生成に用いるパケット情報の種類を決定し、分割数が奇数の場合は現在用いている種類の同期コードを継続して用いる、などの方法がある。また、分割数に対して各種演算を施した値に基づいてパケット情報を決定してもよい。   Here, the synchronization code generation unit 314 determines the type of packet information used for generation of the synchronization code based on the number of operation values (number of divisions) generated by the operation value generation unit 313. That is, the synchronization code generation unit 314 changes whether the synchronization code A is generated using intermittent packet information or the synchronization code B is generated using continuous packet information based on the number of divisions. As a method for determining the type of the synchronous packet information, for example, a method of determining packet information to be selected for each division number, such as intermittent packets in the case of the division number 2 and continuous packets in the case of the division number 3. There is. Also, for example, when the number of divisions is an even number, the type of packet information to be used for generation of the synchronization code is determined, and when the number of divisions is an odd number, the type of synchronization code currently used is continuously used. is there. Further, the packet information may be determined based on values obtained by performing various calculations on the number of divisions.

他の手法として、分割数を特定値で割った時の余りの数に基づいて、間欠パケット情報または連続パケット情報のどちらかを選択してもよい。さらに、他の手法として、たとえば、前回の分割数と今回の分割数との差分に基づいて、間欠パケット情報または連続パケット情報のどちらかを選択してもよい。   As another method, either intermittent packet information or continuous packet information may be selected based on the remainder when the number of divisions is divided by a specific value. Further, as another method, for example, either intermittent packet information or continuous packet information may be selected based on the difference between the previous division number and the current division number.

相対時間コード生成部315は、指定されたタイミングで後述する計時部316から取得した計時時間の情報を含んだ相対時間コードを生成する。相対時間コードは、主制御基板310による制御コマンドの送信が継続して実行されていることを確認するための情報である。具体的には、たとえば、計時情報からある基準値を設定し、この基準値からの差分値や、累積値などによってあらわされる。なお、相対時間コードは、計時情報に基づいて設定した情報をそのまま含んでもよいし、これらの情報に所定の演算を施して暗号化した値を含んでもよい。   The relative time code generation unit 315 generates a relative time code including information on the time measured from the time measuring unit 316 described later at the designated timing. The relative time code is information for confirming that the transmission of the control command by the main control board 310 is continuously executed. Specifically, for example, a certain reference value is set from the timekeeping information, and is expressed by a difference value from this reference value, a cumulative value, or the like. The relative time code may include information set based on the timing information as it is, or may include a value obtained by performing a predetermined calculation on the information.

このように、所定の制御コマンドが出力された際に相対時間コードを参照することによって、主制御基板310にて実行されている動作が継続しておこなわれているか否かを簡易的に判定することができる。したがって、図18にて説明したような、不正な制御基板1801による不正行為への対策を講じることができる。具体的には、相対時間コードによって認証した動作順序が継続した動作であると判定されなかった場合、主制御基板310以外の不正な制御基板から不正な制御コマンドが送信されている可能性があると判断することができる。   In this manner, by referring to the relative time code when a predetermined control command is output, it is simply determined whether or not the operation being executed on the main control board 310 is continuously performed. be able to. Therefore, it is possible to take measures against fraudulent acts by the unauthorized control board 1801 as described in FIG. Specifically, if it is not determined that the operation sequence authenticated by the relative time code is a continuous operation, there is a possibility that an unauthorized control command is transmitted from an unauthorized control board other than the main control board 310. It can be judged.

計時部316は、他の手段から独立してフリーランに計時をおこなう。計時のタイミングや、桁数、表示方式は任意である。計時部316からの時間情報の取得タイミングは時間軸上では固定されない。たとえば、賞球すべき事象が発生したタイミングをトリガに計時情報を取得すると設定した場合、いつ賞球事象が発生するかはわからないため、時間情報の取得タイミングを時間軸上で規定することはできない。   The timing unit 316 counts free run independently of other means. The timing, the number of digits, and the display method are arbitrary. The acquisition timing of the time information from the timer unit 316 is not fixed on the time axis. For example, if you set the timing information to be acquired using the timing of the event that should be a prize ball as a trigger, you cannot know when the prize ball event will occur, so the timing to acquire time information cannot be specified on the time axis .

また、計時部316の機能は、電源投入時やリセット時など、遊技動作開始時をトリガとして計時を開始するというシンプルなものである。計時部316の場合、計時を開始する際、たとえば、リセット処理やクリア処理などの初期値の固定もしくは設定を目的とする初期化処理機能を備えておく必要がない。また、計時開始後は、賞球すべき事象が発生した場合など、ランダムにおきる特定の事象をトリガとして計時情報を出力すればよい。したがって、非常に簡素な構成で実現することができ、処理負荷が軽いという特徴を備えている。   Further, the function of the time measuring unit 316 is a simple function of starting time measurement with the start of gaming operation such as power-on or resetting. In the case of the timekeeping unit 316, when starting timekeeping, for example, it is not necessary to provide an initialization processing function for the purpose of fixing or setting an initial value such as reset processing and clear processing. In addition, after the start of timing, the timing information may be output with a specific event that occurs at random as a trigger, such as when an event to be awarded has occurred. Therefore, it can be realized with a very simple configuration and has a feature that the processing load is light.

暗号化部317は、演算値や同期コード、動作コードを所定の暗号化方法で暗号化する。暗号化部317による暗号化方法は任意であるが、暗号化部317において複数の暗号化方法を用いることができる場合、分割数に基づいて暗号化方法を変更してもよい。たとえば、暗号化部317で2つの暗号化方法を用いることができる場合、分割数が偶数の場合は第1の方法、奇数の場合は第2の方法、というように変更する。また、暗号化部317は、後述する制御信号内の制御コマンドを用いて演算値や同期コード、相対時間コードを暗号化するようにしてもよい。   The encryption unit 317 encrypts the operation value, the synchronization code, and the operation code by a predetermined encryption method. The encryption method by the encryption unit 317 is arbitrary, but when a plurality of encryption methods can be used in the encryption unit 317, the encryption method may be changed based on the number of divisions. For example, when two encryption methods can be used in the encryption unit 317, the first method is changed when the division number is an even number, and the second method is changed when the division number is an odd number. Further, the encryption unit 317 may encrypt the calculation value, the synchronization code, and the relative time code using a control command in a control signal described later.

なお、演算値生成部313において演算値を生成する際に、同期コードや相対時間コードの一部もしくは全てを用いるようにしてもよい。この場合、たとえば、分割されたデータのうち1つに、同期コードや相対時間コードの一部もしくは全てを付加して2項演算をおこなって演算値を生成する。また、暗号化部317において演算値を暗号化する際に、同期コードや相対時間コードの一部もしくは全てを用いるようにしてもよい。同様に、同期コード生成部314や相対時間コード生成部315において同期コードや相対時間コードを生成する際に、演算値の一部もしくは全てを用いるようにしてもよい。また、暗号化部317において同期コードや相対時間コードを暗号化する際に、演算値の一部もしくは全てを用いるようにしてもよい。   Note that when the calculation value is generated by the calculation value generation unit 313, a part or all of the synchronization code and the relative time code may be used. In this case, for example, one or all of the synchronization code and the relative time code are added to one of the divided data, and a binary operation is performed to generate a calculated value. Further, when the operation value is encrypted by the encryption unit 317, a part or all of the synchronization code and the relative time code may be used. Similarly, when the synchronization code and the relative time code are generated by the synchronization code generation unit 314 and the relative time code generation unit 315, some or all of the calculation values may be used. In addition, when the encryption unit 317 encrypts the synchronization code and the relative time code, some or all of the calculated values may be used.

送信部318は、演算値、同期コードおよび相対時間コードを周辺基板320に送信する。送信部318は、たとえば、主制御基板310から周辺基板320に送信される制御信号に認証データを付加することにより、周辺基板320に認証データを送信する。   The transmission unit 318 transmits the calculated value, the synchronization code, and the relative time code to the peripheral board 320. The transmission unit 318 transmits the authentication data to the peripheral board 320 by adding the authentication data to a control signal transmitted from the main control board 310 to the peripheral board 320, for example.

つぎに、演出制御部202や賞球制御部203などの周辺部としての機能を有する周辺基板320の機能的構成について説明する。図3に示すように、周辺基板320は、受信部321、復号化部322、判断部323、動作認証部324、コマンド認証部325によって構成される。   Next, a functional configuration of the peripheral board 320 having functions as peripheral portions such as the effect control unit 202 and the prize ball control unit 203 will be described. As illustrated in FIG. 3, the peripheral board 320 includes a reception unit 321, a decryption unit 322, a determination unit 323, an operation authentication unit 324, and a command authentication unit 325.

受信部321は、主制御基板310によって送信された演算値、同期コードおよび相対時間コードを受信する。受信部321は、たとえば、演算値、同期コードおよび相対時間コードが付加された制御信号を受信することによって、これらのデータを受信する。   The receiving unit 321 receives the calculation value, the synchronization code, and the relative time code transmitted by the main control board 310. The receiving unit 321 receives these data, for example, by receiving a control signal to which a calculation value, a synchronization code, and a relative time code are added.

復号化部322は、暗号化部317による暗号化方法に対応する復号化方法で演算値、同期コードおよび相対時間コードを復号化する。復号化部322は、暗号化部317による暗号化方法が分割数に基づいて変更される場合、後述する判断部323による演算において、演算結果と期待値とが一致した際に2項演算の対象となった演算値の数に基づいて復号化方法を変更する。   The decryption unit 322 decrypts the operation value, the synchronization code, and the relative time code by a decryption method corresponding to the encryption method by the encryption unit 317. When the encryption method by the encryption unit 317 is changed based on the number of divisions, the decryption unit 322 is the target of the binary operation when the calculation result matches the expected value in the calculation by the determination unit 323 described later. The decoding method is changed based on the number of calculated values.

判断部323は、分割数分の演算値に対して演算値生成用演算をおこなった結果と、期待値とが一致するか否かを判断する。演算結果の期待値とは、データ記憶部311内の全てのデータに対して、演算値生成用演算をおこなった値である。演算値生成用演算は結合法則を満たすため、データ記憶部311内の全てのデータから生成された期待値と、分割したデータから生成された演算値に対して同じ演算をおこなった値とは一致するはずである。   The determination unit 323 determines whether the result of the calculation value generation calculation performed on the calculation values for the number of divisions matches the expected value. The expected value of the calculation result is a value obtained by performing a calculation value generation calculation on all data in the data storage unit 311. Since the calculation value generation calculation satisfies the associative law, the expected value generated from all the data in the data storage unit 311 matches the value obtained by performing the same calculation on the calculation value generated from the divided data. Should do.

なお、演算値が、同期コードや相対時間コードの一部もしくは全てを用いて生成されている場合、判断部323は、同期コードや相対時間コードの一部もしくは全てと、データ記憶部311内の全てのデータに対して演算値生成用演算をおこなった値とを用いて生成された期待値を用いて上記の判断をおこなう。   When the calculated value is generated using a part or all of the synchronization code or the relative time code, the determination unit 323 determines whether the calculated value is a part or all of the synchronization code or the relative time code and the data storage unit 311. The above determination is performed using expected values generated using values obtained by performing calculations for calculation value generation for all data.

動作認証部324は、同期コードに含まれるパケット情報の差分を用いて主制御基板310の動作順序を認証するとともに、相対時間コードを用いて主制御基板310の動作順序を認証する。すなわち、動作認証部324は、同期コードを用いた認証および相対時間コードを用いた認証の2種類の認証をおこなう。ここで、同期コードには、連続パケット情報を用いて生成された同期コードAおよび間欠パケット情報を用いて生成された同期コードBの2種類がある。そこで、動作認証部324は、判断部323によって演算値と期待値とが一致すると判断された際に2項演算の対象となった演算値の数に基づいて同期コードの生成に用いられたパケット情報の種類を特定して、同期コードを用いた認証をおこなう。   The operation authentication unit 324 authenticates the operation order of the main control board 310 using the difference in the packet information included in the synchronization code, and authenticates the operation order of the main control board 310 using the relative time code. In other words, the operation authentication unit 324 performs two types of authentication: authentication using a synchronization code and authentication using a relative time code. Here, there are two types of synchronization codes: a synchronization code A generated using continuous packet information and a synchronization code B generated using intermittent packet information. Therefore, the operation authentication unit 324 uses the packet used to generate the synchronization code based on the number of operation values subjected to the binary operation when the determination unit 323 determines that the operation value matches the expected value. Identify the type of information and perform authentication using the synchronization code.

「判断部323によって演算値と期待値とが一致すると判断された際に2項演算の対象となった演算値の数」とは、すなわち分割数である。動作認証部324は、分割数に基づいて、同期コードがどちらの種類のパケット情報を用いて生成されているかを特定する。なお、分割数からパケット情報の種類を特定する方法は、主制御基板310の同期コード生成部314によるパケット情報の変更方法に対応している。そして、特定したパケット情報に対応した方法で同期コードを用いた認証をおこない、主制御基板310の動作順序を認証する。   “The number of operation values subjected to binary operation when the determination unit 323 determines that the operation value and the expected value match” is the number of divisions. Based on the number of divisions, the operation authentication unit 324 specifies which type of packet information is used to generate the synchronization code. Note that the method of specifying the type of packet information from the number of divisions corresponds to the method of changing packet information by the synchronization code generation unit 314 of the main control board 310. Then, authentication using a synchronization code is performed by a method corresponding to the specified packet information, and the operation order of the main control board 310 is authenticated.

コマンド認証部325は、動作認証部324による2種類の認証(同期コードに対する認証および相対時間コードに対する認証)が成立した場合に、主制御基板310が正しい制御コマンドを出力していると認証する。周辺基板320は、コマンド認証部325によって認証された制御コマンドに基づく処理をおこなう。コマンド認証部325は、どちらか一方の認証が失敗した場合には、不正な制御基板から不正制御をおこなうための不正な制御コマンド(不正な制御信号)が出力されていると判断して制御コマンドを破棄する。また、制御コマンドの破棄と同時に、ユーザに不正を報知するようにしてもよい。   The command authentication unit 325 authenticates that the main control board 310 is outputting a correct control command when two types of authentication (authentication for the synchronization code and authentication for the relative time code) are established by the operation authentication unit 324. The peripheral board 320 performs processing based on the control command authenticated by the command authentication unit 325. If either one of the authentications fails, the command authentication unit 325 determines that an unauthorized control command (an unauthorized control signal) for performing unauthorized control is output from an unauthorized control board, and the control command Is discarded. Moreover, you may make it alert | report a fraud to a user simultaneously with discard of a control command.

(ぱちんこ遊技機の基本動作)
上記構成によるぱちんこ遊技機の基本動作の一例を説明する。主制御部201は、各入賞口に対する遊技球の入賞状況を制御コマンドとして賞球制御部203に出力する。賞球制御部203は、主制御部201から出力された制御コマンドに応じて、入賞状況に対応した賞球数の払い出しをおこなう。
(Basic operation of pachinko machines)
An example of the basic operation of the pachinko gaming machine having the above configuration will be described. The main control unit 201 outputs the winning status of the game ball for each winning port to the winning ball control unit 203 as a control command. The winning ball control unit 203 pays out the number of winning balls corresponding to the winning situation in accordance with the control command output from the main control unit 201.

また、主制御部201は、始動入賞口105に遊技球が入賞するごとに、対応する制御コマンドを演出制御部202に出力し、演出制御部202は、図柄表示部104の図柄を変動表示させ、停止させることを繰り返す。大当たりの発生が決定しているときには、対応する制御コマンドを演出制御部202に出力し、演出制御部202は、所定の図柄で揃えて停止させる。このとき同時に、大入賞口109を開放する制御をおこなう。演出制御部202は、大当たり発生期間中、および大当たり発生までの間のリーチ時や、リーチ予告時などには、図柄表示部104に対して、図柄の変動表示に加えて各種の演出表示をおこなう。このほか、各種役物に対して特定の駆動をおこなったり、ランプ261の表示状態を変更するなどの演出をおこなう。   The main control unit 201 outputs a corresponding control command to the effect control unit 202 every time a game ball wins the start winning opening 105, and the effect control unit 202 displays the symbols on the symbol display unit 104 in a variable manner. Repeat to stop. When the occurrence of the big hit has been determined, the corresponding control command is output to the effect control unit 202, and the effect control unit 202 stops with a predetermined pattern aligned. At the same time, control for opening the special winning opening 109 is performed. The effect control unit 202 displays various effects on the symbol display unit 104 in addition to the symbol variation display during the jackpot occurrence period, during the reach until the jackpot occurrence, or at the time of reach notice. . In addition, a specific drive is performed for various types of accessories, and effects such as changing the display state of the lamp 261 are performed.

そして、大当たり発生時には、大入賞口109が複数回開放される。1回の開放が1ラウンドとして、たとえば15回のラウンドが繰り返し実行される。1ラウンドの期間は、遊技球がたとえば10個入賞したとき、あるいは所定期間(たとえば30秒)とされている。この際、賞球制御部203は、大入賞口109に対する遊技球1個の入賞あたり、たとえば15個の賞球数で払い出しをおこなう。大当たり終了後は、この大当たり状態が解除され、通常の遊技状態に復帰する。   When a big hit occurs, the big winning opening 109 is opened a plurality of times. One release is one round, for example, 15 rounds are repeatedly executed. The period of one round is set, for example, when 10 game balls are won or for a predetermined period (for example, 30 seconds). At this time, the winning ball control unit 203 pays out with, for example, 15 winning balls per winning game ball to the big winning opening 109. After the jackpot is over, the jackpot state is canceled and the normal gaming state is restored.

(各制御部による処理の詳細)
つぎに、各制御部がおこなう各種処理の詳細について説明する。はじめに、主制御部201による演出制御部202の制御処理について説明する。図4および図5は、主制御部による演出制御部の制御処理の手順を示すフローチャートである。なお、図4〜図9においては、演出制御部202の制御処理の手順を明確にするため、補正データ、認証データおよび付随データについては考慮しないものとする。すなわち、図4〜図9の説明において、「コマンドを送信する」とは、「当該コマンドを示すデータ(制御コマンドデータ)を含む制御信号を送信する」との意味であり、たとえば補正データや認証データや付随データ(図10参照)の有無は考慮しないものとする。
(Details of processing by each control unit)
Next, details of various processes performed by each control unit will be described. First, the control process of the effect control unit 202 by the main control unit 201 will be described. 4 and 5 are flowcharts showing the procedure of the control process of the effect control unit by the main control unit. 4 to 9, the correction data, the authentication data, and the accompanying data are not considered in order to clarify the control processing procedure of the effect control unit 202. That is, in the description of FIGS. 4 to 9, “transmit a command” means “transmit a control signal including data (control command data) indicating the command”, for example, correction data or authentication. The presence or absence of data and accompanying data (see FIG. 10) is not considered.

図4および図5のフローチャートにおいて、主制御部201は、まず、ぱちんこ遊技機の電源がオンにされるまで待機する(ステップS401:Noのループ)。ぱちんこ遊技機の電源がオンにされると(ステップS401:Yes)、主制御部201は、演出制御部202や賞球制御部203などの周辺部に対して電源オンコマンドを送信する(ステップS402)。電源オンコマンドが送信されると、演出制御部202は、ランプ制御部251や音声制御部252、図柄表示部104のそれぞれに対して電源オン時の演出用の制御コマンド(具体的には、ランプの点灯や音声の出力、デモ画面の表示などを指示する制御コマンド)を送信する。   4 and 5, the main control unit 201 first waits until the pachinko gaming machine is turned on (step S401: No loop). When the power of the pachinko gaming machine is turned on (step S401: Yes), the main control unit 201 transmits a power-on command to peripheral parts such as the effect control unit 202 and the prize ball control unit 203 (step S402). ). When the power-on command is transmitted, the effect control unit 202 controls the lamp control unit 251, the sound control unit 252, and the symbol display unit 104 for effect control at the time of power-on (specifically, the lamp control unit 202). Control command to instruct the lighting of the LED, output of sound, display of the demonstration screen, etc.).

つぎに、主制御部201は、ROM212またはRAM213に記録されている未抽選入賞回数データを参照して、未抽選入賞回数が0回か否かを判断する(ステップS403)。未抽選入賞回数とは、始動入賞口に検出された入賞球の数(入賞回数)から、入賞球に対応する抽選がおこなわれた回数(既抽選回数)を減じた数である。未抽選入賞回数が0回の場合(ステップS403:Yes)、主制御部201は、デモが開始されてから経過した時間を計測する(ステップS404)。   Next, the main control unit 201 determines whether or not the number of undrawn winning prizes is 0 with reference to the data of the undrawn winning prizes recorded in the ROM 212 or the RAM 213 (step S403). The number of undrawn winning prizes is a number obtained by subtracting the number of times a lottery corresponding to the winning ball has been made (number of already drawn lots) from the number of winning balls detected at the start winning opening (number of winning prizes). When the number of undrawn winning prizes is 0 (step S403: Yes), the main control unit 201 measures the time elapsed since the demonstration was started (step S404).

デモが開始されてから所定時間が経過すると(ステップS405:Yes)、主制御部201は、演出制御部202に客待ちデモコマンドを送信して(ステップS406)、ステップS407に移行する。デモが開始されてから所定時間が経過しない場合は(ステップS405:No)、そのままステップS407に移行する。ステップS406で客待ちデモコマンドが送信されると、演出制御部202は、ランプ制御部251や音声制御部252、図柄表示部104に対して客待ちデモ用の制御信号を送信する。また、ステップS403で、未抽選入賞回数が0回ではない場合は(ステップS403:No)、ステップS410に移行する。   When a predetermined time elapses after the demonstration is started (step S405: Yes), the main control unit 201 transmits a customer waiting demonstration command to the effect control unit 202 (step S406), and proceeds to step S407. If the predetermined time has not elapsed since the demonstration was started (step S405: No), the process proceeds to step S407 as it is. When the customer waiting demonstration command is transmitted in step S406, the effect control unit 202 transmits a control signal for the customer waiting demonstration to the lamp control unit 251, the voice control unit 252, and the symbol display unit 104. In step S403, when the number of undrawn winning prizes is not zero (step S403: No), the process proceeds to step S410.

つぎに、主制御部201は、始動入賞口検出部221によって始動入賞口への入賞球が検出されたか否か判断する(ステップS407)。始動入賞口への入賞球が検出されると(ステップS407:Yes)、主制御部201は、デモが開始されてから計測していた時間をクリアして(ステップS408)、未抽選入賞回数に1を加える(ステップS409)。つづいて、主制御部201は、大当たり判定用乱数を取得して(ステップS410)、未抽選入賞回数から1を減算し(ステップS411)、図5のステップS412に移行する。また、ステップS407で、始動入賞口への入賞球が検出されない場合は(ステップS407:No)、ステップS404に戻り、以降の処理を継続する。   Next, the main control unit 201 determines whether or not a winning ball for the starting winning port is detected by the starting winning port detecting unit 221 (step S407). When a winning ball is detected at the start winning opening (step S407: Yes), the main control unit 201 clears the time that has been measured since the demonstration was started (step S408), and the number of undrawn winning prizes is reached. 1 is added (step S409). Subsequently, the main control unit 201 acquires a jackpot determination random number (step S410), subtracts 1 from the number of undrawn winning prizes (step S411), and proceeds to step S412 in FIG. If no winning ball for the start winning opening is detected in step S407 (step S407: No), the process returns to step S404 and the subsequent processing is continued.

つぎに、主制御部201は、ステップS410で取得した大当たり判定用乱数が、あらかじめ定められた大当たり乱数であるか否かを判断する(ステップS412)。大当たり判定用乱数が大当たり乱数である場合(ステップS412:Yes)、主制御部201は、演出制御部202に大当たりリーチコマンド(図柄変動コマンド)を送信する(ステップS413)。主制御部201は、図柄変動時間が経過するまで待機して(ステップS414:Noのループ)、図柄変動時間が経過すると(ステップS414:Yes)、演出制御部202に図柄停止コマンドを送信する(ステップS415)。   Next, the main control unit 201 determines whether or not the jackpot determination random number acquired in step S410 is a predetermined jackpot random number (step S412). When the jackpot determination random number is a jackpot random number (step S412: Yes), the main control unit 201 transmits a jackpot reach command (symbol variation command) to the effect control unit 202 (step S413). The main control unit 201 waits until the symbol variation time has elapsed (step S414: No loop), and when the symbol variation time has elapsed (step S414: Yes), transmits a symbol stop command to the effect control unit 202 ( Step S415).

つぎに、主制御部201は、演出制御部202に大当たり開始コマンドを送信し(ステップS416)、つづけて、大当たり中の各ラウンドに対応するコマンド(大当たりコマンド)を順次送信する(ステップS417)。そして、主制御部201は、全てのラウンドの大当たりコマンドの送信が終わると、大当たり終了コマンドを送信して(ステップS418)、ステップS422に移行する。   Next, the main control unit 201 transmits a jackpot start command to the effect control unit 202 (step S416), and then sequentially transmits commands corresponding to the rounds during the jackpot (jackpot command) (step S417). Then, when transmission of the jackpot command for all rounds is completed, the main control unit 201 transmits a jackpot end command (step S418), and proceeds to step S422.

一方、ステップS412で、大当たり判定用乱数が大当たり乱数でなかった場合(ステップS412:No)、主制御部201は、演出制御部202にはずれリーチコマンド(図柄変動コマンド)を送信する(ステップS419)。主制御部201は、図柄変動時間が経過するまで待機して(ステップS420:Noのループ)、図柄変動時間が経過すると(ステップS420:Yes)、演出制御部202に図柄停止コマンドを送信する(ステップS421)。   On the other hand, if the jackpot determination random number is not a jackpot random number in step S412, the main control unit 201 transmits a shift reach command (design variation command) to the effect control unit 202 (step S419). . The main control unit 201 waits until the symbol variation time has elapsed (step S420: No loop), and when the symbol variation time has elapsed (step S420: Yes), transmits a symbol stop command to the effect control unit 202 ( Step S421).

主制御部201は、ぱちんこ遊技機の電源がオフにされるまでは(ステップS422:No)、図4のステップS403に戻り、以降の処理を繰り返す。そして、ぱちんこ遊技機の電源がオフにされると(ステップS422:Yes)、主制御部201は、演出制御部202に終了処理コマンドを送信して(ステップS423)、本フローチャートによる処理を終了する。   The main control unit 201 returns to step S403 in FIG. 4 and repeats the subsequent processing until the pachinko gaming machine is turned off (step S422: No). Then, when the power of the pachinko gaming machine is turned off (step S422: Yes), the main control unit 201 transmits an end process command to the effect control unit 202 (step S423), and ends the process according to this flowchart. .

図6は、大当たり関連コマンド(大当たりリーチコマンド、大当たり開始コマンド、大当たりコマンド、大当たり終了コマンド)の送信タイミングを示すタイムチャートである。大当たりリーチコマンドは、実際に大当たりが発生するよりも頻繁に、かつランダムに送信される。また、大当たり開始コマンドは、実際に大当たりが発生した場合に、大当たり状態に移行する際に1度だけ送信される。また、大当たりコマンドは、大当たり状態に移行した後、ラウンドごとに継続的に送信される。また、大当たり終了コマンドは、大当たり状態の全てのラウンドが終了し、通常の状態に移行する際に1度だけ送信される。   FIG. 6 is a time chart showing the transmission timing of a jackpot related command (a jackpot reach command, a jackpot start command, a jackpot command, a jackpot end command). The jackpot reach command is transmitted more frequently and randomly than the actual jackpot occurs. The jackpot start command is transmitted only once when shifting to the jackpot state when a jackpot is actually generated. The jackpot command is continuously transmitted for each round after shifting to the jackpot state. The jackpot end command is transmitted only once when all rounds of the jackpot state are completed and the normal state is entered.

つぎに、演出制御部202による処理について説明する。以下では、図柄変動時(大当たりリーチコマンド(図5のステップS413参照)または、はずれリーチコマンド(図5のステップS419参照)を受信した場合)および、大当たり時の演出制御部202の処理について説明する。   Next, processing by the effect control unit 202 will be described. In the following, processing of the effect control unit 202 at the time of symbol variation (when a jackpot reach command (see step S413 in FIG. 5) or a loss reach command (see step S419 in FIG. 5) is received) and a jackpot time will be described. .

図7は、演出制御部による図柄変動処理の手順を示すフローチャートである。図7のフローチャートにおいて、演出制御部202は、まず、図柄変動コマンドである大当たりリーチコマンド(図5のステップS413参照)、または、はずれリーチコマンド(図5のステップS419参照)を受信するまで待機する(ステップS701:Noのループ)。図柄変動コマンドを受信すると(ステップS701:Yes)、演出制御部202は、変動演出選択用の乱数を取得して(ステップS702)、取得した乱数に基づいて変動演出の種類を選択する(ステップS703)。そして、演出制御部202は、ランプ制御部251や音声制御部252に対して変動演出別の演出開始コマンドを送信する(ステップS704)。   FIG. 7 is a flowchart showing the procedure of the symbol variation process by the effect control unit. In the flowchart of FIG. 7, the effect control unit 202 first waits until a jackpot reach command (see step S413 in FIG. 5) or a miss reach command (see step S419 in FIG. 5), which is a symbol variation command. (Step S701: No loop). When the symbol variation command is received (step S701: Yes), the effect control unit 202 acquires a random effect selection random number (step S702), and selects a variation effect type based on the acquired random number (step S703). ). Then, the effect control unit 202 transmits an effect start command for each variable effect to the lamp control unit 251 and the sound control unit 252 (step S704).

演出制御部202は、変動演出の演出時間が経過したか否かや(ステップS705)、主制御部201から図柄停止コマンド(図5のステップS415,S421参照)を受信したか否かを判断する(ステップS706)。演出時間が経過した場合(ステップS705:Yes)、または、図柄停止コマンドを受信した場合(ステップS706:Yes)、演出制御部202は、ランプ制御部251や音声制御部252に対して演出停止コマンドを送信する(ステップS707)。また、演出時間が経過せず(ステップS705:No)、かつ図柄停止コマンドを受信しない場合は(ステップS706:No)、ステップS705に戻り、以降の処理を繰り返す。   The effect control unit 202 determines whether or not the effect time of the variable effect has elapsed (step S705) and whether or not a symbol stop command (see steps S415 and S421 in FIG. 5) has been received from the main control unit 201. (Step S706). When the production time has elapsed (step S705: Yes), or when the symbol stop command has been received (step S706: Yes), the production control unit 202 sends a production stop command to the lamp control unit 251 and the audio control unit 252. Is transmitted (step S707). If the production time has not elapsed (step S705: No) and the symbol stop command has not been received (step S706: No), the process returns to step S705, and the subsequent processing is repeated.

つぎに、演出制御部202の大当たり時の処理について説明する。図8は、演出制御部による大当たり時の処理の手順を示すフローチャートである。図8のフローチャートにおいて、演出制御部202は、まず、主制御部201から大当たり開始コマンド(図5のステップS416参照)を受信するまで待機する(ステップS801:Noのループ)。大当たり開始コマンドを受信すると(ステップS801:Yes)、演出制御部202は、ランプ制御部251や音声制御部252に対して大当たり開始処理コマンドを送信する(ステップS802)。   Next, the processing for the big hit of the effect control unit 202 will be described. FIG. 8 is a flowchart showing the procedure of the big hit processing by the effect control unit. In the flowchart of FIG. 8, the effect control unit 202 first waits until a jackpot start command (see step S416 in FIG. 5) is received from the main control unit 201 (step S801: No loop). When the jackpot start command is received (step S801: Yes), the effect control unit 202 transmits a jackpot start processing command to the lamp control unit 251 and the sound control unit 252 (step S802).

つぎに、演出制御部202は、主制御部201からラウンド別の大当たりコマンド(図5のステップS417参照)を受信するまで待機する(ステップS803:Noのループ)。大当たりコマンドを受信すると(ステップS803:Yes)、演出制御部202は、ランプ制御部251や音声制御部252に対して受信したラウンド別の大当たりコマンドに対応するラウンド別処理コマンドを送信する(ステップS804)。   Next, the effect control unit 202 waits until receiving a round jackpot command (see step S417 in FIG. 5) from the main control unit 201 (step S803: No loop). When the jackpot command is received (step S803: Yes), the effect control unit 202 transmits a round processing command corresponding to the received round jackpot command to the lamp control unit 251 and the sound control unit 252 (step S804). ).

つづいて、演出制御部202は、主制御部201から大当たり終了コマンド(図5のステップS418参照)を受信するまで待機する(ステップS805:Noのループ)。大当たり終了コマンドを受信すると(ステップS805:Yes)、演出制御部202は、ランプ制御部251や音声制御部252に対して大当たり終了処理コマンドを送信して(ステップS806)、本フローチャートによる処理を終了する。   Subsequently, the effect control unit 202 waits until a jackpot end command (see step S418 in FIG. 5) is received from the main control unit 201 (step S805: No loop). When the jackpot end command is received (step S805: Yes), the effect control unit 202 transmits a jackpot end processing command to the lamp control unit 251 and the audio control unit 252 (step S806), and ends the processing according to this flowchart. To do.

つづいて、ランプ制御部251によるランプ制御処理について説明する。ここでは、演出制御部202から図柄変動コマンドを受信した場合(図柄変動時)の処理について説明する。図9は、ランプ制御部による図柄変動時のランプ制御処理の手順を示すフローチャートである。図9のフローチャートにおいて、ランプ制御部251は、まず、演出制御部202から演出開始コマンドを受信するまで待機する(ステップS901:Noのループ)。   Subsequently, a lamp control process by the lamp control unit 251 will be described. Here, processing when a symbol variation command is received from the effect control unit 202 (during symbol variation) will be described. FIG. 9 is a flowchart showing the procedure of the lamp control process when the symbol is changed by the lamp control unit. In the flowchart of FIG. 9, the lamp control unit 251 first waits until an effect start command is received from the effect control unit 202 (step S901: No loop).

演出制御部202から演出開始コマンドを受信すると(ステップS901:Yes)、ランプ制御部251は、コマンド別に用意されているデータを読み出して(ステップS902)、コマンド別の選択ルーチンを実行し(ステップS903)、ランプデータをセットする(ステップS904)。そして、ランプ制御部251は、ランプ261に対してランプデータを出力する(ステップS905)。ランプ制御部251から出力されたランプデータに基づいて、ランプ261は点灯または消灯する。   When an effect start command is received from the effect control unit 202 (step S901: Yes), the lamp control unit 251 reads data prepared for each command (step S902) and executes a selection routine for each command (step S903). ), Ramp data is set (step S904). Then, the lamp control unit 251 outputs lamp data to the lamp 261 (step S905). Based on the lamp data output from the lamp control unit 251, the lamp 261 is turned on or off.

ランプ制御部251は、演出制御部202から演出停止コマンドを受信するまでは(ステップS906:No)、ステップS905に戻り、ランプデータの出力を継続する。演出停止コマンドを受信すると(ステップS906:Yes)、ランプ制御部251は、ランプデータの出力を停止して(ステップS907)、本フローチャートによる処理を終了する。   Until the lamp control unit 251 receives an effect stop command from the effect control unit 202 (step S906: No), the lamp control unit 251 returns to step S905 and continues outputting the lamp data. When the production stop command is received (step S906: Yes), the lamp control unit 251 stops the output of the lamp data (step S907) and ends the processing according to this flowchart.

なお、図9にはランプ制御部251の処理を記載したが、音声制御部252による音声制御も、図9の処理とほぼ同様である。音声制御部252による音声制御処理は、図9の処理において、ステップS904,S905,S907の「ランプデータ」を「音声データ」と読み替えればよい。   Note that although the processing of the lamp control unit 251 is shown in FIG. 9, the sound control by the sound control unit 252 is almost the same as the processing of FIG. In the sound control process by the sound control unit 252, “ramp data” in steps S <b> 904, S <b> 905, and S <b> 907 in the process of FIG.

このように、演出制御部202や賞球制御部203などの周辺部は、主制御部201によって出力された制御コマンドに基づいて各種の処理をおこなう。一方、たとえば、主制御部201と周辺部との間に不正な制御基板が接続された場合(図15参照)などのように、制御コマンドの出力元が正規の主制御部201ではない場合、周辺部は不正な制御基板から出力された不正な制御コマンドによって不正な動作をおこなってしまう。   As described above, peripheral units such as the effect control unit 202 and the prize ball control unit 203 perform various processes based on the control commands output by the main control unit 201. On the other hand, when the output source of the control command is not the regular main control unit 201, for example, when an unauthorized control board is connected between the main control unit 201 and the peripheral unit (see FIG. 15), The peripheral portion performs an illegal operation by an illegal control command output from an unauthorized control board.

これを防止するため、本実施の形態にかかるぱちんこ遊技機では、主制御部201と周辺部との間で認証処理をおこなう。より詳細には、周辺部を認証者、主制御部201を被認証者とした認証処理をおこない、主制御部201から送信される制御信号の正当性を認証する。この認証処理に用いる認証値(認証データ)は、主制御部201に記録されているプログラムデータを任意に分割したデータを元に生成されている。この認証処理によって、主制御部201が不正な制御基板に交換されたり、主制御部201と周辺部との間に不正な制御基板が取り付けられるなどの不正を検知して、ぱちんこ遊技機への不正を防止することができる。   In order to prevent this, in the pachinko gaming machine according to the present embodiment, an authentication process is performed between the main control unit 201 and the peripheral unit. More specifically, authentication processing is performed with the peripheral unit as the authenticator and the main control unit 201 as the person to be authenticated, and the validity of the control signal transmitted from the main control unit 201 is authenticated. The authentication value (authentication data) used for this authentication process is generated based on data obtained by arbitrarily dividing the program data recorded in the main control unit 201. This authentication process detects fraud such as the main control unit 201 being replaced with an unauthorized control board or an unauthorized control board being attached between the main control unit 201 and the peripheral part. Fraud can be prevented.

本実施の形態では、認証データを制御コマンドデータに付加して送信する。認証データを制御コマンドデータに付加することによって、認証データ単体で送信する場合と比較して、主制御部201と周辺部との間の通信負荷の増大を抑えることができる。また、認証データを制御コマンドデータに付加することによって、認証データを単体で送信する場合と比較して、通信データ中から認証データが抽出され、解析されてしまう可能性を低減することができる。以下に認証データと制御コマンドデータを含む制御信号のフォーマットについて説明する。   In the present embodiment, authentication data is added to control command data and transmitted. By adding the authentication data to the control command data, it is possible to suppress an increase in communication load between the main control unit 201 and the peripheral unit as compared with the case where the authentication data is transmitted alone. Further, by adding the authentication data to the control command data, it is possible to reduce the possibility that the authentication data is extracted from the communication data and analyzed as compared with the case where the authentication data is transmitted alone. The format of a control signal including authentication data and control command data will be described below.

(制御信号のデータフォーマット)
図10は、主制御部が出力する制御信号のデータフォーマットを模式的に示す説明図である。図10には、主制御部201が出力する通常の制御信号1010および認証データ付制御信号1020が示されている。
(Control signal data format)
FIG. 10 is an explanatory diagram schematically showing a data format of a control signal output from the main control unit. FIG. 10 shows a normal control signal 1010 and a control signal with authentication data 1020 output from the main control unit 201.

通常の制御信号1010は、制御コマンドデータ1001および付随データ1002を含んでいる。制御コマンドデータ1001は、たとえばリーチコマンドや大当たり開始コマンド、ラウンド別コマンドなどの各コマンド固有のデータである。また、付随データ1002は、制御コマンドデータ1001に付随するデータであり、たとえば、入賞した遊技球の数など制御コマンドデータ1001に基づく処理に必要なデータである。   A normal control signal 1010 includes control command data 1001 and accompanying data 1002. The control command data 1001 is data unique to each command such as a reach command, a jackpot start command, a round command, and the like. The accompanying data 1002 is data accompanying the control command data 1001, and is data necessary for processing based on the control command data 1001, such as the number of winning game balls.

一方、認証データ付制御信号1020は、制御コマンドデータ1001および付随データ1002に加え、認証データ1003および演算値1004を含んでいる。認証データ1003には、同期コード1003aおよび相対時間コード1003bの2種類の認証データが含まれている。また、演算値1004は、同期コードの生成に用いられているパケット情報の種類を特定するための値である。演算値1004は、具体的には以下のように生成される。   On the other hand, the control signal with authentication data 1020 includes authentication data 1003 and a calculated value 1004 in addition to the control command data 1001 and the accompanying data 1002. The authentication data 1003 includes two types of authentication data, a synchronization code 1003a and a relative time code 1003b. The calculated value 1004 is a value for specifying the type of packet information used for generating the synchronization code. Specifically, the calculated value 1004 is generated as follows.

(演算値の生成方法)
図11は、主制御部における演算値の生成方法を模式的に示す説明図である。演算値は、主制御部201のROM212などに記録されたデータを用いて生成する。より詳細には、ROM212の所定の領域に格納されたデータを、任意のデータ量に分割した上で、分割した領域にそれぞれ格納されたデータに対して結合法則を満たす2項演算(半群演算)をおこない、さらに所定の演算(たとえば、暗号化処理)をおこなって検査値を算出する。半群演算としては、たとえば、加算や排他的論理和演算などが挙げられる。なお、演算値1004を暗号化するか否かは任意であるが、不正防止の観点から暗号化することが望ましい。
(Calculation method generation method)
FIG. 11 is an explanatory diagram schematically illustrating a method for generating a calculation value in the main control unit. The calculated value is generated using data recorded in the ROM 212 of the main control unit 201 or the like. More specifically, after dividing data stored in a predetermined area of the ROM 212 into an arbitrary amount of data, a binary operation (semi-group operation) that satisfies the combining law for the data stored in each of the divided areas And a predetermined calculation (for example, encryption processing) is performed to calculate the inspection value. Examples of the semi-group operation include addition and exclusive OR operation. Whether or not the operation value 1004 is encrypted is arbitrary, but it is desirable to encrypt it from the viewpoint of preventing fraud.

演算値1004を暗号化する際に、その演算値1004が付加される制御コマンドを用いてもよい。また、演算値1004を暗号化する際に、演算値と共に送信される同期コード1003a(またはパケット情報)や相対時間コード1003bの一部または全てを用いてもよい。一般に、不正な制御部は、正規の主制御部201と異なる制御コマンドを送信することによって、周辺部に不正な動作をおこなわせようとする。演算値1004を生成する際に、その演算値1004が付加される制御コマンドや、共に送信される同期コード1003aや相対時間コード1003bを用いることによって、不正な制御部によって演算値1004が再利用された場合であっても、演算値1004と制御コマンドの整合がとれず、不正を検知することができる。   When the calculated value 1004 is encrypted, a control command to which the calculated value 1004 is added may be used. Further, when encrypting the calculated value 1004, a part or all of the synchronization code 1003a (or packet information) and the relative time code 1003b transmitted together with the calculated value may be used. In general, an unauthorized control unit attempts to cause an unauthorized operation to be performed by transmitting a control command different from that of the regular main control unit 201. When the calculated value 1004 is generated, the calculated value 1004 is reused by an unauthorized control unit by using the control command to which the calculated value 1004 is added, the synchronous code 1003a or the relative time code 1003b transmitted together. Even in such a case, the calculated value 1004 and the control command cannot be matched, and fraud can be detected.

主制御部201は、たとえば、1つの演算値1004を生成するごとに、その生成に用いるデータの量(データ量)を決定する。この場合、主制御部201は、ROM212の所定領域内の全てのデータを用いて演算値1004を生成するまで、データ量の決定と演算値1004の生成とを繰り返す。このため、いくつの演算値1004が生成されるか(すなわち、分割数がいくつになるか)は、ROM212の所定領域内の全てのデータを用いて演算値1004を生成するまでわからない。   For example, every time one calculation value 1004 is generated, the main control unit 201 determines the amount of data (data amount) used for the generation. In this case, the main control unit 201 repeats the determination of the data amount and the generation of the calculated value 1004 until the calculated value 1004 is generated using all the data in the predetermined area of the ROM 212. Therefore, it is not known how many calculated values 1004 are generated (that is, how many divisions are to be made) until the calculated values 1004 are generated using all data in the predetermined area of the ROM 212.

なお、1つの演算値1004を生成するごとにデータ量を決定するのではなく、あらかじめ演算値1004の生成に用いるデータの量を決定しておいてもよい。また、全ての演算値1004の生成に用いるデータ量を等しくするようにしてもよい。この場合、データ量を決定した時点で分割数が予測可能となる。   Instead of determining the amount of data every time one calculated value 1004 is generated, the amount of data used for generating the calculated value 1004 may be determined in advance. Further, the data amount used for generating all the calculation values 1004 may be made equal. In this case, the number of divisions can be predicted when the data amount is determined.

演算値1004を算出するために用いるデータの種類は任意であるが、たとえば、主制御部201のROM212に記録されたプログラムデータ(命令コードや固定データ)を用いることができる。主制御部201のROM212に記録されたプログラムデータを用いることによって、プログラムコードの不正な書き換えや、主制御部201のROM212の不正な取り替えなどを検出することができる。   The type of data used to calculate the calculated value 1004 is arbitrary, but for example, program data (instruction code or fixed data) recorded in the ROM 212 of the main control unit 201 can be used. By using the program data recorded in the ROM 212 of the main control unit 201, it is possible to detect unauthorized rewriting of the program code, unauthorized replacement of the ROM 212 of the main control unit 201, and the like.

たとえば、図11に示すプログラムデータ格納部1100には、12個のデータ(0x01〜0x09,0x0A〜0x0C、1つのデータのデータ量は1バイト)が格納されている。演算値1004の生成に用いるデータ量を4バイト、3バイト、5バイトとする場合、プログラムデータ格納部1100は、たとえば4バイト分のデータを含む第1ブロック1100a、3バイト分のデータを含む第2ブロック1100b、5バイト分のデータを含む第3ブロック1100c、の3つに分割できる。すなわち、分割数は3となる。主制御部201は、これらの各ブロックに格納されたデータに対してそれぞれ半群演算をおこなって演算値を算出する。なお、上述したデータ量は例示である。   For example, the program data storage unit 1100 shown in FIG. 11 stores 12 pieces of data (0x01 to 0x09, 0x0A to 0x0C, and the data amount of one data is 1 byte). When the amount of data used to generate the calculation value 1004 is 4 bytes, 3 bytes, and 5 bytes, the program data storage unit 1100 includes, for example, a first block 1100a that includes 4 bytes of data, and a data that includes 3 bytes of data. Two blocks 1100b and a third block 1100c containing 5 bytes of data can be divided into three. That is, the number of divisions is 3. The main control unit 201 performs a semi-group operation on the data stored in each of these blocks to calculate a calculated value. The data amount described above is an example.

たとえば、半群演算として加算を用いる方法を方式Aとすると、第1ブロック1100aに格納された4バイト分のデータ0x01,0x02,0x03,0x04を加算して第1演算値0x0Aが得られる。同様に、第2ブロック1100bに格納された3バイト分のデータ0x05,0x06,0x07を加算して第2演算値0x12が、第3ブロック1100cに格納された5バイト分のデータ0x08,0x09,0x0A,0x0B,0x0Cを加算して第3演算値0x32がそれぞれ得られる。   For example, if the method using addition as the half-group operation is method A, 4-byte data 0x01, 0x02, 0x03, 0x04 stored in the first block 1100a is added to obtain the first operation value 0x0A. Similarly, 3 bytes of data 0x05, 0x06, 0x07 stored in the second block 1100b are added, and the second operation value 0x12 is obtained as 5 bytes of data 0x08, 0x09, 0x0A stored in the third block 1100c. , 0x0B, 0x0C are added to obtain the third operation value 0x32.

また、たとえば、半群演算として排他的論理和演算を用いる方法を方式Bとすると、第1ブロック1100aに格納された4バイト分のデータ0x01,0x02,0x03,0x04に排他的論理和演算をおこない第1演算値0x04が得られる。同様に、第2ブロック1100bに格納された3バイト分のデータ0x05,0x06,0x07に排他的論理和演算をおこない第2演算値0x04が、第3ブロック1100cに格納された5バイト分のデータ0x08,0x09,0x0A,0x0B,0x0Cに排他的論理和演算をおこない第3演算値0x0Cがそれぞれ得られる。   For example, if the method using the exclusive OR operation as the semi-group operation is method B, the exclusive OR operation is performed on the 4-byte data 0x01, 0x02, 0x03, 0x04 stored in the first block 1100a. A first operation value 0x04 is obtained. Similarly, exclusive OR operation is performed on 3 bytes of data 0x05, 0x06, 0x07 stored in the second block 1100b, and the second operation value 0x04 is stored in the third block 1100c as 5 bytes of data 0x08. , 0x09, 0x0A, 0x0B, and 0x0C are subjected to exclusive OR operation to obtain third operation values 0x0C, respectively.

そして、得られた演算値に対してそれぞれ暗号化処理をおこなって演算値1004とする。この暗号化処理の際、上述のように、制御コマンドデータ1001や付随データ1002、同期コード1003a(またはパケット情報)、相対時間コード1003bなどを含めて暗号化処理をおこなってもよい。このとき、これらのデータをそのまま用いてもよいし、これらのデータに対してハッシュ関数による演算やパリティチェック、巡回冗長検査(Cyclic Redundancy Check:CRC)、チェックサムなどの演算をおこなって得た値を用いてもよい。   Then, encryption processing is performed on the obtained calculated values to obtain calculated values 1004. In this encryption process, as described above, the encryption process may be performed including the control command data 1001, the accompanying data 1002, the synchronization code 1003a (or packet information), the relative time code 1003b, and the like. At this time, these data may be used as they are, or values obtained by performing operations such as operations using a hash function, parity check, cyclic redundancy check (CRC), and checksum on these data. May be used.

一方、認証者である周辺部は、プログラムデータ格納部1100に格納されたデータ全体に対して半群演算をおこなった値を期待値として保持している。たとえば、方式Aの場合の期待値は0x01〜0x0Cの和である0x4Eとなる。また、方式Bの場合の期待値は0x01〜0x0Cの排他的論理和である0x0Cとなる。周辺部では、主制御部201による演算値生成方法の数と同じ数の期待値を保持している。   On the other hand, the peripheral part as the authenticator holds the value obtained by performing the semi-group operation on the entire data stored in the program data storage part 1100 as an expected value. For example, the expected value in the case of method A is 0x4E, which is the sum of 0x01 to 0x0C. In addition, the expected value in the case of method B is 0x0C, which is an exclusive OR of 0x01 to 0x0C. In the peripheral portion, the same number of expected values as the number of calculation value generation methods by the main control unit 201 are held.

周辺部は、受信した認証データ付制御信号1020から演算値1004を取り出して、演算値1004に対して半群演算をおこなった値を期待値と照合する。演算値1004は半群演算を用いて生成されているので、分割したプログラムデータから生成した演算値1004の全てに対して同じ半群演算をおこなえば、プログラムデータ全体に対して半群演算をおこなった期待値と一致するはずである。演算値1004に対して半群演算をおこなった値と期待値とが一致すると、周辺部は、その際に演算の対象となった演算値1004の数に基づいて同期コード1003aの生成に用いられたパケット情報の種類を特定する。   The peripheral section extracts the calculated value 1004 from the received control signal with authentication data 1020, and collates the value obtained by performing the semi-group calculation on the calculated value 1004 with the expected value. Since the calculation value 1004 is generated using the half group calculation, if the same half group calculation is performed on all the calculation values 1004 generated from the divided program data, the half group calculation is performed on the entire program data. Should match the expected value. When the value obtained by performing the semi-group operation on the operation value 1004 matches the expected value, the peripheral portion is used for generating the synchronization code 1003a based on the number of operation values 1004 that are the objects of the operation at that time. Specify the type of packet information.

なお、周辺部における半群演算処理は、分割したデータから生成した演算値1004を結合する処理に対応するため、「結合処理」と呼ぶ。また、期待値と一致した際の結合処理に用いた演算値1004の数を「結合数」という。周辺部における結合数と主制御部201における分割数とは同じ数となる。   The semi-group calculation process in the peripheral part corresponds to the process of combining the calculation values 1004 generated from the divided data, and is called “joining process”. In addition, the number of operation values 1004 used for the combining process when the expected value is matched is referred to as “number of connections”. The number of connections in the peripheral part and the number of divisions in the main control unit 201 are the same.

図10の説明に戻り、同期コード1003aおよび相対時間コード1003bは、主制御部201の動作順序を認証するためのデータである。このうち、同期コード1003aは、任意の出力タイミングで出力されたパケット情報(間欠パケット情報)、または、連続した間隔で出力されたパケット情報(連続パケット情報)のいずれかを用いて生成されている。同期コード1003aの生成に、いずれのパケット情報を用いるかは、分割数に基づいて決定される。以下にパケット情報の決定方法の具体例について説明する。   Returning to the description of FIG. 10, the synchronization code 1003 a and the relative time code 1003 b are data for authenticating the operation sequence of the main control unit 201. Among these, the synchronization code 1003a is generated using either packet information (intermittent packet information) output at an arbitrary output timing or packet information (continuous packet information) output at continuous intervals. . Which packet information is used to generate the synchronization code 1003a is determined based on the number of divisions. A specific example of the packet information determination method will be described below.

(パケット情報の決定方法)
図12は、主制御部におけるパケット決定の選択方法を模式的に示す説明図である。分割数に基づいてパケット情報を選択する方法としては、たとえば、図12に示すような方法が挙げられる。
(How to determine packet information)
FIG. 12 is an explanatory diagram schematically showing a packet determination selection method in the main control unit. As a method for selecting packet information based on the number of divisions, for example, a method as shown in FIG.

<選択例1:分割数/Xの余り値>
選択例1では、分割数として決定された値を特定値Xで除算した際の余り値に基づいて、同期コード1003aの生成に用いるパケット情報を選択する。たとえば、特定値X=4、分割数=7であれば、余り値=3となり、図12の選択例1では、間欠パケット情報を選択する。
<Selection example 1: Number of divisions / remainder value of X>
In selection example 1, packet information used to generate synchronization code 1003a is selected based on a remainder value obtained by dividing a value determined as the number of divisions by specific value X. For example, if the specific value X = 4 and the number of divisions = 7, the remainder value = 3, and in the selection example 1 of FIG. 12, intermittent packet information is selected.

<選択例2:前回の分割数−今回の分割数の絶対値>
選択例2では、前回決定された分割数と今回決定された分割数の減算した際の絶対値に基づいて、同期コードの生成に用いるパケット情報を選択する。たとえば、前回の分割数=3、今回の分割数=5であれば、絶対値|−2|=2となり図12の選択例2では、連続パケット情報を選択する。
<Selection example 2: previous division number-absolute value of current division number>
In the selection example 2, packet information used for generating the synchronization code is selected based on the absolute value obtained by subtracting the previously determined number of divisions from the currently determined number of divisions. For example, if the previous number of divisions = 3 and the current number of divisions = 5, the absolute value | −2 | = 2, and in the selection example 2 in FIG. 12, continuous packet information is selected.

この他、たとえば、分割数が偶数の場合は同期コードの生成に用いるパケット情報の種類を変更し、分割数が奇数の場合は現在用いている種類のパケット情報を継続して用いる、などの方法がある。   In addition, for example, when the number of divisions is an even number, the type of packet information used for generating a synchronization code is changed, and when the number of divisions is an odd number, the type of packet information currently used is continuously used. There is.

同期コード1003aや相対時間コード1003bは、そのままの値を送信してもよいし、暗号化処理をおこなって送信してもよい。暗号化処理の際、各コードとともに、同時に送信される制御コマンドデータ1001や付随データ1002に関するデータを含めて暗号化処理をおこなってもよい。制御コマンドデータ1001や付随データ1002に関するデータとは、制御コマンドデータ1001や付随データ1002そのものや、制御コマンドデータ1001や付随データ1002に対してハッシュ関数による演算やパリティチェック、巡回冗長検査(Cyclic Redundancy Check:CRC)、チェックサムなどの演算をおこなって得られた値などである。   The synchronization code 1003a and the relative time code 1003b may be transmitted as they are or may be transmitted after being encrypted. At the time of encryption processing, encryption processing may be performed including data relating to control command data 1001 and accompanying data 1002 transmitted simultaneously with each code. The data related to the control command data 1001 and the accompanying data 1002 includes the control command data 1001 and the accompanying data 1002 itself, operations on the control command data 1001 and the accompanying data 1002 using a hash function, a parity check, and a cyclic redundancy check (Cyclic Redundancy Check). : CRC), a value obtained by performing an operation such as a checksum.

一般に、不正な制御部は、正規の主制御部201と異なる制御コマンドを送信することによって、周辺部に不正な動作をおこなわせようとする。このため、制御コマンドデータ1001や付随データ1002を含めれば、不正な制御部によって同期コード1003aや相対時間コード1003bが再利用された場合であっても、同期コード1003aや相対時間コード1003bと制御コマンドの整合がとれず、不正を検知することができる。   In general, an unauthorized control unit attempts to cause an unauthorized operation to be performed by transmitting a control command different from that of the regular main control unit 201. Therefore, if the control command data 1001 and the accompanying data 1002 are included, even if the synchronization code 1003a and the relative time code 1003b are reused by an unauthorized control unit, the control code 1003a and the relative time code 1003b and the control command Can not be matched, and fraud can be detected.

また、認証データ付制御信号1020を出力するタイミングは任意である。たとえば、所定時間ごとに認証データ付制御信号1020を出力してもよいし、常に認証データ付制御信号1020を出力してもよい。また、たとえば制御信号内の制御コマンドデータ1001が特定の種類のコマンドである場合に、認証データ1003を付加するようにしてもよい。   The timing for outputting the control signal with authentication data 1020 is arbitrary. For example, the control signal with authentication data 1020 may be output every predetermined time, or the control signal with authentication data 1020 may be always output. Further, for example, when the control command data 1001 in the control signal is a specific type of command, the authentication data 1003 may be added.

さらに、制御コマンドデータ1001、付随データ1002、認証データ1003、演算値1004の並び方は、図10に示す順番に限らず、たとえば認証データ1003や演算値1004を制御信号の先頭にしたり、制御コマンドデータ1001と付随データ1002との間に認証データ1003や演算値1004を挿入してもよい。   Furthermore, the arrangement of the control command data 1001, the accompanying data 1002, the authentication data 1003, and the calculated value 1004 is not limited to the order shown in FIG. 10, and for example, the authentication data 1003 and the calculated value 1004 are set to the head of the control signal, or the control command data Authentication data 1003 and a calculated value 1004 may be inserted between 1001 and accompanying data 1002.

(制御信号の送受信処理)
つづいて、主制御部201と周辺部との間でおこなう制御信号の送受信処理について説明する。図13は、主制御部201による制御信号の送信処理の手順を示すフローチャートである。本フローチャートでは、演算値を生成するごとに、データ量を決定する場合の処理について説明する。主制御部201は、制御コマンドの送信タイミングになるまで待機して(ステップS1301:Noのループ)、制御コマンドの送信タイミングになると(ステップS1301:Yes)、演算値の生成に用いるデータ量を決定する(ステップS1302)。つぎに、主制御部201は、ステップS1302で決定した量のプログラムデータを読み出し、読み出したデータに対して半群演算をおこない、さらに暗号化処理をおこなって演算値を生成する(ステップS1303)。
(Control signal transmission / reception processing)
Subsequently, a control signal transmission / reception process performed between the main control unit 201 and the peripheral unit will be described. FIG. 13 is a flowchart illustrating a procedure of control signal transmission processing by the main control unit 201. In this flowchart, a process for determining the amount of data every time a calculation value is generated will be described. The main control unit 201 waits until the control command transmission timing is reached (step S1301: No loop), and when the control command transmission timing is reached (step S1301: Yes), determines the amount of data used to generate the operation value. (Step S1302). Next, the main control unit 201 reads the amount of program data determined in step S1302, performs a half-group operation on the read data, and further performs an encryption process to generate an operation value (step S1303).

プログラムデータ格納部1100内の全てのデータを用いて演算値を生成するまで(ステップS1304:No)、主制御部201は、ステップS1302に戻り、以降の処理を繰り返す。ここで、「プログラムデータ格納部1100内の全てのデータを用いて」とは、プログラムデータ格納部1100内のデータをもれなく、かつ重複なく用いて、という意味である。主制御部201は、たとえばプログラムデータ格納部1100の先頭から順番にデータを読み出して演算値の生成に用いる。2つ目以降の演算値を生成する場合は、前の演算値の生成に用いたプログラムデータの次の領域に書き込まれたデータを、ステップS1302で決定した量だけ読み出して演算値を生成する。なお、最後の演算値を生成する際は、ステップS1302で決定したデータ量に足りない可能性があるが、主制御部201は、取得できる分のプログラムデータのみを用いて演算値を生成する。なお、演算値の生成は、制御コマンドの送信タイミングとなる前におこなっておいてもよい。   The main control unit 201 returns to step S1302 and repeats the subsequent processes until a calculation value is generated using all data in the program data storage unit 1100 (step S1304: No). Here, “using all the data in the program data storage unit 1100” means that all the data in the program data storage unit 1100 is used without duplication. The main control unit 201 reads out data in order from the top of the program data storage unit 1100, for example, and uses it to generate a calculation value. When generating the second and subsequent calculation values, the calculation value is generated by reading the data written in the area next to the program data used for generating the previous calculation value by the amount determined in step S1302. When generating the last calculated value, the data amount determined in step S1302 may be insufficient, but the main control unit 201 generates the calculated value using only the program data that can be acquired. The calculation value may be generated before the transmission timing of the control command.

プログラムデータ格納部1100内の全てのデータを用いて演算値を生成すると(ステップS1304:Yes)、主制御部201は、ステップS1303で生成した演算値の個数、すなわち分割数に基づいて、同期コードの生成に用いるパケット情報の種類を決定する(ステップS1305)。具体的には、間欠パケット情報または連続パケット情報のいずれかを選択する。そして、決定したパケット情報を取得して、そのパケット情報を元にして同期コードを生成する(ステップS1306)。なお、ステップS1305とステップS1306とを入れ替えて、間欠パケット情報および連続パケット情報の両方をそれぞれ用いて2つの同期コードを生成しておき、どちらの同期コードを利用するかを後から決定するようにしてもよい。また、主制御部201は、計時部316から計時時間情報を取得して(ステップS1307)、相対時間コードを生成する(ステップS1308)。   When the operation value is generated using all the data in the program data storage unit 1100 (step S1304: Yes), the main control unit 201 determines the synchronization code based on the number of operation values generated in step S1303, that is, the number of divisions. The type of packet information to be used for generating is determined (step S1305). Specifically, either intermittent packet information or continuous packet information is selected. Then, the determined packet information is acquired, and a synchronization code is generated based on the packet information (step S1306). Note that step S1305 and step S1306 are interchanged so that two synchronization codes are generated using both intermittent packet information and continuous packet information, and which synchronization code is used is determined later. May be. In addition, the main control unit 201 acquires time measurement information from the time measurement unit 316 (step S1307) and generates a relative time code (step S1308).

つづいて、主制御部201は、演算値、同期コードおよび相対時間コード(認証データ)を制御コマンドデータに付加して(ステップS1309)、周辺部に認証データ付制御信号を送信する(ステップS1310)。認証データ付制御信号は連続して送信してもよいし、通常の制御信号に混ぜて送信してもよい。また、認証データの送信順序も任意である。主制御部201は、全ての演算値および認証データ(演算値等)を送信するまで(ステップS1311:No)、ステップS1310に戻り、認証データ付制御信号の送信を繰り返す。そして、全ての認証データを送信すると(ステップS1311:Yes)、本フローチャートによる処理を終了する。   Subsequently, the main control unit 201 adds the operation value, the synchronization code, and the relative time code (authentication data) to the control command data (step S1309), and transmits a control signal with authentication data to the peripheral unit (step S1310). . The control signal with authentication data may be transmitted continuously, or may be mixed with a normal control signal and transmitted. Further, the transmission order of the authentication data is also arbitrary. The main control unit 201 returns to step S1310 and repeats transmission of the control signal with authentication data until all calculated values and authentication data (calculated values and the like) are transmitted (step S1311: No). When all the authentication data is transmitted (step S1311: Yes), the process according to this flowchart is terminated.

つぎに、周辺部による主制御部201の認証処理について説明する。図14は、周辺部による主制御部の認証処理の手順を示すフローチャートである。図14のフローチャートにおいて、周辺部は、まず、主制御部201から認証データ付制御信号を受信するまで待機する(ステップS1401:Noのループ)。主制御部201から認証データ付制御信号を受信すると(ステップS1401:Yes)、周辺部は、受信した認証データ付制御信号に含まれている演算値に対して所定の演算(結合処理)をおこない(ステップS1402)、分割数(結合数)を特定する(ステップS1403)。ステップS1402およびステップS1403の判断処理の詳細は、図15を用いて詳細に説明する。   Next, an authentication process of the main control unit 201 by the peripheral unit will be described. FIG. 14 is a flowchart showing a procedure of authentication processing of the main control unit by the peripheral unit. In the flowchart of FIG. 14, the peripheral unit first waits until receiving a control signal with authentication data from the main control unit 201 (step S1401: No loop). When the control signal with authentication data is received from the main control unit 201 (step S1401: Yes), the peripheral unit performs a predetermined calculation (combination process) on the calculation value included in the received control signal with authentication data. (Step S1402), the number of divisions (number of connections) is specified (Step S1403). Details of the determination processing in steps S1402 and S1403 will be described in detail with reference to FIG.

つづいて、周辺部は、分割数に基づいて同期コードの生成に用いられているパケット情報の種類を特定する(ステップS1404)。そして、ステップS1404で特定したパケット情報に対応する方法で、同期コードを用いた認証をおこなう(ステップS1405)。同期コードを用いた認証が成立すると(ステップS1406:Yes)、周辺部は、相対時間コードを用いた認証をおこなう(ステップS1407)。なお、同期コードを用いた認証と相対時間コードを用いた認証とは、順番を入れ替えてもよい。   Subsequently, the peripheral unit specifies the type of packet information used for generating the synchronization code based on the number of divisions (step S1404). Then, the authentication using the synchronization code is performed by the method corresponding to the packet information specified in step S1404 (step S1405). When the authentication using the synchronization code is established (step S1406: Yes), the peripheral unit performs the authentication using the relative time code (step S1407). Note that the order of authentication using a synchronization code and authentication using a relative time code may be interchanged.

相対時間コードを用いた認証が成立し(ステップS1408:Yes)、同期コードおよび相対時間コードの双方に対する認証が成立すると、周辺部は、受信した制御信号が正しい信号であるとして認証し(ステップS1409)、制御コマンドに基づく処理をおこなって(ステップS1410)、本フローチャートによる処理を終了する。一方、同期コードを用いた認証または相対時間コードを用いた認証のいずれかが成立しなかった場合(ステップS1406:NoまたはステップS1408:No)、周辺部は受信した制御信号を不正な制御信号として報知して(ステップS1411)、本フローチャートによる処理を終了する。   When the authentication using the relative time code is established (step S1408: Yes) and the authentication for both the synchronization code and the relative time code is established, the peripheral portion authenticates that the received control signal is a correct signal (step S1409). ), Processing based on the control command is performed (step S1410), and the processing according to this flowchart is terminated. On the other hand, when either the authentication using the synchronization code or the authentication using the relative time code has not been established (step S1406: No or step S1408: No), the peripheral unit uses the received control signal as an illegal control signal. Notification is made (step S1411), and the processing according to this flowchart is terminated.

つづいて、周辺部による判断処理(図14のステップS1402およびS1403)について説明する。図15は、周辺部による演算値と期待値の照合処理の手順を示すフローチャートである。図15のフローチャートにおいて、周辺部は、演算値(演算値を含む制御信号)を受信するまで待機して(ステップS1501:Noのループ)、演算値を受信すると(ステップS1501:Yes)、受信した演算値を演算値用メモリに格納する(ステップS1502)。なお、演算値が暗号化されている場合は、適宜復号化をおこなう。つぎに、周辺部は、演算値用メモリ内の全ての演算値に対して半群演算(結合処理)をおこなう(ステップS1503)。演算値用メモリ内の検査値が1つの場合は、結合処理をおこなわずにそのままステップS1504に移行する。   Next, determination processing (steps S1402 and S1403 in FIG. 14) by the peripheral part will be described. FIG. 15 is a flowchart showing the procedure of the collation process between the calculated value and the expected value by the peripheral part. In the flowchart of FIG. 15, the peripheral unit waits until receiving a calculation value (a control signal including a calculation value) (step S1501: No loop), and receives the calculation value (step S1501: Yes). The calculated value is stored in the calculated value memory (step S1502). If the calculated value is encrypted, it is decrypted as appropriate. Next, the peripheral part performs a semi-group operation (joining process) on all the operation values in the operation value memory (step S1503). If there is one inspection value in the calculation value memory, the process proceeds to step S1504 without performing the combining process.

そして、周辺部は、演算結果(結合結果)と保持している期待値とを照合して、結合結果と期待値とが一致するか否かを判断する(ステップS1504)。結合結果と期待値とが一致する場合(ステップS1504:Yes)、周辺部は、演算対象となった演算値の数を分割数(結合数)として特定する(ステップS1505)。そして、演算値用メモリ内のデータを消去して(ステップS1506)、本フローチャートによる処理を終了する。   Then, the peripheral unit compares the operation result (combination result) with the held expected value, and determines whether or not the combined result and the expected value match (step S1504). When the combination result and the expected value match (step S1504: Yes), the peripheral unit specifies the number of calculation values that are calculation targets as the number of divisions (number of connections) (step S1505). Then, the data in the calculation value memory is erased (step S1506), and the processing according to this flowchart ends.

一方、ステップS1504において、結合結果と期待値が一致しない場合(ステップS1504:No)、周辺部は、所定数以上の演算値を受信するまで(ステップS1507:No)、ステップS1501に戻り、演算値の受信および結合処理を繰り返す。所定数以上の演算値を受信すると(ステップS1507:Yes)、周辺部は、何らかのエラーが発生した可能性があるものとして、ユーザに報知して(ステップS1508)、本フローチャートによる処理を終了する。所定数は任意の数であるが、たとえば、プログラムデータ格納部1100に格納可能なデータの数(最大分割数)とすることができる。   On the other hand, if the combined result and the expected value do not match in step S1504 (step S1504: No), the peripheral unit returns to step S1501 until it receives a predetermined number or more of calculated values (step S1507: No), and the calculated value Repeat the receiving and combining process. When a predetermined number or more of calculation values are received (step S1507: Yes), the peripheral unit notifies the user that there is a possibility that some error has occurred (step S1508), and the processing according to this flowchart ends. Although the predetermined number is an arbitrary number, for example, it can be the number of data that can be stored in the program data storage unit 1100 (maximum number of divisions).

(パケット情報選択処理の具体例)
つづいて、図13〜図15に示す処理のうち、同期コードの生成に用いるパケット情報選択処理の具体例について説明する。図16は、制御部間のデータの流れの一例を示すシーケンス図である。図16においては、分割数に基づいたコードの選択例として、図12に示した選択例1(ここでは、X=3とする)によって利用するコードを選択するものとする。図16では、説明の便宜上、演算値の生成に用いるデータ量を一括して決定するように示しているが、図13のフローチャートのように、演算値を生成するごとにデータ量を決定してもよい。
(Specific example of packet information selection processing)
Next, a specific example of the packet information selection process used to generate the synchronization code among the processes shown in FIGS. 13 to 15 will be described. FIG. 16 is a sequence diagram illustrating an example of a data flow between control units. In FIG. 16, as a code selection example based on the number of divisions, a code to be used is selected according to selection example 1 (X = 3 in this example) shown in FIG. In FIG. 16, for convenience of explanation, the data amount used for generation of the calculation value is determined collectively. However, as shown in the flowchart of FIG. 13, the data amount is determined every time the calculation value is generated. Also good.

まず、主制御部201は、任意の方法で演算値の生成に用いるデータ量を決定する。たとえば、全データ量が12バイトあり、演算値の生成に用いるデータ量を、それぞれ4バイト、3バイト、5バイトとすると、3つの演算値を生成することになり、分割数=3となる(ステップS1601)。主制御部201は、プログラムデータ格納部1100の先頭から順に4バイト、3バイト、5バイトのデータを読み出し、それぞれのデータを用いて3つの演算値を生成する(ステップS1602)。   First, the main control unit 201 determines the amount of data used for generating the calculation value by an arbitrary method. For example, if the total amount of data is 12 bytes, and the amount of data used to generate the operation value is 4 bytes, 3 bytes, and 5 bytes, respectively, three operation values are generated, and the number of divisions is 3 ( Step S1601). The main control unit 201 reads data of 4 bytes, 3 bytes, and 5 bytes in order from the top of the program data storage unit 1100, and generates three calculated values using each data (step S1602).

つぎに、主制御部201は、分割数に基づいて、同期コードの生成に用いるパケット情報を選択する(ステップS1603)。具体的には、分割数(この場合「3」)をXの値(この場合「3」)で割り、その余りの値によってパケット情報を選択する。この場合、3を3で割った余りは0であるため、主制御部201は間欠パケット情報を選択する。主制御部201は、間欠パケット情報を用いて同期コードを生成するとともに、相対時間コードを生成する(ステップS1604)。そして、主制御部201は、演算値、同期コードおよび相対時間コードを含む認証データ付制御信号を周辺部に送信する(ステップS1605)。   Next, the main control unit 201 selects packet information used for generating a synchronization code based on the number of divisions (step S1603). Specifically, the number of divisions (in this case, “3”) is divided by the value of X (in this case, “3”), and packet information is selected by the remainder value. In this case, since the remainder obtained by dividing 3 by 3 is 0, the main control unit 201 selects intermittent packet information. The main control unit 201 generates a synchronization code using intermittent packet information and also generates a relative time code (step S1604). Then, the main control unit 201 transmits a control signal with authentication data including the calculated value, the synchronization code, and the relative time code to the peripheral unit (step S1605).

つづいて、周辺部における処理について説明する。周辺部は、主制御部201から送信された認証データ付制御信号を受信する(ステップS1606)。そして、認証データ付制御信号から演算値を抽出し、演算値に対して結合処理をおこない(ステップS1607)、結合結果を期待値と照合する。今回の場合は、3つの演算値を用いて結合処理をおこなった際に期待値と一致するはずである(結合数=3)。   Next, processing in the peripheral part will be described. The peripheral unit receives the control signal with authentication data transmitted from the main control unit 201 (step S1606). Then, the calculated value is extracted from the control signal with authentication data, the combined value is subjected to the combining process (step S1607), and the combined result is collated with the expected value. In this case, when the join processing is performed using three calculated values, it should match the expected value (number of joins = 3).

周辺部は、結合数に基づいて、同期コードの生成に用いられているパケット情報の種類を特定する(ステップS1608)。具体的には、今回の場合は、結合数である3をXである3で割った余りは0であるため、間欠パケット情報であると判別する(図12参照)。つづいて、周辺部は、特定したパケット情報に対応した方法で同期コードを用いた認証をおこなうとともに(ステップS1609)、相対時間コードを用いた認証をおこなう(ステップS1610)。同期コードを用いた認証および相対時間コードを用いた認証の両方が成立すると、周辺部は、制御信号内の制御コマンドに基づく処理をおこなう(ステップS1611)。ここまでが一連の切り替え処理の流れである。   The peripheral unit specifies the type of packet information used for generating the synchronization code based on the number of connections (step S1608). Specifically, in this case, since the remainder obtained by dividing 3 which is the number of connections by 3 which is X is 0, it is determined that the packet information is intermittent packet information (see FIG. 12). Subsequently, the peripheral unit performs authentication using the synchronization code by a method corresponding to the specified packet information (step S1609) and performs authentication using the relative time code (step S1610). When both the authentication using the synchronization code and the authentication using the relative time code are established, the peripheral unit performs processing based on the control command in the control signal (step S1611). This is the flow of a series of switching processes.

2回目の処理の説明に移り、主制御部201は、再び任意の方法で演算値の生成に用いるデータ量を決定する。たとえば、演算値の生成に用いるデータ量を、それぞれ4バイト、3バイト、2バイト、3バイトとすると、4つの演算値を生成することになり、分割数=4となる(ステップS1612)。主制御部201は、プログラムデータ格納部1100の先頭から順に4バイト、3バイト、2バイト、3バイトのデータを読み出し、それぞれのデータを用いて4つの演算値を算出し、さらに演算をおこなって演算値を生成する(ステップS1613)。   Turning to the description of the second process, the main control unit 201 again determines the amount of data to be used for generating the calculation value by an arbitrary method. For example, if the amount of data used to generate the calculation value is 4 bytes, 3 bytes, 2 bytes, and 3 bytes, respectively, four calculation values are generated, and the number of divisions is 4 (step S1612). The main control unit 201 reads data of 4 bytes, 3 bytes, 2 bytes, and 3 bytes in order from the top of the program data storage unit 1100, calculates four calculation values using each data, and performs further calculations. A calculated value is generated (step S1613).

また、主制御部201は、分割数に基づいて、同期コードの生成に用いるパケット情報を選択する(ステップS1614)。具体的には、分割数(この場合「4」)をXの値(この場合「3」)で割る。この余りの値は1であるため、主制御部201は連続パケット情報を選択する。主制御部201は、連続パケット情報を用いて同期コードを生成するとともに相対時間コードを生成する(ステップS1615)。そして、主制御部201は、演算値、同期コードおよび相対時間コードを含む認証データ付制御信号を周辺部に送信する(ステップS1616)。   Further, the main control unit 201 selects packet information used for generating a synchronization code based on the number of divisions (step S1614). Specifically, the number of divisions (in this case “4”) is divided by the value of X (in this case “3”). Since the remainder value is 1, the main control unit 201 selects continuous packet information. The main control unit 201 generates a synchronization code using the continuous packet information and also generates a relative time code (step S1615). Then, the main control unit 201 transmits a control signal with authentication data including the calculated value, the synchronization code, and the relative time code to the peripheral unit (step S1616).

つづいて、周辺部は、主制御部201から送信された認証データ付制御信号を受信し(ステップS1617)、演算値を抽出して結合処理をおこなう(ステップS1618)。今回の場合は、4つの演算値を用いて結合処理をおこなった際に期待値と一致するはずである(結合数=4)。結合結果が期待値と一致すると、周辺部は、結合数に基づいて、同期コードの生成に用いられているパケット情報の種類を特定する(ステップS1619)。具体的には、今回の場合は、結合数である4をXである3で割った余りは1であるため、連続パケット情報であると判別する。   Subsequently, the peripheral unit receives the control signal with authentication data transmitted from the main control unit 201 (step S1617), extracts the calculated value, and performs the coupling process (step S1618). In this case, when the join processing is performed using four calculated values, it should match the expected value (number of joins = 4). When the combined result matches the expected value, the peripheral unit specifies the type of packet information used for generating the synchronization code based on the number of connections (step S1619). Specifically, in this case, since the remainder obtained by dividing 4 which is the number of connections by 3 which is X is 1, it is determined that the packet information is continuous packet information.

そして、周辺部は、特定したパケット情報に対応した方法で同期コードを用いた認証をおこなうとともに(ステップS1620)、相対時間コードを用いた認証をおこなう(ステップS1621)。同期コードを用いた認証および相対時間コードを用いた認証の両方が成立すると、周辺部は、制御信号内の制御コマンドに基づく処理をおこなう(ステップS1622)。以上が一連の流れとなる。   Then, the peripheral part performs authentication using the synchronization code by a method corresponding to the specified packet information (step S1620) and performs authentication using the relative time code (step S1621). When both the authentication using the synchronization code and the authentication using the relative time code are established, the peripheral unit performs processing based on the control command in the control signal (step S1622). The above is a series of flows.

以上説明したように、本実施の形態にかかるぱちんこ遊技機は、主制御基板310において、データ記憶部311内のデータの分割数に基づいて同期コードの生成に用いるパケット情報の種類を決定する。分割数は主制御基板310のみが知る値なので、不正解析者は、同期コードの生成に用いるパケット情報の種類を特定することができない。これにより、主制御基板310と周辺基板320との間に不正な制御基板が挿入された場合に、同期コードを照合することによって不正を検知することができる。   As described above, in the main control board 310, the pachinko gaming machine according to the present embodiment determines the type of packet information used for generating the synchronization code based on the number of data divisions in the data storage unit 311. Since the number of divisions is a value that only the main control board 310 knows, the fraud analyst cannot specify the type of packet information used for generating the synchronization code. As a result, when an unauthorized control board is inserted between the main control board 310 and the peripheral board 320, the fraud can be detected by checking the synchronization code.

また、本実施の形態にかかるぱちんこ遊技機は、分割数そのものを決定するのではなく、演算値の生成に用いるデータ量を決定する。このため、分割数が不正に窃取される可能性を低減することができる。   In addition, the pachinko gaming machine according to the present embodiment does not determine the number of divisions itself but determines the amount of data used to generate the calculation value. For this reason, the possibility that the number of divisions is illegally stolen can be reduced.

さらに、本実施の形態にかかるぱちんこ遊技機は、周辺基板320において、同期コードおよび相対時間コードの2種類のコードを用いて主制御基板310の動作順序を認証する。2種類のコードを用いて二重に認証処理をおこなうことにより、認証の強度を向上させ、不正な制御コマンドによる不正な処理が実行されるのを防止することができる。また、主制御基板310の動作順序を認証することによって、主制御基板310の動作の連続性を認証することができ、たとえば信号切替回路などを搭載した不正な制御基板を検知することができる。   Furthermore, the pachinko gaming machine according to the present embodiment authenticates the operation sequence of the main control board 310 using the two types of codes, the synchronization code and the relative time code, on the peripheral board 320. By performing authentication processing twice using two types of codes, it is possible to improve the strength of authentication and prevent unauthorized processing by an unauthorized control command. Further, by authenticating the operation sequence of the main control board 310, the continuity of the operation of the main control board 310 can be authenticated, and for example, an unauthorized control board equipped with a signal switching circuit or the like can be detected.

なお、本実施の形態で説明した主制御部および周辺部の制御方法は、あらかじめ用意されたプログラムをパーソナル・コンピュータやワークステーション等のコンピュータで実行することにより実現することができる。このプログラムは、ハードディスク、フレキシブルディスク、CD−ROM、MO、DVD等のコンピュータで読み取り可能な記録媒体に記録され、コンピュータによって記録媒体から読み出されることによって実行される。またこのプログラムは、インターネット等のネットワークを介して配布することが可能な伝送媒体であってもよい。   The control method for the main control unit and the peripheral units described in the present embodiment can be realized by executing a program prepared in advance on a computer such as a personal computer or a workstation. This program is recorded on a computer-readable recording medium such as a hard disk, a flexible disk, a CD-ROM, an MO, and a DVD, and is executed by being read from the recording medium by the computer. The program may be a transmission medium that can be distributed via a network such as the Internet.

以上のように、本発明は、制御部への不正が懸念される電子機器やその電子機器に搭載される制御基板に有用であり、特に、ぱちんこ遊技機、スロット遊技機、その他各種の遊技機に適している。   As described above, the present invention is useful for an electronic device in which fraud to the control unit is concerned and a control board mounted on the electronic device, and in particular, a pachinko gaming machine, a slot gaming machine, and other various gaming machines. Suitable for

310 主制御基板
311 データ記憶部
312 決定部
313 演算値生成部
314 同期コード生成部
315 相対時間コード生成部
316 計時部
317 暗号化部
318 送信部
320 周辺基板
321 受信部
322 復号化部
323 判断部
324 動作認証部
325 コマンド認証部
310 Main Control Board 311 Data Storage Unit 312 Determination Unit 313 Operation Value Generation Unit 314 Synchronous Code Generation Unit 315 Relative Time Code Generation Unit 316 Timekeeping Unit 317 Encryption Unit 318 Transmission Unit 320 Peripheral Board 321 Reception Unit 322 Decoding Unit 323 Judgment Unit 324 Operation authentication unit 325 Command authentication unit

Claims (16)

主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理をおこなう周辺部と、を備える電子機器であって、
前記主制御部は、
所定のデータを記憶するデータ記憶手段と、
前記主制御部の動作検査値とともに送信される演算値の生成に用いる前記データの量(以下、「データ量」という)を決定する決定手段と、
前記データ記憶手段内の前記データを前記データ量に分割し、分割した前記データに対してそれぞれ結合法則を満たす2項演算をおこなって、分割した前記データの数(以下、「分割数」という)分の前記演算値を生成する演算値生成手段と、
前記主制御部の前記動作検査値として、前記制御コマンドの送信に伴って出力されるパケット情報を含んだ同期コードを生成する同期コード生成手段と、
他の手段から独立してフリーランに計時をおこなう計時手段と、
指定されたタイミングで前記計時手段から取得した計時時間の情報を含んだ相対時間コードを生成する相対時間コード生成手段と、
前記分割数分の前記演算値、前記同期コードおよび前記相対時間コードを前記周辺部に送信する送信手段と、を備え、
前記周辺部は、
前記分割数分の前記演算値、前記相対時間コードおよび前記同期コードを受信する受信手段と、
前記分割数分の前記演算値に対して前記2項演算をおこなった演算結果と、前記データ記憶手段内の全ての前記データに対して前記2項演算をおこなった値(以下、「期待値」という)とが一致するか否かを判断する判断手段と、
前記同期コードに含まれる前記パケット情報の差分を用いて前記主制御部の動作順序を認証するとともに、前記相対時間コードを用いて前記主制御部の動作順序を認証する動作認証手段と、
前記動作認証手段によって、前記同期コードを用いた認証および前記相対時間コードを用いた認証の双方が成立した場合に、前記主制御部によって送信された制御コマンドを認証するコマンド認証手段と、を備え、
前記同期コード生成手段は、前記同期コードの生成に用いる前記パケット情報の種類を前記分割数に基づいて決定し、
前記動作認証手段は、前記判断手段によって前記演算値と前記期待値とが一致すると判断された際に前記2項演算の対象となった前記演算値の数に基づいて前記パケット情報の種類を特定して前記同期コードを用いた認証をおこなうことを特徴とする電子機器。
An electronic device comprising: a main control unit; and a peripheral unit that performs a predetermined process based on a control command transmitted by the main control unit,
The main control unit
Data storage means for storing predetermined data;
Determining means for determining an amount of the data (hereinafter referred to as “data amount”) used to generate a calculation value transmitted together with an operation inspection value of the main control unit;
Dividing the data in the data storage means into the amount of data, performing a binary operation satisfying a combining law on the divided data, respectively, and dividing the number of the data (hereinafter referred to as “number of divisions”) A calculated value generating means for generating the calculated value for minutes;
As the operation check value of the main control unit, synchronization code generating means for generating a synchronization code including packet information output with transmission of the control command,
A time measuring means for measuring the free run independently of other means;
A relative time code generating means for generating a relative time code including information on the time measured from the time measuring means at a specified timing;
Transmitting means for transmitting the calculated value for the number of divisions, the synchronization code, and the relative time code to the peripheral part,
The peripheral portion is
Receiving means for receiving the calculated value, the relative time code and the synchronization code for the number of divisions;
The result of performing the binary operation on the calculated values for the number of divisions, and the value obtained by performing the binary operation on all the data in the data storage means (hereinafter, “expected value”) Means for determining whether or not match,
Authenticating the operation order of the main control unit using the difference of the packet information included in the synchronization code, and authenticating the operation order of the main control unit using the relative time code;
Command authentication means for authenticating a control command transmitted by the main control unit when both the authentication using the synchronization code and the authentication using the relative time code are established by the operation authentication means. ,
The synchronization code generation means determines the type of the packet information used for generating the synchronization code based on the number of divisions,
The operation authentication unit specifies the type of the packet information based on the number of the operation values subjected to the binary operation when the determination unit determines that the operation value matches the expected value. And performing authentication using the synchronization code.
前記同期コード生成手段は、前記制御コマンドの送信に伴って連続して出力される前記パケット情報と、前記制御コマンドの送信に伴って所定の間隔ごとに出力される前記パケット情報と、のいずれかを用いて前記同期コードを生成することを特徴とする請求項1に記載の電子機器。   The synchronization code generation means is any one of the packet information that is output continuously with transmission of the control command and the packet information that is output at predetermined intervals with transmission of the control command. The electronic device according to claim 1, wherein the synchronization code is generated by using a computer. 前記決定手段は、それぞれの前記演算値ごとに前記データ量を決定し、
前記演算値生成手段は、前記演算値ごとにそれぞれ決定された前記データ量分の前記データを用いて前記演算値を生成することを特徴とする請求項1または2に記載の電子機器。
The determining means determines the data amount for each of the calculation values,
The electronic apparatus according to claim 1, wherein the calculation value generation unit generates the calculation value using the data corresponding to the data amount determined for each calculation value.
前記送信手段は、前記演算値、前記同期コードおよび前記相対時間コードを前記制御コマンドに付加して前記周辺部に送信することを特徴とする請求項1〜3のいずれか一つに記載の電子機器。   4. The electronic device according to claim 1, wherein the transmission unit adds the calculated value, the synchronization code, and the relative time code to the control command and transmits the control command to the peripheral unit. 5. machine. 前記演算値、前記同期コードおよび前記相対時間コードのうち少なくともいずれか1つは、前記制御コマンドの少なくとも一部を用いて生成されることを特徴とする請求項4に記載の電子機器。   The electronic apparatus according to claim 4, wherein at least one of the calculated value, the synchronization code, and the relative time code is generated using at least a part of the control command. 前記主制御部は、前記演算値、前記同期コードおよび前記相対時間コードを所定の暗号化方法で暗号化する暗号化手段をさらに備え、前記送信手段は、前記暗号化手段によって暗号化された前記演算値、前記同期コードおよび前記相対時間コードを送信し、
前記周辺部は、前記暗号化された前記演算値、前記同期コードおよび前記相対時間コードを前記暗号化方法に対応する復号化方法で復号化する復号化手段をさらに備え、前記判断手段および前記動作認証手段は、前記復号化手段によって復号化された前記演算値、前記同期コードおよび前記相対時間コードを用いて前記判断および前記認証をおこなうことを特徴とする請求項1〜5のいずれか一つに記載の電子機器。
The main control unit further includes encryption means for encrypting the calculated value, the synchronization code, and the relative time code by a predetermined encryption method, and the transmission means is encrypted by the encryption means. Send the computed value, the synchronization code and the relative time code;
The peripheral section further comprises decryption means for decrypting the encrypted operation value, the synchronization code, and the relative time code with a decryption method corresponding to the encryption method, and the determination means and the operation The authentication unit performs the determination and the authentication using the operation value, the synchronization code, and the relative time code decoded by the decoding unit. The electronic device as described in.
前記暗号化手段は、前記分割数に応じて前記暗号化方法を変更し、
前記復号化手段は、前記判断手段によって前記演算結果と前記期待値とが一致した際に前記2項演算の対象となった前記演算値の数に基づいて前記復号化方法を変更することを特徴とする請求項6に記載の電子機器。
The encryption means changes the encryption method according to the number of divisions,
The decoding means changes the decoding method based on the number of the operation values subjected to the binary operation when the operation result matches the expected value by the determination means. The electronic device according to claim 6.
前記同期コード生成手段は、前記分割数を特定値で割った時の余りの数に基づいて前記パケット情報の種類を決定し、
前記動作認証手段は、前記演算値の数を特定値で割った時の余りの数に基づいて前記パケット情報の種類を特定することを特徴とする請求項1〜7のいずれか一つに記載の電子機器。
The synchronization code generation means determines the type of the packet information based on the number of remainders when the division number is divided by a specific value,
The operation authentication unit specifies the type of the packet information based on the number of remainders when the number of the calculated values is divided by the specific value. Electronic equipment.
前記同期コード生成手段は、前回の分割数と今回の分割数との差分に基づいて前記パケット情報の種類を決定し、
前記動作認証手段は、前回の認証時における前記演算値の数と今回の認証時における前記演算値の数との差分に基づいて、前記パケット情報の種類を特定することを特徴とする請求項1〜7のいずれか一つに記載の電子機器。
The synchronization code generation means determines the type of the packet information based on the difference between the previous division number and the current division number,
The operation authentication means identifies the type of the packet information based on a difference between the number of the calculated values at the previous authentication and the number of the calculated values at the current authentication. Electronic device as described in any one of -7.
前記データ記憶手段は、前記主制御部で用いられるプログラムデータを記憶することを特徴とする請求項1〜9のいずれか一つに記載の電子機器。   The electronic device according to claim 1, wherein the data storage unit stores program data used in the main control unit. 前記2項演算は、加算または排他的論理和演算であることを特徴とする請求項1〜10のいずれか一つに記載の電子機器。   The electronic apparatus according to claim 1, wherein the binary operation is addition or exclusive OR operation. 請求項1〜11のいずれか一つに記載の電子機器を備え、前記主制御部は主制御基板であり、前記周辺部は周辺基板であることを特徴とする遊技機。   A gaming machine comprising the electronic device according to claim 1, wherein the main control unit is a main control board, and the peripheral portion is a peripheral board. 電子機器に搭載され、周辺基板に所定の処理をおこなわせる制御コマンドを送信する主制御基板であって、
所定のデータを記憶するデータ記憶手段と、
前記主制御基板の動作検査値とともに送信される演算値の生成に用いる前記データの量(以下、「データ量」という)を決定する決定手段と、
前記データ記憶手段内の前記データを前記データ量に分割し、分割した前記データに対してそれぞれ結合法則を満たす2項演算をおこなって、分割した前記データの数(以下、「分割数」という)分の前記演算値を生成する演算値生成手段と、
前記主制御基板の前記動作検査値として、前記制御コマンドの送信に伴って出力されるパケット情報を含んだ同期コードを生成する同期コード生成手段と、
他の手段から独立してフリーランに計時をおこなう計時手段と、
指定されたタイミングで前記計時手段から取得した計時時間の情報を含んだ相対時間コードを生成する相対時間コード生成手段と、
前記分割数分の前記演算値、前記同期コードおよび前記相対時間コードを前記周辺基板に送信する送信手段と、を備え、
前記同期コード生成手段は、前記同期コードの生成に用いる前記パケット情報の種類を前記分割数に基づいて決定することを特徴とする主制御基板。
A main control board that is mounted on an electronic device and transmits a control command to perform a predetermined process on a peripheral board,
Data storage means for storing predetermined data;
Determining means for determining an amount of the data (hereinafter referred to as “data amount”) used to generate a calculation value transmitted together with an operation inspection value of the main control board;
Dividing the data in the data storage means into the amount of data, performing a binary operation satisfying a combining law on the divided data, respectively, and dividing the number of the data (hereinafter referred to as “number of divisions”) A calculated value generating means for generating the calculated value for minutes;
As the operation inspection value of the main control board, a synchronization code generating means for generating a synchronization code including packet information output with transmission of the control command;
A time measuring means for measuring the free run independently of other means;
A relative time code generating means for generating a relative time code including information on the time measured from the time measuring means at a specified timing;
Transmitting means for transmitting the calculated value for the number of divisions, the synchronization code, and the relative time code to the peripheral board,
The main control board, wherein the synchronization code generation means determines the type of the packet information used for generating the synchronization code based on the division number.
電子機器に搭載され、主制御基板によって送信された制御コマンドに基づいて所定の処理をおこなう周辺基板であって、
前記主制御基板によって送信された複数の演算値、相対時間コードおよび同期コードを受信する受信手段と、
前記複数の前記演算値に対して前記2項演算をおこなった演算結果と、当該演算結果の期待値とが一致するか否かを判断する判断手段と、
前記同期コードに含まれる前記パケット情報の差分を用いて前記主制御基板の動作順序を認証するとともに、前記相対時間コードを用いて前記主制御基板の動作順序を認証する動作認証手段と、
前記動作認証手段によって、前記同期コードを用いた認証および前記相対時間コードを用いた認証の双方が成立した場合に、前記主制御基板によって送信された制御コマンドを認証するコマンド認証手段と、を備え、
前記動作認証手段は、前記判断手段によって前記演算結果と前記期待値とが一致すると判断された際に前記2項演算の対象となった前記演算値の数に基づいて前記パケット情報の種類を特定して前記同期コードを用いた認証をおこなうことを特徴とする周辺基板。
A peripheral board that is mounted on an electronic device and performs a predetermined process based on a control command transmitted by the main control board,
Receiving means for receiving a plurality of operation values, a relative time code and a synchronization code transmitted by the main control board;
A determination means for determining whether or not an operation result obtained by performing the binary operation on the plurality of operation values matches an expected value of the operation result;
Authenticating the operation order of the main control board using the difference of the packet information included in the synchronization code, and authenticating the operation order of the main control board using the relative time code;
Command authentication means for authenticating a control command transmitted by the main control board when both the authentication using the synchronization code and the authentication using the relative time code are established by the operation authentication means. ,
The operation authentication means identifies the type of the packet information based on the number of the operation values subjected to the binary operation when the determination means determines that the operation result matches the expected value. Then, authentication using the synchronization code is performed.
主制御部と、前記主制御部によって送信された制御コマンドに基づいて所定の処理をおこなう周辺部と、を備える電子機器における認証方法であって、
前記主制御部において、
前記主制御部の動作検査値とともに送信される演算値の生成に用いる前記データの量(以下、「データ量」という)を決定する決定工程と、
前記主制御部に記憶されている所定のデータを前記データ量に分割し、分割した前記データに対してそれぞれ結合法則を満たす2項演算をおこなって、分割した前記データの数(以下、「分割数」という)分の前記演算値を生成する演算値生成工程と、
前記主制御部の前記動作検査値として、前記制御コマンドの送信に伴って出力されるパケット情報を含んだ同期コードを生成する同期コード生成工程と、
他の手段から独立してフリーランに計時をおこなう計時部から、所定のタイミングで計時時間情報を取得し、当該計時時間情報を含んだ相対時間コードを生成する相対時間コード生成工程と、
前記分割数分の前記演算値、前記同期コードおよび前記相対時間コードを前記周辺部に送信する送信工程と、を含み、
前記周辺部において、
前記分割数分の前記演算値、前記相対時間コードおよび前記同期コードを受信する受信工程と、
前記分割数分の前記演算値に対して前記2項演算をおこなった演算結果と、当該演算結果の期待値とが一致するか否かを判断する判断工程と、
前記同期コードに含まれる前記パケット情報の差分を用いて前記主制御部の動作順序を認証するとともに、前記相対時間コードを用いて前記主制御部の動作順序を認証する動作認証工程と、
前記動作認証工程において、前記同期コードを用いた認証および前記相対時間コードを用いた認証の双方が成立した場合に、前記主制御部によって送信された制御コマンドを認証するコマンド認証工程と、を含み、
前記同期コード生成工程では、前記同期コードの生成に用いる前記パケット情報の種類を前記分割数に基づいて決定し、
前記動作認証工程では、前記判断工程で前記演算値と前記期待値とが一致すると判断された際に前記2項演算の対象となった前記演算値の数に基づいて前記パケット情報の種類を特定して前記同期コードを用いた認証をおこなうことを特徴とする認証方法。
An authentication method in an electronic device comprising a main control unit and a peripheral unit that performs predetermined processing based on a control command transmitted by the main control unit,
In the main control unit,
A determination step of determining an amount of the data used to generate a calculation value transmitted together with an operation inspection value of the main control unit (hereinafter referred to as “data amount”);
The predetermined data stored in the main control unit is divided into the data amount, and a binary operation satisfying a coupling law is performed on each of the divided data, and the number of the divided data (hereinafter referred to as “divided”). A calculation value generation step for generating the calculation value for a number)
As the operation check value of the main control unit, a synchronization code generation step of generating a synchronization code including packet information output with transmission of the control command,
A relative time code generation step of acquiring time measurement time information at a predetermined timing and generating a relative time code including the time measurement time information from a time measurement unit that performs time measurement in free run independently of other means,
Transmitting the calculated value for the number of divisions, the synchronization code, and the relative time code to the peripheral part,
In the periphery,
A receiving step of receiving the calculated value for the number of divisions, the relative time code, and the synchronization code;
A determination step of determining whether a calculation result obtained by performing the two-term calculation on the calculation value for the number of divisions matches an expected value of the calculation result;
An operation authentication step of authenticating the operation order of the main control unit using the difference of the packet information included in the synchronization code, and authenticating the operation order of the main control unit using the relative time code;
A command authentication step for authenticating a control command transmitted by the main control unit when both the authentication using the synchronization code and the authentication using the relative time code are established in the operation authentication step. ,
In the synchronization code generation step, the type of the packet information used for generation of the synchronization code is determined based on the number of divisions,
In the operation authentication step, the type of the packet information is specified based on the number of the calculation values subjected to the binary calculation when the calculation value and the expected value are determined to match in the determination step. Then, authentication is performed using the synchronization code.
請求項15に記載の認証方法をコンピュータに実行させることを特徴とする認証プログラム。   An authentication program for causing a computer to execute the authentication method according to claim 15.
JP2009177085A 2009-07-29 2009-07-29 Electronic device, game machine, main control board, peripheral board, authentication method and authentication program Expired - Fee Related JP4876156B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009177085A JP4876156B2 (en) 2009-07-29 2009-07-29 Electronic device, game machine, main control board, peripheral board, authentication method and authentication program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009177085A JP4876156B2 (en) 2009-07-29 2009-07-29 Electronic device, game machine, main control board, peripheral board, authentication method and authentication program

Publications (2)

Publication Number Publication Date
JP2011030611A JP2011030611A (en) 2011-02-17
JP4876156B2 true JP4876156B2 (en) 2012-02-15

Family

ID=43760299

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009177085A Expired - Fee Related JP4876156B2 (en) 2009-07-29 2009-07-29 Electronic device, game machine, main control board, peripheral board, authentication method and authentication program

Country Status (1)

Country Link
JP (1) JP4876156B2 (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2821306B2 (en) * 1992-03-06 1998-11-05 三菱電機株式会社 Authentication method and system between IC card and terminal
JP4170466B2 (en) * 1998-09-18 2008-10-22 富士通株式会社 Command authentication method
JP2002095843A (en) * 2000-09-26 2002-04-02 Heiwa Corp Game control device
JP2002306786A (en) * 2001-04-10 2002-10-22 Maruhon Ind Co Ltd Control circuit for pachinko game machine
JP4357963B2 (en) * 2001-10-29 2009-11-04 シーゲイト テクノロジー エルエルシー System and method for protecting peripheral devices from hot-plug attacks
JP5067966B2 (en) * 2007-07-20 2012-11-07 株式会社ピーエーネット技術研究所 One-chip microcomputer for gaming machine and gaming machine
JP2009093436A (en) * 2007-10-09 2009-04-30 Kyoraku Sangyo Kk Electronic equipment, main control board, peripheral board, authentication method and authentication program

Also Published As

Publication number Publication date
JP2011030611A (en) 2011-02-17

Similar Documents

Publication Publication Date Title
JP5017308B2 (en) Electronic device, game machine, main control board, peripheral board, authentication method and authentication program
JP4995241B2 (en) Electronic device, game machine, main control board, peripheral board, authentication method and authentication program
JP4995240B2 (en) Electronic device, game machine, main control board, peripheral board, authentication method and authentication program
JP4876155B2 (en) Electronic device, game machine, main control board, peripheral board, authentication method and authentication program
JP4995225B2 (en) Electronic device, game machine, main control board, peripheral board, authentication method and authentication program
JP5149365B2 (en) Gaming machine and gaming machine authentication method
JP5228095B2 (en) Gaming machine and gaming machine authentication method
JP5100707B2 (en) Electronic device, game machine, main control board, peripheral board, authentication method and authentication program
JP4876156B2 (en) Electronic device, game machine, main control board, peripheral board, authentication method and authentication program
JP5228085B2 (en) Gaming machine and gaming machine authentication method
JP5228090B2 (en) Gaming machine and gaming machine authentication method
JP5149866B2 (en) Electronic device, game machine, main control board, peripheral board, authentication method and authentication program
JP4876154B2 (en) Electronic device, game machine, main control board, peripheral board, authentication method and authentication program
JP4955035B2 (en) Electronic device, game machine, main control board, peripheral board, authentication method and authentication program
JP5149867B2 (en) Electronic device, game machine, main control board, peripheral board, authentication method and authentication program
JP4995224B2 (en) Electronic device, game machine, main control board, peripheral board, authentication method and authentication program
JP4995233B2 (en) Electronic device, game machine, main control board, peripheral board, authentication method and authentication program
JP4955034B2 (en) Electronic device, game machine, main control board, peripheral board, authentication method and authentication program
JP4955033B2 (en) Electronic device, game machine, main control board, peripheral board, authentication method and authentication program
JP5149865B2 (en) Electronic device, game machine, peripheral board, authentication method and authentication program
JP4995232B2 (en) Electronic device, game machine, main control board, peripheral board, authentication method and authentication program
JP5226139B1 (en) Electronic device, gaming machine and electronic device authentication method
JP5242712B2 (en) Gaming machine and gaming machine authentication method
JP5303595B2 (en) Gaming machine and gaming machine authentication method
JP2013153838A (en) Electronic device, game machine, and method for authentication of electronic device

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111005

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: 20111101

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: 20111128

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

Free format text: PAYMENT UNTIL: 20141202

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 4876156

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20141202

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313117

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

Free format text: PAYMENT UNTIL: 20141202

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees