JP5377682B2 - Authentication method for gaming machines and electronic devices - Google Patents

Authentication method for gaming machines and electronic devices Download PDF

Info

Publication number
JP5377682B2
JP5377682B2 JP2012017584A JP2012017584A JP5377682B2 JP 5377682 B2 JP5377682 B2 JP 5377682B2 JP 2012017584 A JP2012017584 A JP 2012017584A JP 2012017584 A JP2012017584 A JP 2012017584A JP 5377682 B2 JP5377682 B2 JP 5377682B2
Authority
JP
Japan
Prior art keywords
check value
unit
control command
error check
control unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2012017584A
Other languages
Japanese (ja)
Other versions
JP2013154007A (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 JP2012017584A priority Critical patent/JP5377682B2/en
Publication of JP2013154007A publication Critical patent/JP2013154007A/en
Application granted granted Critical
Publication of JP5377682B2 publication Critical patent/JP5377682B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Pinball Game Machines (AREA)

Description

本発明は、パチンコ遊技機、雀球遊技機、アレンジボール等の弾球遊技機、スロットマシン等の回胴式遊技機などの遊技機に関する。更に、本発明は、複数の制御部を備える電子機器における各制御部間のデータ伝送の認証方法に関する。   The present invention relates to a gaming machine such as a pachinko gaming machine, a sparrow ball gaming machine, a ball ball gaming machine such as an arrangement ball, and a revolving gaming machine such as a slot machine. Furthermore, the present invention relates to an authentication method for data transmission between each control unit in an electronic apparatus including a plurality of control units.

遊技機に対し行われる、メダルや遊技球など(以下、「遊技媒体」という)を遊技内容とは無関係に強制的に払い出させる不正行為のうち、遊技進行に伴う基本動作を制御する主制御部が搭載された主制御基板と、主制御部からの制御命令情報(以下、「制御コマンド」という)に基づき演出処理等を実行する周辺制御部が搭載された周辺制御基板との間での不正行為に関するものとして、例えば以下に示すものがある。
(1)正規な主制御基板と不正な主制御基板との交換
(2)主制御基板に搭載されたCPUが実行する正規なプログラムが記憶されたROMと上記プログラムを改ざんした不正なプログラムが記憶されたROMとの交換
(3)主制御基板と周辺制御基板との間に不正な基板(なりすまし基板)を設置
Main control that controls basic actions associated with the progress of a game, among illegal acts that are performed on a gaming machine and forcibly pays out medals, game balls, etc. (hereinafter referred to as “game media”) regardless of the game content. Between the main control board on which the control unit is mounted and the peripheral control board on which the peripheral control unit that executes the rendering process based on control command information from the main control unit (hereinafter referred to as “control command”) is mounted. Examples of fraudulent acts include the following.
(1) Replacing an authorized main control board with an unauthorized main control board (2) A ROM storing a legitimate program executed by the CPU mounted on the main control board and an unauthorized program obtained by falsifying the above program are stored. (3) Installation of an illegal board (spoofing board) between the main control board and the peripheral control board

このような不正行為を防止するため、従来の遊技機には、次のようなものがあった。例えば、特許文献1に記載の遊技機では、主制御基板は、制御コマンドを生成してサブ制御基板に送信する第1送信手段と、第1送信手段が所定期間内に送信した制御コマンドのチェックサムを状態監視コマンドとして所定のタイミングで送信する第2送信手段とを備えている。また、サブ制御基板が、所定期間内に受信した制御コマンドのチェックサムと、所定のタイミングで受信した状態監視コマンドとを比較することで、所定期間内に送信された制御コマンドの正当性を検証している。すなわち、特許文献1に記載の遊技機は、制御コマンドの正当性を検証するための状態監視コマンドを所定のタイミングで送信することで、上記不正行為の防止を図っている。   In order to prevent such illegal acts, the conventional gaming machines include the following. For example, in the gaming machine described in Patent Document 1, the main control board generates a control command and transmits it to the sub-control board, and checks the control command transmitted by the first transmission means within a predetermined period. Second transmission means for transmitting the thumb as a state monitoring command at a predetermined timing. In addition, the sub-control board verifies the validity of the control command transmitted within the predetermined period by comparing the checksum of the control command received within the predetermined period with the state monitoring command received at the predetermined timing. doing. That is, the gaming machine described in Patent Document 1 attempts to prevent the illegal act by transmitting a state monitoring command for verifying the validity of the control command at a predetermined timing.

特開2002−18095号公報JP 2002-18095 A

しかしながら、特許文献1に記載の遊技機では、通常の制御コマンドとは異なるデータ形式あるいはデータ量を有する状態監視コマンドを、所定のタイミングで単独で送信している。更に、特許文献1に記載の遊技機では、所定期間内に送信した制御コマンドのチェックサムを状態監視コマンドとしている。このため、特許文献1に記載の遊技機では、不正行為を働こうとする者(以下、「不正者」という)が、状態監視コマンドの送信タイミングを容易に知り得て窃取し、窃取した状態監視コマンドと所定期間内の制御コマンドのチェックサムとを比較することで、状態監視コマンドの内容を容易に解析することができるという虞れがあった。   However, in the gaming machine described in Patent Document 1, a state monitoring command having a data format or data amount different from that of a normal control command is transmitted alone at a predetermined timing. Further, in the gaming machine described in Patent Document 1, a check sum of a control command transmitted within a predetermined period is used as a state monitoring command. For this reason, in the gaming machine described in Patent Document 1, a person who intends to engage in fraud (hereinafter referred to as “illegal person”) can easily know the transmission timing of the state monitoring command and steal and steal it. There is a possibility that the contents of the state monitoring command can be easily analyzed by comparing the monitoring command and the checksum of the control command within a predetermined period.

また、特許文献1に記載の遊技機では、セキュリティ機能の追加を実現するために、状態監視コマンドを送信するという通常の処理とは異なる処理をわざわざ追加しており、主制御基板の制御処理が複雑化している。そのため、特許文献1に記載の遊技機では、主制御基板のCPUが実行するプログラムのコードサイズが増大し、CPUの処理負荷が増大する。また、遊技機においては、公共性のある遊技ならではの規制により主制御基板のROMやRAMの容量が制限されており、遊技機メーカーには、限られたリソースを演出処理に係るプログラムにより多く割当てたいという要望がある。よって、遊技機にセキュリティ機能を追加することで、主制御基板のCPUの処理負荷やプログラムのコードサイズが増大する問題は看過できない。   In addition, in the gaming machine described in Patent Document 1, in order to realize the addition of the security function, a process different from the normal process of transmitting a state monitoring command is added. It is getting complicated. Therefore, in the gaming machine described in Patent Document 1, the code size of the program executed by the CPU of the main control board increases, and the processing load on the CPU increases. Also, in gaming machines, the ROM and RAM capacities of the main control board are limited due to regulations unique to public games, and more limited resources are allocated to game machine manufacturers for programs related to performance processing. There is a desire to want. Therefore, the problem that the processing load of the CPU of the main control board and the code size of the program increase by adding a security function to the gaming machine cannot be overlooked.

また、セキュリティ機能の追加をハードウェアで実現しようとする場合、CPUの処理負荷やコードサイズの増大は抑制できる。しかしながら、既存の主制御基板にハードウェアで新たに機能を追加する場合、当該ハードウェアに関連するCPUや周辺回路の構成も変更しなければならず、遊技機の開発コストや開発時間の増大を招き、遊技機メーカーにとって大きな負担となる。そのため、従来の技術では、実効性のあるセキュリティ機能を既存の遊技機に対し、比較的簡易に追加したいという遊技機メーカーの要望に応えることができない。   In addition, when adding the security function by hardware, it is possible to suppress an increase in CPU processing load and code size. However, when a new function is added to the existing main control board by hardware, the configuration of the CPU and peripheral circuits related to the hardware must be changed, which increases the development cost and development time of the gaming machine. Invited, it will be a big burden for game machine manufacturers. For this reason, the conventional technology cannot meet the demands of gaming machine manufacturers who want to add effective security functions to existing gaming machines relatively easily.

本発明は、上記事情に鑑みてなされたものであり、簡易な手段により上記不正行為を防止してセキュリティ強度を向上させると共に、処理負荷やコードサイズの増大を抑制しながら比較的簡易に追加することのできるセキュリティ機能を有する遊技機を提供することを目的とする。   The present invention has been made in view of the above circumstances, and prevents unauthorized acts by simple means to improve the security strength and add relatively easily while suppressing increase in processing load and code size. An object of the present invention is to provide a gaming machine having a security function.

上記課題を解決するために本発明は、制御コマンドを出力する主制御部と、前記制御コマンドに基づく処理を行う周辺制御部と、前記主制御部と前記周辺制御部との間に設けられた中間制御部と、を含む遊技機であって、前記主制御部は、記憶部に記憶された所定の制御プログラムに従って前記制御コマンドを生成し送出する演算処理部と、前記演算処理部によって送出された前記制御コマンドを前記中間制御部へ送信する送信部と、前記演算処理部と前記送信部とを接続するバスと、前記バスに接続されており、前記演算処理部によって送出された制御コマンドに付加され該制御コマンドの正当性を検査するための誤り検査値を生成し、生成した誤り検査値のビット列を変換する第1検査値生成部と、を備え、前記中間制御部は、前記第1検査値生成部によって生成された誤り検査値に対応する検証用の誤り検査値を生成し、生成した誤り検査値のビット列を前記主制御部との間で予め取り決められた変換方式で変換して出力する第2検査値生成部と、前記送信部によって送信された誤り検査値と前記第2検査値生成部によって出力された誤り検査値とを比較して前記送信部によって送信された制御コマンドの正当性の検査を行い、該検査の結果情報を出力する検査部と、前記送信部によって送信された制御コマンドを前記周辺制御部へ中継送信すると共に、前記結果情報を前記周辺制御部へ送信する中継送信部と、を備え、前記周辺制御部は、前記中継送信部によって中継送信された制御コマンドに基づく処理を行うと共に、前記中継送信部によって送信された前記結果情報に応じた処理を行う処理部を備え、前記第1検査値生成部は、前記演算処理部から前記送信部への制御コマンドが前記バスに送出されると、該送信部への制御コマンドを前記バスから取得し、該取得した制御コマンドを予め指定されたタイミングで出力するコマンド取得手段と、前記コマンド取得手段によって出力された制御コマンドを入力し、該入力した制御コマンドに付加する誤り検査値のビット列を変換する際に用いる前記変換方式を、規則的に変動する第1シフト量を用いて誤り検査値のビット列にローテート演算を施す第1変換方式と、不規則に変動する第2シフト量を用いて誤り検査値のビット列にローテート演算を施す第2変換方式と、のいずれにするかを、該入力した制御コマンドに基づいて決定し、該決定した変換方式を示す変換方式情報を、前記タイミングに応じて出力する方式決定手段と、前記コマンド取得手段によって出力された制御コマンドと前記方式決定手段によって出力された変換方式情報とを入力し、該入力した制御コマンドより過去に前記演算処理部によって送出された制御コマンドを用いて生成した誤り検査値のビット列を、該入力した変換方式情報が示す変換方式で変換して、該ビット列が変換された誤り検査値を、前記タイミングに応じて出力する検査値出力手段と、前記検査値出力手段によって出力された前記ビット列が変換された誤り検査値を入力し、該入力した前記ビット列が変換された誤り検査値を、前記制御プログラムに規定された前記演算処理部の読み出し指示に応じて、前記バスを介して前記演算処理部へ送出する検査値送出手段と、を有し、前記検査値出力手段は、前記入力した変換方式情報が前記第1変換方式を示す場合に、前記第1シフト量を再設定する再設定条件が成立したときには、前記第1シフト量を所定値に設定して、前記生成した誤り検査値のビット列を変換し、前記演算処理部は、前記送信部へ送出する前記制御コマンドに、前記検査値送出手段から取得した誤り検査値を付加して、前記バスを介して前記送信部へ送出し、前記第2変換方式は、前記ビット列を変換する前後で該ビット列における各ビットの組み合わせが同じとなり、前記第2検査値生成部は、前記第1検査値生成部が前記第2変換方式で前記ビット列を変換する際、前記誤り検査値のビット幅数だけ前記ローテート演算を行って前記検査部へ出力することを特徴とする。
In order to solve the above problems, the present invention is provided between a main control unit that outputs a control command, a peripheral control unit that performs processing based on the control command, and the main control unit and the peripheral control unit a game machine comprising an intermediate control unit, wherein the main control unit, an arithmetic processing unit that generates and sends the control command in accordance with a predetermined control program stored in the storage unit, is sent by the processing unit a transmission unit that transmits the control command to the intermediate control unit has a bus to be connected to the arithmetic processing unit and said transmitting unit, said being connected to the bus, control commands sent by the processing unit And a first check value generation unit that generates an error check value for checking the validity of the control command and converts a bit string of the generated error check value, and the intermediate control unit includes the first check value generation unit . 1 Generating an error check value for verifying that corresponds to the error check value generated by査値generator, the generated bit string of the error check value is converted by previously negotiated conversion method between the main control unit a second check value generator outputting, the control command transmitted by the transmission unit by comparing the error check value output by said second check value generating unit and the error check value transmitted by the transmission unit The inspection unit that performs validity inspection and outputs the result information of the inspection , and relays the control command transmitted by the transmission unit to the peripheral control unit, and transmits the result information to the peripheral control unit and a relay transmitting unit, the peripheral control unit, performs processing based on the control command relayed by the relay transmitting unit, the result information transmitted by the relay transmitting unit Comprising a processing unit that performs processing Flip was, the first check value generating unit, when the control command to the transmitting unit from the processing unit is sent to the bus, the bus control command to said transmitting section obtained from the command acquisition means to output in the pre-specified timing control command said acquired, inputs a control command outputted by the command acquisition unit, the error check value to be added to the control command the input the conversion method used in converting a bit string, a first conversion scheme employing a rotation operation on the bit string of the error check value using the first shift amount that varies regularly, the second shift amount varying irregularly The second conversion method for performing a rotation operation on the bit string of the error check value is determined based on the input control command and indicates the determined conversion method The conversion method information, enter the system determination means to output according to the timing, and a conversion method information output by the control command outputted by the command acquisition unit said method determination means, control command said input The bit string of the error check value generated using the control command sent by the arithmetic processing unit in the past is converted by the conversion method indicated by the input conversion method information, and the error check value converted from the bit string is converted into the error check value. the test value output means to output in response to said timing, enter the error check value outputted the bit string converted by the test value output means, the error check value in which the bit string is transformed that the input In response to a read instruction of the arithmetic processing unit defined in the control program, a test value is transmitted to the arithmetic processing unit via the bus. Has a stage, the said test value output unit, when conversion method information the input indicates the first transformation method, when the reset condition is satisfied for resetting said first shift amount, said first The shift amount is set to a predetermined value, the bit string of the generated error check value is converted, and the arithmetic processing unit sends the error check acquired from the check value sending means to the control command sent to the transmitting unit. A value is added and sent to the transmission unit via the bus, and the second conversion method has the same combination of bits in the bit string before and after converting the bit string, and the second test value generation unit Is characterized in that when the first check value generation unit converts the bit string by the second conversion method, the rotation operation is performed by the number of bit widths of the error check value and is output to the check unit .

本発明では、演算処理部は、制御コマンドを中間制御部へ送信する際に、演算処理部の周辺回路である第1検査値生成部から誤り検査値を読み出して当該制御コマンドに付加し、送信部へ送出する。よって、本発明では、主制御部にセキュリティ機能を追加するにあたり、制御プログラムに対して誤り検査値の読み出し指示及び書き込み指示を追加するだけでよく、セキュリティ機能の追加に伴って増大する演算処理部の処理負荷やコードサイズを最大限抑制することができる。更に、演算処理部が誤り検査値を制御コマンドへ付加するタイミングは、制御プログラムをカスタマイズするだけで任意に規定可能であり、柔軟性の高いセキュリティ機能を提供することができる。   In the present invention, when transmitting the control command to the intermediate control unit, the arithmetic processing unit reads the error check value from the first check value generation unit that is a peripheral circuit of the arithmetic processing unit, adds the error check value to the control command, and transmits the control command. Send to the department. Therefore, in the present invention, when adding a security function to the main control unit, it is only necessary to add an error check value read instruction and a write instruction to the control program, and the arithmetic processing unit increases with the addition of the security function. Processing load and code size can be minimized. Furthermore, the timing at which the arithmetic processing unit adds the error check value to the control command can be arbitrarily defined simply by customizing the control program, and a highly flexible security function can be provided.

しかも、第1検査値生成部は、過去の制御コマンドを用いて誤り検査値を生成すると共に、生成した誤り検査値のビット列を、第1変換方式と第2変換方式とのいずれかを用いて変換する。このため、本発明では、制御コマンドと誤り検査値の対応関係を一層解析困難とすることができ、セキュリティ強度を向上させることができる。その上、第1検査値生成部は、第1変換方式で用いられる第1シフト量を所定条件で再設定する。このため、本発明では、通信エラー等により第1シフト量の変動が主制御部側と中間制御部側とでズレることがあっても、当該ズレを適宜解消することができ、誤り検査処理の確度を向上させることができる。   Moreover, the first check value generation unit generates an error check value using a past control command, and uses the generated error check value bit string by using either the first conversion method or the second conversion method. Convert. For this reason, in the present invention, the correspondence relationship between the control command and the error check value can be made more difficult to analyze, and the security strength can be improved. In addition, the first inspection value generation unit resets the first shift amount used in the first conversion method under a predetermined condition. For this reason, in the present invention, even if the fluctuation of the first shift amount is shifted between the main control unit side and the intermediate control unit side due to a communication error or the like, the shift can be appropriately eliminated, and the error check processing can be performed. Accuracy can be improved.

また、本発明によれば、主制御部に対する認証機能は、通常の遊技進行に係る処理を行う周辺制御部とは別個独立した中間制御部が有する。よって、周辺制御部の処理部において、認証機能の追加によって増大する処理負荷やコードサイズを抑制することができる。そして、既存の遊技機に対し、比較的簡易にセキュリティ機能を追加することができる。   According to the present invention, the authentication function for the main control unit is included in the intermediate control unit that is independent from the peripheral control unit that performs processing related to normal game progression. Therefore, the processing load and code size that increase due to the addition of the authentication function can be suppressed in the processing unit of the peripheral control unit. And a security function can be added comparatively easily with respect to the existing game machine.

本発明の実施形態に係る遊技機の外観構成を示す正面図である。It is a front view which shows the external appearance structure of the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機のガラス枠を開放させた状態の外観構成を示す斜視図である。It is a perspective view which shows the external appearance structure of the state which open | released the glass frame of the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機の裏面側の外観構成を示す斜視図である。It is a perspective view which shows the external appearance structure of the back surface side of the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する主制御部の認証処理に関する構成を示すブロック図である。It is a block diagram which shows the structure regarding the authentication process of the main control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する主制御部を構成するメインCPUのメモリマップを説明するための概略図である。It is the schematic for demonstrating the memory map of the main CPU which comprises the main control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する主制御部を構成する検査値生成部の内部構成を示すブロック図である。It is a block diagram which shows the internal structure of the test value production | generation part which comprises the main control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する中間制御部の認証処理に関する構成を示すブロック図である。It is a block diagram which shows the structure regarding the authentication process of the intermediate | middle control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する主制御部から演出制御部へ送信される制御コマンドの種別を示す図である。It is a figure which shows the classification of the control command transmitted to the production | presentation control part from the main control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する主制御部によるメイン処理におけるフローチャートを示す図である。It is a figure which shows the flowchart in the main process by the main control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する主制御部による割込処理におけるフローチャートを示す図である。It is a figure which shows the flowchart in the interruption process by the main control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する主制御部による特図特電制御処理におけるフローチャートを示す図である。It is a figure which shows the flowchart in the special figure special electricity control process by the main control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する主制御部による特別図柄記憶判定処理におけるフローチャートを示す図である。It is a figure which shows the flowchart in the special symbol memory | storage determination process by the main control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する主制御部による起動時のブート処理におけるフローチャートを示す図である。It is a figure which shows the flowchart in the boot process at the time of starting by the main control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する主制御部によるコマンド送信処理1におけるフローチャートを示す図である。It is a figure which shows the flowchart in the command transmission process 1 by the main control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する主制御部によるコマンド送信処理2におけるフローチャートを示す図である。It is a figure which shows the flowchart in the command transmission process 2 by the main control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する主制御部によるコマンド送信処理3におけるフローチャートを示す図である。It is a figure which shows the flowchart in the command transmission process 3 by the main control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する中間制御部によるメイン処理におけるフローチャートを示す図である。It is a figure which shows the flowchart in the main process by the intermediate | middle control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する演出制御部によるメイン処理におけるフローチャートを示す図である。It is a figure which shows the flowchart in the main process by the production | presentation control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する演出制御部による割込処理におけるフローチャートを示す図である。It is a figure which shows the flowchart in the interruption process by the production | presentation control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する演出制御部によるコマンド解析処理1におけるフローチャートを示す図である。It is a figure which shows the flowchart in the command analysis process 1 by the presentation control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する演出制御部によるコマンド解析処理2におけるフローチャートを示す図である。It is a figure which shows the flowchart in the command analysis process 2 by the production | presentation control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する演出制御部による誤り検査処理におけるフローチャートを示す図である。It is a figure which shows the flowchart in the error check process by the presentation control part which comprises the game machine which concerns on embodiment of this invention. 本発明の実施形態に係る遊技機を構成する主制御部から送信される制御コマンドへの誤り検査値の付加手順の例を説明するための概略図である。It is the schematic for demonstrating the example of the addition procedure of the error check value to the control command transmitted from the main control part which comprises the game machine which concerns on embodiment of this invention.

本発明を実施するための形態について、図面を参照しながら説明する。具体的には、本発明の実施形態に係る遊技機の1つであるパチンコ遊技機1(以下、「遊技機1」という)について説明する。   Embodiments for carrying out the present invention will be described with reference to the drawings. Specifically, a pachinko gaming machine 1 (hereinafter referred to as “gaming machine 1”), which is one of the gaming machines according to the embodiment of the present invention, will be described.

[遊技機の構成]
これより、本発明の一実施形態に係る遊技機1の構成について説明する。
図1は、本実施形態に係る遊技機1の外観構成を示す正面図である。図2は、本実施形態に係る遊技機1のガラス枠を開放させた状態の外観構成を示す斜視図である。図3は、本実施形態に係る遊技機1の裏面側の外観構成を示す斜視図である。
[Composition of gaming machine]
Hereafter, the configuration of the gaming machine 1 according to one embodiment of the present invention will be described.
FIG. 1 is a front view showing an external configuration of the gaming machine 1 according to the present embodiment. FIG. 2 is a perspective view showing an external configuration of the gaming machine 1 according to the present embodiment in a state where the glass frame is opened. FIG. 3 is a perspective view showing an external configuration of the back side of the gaming machine 1 according to the present embodiment.

遊技機1は、遊技店の島設備に取り付けられる外枠60と、その外枠60と回動可能に支持されたガラス枠50とが備えられている(図1、図2参照)。また、外枠60には、遊技球200が流下する遊技領域6が形成された遊技盤2が設けられている。ガラス枠50には、回動操作されることにより遊技領域6に向けて遊技球を発射させる操作ハンドル3と、スピーカからなる音声出力装置32と、複数のランプを有する演出用照明装置34と、押圧操作により演出態様を変更させるための演出ボタン35とが設けられている。   The gaming machine 1 includes an outer frame 60 attached to an island facility of a game store, and a glass frame 50 that is rotatably supported by the outer frame 60 (see FIGS. 1 and 2). In addition, the outer frame 60 is provided with a game board 2 in which a game area 6 in which the game ball 200 flows down is formed. In the glass frame 50, an operation handle 3 for launching a game ball toward the game area 6 by being rotated, an audio output device 32 including a speaker, an effect lighting device 34 having a plurality of lamps, An effect button 35 for changing the effect mode by a pressing operation is provided.

更に、ガラス枠50には、複数の遊技球200を貯留する受け皿40が設けられており、この受け皿40は、操作ハンドル3の方向側に遊技球200が流下するように下りの傾斜を有している(図2参照)。この受け皿40の下りの傾斜の端部には、遊技球を受け入れる図示しない受入口が設けられており、この受入口に受け入れられた遊技球は、玉送りソレノイド4bが駆動することにより、ガラス枠50の裏面に設けられた玉送り開口部41へ1個ずつ送り出される。そして、玉送り開口部41へ送り出された遊技球は、打出部材4cの方向に向けて下り傾斜を有している発射レール42により、発射レール42の下り傾斜の端部に誘導される。発射レール42の下り傾斜の端部の上方には、遊技球を停留させるストッパー43が設けられており、玉送り開口部41から送り出された遊技球200は、発射レール42の下り傾斜の端部で1個の遊技球が停留されることになる(図2参照)。   Further, the glass frame 50 is provided with a tray 40 for storing a plurality of game balls 200, and the tray 40 has a downward slope so that the game balls 200 flow down toward the operation handle 3. (See FIG. 2). A receiving opening (not shown) for receiving a game ball is provided at the end of the downward slope of the tray 40, and the game ball received in the receiving opening is driven by the ball feed solenoid 4b, so that the glass frame One by one is sent to a ball feed opening 41 provided on the back surface of 50. Then, the game ball sent out to the ball feed opening 41 is guided to the end of the downward slope of the launch rail 42 by the launch rail 42 having a downward slope toward the launching member 4c. A stopper 43 for stopping the game ball is provided above the downwardly inclined end portion of the launch rail 42, and the game ball 200 sent out from the ball feed opening 41 is the downwardly inclined end portion of the launch rail 42. Thus, one game ball is stopped (see FIG. 2).

そして、遊技者が操作ハンドル3を回動させると、操作ハンドル3に直結している発射ボリューム3b(図4参照)も回動し、発射ボリューム3bにより遊技球の発射強度が調整され、調整された発射強度で発射用ソレノイド4a(図4参照)に直結された打出部材4cが回転する。この打出部材4cが回転することで、打出部材4cにより発射レール42の下り傾斜の端部に貯留されている遊技球200が打ち出され、遊技球が遊技領域6に発射されることとなる。   When the player rotates the operation handle 3, the launch volume 3b (see FIG. 4) directly connected to the operation handle 3 also rotates, and the launch volume of the game ball is adjusted and adjusted by the launch volume 3b. The launching member 4c directly connected to the firing solenoid 4a (see FIG. 4) rotates with the firing strength. By rotating the launch member 4 c, the game ball 200 stored at the end of the downward slope of the launch rail 42 is launched by the launch member 4 c, and the game ball is launched into the game area 6.

上記のようにして発射された遊技球は、発射レール42からレール5a、5b間を上昇して玉戻り防止片5cを超えると、遊技領域6に到達し、その後遊技領域6内を落下する。このとき、遊技領域6に設けられた複数の釘や風車によって、遊技球は予測不能に落下することとなる。   When the game ball fired as described above rises between the rails 5a and 5b from the launch rail 42 and exceeds the ball return prevention piece 5c, the game ball reaches the game area 6 and then falls in the game area 6. At this time, the game ball falls unpredictably by a plurality of nails and windmills provided in the game area 6.

また、上記遊技領域6には、複数の一般入賞口12が設けられている。これら各一般入賞口12には、一般入賞口検出スイッチ12a(図4参照)が設けられており、この一般入賞口検出スイッチ12aが遊技球の入賞を検出すると、所定の賞球(例えば10個の遊技球)が払い出される。   The game area 6 is provided with a plurality of general winning awards 12. Each of these general winning awards 12 is provided with a general winning opening detecting switch 12a (see FIG. 4). When this general winning opening detecting switch 12a detects the winning of a game ball, a predetermined winning ball (for example, 10) Game balls).

また、上記遊技領域6の中央下側の領域には、遊技球が入球可能な始動領域を構成する第1始動口14及び第2始動口15と、遊技球が入球可能な第2大入賞口17とが設けられている。   Further, in the area below the center of the game area 6, there are a first start port 14 and a second start port 15 that constitute a start area where a game ball can enter, and a second large area where a game ball can enter. A winning opening 17 is provided.

この第2始動口15は、一対の可動片15bを有しており、これら一対の可動片15bが閉状態に維持される態様(以下、「第1の態様」という)と、一対の可動片15bが開状態となる態様(以下、「第2の態様」という)とに可動制御される。なお、第2始動口15が上記第1の態様に制御されているときには、当該第2始動口15の真上に位置する第2大入賞口17の入賞部材が障害物となって、遊技球の受入れを不可能としている。一方で、第2始動口15が上記第2の態様に制御されているときには、上記一対の可動片15bが受け皿として機能し、第2始動口15への遊技球の入賞が容易となる。つまり、第2始動口15は、第1の態様にあるときには遊技球の入賞機会がなく、第2の態様にあるときには遊技球の入賞機会が増すこととなる。   The second starting port 15 has a pair of movable pieces 15b, a mode in which the pair of movable pieces 15b is maintained in a closed state (hereinafter referred to as “first mode”), and a pair of movable pieces. The movement control is performed so that 15b is in an open state (hereinafter referred to as “second aspect”). When the second starting port 15 is controlled in the first mode, the winning member of the second large winning port 17 located immediately above the second starting port 15 becomes an obstacle, and the game ball Is impossible to accept. On the other hand, when the second start port 15 is controlled to the second mode, the pair of movable pieces 15b function as a tray, and it is easy to win a game ball to the second start port 15. That is, when the second start port 15 is in the first mode, there is no game ball winning opportunity, and when it is in the second mode, the game ball winning opportunity is increased.

ここで、第1始動口14には遊技球の入球を検出する第1始動口検出スイッチ14a(図4参照)が設けられ、第2始動口15には遊技球の入球を検出する第2始動口検出スイッチ15a(図4参照)が設けられている。そして、第1始動口検出スイッチ14a又は第2始動口検出スイッチ15aが遊技球の入球を検出すると、特別図柄判定用乱数値等を取得し、後述する大当たり遊技を実行する権利獲得の抽選(以下、「大当たりの抽選」という)が行われる。また、第1始動口検出スイッチ14a又は第2始動口検出スイッチ15aが遊技球の入球を検出した場合にも、所定の賞球(例えば3個の遊技球)が払い出される。   Here, the first start port 14 is provided with a first start port detection switch 14a (see FIG. 4) for detecting the entrance of a game ball, and the second start port 15 is a first for detecting the entrance of a game ball. 2 A start port detection switch 15a (see FIG. 4) is provided. When the first start port detection switch 14a or the second start port detection switch 15a detects the entry of a game ball, a special symbol determination random number value is acquired and a right winning lottery game (to be described later) is executed ( Hereinafter, “Lottery for jackpot” is performed. In addition, when the first start port detection switch 14a or the second start port detection switch 15a detects the entry of a game ball, a predetermined prize ball (for example, three game balls) is paid out.

また、第2大入賞口17は、遊技盤2に形成された開口部から構成されている。この第2大入賞口17の下部には、遊技盤面側からガラス板52側に突出可能な第2大入賞口開閉扉17bを有しており、この第2大入賞口開閉扉17bが遊技盤面側に突出する開放状態と、遊技盤面に埋没する閉鎖状態とに可動制御される。そして、第2大入賞口開閉扉17bが遊技盤面に突出していると、遊技球を第2大入賞口17内に導く受け皿として機能し、遊技球が第2大入賞口17に入球可能となる。この第2大入賞口17には第2大入賞口検出スイッチ17a(図4参照)が設けられており、この第2大入賞口検出スイッチ17aが遊技球の入球を検出すると、予め設定された賞球(例えば15個の遊技球)が払い出される。   Further, the second grand prize winning port 17 is constituted by an opening formed in the game board 2. Below the second grand prize opening 17, there is a second big prize opening / closing door 17b that can protrude from the game board surface side to the glass plate 52 side. It is controlled to move between an open state protruding to the side and a closed state buried in the game board surface. When the second grand prize opening opening / closing door 17b protrudes from the game board surface, it functions as a tray for guiding the game ball into the second big prize opening 17, and the game ball can enter the second big prize opening 17. Become. The second big prize opening 17 is provided with a second big prize opening detection switch 17a (see FIG. 4). When the second big prize opening detection switch 17a detects the entry of a game ball, it is set in advance. Award balls (for example, 15 game balls) are paid out.

更に、上記遊技領域6の右側の領域には、遊技球が通過可能な普通領域を構成する普通図柄ゲート13と、遊技球が入球可能な第1大入賞口16とが設けられている。
このため、操作ハンドル3を大きく回動させ、強い力で打ち出された遊技球でないと、普通図柄ゲート13と第1大入賞口16とには遊技球が、通過又は入賞しないように構成されている。特に、後述する時短遊技状態に移行したとしても、遊技領域6の左側の領域に遊技球を流下させてしまうと、普通図柄ゲート13に遊技球が通過しないことから、第2始動口15にある一対の可動片15bが開状態とならず、第2始動口15に遊技球が入賞することが困難になるように構成されている。
Furthermore, in the area on the right side of the game area 6, there are provided a normal symbol gate 13 constituting a normal area through which game balls can pass and a first grand prize winning opening 16 through which game balls can enter.
For this reason, unless the operation handle 3 is rotated to a large extent and the game ball is launched with a strong force, the normal design gate 13 and the first big winning opening 16 are configured such that the game ball does not pass or win. Yes. In particular, even if the short game state, which will be described later, is entered, if the game ball flows down to the left side of the game area 6, the game ball will not normally pass through the symbol gate 13, so that it is at the second start port 15. The pair of movable pieces 15b are not opened, and it is difficult for a game ball to win the second starting port 15.

この普通図柄ゲート13には、遊技球の通過を検出するゲート検出スイッチ13a(図4参照)が設けられており、このゲート検出スイッチ13aが遊技球の通過を検出すると、普通図柄判定用乱数値を取得し、後述する「普通図柄の抽選」が行われる。   The normal symbol gate 13 is provided with a gate detection switch 13a (see FIG. 4) for detecting the passage of the game ball. When the gate detection switch 13a detects the passage of the game ball, the normal symbol determination random number value. Is acquired, and a “normal symbol lottery” to be described later is performed.

第1大入賞口16は、通常は第1大入賞口開閉扉16bによって閉状態に維持されており、遊技球の入球を不可能としている。これに対して、後述する特別遊技が開始されると、第1大入賞口開閉扉16bが開放されると共に、この第1大入賞口開閉扉16bが遊技球を第1大入賞口16内に導く受け皿として機能し、遊技球が第1大入賞口16に入球可能となる。第1大入賞口16には第1大入賞口検出スイッチ16a(図4参照)が設けられており、この第1大入賞口検出スイッチ16aが遊技球の入球を検出すると、予め設定された賞球(例えば15個の遊技球)が払い出される。   The first grand prize opening 16 is normally kept closed by the first big prize opening opening / closing door 16b, and it is impossible to enter a game ball. On the other hand, when a special game, which will be described later, is started, the first grand prize opening / closing door 16b is opened, and the first big prize opening / closing door 16b puts the game ball in the first grand prize opening 16. It functions as a receiving tray that guides the game ball and can enter the first grand prize opening 16. The first big prize opening 16 is provided with a first big prize opening detection switch 16a (see FIG. 4). When the first big prize opening detection switch 16a detects the entry of a game ball, it is set in advance. Prize balls (for example, 15 game balls) are paid out.

更には、遊技領域6の最下部であって遊技領域6の最下部の領域には、一般入賞口12、第1始動口14、第2始動口15、第1大入賞口16及び第2大入賞口17のいずれにも入球しなかった遊技球を排出するためのアウト口11が設けられている。   Further, in the lowermost area of the game area 6 and the lowermost area of the game area 6, the general winning opening 12, the first starting opening 14, the second starting opening 15, the first major winning opening 16, and the second large winning opening. An out port 11 is provided for discharging game balls that have not entered any of the winning ports 17.

また、遊技領域6の中央には、遊技球の流下に影響を与える飾り部材7が設けられている。この飾り部材7の略中央部分には、液晶表示装置31が設けられており、この液晶表示装置31の上方には、ベルトの形をした演出用駆動装置33が設けられている。
なお、本実施形態においては、液晶表示装置31を液晶表示器として用いているが、有機ELディスプレイを用いてもよいし、プロジェクター、円環状の構造物からなるリール、いわゆる7セグメントLED、ドットマトリクス等の表示装置等を用いてもよい。
In addition, a decoration member 7 that affects the flow of the game ball is provided in the center of the game area 6. A liquid crystal display device 31 is provided at a substantially central portion of the decorative member 7, and an effect driving device 33 in the form of a belt is provided above the liquid crystal display device 31.
In this embodiment, the liquid crystal display device 31 is used as a liquid crystal display. However, an organic EL display may be used, a projector, a reel made of an annular structure, a so-called 7-segment LED, a dot matrix. A display device or the like may be used.

この液晶表示装置31は、遊技が行われていない待機中に画像を表示したり、遊技の進行に応じた画像を表示したりする。なかでも、後述する大当たりの抽選結果を報知するための3個の演出図柄36が表示され、特定の演出図柄36の組合せ(例えば、777等)が停止表示されることにより、大当たりの抽選結果として大当たりが報知される。
より具体的には、第1始動口14又は第2始動口15に遊技球が入球したときには、3個の演出図柄36をそれぞれスクロール表示すると共に、所定時間経過後に当該スクロールを停止させて、演出図柄36を停止表示するものである。また、この演出図柄36の変動表示中に、さまざまな画像やキャラクタ等を表示することによって、大当たりに当選するかもしれないという高い期待感を遊技者に与えるようにもしている。
The liquid crystal display device 31 displays an image during standby when no game is being performed, or displays an image according to the progress of the game. Among them, three effect symbols 36 for informing the jackpot lottery result, which will be described later, are displayed, and a combination of specific effect symbols 36 (for example, 777) is stopped and displayed as a jackpot lottery result. A jackpot is announced.
More specifically, when a game ball enters the first starting port 14 or the second starting port 15, the three effect symbols 36 are scroll-displayed, and the scrolling is stopped after a predetermined time, The effect design 36 is stopped and displayed. Further, by displaying various images, characters, and the like during the variation display of the effect symbol 36, a high expectation that the player may win a big hit is given to the player.

上記演出用駆動装置33は、その動作態様によって遊技者に期待感を与えるものである。演出用駆動装置33は、例えば、ベルトが下方に移動したり、ベルト中央部の回転部材が回転したりする動作を行う。これら演出用駆動装置33の動作態様によって、遊技者にさまざまな期待感を与えるようにしている。   The effect driving device 33 gives a player a sense of expectation according to the operation mode. The effect driving device 33 performs, for example, an operation in which the belt moves downward or a rotating member at the center of the belt rotates. Various operational feelings are given to the player depending on the operation mode of the effect driving device 33.

更に、上記の各種の演出装置に加えて、音声出力装置32は、バックグラウンドミュージック、サウンドエフェクト等を出力し、サウンドによる演出を行い、演出用照明装置34は、各ランプの光の照射方向や発光色を変更して、照明による演出を行うようにしている。   Furthermore, in addition to the above-described various production devices, the audio output device 32 outputs background music, sound effects, and the like, and produces productions using sound. The production lighting device 34 includes the illumination direction of each lamp, The luminescent color is changed to produce lighting.

また、演出ボタン35は、例えば、上記液晶表示装置31に当該演出ボタン35を操作するようなメッセージが表示されたときのみ有効となる。演出ボタン35には、演出ボタン検出スイッチ35a(図4参照)が設けられており、この演出ボタン検出スイッチ35aが遊技者の操作を検出すると、この操作に応じてさらなる演出が実行される。   The effect button 35 is effective only when, for example, a message for operating the effect button 35 is displayed on the liquid crystal display device 31. The effect button 35 is provided with an effect button detection switch 35a (see FIG. 4). When the effect button detection switch 35a detects the player's operation, a further effect is executed in accordance with this operation.

遊技領域6の右下方には、第1特別図柄表示装置20、第2特別図柄表示装置21、普通図柄表示装置22、第1特別図柄保留表示器23、第2特別図柄保留表示器24、普通図柄保留表示器25が設けられている。   In the lower right of the game area 6, a first special symbol display device 20, a second special symbol display device 21, a normal symbol display device 22, a first special symbol hold indicator 23, a second special symbol hold indicator 24, a normal A symbol hold indicator 25 is provided.

上記第1特別図柄表示装置20は、第1始動口14に遊技球が入球したことを契機として行われた大当たりの抽選結果を報知するものであり、7セグメントのLEDで構成されている。つまり、大当たりの抽選結果に対応する特別図柄が複数設けられており、この第1特別図柄表示装置20に大当たりの抽選結果に対応する特別図柄を表示することによって、抽選結果を遊技者に報知するようにしている。例えば、大当たりに当選した場合には「7」が表示され、ハズレであった場合には「−」が表示される。このようにして表示される「7」や「−」が特別図柄となるが、この特別図柄はすぐに表示されるわけではなく、所定時間変動表示された後に、停止表示されるようにしている。   The first special symbol display device 20 is for notifying a lottery result obtained when a game ball enters the first start port 14, and is composed of 7-segment LEDs. That is, a plurality of special symbols corresponding to the jackpot lottery result are provided, and the lottery result is notified to the player by displaying the special symbol corresponding to the jackpot lottery result on the first special symbol display device 20. I am doing so. For example, “7” is displayed when the jackpot is won, and “−” is displayed when the player wins. “7” and “−” displayed in this way are special symbols, but these special symbols are not displayed immediately, but are displayed in a stopped state after being displayed for a predetermined time. .

ここで、「大当たりの抽選」とは、第1始動口14又は第2始動口15に遊技球が入球したときに、特別図柄判定用乱数値を取得し、取得した特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定する処理をいう。この大当たりの抽選結果は即座に遊技者に報知されるわけではなく、第1特別図柄表示装置20において特別図柄が点滅等の変動表示を行い、所定の変動時間を経過したところで、大当たりの抽選結果に対応する特別図柄が停止表示して、遊技者に抽選結果が報知されるようにしている。なお、第2特別図柄表示装置21は、第2始動口15に遊技球が入球したことを契機として行われた大当たりの抽選結果を報知するためのもので、その表示態様は、上記第1特別図柄表示装置20における特別図柄の表示態様と同一である。   Here, the “successful lottery” means that when a game ball enters the first start port 14 or the second start port 15, a special symbol determination random value is acquired, and the acquired special symbol determination random value is acquired. Is a random number value corresponding to “big hit” or a random number value corresponding to “small hit”. The jackpot lottery result is not immediately notified to the player, and the first special symbol display device 20 displays a variation such as blinking of the special symbol, and when the predetermined variation time has passed, the jackpot lottery result The special symbol corresponding to is stopped and displayed so that the player is notified of the lottery result. The second special symbol display device 21 is for notifying a lottery result of a jackpot that is performed when a game ball enters the second start port 15, and the display mode is the above-described first display mode. This is the same as the special symbol display mode in the special symbol display device 20.

また、本実施形態において「大当たり」というのは、第1始動口14又は第2始動口15に遊技球が入球したことを条件として行われる大当たりの抽選において、大当たり遊技を実行する権利を獲得したことをいう。「大当たり遊技」においては、第1大入賞口16又は第2大入賞口17が開放されるラウンド遊技を計15回行う。各ラウンド遊技における第1大入賞口16又は第2大入賞口17の最大開放時間については予め定められた時間が設定されており、この間に第1大入賞口16又は第2大入賞口17に所定個数の遊技球(例えば9個)が入球すると、1回のラウンド遊技が終了となる。つまり、「大当たり遊技」は、第1大入賞口16又は第2大入賞口17に遊技球が入球すると共に、当該入球に応じた賞球を遊技者が獲得できる遊技である。   Further, in this embodiment, “big hit” means that a right to win a big hit game is obtained in the big hit lottery performed on the condition that a game ball has entered the first start port 14 or the second start port 15 Say what you did. In the “big hit game”, a round game in which the first big prize opening 16 or the second big prize opening 17 is opened is performed a total of 15 times. A predetermined time is set for the maximum opening time of the first grand prize winning opening 16 or the second big winning prize opening 17 in each round game, and during this time, the first big winning prize opening 16 or the second big winning prize opening 17 is set. When a predetermined number of game balls (for example, nine) enter, one round game is completed. In other words, the “big hit game” is a game in which a game ball can enter the first grand prize winning opening 16 or the second big winning prize opening 17 and the player can acquire a prize ball according to the winning prize.

本実施形態では、「大当たりの抽選」においては、その当選確率により2つの遊技状態が設定されている。すなわち、当選確率が1/299.5に設定された「低確率遊技状態」と、当選確率が1/29.95に設定された「高確率遊技状態」である。また、「大当たり遊技」においても、複数種類の大当たり遊技が設定されている。例えば、「長当たり遊技」となれば、第1大入賞口16が、1ラウンド遊技毎に、29.000秒間×1回開放(×15ラウンド)される。「短当たり遊技」となれば、第2大入賞口17が、1ラウンド遊技毎に、0.052秒間×1回(×15ラウンド)開放される。「発展当たり遊技」となれば、第2大入賞口17が、最初の1ラウンド遊技では0.052秒間×3回開放され、2ラウンド目以降は、1ラウンド遊技毎に29.000秒間×1回(×14ラウンド)開放される。
また、「小当たり」の場合は、当選確率が1/149.75の1つの遊技状態が設定されている。また、「小当たり遊技」となれば、ラウンド遊技ではないものの、第2大入賞口17が0.052秒間×15回開放される。なお、本実施形態では、「大当たり遊技」と「小当たり遊技」とを総称して「特別遊技」という。
In this embodiment, in the “hit lottery”, two gaming states are set according to the winning probability. That is, the “low probability gaming state” in which the winning probability is set to 1 / 299.5 and the “high probability gaming state” in which the winning probability is set to 1 / 29.95. Also, in the “jackpot game”, a plurality of types of jackpot games are set. For example, in the case of “game per long”, the first big prize opening 16 is released once (× 15 rounds) for 29.000 seconds for each round game. If it is “short win game”, the second big prize opening 17 is opened for 0.052 seconds × 1 time (× 15 rounds) for each round of game. In the case of “game per development”, the second grand prize opening 17 is opened for 0.052 seconds × 3 times in the first round game, and 29.000 seconds × 1 for each round game after the second round. Times (× 14 rounds).
In the case of “small hit”, one gaming state with a winning probability of 1 / 149.75 is set. In addition, if it is a “small hit game”, although it is not a round game, the second big prize opening 17 is opened for 0.052 seconds × 15 times. In the present embodiment, “big hit game” and “small hit game” are collectively referred to as “special game”.

また、普通図柄表示装置22は、普通図柄ゲート13を遊技球が通過したことを契機として行われる普通図柄の抽選結果を報知するためのものである。詳しくは後述するが、この普通図柄の抽選によって当たりに当選すると普通図柄表示装置22が点灯し、その後、上記第2始動口15が所定時間、第2の態様に制御される。   The normal symbol display device 22 is for notifying the lottery result of the normal symbol that is performed when the game ball passes through the normal symbol gate 13. As will be described in detail later, when the winning symbol is won by the normal symbol lottery, the normal symbol display device 22 is turned on, and then the second start port 15 is controlled to the second mode for a predetermined time.

ここで、「普通図柄の抽選」とは、普通図柄ゲート13に遊技球が通過したときに、普通図柄判定用乱数値を取得し、取得した普通図柄判定用乱数値が「当たり」に対応する乱数値であるかどうかを判定する処理をいう。この普通図柄の抽選結果についても、普通図柄ゲート13を遊技球が通過して即座に抽選結果が報知されるわけではなく、普通図柄表示装置22において普通図柄が点滅等の変動表示を行い、所定の変動時間を経過したところで、普通図柄の抽選結果に対応する普通図柄が停止表示して、遊技者に抽選結果が報知されるようにしている。   Here, “normal symbol lottery” means that when a game ball passes through the normal symbol gate 13, the normal symbol determination random number value is acquired, and the acquired normal symbol determination random value corresponds to “winning”. A process for determining whether or not the value is a random value. The lottery result of the normal symbol is not always notified immediately after the game ball passes through the normal symbol gate 13, but the normal symbol display device 22 displays a variation such as blinking of the normal symbol. When the fluctuation time elapses, the normal symbol corresponding to the lottery result of the normal symbol is stopped and displayed so that the player is notified of the lottery result.

更に、特別図柄の変動表示中や後述する特別遊技中等、第1始動口14又は第2始動口15に遊技球が入球して、即座に大当たりの抽選が行えない場合には、一定の条件のもとで、大当たりの抽選の権利が保留される。より詳細には、第1始動口14に遊技球が入球したときに取得された特別図柄判定用乱数値を第1保留として記憶し、第2始動口15に遊技球が入球したときに取得された特別図柄判定用乱数値を第2保留として記憶する。
これら両保留は、それぞれ上限保留個数を4個に設定し、その保留個数は、それぞれ第1特別図柄保留表示器23と第2特別図柄保留表示器24とに表示される。なお、第1保留が1つの場合には、第1特別図柄保留表示器23の左側のLEDが点灯し、第1保留が2つの場合には、第1特別図柄保留表示器23の2つのLEDが点灯する。また、第1保留が3つの場合には、第1特別図柄保留表示器23の左側のLEDが点滅すると共に右側のLEDが点灯し、第1保留が4つの場合には、第1特別図柄保留表示器23の2つのLEDが点滅する。また、第2特別図柄保留表示器24においても、上記と同様に第2保留の保留個数が表示される。
そして、普通図柄の上限保留個数も4個に設定されており、その保留個数が、上記第1特別図柄保留表示器23及び第2特別図柄保留表示器24と同様の態様によって、普通図柄保留表示器25において表示される。
Furthermore, if a game ball enters the first start port 14 or the second start port 15 during special symbol fluctuation display or special game described later, and if the big hit lottery cannot be performed immediately, a certain condition The right to win a jackpot will be withheld. More specifically, the random number value for special symbol determination acquired when the game ball enters the first start port 14 is stored as the first hold, and when the game ball enters the second start port 15 The acquired special symbol determination random number value is stored as the second hold.
For both of these holds, the upper limit hold number is set to 4, and the hold number is displayed on the first special symbol hold indicator 23 and the second special symbol hold indicator 24, respectively. When there is one first hold, the LED on the left side of the first special symbol hold indicator 23 lights up, and when there are two first holds, two LEDs on the first special symbol hold indicator 23 Lights up. In addition, when there are three first holds, the LED on the left side of the first special symbol hold indicator 23 blinks and the right LED lights. When there are four first holds, the first special symbol hold Two LEDs on the display 23 blink. The second special symbol hold indicator 24 also displays the number of second hold on hold in the same manner as described above.
The upper limit reserved number of normal symbols is also set to four, and the reserved number of normal symbols is displayed in the same manner as the first special symbol hold indicator 23 and the second special symbol hold indicator 24. Displayed on the instrument 25.

ガラス枠50は、遊技盤2の前方(遊技者側)において遊技領域6を視認可能に覆うガラス板52を支持している。なお、ガラス板52は、ガラス枠50に対して着脱可能に固定されている。   The glass frame 50 supports a glass plate 52 that covers the game area 6 so as to be visible in front of the game board 2 (player side). The glass plate 52 is detachably fixed to the glass frame 50.

また、ガラス枠50は、左右方向の一端側(たとえば遊技機1に正対して左側)においてヒンジ機構部51を介して外枠60に連結されており、ヒンジ機構部51を支点として左右方向の他端側(たとえば遊技機1に正対して右側)を外枠60から開放させる方向に回動可能とされている。ガラス枠50は、ガラス板52と共に遊技盤2を覆い、ヒンジ機構部51を支点として扉のように回動することによって、遊技盤2を含む外枠60の内側部分を開放することができる。ガラス枠50の他端側には、ガラス枠50の他端側を外枠60に固定するロック機構が設けられている。ロック機構による固定は、専用の鍵によって解除することが可能とされている。また、ガラス枠50には、ガラス枠50が外枠60から開放されているか否かを検出する扉開放スイッチ133(図4参照)も設けられている。   The glass frame 50 is connected to the outer frame 60 via a hinge mechanism 51 on one end side in the left-right direction (for example, the left side facing the gaming machine 1), and the left-right direction with the hinge mechanism 51 as a fulcrum. The other end side (for example, the right side facing the gaming machine 1) can be rotated in a direction to release from the outer frame 60. The glass frame 50 covers the game board 2 together with the glass plate 52 and rotates like a door with the hinge mechanism 51 as a fulcrum, thereby opening the inner part of the outer frame 60 including the game board 2. On the other end side of the glass frame 50, a lock mechanism for fixing the other end side of the glass frame 50 to the outer frame 60 is provided. The fixing by the lock mechanism can be released by a dedicated key. The glass frame 50 is also provided with a door opening switch 133 (see FIG. 4) for detecting whether or not the glass frame 50 is opened from the outer frame 60.

遊技機1の裏面には、主制御部110が搭載された主制御基板、中間制御部180が搭載された中間制御基板、演出制御部120が搭載された演出制御基板、払出制御部130が搭載された払出制御基板、電源部170が搭載された電源基板、遊技情報出力端子板30などが設けられている。また、電源部170に遊技機1に電力を給電するための電源プラグ171や、図示しない電源スイッチが設けられている。   On the back side of the gaming machine 1, a main control board on which the main control unit 110 is mounted, an intermediate control board on which the intermediate control unit 180 is mounted, an effect control board on which the effect control unit 120 is mounted, and a payout control unit 130 are mounted. The payout control board, the power supply board on which the power supply unit 170 is mounted, the game information output terminal board 30 and the like are provided. Further, the power supply unit 170 is provided with a power plug 171 for supplying power to the gaming machine 1 and a power switch (not shown).

[遊技機の内部構成]
これより、本発明の実施形態に係る遊技機1の遊技進行に係る処理を制御する制御手段について説明する。
図4は、本実施形態に係る遊技機1の内部構成を示すブロック図である。
[Internal configuration of gaming machine]
Hereafter, the control means which controls the process which concerns on the game progress of the game machine 1 which concerns on embodiment of this invention is demonstrated.
FIG. 4 is a block diagram showing an internal configuration of the gaming machine 1 according to the present embodiment.

主制御部110は、遊技の基本動作を制御する主制御手段であり、第1始動口検出スイッチ14a等の各種検出信号を入力して、第1特別図柄表示装置20や第1大入賞口開閉ソレノイド16c等を駆動させて遊技を制御するものである。   The main control unit 110 is a main control means for controlling the basic operation of the game, and receives various detection signals from the first start port detection switch 14a, etc., and opens and closes the first special symbol display device 20 and the first grand prize opening. The game is controlled by driving the solenoid 16c and the like.

この主制御部110は、メインCPU110a、メインROM110b、メインRAM110c、ブートROM110d、検査値生成部500、及び送信部550から少なくとも構成されるワンチップマイコン110mと、主制御用の入力ポートと出力ポート(図示せず)とを少なくとも備えている。   The main control unit 110 includes a main CPU 110a, a main ROM 110b, a main RAM 110c, a boot ROM 110d, a test value generation unit 500, and a transmission unit 550. The one-chip microcomputer 110m includes a main control input port and an output port ( (Not shown).

この主制御用の入力ポートには、払出制御部130、一般入賞口12に遊技球が入球したことを検知する一般入賞口検出スイッチ12a、普通図柄ゲート13に遊技球が入球したことを検知するゲート検出スイッチ13a、第1始動口14に遊技球が入球したことを検知する第1始動口検出スイッチ14a、第2始動口15に遊技球が入球したことを検知する第2始動口検出スイッチ15a、第1大入賞口16に遊技球が入球したことを検知する第1大入賞口検出スイッチ16a、第2大入賞口17に遊技球が入球したことを検知する第2大入賞口検出スイッチ17aが接続されている。この主制御用の入力ポートによって、各種信号が主制御部110に入力される。   The main control input port includes a payout control unit 130, a general winning port detecting switch 12a for detecting that a gaming ball has entered the general winning port 12, and a game ball having been inserted into the normal symbol gate 13. Gate detection switch 13a to detect, first start port detection switch 14a to detect that a game ball has entered the first start port 14, and second start to detect that a game ball has entered the second start port 15 The mouth detection switch 15a, the first grand prize opening detection switch 16a that detects that a game ball has entered the first grand prize opening 16, and the second that detects that a game ball has entered the second grand prize opening 17 A big prize opening detection switch 17a is connected. Various signals are input to the main control unit 110 through the input port for main control.

また、主制御用の出力ポートには、払出制御部130、第2始動口15の一対の可動片15bを開閉動作させる始動口開閉ソレノイド15c、第1大入賞口開閉扉16bを動作させる第1大入賞口開閉ソレノイド16c、第2大入賞口開閉扉17bを動作させる第2大入賞口開閉ソレノイド17c、特別図柄を表示する第1特別図柄表示装置20と第2特別図柄表示装置21、普通図柄を表示する普通図柄表示装置22、特別図柄の保留球数を表示する第1特別図柄保留表示器23と第2特別図柄保留表示器24、普通図柄の保留球数を表示する普通図柄保留表示器25、外部情報信号を出力する遊技情報出力端子板30が接続されている。この主制御用の出力ポートによって、各種信号が出力される。   The main control output port includes a payout control unit 130, a start opening / closing solenoid 15c for opening / closing the pair of movable pieces 15b of the second start opening 15, and a first large winning opening opening / closing door 16b. A special winning opening / closing solenoid 16c, a second large winning opening / closing solenoid 17c for operating the second winning opening / closing door 17b, a first special symbol display device 20 and a second special symbol display device 21 for displaying special symbols, and a normal symbol. A normal symbol display device 22 for displaying a symbol, a first special symbol hold indicator 23 and a second special symbol hold indicator 24 for displaying the number of reserved balls for a special symbol, and a normal symbol hold indicator for displaying the number of reserved balls for a normal symbol 25. A game information output terminal board 30 for outputting an external information signal is connected. Various signals are output from the main control output port.

主制御部110のメインCPU110aは、各検出スイッチや内部機能として組み込まれている図示しないタイマ等からの入力信号に基づいて、メインROM110bに記憶されたプログラムを読み出して演算処理を行うと共に、演算処理の結果に応じて、主制御部110を構成する各構成部に対する制御指示(以下、「制御信号」という)や主制御部110以外の他の制御部に対する制御コマンドを出力したりする。   The main CPU 110a of the main control unit 110 reads out a program stored in the main ROM 110b based on an input signal from each detection switch or a timer (not shown) incorporated as an internal function, and performs arithmetic processing. Depending on the result, a control instruction (hereinafter referred to as “control signal”) for each component constituting the main control unit 110 and a control command for another control unit other than the main control unit 110 are output.

主制御部110のメインROM110bには、遊技進行に係る処理の内容や手順を記述した遊技処理用プログラムや、各種の遊技の決定に必要な固定データ、テーブルが予め記憶されている。
メインROM110bに記憶されたテーブルとして一例を挙げれば、大当たり抽選に参照される大当たり判定テーブル、普通図柄の抽選に参照される当たり判定テーブル、特別図柄の停止図柄を決定する図柄決定テーブル、大当たり終了後の遊技状態を決定するための大当たり遊技終了時設定データテーブル、大入賞口開閉扉の開閉条件を決定する特別電動役物作動態様決定テーブル、大入賞口開放態様テーブル、特別図柄の変動パターンを決定する変動パターン決定テーブルなどがある。
The main ROM 110b of the main control unit 110 stores in advance a game processing program that describes the content and procedure of processing related to game progress, and fixed data and tables necessary for determining various games.
As an example of a table stored in the main ROM 110b, a jackpot determination table referred to in the jackpot lottery, a hit determination table referred to in the normal symbol lottery, a symbol determination table for determining the stop symbol of the special symbol, after the jackpot ends End of jackpot game setting data table for determining the gaming state of the game, special electric accessory operating mode determination table for determining the opening / closing conditions of the special winning opening opening door, determining the opening pattern table of the special winning opening, and the variation pattern of the special symbol There is a variation pattern determination table.

また、メインROM110bには、後述するように、セキュリティ機能の追加を実現するためメインCPU110aが実行する処理の内容や手順を記述した認証処理用プログラムや、認証処理用プログラムを実行する際に使用される固定データ等が予め記憶されている。   Further, as will be described later, the main ROM 110b is used when executing an authentication processing program that describes the contents and procedure of processing executed by the main CPU 110a in order to realize addition of a security function, and an authentication processing program. Fixed data and the like are stored in advance.

主制御部110のブートROM110dには、後述するように、メインCPU110aが実行するブート処理の内容や手順を記述したブート処理用プログラムや、ブート処理用プログラムの実行の際に使用される固定データ等が予め記憶されている。このブート処理用プログラムは、メインCPU110aの起動直後に立ち上るように設定されている。   In the boot ROM 110d of the main control unit 110, as will be described later, a boot processing program describing the content and procedure of boot processing executed by the main CPU 110a, fixed data used when executing the boot processing program, and the like Is stored in advance. This boot processing program is set to start immediately after the main CPU 110a is activated.

主制御部110のメインRAM110cは、メインCPU110aの演算処理時におけるデータのワークエリアとして機能し、複数の記憶領域を有している。
メインRAM110cが有する記憶領域として一例を挙げれば、普通図柄保留数(G)記憶領域、普通図柄保留記憶領域、普通図柄データ記憶領域、第1特別図柄保留数(U1)記憶領域、第2特別図柄保留数(U2)記憶領域、第1特別図柄乱数値記憶領域、第2特別図柄乱数値記憶領域、ラウンド遊技回数(R)記憶領域、開放回数(K)記憶領域、大入賞口入球数(C)記憶領域、遊技状態記憶領域(高確率遊技フラグ記憶領域等と時短遊技フラグ記憶領域)、高確率遊技回数(X)カウンタ、時短回数(J)カウンタ、遊技状態バッファ、停止図柄データ記憶領域、送信データ用記憶領域、特別図柄時間カウンタ、特別遊技タイマカウンタなど各種のタイマカウンタなどがある。
The main RAM 110c of the main control unit 110 functions as a data work area when the main CPU 110a performs arithmetic processing, and has a plurality of storage areas.
As an example of the storage area that the main RAM 110c has, a normal symbol holding number (G) storage area, a normal symbol holding storage area, a normal symbol data storage area, a first special symbol holding number (U1) storage area, a second special symbol Reservation count (U2) storage area, first special symbol random value storage area, second special symbol random value storage area, round game number (R) storage area, number of open times (K) storage area, number of big winning entrances ( C) Storage area, game state storage area (high probability game flag storage area, etc. and short time game flag storage area), high probability game number (X) counter, short time number (J) counter, game state buffer, stop symbol data storage area There are various timer counters such as a storage area for transmission data, a special symbol time counter, and a special game timer counter.

主制御部110の検査値生成部500は、後述するように、メインCPU110aの周辺回路であり、主制御部110が制御コマンドを送信する際に、送信する制御コマンドに対して付加される誤り検査値を生成する機能(以下、「誤り検査値生成機能」という)を有する回路である。誤り検査値は、主制御部110が出力する制御コマンドの正当性を検査するためのデータであり、制御コマンドを用いて生成される。そして、メインCPU110aが、遊技処理用プログラムに基づいて、後述の中間制御部180に接続された演出制御部120や払出制御部130等に対し、制御コマンドを送信部550にて送信する処理(以下、「コマンド送信処理」という)を行う際に、当該誤り検査値は、送信する制御コマンドに付加されて、中間制御部180へ送信される。本実施形態の検査値生成部500は、誤り検査値の生成態様が異なる複数の誤り検査値生成機能を有している。   As will be described later, the test value generation unit 500 of the main control unit 110 is a peripheral circuit of the main CPU 110a. When the main control unit 110 transmits a control command, an error check is added to the control command to be transmitted. This is a circuit having a function of generating a value (hereinafter referred to as “error check value generation function”). The error check value is data for checking the validity of the control command output from the main control unit 110, and is generated using the control command. Then, based on the game processing program, the main CPU 110a transmits a control command to the effect control unit 120, the payout control unit 130, etc. connected to the later-described intermediate control unit 180 (hereinafter, referred to as a transmission command). , The error check value is added to the control command to be transmitted and transmitted to the intermediate control unit 180. The check value generation unit 500 of this embodiment has a plurality of error check value generation functions with different error check value generation modes.

主制御部110の送信部550は、上記主制御用の出力ポートの中でも、特に、主制御部110に対する認証機能を担うよう予め定められた制御部(後述する中間制御部180)との間における、制御コマンド出力用に割り当てられた出力ポート及びインターフェースの機能を有する回路である。   The transmission unit 550 of the main control unit 110 is particularly connected to a control unit (intermediate control unit 180 described later) that is determined in advance to perform an authentication function for the main control unit 110 among the output ports for main control. , A circuit having functions of an output port and an interface assigned for control command output.

遊技情報出力端子板30は、主制御部110において生成された外部情報信号を遊技店のホールコンピュータ等に出力するための基板である。遊技情報出力端子板30は、主制御部110と配線接続され、外部情報を遊技店のホールコンピュータ等と接続をするためのコネクタが設けられている。   The game information output terminal board 30 is a board for outputting an external information signal generated by the main control unit 110 to a hall computer or the like of a game store. The game information output terminal board 30 is connected to the main controller 110 by wiring, and is provided with a connector for connecting external information to a hall computer or the like of a game store.

電源部170は、コンデンサからなるバックアップ電源を備えており、遊技機1に電源電圧を供給すると共に、遊技機1に供給する電源電圧を監視し、電源電圧が所定値以下となったときに、電断検知信号を主制御部110へ出力する。より具体的には、電源電圧が、設定値以下を示すために電断検知信号がローレベルとなり一定時間経過すると、リセット信号がローレベルとなり、メインCPU110aは動作を停止する処理を行う。その後、電源電圧が、設定値以上を示すために電断検知信号がハイレベルとなり一定時間経過すると、リセット信号がハイレベルとなり、メインCPU110aは動作を開始する処理を行う。バックアップ電源はコンデンサに限らず、例えば、電池でもよく、コンデンサと電池とを併用して用いてもよい。   The power supply unit 170 includes a backup power supply made of a capacitor, supplies a power supply voltage to the gaming machine 1, and monitors a power supply voltage supplied to the gaming machine 1, and when the power supply voltage becomes a predetermined value or less, An electric interruption detection signal is output to the main control unit 110. More specifically, when the power interruption detection signal is at a low level and a certain time has elapsed since the power supply voltage is equal to or lower than a set value, the reset signal is at a low level and the main CPU 110a performs a process of stopping the operation. Thereafter, when the power interruption detection signal becomes a high level because the power supply voltage is equal to or higher than the set value and a predetermined time elapses, the reset signal becomes a high level, and the main CPU 110a performs a process of starting an operation. The backup power source is not limited to a capacitor, and may be a battery, for example, or a capacitor and a battery may be used in combination.

中間制御部180は、主に主制御部110に対する認証機能を実現するための制御手段であり、CPU180a、ROM180b、RAM180cを備えている。中間制御部180は、主制御部110と、主制御部110が本来の遊技処理に係る制御コマンドを送信する対象となる制御部(演出制御部120や払出制御部130等)との間に設けられている。   The intermediate control unit 180 is a control means for mainly realizing an authentication function for the main control unit 110, and includes a CPU 180a, a ROM 180b, and a RAM 180c. The intermediate control unit 180 is provided between the main control unit 110 and a control unit (the effect control unit 120, the payout control unit 130, etc.) to which the main control unit 110 transmits a control command related to the original game process. It has been.

例えば、図4に示すように、中間制御部180が主制御部110と演出制御部120との間に設けられている場合、中間制御部180は、主制御部110から中間制御部180への一方向に通信可能となるように接続され、中間制御部180から演出制御部120への一方向に通信可能となるように接続されている。また、図示しないが、中間制御部180が主制御部110と払出制御部130との間に設けられている場合、中間制御部180は、主制御部110との間で双方向に通信可能となるように接続され、払出制御部130との間で双方向に通信可能となるように接続されている。よって、中間制御部180が介在する場合、演出制御部120や払出制御部130等は、主制御部110から直接制御コマンドを送信されず、中間制御部180を介して送信されることとなる。   For example, as shown in FIG. 4, when the intermediate control unit 180 is provided between the main control unit 110 and the effect control unit 120, the intermediate control unit 180 is transferred from the main control unit 110 to the intermediate control unit 180. They are connected so as to be communicable in one direction, and are connected so as to be communicable in one direction from the intermediate control unit 180 to the effect control unit 120. Although not shown, when the intermediate control unit 180 is provided between the main control unit 110 and the payout control unit 130, the intermediate control unit 180 can communicate with the main control unit 110 in both directions. And are connected so as to be able to communicate bidirectionally with the payout control unit 130. Therefore, when the intermediate control unit 180 is interposed, the effect control unit 120, the payout control unit 130, and the like are not transmitted directly from the main control unit 110, but are transmitted via the intermediate control unit 180.

CPU180aは、主制御部110から送信された制御コマンド、又は、内部機能として組み込まれている図示しないタイマからの入力信号に基づいて、ROM180bに記憶されたプログラムを読み出して演算処理を行う。そして、CPU180aは、当該処理に基づいて、対応するデータを後続する演出制御部120や払出制御部130へ送信する。RAM180cは、CPU180aの演算処理時におけるデータのワークエリアとして機能する。   The CPU 180a reads out a program stored in the ROM 180b based on a control command transmitted from the main control unit 110 or an input signal from a timer (not shown) incorporated as an internal function, and performs arithmetic processing. Then, CPU 180a transmits the corresponding data to subsequent effect control unit 120 and payout control unit 130 based on the processing. The RAM 180c functions as a data work area during the arithmetic processing of the CPU 180a.

例えば、中間制御部180のCPU180aは、主制御部110から送信された制御コマンドを受信すると、当該制御コマンドの正当性を検査して主制御部110の正当性を認証する誤り検査処理を行う。そして、CPU180aは、当該処理にて得られた認証結果の情報(以下、「認証結果データ」という)を後続する演出制御部120や払出制御部130等へ送信し、認証結果データに基づく処理を実行させる。また、CPU180aは、受信した制御コマンドの具体的な処理内容及び受信順序を維持したまま、当該制御コマンドを後続する演出制御部120や払出制御部130等へ送信する中継送信処理を行う。   For example, when the CPU 180a of the intermediate control unit 180 receives a control command transmitted from the main control unit 110, the CPU 180a performs error check processing for checking the validity of the control command and authenticating the validity of the main control unit 110. Then, the CPU 180a transmits the authentication result information (hereinafter referred to as “authentication result data”) obtained by the processing to the subsequent effect control unit 120, the payout control unit 130, and the like, and performs processing based on the authentication result data. Let it run. Further, the CPU 180a performs a relay transmission process of transmitting the control command to the subsequent effect control unit 120, the payout control unit 130, or the like while maintaining the specific processing content and the reception order of the received control command.

また、ROM180bには、CPU180aにて行われる受信した制御コマンドへの誤り検査処理を含む認証処理の内容や手順を記述した認証処理用プログラムや、認証処理用プログラムの実行の際に使用される固定データ、及び主制御部110のメインROM110bに記憶された固有情報に対応する情報などが予め記憶されている。
このように、中間制御部180は、主制御部110に対する認証機能と、受信した制御コマンドを後続する演出制御部120や払出制御部130等へ中継送信する機能と、誤り検査処理にて得られた認証結果データを後続する演出制御部120や払出制御部130等へ送信する機能とを少なくとも有している。なお、これら認証処理に関する構成については後述する。
Further, the ROM 180b has an authentication processing program describing the contents and procedure of the authentication processing including error checking processing for the received control command performed by the CPU 180a, and a fixed used for executing the authentication processing program. Data and information corresponding to the unique information stored in the main ROM 110b of the main control unit 110 are stored in advance.
As described above, the intermediate control unit 180 is obtained by the error checking process, the authentication function for the main control unit 110, the function of relaying the received control command to the subsequent effect control unit 120, the payout control unit 130, and the like. At least a function of transmitting the authentication result data to the subsequent effect control unit 120, payout control unit 130, and the like. In addition, the structure regarding these authentication processes is mentioned later.

演出制御部120は、主に遊技中や待機中等の各演出を制御する。この演出制御部120は、サブCPU120a、サブROM120b、サブRAM120cを備えており、主制御部110から演出制御部120への一方向に通信可能となるように設けられている。なお、図4に示すように、中間制御部180が主制御部110と演出制御部120との間に設けられている場合、演出制御部120は、中間制御部180を介して主制御部110から演出制御部120への一方向に通信可能となる。   The effect control unit 120 mainly controls each effect such as during a game or standby. The effect control unit 120 includes a sub CPU 120a, a sub ROM 120b, and a sub RAM 120c, and is provided so as to be able to communicate in one direction from the main control unit 110 to the effect control unit 120. As shown in FIG. 4, when the intermediate control unit 180 is provided between the main control unit 110 and the effect control unit 120, the effect control unit 120 is connected to the main control unit 110 via the intermediate control unit 180. To the direction control unit 120 in one direction.

サブCPU120aは、主制御部110から送信された制御コマンド、又は、上記演出ボタン検出スイッチ35a、タイマからの入力信号に基づいて、サブROM120bに記憶されたプログラムを読み出して演算処理を行うと共に、当該処理に基づいて、対応するデータをランプ制御部140又は画像制御部150に送信する。サブRAM120cは、サブCPU120aの演算処理時におけるデータのワークエリアとして機能する。   The sub CPU 120a reads out the program stored in the sub ROM 120b based on the control command transmitted from the main control unit 110, or the input signal from the effect button detection switch 35a and the timer, performs arithmetic processing, and Based on the processing, the corresponding data is transmitted to the lamp control unit 140 or the image control unit 150. The sub RAM 120c functions as a data work area during the arithmetic processing of the sub CPU 120a.

例えば、演出制御部120におけるサブCPU120aは、主制御部110から送信された制御コマンドの1つである特別図柄の変動態様を示す変動パターン指定コマンドを受信すると、受信した変動パターン指定コマンドの内容を解析して、液晶表示装置31、音声出力装置32、演出用駆動装置33、演出用照明装置34に所定の演出を実行させるためのデータを生成し、かかるデータを画像制御部150やランプ制御部140へ送信する。   For example, when the sub CPU 120a in the effect control unit 120 receives a variation pattern designation command indicating a variation pattern of a special symbol, which is one of the control commands transmitted from the main control unit 110, the contents of the received variation pattern designation command are displayed. Analysis is performed to generate data for causing the liquid crystal display device 31, the audio output device 32, the effect driving device 33, and the effect illumination device 34 to execute a predetermined effect, and the data is used for the image control unit 150 and the lamp control unit. 140.

演出制御部120のサブROM120bには、演出制御用のプログラムや各種の遊技の決定に必要なデータ、テーブルが記憶されている。
サブROM120bに記憶されたテーブルとして一例を挙げれば、主制御部から受信した変動パターン指定コマンドに基づいて演出パターンを決定するための演出パターン決定テーブル、停止表示する演出図柄36の組み合わせを決定するための演出図柄決定テーブルなどがある。
The sub ROM 120b of the effect control unit 120 stores a program for effect control, data necessary for determining various games, and a table.
As an example of the table stored in the sub-ROM 120b, to determine the combination of the effect pattern determination table for determining the effect pattern based on the variation pattern designation command received from the main control unit and the effect symbol 36 to be stopped and displayed. There is a production design determination table.

演出制御部120のサブRAM120cは、サブCPU120aの演算処理時におけるデータのワークエリアとして機能し、複数の記憶領域を有している。
サブRAM120cが有する記憶領域として一例を挙げれば、遊技状態記憶領域、演出モード記憶領域、演出パターン記憶領域、演出図柄記憶領域などがある。
The sub RAM 120c of the effect control unit 120 functions as a data work area during the arithmetic processing of the sub CPU 120a, and has a plurality of storage areas.
As an example of the storage area that the sub-RAM 120c has, there are a game state storage area, an effect mode storage area, an effect pattern storage area, an effect symbol storage area, and the like.

払出制御部130は、遊技球の払い出し制御を行う。この払出制御部130は、図示しない払出CPU、払出ROM、払出RAMから構成されるワンチップマイコンを備えており、主制御部110に対して、双方向に通信可能となるように設けられている。なお、図示しないが、中間制御部180が主制御部110と払出制御部130との間に設けられている場合、払出制御部130は、中間制御部180を介して主制御部110との間で双方向に通信可能となる。   The payout control unit 130 controls payout of game balls. The payout control unit 130 includes a one-chip microcomputer including a payout CPU, a payout ROM, and a payout RAM (not shown), and is provided so as to be capable of bidirectional communication with the main control unit 110. . Although not shown, when the intermediate control unit 180 is provided between the main control unit 110 and the payout control unit 130, the payout control unit 130 communicates with the main control unit 110 via the intermediate control unit 180. It becomes possible to communicate in both directions.

払出CPUは、遊技球が払い出されたか否かを検知する払出球計数スイッチ132、扉開放スイッチ133、タイマからの入力信号に基づいて、払出ROMに記憶されたプログラムを読み出して演算処理を行うと共に、当該処理に基づいて、対応するデータを主制御部110に送信する。   The payout CPU reads out a program stored in the payout ROM based on input signals from the payout ball count switch 132, the door opening switch 133, and the timer that detect whether or not the game ball has been paid out, and performs arithmetic processing. At the same time, the corresponding data is transmitted to the main control unit 110 based on the processing.

また、払出制御部130の出力側には、遊技球の貯留部から所定数の遊技球を払い出すための払出装置の払出モータ131が接続されている。払出CPUは、主制御部110から送信された制御コマンドの1つである払出個数指定コマンドに基づいて、払出ROMから所定のプログラムを読み出して演算処理を行うと共に、払出装置の払出モータ131を制御して所定の遊技球を払い出す。このとき、払出RAMは、払出CPUの演算処理時におけるデータのワークエリアとして機能する。   Further, a payout motor 131 of a payout device for paying out a predetermined number of game balls from the game ball storage unit is connected to the output side of the payout control unit 130. The payout CPU reads out a predetermined program from the payout ROM based on a payout number designation command that is one of the control commands transmitted from the main control unit 110, performs arithmetic processing, and controls the payout motor 131 of the payout device. Then, a predetermined game ball is paid out. At this time, the payout RAM functions as a data work area at the time of calculation processing of the payout CPU.

ランプ制御部140は、遊技盤2に設けられた演出用照明装置34を点灯制御したり、光の照射方向を変更するためのモータに対する駆動制御をしたりする。また、演出用駆動装置33を動作させるソレノイドやモータ等の駆動源を通電制御する。このランプ制御部140は、演出制御部120に接続されており、演出制御部120から送信された各種のコマンドに基づいて、上記の各制御を行うこととなる。   The lamp control unit 140 controls lighting of the effect lighting device 34 provided on the game board 2 and controls driving of the motor for changing the light irradiation direction. In addition, energization control is performed on a drive source such as a solenoid or a motor that operates the effect driving device 33. The lamp control unit 140 is connected to the effect control unit 120, and performs the above-described controls based on various commands transmitted from the effect control unit 120.

画像制御部150は、液晶表示装置31の画像表示制御を行うためのホストCPU、ホストCPUのワークエリアとして機能する一時的な記憶領域を有するホストRAM、ホストCPUの制御処理のプログラム等が記憶されたホストROM、画像データが記憶されたCGROM、画像データを描画するフレームバッファを有するVRAM、画像プロセッサとなるVDP(Video Display Processor)と、音の制御を行う音制御回路とを備えている。   The image control unit 150 stores a host CPU for performing image display control of the liquid crystal display device 31, a host RAM having a temporary storage area functioning as a work area of the host CPU, a control processing program for the host CPU, and the like. A host ROM, a CGROM storing image data, a VRAM having a frame buffer for drawing image data, a VDP (Video Display Processor) serving as an image processor, and a sound control circuit for controlling sound.

ホストCPUは、演出制御部120から受信した演出パターン指定コマンドに基づいて、VDPにCGROMに記憶されている画像データを液晶表示装置31に表示させる指示を行う。
VDPは、ホストCPUからの指示に基づいて、CGROMに記憶された画像データをVRAMのフレームバッファに描画する。次に、VRAMにある表示用のフレームバッファに記憶された画像データに基づいて映像信号(RGB信号等)を生成し、生成した映像信号を液晶表示装置に出力する。
Based on the effect pattern designation command received from the effect control unit 120, the host CPU instructs the liquid crystal display device 31 to display the image data stored in the CGROM in the VDP.
The VDP draws image data stored in the CGROM in the frame buffer of the VRAM based on an instruction from the host CPU. Next, a video signal (RGB signal or the like) is generated based on the image data stored in the display frame buffer in the VRAM, and the generated video signal is output to the liquid crystal display device.

音制御回路には、音声データが多数記憶されている音声ROMが備えられており、音制御回路が、演出制御部120から送信されたコマンドに基づいて所定のプログラムを読み出すと共に、音声出力装置32における音声出力制御をする。   The sound control circuit includes an audio ROM that stores a large number of audio data. The sound control circuit reads a predetermined program based on a command transmitted from the effect control unit 120, and also outputs the audio output device 32. Audio output control at.

発射制御部160は、遊技球の発射制御を行う。この発射制御部160は、入力側にタッチセンサ3a及び発射ボリューム3bが接続されており、出力側に発射用ソレノイド4a及び玉送りソレノイド4bを接続している。発射制御部160は、タッチセンサ3aからのタッチ信号を入力すると共に、発射ボリューム3bから供給された電圧に基づいて、発射用ソレノイド4aや玉送りソレノイド4bを通電させる制御を行う。   The launch control unit 160 performs launch control of the game ball. In the firing control unit 160, the touch sensor 3a and the firing volume 3b are connected to the input side, and the firing solenoid 4a and the ball feeding solenoid 4b are connected to the output side. The firing control unit 160 inputs a touch signal from the touch sensor 3a, and performs control to energize the firing solenoid 4a and the ball feed solenoid 4b based on the voltage supplied from the firing volume 3b.

タッチセンサ3aは、操作ハンドル3の内部に設けられ、遊技者が操作ハンドル3に触れたことによる静電容量の変化を利用した静電容量型の近接スイッチから構成される。タッチセンサ3aは、遊技者が操作ハンドル3に触れたことを検知すると、発射制御部160(図4参照)に発射用ソレノイド4aの通電を許可するタッチ信号を出力する。発射制御部160は、大前提としてタッチセンサ3aからタッチ信号の入力がなければ、遊技球200を遊技領域6に発射させないように構成されている。   The touch sensor 3a is provided in the inside of the operation handle 3, and is comprised from the electrostatic capacitance type proximity switch using the change of the electrostatic capacitance by the player touching the operation handle 3. When the touch sensor 3a detects that the player has touched the operation handle 3, the touch sensor 3a outputs a touch signal that permits energization of the firing solenoid 4a to the firing control unit 160 (see FIG. 4). The firing control unit 160 is configured so that the game ball 200 is not fired into the game area 6 unless a touch signal is input from the touch sensor 3a.

発射ボリューム3bは、操作ハンドル3が回動する回動部に直結して設けられ、可変抵抗器から構成される。発射ボリューム3bは、その発射ボリューム3bに印加された定電圧(例えば5V)を可変抵抗器により分圧して、分圧した電圧を発射制御部160に供給する(発射制御部160に供給する電圧を可変させる)。発射制御部160は、発射ボリューム3bにより分圧された電圧に基づいて、発射用ソレノイド4aを通電して、発射用ソレノイド4aに直結された打出部材4cを回転させることで、遊技球200を遊技領域6に発射させる。   The firing volume 3b is provided directly connected to a rotating portion around which the operation handle 3 rotates, and is composed of a variable resistor. The firing volume 3b divides a constant voltage (for example, 5V) applied to the firing volume 3b by a variable resistor, and supplies the divided voltage to the firing control unit 160 (the voltage to be supplied to the firing control unit 160). Variable). The launch controller 160 energizes the launch solenoid 4a based on the voltage divided by the launch volume 3b, and rotates the launch member 4c directly connected to the launch solenoid 4a, thereby playing the game ball 200 in the game. Fire into area 6.

発射用ソレノイド4aは、ロータリーソレノイドから構成され、発射用ソレノイド4aには打出部材4cが直結されており、発射用ソレノイド4aが回転することで、打出部材4cを回転させる。   The launching solenoid 4a is composed of a rotary solenoid, and a launching member 4c is directly connected to the launching solenoid 4a, and the launching member 4c is rotated by rotating the launching solenoid 4a.

ここで、発射用ソレノイド4aの回転速度は、発射制御部160に設けられた水晶発振器の出力周期に基づく周波数から、約99.9(回/分)に設定されている。これにより、1分間における発射遊技数は、発射ソレノイドが1回転する毎に1個発射されるため、約99.9(個/分)となる。すなわち、1個の遊技球は約0.6秒毎に発射されることになる。   Here, the rotational speed of the firing solenoid 4a is set to about 99.9 (times / minute) based on the frequency based on the output period of the crystal oscillator provided in the firing control unit 160. As a result, the number of games played per minute is about 99.9 (pieces / minute) because one shot is fired every time the firing solenoid rotates. That is, one game ball is fired about every 0.6 seconds.

玉送りソレノイド4bは、直進ソレノイドから構成され、受け皿40にある遊技球を、発射用ソレノイド4aに直結された打出部材4cに向けて1個ずつ送り出す。   The ball feed solenoid 4b is composed of a linear solenoid, and sends out the game balls in the tray 40 one by one toward the launch member 4c directly connected to the launch solenoid 4a.

ここで、上記構成の演出制御部120、払出制御部130、ランプ制御部140、画像制御部150、及び発射制御部160など、主制御部110からの制御コマンドに基づいて、若しくは当該制御コマンドに基づいて生成されるコマンドに従って遊技機1の制御処理を行う制御部であって、中間制御部180以外の制御部を総称して「周辺制御部300」という。また、演出制御部120が搭載された演出制御基板や払出制御部130が搭載された払出制御基板など、周辺制御部300の各制御部が搭載された各制御基板を総称して「周辺制御基板」という。なお、中間制御部180、ランプ制御部140、及び画像制御部150は、演出制御部120と同一の基板上に搭載することもできる。また、払出制御部130及び発射制御部160は、主制御部110と同一の基板上に搭載することもできる。   Here, the production control unit 120, the payout control unit 130, the lamp control unit 140, the image control unit 150, the launch control unit 160, and the like having the above-described configuration are based on or in response to control commands from the main control unit 110. A control unit that performs control processing of the gaming machine 1 in accordance with a command generated based on the command, and the control units other than the intermediate control unit 180 are collectively referred to as a “peripheral control unit 300”. In addition, each control board on which each control unit of the peripheral control unit 300 is mounted, such as an effect control board on which the effect control unit 120 is mounted and a payout control board on which the payout control unit 130 is mounted, is collectively referred to as “peripheral control board” " Note that the intermediate control unit 180, the lamp control unit 140, and the image control unit 150 may be mounted on the same substrate as the effect control unit 120. Also, the payout control unit 130 and the firing control unit 160 can be mounted on the same substrate as the main control unit 110.

[主制御部の認証処理に関する内部構成]
これより、上記構成の遊技機1が不正行為防止のために有するセキュリティ機能について説明する。
本実施形態に係る遊技機1のセキュリティ機能は、中間制御部180が主制御部110から送信された制御コマンドの正当性を検査し主制御部110の認証を行うことによって実現される。そのために主制御部110、中間制御部180、及び周辺制御部300が実行する処理を、通常の遊技進行に係る処理とは区別する意味で「認証処理」という。なお、本実施形態では、中間制御部180は、周辺制御部300のうちの演出制御部120と主制御部110との間に設けられていると共に、中間制御部180に、主制御部110に対する認証機能が備えられているものとする。
[Internal configuration related to authentication processing of main controller]
The security function that the gaming machine 1 having the above configuration has for preventing illegal acts will now be described.
The security function of the gaming machine 1 according to the present embodiment is realized by the intermediate control unit 180 checking the validity of the control command transmitted from the main control unit 110 and authenticating the main control unit 110. Therefore, the processing executed by the main control unit 110, the intermediate control unit 180, and the peripheral control unit 300 is referred to as “authentication processing” in a sense that distinguishes it from processing related to normal game progress. In the present embodiment, the intermediate control unit 180 is provided between the effect control unit 120 of the peripheral control unit 300 and the main control unit 110, and the intermediate control unit 180 is connected to the main control unit 110. It is assumed that an authentication function is provided.

まず、主制御部110と中間制御部180との間で行われる認証処理の概要について説明する。
主制御部110のメインCPU110aは、今回のコマンド送信処理において中間制御部180へ制御コマンドを送信する際、送信する制御コマンドに誤り検査値を付加して送信する。この誤り検査値は、メインCPU110aの周辺回路である検査値生成部500によって、メインCPU110aからの指示ではなく独自に生成される。メインCPU110aは、誤り検査値を付加する場合、検査値生成部500によって予め生成された誤り検査値を読み出して制御コマンドに付加し、送信部550へ送出する。送信部550は、誤り検査値が付加された制御コマンドを中間制御部180へ送信する。
First, an outline of the authentication process performed between the main control unit 110 and the intermediate control unit 180 will be described.
When transmitting a control command to the intermediate control unit 180 in the current command transmission process, the main CPU 110a of the main control unit 110 adds an error check value to the transmitted control command and transmits it. This error check value is independently generated by the check value generation unit 500, which is a peripheral circuit of the main CPU 110a, instead of an instruction from the main CPU 110a. When adding an error check value, the main CPU 110a reads the error check value generated in advance by the check value generation unit 500, adds it to the control command, and sends it to the transmission unit 550. The transmission unit 550 transmits the control command to which the error check value is added to the intermediate control unit 180.

検査値生成部500は、メインCPU110aが送信部550へ送出する制御コマンドを取得すると共に、今回のコマンド送信処理で送出された制御コマンドより過去に送出された制御コマンドを用いて誤り検査値を生成する。本実施形態では、過去に送出された制御コマンドとは、今回のコマンド送信処理よりN回前(N;正の整数)のコマンド送信処理の際に、メインCPU110aによって送信部550へ送出された制御コマンドであるとする。すなわち、検査値生成部500は、今回のコマンド送信処理においてメインCPU110aが中間制御部180へ送信する制御コマンドよりN個前に送信された制御コマンドを用いて誤り検査値を生成する。   The test value generation unit 500 acquires a control command sent from the main CPU 110a to the transmission unit 550, and generates an error check value using a control command sent in the past from the control command sent in the current command transmission process. To do. In the present embodiment, the control command sent in the past is the control sent to the sending unit 550 by the main CPU 110a during the command sending process N times before the current command sending process (N: positive integer). Suppose that it is a command. That is, the check value generation unit 500 generates an error check value using the control command transmitted N times before the control command transmitted from the main CPU 110a to the intermediate control unit 180 in the current command transmission process.

一方、中間制御部180のCPU180aも、主制御部110から送信された制御コマンドを受信し、受信した制御コマンドを用いて検証用の誤り検査値を生成する。そして、CPU180aは、今回受信した制御コマンドに誤り検査値が付加されている場合には、今回受信した制御コマンドに付加された誤り検査値と、当該制御コマンドより過去に受信した制御コマンドを用いて生成した誤り検査値とを照合する。そして、両者が一致すると、今回受信した制御コマンドの正当性を認証し、主制御部110の認証に成功したと判断する。そして、CPU180aは、得られた認証結果を演出制御部120へ送信する。演出制御部120のサブCPU120aは、中間制御部180から送信された認証結果を受信し、受信した認証結果に応じた処理を行う。   On the other hand, the CPU 180a of the intermediate control unit 180 also receives the control command transmitted from the main control unit 110, and generates an error check value for verification using the received control command. When an error check value is added to the control command received this time, the CPU 180a uses the error check value added to the control command received this time and the control command received in the past from the control command. Check the generated error check value. If the two match, the validity of the control command received this time is authenticated, and it is determined that the main control unit 110 has been successfully authenticated. Then, the CPU 180a transmits the obtained authentication result to the effect control unit 120. The sub CPU 120a of the effect control unit 120 receives the authentication result transmitted from the intermediate control unit 180, and performs processing according to the received authentication result.

通常、チェックサム等の誤り検査値は生成元の制御コマンドに付加されて通信エラーチェックに利用される。これに対して、本実施形態では、検査値生成部500は、過去に送出された制御コマンドを用いて誤り検査値を生成するため、誤り検査値の生成元の制御コマンドには付加されることがない。このような従来にない新規且つ簡易な手法を用いることにより、不正者が制御コマンドと誤り検査値を窃取しても制御コマンドと誤り検査値の対応関係を容易に解析できないようにすることができ、遊技機1のセキュリティ強度を向上させることができる。   Normally, an error check value such as a checksum is added to the control command of the generation source and used for a communication error check. On the other hand, in the present embodiment, since the check value generation unit 500 generates an error check value using a control command sent in the past, it is added to the control command that is the generation source of the error check value. There is no. By using such a new and simple method that has not been available in the past, even if an unauthorized person steals a control command and an error check value, the correspondence between the control command and the error check value cannot be easily analyzed. The security strength of the gaming machine 1 can be improved.

また、本実施形態では、主制御部110が、過去に送信した制御コマンドを用いて生成された誤り検査値を、今回送信する制御コマンドに付加して中間制御部180へ送信する。そして、中間制御部180が、過去に受信した制御コマンドを用いて生成された誤り検査値で、今回受信した制御コマンドの誤り検査処理を行う。これにより、中間制御部180は、今回受信した制御コマンドの正当性を認証することができるだけではなく、過去に受信した制御コマンド、すなわち、今回付加された誤り検査値の生成元となった制御コマンドの正当性をも認証することができる。すなわち、制御コマンドの連続性を認証することができることとなり、不正行為をより検出しやすくなり、遊技機1のセキュリティ強度を向上させることができる。   In the present embodiment, the main control unit 110 adds an error check value generated using a control command transmitted in the past to the control command transmitted this time and transmits the error check value to the intermediate control unit 180. Then, the intermediate control unit 180 performs an error check process on the control command received this time with the error check value generated using the control command received in the past. Thereby, the intermediate control unit 180 can not only authenticate the validity of the control command received this time, but also the control command received in the past, that is, the control command that is the generation source of the error check value added this time. Can also authenticate the legitimacy. That is, it is possible to authenticate the continuity of the control command, and it becomes easier to detect fraud, and the security strength of the gaming machine 1 can be improved.

次に、図5及び図6を用いて、主制御部110の認証処理に関する構成について説明する。
図5は、本実施形態に係る主制御部110の認証処理に関する機能構成を示すブロック図である。図6は、本実施形態に係るメインCPUのメモリマップを説明するための概略図であって、(a)マップ全体、(b)メインROM110b、及び(c)ブートROM110dに関するメモリマップである。なお、図6では、本発明の特徴的な領域以外は省略しており、各領域同士の位置関係も一例である。
Next, a configuration related to the authentication process of the main control unit 110 will be described with reference to FIGS. 5 and 6.
FIG. 5 is a block diagram showing a functional configuration related to authentication processing of the main control unit 110 according to the present embodiment. FIG. 6 is a schematic diagram for explaining a memory map of the main CPU according to the present embodiment, and is a memory map related to (a) the entire map, (b) the main ROM 110b, and (c) the boot ROM 110d. In FIG. 6, areas other than the characteristic areas of the present invention are omitted, and the positional relationship between the areas is also an example.

主制御部110は、上述したように、メインCPU110a、メインROM110b、及びブートROM110dに加え、誤り検査値生成機能を有する検査値生成部500と、中間制御部180への制御コマンドの送信機能を有する送信部550とを少なくとも備えている。なお、主制御部110の各構成部には、クロックパルス発生回路(図示せず)により出力された所定のクロック信号がそれぞれ入力されている。そして、これら主制御部110の各構成部は、内部バス400でそれぞれ接続されている。   As described above, the main control unit 110 has a test value generation unit 500 having an error check value generation function and a function of transmitting a control command to the intermediate control unit 180 in addition to the main CPU 110a, the main ROM 110b, and the boot ROM 110d. And at least a transmission unit 550. A predetermined clock signal output from a clock pulse generation circuit (not shown) is input to each component of the main controller 110. Each component of the main control unit 110 is connected by an internal bus 400.

内部バス400は、後述する図7に図示するように、データバス400a、アドレスバス400b、及び制御バス400cを少なくとも備えている。内部バス400は、主制御部110の各構成部から送出された制御信号に基づき、バス上を通るデータの割り当てを行いデータ衝突が生じないように制御して、各構成部間で各種データや信号の送受を可能としている。   The internal bus 400 includes at least a data bus 400a, an address bus 400b, and a control bus 400c as shown in FIG. The internal bus 400 controls the allocation of data passing on the bus based on the control signal sent from each component of the main control unit 110 so as not to cause data collision. It is possible to send and receive signals.

内部バス400のデータバス400aは、制御コマンド又は誤り検査値のいずれか小さい方のデータ長以上のビット幅を有するバスを用いればよい。例えば、制御コマンドは2バイト、誤り検査値は1バイトのデータであるとすると、データバス400aのビット幅は、少なくとも1バイト以上とすればよい。この場合、メインCPU110aは、まず、2バイト長の制御コマンドの上位1バイトをデータバス400aへ出力し、続いて、下位1バイトをデータバス400aへ出力する。続いて、検査値生成部500は、1バイトの誤り検査値をデータバス400aへ出力する。なお、内部バス400のバス規格は、公知の規格でよい。   The data bus 400a of the internal bus 400 may be a bus having a bit width equal to or greater than the data length of the smaller one of the control command and the error check value. For example, if the control command is data of 2 bytes and the error check value is data of 1 byte, the bit width of the data bus 400a may be at least 1 byte. In this case, the main CPU 110a first outputs the upper 1 byte of the 2-byte control command to the data bus 400a, and then outputs the lower 1 byte to the data bus 400a. Subsequently, the check value generation unit 500 outputs a 1-byte error check value to the data bus 400a. The bus standard for the internal bus 400 may be a known standard.

メインCPU110aは、上記のように遊技進行に係る処理を実行する他、主制御部110の認証処理を実行する。メインCPU110aは、メインROM110bに記憶された認証処理用プログラムや各種固定データを用いて各種演算処理を実行する。また、メインCPU110aは、ブートROM110dに記憶されたブート処理用プログラムやメインROM110bに記憶された各種初期値を用いて各種演算処理を実行する。そして、メインCPU110aは、これらの演算処理の結果に応じて制御信号や制御コマンドを内部バス400へ送出する処理を行う。   The main CPU 110a executes the process related to the game progress as described above, and also executes the authentication process of the main control unit 110. The main CPU 110a executes various arithmetic processes using an authentication processing program and various fixed data stored in the main ROM 110b. Further, the main CPU 110a executes various arithmetic processes using a boot processing program stored in the boot ROM 110d and various initial values stored in the main ROM 110b. Then, the main CPU 110a performs a process of sending control signals and control commands to the internal bus 400 according to the results of these arithmetic processes.

例えば、メインCPU110aは、内部バス400を介してそれぞれ接続された主制御部110の各構成部との間でデータ送受を行う際には、内部バス400のデータバス400aに送出したいデータを送出し、アドレスバス400bに送出先の構成部を指定するアドレスデータを送出し、制御バス400cに制御信号を送出する。アドレスデータは、図6(a)のメモリマップに示すように、主制御部110の各構成部を一義的に指定できるように予め定義されている。そしてアドレスデータは、デコーダを介してチップセレクト信号へ変換され、アドレスデータが指定する主制御部110の構成部へ入力される。チップセレクト信号が入力された主制御部110の構成部では、制御信号の内容に応じて、送出されたデータをデータバス400aから取り込んだり、データバス400aに対して保持するデータを送出したりすることができる。本実施形態では、主制御部110の各構成部間において行われる内部バス400を介したデータ送受の方式を、「CPUインターフェース方式」という。   For example, the main CPU 110a sends data to be sent to the data bus 400a of the internal bus 400 when performing data transmission / reception with each component of the main control unit 110 connected via the internal bus 400. Then, address data designating the destination component is sent to the address bus 400b, and a control signal is sent to the control bus 400c. As shown in the memory map of FIG. 6A, the address data is defined in advance so that each component of the main control unit 110 can be uniquely specified. Then, the address data is converted into a chip select signal via the decoder and input to the component of the main control unit 110 specified by the address data. In the main control unit 110 to which the chip select signal is input, the transmitted data is fetched from the data bus 400a or the data to be held is sent to the data bus 400a according to the contents of the control signal. be able to. In the present embodiment, a data transmission / reception method via the internal bus 400 performed between the components of the main control unit 110 is referred to as a “CPU interface method”.

また、メインCPU110aは、コマンド送信処理を行う際に、内部バス400のデータバス400aに制御コマンド、アドレスバス400bに送信部550(詳細には、後述する送信バッファ551)を指定するアドレスデータ、制御バス400cに制御コマンドを書き込むための制御信号(以下「書き込み信号」という)を送出する。送信部550を指定するアドレスデータは、デコーダを介してチップセレクト信号へ変換され、送信部550へ入力される。送信部550は、チップセレクト信号及び書き込み信号がアクティブとなると、データバス400a上の制御コマンドを取り込むことができる。なお、本実施形態では、チップセレクト信号や書き込み信号等の制御信号がアクティブとなることを「制御信号が入力される」ともいう。また、アドレスデータは、チップセレクト信号へ変換された後、指定された主制御部110の各構成部へ入力されるものとし、アドレスデータからチップセレクト信号への変換については説明を省略する。   Further, when performing the command transmission process, the main CPU 110a controls the address data specifying the control command to the data bus 400a of the internal bus 400 and the transmission unit 550 (specifically, a transmission buffer 551 to be described later) to the address bus 400b. A control signal (hereinafter referred to as “write signal”) for writing a control command to the bus 400c is transmitted. Address data designating the transmission unit 550 is converted into a chip select signal via the decoder and input to the transmission unit 550. When the chip select signal and the write signal become active, the transmission unit 550 can take in a control command on the data bus 400a. In the present embodiment, the activation of a control signal such as a chip select signal or a write signal is also referred to as “control signal input”. Further, the address data is converted into a chip select signal and then input to each component of the designated main control unit 110, and description of the conversion from the address data into the chip select signal is omitted.

また、メインCPU110aは、コマンド送信処理を行う際に、遊技処理用プログラムに規定されたタイミングに応じて認証処理用プログラムを呼び出し、呼び出した当該プログラムに基づいて、送信する制御コマンドに対して誤り検査値を付加する処理(以下「検査値付加処理」という)を行う。具体的には、メインCPU110aは、コマンド送信処理中に検査値付加処理を実行するタイミングとなると、内部バス400のアドレスバス400bに検査値生成部500(詳細には、後述する生成手段520の送出回路527)を指定するアドレスデータ、制御バス400cに誤り検査値を読み出すための制御信号(以下「読み出し信号」という)を送出する。検査値生成部500は、指定されたアドレスデータ(チップセレクト信号)及び読み出し信号が入力されると、予め生成しておいた誤り検査値をデータバス400aへ送出する。そして、メインCPU110aは、データバス400aから誤り検査値を取り込んで、付加するべき誤り検査値を取得する。そして、メインCPU110aは、データバス400aに誤り検査値、アドレスバス400bに送信部550を指定するアドレスデータ、制御バス400cに誤り検査値を書き込むための書き込み信号を送出する。   Further, when performing the command transmission process, the main CPU 110a calls the authentication processing program according to the timing specified in the game processing program, and checks the error for the control command to be transmitted based on the called program. A process of adding a value (hereinafter referred to as “inspection value adding process”) is performed. Specifically, when it is time to execute the test value addition process during the command transmission process, the main CPU 110a sends a test value generation unit 500 (specifically, a generation unit 520 to be described later) to the address bus 400b of the internal bus 400. The address data specifying the circuit 527) and a control signal (hereinafter referred to as “read signal”) for reading the error check value are sent to the control bus 400c. When the designated address data (chip select signal) and read signal are input, the test value generation unit 500 sends the error check value generated in advance to the data bus 400a. Then, the main CPU 110a takes in the error check value from the data bus 400a and acquires the error check value to be added. Then, the main CPU 110a sends an error check value to the data bus 400a, address data designating the transmission unit 550 to the address bus 400b, and a write signal for writing the error check value to the control bus 400c.

メインROM110bには、図6(b)に示すように、上記のような遊技処理用プログラムやデータの他、メインCPU110aが遊技機1にて認証処理を実行するための認証処理用プログラムが予め記憶されている。遊技処理用プログラムには、メインCPU110aがコマンド送信処理中で検査値付加処理を実行するタイミングに、認証処理用プログラムを呼び出す命令が記述されている。また、認証処理用プログラムには、メインCPU110aが検査値付加処理を実行するための命令が記述されている。具体的には、認証処理用プログラムには、検査値生成部500から誤り検査値を読み出す命令及び読み出した誤り検査値を送信部550へ書き込む命令が記述されている。   In the main ROM 110b, as shown in FIG. 6B, in addition to the game processing program and data as described above, an authentication processing program for the main CPU 110a to execute authentication processing in the gaming machine 1 is stored in advance. Has been. In the game processing program, an instruction for calling the authentication processing program is described at the timing when the main CPU 110a executes the test value addition processing during the command transmission processing. In the authentication processing program, an instruction for the main CPU 110a to execute the inspection value addition processing is described. Specifically, in the authentication processing program, an instruction for reading an error check value from the check value generation unit 500 and an instruction for writing the read error check value to the transmission unit 550 are described.

本実施形態において、コマンド送信処理は、後述するように基本的に主制御部110のタイマ割込処理として実行され、このタイマ割込処理に係るプログラムコードは、上記遊技処理用プログラム内に記述されている。本実施形態では、遊技処理用プログラムにおいて、認証処理用プログラムの呼び出し命令を実行するタイミングは、このタイマ割込処理の実行周期内で行われるように規定され、予め中間制御部180との間で取り決めてあれば基本的に任意である。   In this embodiment, the command transmission process is basically executed as a timer interrupt process of the main control unit 110 as will be described later, and the program code related to the timer interrupt process is described in the game processing program. ing. In the present embodiment, in the game processing program, the timing for executing the authentication processing program call instruction is defined to be performed within the execution period of the timer interrupt processing, and is previously determined with the intermediate control unit 180. Basically it is optional if agreed.

すなわち、本実施形態では、メインCPU110aが検査値付加処理を実行するタイミングは、遊技処理用プログラムの中で、コマンド送信処理に係るプログラムコードに対して、認証処理用プログラムの呼び出し命令が追加されたことによって規定される。このため、遊技機メーカーは、認証処理用プログラムの呼び出し命令を遊技処理用プログラムの所望の位置に追加するだけで、制御コマンドに誤り検査値を付加するタイミングを規定することができるため、設計自由度の高い認証機能を比較的簡易に追加することができる。また、遊技機メーカーは、認証処理用プログラムの呼び出し命令を記述する位置をカスタマイズするだけで、制御コマンドとそれに付加される誤り検査値との対応関係を変更することができるため、遊技機1のセキュリティ強度を柔軟に変更することができる。   In other words, in the present embodiment, the timing at which the main CPU 110a executes the test value addition processing is performed by adding an authentication processing program calling instruction to the program code related to the command transmission processing in the game processing program. It is prescribed by For this reason, the game machine manufacturer can specify the timing of adding the error check value to the control command simply by adding the calling instruction of the authentication processing program to the desired position of the game processing program, so that the design freedom A high-level authentication function can be added relatively easily. In addition, since the gaming machine manufacturer can change the correspondence between the control command and the error check value added thereto simply by customizing the position where the calling instruction for the authentication processing program is described, the gaming machine 1 Security strength can be flexibly changed.

なお、誤り検査値と同じデータ長を有するダミーデータを用意し、誤り検査値の替わりに当該ダミーデータを制御コマンドに付加することとすれば、誤り検査値を付加しない場合に中間制御部180へ送信される送信データは、誤り検査値を付加した場合と同じデータ長を有する送信データとなる。このため、不正者にとっては、誤り検査値が中間制御部180へ送信されるタイミングを解析することが困難となり、誤り検査値を窃取することが困難となる。このため、制御コマンドとそれに付加される誤り検査値との対応関係を解析することが困難となり、遊技機1のセキュリティ強度を向上させることができる。   If dummy data having the same data length as that of the error check value is prepared and the dummy data is added to the control command instead of the error check value, the intermediate control unit 180 can be used when no error check value is added. The transmission data to be transmitted is transmission data having the same data length as that when the error check value is added. For this reason, it is difficult for an unauthorized person to analyze the timing at which the error check value is transmitted to the intermediate control unit 180, and it is difficult to steal the error check value. For this reason, it becomes difficult to analyze the correspondence between the control command and the error check value added thereto, and the security strength of the gaming machine 1 can be improved.

また、タイマ割込処理の実行周期内で検査値付加処理が実行されると、当該実行周期毎に送信部550へ書き込まれる制御コマンドの直後に誤り検査値が書き込まれる。このため、送信部550側では、制御コマンドに連続して誤り検査値が書き込まれることとなり、制御コマンドの直後に誤り検査値が付加される。これにより、送信部550では制御コマンド及び誤り検査値を一連の送信データ(誤り検査値が付加された制御コマンド)として、中間制御部180へ送信することができる。   When the check value addition process is executed within the execution period of the timer interrupt process, an error check value is written immediately after the control command written to the transmission unit 550 for each execution period. For this reason, on the transmission unit 550 side, the error check value is written continuously to the control command, and the error check value is added immediately after the control command. As a result, the transmission unit 550 can transmit the control command and the error check value to the intermediate control unit 180 as a series of transmission data (a control command to which the error check value is added).

また、メインROM110bには、主制御部110が初期化された後に初めて出力する制御コマンドに付加する誤り検査値として使用する、遊技機1の固有情報が記憶されている。固有情報は、主制御部110が保持する遊技機1固有の情報であれば特に限定されない。固有情報は、図6(b)では、メインROM110bの固定データの一部となっているが、例えば、プログラムコードが記憶された領域の中の特定のアドレスにおけるチェックサム値や、メインCPU110aに固有に付与されている識別番号(ID)や、メーカーコード・機種コード等の製品情報などを用いることができる。また、固有情報は、予め中間制御部180との間で取り決められた誤り検査値のダミーデータなど用いることができる。そして、これらのデータに四則演算や論理演算等を施した値でもよい。なお、固有情報は、メインROM110bとは別個の記憶手段(メモリセルやROMなど)に記憶されていてもよい。   The main ROM 110b stores unique information of the gaming machine 1 that is used as an error check value added to a control command that is output for the first time after the main control unit 110 is initialized. The unique information is not particularly limited as long as it is unique to the gaming machine 1 held by the main control unit 110. In FIG. 6B, the unique information is a part of the fixed data in the main ROM 110b. For example, the unique information is specific to the checksum value at a specific address in the area where the program code is stored or the main CPU 110a. An identification number (ID) given to the product, product information such as a manufacturer code and a model code, and the like can be used. In addition, the unique information can be dummy data of an error check value that is negotiated with the intermediate control unit 180 in advance. These data may be values obtained by performing four arithmetic operations or logical operations. The unique information may be stored in storage means (memory cell, ROM, etc.) separate from the main ROM 110b.

本実施形態では、今回のコマンド送信処理において、検査値生成部500が誤り検査値の生成に用いる制御コマンドは、当該制御コマンドよりN個前に送信された制御コマンドである。検査値生成部500は、過去に送信された制御コマンドとして、少なくともN個の制御コマンドを後述の格納回路522に格納している。但し、遊技機1のリセット時のように主制御部110が初期化されたときには、格納回路522に格納しておいた過去の制御コマンドがクリアされるため、これを用いて誤り検査値を生成することができない。そこで、本実施形態では、格納回路522に格納しておいた過去の制御コマンドがクリアされた場合に、格納回路522への初期設定値として、メインROM110bに予め記憶しておいた固有情報を用いる。本実施形態では、固有情報として少なくともN個の固有情報をメインROM110bに記憶させておく。なお、本実施形態では、制御コマンドを用いずに固有情報を用いて生成された誤り検査値を、「初期検査値」ともいう。   In the present embodiment, in the current command transmission process, the control command used by the check value generation unit 500 to generate the error check value is a control command transmitted N times before the control command. The inspection value generation unit 500 stores at least N control commands in a storage circuit 522 described later as control commands transmitted in the past. However, since the past control command stored in the storage circuit 522 is cleared when the main control unit 110 is initialized as when the gaming machine 1 is reset, an error check value is generated using this. Can not do it. Therefore, in the present embodiment, when the past control command stored in the storage circuit 522 is cleared, unique information stored in advance in the main ROM 110b is used as an initial setting value for the storage circuit 522. . In the present embodiment, at least N pieces of unique information are stored in the main ROM 110b as unique information. In the present embodiment, an error check value generated using unique information without using a control command is also referred to as an “initial check value”.

また、メインROM110bには、電源投入時などの遊技機1のリセット時に行われる主制御部110のブート処理中に、メインCPU110aの内蔵レジスタや周辺回路等に対して設定される初期値(いわゆるハードウェアパラメータ)が予め記憶されている。なお、本実施形態では、上記初期値の一つであって、検査値生成部500に設定されるものを「HWパラメータ」という。   The main ROM 110b also stores initial values (so-called hardware) that are set for the built-in registers and peripheral circuits of the main CPU 110a during the boot process of the main control unit 110 that is performed when the gaming machine 1 is reset such as when the power is turned on. Wear parameter) is stored in advance. In the present embodiment, one of the initial values that is set in the inspection value generation unit 500 is referred to as “HW parameter”.

HWパラメータは、検査値生成部500が有する複数の誤り検査値生成機能にそれぞれ対応付けられて、予め複数用意されている。そして、主制御部110のブート処理において、メインCPU110aが検査値生成部500にHWパラメータを設定すると、設定されたHWパラメータに対応した誤り検査値生成機能が、検査値生成部500において有効となる。すなわち、HWパラメータは、メインCPU110aがどの誤り検査値生成機能を採用するのかを選択するための選択情報である。図6(b)では、上記初期値及びHWパラメータを記憶する領域は、メインROM110b内の領域であるが、本発明はこれに限定されず、メインROM110bとは別個のメモリセルに記憶したり、ブートROM110d内に記憶したりするように構成することもできる。すなわち、本発明では、上記初期値及びHWパラメータの記憶領域と、遊技処理用プログラムや固定データ等の記憶領域とは、同一の記憶手段(メモリセルやROMなど)に搭載されていてもよいし、異なる記憶手段に搭載されていてもよい。   A plurality of HW parameters are prepared in advance in association with a plurality of error check value generation functions of the check value generation unit 500, respectively. In the boot process of the main control unit 110, when the main CPU 110a sets the HW parameter in the check value generation unit 500, the error check value generation function corresponding to the set HW parameter becomes effective in the check value generation unit 500. . That is, the HW parameter is selection information for selecting which error check value generation function the main CPU 110a adopts. In FIG. 6B, the area for storing the initial value and the HW parameter is an area in the main ROM 110b. However, the present invention is not limited to this, and the area is stored in a memory cell separate from the main ROM 110b. It can also be configured to store in the boot ROM 110d. That is, in the present invention, the storage area for the initial value and the HW parameter and the storage area for the game processing program, fixed data, etc. may be mounted on the same storage means (memory cell, ROM, etc.). It may be mounted on different storage means.

ブートROM110dには、図6(c)に示すように、ブート処理用プログラムやブート処理用プログラムの実行の際に使用される固定データが予め記憶されている。ブート処理用プログラムは、メインCPU110aの起動直後にブートROM110dからブート処理専用RAM(図示せず)へ読み込まれ、メインCPU110aにて実行が開始されるように予め設定されており、メインCPU110a自身の自己診断処理や、メインCPU110aの内蔵レジスタや周辺回路等(検査値生成部500を含む)の初期化及び初期値(HWパラメータを含む)の設定処理(以下「初期値設定処理」という)を制御するものである。また、本実施形態では、ブート処理後に実行される遊技処理用プログラムや認証処理用プログラム等、ブート処理用プログラム以外のプログラムを「ユーザープログラム」という。   As shown in FIG. 6C, the boot ROM 110d stores in advance a boot processing program and fixed data used when the boot processing program is executed. The boot processing program is set in advance to be read from the boot ROM 110d into a boot processing dedicated RAM (not shown) immediately after the main CPU 110a is started, and to be executed by the main CPU 110a. Controls diagnosis processing, initialization of built-in registers and peripheral circuits of the main CPU 110a (including the test value generation unit 500) and setting processing of initial values (including HW parameters) (hereinafter referred to as “initial value setting processing”). Is. In the present embodiment, a program other than the boot processing program such as a game processing program and an authentication processing program executed after the boot processing is referred to as a “user program”.

ブート処理用プログラムは、CPUメーカーが開発・実装するプログラムであり、これらが記憶されたブートROM110dに対するアクセスは、遊技機1の出荷後、ブート処理時のメインCPU110aからのアクセスにのみ制限されている。一方、ユーザープログラムは、遊技機メーカーが開発・実装するプログラムであり、これらが記憶されたメインROM110bに対するアクセスは、遊技処理が実行されるたびにメインCPU110aからアクセスされる。   The boot processing program is a program developed and implemented by a CPU manufacturer, and access to the boot ROM 110d in which these programs are stored is limited to access from the main CPU 110a during boot processing after the gaming machine 1 is shipped. . On the other hand, the user program is a program developed and implemented by a gaming machine manufacturer, and access to the main ROM 110b in which these are stored is accessed from the main CPU 110a every time a game process is executed.

しかしながら、メインROM110bの記憶領域でも、ユーザープログラムや固定データ等(固有情報を含む)が記憶された領域以外の記憶領域(上記初期値やHWパラメータが記憶された領域等)は、ブート処理用プログラムの中でのみ定義された領域であり、遊技処理に係るユーザープログラム上では全く現れることが無い領域とされている。つまり、ユーザープログラムや固定データ等が記憶された領域以外の記憶領域は、ブート処理が終了した後は、ユーザープログラムからはアクセスできないように実質的な制限がかけられた領域とされている。   However, even in the storage area of the main ROM 110b, a storage area (such as an area in which the initial value or HW parameter is stored) other than an area in which a user program, fixed data, or the like (including unique information) is stored is a boot processing program. This area is defined only in the game area and does not appear at all on the user program related to the game process. That is, the storage area other than the area where the user program, fixed data, and the like are stored is an area that is substantially restricted so that it cannot be accessed from the user program after the boot process is completed.

但し、不正なアクセスを試みられた場合を考慮して、次のような更なるアクセス制限をかけることで、ブート処理時にのみ得られるHWパラメータの秘匿性をより向上させることができる。例えば、ブートROM110d及びメインROM110bへのアクセス制限は、主制御部110に実行アドレス監視手段(図示せず)を設けておき、ブート処理終了後に実行アドレス監視手段を作動させ、ユーザープログラムが所定のアドレスを超えた領域へアクセスしようとした場合には、メインCPU110aへリセット信号を出力してメインCPU110aを動作停止状態にすればよい。また、リセット信号を出力しないまでも、異常を検知した旨を示す報知信号を出力するようにしてもよい。   However, in consideration of the case where unauthorized access is attempted, the following additional access restriction is applied, so that the confidentiality of the HW parameter obtained only during the boot process can be further improved. For example, in order to restrict access to the boot ROM 110d and the main ROM 110b, an execution address monitoring unit (not shown) is provided in the main control unit 110, and the execution address monitoring unit is activated after the boot process is completed. If an attempt is made to access an area exceeding the range, a reset signal may be output to the main CPU 110a to put the main CPU 110a in an operation stop state. Further, a notification signal indicating that an abnormality has been detected may be output before the reset signal is output.

また、HWパラメータのメインROM110bへの実装においては複数の方法が考えられる。例えば、検査値生成部500に予め用意された複数の誤り検査値生成機能のそれぞれと対応する複数のHWパラメータを予め用意し、メインROM110bに実装する。そして、初期値設定処理の中で、どのHWパラメータを採用するかを選択するためのプログラムをブートROM110dに実装しておき、ブート処理のたびにどの誤り検査値生成機能を用いるのかを任意に選択できるように構成することができる。このように実装すると、ブート処理のたびに誤り検査値生成機能が変更され、誤り検査値生成機能の秘匿性を向上させることができ、遊技機1のセキュリティ強度を向上させることができる。   A plurality of methods are conceivable for mounting the HW parameters in the main ROM 110b. For example, a plurality of HW parameters corresponding to each of a plurality of error check value generation functions prepared in advance in the check value generation unit 500 are prepared in advance and mounted in the main ROM 110b. In the initial value setting process, a program for selecting which HW parameter to use is installed in the boot ROM 110d, and any error check value generation function is arbitrarily selected for each boot process. It can be configured to be able to. When implemented in this manner, the error check value generation function is changed every time the boot process is performed, the confidentiality of the error check value generation function can be improved, and the security strength of the gaming machine 1 can be improved.

一方、検査値生成部500の誤り検査値生成機能については予め複数用意するものの、特定のHWパラメータのみをメインROM110bに実装し、これに対応する特定の誤り検査値生成機能のみが採用されるように構成することもできる。このように実装すると、ブート処理でのHWパラメータの選択処理に伴うプログラムを新たに設ける必要がなく、プログラムのコードサイズを増大させることがない。また、このように実装すると、遊技機メーカーが特定の誤り検査値生成機能だけを採用したい場合であっても、遊技機メーカーが行うプログラム実装過程において、所望の誤り検査値生成機能に対応したHWパラメータのみをメインROM110bに実装すればよく、遊技機メーカーの用途や嗜好に柔軟に対応することができる。   On the other hand, although a plurality of error check value generation functions of the check value generation unit 500 are prepared in advance, only a specific HW parameter is mounted on the main ROM 110b, and only a specific error check value generation function corresponding to this is adopted. It can also be configured. When implemented in this way, it is not necessary to newly provide a program associated with the HW parameter selection process in the boot process, and the code size of the program is not increased. In addition, when implemented in this way, even if the gaming machine manufacturer wants to adopt only a specific error check value generation function, the HW corresponding to the desired error check value generation function in the program implementation process performed by the gaming machine manufacturer. Only the parameters need be mounted on the main ROM 110b, and the usage and preference of the gaming machine manufacturer can be flexibly dealt with.

なお、この場合であっても、HWパラメータは、主制御部110のブート処理時の初期値設定時以外ではアクセスされない記憶領域に記憶されているため、外部から誤り検査値生成機能の内容を知ることができない。そのため、不正者が、遊技機1で採用された誤り検査値生成機能を解析することは困難であり、遊技機1が有する誤り検査値生成機能の秘匿性は確保される。また、遊技機1の開発段階中で設計・検証作業などに使用するHWパラメータと、その後に実際に実装されるHWパラメータとを変えることによって、最終的にどのHWパラメータが実装されたのかを知り得る者が限定され、誤り検査値生成機能の秘匿性は更に向上する。本実施形態では、特定の誤り検査値生成機能に対応する特定のHWパラメータのみがメインROM110bに実装されていることとして説明する。   Even in this case, since the HW parameter is stored in a storage area that is not accessed except when the initial value is set during the boot process of the main control unit 110, the contents of the error check value generation function are known from the outside. I can't. For this reason, it is difficult for an unauthorized person to analyze the error check value generation function employed in the gaming machine 1, and the confidentiality of the error check value generation function of the gaming machine 1 is ensured. In addition, by changing the HW parameters used for design / verification work during the development stage of the gaming machine 1 and the HW parameters that are actually mounted thereafter, it is possible to know which HW parameters are finally mounted. The person who obtains it is limited, and the confidentiality of the error check value generation function is further improved. In the present embodiment, description will be made assuming that only a specific HW parameter corresponding to a specific error check value generation function is mounted in the main ROM 110b.

メインRAM110cは、メインCPU110aの演算処理時におけるデータのワークエリアとして機能し、上記のように遊技進行に係る処理を実行するための複数の記憶領域の他、認証処理に関する記憶領域も有している。具体的には、メインRAM110cは、コマンド送信処理の度にメインCPU110aが制御コマンドを生成し、生成した制御コマンドを送信部550へ送出した個数(以下、「送出個数」という)を記憶しておく送出個数記憶領域(P)を有している。送出個数(P;正の整数)は、遊技機1のリセット時など主制御部110が初期化された直後から、現在までに何個の制御コマンドが生成され、送信部550へ送出されたのかを示す値である。   The main RAM 110c functions as a data work area at the time of arithmetic processing of the main CPU 110a, and also has a storage area for authentication processing in addition to a plurality of storage areas for executing processing related to game progress as described above. . Specifically, the main RAM 110c stores the number of control commands generated by the main CPU 110a each time a command transmission process is performed, and the generated control commands transmitted to the transmission unit 550 (hereinafter referred to as “transmission number”). It has a sending number storage area (P). The number of transmissions (P; a positive integer) indicates how many control commands have been generated and sent to the transmission unit 550 immediately after the main control unit 110 is initialized, such as when the gaming machine 1 is reset. Is a value indicating

送出個数のPの値は、公知のカウンタ回路等で計数すればよく、メインCPU110aがコマンド送信処理の際に送出個数記憶領域(P)の値に1を加算して更新する。なお、主制御部110の初期化された場合には、検査値生成部500の格納回路522に格納された制御コマンドがクリアされる。このため、メインCPU110aは、コマンド送信処理の際に、メインRAM110cの送出個数記憶領域(P)の値を参照し、送出個数記憶領域(P)の値が初期化直後の値(例えばP=1)を示す場合には、格納回路522に格納された制御コマンドがクリアされた直後であって格納回路522へ固有情報を設定する必要があると判断する。そして、メインCPU110aは、メインROM110bから固有情報を読み出し、格納回路522に固有情報を初期設定値として設定する。   The value P of the number to be sent may be counted by a known counter circuit or the like, and the main CPU 110a updates the value in the sending number storage area (P) by adding 1 at the time of command transmission processing. When the main control unit 110 is initialized, the control command stored in the storage circuit 522 of the test value generation unit 500 is cleared. Therefore, the main CPU 110a refers to the value of the transmission number storage area (P) of the main RAM 110c during the command transmission process, and the value of the transmission number storage area (P) is a value immediately after initialization (for example, P = 1). ), It is determined that it is necessary to set unique information in the storage circuit 522 immediately after the control command stored in the storage circuit 522 is cleared. Then, the main CPU 110a reads unique information from the main ROM 110b and sets the unique information in the storage circuit 522 as an initial setting value.

送信部550は、メインCPU110aから送出された制御コマンド又は誤り検査値を中間制御部180へ送信する機能を有し、送信バッファ551と送信回路552とを少なくとも備えている。送信バッファ551は、中間制御部180へ送信するデータを一時的に保持するためのバッファ回路である。また、送信回路552は、中間制御部180へ送信するデータを、主制御部110と中間制御部180との間のデータ伝送形式(シリアル伝送形式やパラレル伝送形式)に対応したデータ形式へ変換する機能などを有している。   The transmission unit 550 has a function of transmitting a control command or error check value sent from the main CPU 110a to the intermediate control unit 180, and includes at least a transmission buffer 551 and a transmission circuit 552. The transmission buffer 551 is a buffer circuit for temporarily holding data to be transmitted to the intermediate control unit 180. The transmission circuit 552 converts data to be transmitted to the intermediate control unit 180 into a data format corresponding to a data transmission format (serial transmission format or parallel transmission format) between the main control unit 110 and the intermediate control unit 180. It has functions.

送信部550は、内部バス400を介して、メインCPU110aから送出されたデータ(制御コマンド又は誤り検査値)を送信部550(詳細には、送信バッファ551)へ書き込むための書き込み信号と、送信部550を指定するアドレスデータとが入力されると、内部バス400のデータバス400a上から当該送出データを送信バッファ551に取り込む。そして、送信部550は、送信バッファ551に取り込んだデータを送信回路552へ直ちに受け渡す。そして、送信部550は、送信回路552に受け渡されたデータに上記データ形式変換処理等を施して送信データを生成し、中間制御部180へ直ちに送信する。   The transmission unit 550 includes a write signal for writing data (control command or error check value) transmitted from the main CPU 110a via the internal bus 400 to the transmission unit 550 (specifically, the transmission buffer 551), and a transmission unit When address data specifying 550 is input, the transmission data is taken into the transmission buffer 551 from the data bus 400 a of the internal bus 400. Then, the transmission unit 550 immediately transfers the data fetched into the transmission buffer 551 to the transmission circuit 552. Then, the transmission unit 550 performs the data format conversion process on the data transferred to the transmission circuit 552 to generate transmission data, and immediately transmits the transmission data to the intermediate control unit 180.

検査値生成部500は、メインCPU110aの周辺回路として設けられた誤り検査値生成機能を有する回路である。検査値生成部500は、内部バス400と接続されており、メインCPU110aが送信部550へ送出する制御コマンドを、内部バス400から取得し、取得した制御コマンドを用いて誤り検査値を生成する。そして、検査値生成部500は、メインCPU110aから誤り検査値の読み出し信号が入力されると、誤り検査値をメインCPU110aへ送出する。   The check value generation unit 500 is a circuit having an error check value generation function provided as a peripheral circuit of the main CPU 110a. The check value generation unit 500 is connected to the internal bus 400, acquires a control command sent from the main CPU 110a to the transmission unit 550 from the internal bus 400, and generates an error check value using the acquired control command. Then, when the error check value read signal is input from the main CPU 110a, the check value generation unit 500 sends the error check value to the main CPU 110a.

具体的には、検査値生成部500は、送信部550を指定するアドレスと同じアドレスが割り当てられている取得手段510を備えている。そして、メインCPU110aがコマンド送信処理を行う際に、内部バス400のアドレスバス400bに送信部550を指定するアドレスデータ、制御バス400cに書き込み信号が送出されると、当該アドレスデータ及び書き込み信号は、取得手段510にも入力される。   Specifically, the test value generation unit 500 includes an acquisition unit 510 to which the same address as the address that designates the transmission unit 550 is assigned. When the main CPU 110a performs the command transmission process, when address data specifying the transmission unit 550 is sent to the address bus 400b of the internal bus 400 and a write signal is sent to the control bus 400c, the address data and the write signal are Also input to the acquisition means 510.

そして、検査値生成部500は、当該アドレスデータ及び書き込み信号が入力されると、データバス400aから制御コマンドを取り込んで、制御コマンドを取得する。そして、検査値生成部500は、取得した制御コマンドを用いて誤り検査値を生成すると、これを保存しておく。そして、検査値生成部500は、メインCPU110aがコマンド送信処理中に検査値付加処理を行う際に、内部バス400のアドレスバス400bに検査値生成部500(詳細には、後述する生成手段520の送出回路527)を指定するアドレスデータ、制御バス400cに読み出し信号が送出されると、保存しておいた誤り検査値をデータバス400aへ送出する。   Then, when the address data and the write signal are input, the test value generation unit 500 takes in the control command from the data bus 400a and acquires the control command. Then, when the check value generation unit 500 generates an error check value using the acquired control command, the check value generation unit 500 stores the error check value. Then, when the main CPU 110a performs the test value addition process during the command transmission process, the test value generation unit 500 adds the test value generation unit 500 (details of the generation unit 520 described later in detail) to the address bus 400b of the internal bus 400. When a read signal is sent to the address data specifying the sending circuit 527) and the control bus 400c, the stored error check value is sent to the data bus 400a.

検査値生成部500は、図5に示すように、取得手段510、決定手段540、及び生成手段520を少なくとも備えているが、検査値生成部500を構成するこれらの手段は、ワイヤードロジック制御方式で回路構成されており、メインCPU110aからの指示を受けずに誤り検査値を生成する。本実施形態では、検査値生成部500内の各手段同士及び各手段内の各回路同士でのデータ送受は、主制御部110のクロックパルス発生回路から出力されたクロック信号に同期して行われる。本実施形態では、検査値生成部500内の各手段や各回路の入出力制御方式を、「同期インターフェース方式」という。同期インターフェース方式では、出力するデータの接続先に対してイネーブル信号等を出力すれば、接続先は当該イネーブル信号及びクロック信号等の入力に基づいて、当該出力データを取り込む。同期インターフェース方式は、主制御部110の各構成部間において行われる内部バス400を介したデータ送受の方式であるCPUインターフェース方式とは異なる。   As shown in FIG. 5, the inspection value generation unit 500 includes at least an acquisition unit 510, a determination unit 540, and a generation unit 520. These units constituting the inspection value generation unit 500 are wired logic control methods. And generates an error check value without receiving an instruction from the main CPU 110a. In the present embodiment, data transmission / reception between each means in the test value generation unit 500 and between each circuit in each means is performed in synchronization with the clock signal output from the clock pulse generation circuit of the main control unit 110. . In the present embodiment, the input / output control method of each means and each circuit in the test value generation unit 500 is referred to as a “synchronous interface method”. In the synchronous interface method, when an enable signal or the like is output to a connection destination of data to be output, the connection destination takes in the output data based on inputs of the enable signal and the clock signal. The synchronous interface method is different from the CPU interface method, which is a method for data transmission / reception via the internal bus 400 performed between the components of the main control unit 110.

[検査値生成部の構成]
これより、主制御部110に対する認証機能実現のために設けられた誤り検査値生成機能を有する検査値生成部500について説明する。
まず、検査値生成部500が有する誤り検査値生成機能の概要について説明する。
[Configuration of inspection value generator]
Hereafter, the test value generation unit 500 having an error check value generation function provided for realizing the authentication function for the main control unit 110 will be described.
First, an outline of the error check value generation function of the check value generation unit 500 will be described.

検査値生成部500は、今回のコマンド送信処理でメインCPU110aから送信部550へ送出された制御コマンドを内部バス400から取得する。そして、検査値生成部500は、今回取得した制御コマンドを格納回路522に格納すると共に、取得した制御コマンドよりN個前に取得し格納回路522に格納しておいた制御コマンドを用いて誤り検査値を生成する。   The test value generation unit 500 acquires the control command sent from the main CPU 110 a to the transmission unit 550 in the current command transmission process from the internal bus 400. Then, the test value generation unit 500 stores the control command acquired this time in the storage circuit 522, and checks the error using the control command acquired N times before the acquired control command and stored in the storage circuit 522. Generate a value.

ここで、本実施形態では、今回のコマンド送信処理において送出された制御コマンドを制御コマンド(P)とし、当該制御コマンド(P)よりN個前に送出された制御コマンドを制御コマンド(P−N)とする。すなわち、本実施形態では、制御コマンド(1)は、主制御部110が初期化された直後に最初に送出された制御コマンドを意味し、制御コマンド(P)は、初期化されてからP番目に送出された制御コマンドを意味する。また、本実施形態では、制御コマンド(P−N)を用いて生成された誤り検査値を誤り検査値(P−N)とする。   Here, in the present embodiment, the control command sent in the current command transmission process is the control command (P), and the control command sent N times before the control command (P) is the control command (PN). ). That is, in the present embodiment, the control command (1) means a control command that is first transmitted immediately after the main control unit 110 is initialized, and the control command (P) is Pth after the initialization. Means the control command sent to. In the present embodiment, the error check value generated using the control command (PN) is set as the error check value (PN).

Nの値は、今回のコマンド送信処理において送出された制御コマンドに対して、何個前に送出された制御コマンドを用いて誤り検査値を生成するのかを示した値である(以下、Nを「遡及数」という)。遡及数のNの値の取り得る範囲は、過去の制御コマンドを格納している格納回路522(及び中間制御部180の後述する格納部622)の記憶容量によって制限されるものの、基本的には任意である。Nの値が大きければ、不正者にとっては、制御コマンドとそれに付加された誤り検査値との関係性を解析することがより困難となり、不正行為をより一層防止することができる。   The value of N is a value indicating the number of previous control commands sent in response to the control command sent in the current command sending process to generate an error check value (hereinafter, N is "Retrospective number"). The possible range of the retroactive number N is limited by the storage capacity of the storage circuit 522 (and the storage unit 622 to be described later of the intermediate control unit 180) that stores the past control commands. Is optional. If the value of N is large, it becomes more difficult for an unauthorized person to analyze the relationship between a control command and an error check value added to the control command, and illegal acts can be further prevented.

そして、検査値生成部500は、制御コマンド(P−N)を用いて誤り検査値(P−N)を生成した後、生成した誤り検査値(P−N)のビット列に対してビット演算を行って誤り検査値(P−N)のビット列を適宜変換する処理(以下、「ビット列変換処理」という)を行う。本実施形態では、誤り検査値(P−N)にビット列変換処理を施す際に、当該誤り検査値(P−N)のビット列に対して行うビット演算の方式(以下、「変換方式」という)として、誤り検査値(P−N)のビット列にビットローテート演算を行って当該ビット列を変換する方式を用いる。   The check value generation unit 500 generates an error check value (PN) using the control command (PN), and then performs a bit operation on the bit string of the generated error check value (PN). And processing for appropriately converting the bit string of the error check value (PN) (hereinafter referred to as “bit string conversion process”). In the present embodiment, when performing bit string conversion processing on the error check value (PN), a bit operation method (hereinafter referred to as “conversion method”) performed on the bit string of the error check value (PN). As a method, a bit rotation operation is performed on the bit string of the error check value (PN) to convert the bit string.

また、検査値生成部500には、誤り検査値(P−N)にビット列変換処理を施す際の変換方式として、複数の変換方式が予め用意されている。予め用意された変換方式の個数は、本発明では特に限定されないが、本実施形態では2つの変換方式が予め用意されているものとする。具体的には、本実施形態では、1回のビット列変換処理の中で行われるビットローテート演算において、ビット列を構成する各ビットを何ビット分だけシフトさせるのかを示す「シフト量」の取り決め方に応じて、2つの変換方式が予め用意されている。   In addition, in the check value generation unit 500, a plurality of conversion methods are prepared in advance as conversion methods when performing bit string conversion processing on the error check value (PN). The number of conversion methods prepared in advance is not particularly limited in the present invention, but in this embodiment, two conversion methods are prepared in advance. Specifically, in this embodiment, in a bit rotation operation performed in one bit string conversion process, a method of determining a “shift amount” that indicates how many bits each bit constituting the bit string is shifted. Accordingly, two conversion methods are prepared in advance.

より詳細には、シフト量が、予め中間制御部180との間で取り決められたルールに従って規則的に変動する変換方式(以下、「変換方式A」という)と、シフト量が、予め中間制御部180との間で取り決められておらず、ランダムに変動する変換方式(以下、「変換方式B」という)との2つの変換方式である。本実施形態では、変換方式Aでビット列変換処理を施す際のビットローテート演算において用いられるシフト量を「シフト量A」といい、変換方式Bでビット列変換処理を施す際のビットローテート演算において用いられるシフト量を「シフト量B」という。   More specifically, a conversion method (hereinafter referred to as “conversion method A”) in which the shift amount regularly varies according to a rule determined in advance with the intermediate control unit 180, and the shift amount is determined in advance by the intermediate control unit. There are two conversion methods, namely, a conversion method that is not negotiated with 180 and changes randomly (hereinafter referred to as “conversion method B”). In the present embodiment, the shift amount used in the bit rotation operation when performing the bit string conversion processing by the conversion method A is referred to as “shift amount A”, and is used in the bit rotation operation when performing the bit sequence conversion processing by the conversion method B. The shift amount is referred to as “shift amount B”.

そして、検査値生成部500は、予め用意された上記2つの変換方式を適宜使い分けながら、誤り検査値(P−N)にビット列変換処理を施す。具体的には、デフォルトの変換方式として、変換方式Aと変換方式Bのいずれかを用いることと定めておく。そして、検査値生成部500は、今回のコマンド送信処理においてメインCPU110aが送出した制御コマンド(P)を取得すると、取得した制御コマンド(P)に基づいて、予め定められた変換方式の変更規則(以下、「変更プロトコル」という)に従って、現在まで設定されていた変換方式を新たな変換方式へ変更する。   Then, the check value generation unit 500 performs bit string conversion processing on the error check value (PN) while properly using the two conversion methods prepared in advance as appropriate. Specifically, it is determined that one of conversion method A and conversion method B is used as the default conversion method. Then, when the test value generation unit 500 acquires the control command (P) sent from the main CPU 110a in the current command transmission process, the inspection value generation unit 500 determines a predetermined conversion method change rule (P) based on the acquired control command (P). Hereinafter, the conversion method set up to the present is changed to a new conversion method in accordance with “change protocol”.

なお、本実施形態では、ビット列変換処理の際に用いる変換方式を、後述の決定手段540が決定するが、決定手段540が変換方式を決定し、決定した変換方式でビット列変換処理が行われるように後述の生成手段520に対する設定を行う処理を「変換方式設定処理」という。また、今回のコマンド送信処理において送信部550へ送出された制御コマンド(P)が変換方式を変更する制御コマンドであるための条件を「変更条件」といい、本実施形態では、変更条件についても複数の変更条件が予め用意されている。   In the present embodiment, the determination unit 540 described later determines the conversion method used in the bit string conversion process. However, the determination unit 540 determines the conversion method, and the bit string conversion process is performed using the determined conversion method. A process for setting the generation unit 520 described later is referred to as a “conversion method setting process”. In addition, a condition for the control command (P) sent to the transmission unit 550 in the current command transmission process to be a control command for changing the conversion method is referred to as a “change condition”. A plurality of change conditions are prepared in advance.

また、本実施形態では、ビット列変換処理を施す際のビットローテート演算において用いられるシフト量を、後述の生成手段520が更新するが、生成手段520がシフト量を更新し、更新したシフト量でビットローテート演算が行われるように後述のビット列変換回路525を担うローテート演算器に対する設定を行う処理を「シフト量設定処理」という。なお、シフト量設定処理では、シフト量Aを規則的に変動させるためにシフト量Aを適宜更新し、シフト量Bをランダムに変動させるためにシフト量Bを適宜更新する。本実施形態では、シフト量A、Bをどのようなタイミングで更新していくのかを規定するための条件(以下、「更新タイミング条件」という)として、シフト量Aに係る更新タイミング条件は、複数の条件が予め用意されており、シフト量Bに係る更新タイミング条件は、1つの条件が予め用意されている。   In the present embodiment, the generation unit 520 described later updates the shift amount used in the bit rotation calculation when performing the bit string conversion processing. However, the generation unit 520 updates the shift amount, and the updated shift amount is used as a bit. A process for setting a rotate arithmetic unit that bears a bit string conversion circuit 525, which will be described later, so that the rotate calculation is performed is referred to as a “shift amount setting process”. In the shift amount setting process, the shift amount A is appropriately updated in order to change the shift amount A regularly, and the shift amount B is appropriately updated in order to randomly change the shift amount B. In the present embodiment, as conditions for defining at what timing the shift amounts A and B are updated (hereinafter referred to as “update timing conditions”), there are a plurality of update timing conditions related to the shift amount A. Is prepared in advance, and one condition is prepared in advance for the update timing condition related to the shift amount B.

また、本実施形態では、誤り検査値(P−N)に変換方式Aでビット列変換処理を施す際、変換方式Aで用いられるシフト量Aを再設定する。具体的には、本実施形態では、今回のコマンド送信処理において送出された制御コマンド(P)に付加する誤り検査値(P−N)に対して、変換方式Aでビット列変換処理を施す際に、取得した制御コマンド(P)が所定の条件(以下、「リセット条件」という)を満たす制御コマンドであれば、シフト量Aに所定の設定値を与えて、シフト量Aを当該設定値に再設定する。シフト量Aの再設定によって、それまでの更新によるシフト量Aの規則的な変動の推移が一旦リセットされる。なお、本実施形態のリセット条件は、シフト量Aに係るリセット条件として複数の条件が予め用意されていると共に、シフト量Bに係るリセット条件は用意されておらずシフト量Bの再設定は行われない。   In the present embodiment, when the bit string conversion process is performed on the error check value (PN) by the conversion method A, the shift amount A used in the conversion method A is reset. Specifically, in this embodiment, when the bit string conversion process is performed by the conversion method A on the error check value (PN) added to the control command (P) sent in the command transmission process this time. If the acquired control command (P) is a control command satisfying a predetermined condition (hereinafter referred to as “reset condition”), a predetermined set value is given to the shift amount A, and the shift amount A is reset to the set value. Set. By resetting the shift amount A, the transition of the regular fluctuation of the shift amount A due to the update so far is once reset. The reset condition of the present embodiment is prepared in advance as a plurality of reset conditions related to the shift amount A, and the reset condition related to the shift amount B is not prepared. I will not.

このように、検査値生成部500が有する複数の誤り検査値生成機能の具体的な実施態様として、本実施形態では、複数の変更条件、シフト量Aに係る複数の更新タイミング条件、及びシフト量Aに係る複数のリセット条件が予め用意されている。すなわち、どの変更条件が採用されたのかに応じて、変更条件を満たす制御コマンドの種類が変わる。そして、変更条件を満たす制御コマンドの種類が変わると、ある時点に送信される制御コマンドに付加される誤り検査値にとっては、ビット列変換処理が施される際に用いられる変換方式も変わる。結果的に、どの変更条件が採用されたのかに応じて、制御コマンドに付加される誤り検査値のビット列が変わるため、複数の変更条件が予め用意されているのである。更に、どの更新タイミング条件が採用されたのかに応じて、変換方式Aでビット列変換処理を行う際のシフト量Aが更新されるタイミングが変わり、ある時点に送信される制御コマンドに付加される誤り検査値にとっては、変換方式Aのビットローテート演算で用いられるシフト量も変わる。結果的に、どの更新タイミング条件が採用されたのかに応じて、制御コマンドに付加される誤り検査値のビット列が変わるため、シフト量Aに係る複数の更新タイミング条件が予め用意されているのである。加えて、どのリセット条件が採用されたのかに応じて、変換方式Aでビット列変換処理を行う際のシフト量Aの変動推移も変わり、ある時点に送信される制御コマンドに付加される誤り検査値にとっては、変換方式Aのビットローテート演算で用いられるシフト量も変わる。結果的に、どのリセット条件が採用されたのかに応じて、制御コマンドに付加される誤り検査値のビット列が変わるため、複数のリセット条件が予め用意されているのである。   As described above, as a specific embodiment of the plurality of error check value generation functions of the check value generation unit 500, in the present embodiment, a plurality of change conditions, a plurality of update timing conditions related to the shift amount A, and the shift amount A plurality of reset conditions according to A are prepared in advance. That is, the type of control command that satisfies the change condition changes depending on which change condition is adopted. When the type of the control command that satisfies the change condition changes, the conversion method used when the bit string conversion process is performed for the error check value added to the control command transmitted at a certain time also changes. As a result, since the bit string of the error check value added to the control command changes depending on which change condition is adopted, a plurality of change conditions are prepared in advance. Furthermore, depending on which update timing condition is adopted, the timing at which the shift amount A when the bit string conversion process is performed in the conversion method A changes, and an error added to a control command transmitted at a certain time For the inspection value, the shift amount used in the bit rotation operation of the conversion method A also changes. As a result, since the bit string of the error check value added to the control command changes depending on which update timing condition is adopted, a plurality of update timing conditions related to the shift amount A are prepared in advance. . In addition, depending on which reset condition is adopted, the change transition of the shift amount A when performing the bit string conversion processing in the conversion method A also changes, and an error check value added to a control command transmitted at a certain time Therefore, the shift amount used in the bit rotation operation of the conversion method A also changes. As a result, since the bit string of the error check value added to the control command changes depending on which reset condition is adopted, a plurality of reset conditions are prepared in advance.

そして、本実施形態では、誤り検査値生成機能の選択情報である複数のHWパラメータに対し、複数の変更条件がそれぞれ対応付けられており、検査値生成部500の決定手段540に予め記憶されている。また、本実施形態では、複数のHWパラメータに対し、シフト量Aに係る複数の更新タイミング条件がそれぞれ対応付けられており、検査値生成部500の生成手段520に予め記憶されている。また、本実施形態では、複数のHWパラメータに対し、シフト量Aに係る複数のリセット条件がそれぞれ対応付けられており、検査値生成部500の生成手段520に予め記憶されている。そして、ブート処理中の初期値設定処理の際、メインCPU110aが検査値生成部500へ特定のHWパラメータを設定すると、検査値生成部500は、設定されたHWパラメータを確認し、当該HWパラメータに対応した変更条件、更新タイミング条件、及びリセット条件をデフォルトの条件としてそれぞれ設定する。   In this embodiment, a plurality of change conditions are associated with a plurality of HW parameters that are selection information of the error check value generation function, and are stored in advance in the determination unit 540 of the check value generation unit 500. Yes. In the present embodiment, a plurality of update timing conditions related to the shift amount A are associated with a plurality of HW parameters, respectively, and stored in advance in the generation unit 520 of the test value generation unit 500. In the present embodiment, a plurality of reset conditions related to the shift amount A are associated with a plurality of HW parameters, respectively, and stored in advance in the generation unit 520 of the inspection value generation unit 500. When the main CPU 110a sets a specific HW parameter in the test value generation unit 500 during the initial value setting process during the boot process, the test value generation unit 500 confirms the set HW parameter and sets the HW parameter. Corresponding change conditions, update timing conditions, and reset conditions are set as default conditions.

なお、本実施形態では、メインCPU110aが行う設定処理であって、ブート処理中の初期値設定処理でも、特に、検査値生成部500へ特定のHWパラメータを設定する処理を「HWパラメータ設定処理」という。また、本実施形態では、検査値生成部500が行う設定処理であって、HWパラメータ設定処理に伴ってデフォルトの変更条件を決定し、検査値生成部500を構成する後述の決定手段540に対して、当該決定した変更条件を設定する処理を「変更条件設定処理」という。また、本実施形態では、検査値生成部500が行う設定処理であって、HWパラメータ設定処理に伴ってシフト量Aに係るデフォルトの更新タイミング条件を決定し、検査値生成部500を構成する後述の生成手段520に対して、当該決定した更新タイミング条件を設定する処理を「更新タイミング条件設定処理」という。また、本実施形態では、検査値生成部500が行う設定処理であって、HWパラメータ設定処理に伴ってシフト量Aに係るデフォルトのリセット条件を決定し、検査値生成部500を構成する後述の生成手段520に対して、当該決定したリセット条件を設定する処理を「リセット条件設定処理」という。   In the present embodiment, in the setting process performed by the main CPU 110a, even in the initial value setting process during the boot process, a process for setting a specific HW parameter in the test value generation unit 500 is particularly referred to as “HW parameter setting process”. That's it. Further, in the present embodiment, a setting process performed by the inspection value generation unit 500, a default change condition is determined along with the HW parameter setting process, and a determination unit 540 described later that configures the inspection value generation unit 500 is used. The process of setting the determined change condition is referred to as “change condition setting process”. Further, in the present embodiment, it is a setting process performed by the inspection value generation unit 500, and a default update timing condition related to the shift amount A is determined along with the HW parameter setting process, and the inspection value generation unit 500 is configured later. The process of setting the determined update timing condition for the generation unit 520 is referred to as “update timing condition setting process”. Further, in the present embodiment, a setting process performed by the inspection value generation unit 500, which is described later, which determines a default reset condition related to the shift amount A in accordance with the HW parameter setting process and configures the inspection value generation unit 500. A process for setting the determined reset condition for the generation unit 520 is referred to as a “reset condition setting process”.

そして、検査値生成部500は、今回のコマンド送信処理においてメインCPU110aが送信部550へ送出された制御コマンド(P)を取得し、取得した制御コマンド(P)よりN個前に送出された制御コマンド(P−N)を用いて誤り検査値(P−N)を生成する。更に、検査値生成部500は、変換方式A又は変換方式Bのいずれかで誤り検査値(P−N)のビット列を変換する。このとき、検査値生成部500は、取得した制御コマンド(P)が変更条件を満たす制御コマンドであれば、現在まで設定されていた変換方式を新たな変換方式に変更した上で、誤り検査値(P−N)のビット列を変換する。更に、検査値生成部500、変換方式Aのビットローテート演算で用いられるシフト量A、及び変換方式Bのビットローテート演算で用いられるシフト量Bをそれぞれ適宜更新する。このとき、検査値生成部500、取得した制御コマンド(P)がシフト量Aに係るリセット条件を満たす制御コマンドであれば、現在まで更新されていたシフト量Aに所定の設定値を与えてシフト量Aを再設定する。そして、メインCPU110aから誤り検査値を読み出すための読み出し信号が入力されれば、検査値生成部500は、当該ビット列が変換された誤り検査値(P−N)を内部バス400のデータバス400aに送出する。   Then, the test value generation unit 500 acquires the control command (P) sent from the main CPU 110a to the sending unit 550 in the current command transmission process, and the control value sent N times before the acquired control command (P). An error check value (PN) is generated using the command (PN). Further, the check value generation unit 500 converts the bit string of the error check value (PN) using either the conversion method A or the conversion method B. At this time, if the acquired control command (P) is a control command that satisfies the change condition, the check value generation unit 500 changes the conversion method that has been set up to the present time to a new conversion method, and then checks the error check value. The bit string of (PN) is converted. Further, the check value generation unit 500, the shift amount A used in the bit rotation operation of the conversion method A, and the shift amount B used in the bit rotation operation of the conversion method B are updated appropriately. At this time, if the acquired control command (P) is a control command that satisfies the reset condition related to the shift amount A, the predetermined value is given to the shift amount A that has been updated up to now and shifted. Reset amount A. When a read signal for reading an error check value is input from the main CPU 110a, the check value generation unit 500 sends the error check value (PN) obtained by converting the bit string to the data bus 400a of the internal bus 400. Send it out.

次に、図7を用いて、上記誤り検査値生成機能を実現するために設けられた検査値生成部500の構成について説明する。
図7は、主制御部110を構成する検査値生成部500の内部構成を示すブロック図である。
Next, the configuration of the check value generation unit 500 provided to realize the error check value generation function will be described with reference to FIG.
FIG. 7 is a block diagram showing an internal configuration of the inspection value generation unit 500 constituting the main control unit 110.

検査値生成部500は、取得手段510、決定手段540、及び生成手段520を少なくとも備えている。取得手段510は、メインCPU110aから内部バス400へ送出された制御コマンドを取得する回路である。生成手段520は、制御コマンドを用いて誤り検査値を生成し、そのビット列を変換した後、内部バス400へ送出する回路である。また、決定手段540は、生成手段520で行われる誤り検査値のビット列変換に用いる変換方式を制御する回路である。   The inspection value generation unit 500 includes at least an acquisition unit 510, a determination unit 540, and a generation unit 520. The acquisition unit 510 is a circuit that acquires a control command sent from the main CPU 110 a to the internal bus 400. The generation means 520 is a circuit that generates an error check value using a control command, converts the bit string, and sends it to the internal bus 400. The determining unit 540 is a circuit that controls a conversion method used for bit string conversion of the error check value performed by the generating unit 520.

取得手段510は、メインCPU110aから内部バス400へ送出されたデータの内容を判別するデータ判別回路511と、データ判別回路511の動作を制御する制御回路512とを備えている。データ判別回路511の入力側は、内部バス400のデータバス400aと接続されており、データ判別回路511の出力側は、決定手段540の後述する判定回路541並びに生成手段520の格納回路522及びリセット判定回路528とデータ線でそれぞれ接続されている。制御回路512の入力側は、内部バス400のアドレスバス400b及び制御バス400cとそれぞれ接続されており、制御回路512の出力側は、データ判別回路511と制御線で接続されている。また、制御回路512の出力側は、決定手段540の判定回路541及び生成手段520の後述する制御回路523と制御線でそれぞれ接続されている。   The acquisition unit 510 includes a data determination circuit 511 that determines the content of data sent from the main CPU 110 a to the internal bus 400, and a control circuit 512 that controls the operation of the data determination circuit 511. The input side of the data discriminating circuit 511 is connected to the data bus 400a of the internal bus 400, and the output side of the data discriminating circuit 511 is a determination circuit 541 described later of the determining unit 540, a storage circuit 522 of the generating unit 520, and a reset. The determination circuit 528 and the data line are connected to each other. The input side of the control circuit 512 is connected to the address bus 400b and the control bus 400c of the internal bus 400, and the output side of the control circuit 512 is connected to the data discrimination circuit 511 via a control line. The output side of the control circuit 512 is connected to a determination circuit 541 of the determination unit 540 and a control circuit 523 (described later) of the generation unit 520 through control lines.

コマンド送信処理の際、メインCPU110aは、内部バス400のデータバス400aに、送信部550にて中間制御部180へ送信するデータ(制御コマンド又は誤り検査値)を送出し、アドレスバス400bに送信部550を指定するアドレスデータに送出し、制御バス400cに送信部550への書き込み信号を送出する。制御回路512には、このアドレスデータ及び書き込み信号が入力される。制御回路512は、当該書き込み信号の入力に基づいて、データバス400aに送出されたデータ(以下、「送出データ」という)をデータ判別回路511が取り込むよう作動させるためのイネーブル信号(以下、「作動許可信号」という)を出力する。データ判別回路511は、当該作動許可信号の入力に基づいて、データバス400aから当該送出データを取り込む。   During the command transmission process, the main CPU 110a sends data (control command or error check value) to be transmitted to the intermediate control unit 180 by the transmission unit 550 to the data bus 400a of the internal bus 400, and transmits the data to the address bus 400b. 550 is sent to address data for designating, and a write signal to the transmission unit 550 is sent to the control bus 400c. The address data and the write signal are input to the control circuit 512. Based on the input of the write signal, the control circuit 512 is an enable signal (hereinafter referred to as “actuation”) that causes the data determination circuit 511 to capture data transmitted to the data bus 400a (hereinafter referred to as “transmission data”). Output a permission signal). The data discriminating circuit 511 takes in the transmission data from the data bus 400a based on the input of the operation permission signal.

データ判別回路511は、取り込んだ送出データが制御コマンドであるか否かを判別する。本実施形態では、図9を用いて後述するように、主制御部110から送信される演出制御部120向けの制御コマンドは、上位バイトの「MODE」の情報と、下位バイトの「DATA」の情報とから構成されている。そして、制御コマンドの上位バイト「MODE」の情報は、図9の例では、「E0H」〜「EEH」が割り当てられており、最上位から4ビットは同じ値となっている。そこで、例えば、誤り検査値のデータ長を制御コマンドと同じデータ長とし、誤り検査値の最上位から4ビットを「E0H」〜「EEH」と異なるビットパターンとすれば、データ判別回路511は、取り込んだ送出データの最上位から4ビットまでの値が、制御コマンドの最上位から4ビットまでの値と一致するか否かで、取り込んだ送出データが制御コマンドであるか否かを判別すればよい。また、誤り検査値のデータ長を制御コマンドのデータ長(図9の例では2バイト)と異なるデータ長(例えば1バイト)とすれば、データ判別回路511は、取り込んだ送出データのデータ長が、制御コマンドのデータ長と一致するか否かで、取り込んだ送出データが制御コマンドであるか否かを判別すればよい。いずれにしても、データ判別回路511は、取り込んだ送出データのビットパターンが制御コマンドを示すものであるか否かを判別する。   The data discrimination circuit 511 discriminates whether or not the fetched transmission data is a control command. In the present embodiment, as will be described later with reference to FIG. 9, the control command for the production control unit 120 transmitted from the main control unit 110 includes information on “MODE” in the upper byte and “DATA” in the lower byte. It consists of information. In the example of FIG. 9, “E0H” to “EEH” are assigned to the information of the upper byte “MODE” of the control command, and the 4 bits from the most significant are the same value. Therefore, for example, if the data length of the error check value is the same data length as that of the control command, and the 4 bits from the most significant error check value are different bit patterns from “E0H” to “EEH”, the data discriminating circuit 511 If it is determined whether or not the fetched transmission data is a control command based on whether or not the value from the most significant 4 bits of the fetched transmission data matches the value of the most significant 4 bits of the control command Good. If the data length of the error check value is set to a data length (for example, 1 byte) different from the data length of the control command (2 bytes in the example of FIG. 9), the data discriminating circuit 511 has a data length of the fetched transmission data. Whether or not the fetched transmission data is a control command may be determined based on whether or not it matches the data length of the control command. In any case, the data discrimination circuit 511 discriminates whether or not the bit pattern of the fetched transmission data indicates a control command.

データ判別回路511は、取り込んだ送出データが制御コマンドであれば、当該送出データを、後続する決定手段540の判定回路541並びに生成手段520の格納回路522及びリセット判定回路528へ出力する。一方、データ判別回路511は、取り込んだ送出データが制御コマンドでなければ、当該送出データ(誤り検査値)を破棄し、判定回路541並びに格納回路522及びリセット判定回路528に当該送出データは出力しない。そして、制御回路512は、データ判別回路511から出力された送出データ(制御コマンド)が判定回路541並びに格納回路522及びリセット判定回路528で入力可能となるよう、後続する判定回路541及び生成手段520の制御回路523に対して作動許可信号を出力する。なお、制御回路512が、上記各作動許可信号を出力するタイミングは、検査値生成部500内の各手段の動作時間等を考慮しながら、各手段がクロック信号の入力に同期して正常に動作できるようなタイミングとなるように予め設定されている。   If the fetched transmission data is a control command, the data determination circuit 511 outputs the transmission data to the determination circuit 541 of the subsequent determination unit 540, the storage circuit 522 of the generation unit 520, and the reset determination circuit 528. On the other hand, if the fetched transmission data is not a control command, the data determination circuit 511 discards the transmission data (error check value) and does not output the transmission data to the determination circuit 541, the storage circuit 522, and the reset determination circuit 528. . Then, the control circuit 512 includes a subsequent determination circuit 541 and a generation unit 520 so that the transmission data (control command) output from the data determination circuit 511 can be input by the determination circuit 541, the storage circuit 522, and the reset determination circuit 528. The operation permission signal is output to the control circuit 523. Note that the timing at which the control circuit 512 outputs each operation permission signal is determined so that each unit operates normally in synchronization with the input of the clock signal, taking into account the operation time of each unit in the test value generation unit 500. The timing is set in advance so that it can be performed.

なお、本実施形態では、上記のように、メインCPU110aが、メインRAM110cの送出個数記憶領域(P)の値を参照して、生成手段520の格納回路522へ固有情報を設定する必要があるか否かを判断するが、取得手段510に送出個数記憶領域(P)を設けて取得手段510が判断してもよい。例えば、P=1の場合に取得手段510は、メインCPU110aに対して固有情報を出力するように要求するための制御信号を出力して、メインROM110bに格納された固有情報を出力させることとしてもよい。   In the present embodiment, as described above, does the main CPU 110a need to set unique information in the storage circuit 522 of the generation unit 520 with reference to the value of the transmission number storage area (P) of the main RAM 110c? The acquisition unit 510 may determine whether to provide a transmission number storage area (P) in the acquisition unit 510. For example, when P = 1, the obtaining unit 510 may output a control signal for requesting the main CPU 110a to output unique information, and output the unique information stored in the main ROM 110b. Good.

このようにして、取得手段510は、メインCPU110aから送信部550へ送出される送出データを内部バス400から取得し、取得した送出データが制御コマンドであれば、後続する決定手段540及び生成手段520へ出力する。   In this way, the acquisition unit 510 acquires the transmission data transmitted from the main CPU 110a to the transmission unit 550 from the internal bus 400. If the acquired transmission data is a control command, the determination unit 540 and the generation unit 520 that follow. Output to.

決定手段540は、取得した制御コマンドが変更条件を満たす制御コマンドであるか否かを判定する判定回路541と、判定結果に応じて変換方式を決定する決定回路542とを少なくとも備えている。   The determination unit 540 includes at least a determination circuit 541 that determines whether or not the acquired control command is a control command that satisfies the change condition, and a determination circuit 542 that determines a conversion method according to the determination result.

判定回路541は、取得手段510のデータ判別回路511から出力された制御コマンドを入力し、入力した制御コマンドが、変更条件を満たす制御コマンドであるか否かの判定処理を実行し、判定結果を決定回路542へ通知する回路である。判定回路541の入力側は、決定回路542とデータ線で接続されており、ブート処理中の変更条件設定処理の際に、メインCPU110aから設定されたHWパラメータに対応する変更条件が決定回路542から出力されると、当該変更条件を取り込み、デフォルトの変更条件として設定する。   The determination circuit 541 receives the control command output from the data determination circuit 511 of the acquisition unit 510, executes a determination process as to whether or not the input control command is a control command that satisfies the change condition, and displays the determination result. This circuit notifies the decision circuit 542. The input side of the determination circuit 541 is connected to the determination circuit 542 via a data line, and the change condition corresponding to the HW parameter set from the main CPU 110a is determined from the determination circuit 542 during the change condition setting process during the boot process. When output, the change condition is taken in and set as a default change condition.

また、判定回路541の入力側は、取得手段510のデータ判別回路511とデータ線で接続されており、取得手段510の制御回路512と制御線で接続されている。また、判定回路541の出力側は、決定回路542と制御線で接続されている。そして、判定回路541は、ブート処理後のコマンド送信処理の際に、制御回路512から出力された作動許可信号の入力に基づいて、取得手段510のデータ判別回路511から出力された制御コマンド(P)を入力する。そして、判定回路541は、入力した制御コマンド(P)のビットパターンと、決定回路542によって予め設定した変更条件のビットパターンとを比較する。そして、判定回路541は、入力した制御コマンド(P)と変更条件とを比較して両者が一致すれば、取得手段510から出力された制御コマンド(P)は変更条件を満たす制御コマンドであると判定し、両者が一致しなければ、取得手段510から出力された制御コマンド(P)は変更条件を満たす制御コマンドでないと判定する。   The input side of the determination circuit 541 is connected to the data determination circuit 511 of the acquisition unit 510 via a data line, and is connected to the control circuit 512 of the acquisition unit 510 via a control line. The output side of the determination circuit 541 is connected to the determination circuit 542 through a control line. The determination circuit 541 controls the control command (P) output from the data determination circuit 511 of the acquisition unit 510 based on the input of the operation permission signal output from the control circuit 512 during the command transmission processing after the boot processing. ). Then, the determination circuit 541 compares the bit pattern of the input control command (P) with the bit pattern of the change condition set in advance by the determination circuit 542. Then, the determination circuit 541 compares the input control command (P) with the change condition, and if both match, the control command (P) output from the acquisition unit 510 is a control command that satisfies the change condition. If it is determined that they do not match, it is determined that the control command (P) output from the acquisition unit 510 is not a control command that satisfies the change condition.

そして、判定回路541は、判定結果に応じた制御信号(以下、「判定結果信号」という)を、後続する決定回路542に出力する。具体的には、判定回路541は、取得手段510から出力された制御コマンド(P)が変更条件を満たす制御コマンドであると判定した場合には、その旨を示す判定結果信号を決定回路542に出力する。一方、判定回路541は、取得手段510から出力された制御コマンド(P)が変更条件を満たす制御コマンドでないと判定した場合には、その旨を示す判定結果信号を決定回路542に出力する。   Then, the determination circuit 541 outputs a control signal corresponding to the determination result (hereinafter referred to as “determination result signal”) to the subsequent determination circuit 542. Specifically, if the determination circuit 541 determines that the control command (P) output from the acquisition unit 510 is a control command that satisfies the change condition, a determination result signal indicating that is sent to the determination circuit 542. Output. On the other hand, if the determination circuit 541 determines that the control command (P) output from the acquisition unit 510 is not a control command that satisfies the change condition, the determination circuit 541 outputs a determination result signal indicating that to the determination circuit 542.

変更条件は、予め中間制御部180との間で取り決めておけば基本的に任意である。例えば、本実施形態では、取得手段510から出力された制御コマンドの入力回数(すなわち制御コマンドの送出個数P)が所定数であるか否か等の、種々の条件を設定することができる。本実施形態では、取得手段510から出力された制御コマンドの種別が、予め定めた所定の制御コマンドに該当するか否かを変更条件として設定する。本実施形態での変更条件を以下に説明する。   The change condition is basically arbitrary if it is agreed with the intermediate control unit 180 in advance. For example, in this embodiment, it is possible to set various conditions such as whether or not the number of control command inputs (that is, the number P of control command transmissions) output from the acquisition unit 510 is a predetermined number. In the present embodiment, it is set as a change condition whether or not the type of the control command output from the acquisition unit 510 corresponds to a predetermined control command. The changing conditions in this embodiment will be described below.

遊技機1には遊技の進行にあたって発現する様々な遊技状態が設定されており、主制御部110では、当該遊技状態に応じて様々な動作モードで制御処理が行われる。そして、所定の動作モードの期間の際には、当該動作モードに応じた所定の制御コマンド群が生成され、中間制御部180へ送信される。このとき、所定の制御コマンド群には、当該動作モード期間の開始及び終了を示す制御コマンド等の、主制御部110及び中間制御部180で当該動作モードの移行が確認できる制御コマンドが含まれている。   Various gaming states that appear as the game progresses are set in the gaming machine 1, and the main control unit 110 performs control processing in various operation modes according to the gaming state. Then, during a predetermined operation mode period, a predetermined control command group corresponding to the operation mode is generated and transmitted to the intermediate control unit 180. At this time, the predetermined control command group includes control commands that can confirm the transition of the operation mode by the main control unit 110 and the intermediate control unit 180, such as a control command indicating the start and end of the operation mode period. Yes.

例えば、図9を用いて後述するように、大当たり状態の動作モードの際には、各種大当たり状態の開始時を示すオープニング指定コマンド(図9では「MODE」の情報が「EBH」である制御コマンド)及び各種大当たり状態の終了時を示すエンディング指定コマンド(図9では「MODE」の情報が「ECH」である制御コマンド)がそれぞれ生成され、中間制御部180へそれぞれ送信される。また、例えば、時短遊技状態の動作モードの際には、非時短遊技状態から時短遊技状態への移行に伴って、時短作動用遊技状態指定コマンド(図9では「MODE」の情報が「EEH」であり「DATA」の情報が「01H」である制御コマンド)が生成され、中間制御部180へ送信される。そして、時短遊技状態から非時短遊技状態への移行に伴って、時短未作動用遊技状態指定コマンド(図9では「MODE」の情報が「EEH」であり「DATA」の情報が「00H」である制御コマンド)が生成され、中間制御部180へ送信される。   For example, as will be described later with reference to FIG. 9, in the operation mode of the jackpot state, an opening designation command indicating the start of various jackpot states (in FIG. 9, a control command whose information of “MODE” is “EBH”) ) And an ending designation command (control command in which “MODE” information is “ECH” in FIG. 9) indicating the end of various jackpot states are respectively generated and transmitted to the intermediate control unit 180. Further, for example, in the operation mode of the short-time gaming state, the short-time operation gaming state designation command (in FIG. 9, the information of “MODE” is “EEH”) in accordance with the transition from the non-short-time gaming state to the short-time gaming state. And a control command whose information of “DATA” is “01H” is generated and transmitted to the intermediate control unit 180. Then, along with the transition from the short-time gaming state to the non-short-time gaming state, the short-time non-operating gaming state designation command (in FIG. 9, “MODE” information is “EEH” and “DATA” information is “00H”. A certain control command) is generated and transmitted to the intermediate control unit 180.

本実施形態では、所定の動作モードの期間の際、すなわち、所定の制御コマンド群が送信される期間の際には、ビット列変換処理で用いる誤り検査値の変換方式を変換方式Bとし、それ以外では当該変換方式を変換方式Aとする。そこで、本実施形態では、デフォルトの変換方式を変換方式Aに決定しておき、所定の制御コマンド群のうち最初に生成される制御コマンドに関するコマンド送信処理の際に、変換方式を変換方式Bに変更すると決定する。そして、所定の制御コマンド群の生成が終了した後に最初に生成される制御コマンドに関するコマンド送信処理の際に、変換方式を変換方式Aに戻すと決定する。すなわち、本実施形態では、取得手段510から出力された制御コマンド(P)の種別が、所定の制御コマンド群のうち最初に生成される制御コマンド、及び、所定の制御コマンド群の生成が終了した後に最初に生成される制御コマンド、のどちらかに該当するか否かを変更条件とする。このように取り決めておくと、本実施形態のビット列変換処理では、デフォルトの変換方式として変換方式Aが用いられ、所定の動作モードの期間が開始すると変換方式Bが用いられ、所定の動作モードの期間が終了すると変換方式Aが用いられることとなる。   In this embodiment, during the period of the predetermined operation mode, that is, during the period during which the predetermined control command group is transmitted, the conversion method of the error check value used in the bit string conversion processing is the conversion method B, and the others The conversion method is referred to as conversion method A. Therefore, in this embodiment, the default conversion method is determined as the conversion method A, and the conversion method is changed to the conversion method B at the time of command transmission processing related to the control command generated first in the predetermined control command group. Decide to change. Then, it is determined that the conversion method is returned to the conversion method A in the command transmission process related to the control command generated first after the generation of the predetermined control command group is completed. In other words, in the present embodiment, the type of the control command (P) output from the acquisition unit 510 is the first control command generated in the predetermined control command group, and the generation of the predetermined control command group has been completed. The change condition is whether or not one of the first control commands generated later is applicable. In this manner, in the bit string conversion processing of the present embodiment, the conversion method A is used as the default conversion method, the conversion method B is used when the predetermined operation mode period starts, and the predetermined operation mode is changed. When the period ends, conversion method A is used.

なお、本実施形態では、所定の制御コマンド群の種別として、所定の動作モードの期間の際に、制御コマンド群を構成する各制御コマンドがどのように出現するのかを予測可能な制御コマンド群を用いる。各制御コマンドの出現が予測可能な制御コマンド群を用いることで、中間制御部180側では、受信した誤り検査値(P−N)に対してビット列変換処理を行う際の試行回数を抑制することができる。   In the present embodiment, as a type of the predetermined control command group, a control command group that can predict how each control command constituting the control command group will appear during a predetermined operation mode period. Use. By using a control command group in which the appearance of each control command can be predicted, the intermediate control unit 180 side suppresses the number of trials when performing a bit string conversion process on the received error check value (PN). Can do.

また、所定の制御コマンド群の種別としては、例えば、出現頻度が高い制御コマンド群を採用することができる。この場合、変換方式Bを採用する期間が高い頻度で到来することとなるため、ランダムなシフト量でビット列変換処理が施された誤り検査値が頻繁に送信される。このため、制御コマンドと誤り検査値の対応関係が解析困難となり、セキュリティ強度を向上させることができる。また、所定の制御コマンド群の種別としては、例えば、出現頻度の低い制御コマンド群を採用することができる。この場合、変換方式Bを採用する期間が低い頻度でしか到来しなくなるため、変換方式Bが採用された制御コマンド及び誤り検査値を窃取できる機会自体が少なくなる。このため、不正者が制御コマンドと誤り検査値の対応関係を解析するのに十分なサンプル数の制御コマンド及び誤り検査値を窃取することが困難となるため、制御コマンドと誤り検査値の対応関係が解析困難となり、セキュリティ強度を向上させることができる。   Further, as the type of the predetermined control command group, for example, a control command group having a high appearance frequency can be adopted. In this case, since the period in which the conversion method B is adopted frequently arrives, an error check value that has been subjected to bit string conversion processing with a random shift amount is frequently transmitted. For this reason, it is difficult to analyze the correspondence between the control command and the error check value, and the security strength can be improved. Further, as the type of the predetermined control command group, for example, a control command group with a low appearance frequency can be employed. In this case, since the period of adopting the conversion method B only arrives at a low frequency, the opportunity for stealing the control command and the error check value using the conversion method B is reduced. For this reason, it is difficult for an unauthorized person to steal a control command and an error check value with a sufficient number of samples to analyze the correspondence between the control command and the error check value. It becomes difficult to analyze, and the security strength can be improved.

なお、所定の制御コマンド群の種別としては、一つの制御コマンド群の種別でも複数の制御コマンド群の種別でもよい。複数の制御コマンド群の種別を採用することは変換方式Bを採用する期間が増加することを意味するため、制御コマンドと誤り検査値の対応関係が更に解析困難となり、セキュリティ強度を向上させることができる。   The predetermined control command group type may be a single control command group type or a plurality of control command group types. Adopting multiple types of control command groups means that the period for adopting conversion method B increases, so that the correspondence between control commands and error check values becomes more difficult to analyze, and security strength can be improved. it can.

一方、決定回路542は、メインCPU110aから設定されたHWパラメータに応じてデフォルトの変更条件を決定し、決定した変更条件によって判定回路541が上記判定処理を実行するように、判定回路541への設定を行う回路である。また、決定回路542は、判定回路541の判定結果信号に応じて変換方式を決定し、決定した変換方式によって生成手段520がビット列変換処理を実行するように、生成手段520への設定を行う回路である。   On the other hand, the determination circuit 542 determines a default change condition according to the HW parameter set from the main CPU 110a, and sets the determination circuit 541 so that the determination circuit 541 executes the determination process according to the determined change condition. It is a circuit which performs. In addition, the determination circuit 542 determines a conversion method according to the determination result signal of the determination circuit 541, and performs a setting to the generation unit 520 so that the generation unit 520 performs the bit string conversion process according to the determined conversion method. It is.

決定回路542の入力側は、判定回路541と制御線で接続され、判定回路541から出力された判定結果信号を入力する。また、決定回路542の入力側は、図7では省略したが、内部バス400と接続されており、HWパラメータ設定処理の際に、メインCPU110aが決定手段540へ設定するHWパラメータをデータバス400aから取り込むことができる。   The input side of the determination circuit 542 is connected to the determination circuit 541 through a control line, and receives the determination result signal output from the determination circuit 541. Although the input side of the determination circuit 542 is omitted in FIG. 7, it is connected to the internal bus 400, and the HW parameter that the main CPU 110 a sets in the determination unit 540 during the HW parameter setting process is transmitted from the data bus 400 a. Can be captured.

また、決定回路542の出力側は、判定回路541とデータ線で接続されていると共に、生成手段520の制御回路523と制御線で接続されている。そして、決定回路542は、メインCPU110aから設定されたHWパラメータに応じて、予め用意された複数の変更条件のいずれかを判定回路541へ出力する。また、決定回路542は、判定回路541から出力された判定結果信号に応じて変換方式を決定し、決定した変換方式を生成手段520へ設定するための制御信号を出力する。   The output side of the determination circuit 542 is connected to the determination circuit 541 through a data line, and is connected to the control circuit 523 of the generation unit 520 through a control line. Then, the determination circuit 542 outputs one of a plurality of change conditions prepared in advance to the determination circuit 541 according to the HW parameter set from the main CPU 110a. In addition, the determination circuit 542 determines a conversion method according to the determination result signal output from the determination circuit 541 and outputs a control signal for setting the determined conversion method to the generation unit 520.

具体的には、決定回路542には、予め用意された複数の変更条件と複数のHWパラメータとの対応関係が分かるデータテーブルが設けられている。そして、決定回路542は、取り込んだHWパラメータによって特定の変更条件を一義的に決定することができる。そして、決定回路542は、ブート処理中の変更条件設定処理として、メインCPU110aから設定されたHWパラメータに対応する変更条件を、デフォルトの変更条件として変更条件記憶領域(CC)に記憶しておくと共に、変更条件記憶領域(CC)に記憶された変更条件を判定回路541に出力する。   Specifically, the determination circuit 542 is provided with a data table that shows the correspondence between a plurality of change conditions prepared in advance and a plurality of HW parameters. Then, the determination circuit 542 can uniquely determine a specific change condition based on the captured HW parameter. Then, the determination circuit 542 stores the change condition corresponding to the HW parameter set from the main CPU 110a as the default change condition in the change condition storage area (CC) as the change condition setting process during the boot process. The change condition stored in the change condition storage area (CC) is output to the determination circuit 541.

また、決定回路542は、判定回路541から出力された判定結果信号に応じて決定した変換方式を示す情報である変換方式情報を生成する。変換方式情報は、予め用意された上記2つの変換方式である変換方式A及び変換方式Bをそれぞれ識別できるような識別番号等の値とすればよい。そして、決定回路542には、変換方式情報を記憶する変換方式情報記憶領域(CM)が設けられており、判定結果信号に応じて決定した変換方式を示す変換方式情報を、変換方式情報記憶領域(CM)に記憶する。   The determination circuit 542 generates conversion method information that is information indicating the conversion method determined according to the determination result signal output from the determination circuit 541. The conversion method information may be a value such as an identification number that can identify the conversion methods A and B which are the two conversion methods prepared in advance. The determination circuit 542 is provided with a conversion method information storage area (CM) for storing the conversion method information. (CM).

なお、本実施形態では、変換方式の具体的な態様は、生成手段520の後述するビット列変換回路525に設けられた複数のローテート演算器(図7では、ローテート演算器525a、525b)で表されている。具体的には、変換方式Aは、ローテート演算器525aと対応しており、変換方式Bは、ローテート演算器525bと対応している。そして、決定回路542には、変換方式情報と当該複数のローテート演算器との対応関係が分かるデータテーブルが設けられている。   In the present embodiment, a specific mode of the conversion method is represented by a plurality of rotate arithmetic units (in FIG. 7, rotate arithmetic units 525a and 525b) provided in a bit string conversion circuit 525 described later of the generation unit 520. ing. Specifically, the conversion method A corresponds to the rotate calculator 525a, and the conversion method B corresponds to the rotate calculator 525b. The determination circuit 542 is provided with a data table that shows the correspondence between the conversion method information and the plurality of rotation calculators.

決定回路542は、ブート処理中の変換方式設定処理の際に、デフォルトの変換方式Aを示す変換方式情報を変換方式情報記憶領域(CM)に記憶する。そして、決定回路542は、変換方式情報記憶領域(CM)に記憶された値に基づいて、デフォルトの変換方式Aに対応するローテート演算器525aにてビット列変換処理が施された誤り検査値を、ビット列変換回路525から付加手段530へ出力させるための制御信号(以下、「変換方式制御信号」という)を、生成手段520の制御回路523へ出力する。   The determination circuit 542 stores the conversion method information indicating the default conversion method A in the conversion method information storage area (CM) during the conversion method setting process during the boot process. Then, the determination circuit 542 calculates the error check value that has been subjected to the bit string conversion processing by the rotation calculator 525a corresponding to the default conversion method A based on the value stored in the conversion method information storage area (CM). A control signal (hereinafter referred to as “conversion method control signal”) to be output from the bit string conversion circuit 525 to the adding unit 530 is output to the control circuit 523 of the generation unit 520.

なお、変換方式情報記憶領域(CM)には、変換方式が変更された場合には、変更後の変換方式を示す変換方式情報のCMの値(以下、変更後の変換方式情報の値を「CM’」とする)が記憶されることになる。決定回路542は、今回のコマンド送信処理にて変換方式を変更した場合、変更後の変換方式を示す変換方式情報を記憶した変換方式情報記憶領域(CM)の値を参照することで、以降のコマンド送信処理で生成手段520が誤り検査値にビット列変換処理を施す際の変換方式を把握することができる。   In the conversion method information storage area (CM), when the conversion method is changed, the value of the conversion method information indicating the conversion method after the change (hereinafter, the value of the conversion method information after the change is “ CM '") is stored. When the conversion circuit is changed in the current command transmission process, the determination circuit 542 refers to the value of the conversion method information storage area (CM) that stores the conversion method information indicating the conversion method after the change. In the command transmission process, the generation unit 520 can grasp the conversion method when the error check value is subjected to the bit string conversion process.

また、決定回路542は、ブート処理後の変換方式設定処理の際に、予め中間制御部180との間で取り決められた変換方式の変更プロトコルに従って、変換方式を変更する。具体的には、決定回路542は、判定回路541から出力された判定結果信号を確認し、取得手段510から出力された制御コマンド(P)が変更条件を満たす制御コマンドであるか否かを把握する。そして、決定回路542は、取得手段510から出力された制御コマンド(P)が変更条件を満たす制御コマンドであれば、所定の変更方式に従って変換方式情報記憶領域(CM)の値を変更する。すなわち、上記変更プロトコルとは、変換方式を変更するべきか否かを判定するための上記変更条件と変換方式の変更方式とから少なくとも構成される。   Further, the determination circuit 542 changes the conversion method according to the conversion method change protocol negotiated with the intermediate control unit 180 in advance in the conversion method setting process after the boot process. Specifically, the determination circuit 542 confirms the determination result signal output from the determination circuit 541 and grasps whether or not the control command (P) output from the acquisition unit 510 is a control command that satisfies the change condition. To do. If the control command (P) output from the acquisition unit 510 is a control command that satisfies the change condition, the determination circuit 542 changes the value of the conversion method information storage area (CM) according to a predetermined change method. That is, the change protocol includes at least the change condition for determining whether or not to change the conversion method and the change method of the conversion method.

変更条件は、上記のように、本実施形態では、取得手段510から出力された制御コマンド(P)が、所定の制御コマンド群のうち最初に生成される制御コマンド、及び、所定の制御コマンド群の生成が終了した後に最初に生成される制御コマンドのどちらかに該当するか否かである。   As described above, in the present embodiment, the change condition is such that the control command (P) output from the acquisition unit 510 is generated first in a predetermined control command group, and the predetermined control command group. Whether or not one of the first control commands generated after the generation of is satisfied.

変換方式の変更方式は、予め中間制御部180との間で取り決めておけば基本的に任意である。本実施形態では、変換方式Aと変換方式Bとの2つが用意されているとし、デフォルトの変換方式を変換方式Aとした。このとき、例えば、変更条件を満たす制御コマンドが出力される毎に、変換方式を、変換方式A→変換方式B、変換方式B→変換方式Aへ決定する方式が考えられる。また、例えば、変更条件を満たす制御コマンドが出力される毎に、予め用意した乱数生成回路を作動させ、得られた乱数値に対応する変換方式に決定する方式が考えられる。但し、乱数生成回路を用いる場合は、得られた乱数値を中間制御部180へ通知するか、当該乱数生成回路と同期して作動する乱数生成回路を中間制御部180にも用意する必要がある。本実施形態で取り決められた変更方式として、変更条件を満たす制御コマンドが出力される毎に、変換方式を変換方式A→変換方式B、変換方式B→変換方式Aと決定する方式が採用されている。   The conversion method change method is basically arbitrary as long as it is agreed with the intermediate control unit 180 in advance. In this embodiment, two conversion methods A and B are prepared, and the default conversion method is the conversion method A. At this time, for example, every time a control command that satisfies the change condition is output, a method of determining the conversion method from conversion method A → conversion method B and conversion method B → conversion method A can be considered. Further, for example, every time a control command that satisfies the change condition is output, a method of operating a random number generation circuit prepared in advance and determining a conversion method corresponding to the obtained random number value can be considered. However, when using a random number generation circuit, it is necessary to notify the intermediate control unit 180 of the obtained random number value or to prepare a random number generation circuit that operates in synchronization with the random number generation circuit in the intermediate control unit 180 as well. . As the change method negotiated in the present embodiment, a method of determining the conversion method as conversion method A → conversion method B and conversion method B → conversion method A every time a control command that satisfies the change condition is output is adopted. Yes.

このようにして、決定手段540は、取得手段510から出力された制御コマンド(P)が変更条件を満たす制御コマンドであるか否かを判定し、判定結果に応じて、生成手段520のビット列変換処理で用いられる変換方式を決定する。そして、決定回路542は、上記変換方式制御信号を生成手段520の制御回路523へ出力することで、決定した変換方式に応じて生成手段520の設定を行うことができる。このため、生成手段520では、決定手段540にて決定された変換方式を用いて誤り検査値のビット列を変換することとなる。   In this way, the determination unit 540 determines whether or not the control command (P) output from the acquisition unit 510 is a control command that satisfies the change condition, and the bit string conversion of the generation unit 520 is performed according to the determination result. Determine the conversion method used in the process. Then, the determination circuit 542 can set the generation unit 520 according to the determined conversion method by outputting the conversion method control signal to the control circuit 523 of the generation unit 520. Therefore, the generation unit 520 converts the bit string of the error check value using the conversion method determined by the determination unit 540.

生成手段520は、取得手段510から出力された制御コマンドを格納する格納回路522と、取得手段510から過去に出力され格納回路522に格納しておいた制御コマンドを用いて誤り検査値を生成する生成回路521と、生成回路521から出力された誤り検査値のビット列を変換するビット列変換回路525と、ビット列変換回路525から出力されたビット列が変換された誤り検査値を保存する保存回路526と、ビット列変換回路525と保存回路526との接続を選択的に切り替える入力選択回路524と、メインCPU110aから送出された誤り検査値の読み出し信号に応じて、保存回路526に保存された誤り検査値を内部バス400へ送出する送出回路527と、取得手段510から出力された制御コマンドがリセット条件を満たす制御コマンドであるか否かを判定するリセット判定回路528と、取得手段510や決定手段540から出力された制御信号の入力に基づいて、生成手段520内の各回路の動作を制御する制御回路523とを備えている。   The generation unit 520 generates an error check value using the storage circuit 522 that stores the control command output from the acquisition unit 510 and the control command that has been output from the acquisition unit 510 and stored in the storage circuit 522 in the past. A generation circuit 521, a bit string conversion circuit 525 that converts the bit string of the error check value output from the generation circuit 521, a storage circuit 526 that stores the error check value converted from the bit string output from the bit string conversion circuit 525, The input selection circuit 524 that selectively switches the connection between the bit string conversion circuit 525 and the storage circuit 526, and the error check value stored in the storage circuit 526 in accordance with the error check value read signal sent from the main CPU 110a. The control circuit output from the transmission circuit 527 and the acquisition unit 510 to be transmitted to the bus 400 is reset. The operation of each circuit in the generation unit 520 is controlled based on the input of the reset determination circuit 528 that determines whether or not the control command satisfies the default condition and the control signal output from the acquisition unit 510 and the determination unit 540. And a control circuit 523.

格納回路522は、取得手段510から出力された制御コマンドを格納しておく回路である。格納回路522は、少なくとも遡及数のNの値に対応するN段の格納回路で構成されている。そして、格納回路522を担う各格納回路は、パイプライン構成となるように各々が接続されており、遡及数のNの値に対応するN段のシフトレジスタ(FIFOメモリ)の機能を少なくとも有している。   The storage circuit 522 is a circuit that stores the control command output from the acquisition unit 510. The storage circuit 522 is composed of N stages of storage circuits corresponding to at least the retroactive N value. Each storage circuit that bears the storage circuit 522 is connected so as to have a pipeline configuration, and has at least a function of an N-stage shift register (FIFO memory) corresponding to the value of N in the retroactive number. ing.

そして、格納回路522は、メインCPU110aが内部バス400へ送出し、取得手段510が内部バス400から取得して、決定手段540及び生成手段520へ出力した制御コマンド(P)よりも過去にメインCPU110aによって送出された制御コマンドを格納することができる。具体的には、格納回路522は、取得手段510から出力された制御コマンド(P)より過去にメインCPU110aによって送出された制御コマンド(P−1)〜制御コマンド(P−N)のN個の制御コマンドを格納することができる。本実施形態では、格納回路522を担う各格納回路のうち、初段の格納回路を格納回路(P−1)とし、最終段の格納回路を格納回路(P−N)とする。そして、格納回路522を担う各格納回路を、それぞれ格納回路(P−1)〜格納回路(P−N)とする。   In the storage circuit 522, the main CPU 110 a sends to the internal bus 400, the acquisition unit 510 acquires from the internal bus 400, and the control command (P) output to the determination unit 540 and the generation unit 520 in the past. The control command sent by can be stored. Specifically, the storage circuit 522 has N control commands (P-1) to (PN) sent from the main CPU 110a in the past from the control command (P) output from the acquisition unit 510. Control commands can be stored. In the present embodiment, among the storage circuits that bear the storage circuit 522, the storage circuit (P-1) is the first storage circuit, and the storage circuit (PN) is the final storage circuit. Each storage circuit that bears the storage circuit 522 is referred to as a storage circuit (P-1) to a storage circuit (PN).

格納回路522の初段の格納回路(P−1)の入力側は、取得手段510のデータ判別回路511とデータ線で接続されている。また、各格納回路(P−1)〜(P−N)は、制御回路523とそれぞれ制御線で接続されている。そして、制御回路523は、取得手段510の制御回路512から出力された作動許可信号の入力に基づいて、各格納回路(P−1)〜(P−N)に格納されたデータを順次シフトさせるための制御信号(以下、「シフト処理信号」という)を出力する。格納回路522の最終段の格納回路(P−N)の出力側は、生成回路521とデータ線で接続されている。   The input side of the storage circuit (P-1) at the first stage of the storage circuit 522 is connected to the data discrimination circuit 511 of the acquisition means 510 through a data line. The storage circuits (P-1) to (PN) are connected to the control circuit 523 through control lines. The control circuit 523 sequentially shifts the data stored in the storage circuits (P-1) to (PN) based on the input of the operation permission signal output from the control circuit 512 of the acquisition unit 510. Control signal (hereinafter referred to as “shift processing signal”) for output. The output side of the storage circuit (PN) at the final stage of the storage circuit 522 is connected to the generation circuit 521 through a data line.

各格納回路(P−1)〜(P−N)は、シフト処理信号が制御回路523から入力されると、各々が格納する制御コマンドを次段の格納回路へ順次シフトさせると共に、前段の格納回路からシフトされた制御コマンドを格納する。このとき、初段の格納回路(P−1)は、シフト処理信号の入力に伴って取得手段510のデータ判別回路511から出力された制御コマンド(P)を新たに取り込んで格納する。また、最終段の格納回路(P−N)は、自身が格納する制御コマンド(P−N)をシフト処理信号の入力に伴ってシフトさせ、後続する生成回路521へ出力する。   When the shift processing signal is input from the control circuit 523, each of the storage circuits (P-1) to (P-N) sequentially shifts the control commands stored therein to the storage circuit of the next stage and stores the previous stage. Stores control commands shifted from the circuit. At this time, the first-stage storage circuit (P-1) newly takes in and stores the control command (P) output from the data discrimination circuit 511 of the acquisition unit 510 in response to the input of the shift processing signal. Further, the storage circuit (PN) in the final stage shifts the control command (PN) stored therein in accordance with the input of the shift processing signal, and outputs it to the subsequent generation circuit 521.

生成回路521は、格納回路522から出力された制御コマンドに対し、予め設定された誤り検査値生成のための演算方式(以下、「生成方式」という)で演算して誤り検査値を生成し、生成した誤り検査値を後続するビット列変換回路525へ出力する回路である。   The generation circuit 521 operates the control command output from the storage circuit 522 by a predetermined calculation method for error check value generation (hereinafter referred to as “generation method”) to generate an error check value, This is a circuit that outputs the generated error check value to the subsequent bit string conversion circuit 525.

生成回路521の入力側は、格納回路522の最終段の格納回路(P−N)とデータ線で接続され、制御回路523と制御線で接続されている。また、生成回路521の出力側は、ビット列変換回路525とデータ線で接続されている。そして、制御回路523は、取得手段510の制御回路512から出力された作動許可信号に基づいて、制御コマンドを入力して演算処理するよう作動させるための作動許可信号を生成回路521に対して出力する。   The input side of the generation circuit 521 is connected to the final storage circuit (PN) of the storage circuit 522 through a data line, and is connected to the control circuit 523 through a control line. The output side of the generation circuit 521 is connected to the bit string conversion circuit 525 through a data line. Then, based on the operation permission signal output from the control circuit 512 of the acquisition unit 510, the control circuit 523 outputs an operation permission signal for inputting a control command to perform arithmetic processing to the generation circuit 521. To do.

生成回路521は、制御回路523から当該作動許可信号が入力されると、制御回路523の格納回路522へのシフト処理信号に伴って出力された制御コマンド(P−N)を入力する。そして、生成回路521は、入力した制御コマンド(P−N)に対し、予め設定された生成方式によって演算処理を施し、誤り検査値(P−N)を生成する。そして、生成回路521は、生成した誤り検査値(P−N)を、後続するビット列変換回路525へ出力する。   When the operation permission signal is input from the control circuit 523, the generation circuit 521 inputs a control command (PN) that is output along with the shift processing signal to the storage circuit 522 of the control circuit 523. Then, the generation circuit 521 performs arithmetic processing on the input control command (PN) using a preset generation method, and generates an error check value (PN). Then, the generation circuit 521 outputs the generated error check value (PN) to the subsequent bit string conversion circuit 525.

生成方式は、予め中間制御部180との間で取り決めてあれば、特に限定されない。生成方式は、例えば、チェックサム方式、CRC方式、奇数パリティ方式、偶数パリティ方式、群計数チェック方式、垂直パリティ方式、水平パリティ方式、又はハミング符号方式等の公知の方式を用いることができる。なお、生成回路521は、格納回路522が出力した制御コマンドをそのまま入力し、演算するように構成することもできるし、格納回路522が出力した制御コマンドの一部だけを入力し、演算するように構成することもできる。例えば、制御コマンドは後述するように1バイトの「MODE」の情報と1バイトの「DATA」の情報とから構成されているが、出力された制御コマンドの「MODE」の情報のみを入力し、演算するように構成することができる。   The generation method is not particularly limited as long as it is agreed with the intermediate control unit 180 in advance. As a generation method, for example, a known method such as a checksum method, a CRC method, an odd parity method, an even parity method, a group count check method, a vertical parity method, a horizontal parity method, or a Hamming code method can be used. Note that the generation circuit 521 can be configured to input and calculate the control command output from the storage circuit 522 as it is, or to input and calculate only a part of the control command output from the storage circuit 522. It can also be configured. For example, the control command is composed of 1-byte “MODE” information and 1-byte “DATA” information as will be described later, but only the “MODE” information of the output control command is input. It can be configured to operate.

リセット判定回路528は、取得手段510から出力された制御コマンドを入力し、入力した制御コマンドが、シフト量Aに係るリセット条件を満たす制御コマンドであるか否かの判定処理を実行し、判定結果をビット列変換回路525へ通知する回路である。   The reset determination circuit 528 receives the control command output from the acquisition unit 510, executes a determination process as to whether or not the input control command is a control command that satisfies the reset condition related to the shift amount A, and the determination result Is notified to the bit string conversion circuit 525.

リセット判定回路528の入力側は、図7では省略したが、内部バス400と接続されており、HWパラメータ設定処理の際に、メインCPU110aが生成手段520へ設定するHWパラメータをデータバス400aから取り込むことができる。また、リセット判定回路528には、予め用意されたシフト量Aに係る複数のリセット条件と複数のHWパラメータとの対応関係が分かるデータテーブルが設けられており、取り込んだHWパラメータによって特定のリセット条件を一義的に決定することができる。   Although not shown in FIG. 7, the input side of the reset determination circuit 528 is connected to the internal bus 400, and takes in the HW parameter set by the main CPU 110 a in the generation unit 520 from the data bus 400 a during the HW parameter setting process. be able to. In addition, the reset determination circuit 528 is provided with a data table in which a correspondence relationship between a plurality of reset conditions relating to the shift amount A prepared in advance and a plurality of HW parameters is provided, and a specific reset condition is determined by the captured HW parameters. Can be determined uniquely.

そして、リセット判定回路528は、ブート処理中のHWパラメータ設定処理の際に、メインCPU110aから出力されたHWパラメータをデータバス上から取り込む。そして、リセット判定回路528は、ブート処理中のリセット条件設定処理として、メインCPU110aから設定されたHWパラメータに対応するリセット条件を、シフト量Aに係るデフォルトのリセット条件としてリセット条件記憶領域(RC)に記憶しておく。   The reset determination circuit 528 takes in the HW parameter output from the main CPU 110a from the data bus during the HW parameter setting process during the boot process. Then, as a reset condition setting process during the boot process, the reset determination circuit 528 uses a reset condition corresponding to the HW parameter set from the main CPU 110a as a default reset condition related to the shift amount A as a reset condition storage area (RC). Remember it.

また、リセット判定回路528の入力側は、取得手段510のデータ判別回路511とデータ線で接続されており、制御回路523と制御線で接続されている。また、リセット判定回路528の出力側は、ビット列変換回路525の後述するシフト量制御部525cと制御線で接続されている。そして、制御回路523は、ブート処理後のコマンド送信処理の際に、取得手段510の制御回路512から出力された作動許可信号の入力に基づいて、制御コマンドを入力して判定処理を行うよう作動させるための作動許可信号をリセット判定回路528に対して出力する。   In addition, the input side of the reset determination circuit 528 is connected to the data determination circuit 511 of the acquisition unit 510 via a data line, and is connected to the control circuit 523 via a control line. The output side of the reset determination circuit 528 is connected to a shift amount control unit 525c (described later) of the bit string conversion circuit 525 through a control line. Then, the control circuit 523 operates to input the control command and perform the determination process based on the input of the operation permission signal output from the control circuit 512 of the acquisition unit 510 during the command transmission process after the boot process. An operation permission signal for causing the reset determination circuit 528 to output the operation permission signal.

リセット判定回路528は、制御回路523から上記作動許可信号が出力されると、当該作動許可信号の入力に基づいて、取得手段510のデータ判別回路511から出力された制御コマンド(P)を入力する。そして、リセット判定回路528は、入力した制御コマンド(P)のビットパターンと、予めリセット条件記憶領域(RC)に記憶しておいたリセット条件のビットパターンとを比較する。そして、リセット判定回路528は、入力した制御コマンド(P)とリセット条件とを比較して両者が一致すれば、取得手段510から出力された制御コマンド(P)はシフト量Aに係るリセット条件を満たす制御コマンドであると判定し、両者が一致しなければ、取得手段510から出力された制御コマンド(P)はシフト量Aに係るリセット条件を満たす制御コマンドでないと判定する。   When the operation permission signal is output from the control circuit 523, the reset determination circuit 528 inputs the control command (P) output from the data determination circuit 511 of the acquisition unit 510 based on the input of the operation permission signal. . Then, the reset determination circuit 528 compares the bit pattern of the input control command (P) with the bit pattern of the reset condition stored in advance in the reset condition storage area (RC). Then, the reset determination circuit 528 compares the input control command (P) with the reset condition, and if both match, the control command (P) output from the acquisition unit 510 sets the reset condition related to the shift amount A. If it is determined that the control command is satisfied and the two do not match, it is determined that the control command (P) output from the acquisition unit 510 is not a control command that satisfies the reset condition related to the shift amount A.

そして、リセット判定回路528は、取得手段510から出力された制御コマンド(P)がシフト量Aに係るリセット条件を満たす制御コマンドであると判定した場合には、シフト量Aを再設定するための制御信号(以下、「シフト量Aリセット信号」という)を、後続するビット列変換回路525のシフト量制御部525cに出力する。これにより、ビット列変換回路525のシフト量制御部525cでは、取得手段510から出力された制御コマンド(P)に基づいて、シフト量Aを再設定することができる。一方、リセット判定回路528は、取得手段510から出力された制御コマンド(P)がシフト量Aに係るリセット条件を満たす制御コマンドでないと判定した場合には、シフト量制御部525cにシフト量Aリセット信号を出力しない。   When the reset determination circuit 528 determines that the control command (P) output from the acquisition unit 510 is a control command that satisfies the reset condition related to the shift amount A, the reset determination circuit 528 resets the shift amount A. A control signal (hereinafter referred to as “shift amount A reset signal”) is output to the shift amount control unit 525 c of the subsequent bit string conversion circuit 525. Accordingly, the shift amount control unit 525c of the bit string conversion circuit 525 can reset the shift amount A based on the control command (P) output from the acquisition unit 510. On the other hand, when the reset determination circuit 528 determines that the control command (P) output from the acquisition unit 510 is not a control command that satisfies the reset condition related to the shift amount A, the reset amount control unit 525c resets the shift amount A. No signal is output.

なお、リセット判定回路528がシフト量Aリセット信号を出力するタイミングは、判定対象の制御コマンド(P)、すなわち、取得手段510から出力された制御コマンド(P)に付加される誤り検査値に対するビット列変換処理の際に、再設定後のシフト量Aが用いられるように、予め調整されている。   The timing at which the reset determination circuit 528 outputs the shift amount A reset signal is the bit string for the error check value added to the control command (P) to be determined, that is, the control command (P) output from the acquisition means 510. In the conversion process, adjustment is performed in advance so that the shift amount A after resetting is used.

リセット条件は、予め中間制御部180との間で取り決められており、シフト量Aが用いられる期間、すなわち、変換方式Aでビット列が変換された誤り検査値が制御コマンドに付加される期間に、シフト量Aを再設定してシフト量Aの変動推移がリセットされるのであれば基本的に任意である。本実施形態では、変換方式Aでビット列が変換された誤り検査値が制御コマンドに付加される期間は、上記のように、所定の動作モードの期間以外の期間であり、所定の制御コマンド群以外の制御コマンドが送信される期間である。そこで、本実施形態のリセット条件は、取得手段510から出力された制御コマンド(P)が、所定の制御コマンド群以外の制御コマンドの中から予め定められた制御コマンドであることとする。そして、本実施形態では、所定の制御コマンド群以外の制御コマンドの中から定められた制御コマンドの種別に応じて、シフト量Aに係る複数のリセット条件が予め用意されているものとする。   The reset condition is negotiated with the intermediate control unit 180 in advance, and in the period in which the shift amount A is used, that is, in the period in which the error check value in which the bit string is converted by the conversion method A is added to the control command. It is basically arbitrary as long as the shift amount A is reset and the variation transition of the shift amount A is reset. In the present embodiment, the period during which the error check value obtained by converting the bit string by the conversion method A is added to the control command is a period other than the period of the predetermined operation mode as described above, and other than the predetermined control command group This is a period during which the control command is transmitted. Therefore, the reset condition of the present embodiment is that the control command (P) output from the acquisition unit 510 is a control command determined in advance from control commands other than a predetermined control command group. In this embodiment, it is assumed that a plurality of reset conditions related to the shift amount A are prepared in advance according to the type of control command determined from control commands other than the predetermined control command group.

なお、本実施形態のリセット条件として予め定められた制御コマンドの種別は、1つのリセット条件に対して1つの制御コマンド種別でもよいし、複数の制御コマンドの種別でもよい。複数の制御コマンドの種別を採用することは、シフト量Aを再設定してシフト量Aの変動推移がリセットされる回数が増加することを意味する。このため、制御コマンドと誤り検査値の対応関係が解析困難となり、セキュリティ強度を更に向上させることができる。また、通信エラー等によりシフト量Aの変動が主制御部110側と中間制御部180側とでズレることがあっても、シフト量Aの変動推移がリセットされることによって、当該ズレを解消する機会が増加するため、誤り検査処理の確度を更に向上させることができる。   Note that the type of control command predetermined as the reset condition of the present embodiment may be one control command type for one reset condition, or may be a plurality of control command types. Employing a plurality of types of control commands means that the number of times that the shift amount A is reset and the variation transition of the shift amount A is reset increases. For this reason, it becomes difficult to analyze the correspondence between the control command and the error check value, and the security strength can be further improved. Even if the shift amount A varies due to a communication error or the like between the main control unit 110 side and the intermediate control unit 180 side, the shift of the shift amount A is reset to eliminate the shift. Since the opportunity increases, the accuracy of the error checking process can be further improved.

ビット列変換回路525は、生成回路521から出力された誤り検査値を入力し、入力した誤り検査値に対して、ビット列変換処理を施す回路である。具体的には、ビット列変換回路525には、入力した誤り検査値のビット列に対してビットローテート演算を行う複数のローテート演算器と、ビットローテート演算で用いるシフト量を制御するシフト量制御部525cとが備えられている。   The bit string conversion circuit 525 is a circuit that receives the error check value output from the generation circuit 521 and performs bit string conversion processing on the input error check value. Specifically, the bit string conversion circuit 525 includes a plurality of rotation calculators that perform a bit rotation operation on the bit string of the input error check value, and a shift amount control unit 525c that controls a shift amount used in the bit rotation operation. Is provided.

ビット列変換回路525を担う複数のローテート演算器は、規則的に変動するシフト量Aを用いてビットローテート演算を行うローテート演算器525aと、ランダムに変動するシフト量Bを用いてビットローテート演算を行うローテート演算器525bとを少なくとも備えている。ローテート演算器525a、525bは、誤り検査値と同等のビット幅を有するシフトレジスタ等からそれぞれ構成されている。そして、ローテート演算器525a、525bの入力側は、生成回路521とデータ線でそれぞれ接続され、シフト量制御部525cと制御線でそれぞれ接続されている。また、ローテート演算器525a、525bの出力側は、入力選択回路524とデータ線でそれぞれ接続されている。更に、ローテート演算器525bの出力側は、シフト量制御部525cとデータ線で接続されている。   The plurality of rotation arithmetic units that carry the bit string conversion circuit 525 perform the bit rotation calculation using the rotation calculation unit 525a that performs the bit rotation calculation using the shift amount A that regularly changes, and the shift amount B that randomly changes. And a rotate calculator 525b. The rotate calculators 525a and 525b are each composed of a shift register or the like having a bit width equivalent to the error check value. The input sides of the rotation calculators 525a and 525b are connected to the generation circuit 521 through data lines, and are connected to the shift amount control unit 525c through control lines, respectively. The output sides of the rotation calculators 525a and 525b are connected to the input selection circuit 524 through data lines. Furthermore, the output side of the rotation calculator 525b is connected to the shift amount control unit 525c via a data line.

そして、ローテート演算器525a、525bは、制御回路523の生成回路521への作動許可信号に伴って出力された誤り検査値を入力し、入力した誤り検査値のビット列に対してビットローテート演算を行った後、それぞれの演算結果を、後続する入力選択回路524へ出力する。このとき、ローテート演算器525aは、シフト量制御部525cから設定されたシフト量Aでビットローテート演算を行い、ローテート演算器525bは、シフト量制御部525cから設定されたシフト量Bでビットローテート演算を行う。   Then, the rotation calculators 525a and 525b input the error check value output along with the operation permission signal to the generation circuit 521 of the control circuit 523, and perform bit rotation operation on the bit string of the input error check value. After that, each calculation result is output to the subsequent input selection circuit 524. At this time, the rotation calculator 525a performs a bit rotation calculation with the shift amount A set by the shift amount control unit 525c, and the rotation calculation unit 525b performs a bit rotation calculation with the shift amount B set by the shift amount control unit 525c. I do.

ローテート演算器525a、525bを構成するシフトレジスタは、当該シフトレジスタを構成する各フリップフロップの最終段のフリップフロップの出力が、フィードバックして初段のフリップフロップの入力に直に接続されている。ローテート演算器525a、525bは、誤り検査値のビット列を構成する各ビットが入力されると、クロック信号に同期して、各ビットを、シフト量制御部525cから設定されたシフト量A、Bが示すビット数分だけ、所定方向(以下、「シフト方向」という)にそれぞれシフトさせる。そして、ローテート演算器525a、525bは、最終段のフリップフロップから出力された出力ビットを、初段のフリップフロップに入力ビットとしてフィードバックする。   In the shift register constituting the rotate arithmetic units 525a and 525b, the output of the last flip-flop of each flip-flop constituting the shift register is fed back and directly connected to the input of the first flip-flop. When each of the bits constituting the bit string of the error check value is input to the rotation calculators 525a and 525b, the shift amounts A and B set by the shift amount control unit 525c are set in synchronization with the clock signal. Shifting is performed in a predetermined direction (hereinafter referred to as “shift direction”) by the number of bits shown. Then, the rotation calculators 525a and 525b feed back the output bits output from the final flip-flop as input bits to the first flip-flop.

なお、シフト方向は、ビット列の最上位ビットから最下位ビットへ向かう方向、又は最下位ビットから最上位ビットへ向かう方向のいずれかの方向である。本実施形態では、シフト方向は、ローテート演算器525a、525bでそれぞれ異なった方向であっても、予め中間制御部180との間で取り決めてあれば、基本的に任意である。   Note that the shift direction is either the direction from the most significant bit of the bit string to the least significant bit or the direction from the least significant bit to the most significant bit. In the present embodiment, the shift direction is basically arbitrary as long as it is determined in advance with the intermediate control unit 180 even if the rotation directions are different in the rotation calculators 525a and 525b.

一方、シフト量制御部525cは、ブート処理中には、更新タイミング条件設定処理として、メインCPU110aから設定されたHWパラメータに基づいて、シフト量Aに係るデフォルトの更新タイミング条件を決定し、決定した更新タイミング条件に応じた設定を行う。また、シフト量制御部525cは、ブート処理中には、シフト量設定処理として、予め定められたデフォルトのシフト量A、Bをローテート演算器525a、525bへ設定する処理を行う。また、シフト量制御部525cは、ブート処理後のコマンド送信処理の際に行われるビット変換処理の際に、シフト量設定処理として、ローテート演算器525bから出力されるビット列が変換された誤り検査値に基づいて、シフト量A、Bを必要に応じて新たなシフト量A、Bに更新し、更新後のシフト量A、Bをローテート演算器525a、525bに設定する処理を行うと共に、リセット判定回路528の判定結果に基づいて、シフト量Aを再設定する処理を行う。   On the other hand, during the boot process, the shift amount control unit 525c determines and determines the default update timing condition related to the shift amount A based on the HW parameter set from the main CPU 110a as the update timing condition setting process. Set according to the update timing conditions. Further, during the boot process, the shift amount control unit 525c performs a process of setting predetermined default shift amounts A and B in the rotate computing units 525a and 525b as a shift amount setting process. Further, the shift amount control unit 525c performs error check values obtained by converting the bit string output from the rotation computing unit 525b as the shift amount setting processing in the bit conversion processing performed in the command transmission processing after the boot processing. Based on the above, the shift amounts A and B are updated to new shift amounts A and B as necessary, and the updated shift amounts A and B are set in the rotation calculators 525a and 525b, and the reset determination is performed. Based on the determination result of the circuit 528, the shift amount A is reset.

シフト量制御部525cには、ローテート演算器525a、525bに設定されるシフト量A、Bを記憶しておくシフト量記憶領域(S)と、更新タイミング条件を記憶しておく更新タイミング条件記憶領域(UT)とが設けられている。そして、シフト量制御部525cの入力側は、ローテート演算器525bとデータ線で接続され、制御回路523と制御線で接続されている。また、シフト量制御部525cの出力側は、ローテート演算器525a、525bとそれぞれ制御線で接続されている。更に、シフト量制御部525cは、内部バス400と接続されている。   The shift amount control unit 525c has a shift amount storage area (S) for storing the shift amounts A and B set in the rotation calculators 525a and 525b, and an update timing condition storage area for storing update timing conditions. (UT). The input side of the shift amount control unit 525c is connected to the rotation calculator 525b via a data line, and is connected to the control circuit 523 via a control line. Further, the output side of the shift amount control unit 525c is connected to the rotation calculators 525a and 525b through control lines. Further, the shift amount control unit 525c is connected to the internal bus 400.

デフォルトのシフト量A、Bは、予め中間制御部180との間で取り決められた値であれば、基本的に任意であり、シフト量Aとシフト量Bとの間で同じ値でも異なる値でもよく、メインROM110bの所定の記憶領域に記憶しておく。メインCPU110aは、ブート処理中の初期値設定処理の際に、メインROM110bからデフォルトのシフト量A、Bを読み出し、シフト量制御部525cのシフト量記憶領域(S)にそれぞれ記憶しておく。   The default shift amounts A and B are basically arbitrary as long as they are values determined in advance with the intermediate control unit 180, and may be the same or different values between the shift amount A and the shift amount B. It is often stored in a predetermined storage area of the main ROM 110b. During the initial value setting process during the boot process, the main CPU 110a reads the default shift amounts A and B from the main ROM 110b and stores them in the shift amount storage area (S) of the shift amount control unit 525c.

そして、シフト量制御部525cは、ブート処理中のHWパラメータ設定処理の際に、メインCPU110aから出力されたHWパラメータをデータバス400aから取り込む。シフト量制御部525cには、予め用意されたシフト量Aに係る複数の更新タイミング条件と複数のHWパラメータとの対応関係が分かるデータテーブルが設けられている。そして、シフト量制御部525cは、取り込んだHWパラメータによって特定の更新タイミング条件を一義的に決定することができる。そして、シフト量制御部525cは、ブート処理中の更新タイミング条件設定処理として、メインCPU110aから設定されたHWパラメータに対応する更新タイミング条件を、シフト量Aに係るデフォルトの更新タイミング条件として更新タイミング条件記憶領域(UT)に記憶しておく。なお、図7では、シフト量制御部525cと内部バス400とのデータ送受に関して乱数値のみを記載し、HWパラメータは省略している。   The shift amount control unit 525c takes in the HW parameter output from the main CPU 110a from the data bus 400a during the HW parameter setting process during the boot process. The shift amount control unit 525c is provided with a data table in which correspondence relationships between a plurality of update timing conditions and a plurality of HW parameters related to a shift amount A prepared in advance are known. Then, the shift amount control unit 525c can uniquely determine a specific update timing condition based on the captured HW parameter. Then, as the update timing condition setting process during the boot process, the shift amount control unit 525c uses the update timing condition corresponding to the HW parameter set from the main CPU 110a as the default update timing condition related to the shift amount A. Store in the storage area (UT). In FIG. 7, only random values are shown for data transmission / reception between the shift amount control unit 525c and the internal bus 400, and the HW parameter is omitted.

また、制御回路523は、ブート処理中の変換方式設定処理の際に、決定手段540の決定回路542から出力された変換方式制御信号の入力に基づいて、ローテート演算器に設定するべきシフト量をシフト量制御部525cにて制御させるための制御信号(以下、「シフト量設定制御信号」という)を、シフト量制御部525cへ出力する。シフト量制御部525cは、制御回路523から出力された当該シフト量設定制御信号の入力に基づいて、シフト量A、Bに係るシフト量設定処理を行う。具体的には、シフト量制御部525cは、ブート処理中のシフト量Aに係るシフト量設定処理として、シフト量記憶領域(S)に記憶されたシフト量Aをローテート演算器525aに設定するための制御信号(以下、「シフト量A設定信号」という)をローテート演算器525aに出力し、シフト量記憶領域(S)に記憶されたデフォルトのシフト量Aをローテート演算器525aに設定する。また、シフト量制御部525cは、ブート処理中のシフト量Bに係るシフト量設定処理として、シフト量B設定信号をローテート演算器525bに出力し、シフト量記憶領域(S)に記憶されたデフォルトのシフト量Bをローテート演算器525bに設定する。   In addition, the control circuit 523 determines the shift amount to be set in the rotation calculator based on the input of the conversion method control signal output from the determination circuit 542 of the determination unit 540 during the conversion method setting process during the boot process. A control signal (hereinafter referred to as “shift amount setting control signal”) to be controlled by the shift amount control unit 525c is output to the shift amount control unit 525c. The shift amount control unit 525c performs a shift amount setting process for the shift amounts A and B based on the input of the shift amount setting control signal output from the control circuit 523. Specifically, the shift amount control unit 525c sets the shift amount A stored in the shift amount storage area (S) in the rotation calculator 525a as the shift amount setting process related to the shift amount A during the boot process. The control signal (hereinafter referred to as “shift amount A setting signal”) is output to the rotation calculator 525a, and the default shift amount A stored in the shift amount storage area (S) is set in the rotation calculator 525a. Further, the shift amount control unit 525c outputs a shift amount B setting signal to the rotate calculator 525b as a shift amount setting process related to the shift amount B during the boot process, and stores the default stored in the shift amount storage area (S). Is set in the rotation calculator 525b.

本実施形態の変換方式は、上記のように、所定の動作モードの期間が開始すると、決定手段540の変換方式設定処理によって変換方式Aから変換方式Bに変更され、所定の動作モードの期間が終了すると、決定手段540の変換方式設定処理によって変換方式Bから変換方式Aに変更される。このとき、シフト量制御部525cは、変換方式Aでビット列変換処理を施す際のビットローテート演算で用いられるシフト量Aを、予め中間制御部180との間で取り決められた更新の方式(以下、「更新方式」という)に従って更新する。   As described above, the conversion method of the present embodiment is changed from the conversion method A to the conversion method B by the conversion method setting process of the determination unit 540 when the period of the predetermined operation mode starts. When the processing is completed, the conversion method B is changed to the conversion method A by the conversion method setting process of the determination unit 540. At this time, the shift amount control unit 525c updates the shift amount A used in the bit rotation calculation when performing the bit string conversion processing by the conversion method A (hereinafter referred to as the update method previously determined with the intermediate control unit 180). Update according to the "update method".

シフト量Aに係る更新方式は、予め中間制御部180との間で取り決められ、シフト量Aが規則的に変動すれば、基本的に任意である。例えば、シフト量制御部525cが、デフォルトのシフト量Aに対して、予め設けられた所定値を更新タイミングが到来する毎に累積させていく方式などを採用することができる。また、シフト量制御部525cが、デフォルトのシフト量Aに対して、既存の遊技機が備えるパリティチェックやチェックサム等の演算機能を流用して、ローテート演算器525bから出力された誤り検査値を演算し、得られた結果を、更新タイミングが到来する毎に累積させていく方式などを採用することができる。この場合、ローテート演算器525bから出力された誤り検査値及び既存の遊技機が備える演算機能を用いて得られた結果を累積させていく方式では、固定データである所定値を予め主制御部110に保持しておく必要がなく、静的な解析手法で不正に解析される虞れがないため、好適である。   The update method related to the shift amount A is basically arbitrary as long as it is negotiated with the intermediate control unit 180 in advance and the shift amount A varies regularly. For example, a method may be employed in which the shift amount control unit 525c accumulates a predetermined value with respect to the default shift amount A every time the update timing arrives. In addition, the shift amount control unit 525c uses an arithmetic function such as a parity check or checksum provided in an existing game machine for the default shift amount A, and uses the error check value output from the rotate arithmetic unit 525b. A method of calculating and accumulating the obtained results every time the update timing arrives can be adopted. In this case, in the method of accumulating the error check value output from the rotation calculator 525b and the result obtained by using the calculation function provided in the existing gaming machine, a predetermined value that is fixed data is set in advance to the main control unit 110. This is preferable because it is not necessary to hold the data in a static manner and there is no possibility of illegal analysis by a static analysis method.

また、図7では省略したが、これら既存の遊技機が備えるパリティチェック等の演算機能を実現するパリティチェック回路等を、生成手段520内に設け、シフト量Aに係る更新タイミングの到来に応じて、当該パリティチェック回路等から取得してきた値を用いることができる。この場合、シフト量Aの更新は、ワイヤードロジック制御方式のハードウェアで回路構成された生成手段520の内部処理だけで実現可能となる。このため、セキュリティ機能を追加に伴って増大する主制御部110の処理負荷やコードサイズを抑制することができるため、好適である。何れにしても、シフト量Aに係る更新方式が、中間制御部180との間で整合しており、ローテート演算器525bから出力された誤り検査値に基づいてシフト量Aが規則的に変動する方式であればよい。   Although omitted in FIG. 7, a parity check circuit or the like that realizes an arithmetic function such as a parity check provided in these existing gaming machines is provided in the generation unit 520 according to the arrival of the update timing related to the shift amount A. The value obtained from the parity check circuit or the like can be used. In this case, the update of the shift amount A can be realized only by the internal processing of the generation unit 520 configured by a wired logic control type hardware. For this reason, the processing load and code size of the main control unit 110 that increase with the addition of security functions can be suppressed, which is preferable. In any case, the update method related to the shift amount A is consistent with the intermediate control unit 180, and the shift amount A regularly varies based on the error check value output from the rotation calculator 525b. Any method can be used.

また、更新のタイミングを規定する更新タイミング条件は、予め中間制御部180との間で取り決められて、シフト量Aが規則的に変動するように更新されるのであれば、基本的に任意である。例えば、シフト量制御部525cを、取得手段510のデータ判別回路511とデータ線で接続して、取得手段510から出力された制御コマンドの送出個数Pが所定数であるか否かを計数する。そして、取得手段510から出力された制御コマンドの送出個数Pが所定数以上となったら、シフト量設定処理を行ってシフト量Aを更新するように構成することができる。   An update timing condition that defines the update timing is basically arbitrary as long as it is negotiated with the intermediate control unit 180 in advance and the shift amount A is updated so as to change regularly. . For example, the shift amount control unit 525c is connected to the data discriminating circuit 511 of the acquisition unit 510 via a data line, and it is counted whether or not the number P of control commands output from the acquisition unit 510 is a predetermined number. Then, when the number P of control commands output from the acquisition unit 510 exceeds a predetermined number, the shift amount A can be updated by performing the shift amount setting process.

本実施形態のシフト量Aに係る更新タイミング条件は、決定手段540の変換方式設定処理によって設定される変換方式が、変換方式Bから変換方式Aに変更される毎で、シフト量Aが規則的に変動されるようにシフト量Aを更新するように規定されているものとする。具体的には、本実施形態では、所定の動作モードの期間が開始し、変換方式Bでのビット列変換処理が行われる最中にシフト量Aを更新しておき、当該所定の動作モードの期間が終了した後には、更新されたシフト量Aを用いて変換方式Aでのビット列変換処理が行われるような更新タイミング条件を規定する。   The update timing condition relating to the shift amount A of the present embodiment is that the shift amount A is regular each time the conversion method set by the conversion method setting process of the determination unit 540 is changed from the conversion method B to the conversion method A. It is assumed that the shift amount A is defined to be updated so as to vary. Specifically, in this embodiment, the period of the predetermined operation mode starts, and the shift amount A is updated while the bit string conversion processing in the conversion method B is performed. After the above is completed, an update timing condition is defined such that the bit string conversion processing in the conversion method A is performed using the updated shift amount A.

この場合、シフト量Aに係る更新タイミング条件は、所定の動作モードの期間中に変換方式Bでビット列変換処理が行われ、制御コマンドに付加可能となった誤り検査値に基づいて規定されていれば、基本的に任意である。この制御コマンドに付加可能となった誤り検査値とは、所定の動作モードの期間中に変換方式Bでビット列が変換された後、入力選択回路524を介して保存回路526に保存され、送出回路527へ出力可能となった誤り検査値である。本実施形態では、所定の動作モードの期間中に、保存回路526に保存された誤り検査値が、当該期間中で何番目に保存された誤り検査値なのかに応じて、シフト量Aに係る複数の更新タイミング条件が予め用意されているものとする。例えば、所定の動作モードの期間中に、最初に保存回路526へ保存された誤り検査値に基づいて規定された更新タイミング条件や、最後に保存回路526へ保存された誤り検査値に基づいて規定された更新タイミング条件や、所定番目に保存回路526へ保存された誤り検査値に基づいて規定された更新タイミング条件等が、複数用意されているものとする。   In this case, the update timing condition related to the shift amount A is defined based on the error check value that can be added to the control command after the bit string conversion processing is performed by the conversion method B during the period of the predetermined operation mode. Is basically arbitrary. The error check value that can be added to the control command is stored in the storage circuit 526 via the input selection circuit 524 after the bit string is converted by the conversion method B during the period of the predetermined operation mode, and sent out. This is an error check value that can be output to 527. In the present embodiment, the shift amount A depends on the error check value stored in the storage circuit 526 during the period of the predetermined operation mode according to the error check value stored in the period. It is assumed that a plurality of update timing conditions are prepared in advance. For example, it is defined based on the update timing condition defined based on the error check value first stored in the storage circuit 526 or the error check value stored last in the storage circuit 526 during a predetermined operation mode. It is assumed that a plurality of update timing conditions and a plurality of update timing conditions defined based on the error check value stored in the storage circuit 526 in a predetermined order are prepared.

このうち、本実施形態では、ブート処理中の更新タイミング条件設定処理の際に、HWパラメータに対応する更新タイミング条件として、所定の動作モードの期間中で、最初に保存回路526へ保存された誤り検査値に基づいて規定された更新タイミング条件が設定されるものとする。すなわち、本実施形態では、ブート処理後に所定の動作モードの期間が開始し、ローテート演算器525bから出力された誤り検査値が、当該期間中で最初に保存回路526へ出力されるときに、シフト量Aを更新するものとする。   Among these, in the present embodiment, during the update timing condition setting process during the boot process, the error first stored in the storage circuit 526 as the update timing condition corresponding to the HW parameter during the period of the predetermined operation mode. An update timing condition defined based on the inspection value is set. That is, in this embodiment, the period of the predetermined operation mode starts after the boot process, and the error check value output from the rotation calculator 525b is shifted to the storage circuit 526 for the first time during the period. The quantity A shall be updated.

より詳細には、ブート処理後、所定の動作モードの期間の開始に伴って、当該期間中の最初にコマンド送信処理が行われる際に、生成手段520の制御回路523には、決定手段540の決定回路542から変換方式制御信号が出力される。制御回路523は、変換方式制御信号の入力に基づいて、シフト量制御部525cにシフト量設定制御信号を出力する。シフト量制御部525cは、制御回路523から出力された当該シフト量設定制御信号の入力に基づいて、所定の動作モードの期間が開始したことを検知することができる。   More specifically, when the command transmission process is performed for the first time during the predetermined operation mode period after the boot process, the control circuit 523 of the generation unit 520 includes the determination unit 540. A conversion system control signal is output from the determination circuit 542. The control circuit 523 outputs a shift amount setting control signal to the shift amount control unit 525c based on the input of the conversion method control signal. Based on the input of the shift amount setting control signal output from the control circuit 523, the shift amount control unit 525c can detect that the period of the predetermined operation mode has started.

例えば、シフト量制御部525cに、制御回路523から出力されたシフト量設定制御信号の入力回数を計数するカウンタ回路等を設けておき、シフト量設定制御信号が入力される毎に1を加算する。そして、シフト量制御部525cは、当該カウンタ回路等の値が偶数又は奇数に遷移したことを検知することで、シフト量制御部525cは、所定の動作モードの期間の開始又は終了したことを検知することができる。例えば、カウンタ回路等の初期値が0であり、ブート処理中の変換方式設定処理によって出力されるシフト量設定制御信号によって1が加算されることを含めると、カウンタ回路等の値が偶数に遷移すれば、所定の動作モードの期間が開始したことを示し、その後、カウンタ回路等の値が奇数に遷移すれば、所定の動作モードの期間が終了したことを示す。よって、シフト量制御部525cは、シフト量設定制御信号の入力に基づいて、所定の動作モードの期間が開始又は終了したことを検知し、現在が所定の動作モードの期間中であるか否かを判断することができる。すなわち、シフト量制御部525cは、シフト量設定制御信号の入力に基づいて、シフト量A、Bの更新タイミングを判断することができる。   For example, a counter circuit that counts the number of times the shift amount setting control signal output from the control circuit 523 is input is provided in the shift amount control unit 525c, and 1 is added each time the shift amount setting control signal is input. . Then, the shift amount control unit 525c detects that the value of the counter circuit or the like has shifted to an even number or an odd number, so that the shift amount control unit 525c detects that the period of the predetermined operation mode has started or ended. can do. For example, if the initial value of the counter circuit or the like is 0 and 1 is added by the shift amount setting control signal output by the conversion method setting process during the boot process, the value of the counter circuit or the like transitions to an even number. Then, it indicates that the period of the predetermined operation mode has started, and then when the value of the counter circuit or the like transitions to an odd number, it indicates that the period of the predetermined operation mode has ended. Therefore, the shift amount control unit 525c detects that the period of the predetermined operation mode has started or ended based on the input of the shift amount setting control signal, and determines whether or not the current period is in the period of the predetermined operation mode. Can be judged. That is, the shift amount control unit 525c can determine the update timing of the shift amounts A and B based on the input of the shift amount setting control signal.

シフト量制御部525cは、所定の動作モードの期間が開始したことを検知した場合、シフト量設定処理を行ってシフト量Aを更新する。すなわち、シフト量制御部525cは、シフト量Aに係るシフト量設定処理として、ローテート演算器525bから出力された誤り検査値に基づいて、シフト量記憶領域(S)に記憶されたシフト量Aの値を、シフト量Aに係る所定の更新方式に従って更新する。そして、シフト量制御部525cは、シフト量A設定信号をローテート演算器525aに出力し、シフト量記憶領域(S)に記憶された更新後のシフト量Aをローテート演算器525aに設定する。   When the shift amount control unit 525c detects that the period of the predetermined operation mode has started, it performs a shift amount setting process to update the shift amount A. That is, the shift amount control unit 525c performs the shift amount setting process related to the shift amount A based on the error check value output from the rotate computing unit 525b and the shift amount A stored in the shift amount storage area (S). The value is updated according to a predetermined update method related to the shift amount A. Then, the shift amount control unit 525c outputs a shift amount A setting signal to the rotate calculator 525a, and sets the updated shift amount A stored in the shift amount storage area (S) in the rotate calculator 525a.

なお、その後の所定の動作モードの期間中では、シフト量制御部525cには、ローテート演算器525bから誤り検査値が出力されるが、当該誤り検査値は、所定の動作モードの期間中で最初に出力された誤り検査値ではないため、シフト量Aに係る更新タイミング条件は成立せず、シフト量Aは更新されない。その後、所定の動作モードの期間が終了して、シフト量Aを用いたビットローテート演算によってビット列が変換された誤り検査値が保存回路526へ出力される期間を経て、再び所定の動作モードの期間が開始し、決定手段540から変換方式制御信号が出力されれば、シフト量制御部525cは、上記のようにシフト量Aを再び更新する。   Note that during the subsequent period of the predetermined operation mode, an error check value is output from the rotate computing unit 525b to the shift amount control unit 525c, but the error check value is the first in the period of the predetermined operation mode. Therefore, the update timing condition for the shift amount A is not satisfied, and the shift amount A is not updated. Thereafter, after the period of the predetermined operation mode ends, the error check value obtained by converting the bit string by the bit rotation operation using the shift amount A is output to the storage circuit 526, and then the predetermined operation mode period again. When the conversion method control signal is output from the determination unit 540, the shift amount control unit 525c updates the shift amount A again as described above.

なお、所定の動作モードの期間が終了して、シフト量Aを用いたビットローテート演算によってビット列が変換された誤り検査値が保存回路526へ出力される期間には、シフト量制御部525cには、リセット判定回路528からシフト量Aリセット信号が入力される。シフト量制御部525cは、当該期間中、リセット判定回路528から出力されたシフト量Aリセット信号の入力に基づいて、シフト量Aを再設定する。具体的には、シフト量制御部525cは、シフト量Aリセット信号の入力に基づき、シフト量記憶領域(S)に記憶されたシフト量Aに、予め用意された所定の設定値を上書きして記憶する。そして、シフト量制御部525cは、シフト量A設定信号をローテート演算器525aに出力し、シフト量記憶領域(S)に記憶された上書き後のシフト量Aをローテート演算器525aに設定する。   Note that during the period when the period of the predetermined operation mode ends and the error check value in which the bit string is converted by the bit rotation operation using the shift amount A is output to the storage circuit 526, the shift amount control unit 525c includes The shift amount A reset signal is input from the reset determination circuit 528. The shift amount control unit 525c resets the shift amount A based on the input of the shift amount A reset signal output from the reset determination circuit 528 during the period. Specifically, based on the input of the shift amount A reset signal, the shift amount control unit 525c overwrites a predetermined set value prepared in advance on the shift amount A stored in the shift amount storage area (S). Remember. Then, the shift amount control unit 525c outputs a shift amount A setting signal to the rotate calculator 525a, and sets the overwritten shift amount A stored in the shift amount storage area (S) in the rotate calculator 525a.

シフト量制御部525cに予め用意された所定の設定値は、予め中間制御部180との間で取り決めてあれば、基本的に任意である。当該設定値は、デフォルトのシフト量Aと同じ値でもよいし、別の値でもよく、メインROM110bの所定の記憶領域に予め記憶しておけばよい。そして、ブート処理中の初期値設定処理の際に、メインCPU110aがメインROM110bから当該設定値を読み出し、シフト量制御部525cの所定の記憶領域に記憶させておけばよい。   The predetermined set value prepared in advance in the shift amount control unit 525c is basically arbitrary as long as it is negotiated with the intermediate control unit 180 in advance. The set value may be the same value as the default shift amount A, or may be a different value, and may be stored in advance in a predetermined storage area of the main ROM 110b. Then, in the initial value setting process during the boot process, the main CPU 110a may read the set value from the main ROM 110b and store it in a predetermined storage area of the shift amount control unit 525c.

一方、シフト量Bは、予め中間制御部180との間で取り決められておらず、ランダムに変動する値に設定される。シフト量Bに係る更新方式は、シフト量Aのようにシフト量が規則的に変動する方式ではなく、乱数値をシフト量Bに用いる方式とする。この乱数値は、メインRAM110cの所定の乱数値記憶領域に記憶された既存の遊技機が備える特別図柄判定用乱数値や大当たり図柄用乱数値等を流用することができる。この場合、検査値生成部500内に新たに乱数生成回路を設ける必要がなく、検査値生成部500の回路構成を比較的簡易にすることができる。   On the other hand, the shift amount B is not negotiated with the intermediate control unit 180 in advance, and is set to a value that varies randomly. The update method related to the shift amount B is not a method in which the shift amount varies regularly like the shift amount A, but a method in which a random value is used for the shift amount B. As this random number value, a special symbol determination random number value or a jackpot symbol random number value provided in an existing gaming machine stored in a predetermined random number value storage area of the main RAM 110c can be used. In this case, it is not necessary to newly provide a random number generation circuit in the inspection value generation unit 500, and the circuit configuration of the inspection value generation unit 500 can be relatively simplified.

また、乱数値について、図7では省略したが、生成手段520内に既存の遊技機が備える乱数生成回路を設け、シフト量Bに係る更新タイミングの到来に応じて、当該乱数生成回路から取得してきた値を、シフト量Bの値に用いることができる。この場合、シフト量Bの更新は、ワイヤードロジック制御方式のハードウェアで回路構成された生成手段520の内部処理だけで実現可能となる。このため、セキュリティ機能を追加に伴って増大する主制御部110の処理負荷やコードサイズを抑制することができ、好適である。何れにしても、シフト量Bの更新方式として用いる乱数値が、中間制御部180との間で取り決められた値とはなっておらず、当該乱数値を取得する乱数生成回路等が、中間制御部180に設けられた乱数生成回路と同期して作動するものでなければよい。   Although the random number value is omitted in FIG. 7, a random number generation circuit provided in the existing gaming machine is provided in the generation unit 520 and is acquired from the random number generation circuit when the update timing related to the shift amount B arrives. This value can be used as the value of the shift amount B. In this case, the update of the shift amount B can be realized only by the internal processing of the generation unit 520 configured with a wired logic control type hardware. For this reason, it is possible to suppress the processing load and code size of the main control unit 110 that increase as security functions are added, which is preferable. In any case, the random number value used as the update method of the shift amount B is not a value negotiated with the intermediate control unit 180. It is sufficient that it does not operate in synchronization with the random number generation circuit provided in the unit 180.

また、本実施形態でのシフト量Bに係る更新タイミング条件は、所定の動作モードの期間が開始し、変換方式Bでビット列変換処理が施された誤り検査値が、制御コマンドに付加可能となる毎に、その都度、シフト量Bを更新するように規定されているものとする。すなわち、変換方式Bでビット列変換処理が施された誤り検査値が、入力選択回路524を介して保存回路526に保存されて、送出回路527へ出力可能となる毎に、シフト量Bを更新するように規定されている。   Further, the update timing condition related to the shift amount B in the present embodiment is that a period of a predetermined operation mode starts, and an error check value subjected to bit string conversion processing by the conversion method B can be added to the control command. It is assumed that the shift amount B is updated every time. That is, each time the error check value that has been subjected to the bit string conversion processing by the conversion method B is stored in the storage circuit 526 via the input selection circuit 524 and can be output to the transmission circuit 527, the shift amount B is updated. It is prescribed as follows.

より詳細には、所定の動作モードの期間の開始に伴って、当該期間中の最初にコマンド送信処理が行われる際に、制御回路523は、決定手段540から出力された変換方式制御信号の入力に基づいて、シフト量設定制御信号をシフト量制御部525cへ出力する。シフト量制御部525cは、制御回路523から出力された当該シフト量設定制御信号の入力に基づいて、所定の動作モードの期間が開始したことを検知することができる。   More specifically, when a command transmission process is performed for the first time during the start of a predetermined operation mode period, the control circuit 523 inputs the conversion method control signal output from the determination unit 540. The shift amount setting control signal is output to the shift amount control unit 525c based on the above. Based on the input of the shift amount setting control signal output from the control circuit 523, the shift amount control unit 525c can detect that the period of the predetermined operation mode has started.

シフト量制御部525cは、所定の動作モードの期間が開始したことを検知した場合、シフト量設定処理を行ってシフト量Bを更新する。すなわち、シフト量制御部525cは、シフト量Bに係るシフト量設定処理として、ローテート演算器525bから出力された誤り検査値が入力される毎に、シフト量記憶領域(S)に記憶されたシフト量Bの値を、シフト量Bに係る所定の更新方式に従って更新する。そして、シフト量制御部525cは、シフト量B設定信号をローテート演算器525bに出力し、シフト量記憶領域(S)に記憶された更新後のシフト量Bをローテート演算器525bに設定する。なお、更新後のシフト量Bは、所定の動作モードの期間中に行われる次回のコマンド送信処理においてローテート演算器525bがビットローテート演算を行う際に反映される。   When the shift amount control unit 525c detects that the period of the predetermined operation mode has started, it performs a shift amount setting process to update the shift amount B. That is, the shift amount control unit 525c performs the shift stored in the shift amount storage area (S) every time the error check value output from the rotation calculator 525b is input as the shift amount setting process related to the shift amount B. The value of the amount B is updated according to a predetermined update method related to the shift amount B. Then, the shift amount control unit 525c outputs a shift amount B setting signal to the rotate calculator 525b, and sets the updated shift amount B stored in the shift amount storage area (S) in the rotate calculator 525b. The updated shift amount B is reflected when the rotation calculator 525b performs a bit rotation calculation in the next command transmission process performed during the period of the predetermined operation mode.

なお、その後の所定の動作モードの期間中は、制御回路523は、変換方式制御信号が出力されないためシフト量設定制御信号をシフト量制御部525cへ出力しないが、ローテート演算器525bから出力された誤り検査値は、その都度、保存回路526へ出力されると共に、シフト量制御部525cへ入力される。このため、シフト量制御部525cは、ローテート演算器525bから出力された誤り検査値の入力に基づいて、その都度、新たな乱数値を取得し、シフト量Bを更新していけばよい。   During the subsequent predetermined operation mode, the control circuit 523 does not output the shift amount setting control signal to the shift amount control unit 525c because the conversion method control signal is not output, but is output from the rotation calculator 525b. The error check value is output to the storage circuit 526 and input to the shift amount control unit 525c each time. For this reason, the shift amount control unit 525c only needs to acquire a new random value and update the shift amount B each time based on the input of the error check value output from the rotation calculator 525b.

また、所定の動作モードの期間が終了した際には、制御回路523は、変換方式制御信号の入力に基づいてシフト量設定制御信号をシフト量制御部525cへ出力する。シフト量制御部525cは、制御回路523から出力された当該シフト量設定制御信号の入力に基づいて、所定の動作モードの期間が終了したことを検知することができる。   When the predetermined operation mode period ends, the control circuit 523 outputs a shift amount setting control signal to the shift amount control unit 525c based on the input of the conversion method control signal. Based on the input of the shift amount setting control signal output from the control circuit 523, the shift amount control unit 525c can detect that the period of the predetermined operation mode has ended.

シフト量制御部525cは、所定の動作モードの期間が終了したことを検知した場合、シフト量設定処理を行う必要はない。すなわち、シフト量制御部525cは、ローテート演算器525bから出力された誤り検査値を破棄する等だけすればよく、シフト量Bの更新を行う必要はない。その後、シフト量Aを用いたビットローテート演算によってビット列が変換された誤り検査値が保存回路526へ出力された後、再び所定の動作モードの期間が開始すれば、シフト量制御部525cは、上記のようにシフト量Bを再び更新する。   When the shift amount control unit 525c detects that the period of the predetermined operation mode has ended, it is not necessary to perform the shift amount setting process. That is, the shift amount control unit 525c only needs to discard the error check value output from the rotation calculator 525b, and does not need to update the shift amount B. After that, after the error check value in which the bit string is converted by the bit rotation operation using the shift amount A is output to the storage circuit 526, if the predetermined operation mode period starts again, the shift amount control unit 525c The shift amount B is updated again as follows.

なお、シフト量制御部525cは、所定の動作モードの期間が終了した後でも、シフト量Bの更新を行ってもよいが、シフト量Bに係る更新方式として、メインRAM110cの乱数値記憶領域に記憶された乱数値を用いる場合は、メインCPU110aとの間で、乱数値のデータ送受に係る不必要な処理が発生する。この場合、メインCPU110aに余計な処理負荷がかかるため、所定の動作モードの期間が終了したことを検知した場合には、シフト量Bの更新は行わない方が好適である。また、シフト量Bに係る更新方式として、生成手段520内に設けた乱数生成回路で乱数値を取得すると、乱数値のデータ送受に係る処理が発生しないため、当該期間が終了した後にシフト量Bを更新するか否かを問わず、メインCPU110aへの負荷は最小限に抑制される。しかも、シフト量Bに係る更新タイミング条件を設計するときに、メインCPU110aへの負荷を考慮することで設計自由度が制約されることもなく、好適である。   Note that the shift amount control unit 525c may update the shift amount B even after the period of the predetermined operation mode ends, but as an update method related to the shift amount B, the shift amount control unit 525c stores the random amount value storage area of the main RAM 110c. When the stored random number value is used, unnecessary processing related to data transmission / reception of the random number value occurs with the main CPU 110a. In this case, since an extra processing load is applied to the main CPU 110a, it is preferable not to update the shift amount B when it is detected that the period of the predetermined operation mode has ended. Further, as a method for updating the shift amount B, if a random number value is acquired by a random number generation circuit provided in the generation unit 520, processing related to data transmission / reception of the random value does not occur. Regardless of whether or not to update, the load on the main CPU 110a is minimized. In addition, when designing the update timing condition related to the shift amount B, the degree of freedom in design is not restricted by considering the load on the main CPU 110a, which is preferable.

このように、シフト量Aは、予め中間制御部180との間で取り決められた所定の更新方式及び更新タイミング条件に基づいて更新され、規則的に変動する。一方、シフト量Bは、予め中間制御部180との間で取り決められていない乱数値で更新され、ランダムに変動する。このため、シフト量Bを用いてビットローテート演算を行うローテート演算器525bでは、1回のビット列変換処理の前後でビット列を構成する各ビットの位置が結果的に何ビット移動したのかを示す「ローテート数」もランダムに変動することとなる。   In this way, the shift amount A is updated based on a predetermined update method and update timing conditions that have been negotiated with the intermediate control unit 180 in advance and fluctuates regularly. On the other hand, the shift amount B is updated with a random value that has not been negotiated with the intermediate control unit 180 in advance, and varies randomly. For this reason, in the rotation calculator 525b that performs the bit rotation operation using the shift amount B, “rotate” indicating how many positions of the respective bits constituting the bit string have moved as a result before and after one bit string conversion process. The “number” also varies randomly.

しかしながら、ローテート演算器525bでは、ビット列変換処理毎でシフト量Bはランダムに変動されるものの、1回のビット列変換処理の中では、各ビットは規則的にシフトされるだけであり、ビット列変換処理毎で各ビットの値の組み合わせ自体が変化するわけではない。このため、中間制御部180側ではビットローテート演算を複数回行えば、ビット列が変換されていない誤り検査値(以下、「元の誤り検査値」という)のビット列に戻すことができる。ローテート数は、1回のビット列変換処理の前後でビット列を構成する各ビットの位置が結果的に何ビット移動したのかを示している。このため、ローテート数の取り得る範囲は、誤り検査値のビット列のビット幅で規定される。   However, in the rotate computing unit 525b, the shift amount B is randomly varied for each bit string conversion process, but each bit is only regularly shifted in one bit string conversion process. The combination of the values of each bit does not change every time. Therefore, if the bit rotation operation is performed a plurality of times on the intermediate control unit 180 side, the bit string can be restored to the bit string of the error check value (hereinafter referred to as “original error check value”) that has not been converted. The number of rotations indicates how many bits have moved as a result of the position of each bit constituting the bit string before and after one bit string conversion process. For this reason, the possible range of the rotation number is defined by the bit width of the bit string of the error check value.

例えば、誤り検査値のビット長を1バイト(8ビット)とした場合、ローテート数の取り得る範囲は0以上8以下の整数となり、ビットローテート演算を少なくとも8回行えば、元の誤り検査値のビット列に戻すことができる。よって、例えば、シフト量Bとして用いる乱数値の取り得る範囲が0〜255であっても、誤り検査値のビット幅を1バイト(8ビット)とした場合には、ビットローテート演算を少なくとも8回行うだけで、元の誤り検査値のビット列に戻すことができる。   For example, when the bit length of the error check value is 1 byte (8 bits), the range that the rotation number can take is an integer of 0 to 8, and if the bit rotation operation is performed at least 8 times, the original error check value It can be converted back to a bit string. Therefore, for example, even if the range of random values used as the shift amount B is 0 to 255, if the bit width of the error check value is 1 byte (8 bits), the bit rotation operation is performed at least 8 times. It is possible to return to the bit string of the original error check value only by performing.

また、特にシフト量Bがランダムに変動するローテート演算器525bでは、元の誤り検査値のビット列が異なっていても、ビット列変換処理後には同じビット列の誤り検査値が出力される場合が生じる。一般的には伝送データに付加する誤り検出符号が、伝送データ毎で重複した値をとることは、誤り検出の信頼度を低下させるものとして回避するべき事象であり、問題となる。しかしながら、本実施形態では、ビット列変換毎で重複した値が生じても元の誤り検査値に戻すことが可能であって、元の誤り検査値自体に誤り検出の信頼度があるため、問題とはならない。むしろ、ビット列変換毎で重複した値が生じた方が、不正者が制御コマンドと誤り検査値を複数窃取したときに、シフト量の変動に関する規則性の有無や変換方式の変更の有無を解析することが困難となり、制御コマンドと誤り検査値の対応関係を解析することがより一層困難となり好適である。   In particular, in the rotation computing unit 525b in which the shift amount B varies randomly, the error check value of the same bit string may be output after the bit string conversion process even if the bit string of the original error check value is different. In general, the fact that an error detection code added to transmission data takes a duplicated value for each transmission data is an event that should be avoided as lowering the reliability of error detection, which is a problem. However, in the present embodiment, even if a duplicate value occurs every bit string conversion, it is possible to return to the original error check value, and the original error check value itself has the reliability of error detection. Must not. Rather, if a duplicate value occurs in each bit string conversion, when an unauthorized person steals multiple control commands and error check values, analyze whether there is regularity regarding shift amount fluctuations or whether the conversion method has changed. This makes it difficult to analyze the correspondence between the control command and the error check value, which is preferable.

このようにして、ビット列変換回路525では、コマンド送信処理の際に、生成回路521から出力された誤り検査値のビット列に対して、上記構成のシフト量A、Bを用いるローテート演算器525a、525bにてビットローテート演算を行い、ビット列が変換された誤り検査値を、後続する入力選択回路524へそれぞれ出力する。   In this way, in the bit string conversion circuit 525, the rotation calculators 525a and 525b using the shift amounts A and B having the above-described configuration with respect to the bit string of the error check value output from the generation circuit 521 during the command transmission process. The bit rotation operation is performed at, and the error check value obtained by converting the bit string is output to the subsequent input selection circuit 524, respectively.

本実施形態では、ビット列変換回路525を比較的簡易な回路構成であるシフトレジスタで実現可能なローテート演算器525a、525bで構成したため、ローテート演算器525aの回路を設計した後は、その回路データをローテート演算器525bにも流用することが可能である。このため、本実施形態では、回路設計やその検証作業に係る開発工数や開発難易度を抑制することができる。すなわち、本実施形態では、複数の変換方式が設けられたことで制御コマンドと誤り検査値の対応関係が解析困難となりセキュリティ強度が向上するという効果を、設けられた変換方式の数よりも少数の演算器を設計するだけで得ることができ、少ない開発コストで大きな不正防止効果を得ることができる。   In the present embodiment, since the bit string conversion circuit 525 is configured by the rotation calculators 525a and 525b that can be realized by a shift register having a relatively simple circuit configuration, after the circuit of the rotation calculator 525a is designed, the circuit data is converted to the circuit data. The rotation calculator 525b can also be used. For this reason, in this embodiment, it is possible to suppress the development man-hours and development difficulty related to circuit design and verification work. That is, in this embodiment, the effect that the correspondence relationship between the control command and the error check value becomes difficult to analyze and the security strength is improved by providing a plurality of conversion methods is smaller than the number of conversion methods provided. It can be obtained simply by designing the computing unit, and a large fraud prevention effect can be obtained with a small development cost.

また、本実施形態では、ローテート演算器525bでは、シフト量Bをランダムに変動させるため、ローテート演算器525bでビット列が変換された誤り検査値の各ビットは、ビット列変換処理毎で不規則にシフトする。このため、不正者が、制御コマンドに付加された誤り検査値がどのようなシフト量でビット列が変換されているのかを解析することが困難となる。よって、制御コマンドと誤り検査値の対応関係が解析困難となり、セキュリティ強度を更に向上させることができる。   In this embodiment, the rotation calculator 525b randomly shifts the shift amount B. Therefore, each bit of the error check value whose bit string is converted by the rotation calculator 525b is irregularly shifted for each bit string conversion process. To do. For this reason, it is difficult for an unauthorized person to analyze how much the bit string is converted by the error check value added to the control command. Therefore, it becomes difficult to analyze the correspondence between the control command and the error check value, and the security strength can be further improved.

また、本実施形態では、シフト量がランダムに変動する演算器を、ローテート演算器525bのみとしている。また、ローテート演算器525bでビット列が変換された誤り検査値が、制御コマンドに付加されて中間制御部180へ送信される場合も、所定の動作モードの期間の際、すなわち、所定の制御コマンド群が中間制御部180へ送信される期間に限定した。このため、中間制御部180側での誤り検査処理にて元の誤り検査値のビット列に戻す際に、シフト量をランダムに変動させることでビット列変換処理の試行回数が増加する傾向を、最大限抑制することができる。   Further, in the present embodiment, the arithmetic unit in which the shift amount varies randomly is only the rotate arithmetic unit 525b. Further, even when the error check value obtained by converting the bit string by the rotate computing unit 525b is added to the control command and transmitted to the intermediate control unit 180, it is also during a predetermined operation mode period, that is, a predetermined control command group. Is limited to a period during which is transmitted to the intermediate control unit 180. Therefore, when returning to the original error check value bit string in the error check process on the intermediate control unit 180 side, the tendency that the number of trials of the bit string conversion process increases by changing the shift amount at random is maximized. Can be suppressed.

また、本実施形態では、ローテート演算器525aで用いるシフト量Aを規則的に変動させている。具体的には、本実施形態では、ローテート演算器525bにてビット列が変換された誤り検査値が制御コマンドに付加される期間以外の際、すなわち、所定の動作モードの期間以外の際でも、ローテート演算器525aで用いられるシフト量Aを、所定の動作モードの期間以外の期間毎で変動させている。このため、本実施形態では、不正者が、制御コマンドに付加された誤り検査値がどのようなシフト量でビット列が変換されているのかを解析することが、所定の動作モードの期間以外に送信された誤り検査値に対しても困難となり、セキュリティ強度を更に向上させることができる。   In this embodiment, the shift amount A used in the rotation calculator 525a is regularly changed. Specifically, in the present embodiment, the rotation is performed even during a period other than the period in which the error check value whose bit string has been converted by the rotation calculator 525b is added to the control command, that is, during a period other than the predetermined operation mode period. The shift amount A used in the computing unit 525a is changed every period other than the period of the predetermined operation mode. For this reason, in this embodiment, an unauthorized person transmits a bit string converted by the error check value added to the control command in a period other than the predetermined operation mode period. This also makes it difficult to perform the error check value, and can further improve the security strength.

また、ローテート演算器525aでは、シフト量Aの更新に関する規則性は、シフト量Aに係る更新方式及び更新タイミング条件に依存し、更新タイミング条件は、主制御部110のブート処理時の初期値設定時以外ではアクセスされないメインROM110bの特定の記憶領域に記憶されているHWパラメータの値に基づいて決定されている。よって、不正者がシフト量Aの更新に関する規則性を解析することが困難となり、セキュリティ強度を更に向上させることができる。   Further, in the rotate computing unit 525a, the regularity regarding the update of the shift amount A depends on the update method and the update timing condition related to the shift amount A, and the update timing condition is set to an initial value at the time of boot processing of the main control unit 110. It is determined based on the value of the HW parameter stored in a specific storage area of the main ROM 110b that is not accessed except at times. Therefore, it becomes difficult for an unauthorized person to analyze the regularity regarding the update of the shift amount A, and the security strength can be further improved.

更に、ローテート演算器525aでは、シフト量Aの更新に関する規則性は、シフト量Aに係るリセット条件にも依存し、リセット条件は、主制御部110のブート処理時の初期値設定時以外ではアクセスされないメインROM110bの特定の記憶領域に記憶されているHWパラメータの値に基づいて決定されている。よって、不正者がシフト量Aの更新に関する規則性を解析することが困難となり、セキュリティ強度を更に向上させることができる。   Further, in the rotate computing unit 525a, the regularity related to the update of the shift amount A also depends on the reset condition related to the shift amount A. It is determined based on the value of the HW parameter stored in a specific storage area of the main ROM 110b. Therefore, it becomes difficult for an unauthorized person to analyze the regularity regarding the update of the shift amount A, and the security strength can be further improved.

その上、リセット条件が成立すると、シフト量Aには所定の設定値が与えられてシフト量Aが再設定され、それまでの更新によるシフト量Aの変動推移が一旦リセットされる。このため、本実施形態では、通信エラー等によりシフト量Aの変動が主制御部110側と中間制御部180側とでズレることがあっても、シフト量Aの再設定によりシフト量Aの変動推移がリセットされることによって、当該ズレを適宜解消することができ、誤り検査処理の確度を向上させることができる。   In addition, when the reset condition is satisfied, a predetermined set value is given to the shift amount A, the shift amount A is reset, and the change transition of the shift amount A by the update so far is once reset. For this reason, in this embodiment, even if the shift amount A varies between the main control unit 110 and the intermediate control unit 180 due to a communication error or the like, the shift amount A varies due to the resetting of the shift amount A. By resetting the transition, the deviation can be eliminated as appropriate, and the accuracy of the error checking process can be improved.

入力選択回路524は、マルチプレクサ等で構成されており、ビット列変換回路525と保存回路526との間の接続を選択的に切り替える機能を有する回路である。具体的には、入力選択回路524の入力側は、ビット列変換回路525を担う複数のローテート演算器(図7では、ローテート演算器525a、525b)とデータ線でそれぞれ接続され、制御回路523と制御線で接続されている。また、入力選択回路524の出力側は、保存回路526とデータ線で接続されている。入力選択回路524は、デフォルトは変換方式Aでビット列変換処理が施された誤り検査値を出力するローテート演算器525aとの接続が有効となるように予め設定されており、ローテート演算器525aから出力された誤り検査値を取り込み、保存回路526へ出力する。   The input selection circuit 524 is configured by a multiplexer or the like, and is a circuit having a function of selectively switching connection between the bit string conversion circuit 525 and the storage circuit 526. Specifically, the input side of the input selection circuit 524 is connected to a plurality of rotation arithmetic units (in FIG. 7, the rotation arithmetic units 525a and 525b) that bear the bit string conversion circuit 525 through data lines, and controls the control circuit 523. Connected with wires. The output side of the input selection circuit 524 is connected to the storage circuit 526 through a data line. The input selection circuit 524 is preset so that the connection with the rotation calculator 525a that outputs an error check value that has been subjected to the bit string conversion processing by the conversion method A is enabled, and is output from the rotation calculator 525a. The error check value thus obtained is captured and output to the storage circuit 526.

制御回路523は、変換方式設定処理にて決定手段540の決定回路542から出力された変換方式制御信号の入力に基づき、入力選択回路524のローテート演算器525a、525bのいずれかとの接続を有効とするための制御信号(以下、「入力選択信号」という)を入力選択回路524へ出力する。この入力選択信号は、変換方式制御信号が示す特定の変換方式でビット列変換処理が施された誤り検査値のみが入力されるように、当該変換方式に対応するローテート演算器との接続のみを有効とするための信号である。入力選択回路524は、例えば、制御回路523から、ローテート演算器525bとの接続を有効とする入力選択信号が入力されると、ローテート演算器525bとの接続のみを有効とするように切り替える。そして、入力選択回路524は、ローテート演算器525bから出力された変換方式Bでビット列変換処理が施された誤り検査値を取り込み、保存回路526へ出力する。   The control circuit 523 validates the connection with one of the rotation calculators 525a and 525b of the input selection circuit 524 based on the input of the conversion method control signal output from the determination circuit 542 of the determination unit 540 in the conversion method setting process. A control signal (hereinafter referred to as “input selection signal”) is output to the input selection circuit 524. This input selection signal is valid only for connection with a rotation operator corresponding to the conversion method so that only error check values that have been subjected to bit string conversion processing in the specific conversion method indicated by the conversion method control signal are input. Is a signal for For example, when an input selection signal that validates the connection with the rotation computing unit 525b is input from the control circuit 523, the input selection circuit 524 switches so as to validate only the connection with the rotation computing unit 525b. Then, the input selection circuit 524 takes in the error check value that has been subjected to the bit string conversion processing by the conversion method B output from the rotation calculator 525 b and outputs the error check value to the storage circuit 526.

保存回路526は、レジスタ等から構成されており、ビット列変換回路525から出力されたビット列が変換された誤り検査値を保存しておく回路である。保存回路526の入力側は、入力選択回路524とデータ線で接続され、送出回路527と制御線で接続されている。また、保存回路526の出力側は、送出回路527とデータ線で接続されている。そして、保存回路526は、ビット列変換回路525から入力選択回路524を介して出力されたビット列が変換された誤り検査値を保存する。そして、保存回路526は、保存した誤り検査値を送出回路527へ出力するための作動許可信号が入力されると、当該作動許可信号の入力に基づいて、保存しておいた誤り検査値を、後続する送出回路527へ出力する。   The storage circuit 526 includes a register or the like, and stores an error check value obtained by converting the bit string output from the bit string conversion circuit 525. The input side of the storage circuit 526 is connected to the input selection circuit 524 through a data line, and is connected to the transmission circuit 527 through a control line. Further, the output side of the storage circuit 526 is connected to the sending circuit 527 by a data line. The storage circuit 526 stores the error check value obtained by converting the bit string output from the bit string conversion circuit 525 via the input selection circuit 524. Then, when an operation permission signal for outputting the stored error check value to the transmission circuit 527 is input, the storage circuit 526 receives the stored error check value based on the input of the operation permission signal. It outputs to the subsequent sending circuit 527.

また、保存回路526は、送出回路527から上記作動許可信号が入力されずに、送出回路527へ誤り検査値を出力しなかった場合でも、ビット列変換回路525から新たな誤り検査値が入力されたときには、当該新たな誤り検査値を上書き保存し、コマンド送信処理毎で新しい誤り検査値を保存する。このため、今回のコマンド送信処理において取得手段510から出力された制御コマンドが、制御コマンド(P)であるとすると、保存回路526には、制御コマンド(P−N)を用いて生成され、ビット列が変換された誤り検査値(P−N)が保存される。   In addition, the storage circuit 526 receives a new error check value from the bit string conversion circuit 525 even when the operation permission signal is not input from the transmission circuit 527 and the error check value is not output to the transmission circuit 527. Sometimes, the new error check value is overwritten and saved, and a new error check value is saved for each command transmission process. Therefore, if the control command output from the acquisition unit 510 in the current command transmission process is a control command (P), the storage circuit 526 generates a bit string using the control command (PN). The error check value (P-N) converted from is stored.

送出回路527は、メインCPU110aから送出された誤り検査値の読み出し信号に応じて、保存回路526に保存された誤り検査値を内部バス400へ送出する回路である。送出回路527は、内部バス400と接続されていると共に、送出回路527の入力側は、保存回路526とデータ線で接続されている。そして、メインCPU110aがコマンド送信処理中に検査値付加処理を行う際に、内部バス400のアドレスバス400bに送出回路527を指定するアドレスデータ、制御バス400cに読み出し信号が送出されると、送出回路527は、保存回路526に上記作動許可信号を出力して保存された誤り検査値を取り込み、取り込んだ誤り検査値をデータバス400aへ送出する。   The sending circuit 527 is a circuit that sends the error check value stored in the storage circuit 526 to the internal bus 400 in accordance with the error check value read signal sent from the main CPU 110a. The sending circuit 527 is connected to the internal bus 400, and the input side of the sending circuit 527 is connected to the storage circuit 526 through a data line. When the main CPU 110a performs the test value addition process during the command transmission process, when the address data specifying the transmission circuit 527 is sent to the address bus 400b of the internal bus 400 and the read signal is sent to the control bus 400c, the transmission circuit 527 outputs the operation permission signal to the storage circuit 526 to fetch the stored error check value, and sends the read error check value to the data bus 400a.

このようにして、生成手段520は、コマンド送信処理の際、取得手段510から出力された制御コマンド(P)を格納し、過去に格納しておいた制御コマンド(P−N)を用いて誤り検査値(P−N)を生成する。そして、生成手段520は、生成した誤り検査値(P−N)に対し、複数の変換方式でビット列変換処理を施すことができる。そして、生成手段520は、変換方式制御信号に応じた入力選択信号が入力選択回路524へ入力されることで、決定手段540にて決定された変換方式を用いてビット列が変換された誤り検査値(P−N)のみを、保存回路526で保存しておく。このとき、生成手段520は、変換方式Aのビットローテート演算で用いられるシフト量A、及び変換方式Bのビットローテート演算で用いられるシフト量Bをそれぞれ適宜更新すると共に、取得手段510から出力された制御コマンド(P)に応じてシフト量Aを再設定する。そして、生成手段520は、メインCPU110aから誤り検査値の読み出し信号が送出された場合には、当該読み出し信号の入力に基づいて、保存回路526に保存しておいたビット列が変換された誤り検査値(P−N)をデータバス400aへ送出する。   In this way, the generation unit 520 stores the control command (P) output from the acquisition unit 510 during command transmission processing, and uses the control command (PN) stored in the past to generate an error. A test value (PN) is generated. Then, the generation unit 520 can perform bit string conversion processing on the generated error check value (PN) by a plurality of conversion methods. Then, the generation unit 520 inputs an input selection signal corresponding to the conversion method control signal to the input selection circuit 524, so that the error check value obtained by converting the bit string using the conversion method determined by the determination unit 540 is used. Only (PN) is stored in the storage circuit 526. At this time, the generation unit 520 appropriately updates the shift amount A used in the bit rotation operation of the conversion method A and the shift amount B used in the bit rotation operation of the conversion method B, and is output from the acquisition unit 510. The shift amount A is reset according to the control command (P). When the error check value read signal is sent from the main CPU 110a, the generation unit 520 converts the error check value obtained by converting the bit string stored in the storage circuit 526 based on the input of the read signal. (PN) is sent to the data bus 400a.

よって、メインCPU110aによって生成手段520から読み出された誤り検査値(P−N)は、メインCPU110aが送信部550へ送出した制御コマンド(P)よりN個前の制御コマンド(P−N)を用いて生成された誤り検査値(P−N)となる。更に、当該誤り検査値(P−N)は、規則的に変動するシフト量A又はランダムに変動するシフト量Bのいずれかを用いたビットローテート演算によって、ビット列が変換された誤り検査値(P−N)となる。しかも、シフト量Aは、メインCPU110aが送信部550へ送出した制御コマンド(P)に基づいて、その変動推移が適宜リセットされる。   Therefore, the error check value (PN) read from the generating unit 520 by the main CPU 110a is the control command (PN) N times before the control command (P) sent from the main CPU 110a to the transmission unit 550. It becomes an error check value (PN) generated by using. Further, the error check value (P−N) is an error check value (P−N) obtained by converting a bit string by a bit rotation operation using either a regularly varying shift amount A or a randomly varying shift amount B. -N). Moreover, the shift transition of the shift amount A is appropriately reset based on the control command (P) sent from the main CPU 110a to the transmission unit 550.

[中間制御部の認証処理に関する内部構成]
これより、主制御部110に対する認証機能を備えた中間制御部180の認証処理に関する構成について説明する。
図8は、本実施形態に係る中間制御部180の認証処理に関する構成を示すブロック図である。
[Internal configuration related to authentication processing of intermediate control unit]
The configuration related to the authentication process of the intermediate control unit 180 having an authentication function for the main control unit 110 will now be described.
FIG. 8 is a block diagram illustrating a configuration related to the authentication process of the intermediate control unit 180 according to the present embodiment.

中間制御部180は、認証処理に関する機能構成として、受信部600と、検査部610と、検査値生成部620と、付加部630と、中継送信部640との機能を少なくとも有している。更に、検査値生成部620は、受信した制御コマンドを格納する格納部622と、誤り検査値を生成する生成部621と、生成した誤り検査値にビット列変換処理を施すビット列変換部624と、ビット列変換部624で用いる変換方式及びシフト量を制御する決定部623との機能を少なくとも有している。   The intermediate control unit 180 has at least functions of a reception unit 600, an inspection unit 610, an inspection value generation unit 620, an addition unit 630, and a relay transmission unit 640 as functional configurations related to authentication processing. Further, the check value generation unit 620 includes a storage unit 622 that stores the received control command, a generation unit 621 that generates an error check value, a bit string conversion unit 624 that performs bit string conversion processing on the generated error check value, and a bit string It has at least a function with a conversion unit used in the conversion unit 624 and a determination unit 623 that controls the shift amount.

主制御部110の送信部550から送信された制御コマンド(P)は、中間制御部180の受信部600にて受信される。受信部600は、主制御部110からの送信データに上記データ形式変換処理に対応する処理等を施して制御コマンド(P)とし、自身の受信バッファに記憶する機能を有するものである。また、受信部600は、制御コマンド(P)の受信割込要求があった旨を示す信号を出力したり、制御コマンド(P)の受信が完了したことを示すフラグを立てたりして、CPU180aが、主制御部110から送信された制御コマンド(P)の受信が完了したことを検知できるようにする機能を有するものである。   The control command (P) transmitted from the transmission unit 550 of the main control unit 110 is received by the reception unit 600 of the intermediate control unit 180. The receiving unit 600 has a function of performing a process corresponding to the data format conversion process on the transmission data from the main control unit 110 to generate a control command (P) and storing the control command (P) in its own reception buffer. In addition, the receiving unit 600 outputs a signal indicating that a control command (P) reception interrupt request has been made, or sets a flag indicating that the reception of the control command (P) is completed, so that the CPU 180a. However, it has a function that makes it possible to detect that the reception of the control command (P) transmitted from the main control unit 110 has been completed.

また、受信部600は、受信した制御コマンド(P)に誤り検査値(P−N)が付加されていなければ、当該制御コマンド(P)を検査値生成部620へ出力する機能を有するものである。また、受信部600は、受信した制御コマンド(P)に誤り検査値(P−N)が付加されていれば、受信した誤り検査値付きの制御コマンド(P)から付加された誤り検査値(P−N)を抽出して検査部610へ出力すると共に、誤り検査値(P−N)を抽出後の制御コマンド(P)を検査値生成部620へ出力する機能を有するものである。なお、受信部600の機能を実現する具体的な手段は、図4に示すCPU180aの一部、ROM180bの一部、RAM180cの一部、及びコマンド受信用入力ポート(図示せず)等から構成することができる。   The receiving unit 600 has a function of outputting the control command (P) to the test value generating unit 620 unless an error check value (PN) is added to the received control command (P). is there. Further, if the error check value (PN) is added to the received control command (P), the receiving unit 600 adds the error check value (from the received control command (P) with the error check value ( P−N) is extracted and output to the checking unit 610, and the control command (P) after extracting the error check value (P−N) is output to the check value generating unit 620. Note that specific means for realizing the function of the receiving unit 600 includes a part of the CPU 180a, a part of the ROM 180b, a part of the RAM 180c, a command receiving input port (not shown), and the like shown in FIG. be able to.

検査値生成部620は、受信部600から出力された制御コマンド(P)を格納部622にて格納する機能を有するものである。また、検査値生成部620は、過去に格納部622にて格納しておいた制御コマンド(P−N)を用いて、予め設定された生成方式で生成部621にて誤り検査値(P−N)を生成する機能を有するものである。この機能で生成された誤り検査値は、受信した制御コマンド(P)の正当性を検証するために用いられる。また、検査値生成部620は、生成部621で生成した誤り検査値(P−N)に対して、決定部623で決定された変換方式でビット列変換部624にてビット列変換処理を施し、検査部610へ出力する機能を有するものである。また、検査値生成部620は、予め主制御部110との間で取り決められた複数の変換方式の中からビット列変換部624へ設定するべき特定の変換方式を決定部623にて決定する機能を有するものである。また、検査値生成部620は、予め主制御部110との間で取り決められた更新方式及び更新タイミング条件に従って、ビット列変換部624にて変換方式Aでビット列変換処理を施す際のシフト量Aを決定部623にて制御する機能を有するものである。また、検査値生成部620は、予め主制御部110との間で取り決められたシフト量Aに係るリセット条件に従って、シフト量Aの再設定を決定部623にて制御する機能を有するものである。   The inspection value generation unit 620 has a function of storing the control command (P) output from the reception unit 600 in the storage unit 622. Also, the check value generation unit 620 uses the control command (PN) stored in the storage unit 622 in the past to generate an error check value (P− N). The error check value generated by this function is used to verify the validity of the received control command (P). Also, the check value generation unit 620 performs bit string conversion processing by the bit string conversion unit 624 on the error check value (PN) generated by the generation unit 621 by the conversion method determined by the determination unit 623, and checks This has a function of outputting to the unit 610. Also, the test value generation unit 620 has a function for the determination unit 623 to determine a specific conversion method to be set in the bit string conversion unit 624 from among a plurality of conversion methods previously determined with the main control unit 110. It is what you have. In addition, the test value generation unit 620 determines the shift amount A when the bit string conversion unit 624 performs the bit string conversion process by the conversion method A in accordance with the update method and the update timing condition previously determined with the main control unit 110. It has a function controlled by the determination unit 623. Further, the inspection value generation unit 620 has a function of controlling the resetting of the shift amount A by the determination unit 623 in accordance with the reset condition relating to the shift amount A that has been negotiated with the main control unit 110 in advance. .

すなわち、検査値生成部620が有する、過去に格納しておいた制御コマンドを用いて誤り検査値を生成しビット列を変換して検査部610へ出力する機能(以下、「誤り検査値出力機能」という)は、主制御部110の検査値生成部500が有する誤り検査値生成機能と同様のものである。また、検査値生成部620は、主制御部110と同様に、誤り検査値出力機能を予め複数有しており、その具体的な実施態様として、主制御部110と同様の変更条件、シフト量Aに係る更新タイミング条件、及びシフト量Aに係るリセット条件が予め複数用意されている。そして、誤り検査値出力機能に対する選択情報も、主制御部110のHWパラメータと同様のものであり、ブート処理中に設定されたHWパラメータに応じて特定の変更条件、更新タイミング条件、及びリセット条件を、デフォルトの変更条件、更新タイミング条件、及びリセット条件として設定する機能を有するものである。そして、これら中間制御部180の誤り検査値出力機能及びその選択情報は、予め主制御部110と中間制御部180との間で取り決められている。   That is, a function of the check value generation unit 620 that generates an error check value using a control command stored in the past, converts a bit string, and outputs it to the check unit 610 (hereinafter, “error check value output function”). Is the same as the error check value generation function of the check value generation unit 500 of the main control unit 110. The check value generation unit 620 has a plurality of error check value output functions in advance, like the main control unit 110, and as a specific embodiment thereof, the change condition and the shift amount are the same as those of the main control unit 110. A plurality of update timing conditions related to A and a plurality of reset conditions related to the shift amount A are prepared in advance. The selection information for the error check value output function is also the same as the HW parameter of the main control unit 110, and a specific change condition, update timing condition, and reset condition according to the HW parameter set during the boot process. Is set as a default change condition, an update timing condition, and a reset condition. The error check value output function and the selection information thereof of the intermediate control unit 180 are negotiated between the main control unit 110 and the intermediate control unit 180 in advance.

そして、決定部623が、受信部600から出力された制御コマンド(P)に基づいて変換方式を変更する機能においても、主制御部110の決定手段540が有する変換方式を変更する機能と同様のものである。すなわち、決定部623は、制御コマンドが変更条件を満たす制御コマンドであるか否かを判定する機能(主制御部110の判定回路541に相当)、判定結果に応じて変換方式を決定し、決定した変換方式をビット列変換部624へ設定する機能(主制御部110の決定回路542に相当)を有している。また、決定部623は、ビット列変換部624へ設定する変換方式が変換方式Bから変換方式Aに変更される毎に、予め主制御部110との間で取り決められた更新方式及び更新タイミング条件に基づいてシフト量Aを更新し、シフト量Aを規則的に変動させる機能(主制御部110のシフト量制御部525c)を有している。また、決定部623は、制御コマンドがシフト量Aに係るリセット条件を満たす制御コマンドであるか否かを判定する機能(主制御部110のリセット判定回路528に相当)、及び、判定結果に応じてシフト量Aに所定の設定値を与えてシフト量Aを再設定する機能(主制御部110のシフト量制御部525cに相当)を有している。   And in the function in which the determination part 623 changes a conversion system based on the control command (P) output from the receiving part 600, it is the same as the function which changes the conversion system which the determination means 540 of the main control part 110 has. Is. In other words, the determination unit 623 determines whether or not the control command is a control command satisfying the change condition (corresponding to the determination circuit 541 of the main control unit 110), and determines the conversion method according to the determination result. A function (corresponding to the determination circuit 542 of the main control unit 110) is set in the bit string conversion unit 624. In addition, every time the conversion method set in the bit string conversion unit 624 is changed from the conversion method B to the conversion method A, the determination unit 623 sets the update method and the update timing condition negotiated with the main control unit 110 in advance. Based on this, the shift amount A is updated, and the shift amount A is regularly varied (the shift amount control unit 525c of the main control unit 110). Further, the determination unit 623 determines whether or not the control command is a control command that satisfies the reset condition related to the shift amount A (corresponding to the reset determination circuit 528 of the main control unit 110), and the determination result The shift amount A is provided with a predetermined set value to reset the shift amount A (corresponding to the shift amount control unit 525c of the main control unit 110).

決定部623が有するシフト量Aに係る更新方式は、主制御部110のシフト量制御部525cと同様に、変換方式Bでビット列変換処理が施された誤り検査値に基づいて規定されている。変換方式Bでビット列変換処理が施された当該誤り検査値は、ビット列変換部624から検査部610へ出力された複数の誤り検査値(P−N)のうち、受信部600から出力された誤り検査値と一致した誤り検査値(P−N)とする。また、決定部623が有するシフト量Aに係る複数の更新タイミング条件のうち、ブート処理中に設定されるHWパラメータに対応する更新タイミング条件は、主制御部110のシフト量制御部525cと同様に、所定の動作モードの期間中で、最初に制御コマンドに付加される誤り検査値に基づいて規定されているものとする。また、決定部623が有するシフト量Aに係る複数のリセット条件のうち、ブート処理中に設定されるHWパラメータに対応するリセット条件は、主制御部110のリセット判定回路528に対して設定されるリセット条件と同様のものとする。   The update method related to the shift amount A included in the determination unit 623 is defined based on the error check value that has been subjected to the bit string conversion processing by the conversion method B, similarly to the shift amount control unit 525c of the main control unit 110. The error check value that has been subjected to the bit string conversion processing by the conversion method B is the error output from the receiving unit 600 among the plurality of error check values (PN) output from the bit string converting unit 624 to the checking unit 610. The error check value (PN) coincides with the check value. Of the plurality of update timing conditions related to the shift amount A included in the determination unit 623, the update timing condition corresponding to the HW parameter set during the boot process is the same as the shift amount control unit 525c of the main control unit 110. Suppose that it is defined based on an error check value first added to the control command during a predetermined operation mode. Of the plurality of reset conditions related to the shift amount A included in the determination unit 623, the reset condition corresponding to the HW parameter set during the boot process is set for the reset determination circuit 528 of the main control unit 110. The same as the reset condition.

そして、決定部623の機能を実現するために、RAM180cには、主制御部110の変更条件記憶領域(CC)に相当する記憶領域や、主制御部110の送出個数記憶領域(P)に相当する受信個数記憶領域(P)が設けられている。変換方式情報記憶領域(CM)、更新タイミング条件記憶領域(UT)、及びシフト量記憶領域(S)も同様である。   In order to realize the function of the determination unit 623, the RAM 180c corresponds to a storage area corresponding to the change condition storage area (CC) of the main control unit 110 and a transmission number storage area (P) of the main control unit 110. A reception number storage area (P) is provided. The same applies to the conversion method information storage area (CM), the update timing condition storage area (UT), and the shift amount storage area (S).

また、格納部622が、受信部600から出力された制御コマンド(P)を格納すると共に、過去に格納しておいた制御コマンド(P−N)を生成部621へ出力する機能も、主制御部110の格納回路522が有する機能と同様のものである。また、主制御部110又は中間制御部180が初期化され、格納部622に格納しておいた過去の制御コマンドがクリアされた場合には、CPU180aがROM180bから固有情報を読み出し、初期設定値として格納部622へ設定する格納する機能も、主制御部110と同様である。   The storage unit 622 stores the control command (P) output from the receiving unit 600 and also outputs the control command (PN) stored in the past to the generation unit 621. This is the same function as the storage circuit 522 of the unit 110. Further, when the main control unit 110 or the intermediate control unit 180 is initialized and the past control command stored in the storage unit 622 is cleared, the CPU 180a reads the unique information from the ROM 180b and sets it as an initial setting value. The function to be set in the storage unit 622 is the same as that of the main control unit 110.

また、生成部621が、格納部622から出力された制御コマンド(P−N)を用いて、予め設定された生成方式で誤り検査値(P−N)を生成し、ビット列変換部624へ出力する機能も、主制御部110の生成回路521が有する機能と同様のものである。   Further, the generation unit 621 generates an error check value (PN) by a preset generation method using the control command (PN) output from the storage unit 622 and outputs the error check value (PN) to the bit string conversion unit 624. The function to perform is the same as the function of the generation circuit 521 of the main control unit 110.

また、ビット列変換部624が、複数の変換方式(変換方式A及び変換方式B)を有すると共に、決定部623の変換方式制御によって特定の変換方式を設定し、生成部621から出力された誤り検査値(P−N)に対し、設定された変換方式でビット列変換処理を施し、検査部610へ出力する機能も、主制御部110のビット列変換回路525が有する機能と同様のものである。また、ビット列変換部624が、決定部623のシフト量制御によって、シフト量Aに所定の設定値を与えてシフト量Aを再設定する機能も、主制御部110のビット列変換回路525が有する機能と同様のものである。   In addition, the bit string conversion unit 624 has a plurality of conversion methods (conversion method A and conversion method B), sets a specific conversion method by the conversion method control of the determination unit 623, and checks the error output from the generation unit 621. The function of performing bit string conversion processing on the value (PN) by the set conversion method and outputting the value to the checking unit 610 is the same as the function of the bit string conversion circuit 525 of the main control unit 110. The bit string conversion unit 624 also has a function of resetting the shift amount A by giving a predetermined set value to the shift amount A by the shift amount control of the determination unit 623. Is the same.

なお、変換方式が変換方式Aである場合のシフト量Aは、予め主制御部110との間で取り決めた更新方式に従って規則的に変動する値である。この場合、ビット列変換部624は、当該更新方式に従って決定部623が定めたシフト量Aを用いて、誤り検査値(P−N)のビット列にビットローテート演算を行って、元の誤り検査値のビット列に戻し、検査部610へ出力する。また、変換方式が変換方式Bである場合のシフト量Bは、予め主制御部110との間で取り決められていないランダムに変動する値である。この場合、ビット列変換部624は、誤り検査値(P−N)のビット列に、当該ビット列のビット幅で規定されるローテート数の取り得る範囲の個数分だけビットローテート演算を行う。そして、ビット列変換部624は、ビット列が変換された、当該ローテート数の取り得る範囲の個数分の誤り検査値(P−N)を、検査部610へそれぞれ出力する。   Note that the shift amount A when the conversion method is the conversion method A is a value that regularly varies according to the update method that is negotiated with the main control unit 110 in advance. In this case, the bit string conversion unit 624 performs a bit rotation operation on the bit string of the error check value (PN) using the shift amount A determined by the determination unit 623 according to the update method, and the original error check value The bit string is returned and output to the inspection unit 610. Further, the shift amount B when the conversion method is the conversion method B is a value that randomly varies and is not negotiated with the main control unit 110 in advance. In this case, the bit string conversion unit 624 performs bit rotation operation on the bit string of the error check value (PN) by the number of rotations that can be taken by the rotation number defined by the bit width of the bit string. Then, the bit string conversion unit 624 outputs error check values (PN) corresponding to the number of ranges that can be taken by the rotation number, to which the bit string is converted, to the checking unit 610, respectively.

決定部623、格納部622、生成部621、及びビット列変換部624の機能を実現する具体的な手段は、図4に示すCPU180aの一部、ROM180bの一部、RAM180cの一部等から構成することができる。   Specific means for realizing the functions of the determination unit 623, the storage unit 622, the generation unit 621, and the bit string conversion unit 624 include a part of the CPU 180a, a part of the ROM 180b, a part of the RAM 180c, and the like shown in FIG. be able to.

検査部610は、受信部600から出力された誤り検査値と、検査値生成部620のビット列変換部624から出力された誤り検査値とを照合する誤り検査処理を行う機能を有するものである。誤り検査処理では、受信部600から出力された誤り検査値と、ビット列変換部624から出力された誤り検査値とを比較し、両者が一致する場合は、検査結果は正常であると判断され、両者が一致しない場合は、検査結果は正常でないと判断される。なお、検査部610は、受信部600から誤り検査値が出力されなかった場合には、当該照合処理を行わない。   The checking unit 610 has a function of performing an error checking process for collating the error check value output from the receiving unit 600 with the error check value output from the bit string conversion unit 624 of the check value generating unit 620. In the error check process, the error check value output from the receiving unit 600 is compared with the error check value output from the bit string conversion unit 624. If the two match, it is determined that the check result is normal, If they do not match, it is determined that the test result is not normal. Note that when the error checking value is not output from the receiving unit 600, the checking unit 610 does not perform the matching process.

なお、変換方式Bがビット列変換部624に設定された際、検査部610には、ビット列変換部624からローテート数の取り得る範囲の個数分だけ誤り検査値が出力される。この場合、検査部610は、ビット列変換部624から出力された全ての誤り検査値を、受信部600から出力された誤り検査値と比較する。そして、検査部610は、ビット列変換部624から出力された何れかの誤り検査値が、受信部600から出力された誤り検査値と一致する場合は、検査結果は正常と判断し、何れの誤り検査値も、受信部600から出力された誤り検査値と一致しない場合は、検査結果は正常でないと判断される。   When the conversion method B is set in the bit string conversion unit 624, error checking values are output from the bit string conversion unit 624 to the number of rotations that can be taken from the bit string conversion unit 624. In this case, checking section 610 compares all error check values output from bit string conversion section 624 with error check values output from receiving section 600. Then, when any error check value output from the bit string conversion unit 624 matches the error check value output from the reception unit 600, the check unit 610 determines that the check result is normal, and any error is detected. If the inspection value does not match the error inspection value output from the receiving unit 600, it is determined that the inspection result is not normal.

検査結果が正常と判断された場合、検査部610は、今回受信した誤り検査値(P−N)が付加された制御コマンド(P)、及び今回の誤り検査値(P−N)の生成元である制御コマンド(P−N)の正当性を認証し、主制御部110の正当性を認証することができたと判断する。そして、検査部610は、認証成功を示す認証結果データを生成し、付加部630へ出力する。   When it is determined that the inspection result is normal, the inspection unit 610 generates the control command (P) to which the currently received error check value (PN) is added and the current error check value (PN) generation source. It is determined that the validity of the control command (PN) is authenticated and the validity of the main control unit 110 can be authenticated. Then, the inspection unit 610 generates authentication result data indicating successful authentication and outputs the generated authentication result data to the adding unit 630.

また、検査部610は、検査結果が正常と判断された場合、変換方式Bが設定されて、ビット列変換部624から検査部610へ出力された複数(ローテート数の取り得る範囲の個数)の誤り検査値(P−N)のうち、受信部600から出力された誤り検査値と一致した誤り検査値(P−N)を決定部623へ出力する。なお、検査部610は、受信部600から誤り検査値が出力されなかった場合にも、現在が所定の動作モードの期間が開始した時点であれば、ビット列変換部624から検査部610へ出力された誤り検査値(P−N)を、決定部623へ出力する。そして、決定部623は、シフト量Aを更新するタイミングであれば、検査部610から出力された誤り検査値(P−N)に基づいてシフト量Aを更新する。   In addition, when the inspection unit 610 determines that the inspection result is normal, the conversion method B is set, and a plurality of errors (the number of ranges that the rotation number can take) output from the bit string conversion unit 624 to the inspection unit 610 are detected. Among the check values (PN), the error check value (PN) that matches the error check value output from the receiving unit 600 is output to the determining unit 623. Note that even when no error check value is output from the receiving unit 600, the checking unit 610 is output from the bit string conversion unit 624 to the checking unit 610 if the current operation period starts. The error check value (PN) is output to the determination unit 623. Then, the determination unit 623 updates the shift amount A based on the error check value (PN) output from the check unit 610 at the timing for updating the shift amount A.

一方、検査結果が正常と判断されなかった場合は、検査部610は、不正行為や通信エラーなどが発生したため主制御部110の正当性を認証することができなかったと判断する。そして、検査部610は、認証不成功を示す認証結果データを生成し、付加部630へ出力する。なお、認証結果データのデータ形式は、特に限定されないが、受信した制御コマンドに付加された誤り検査値と同一のデータ長を有するデータ形式としておけばよい。また、検査部610の機能を実現する具体的な手段は、図4に示すCPU180aの一部、ROM180bの一部、RAM180cの一部等から構成することができる。   On the other hand, when the inspection result is not determined to be normal, the inspection unit 610 determines that the legitimacy of the main control unit 110 could not be authenticated due to an illegal act or a communication error. Then, the inspection unit 610 generates authentication result data indicating unsuccessful authentication and outputs it to the adding unit 630. The data format of the authentication result data is not particularly limited, but may be a data format having the same data length as the error check value added to the received control command. Further, specific means for realizing the function of the inspection unit 610 can be configured from a part of the CPU 180a, a part of the ROM 180b, a part of the RAM 180c, and the like shown in FIG.

付加部630は、受信部600から出力された、誤り検査値(P−N)抽出後の制御コマンド(P)に、検査部610から出力された認証結果データを付加し、認証結果データ付きの制御コマンド(P)を生成する機能を有するものである。また、付加部630は、生成した認証結果データ付きの制御コマンド(P)を中継送信部640へ出力する機能を有するものである。なお、付加部630の機能を実現する具体的な手段は、図4に示すCPU180aの一部、ROM180bの一部、及びRAM180cの一部等から構成することができる。   The adding unit 630 adds the authentication result data output from the checking unit 610 to the control command (P) extracted from the error check value (PN) output from the receiving unit 600, and includes the authentication result data. It has a function of generating a control command (P). The adding unit 630 has a function of outputting the generated control command (P) with authentication result data to the relay transmitting unit 640. Note that specific means for realizing the function of the adding unit 630 can be configured from a part of the CPU 180a, a part of the ROM 180b, a part of the RAM 180c, and the like shown in FIG.

中継送信部640は、受信部600から出力された、誤り検査値(P−N)が付加されていない制御コマンド(P)を、演出制御部120へ送信する機能を有するものである。また、中継送信部640は、付加部630から出力された認証結果データ付きの制御コマンド(P)を演出制御部120へ送信する機能を有するものである。中継送信部640が演出制御部120へ送信する認証結果データ付きの制御コマンド(P)は、受信部600にて受信した制御コマンド(P)と同一内容の演出処理を示すものである。すなわち、受信部600にて受信した制御コマンド(P)は、その具体的な処理内容及び受信順序が維持された状態で中継送信部640へ出力され、中継送信部640にて演出制御部120へ送信されることとなる。なお、中継送信部640の機能を実現する具体的な手段は、図4に示すCPU180aの一部、ROM180bの一部、RAM180cの一部、及びコマンド送信用出力ポート(図示せず)等から構成することができる。   The relay transmission unit 640 has a function of transmitting the control command (P) output from the reception unit 600 to which the error check value (PN) is not added to the effect control unit 120. Further, the relay transmission unit 640 has a function of transmitting the control command (P) with authentication result data output from the adding unit 630 to the effect control unit 120. The control command (P) with authentication result data transmitted from the relay transmission unit 640 to the effect control unit 120 indicates an effect process having the same content as the control command (P) received by the receiving unit 600. That is, the control command (P) received by the reception unit 600 is output to the relay transmission unit 640 in a state where the specific processing content and the reception order are maintained, and the relay transmission unit 640 transmits to the effect control unit 120. Will be sent. Note that specific means for realizing the function of the relay transmission unit 640 includes a part of the CPU 180a, a part of the ROM 180b, a part of the RAM 180c, and a command transmission output port (not shown) shown in FIG. can do.

中間制御部180は、生成した認証結果データを演出制御部120へ送信する際に、受信した制御コマンドに付加して演出制御部120へ送信する。すなわち、認証結果データは、認証結果データ単体では送信されず、他の送信データである制御コマンドと一体的に演出制御部120へ送信されることとなる。認証結果データと誤り検査値とを同一のデータ長を有するデータ形式としておけば、主制御部110から中間制御部180へ送信される送信データと、中間制御部180から演出制御部120へ送信される送信データとは同一のデータ長を有するデータ形式とすることができる。このようにすることで、不正者が、中間制御部180と演出制御部120との間の送信データを窃取して、認証結果データの演出制御部120への送信タイミングを不正に解析することが困難となり、遊技機1のセキュリティ強度を向上させることができる。   When transmitting the generated authentication result data to the effect control unit 120, the intermediate control unit 180 adds the received authentication result data to the effect control unit 120 and adds it to the received control command. That is, the authentication result data is not transmitted by the authentication result data alone, but is transmitted to the effect control unit 120 integrally with the control command which is other transmission data. If the authentication result data and the error check value are in a data format having the same data length, transmission data transmitted from the main control unit 110 to the intermediate control unit 180 and transmission from the intermediate control unit 180 to the effect control unit 120 are transmitted. The transmission data may have a data format having the same data length. By doing so, an unauthorized person can steal transmission data between the intermediate control unit 180 and the production control unit 120 and illegally analyze the transmission timing of the authentication result data to the production control unit 120. It becomes difficult and the security strength of the gaming machine 1 can be improved.

[制御コマンドの説明]
これより、本発明の実施形態に係る遊技機1の主制御部110から演出制御部120に対して送信される制御コマンドの種別について説明する。
図9は、本実施形態に係る遊技機1を構成する主制御部110から演出制御部120へ送信される制御コマンドの種別を示す図である。なお、図9に示された制御コマンドは一例であり、本発明に係る制御コマンドはこれに限定されるものではない。
[Explanation of control commands]
Hereinafter, the types of control commands transmitted from the main control unit 110 of the gaming machine 1 according to the embodiment of the present invention to the effect control unit 120 will be described.
FIG. 9 is a diagram showing the types of control commands transmitted from the main control unit 110 to the effect control unit 120 constituting the gaming machine 1 according to the present embodiment. The control command shown in FIG. 9 is an example, and the control command according to the present invention is not limited to this.

主制御部110から中間制御部180を介して演出制御部120へ送信される制御コマンドは、1コマンドが2バイトのデータで構成されており、制御コマンドの分類を識別するための1バイトの「MODE」の情報と、各制御コマンドの詳細な制御内容を示す1バイトの「DATA」の情報とから構成されている。「MODE」の情報と「DATA」の情報は、上記のようにメインROM110bに予め記憶されている。   The control command transmitted from the main control unit 110 to the effect control unit 120 via the intermediate control unit 180 is composed of 1-byte data, and a 1-byte “ID” for identifying the control command classification. “MODE” information and 1-byte “DATA” information indicating the detailed control contents of each control command. The “MODE” information and the “DATA” information are stored in advance in the main ROM 110b as described above.

主制御部110では、制御コマンドの送信タイミングとなると、メインCPU110aがメインROM110bから「MODE」の情報と「DATA」の情報とを読み出して制御コマンドを生成し、メインRAM110cの送信データ用記憶領域にセットする。そして、メインCPU110aは、コマンド送信処理の際に、送信データ用記憶領域にセットされた制御コマンドを、内部バス400に送出して送信部550へ書き込み、送信部550にて中間制御部180へ送信する。このとき、制御コマンドには必要に応じて誤り検査値が付加される。そして、中間制御部180の中継送信処理により、演出制御部120に送信されることになる。以下の説明において、それぞれの制御コマンドは、このようにして主制御部110から中間制御部180を介して演出制御部120に送信されるものとし、それぞれの制御コマンドがメインRAM110cの送信データ用記憶領域にセットされた後の処理については説明を省略する。また、以下の説明において、「制御コマンドを送信する」との表現には、制御コマンドに誤り検査値を付加して送信することが含まれ、「演出制御部120に送信する」との表現には、中間制御部180を介して演出制御部120に送信することが含まれるものとする。   In the main control unit 110, when it is the transmission timing of the control command, the main CPU 110a reads the “MODE” information and the “DATA” information from the main ROM 110b, generates a control command, and stores it in the transmission data storage area of the main RAM 110c. set. Then, during the command transmission process, the main CPU 110a sends the control command set in the transmission data storage area to the internal bus 400, writes it to the transmission unit 550, and transmits it to the intermediate control unit 180 by the transmission unit 550. To do. At this time, an error check value is added to the control command as necessary. Then, it is transmitted to the effect control unit 120 by the relay transmission process of the intermediate control unit 180. In the following description, it is assumed that each control command is transmitted from the main control unit 110 to the effect control unit 120 via the intermediate control unit 180 in this way, and each control command is stored in the main RAM 110c for transmission data. The description of the processing after being set in the area is omitted. Further, in the following description, the expression “transmit a control command” includes transmitting the control command with an error check value, and the expression “transmitting to the effect control unit 120”. Includes transmission to the effect control unit 120 via the intermediate control unit 180.

「演出図柄指定コマンド」は、停止表示される特別図柄の種別を示すものであり、「MODE」の情報が「E0H」で設定され、特別図柄の種別に合わせて「DATA」の情報が設定されている。なお、特別図柄の種別が結果的に大当たりの種別や遊技状態を決定するものであるから、演出図柄指定コマンドは、大当たりの種別や、遊技状態を示すものともいえる。
この演出図柄指定コマンドは、各種の特別図柄が決定され、特別図柄の変動表示が開始されるときに、決定された特別図柄に対応する演出図柄指定コマンドが演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄各種の特別図柄が決定され特別図柄の変動表示が開始されるときに、決定された特別図柄に対応する演出図柄指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、演出図柄指定コマンド等と関連する大当たりの抽選に関する処理については後述する。
The “designation designating command” indicates the type of the special symbol that is stopped and displayed. The “MODE” information is set as “E0H”, and the “DATA” information is set according to the special symbol type. ing. Since the special symbol type eventually determines the jackpot type and gaming state, the effect symbol designation command can also be said to indicate the jackpot type and gaming state.
In the effect symbol designation command, when various special symbols are determined and the variation display of the special symbol is started, an effect symbol designation command corresponding to the determined special symbol is transmitted to the effect control unit 120. Specifically, when the lottery result of the jackpot is determined, various special symbols are determined, and the variation display of the special symbols is started, an effect designating command corresponding to the determined special symbol is transmitted to the main RAM 110c. Set in the data storage area.
The process related to the jackpot lottery related to the production symbol designation command will be described later.

ここで、演出図柄指定コマンドのうち、「DATA」の情報が「00H」で設定される「ハズレ演出図柄指定コマンド」は、抽選結果がハズレの場合に、ハズレの結果を停止表示させるための制御コマンドである。すなわち、ハズレ演出図柄指定コマンド、抽選結果がハズレの場合に、主制御部110から演出制御部120に必ず送信される制御コマンドである。以下、ハズレ演出図柄指定コマンドを、ハズレの際の処理を実行させるコマンドとして、「ハズレコマンド」ともいう。   Here, among the effect designating commands, the “losing effect designating command” set with “DATA” information being “00H” is a control for stopping and displaying the result of the losing when the lottery result is losing. It is a command. That is, it is a control command that is surely transmitted from the main control unit 110 to the effect control unit 120 when the lose design symbol designation command is a loss. Hereinafter, the lose effect designating command is also referred to as a “lose command” as a command for executing a process in case of loss.

「第1特別図柄記憶指定コマンド」は、第1特別図柄保留数(U1)記憶領域に記憶されている保留記憶数を示すものであり、「MODE」の情報が「E1H」で設定され、保留記憶数に合わせて「DATA」の情報が設定されている。
この第1特別図柄記憶指定コマンドは、第1特別図柄保留数(U1)記憶領域に記憶されている保留記憶数が切り替わるときに、保留記憶数に対応する第1特別図柄記憶指定コマンドが演出制御部120に送信される。具体的には、第1始動口14への入球や大当たりの抽選結果の判定に際し第1特別図柄保留数(U1)記憶領域に記憶されている値が増減したときに、増減後の保留記憶数に対応する第1特別図柄記憶指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
The “first special symbol memory designation command” indicates the number of reserved memories stored in the first special symbol reservation number (U1) storage area, and the information of “MODE” is set to “E1H”, “DATA” information is set according to the number of memories.
This first special symbol memory designation command is effect-controlled by the first special symbol memory designation command corresponding to the number of reserved memories when the number of reserved memories stored in the first special symbol reservation number (U1) storage area is switched. Is transmitted to the unit 120. Specifically, when the value stored in the first special symbol hold number (U1) storage area is increased or decreased when determining the result of entering the first start port 14 or the big win lottery result, the reserved memory after the increase or decrease is stored. The first special symbol storage designation command corresponding to the number is set in the transmission data storage area of the main RAM 110c.

「第2特別図柄記憶指定コマンド」は、第2特別図柄保留数(U2)記憶領域に記憶されている保留記憶数を示すものであり、「MODE」の情報が「E2H」で設定され、保留記憶数に合わせて「DATA」の情報が設定されている。
この第2特別図柄記憶指定コマンドは、第2特別図柄保留数(U2)記憶領域に記憶されている保留記憶数が切り替わるときに、保留記憶数に対応する第2特別図柄記憶指定コマンドが演出制御部120に送信される。具体的には、第2始動口15への入球や大当たりの抽選結果の判定に際し第2特別図柄保留数(U2)記憶領域に記憶されている値が増減したときに、増減後の保留記憶数に対応する第2特別図柄記憶指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、本実施形態では、「第1特別図柄記憶指定コマンド」と「第2特別図柄記憶指定コマンド」とをまとめて「特別図柄記憶指定コマンド」ともいう。
The “second special symbol memory designation command” indicates the number of reserved memories stored in the second special symbol reservation number (U2) storage area, and the information of “MODE” is set to “E2H”, “DATA” information is set according to the number of memories.
This second special symbol memory designation command is directed by the second special symbol memory designation command corresponding to the number of reserved memories when the number of reserved memories stored in the second special symbol reservation number (U2) storage area is switched. Is transmitted to the unit 120. Specifically, when the value stored in the second special symbol holding number (U2) storage area is increased or decreased in determining the result of entering the second starting port 15 or the jackpot lottery result, the holding storage after the increase / decrease is performed. The second special symbol storage designation command corresponding to the number is set in the transmission data storage area of the main RAM 110c.
In the present embodiment, the “first special symbol memory designation command” and the “second special symbol memory designation command” are collectively referred to as “special symbol memory designation command”.

「図柄確定コマンド」は、特別図柄が停止表示されていることを示すものであり、「MODE」の情報が「E3H」で設定され、「DATA」の情報が「00H」に設定されている。
この図柄確定コマンドは、特別図柄が停止表示されているときに演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動時間が経過した後に、特別図柄を第1特別図柄表示装置20又は第2特別図柄表示装置21に停止表示させるときに、図柄確定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
The “symbol confirmation command” indicates that the special symbol is stopped and displayed, and “MODE” information is set to “E3H” and “DATA” information is set to “00H”.
This symbol confirmation command is transmitted to the effect control unit 120 when the special symbol is stopped and displayed. Specifically, after determining the jackpot lottery result and the special symbol change time has elapsed, when the special symbol is stopped and displayed on the first special symbol display device 20 or the second special symbol display device 21, the symbol confirmation command Is set in the transmission data storage area of the main RAM 110c.

「電源投入時指定コマンド」は、遊技機1の電源が投入されたことを示すものであり、「MODE」の情報が「E4H」で設定され、「DATA」の情報が「00H」に設定されている。
この電源投入時指定コマンドは、遊技機1の電源が投入されたときに演出制御部120に送信される。遊技機1の電源が投入され主制御部110の初期化処理が行われる際に、電源遮断時(以下、「電断時」という)に生成したメインRAM110cのバックアップ情報が有効でない場合は、メインRAM110cの作業領域がクリアされ、新たに作業領域の設定が行われる。その後、電源投入時指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、電源投入時指定コマンド等と関連する初期化処理については後述する。
The “power-on designation command” indicates that the gaming machine 1 is powered on, the “MODE” information is set to “E4H”, and the “DATA” information is set to “00H”. ing.
The power-on designation command is transmitted to the effect control unit 120 when the gaming machine 1 is powered on. When the gaming machine 1 is powered on and the initialization process of the main control unit 110 is performed, if the backup information of the main RAM 110c generated when the power is turned off (hereinafter referred to as “power interruption”) is not valid, The work area in the RAM 110c is cleared and a new work area is set. Thereafter, a power-on designation command is set in the transmission data storage area of the main RAM 110c.
The initialization process related to the power-on designation command and the like will be described later.

「RAMクリア指定コマンド」は、メインRAM110cに記憶された情報がクリアされたことを示すものであり、「MODE」の情報が「E4H」で設定され、「DATA」の情報が「01H」に設定されている。
遊技機1の裏側には図示しないRAMクリアボタンが設けられており、RAMクリアボタンを押下しながら遊技機1の電源を投入すると、主制御部110にシステムリセットが発生し初期化処理が行われる。そして、メインRAM110cの作業領域がクリアされ新たに作業領域の設定が行われ電源投入時指定コマンドを送信した後に、RAMクリア指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
The “RAM clear designation command” indicates that the information stored in the main RAM 110c has been cleared. The “MODE” information is set to “E4H” and the “DATA” information is set to “01H”. Has been.
A RAM clear button (not shown) is provided on the back side of the gaming machine 1. When the gaming machine 1 is turned on while pressing the RAM clear button, a system reset occurs in the main control unit 110 and initialization processing is performed. . After the work area of the main RAM 110c is cleared and a new work area is set and a power-on designation command is transmitted, the RAM clear designation command is set in the transmission data storage area of the main RAM 110c.

「電源復旧指定コマンド」は、遊技機1の電源が投入されて、正常に復旧したことを示すものであり、「MODE」の情報が「E4H」で設定され、電断時の遊技状態別に合わせて「DATA」の情報が設定されている。
この電源復旧指定コマンドは、遊技機1の電源が投入されて、正常に復旧したときに演出制御部120に送信される。具体的には、遊技機1の電源が投入され初期化処理が行われる際に、電断時に生成したメインRAM110cのバックアップ情報が有効である場合は、バックアップ情報が示す遊技状態に応じた電源復旧指定コマンドを生成し、生成した電源復旧指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
The “power recovery designation command” indicates that the gaming machine 1 has been powered on and has been restored normally. The “MODE” information is set to “E4H” and is matched according to the gaming state at the time of power interruption. "DATA" information is set.
This power supply restoration designation command is transmitted to the effect control unit 120 when the gaming machine 1 is turned on and normally restored. Specifically, when the gaming machine 1 is turned on and the initialization process is performed, if the backup information of the main RAM 110c generated at the time of power interruption is valid, the power is restored according to the gaming state indicated by the backup information. A designated command is generated, and the generated power supply restoration designation command is set in the transmission data storage area of the main RAM 110c.

なお、電源投入時に、電源投入時指定コマンド、RAMクリア指定コマンド、電源復旧指定コマンドのいずれか少なくとも1つが主制御部110から演出制御部120へ送信される。すなわち、「MODE」の情報が「E4H」で設定される上記の制御コマンド群は、電源投入時の処理を実行させるコマンドである。以下、「MODE」の情報が「E4H」で設定される上記の制御コマンド群を、「電源投入コマンド」ともいう。   When the power is turned on, at least one of a power-on designation command, a RAM clear designation command, and a power restoration designation command is transmitted from the main control unit 110 to the effect control unit 120. That is, the above-described control command group in which “MODE” information is set to “E4H” is a command for executing a process at power-on. Hereinafter, the control command group in which the “MODE” information is set to “E4H” is also referred to as “power-on command”.

「デモ指定コマンド」は、第1特別図柄表示装置20又は第2特別図柄表示装置21が作動していないことを示すものであり、「MODE」の情報が「E5H」で設定され、「DATA」の情報が「00H」に設定されている。
このデモ指定コマンドは、第1特別図柄表示装置20又は第2特別図柄表示装置21の特別図柄の保留記憶がなく、遊技者による操作がない非遊技状態が所定の時間経過したときに、演出制御部120に送信される。具体的には、大当たりの抽選、特別電動役物、遊技状態の制御を行うに際し、第1特別図柄保留数(U1)記憶領域又は第2特別図柄保留数(U2)記憶領域のいずれの記憶領域にも1以上のデータがセットされていない状態が所定の時間継続したときに、デモ指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
The “demonstration designation command” indicates that the first special symbol display device 20 or the second special symbol display device 21 is not in operation, the information of “MODE” is set to “E5H”, and “DATA” Is set to “00H”.
This demonstration designation command is used for effect control when there is no special symbol holding storage of the first special symbol display device 20 or the second special symbol display device 21 and a non-game state in which there is no operation by the player has elapsed for a predetermined time. Is transmitted to the unit 120. Specifically, when performing the jackpot lottery, the special electric game, and the control of the gaming state, either the first special symbol hold number (U1) storage area or the second special symbol hold number (U2) storage area In addition, when a state in which one or more data is not set continues for a predetermined time, the demo designation command is set in the transmission data storage area of the main RAM 110c.

なお、デモ指定コマンドは、第1特別図柄表示装置20又は第2特別図柄表示装置21の特別図柄の保留記憶がないとき直ちに送信するようにしてもよい。この場合、演出制御部120は、デモ指定コマンドを受信した後、他の制御コマンドを所定時間受信しなかった場合、すなわち非遊技状態が所定時間経過した場合にデモ演出を実行する。   Note that the demo designation command may be transmitted immediately when there is no special symbol holding storage of the first special symbol display device 20 or the second special symbol display device 21. In this case, after receiving the demonstration designation command, the effect control unit 120 executes the demonstration effect when no other control command is received for a predetermined time, that is, when the non-game state has elapsed for a predetermined time.

「第1特別図柄用変動パターン指定コマンド」は、第1特別図柄表示装置20における特別図柄の変動時間(変動態様)を示すものであり、「MODE」の情報が「E6H」で設定され、各種の変動パターンに合わせて「DATA」の情報が設定されている。
この第1特別図柄用変動パターン指定コマンドは、第1特別図柄表示装置20の特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第1特別図柄用変動パターン指定コマンドが演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動パターンが決定され特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第1特別図柄用変動パターン指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
The “variable pattern designation command for the first special symbol” indicates the variation time (variation mode) of the special symbol in the first special symbol display device 20, the information of “MODE” is set as “E6H”, and various “DATA” information is set in accordance with the fluctuation pattern.
The first special symbol variation pattern designation command is a first special symbol variation pattern corresponding to the variation pattern of the special symbol determined when the special symbol variation display of the first special symbol display device 20 is started. A designation command is transmitted to the effect control unit 120. Specifically, the variation pattern for the first special symbol corresponding to the determined variation pattern of the special symbol when the variation pattern of the special symbol is determined and the variation display of the special symbol is started by judging the lottery result of the jackpot The designated command is set in the transmission data storage area of the main RAM 110c.

「第2特別図柄用変動パターン指定コマンド」は、第2特別図柄表示装置21における特別図柄の変動時間(変動態様)を示すものであり、「MODE」の情報が「E7H」で設定され、各種の変動パターンに合わせて「DATA」の情報が設定されている。
この第2特別図柄用変動パターン指定コマンドは、第2特別図柄表示装置21の特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第2特別図柄用変動パターン指定コマンドが演出制御部120に送信される。具体的には、大当たりの抽選結果を判定し特別図柄の変動パターンが決定され特別図柄の変動表示が開始されるときに、決定された特別図柄の変動パターンに対応する第2特別図柄用変動パターン指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、本実施形態では、「第1特別図柄用変動パターン指定コマンド」と「第2特別図柄用変動パターン指定コマンド」とをまとめて、「変動パターン指定コマンド」という。
The “variable pattern designation command for the second special symbol” indicates the variation time (variation mode) of the special symbol in the second special symbol display device 21, and the information of “MODE” is set to “E7H”. “DATA” information is set in accordance with the fluctuation pattern.
The second special symbol variation pattern designation command is a second special symbol variation pattern corresponding to the variation pattern of the special symbol determined when the special symbol variation display of the second special symbol display device 21 is started. A designation command is transmitted to the effect control unit 120. Specifically, the variation pattern for the second special symbol corresponding to the determined variation pattern of the special symbol when the variation pattern of the special symbol is determined and the variation display of the special symbol is started by judging the lottery lottery result The designated command is set in the transmission data storage area of the main RAM 110c.
In the present embodiment, the “first special symbol variation pattern designation command” and the “second special symbol variation pattern designation command” are collectively referred to as a “variation pattern designation command”.

ここで、変動パターン指定コマンドのうち、「DATA」の情報が「01H」、「02H」、「03H」、「04H」、「05H」で設定される制御コマンド群は、リーチ演出を実行させる制御コマンドである。以下、「MODE」の情報が「E6H」で設定され、且つ「DATA」の情報が「01H」〜「05H」で設定される制御コマンド群を、「リーチコマンド」ともいう。   Here, among the variation pattern designation commands, the control command group in which the information of “DATA” is set to “01H”, “02H”, “03H”, “04H”, “05H” is a control for executing the reach effect. It is a command. Hereinafter, a control command group in which “MODE” information is set as “E6H” and “DATA” information is set as “01H” to “05H” is also referred to as “reach command”.

「大入賞口開放指定コマンド」は、各種大当たりの種別に合わせた大当たりのラウンド数を示すものであり、「MODE」の情報が「EAH」で設定され、大当たりのラウンド数に合わせて「DATA」の情報が設定されている。
この大入賞口開放指定コマンドは、大当たりラウンドが開始されるときに、開始されたラウンド数に対応する大入賞口開放指定コマンドが演出制御部120に送信される。具体的には、大当たり遊技処理において第1大入賞口開閉扉16b(又は第2大入賞口開閉扉17b)を開放させるときに、開放させるときのラウンド数に対応する大入賞口開放指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、「MODE」の情報が「EAH」で設定されるコマンド群は、大当たり中の各ラウンドに対応する処理を実行させるコマンドである。以下、「MODE」の情報が「EAH」で設定されるコマンド群を、「大当たりコマンド」ともいう。
The “big prize opening opening designation command” indicates the number of rounds of jackpots according to various types of jackpots, and “MODE” information is set as “EAH”, and “DATA” is set according to the number of rounds of jackpots. Information is set.
With regard to the special winning opening opening designation command, when the big hit round is started, the big winning opening opening designation command corresponding to the started round number is transmitted to the effect control unit 120. Specifically, when the first big prize opening / closing door 16b (or the second big prize opening / closing door 17b) is opened in the big hit game process, a big prize opening opening designation command corresponding to the number of rounds to be opened is provided. It is set in the transmission data storage area of the main RAM 110c.
Note that the command group in which the information of “MODE” is set to “EAH” is a command for executing processing corresponding to each round of jackpot. Hereinafter, a command group in which “MODE” information is set to “EAH” is also referred to as a “hit command”.

「オープニング指定コマンド」は、各種の大当たりが開始することを示すものであり、「MODE」の情報が「EBH」で設定され、大当たりの種別に合わせて「DATA」の情報が設定されている。
このオープニング指定コマンドは、各種の大当たりが開始するときに、大当たりの種別に対応するオープニング指定コマンドが演出制御部120に送信される。具体的には、大当たり遊技処理の開始のときに、大当たりの種別に対応するオープニング指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、「MODE」の情報が「EBH」で設定されるコマンド群は、大当たり状態の処理を開始させるコマンドである。以下、「MODE」の情報が「EBH」で設定されるコマンド群を、「大当たり開始コマンド」ともいう。
The “opening designation command” indicates that various jackpots start, “MODE” information is set as “EBH”, and “DATA” information is set according to the jackpot type.
As for this opening designation command, when various jackpots start, an opening designation command corresponding to the type of jackpot is transmitted to the effect control unit 120. Specifically, at the start of the jackpot game process, an opening designation command corresponding to the jackpot type is set in the transmission data storage area of the main RAM 110c.
Note that the command group in which the information of “MODE” is set to “EBH” is a command for starting the big hit state processing. Hereinafter, a command group in which “MODE” information is set to “EBH” is also referred to as a “big hit start command”.

「エンディング指定コマンド」は、各種の大当たりが終了したことを示すものであり、「MODE」の情報が「ECH」で設定され、大当たりの種別に合わせて「DATA」の情報が設定されている。
このエンディング指定コマンドは、各種の大当たりが終了するときに、大当たりの種別に対応するエンディング指定コマンドが演出制御部120に送信される。具体的には、大当たり遊技終了処理の開始のときに、大当たりの種別に対応するエンディング指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
なお、「MODE」の情報が「ECH」で設定されるコマンド群は、大当たり状態の処理を終了させるコマンドである。以下、「MODE」の情報が「ECH」で設定されるコマンド群を、「大当たり終了コマンド」ともいう。
The “ending designation command” indicates that various types of jackpots have ended, “MODE” information is set as “ECH”, and “DATA” information is set according to the jackpot type.
As for this ending designation command, when various jackpots are finished, an ending designation command corresponding to the jackpot type is transmitted to the effect control unit 120. Specifically, at the start of the jackpot game end process, an ending designation command corresponding to the jackpot type is set in the transmission data storage area of the main RAM 110c.
Note that the command group in which the “MODE” information is set to “ECH” is a command for ending the jackpot state process. Hereinafter, a command group in which “MODE” information is set to “ECH” is also referred to as a “hit end command”.

「遊技状態指定コマンド」は、遊技状態の内容を示すものであり、「MODE」の情報が「EDH」で設定され、遊技状態の内容に合わせて「DATA」の情報が設定されている。
この遊技状態指定コマンドは、特別図柄の変動開始及び変動終了時や大当り遊技の開始時及び終了時に、遊技状態に対応する遊技状態指定コマンドが演出制御部120に送信される。具体的には、特別図柄の変動表示が開始されるとき、特別図柄を停止表示させるとき、高確率遊技フラグ、高確率遊技回数、時短遊技フラグ及び時短回数(J)をクリアしたとき、高確率遊技フラグ、高確率遊技回数、時短遊技フラグ及び時短回数(J)の設定を行ったときに、現在の遊技状態に対応する遊技状態指定コマンドがメインRAM110cの送信データ用記憶領域にセットされる。
The “gaming state designation command” indicates the contents of the gaming state, the information of “MODE” is set as “EDH”, and the information of “DATA” is set according to the contents of the gaming state.
As for the gaming state designation command, a gaming state designation command corresponding to the gaming state is transmitted to the effect control unit 120 at the start and end of variation of the special symbol or at the beginning and end of the big hit game. Specifically, when the special symbol variation display is started, when the special symbol is stopped and displayed, when the high probability game flag, the high probability game number, the short time game flag, and the short time game number (J) are cleared, the high probability When a game flag, a high probability game count, a short-time game flag, and a short-time game count (J) are set, a game state designation command corresponding to the current game state is set in the transmission data storage area of the main RAM 110c.

[主制御部の制御処理]
これより、本発明の実施形態に係る遊技機1の主制御部110の制御処理について説明する。まず、主制御部110のメイン処理について説明する。
図10は、本実施形態に係る主制御部110によるメイン処理を示すフローチャートである。
[Control processing of main control unit]
Hereafter, the control process of the main control part 110 of the gaming machine 1 according to the embodiment of the present invention will be described. First, main processing of the main control unit 110 will be described.
FIG. 10 is a flowchart showing main processing by the main control unit 110 according to the present embodiment.

遊技機1に電源が投入され、電源部170により電源が供給されると、主制御部110にシステムリセットが発生し、メインCPU110aは、初期化処理(図10のステップS1〜ステップS17までの処理)及び乱数値更新処理(図10のステップS20及びステップS30の処理)を行う。   When the gaming machine 1 is powered on and powered by the power supply unit 170, a system reset occurs in the main control unit 110, and the main CPU 110a performs initialization processing (processing from step S1 to step S17 in FIG. 10). ) And random number value update processing (steps S20 and S30 in FIG. 10).

ステップS1において、メインCPU110aは、主制御部110の初期化処理の前提としてブート処理を行う。このブート処理において、メインCPU110aは、自身の自己診断処理や、内蔵回路や周辺回路等の初期化及び初期値の設定を行う。なお、ブート処理の詳細については後述する。
ステップS2において、メインCPU110aは、メインRAM110cへのアクセスを許可に設定する。
ステップS3において、メインCPU110aは、RAMクリアスイッチがオンとなっているか判定し、RAMクリアスイッチがオンと判定された場合、RAMクリアを行うためステップS10に処理を移す。一方、RAMクリアスイッチがオンと判定されなかった場合には、ステップS4に処理を移す。
In step S1, the main CPU 110a performs a boot process as a premise of the initialization process of the main control unit 110. In this boot process, the main CPU 110a performs its own self-diagnosis process, initialization of built-in circuits and peripheral circuits, and setting of initial values. Details of the boot process will be described later.
In step S2, the main CPU 110a sets permission to access the main RAM 110c.
In step S3, the main CPU 110a determines whether or not the RAM clear switch is on. If it is determined that the RAM clear switch is on, the main CPU 110a shifts the processing to step S10 to perform RAM clear. On the other hand, if the RAM clear switch is not determined to be on, the process proceeds to step S4.

ステップS4において、メインCPU110aは、電源投入時のメインRAM110cの所定の記憶領域におけるチェックサムを生成する。
ステップS5において、メインCPU110aは、生成したチェックサムと、電断時に生成したメインRAM110cの所定の記憶領域におけるチェックサムとを比較する。ここで、一致していれば正常と判定し、ステップS6に処理を移し、一致していなければエラーと判定し、ステップS10に処理を移す。
In step S4, the main CPU 110a generates a checksum in a predetermined storage area of the main RAM 110c when the power is turned on.
In step S5, the main CPU 110a compares the generated checksum with the checksum in the predetermined storage area of the main RAM 110c generated at the time of power interruption. If they match, it is determined to be normal, and the process proceeds to step S6. If they do not match, it is determined to be an error, and the process proceeds to step S10.

ステップS6において、メインCPU110aは、演出制御部120をはじめとした周辺制御部300や中間制御部180との間で、起動後の動作の開始タイミングを調整する。具体的には、周辺制御部300や中間制御部180がすべて起動し安定状態となってから演出処理等をほぼ同じタイミングで開始できるように、一定時間だけ待機する。
ステップS7において、メインCPU110aは、電断からの復旧に際して初期値を必要とするメインRAM110cの作業領域に初期値を設定し、バックアップが有効である場合のRAMの設定処理を行う。
In step S <b> 6, the main CPU 110 a adjusts the start timing of the operation after activation with the peripheral control unit 300 including the effect control unit 120 and the intermediate control unit 180. Specifically, after all the peripheral control unit 300 and the intermediate control unit 180 are activated and become in a stable state, the system waits for a certain period of time so that the rendering process and the like can be started at substantially the same timing.
In step S7, the main CPU 110a sets an initial value in a work area of the main RAM 110c that requires an initial value upon recovery from power interruption, and performs a RAM setting process when backup is valid.

ステップS8において、メインCPU110aは、電断時の遊技状態に復旧すべく、電断時に生成したメインRAM110cのバックアップ情報を読み込む。具体的には、バックアップされているメインRAM110cの遊技状態記憶領域から遊技状態の情報を読み込む。
ステップS9において、メインCPU110aは、読み込んだ遊技状態の情報に基づいて電源復旧指定コマンドを決定し、決定した電源復旧指定コマンドをメインRAM110cの送信データ用記憶領域にセットする。
In step S8, the main CPU 110a reads the backup information of the main RAM 110c generated at the time of power interruption in order to restore the gaming state at the time of power interruption. Specifically, the game state information is read from the game state storage area of the main RAM 110c that is backed up.
In step S9, the main CPU 110a determines a power restoration designation command based on the read gaming state information, and sets the decided power restoration designation command in the transmission data storage area of the main RAM 110c.

ステップS10において、メインCPU110aは、上記ステップS6と同様に周辺制御部300や中間制御部180との間でのタイミング調整を行う。
ステップS11において、メインCPU110aは、メインRAM110cの使用領域をクリアする。
ステップS12において、メインCPU110aは、各種乱数値の初期値の設定をはじめとする、遊技機1の初期化に際して初期値を必要とするメインRAM110cの作業領域に初期値を設定し、バックアップが有効でない場合のメインRAM110cの設定処理を行う。
In step S10, the main CPU 110a performs timing adjustment with the peripheral control unit 300 and the intermediate control unit 180 in the same manner as in step S6.
In step S11, the main CPU 110a clears the used area of the main RAM 110c.
In step S12, the main CPU 110a sets initial values in the work area of the main RAM 110c that requires initial values when initializing the gaming machine 1, including setting initial values of various random numbers, and backup is not valid. In this case, the main RAM 110c is set.

ステップS13において、メインCPU110aは、電源投入時指定コマンドを生成し、生成した電源投入時指定コマンドをメインRAM110cの送信データ用記憶領域にセットする。
ステップS14において、メインCPU110aは、送信データ用記憶領域にセットされている制御コマンドを中間制御部180に送信するコマンド送信処理を行う。すなわち、電源投入時指定コマンドを中間制御部180に送信する。なお、ステップS14及びステップS16のコマンド送信処理では、検査値生成部500において、変換方式設定処理、検査値生成処理、ビット列変換処理、及びシフト量設定処理が行われる。更に、ステップS14及びステップS16のコマンド送信処理では、メインCPU110aが固有情報を格納回路522へ初期設定値として設定する処理を伴う。コマンド送信処理の詳細については後述する。
In step S13, the main CPU 110a generates a power-on designation command, and sets the generated power-on designation command in the transmission data storage area of the main RAM 110c.
In step S <b> 14, the main CPU 110 a performs a command transmission process for transmitting the control command set in the transmission data storage area to the intermediate control unit 180. That is, a power-on designation command is transmitted to the intermediate control unit 180. In the command transmission process in steps S14 and S16, the test value generation unit 500 performs a conversion method setting process, a test value generation process, a bit string conversion process, and a shift amount setting process. Further, the command transmission processing in step S14 and step S16 involves processing in which the main CPU 110a sets unique information as an initial setting value in the storage circuit 522. Details of the command transmission process will be described later.

ステップS15において、メインCPU110aは、RAMクリア指定コマンドを生成し、生成したRAMクリア指定コマンドをメインRAM110cの送信データ用記憶領域にセットする。
ステップS16において、メインCPU110aは、メインRAM110cの送信データ用記憶領域にセットされている制御コマンドを中間制御部180に送信するコマンド送信処理を行う。すなわち、電源復旧指定コマンド又はRAMクリア指定コマンドのいずれかの制御コマンドを中間制御部180に送信する。
ステップS17において、メインCPU110aは、割込許可の設定をすると共に、タイマ割込プログラムの実行周期(α、例えば4ミリ秒)を設定する。
In step S15, the main CPU 110a generates a RAM clear designation command, and sets the generated RAM clear designation command in the transmission data storage area of the main RAM 110c.
In step S16, the main CPU 110a performs a command transmission process for transmitting a control command set in the transmission data storage area of the main RAM 110c to the intermediate control unit 180. That is, the control command of either the power supply restoration designation command or the RAM clear designation command is transmitted to the intermediate control unit 180.
In step S17, the main CPU 110a sets the interrupt permission and sets the execution period (α, for example, 4 milliseconds) of the timer interrupt program.

なお、ステップS14及びステップS16のコマンド送信処理は、ステップS17での割込許可後に行われるタイマ割込処理の中で行ってもよい。このとき、各制御コマンドの送信順番が前後しないよう予め取り決めておく。   Note that the command transmission processing in step S14 and step S16 may be performed in the timer interrupt processing performed after interrupt permission in step S17. At this time, it is determined in advance that the transmission order of each control command is not changed.

ステップS20において、メインCPU110aは、特別図柄の変動態様(変動時間)を決定するためのリーチ判定用乱数値及び特図変動用乱数値を更新する演出用乱数値更新処理を行う。
ステップS30において、メインCPU110aは、特別図柄判定用初期乱数値、大当たり図柄用初期乱数値、小当たり図柄用初期乱数値、普通図柄判定用初期乱数値を更新する初期乱数値更新処理を行う。その後、所定の割込処理が行われるまで、ステップS20とステップS30との処理を繰り返し行う。
In step S20, the main CPU 110a performs an effect random number update process for updating the reach determination random number value and the special figure variation random value for determining the variation mode (variation time) of the special symbol.
In step S30, the main CPU 110a performs an initial random number value update process for updating the initial random number value for special symbol determination, the initial random number value for jackpot symbol, the initial random number value for small bonus symbol, and the initial random number value for normal symbol determination. Thereafter, the processes in steps S20 and S30 are repeated until a predetermined interrupt process is performed.

次に、主制御部110の割込処理について説明する。
図11は、本実施形態に係る主制御部110による割込処理を示すフローチャートである。
メインCPU110aは、主制御部110に設けられたクロックパルス発生回路から出力されるクロック信号に基づいて、所定の周期(α)毎に、主制御部110のタイマ割込処理を実行する。
Next, interrupt processing of the main control unit 110 will be described.
FIG. 11 is a flowchart showing interrupt processing by the main control unit 110 according to the present embodiment.
The main CPU 110a executes a timer interrupt process of the main control unit 110 at every predetermined cycle (α) based on a clock signal output from a clock pulse generation circuit provided in the main control unit 110.

まず、ステップS100において、メインCPU110aは、メインCPU110aのレジスタに記憶されている情報をスタック領域に退避させる。   First, in step S100, the main CPU 110a saves the information stored in the register of the main CPU 110a to the stack area.

ステップS110において、メインCPU110aは、特別図柄時間カウンタの更新処理、特別電動役物の開放時間等などの特別遊技タイマカウンタの更新処理、普通図柄時間カウンタの更新処理、普電開放時間カウンタの更新処理等の各種タイマカウンタを更新する時間制御処理を行う。具体的には、特別図柄時間カウンタ、特別遊技タイマカウンタ、普通図柄時間カウンタ、普電開放時間カウンタから1を減算する処理を行う。   In step S110, the main CPU 110a updates the special symbol time counter, updates the special game timer counter such as the opening time of the special electric accessory, updates the normal symbol time counter, and updates the normal power release time counter. A time control process for updating various timer counters is performed. Specifically, a process of subtracting 1 from a special symbol time counter, a special game timer counter, a normal symbol time counter, and a general electricity open time counter is performed.

ステップS120において、メインCPU110aは、特別図柄判定用乱数値、大当たり図柄用乱数値、小当たり図柄用乱数値、普通図柄判定用乱数値の乱数更新処理を行う。
具体的には、それぞれの乱数値及び乱数カウンタに1を加算して更新する。なお、加算した乱数カウンタが乱数範囲の最大値を超えた場合(乱数カウンタが1周した場合)には、乱数カウンタを0に戻し、その時の初期乱数値からそれぞれの乱数値を新たに更新する。
In step S120, the main CPU 110a performs a random number update process for the special symbol determination random number value, the big hit symbol random number value, the small hit symbol random number value, and the normal symbol determination random number value.
Specifically, 1 is added to each random number value and random number counter to be updated. When the added random number counter exceeds the maximum value in the random number range (when the random number counter makes one revolution), the random number counter is returned to 0, and each random number value is newly updated from the initial random number value at that time. .

ステップS130において、メインCPU110aは、ステップS30と同様に、特別図柄判定用初期乱数値、大当たり図柄用初期乱数値、小当たり図柄用初期乱数値、普通図柄判定用初期乱数値を更新する初期乱数値更新処理を行う。   In step S130, as in step S30, the main CPU 110a updates the initial random number value for updating the special symbol determining initial random value, the big hit symbol initial random value, the small hit symbol initial random value, and the normal symbol determining initial random value. Perform update processing.

ステップS200において、メインCPU110aは、入力制御処理を行う。この処理において、メインCPU110aは、一般入賞口検出スイッチ12a、第1大入賞口検出スイッチ16a、第2大入賞口検出スイッチ17a、第1始動口検出スイッチ14a、第2始動口検出スイッチ15a、ゲート検出スイッチ13aの各スイッチに入力があったか否か判定する入力処理を行う。   In step S200, the main CPU 110a performs input control processing. In this process, the main CPU 110a includes a general winning opening detection switch 12a, a first large winning opening detection switch 16a, a second large winning opening detection switch 17a, a first starting opening detection switch 14a, a second starting opening detection switch 15a, a gate. An input process for determining whether or not there is an input to each switch of the detection switch 13a is performed.

具体的には、一般入賞口検出スイッチ12a、第1大入賞口検出スイッチ16a、第2大入賞口検出スイッチ17a、第1始動口検出スイッチ14a、第2始動口検出スイッチ15aからの各種検出信号を入力した場合には、ぞれぞれの入賞口毎に設けられた賞球のために用いる賞球カウンタに所定のデータを加算して更新する。   Specifically, various detection signals from the general winning opening detecting switch 12a, the first big winning opening detecting switch 16a, the second large winning opening detecting switch 17a, the first starting opening detecting switch 14a, and the second starting opening detecting switch 15a. Is inputted, predetermined data is added to a prize ball counter used for a prize ball provided for each winning opening and updated.

更に、第1始動口検出スイッチ14aから検出信号を入力した場合には、第1特別図柄保留数(U1)記憶領域にセットされているデータが4未満であれば、第1特別図柄保留数(U1)記憶領域に1を加算し、特別図柄判定用乱数値、大当たり図柄用乱数値、小当たり図柄用乱数値、リーチ判定用乱数値及び特図変動用乱数値を取得して、取得した各種乱数値を第1特別図柄乱数値記憶領域にある所定の記憶部(第0記憶部〜第4記憶部)に記憶する。   Further, when a detection signal is input from the first start port detection switch 14a, if the data set in the first special symbol hold number (U1) storage area is less than 4, the first special symbol hold number ( U1) Add 1 to the storage area to obtain special symbol determination random number value, jackpot symbol random number value, small hit symbol random number value, reach determination random number value, and special symbol variation random value The random number value is stored in a predetermined storage unit (0th storage unit to 4th storage unit) in the first special symbol random value storage area.

同様に、第2始動口検出スイッチ15aから検出信号を入力した場合には、第2特別図柄保留数(U2)記憶領域にセットされているデータが4未満であれば、第2特別図柄保留数(U2)記憶領域に1を加算し、特別図柄判定用乱数値、大当たり図柄用乱数値、小当たり図柄用乱数値、リーチ判定用乱数値及び特図変動用乱数値を取得して、取得した各種乱数値を第2特別図柄乱数値記憶領域にある所定の記憶部(第0記憶部〜第4記憶部)に記憶する。   Similarly, when a detection signal is input from the second start port detection switch 15a, if the data set in the second special symbol hold number (U2) storage area is less than 4, the second special symbol hold number (U2) 1 is added to the storage area, and a random number value for special symbol determination, a random number value for big hit symbol, a random number value for small hit symbol, a random number value for reach determination, and a random number value for special symbol variation are acquired. Various random numbers are stored in a predetermined storage unit (0th storage unit to 4th storage unit) in the second special symbol random number value storage area.

また、ゲート検出スイッチ13aから検出信号を入力した場合には、普通図柄保留数(G)記憶領域にセットされているデータが4未満であれば、普通図柄保留数(G)記憶領域に1を加算し、普通図柄判定用乱数値を取得して、取得した普通図柄判定用乱数値を普通図柄保留記憶領域にある所定の記憶部(第0記憶部〜第4記憶部)に記憶する。   When a detection signal is input from the gate detection switch 13a, if the data set in the normal symbol hold number (G) storage area is less than 4, the normal symbol hold number (G) storage area is set to 1. It adds, acquires the random number value for normal symbol determination, and memorize | stores the acquired random number value for normal symbol determination in the predetermined memory | storage part (0th memory | storage part-4th memory | storage part) in a normal symbol holding | maintenance storage area.

更に、第1大入賞口検出スイッチ16a又は第2大入賞口検出スイッチ17aからの検出信号を入力した場合には、第1大入賞口16又は第2大入賞口17に入賞した遊技球を計数するための大入賞口入球数(C)記憶領域に1を加算して更新する。   Further, when a detection signal from the first grand prize opening detection switch 16a or the second big prize opening detection switch 17a is input, the number of game balls won in the first big prize opening 16 or the second big prize opening 17 is counted. 1 is added to the number of entries (C) storage area for the big winning opening to update.

ステップS300において、メインCPU110aは、上記ステップS200での入力制御処理に基づいて、大当たりの抽選、特別電動役物、遊技状態の制御を行うための特別図柄・特別電動役物制御処理(以下、「特図特電制御処理」という)を行う。特図特電制御処理の詳細については、図12を用いて後述する。   In step S300, the main CPU 110a, based on the input control process in step S200, performs a special symbol / special electric accessory control process (hereinafter referred to as “a special jackpot lottery, a special electric accessory, and a gaming state control”). Special figure special electricity control process ”). Details of the special figure special electric control process will be described later with reference to FIG.

ステップS400において、メインCPU110aは、普通図柄の抽選、普通電動役物の制御を行うための普通図柄・普通電動役物制御処理(以下、「普図普電制御処理」という)を行う。
具体的には、まず普通図柄保留数(G)記憶領域に1以上のデータがセットされているか否かを判定し、普通図柄保留数(G)記憶領域に1以上のデータがセットされていなければ、今回の普図普電制御処理を終了する。
In step S400, the main CPU 110a performs a normal symbol / ordinary electric accessory control process (hereinafter referred to as a “general-purpose electric power control process”) for performing the normal symbol lottery and the control of the ordinary electric accessory.
Specifically, it is first determined whether or not 1 or more data is set in the normal symbol hold count (G) storage area, and 1 or more data must be set in the normal symbol hold count (G) storage area. If this is the case, the current ordinary power transmission control process is terminated.

普通図柄保留数(G)記憶領域に1以上のデータがセットされていれば、普通図柄保留数(G)記憶領域に記憶されている値から1を減算した後、普通図柄保留記憶領域にある第1記憶部〜第4記憶部に記憶された普通図柄判定用乱数値を1つ前の記憶部にシフトさせる。このとき、既に第0記憶部に書き込まれていた普通図柄判定用乱数値は上書きされて消去されることとなる。
そして、当たり判定テーブルを参照し、普通図柄保留記憶領域の第0記憶部に記憶された普通図柄判定用乱数値が「当たり」に対応する乱数値であるかどうかの判定する処理を行う。その後、普通図柄表示装置22において普通図柄の変動表示を行って、普通図柄の変動時間が経過すると普通図柄の抽選の結果に対応する普通図柄の停止表示を行う。そして、参照した普通図柄判定用乱数値が「当たり」のものであれば、始動口開閉ソレノイド15cを駆動させ、第2始動口15を所定の開放時間、第2の態様に制御する。
ここで、非時短遊技状態であれば、普通図柄の変動時間を29秒に設定し、「当たり」であると第2始動口15を0.2秒間、第2の態様に制御する。これに対して、時短遊技状態であれば、普通図柄の変動時間を3秒に設定し、「当たり」であると第2始動口15を3.5秒間、第2の態様に制御する。
If 1 or more data is set in the normal symbol holding number (G) storage area, after subtracting 1 from the value stored in the normal symbol holding number (G) storage area, the data is in the normal symbol holding storage area. The normal symbol determination random numbers stored in the first storage unit to the fourth storage unit are shifted to the previous storage unit. At this time, the normal symbol determination random value already written in the 0th storage unit is overwritten and erased.
Then, referring to the hit determination table, a process is performed to determine whether or not the normal symbol determination random number value stored in the 0th storage unit of the normal symbol hold storage area is a random value corresponding to “win”. Thereafter, the normal symbol display device 22 displays the normal symbol variation display, and when the normal symbol variation time has elapsed, the normal symbol corresponding to the result of the normal symbol lottery display is stopped. If the random number for normal symbol determination referred to is “winning”, the start opening / closing solenoid 15c is driven to control the second start opening 15 to the second mode for a predetermined opening time.
Here, in the non-short-time gaming state, the variation time of the normal symbol is set to 29 seconds, and if it is “winning”, the second start port 15 is controlled to the second mode for 0.2 seconds. On the other hand, in the short-time gaming state, the variation time of the normal symbol is set to 3 seconds, and if it is “winning”, the second start port 15 is controlled to the second mode for 3.5 seconds.

ステップS500において、メインCPU110aは、払出制御処理を行う。この払出制御処理において、メインCPU110aは、ぞれぞれの賞球カウンタを参照し、各種入賞口に対応する払出個数指定コマンドを生成して、生成した払出個数指定コマンドを払出制御部130に送信する。   In step S500, the main CPU 110a performs a payout control process. In this payout control process, the main CPU 110 a refers to each prize ball counter, generates payout number designation commands corresponding to various winning ports, and transmits the generated payout number designation commands to the payout control unit 130. To do.

ステップS600において、メインCPU110aは、外部情報データ、始動口開閉ソレノイドデータ、第1大入賞口開閉ソレノイドデータ、第2大入賞口開閉ソレノイドデータ、特別図柄表示装置データ、普通図柄表示装置データ、記憶数指定コマンドのデータ作成処理を行う。   In step S600, the main CPU 110a, external information data, start opening / closing solenoid data, first big prize opening opening / closing solenoid data, second big prize opening opening / closing solenoid data, special symbol display device data, normal symbol display device data, the number of memories Performs data creation for the specified command.

ステップS700において、メインCPU110aは、出力制御処理を行う。この処理において、ステップS600で作成した外部情報データ、始動口開閉ソレノイドデータ、第1大入賞口開閉ソレノイドデータ、第2大入賞口開閉ソレノイドデータの信号を出力させるポート出力処理を行う。
また、第1特別図柄表示装置20、第2特別図柄表示装置21及び普通図柄表示装置22の各LEDを点灯させるために、上記S600で作成した特別図柄表示装置データと普通図柄表示装置データとを出力する表示装置出力処理を行う。
In step S700, the main CPU 110a performs output control processing. In this process, port output processing is performed for outputting signals of the external information data, the start opening / closing solenoid data, the first big prize opening / closing solenoid data, and the second big prize opening / closing solenoid data created in step S600.
The special symbol display device data and the normal symbol display device data created in S600 are used to turn on the LEDs of the first special symbol display device 20, the second special symbol display device 21 and the normal symbol display device 22. Display device output processing is performed.

ステップS710において、メインCPU110aは、メインRAM110cの送信データ用記憶領域にセットされている制御コマンドを中間制御部180へ送信するコマンド送信処理を行う。なお、ステップS710のコマンド送信処理においても、上記と同様に、検査値生成部500において、変換方式設定処理、検査値生成処理、ビット列変換処理、及びシフト量設定処理が行われるが、詳細については後述する。   In step S710, the main CPU 110a performs a command transmission process of transmitting a control command set in the transmission data storage area of the main RAM 110c to the intermediate control unit 180. Note that in the command transmission process in step S710 as well, the test value generation unit 500 performs the conversion method setting process, the test value generation process, the bit string conversion process, and the shift amount setting process, as described above. It will be described later.

ステップS800において、メインCPU110aは、ステップS100で退避した情報をメインCPU110aのレジスタに復帰させる。   In step S800, the main CPU 110a restores the information saved in step S100 to the register of the main CPU 110a.

次に、主制御部110の特図特電制御処理を説明する。
図12は、本実施形態に係る主制御部110による特図特電制御処理を示すフローチャートである。
Next, the special figure special electric control process of the main control unit 110 will be described.
FIG. 12 is a flowchart showing a special figure special power control process by the main control unit 110 according to the present embodiment.

ステップS301において、メインCPU110aは、特図特電処理データの値を読み込む。この「特図特電処理データ」は、特図特電制御処理の各サブルーチンが記憶された記憶領域のアドレスにそれぞれ割り当てられた値であり、特図特電処理データを参照することで、どのサブルーチンを処理するかを識別することができる。そして、特図特電処理データは、後述するように特図特電制御処理の各サブルーチンの中で必要に応じてセットされていき、その遊技において必要なサブルーチンが適宜処理されていくことになる。   In step S301, the main CPU 110a reads the value of the special figure special electricity processing data. This “Special Figure Special Electric Processing Data” is a value assigned to the address of the storage area in which each subroutine of the special figure special electric control process is stored, and which subroutine is processed by referring to the special figure special electric processing data. You can identify what to do. The special figure special electricity processing data is set as necessary in each subroutine of the special figure special electricity control processing as will be described later, and the subroutine necessary for the game is appropriately processed.

ステップS302において、メインCPU110aは、読み込んだ特図特電処理データから分岐アドレスを参照し、特図特電処理データ=0であれば特別図柄記憶判定処理(ステップS310)に処理を移し、特図特電処理データ=1であれば特別図柄変動処理(ステップS320)に処理を移し、特図特電処理データ=2であれば特別図柄停止処理(ステップS330)に処理を移し、特図特電処理データ=3であれば大当たり遊技処理(ステップS340)に処理を移し、特図特電処理データ=4であれば大当たり遊技終了処理(ステップS350)に処理を移し、特図特電処理データ=5であれば小当たり遊技処理(ステップS360)に処理を移す。   In step S302, the main CPU 110a refers to the branch address from the read special figure special processing data, and if special figure special electric treatment data = 0, the main CPU 110a moves the processing to the special symbol storage determination process (step S310). If data = 1, the process moves to the special symbol variation process (step S320), and if the special figure special electricity process data = 2, the process moves to the special symbol stop process (step S330), and the special figure special electricity process data = 3. If there is, the process is transferred to the jackpot game process (step S340). If the special figure special electric processing data = 4, the process is transferred to the jackpot game end process (step S350). The processing is moved to processing (step S360).

ステップS310の特別図柄記憶判定処理においては、メインCPU110aは、大当たり判定処理、停止表示する特別図柄の決定をする特別図柄決定処理、特別図柄の変動時間を決定する変動時間決定処理等を行う。ここで、図13を用いて、特別図柄記憶判定処理の具体的な内容を説明する。   In the special symbol memory determination process in step S310, the main CPU 110a performs a jackpot determination process, a special symbol determination process for determining a special symbol to be stopped and displayed, a variation time determination process for determining a variation time of the special symbol, and the like. Here, the specific content of the special symbol memory determination process will be described with reference to FIG.

図13は、本実施形態に係る主制御部110による特別図柄記憶判定処理におけるフローチャートである。   FIG. 13 is a flowchart in the special symbol memory determination process by the main control unit 110 according to the present embodiment.

ステップS311において、メインCPU110aは、第1特別図柄保留数(U1)記憶領域又は第2特別図柄保留数(U2)記憶領域に1以上のデータがセットされているか否かを判定する。
そして、第1特別図柄保留数(U1)記憶領域又は第2特別図柄保留数(U2)記憶領域のいずれの記憶領域にも1以上のデータがセットされていなければ、特図特電処理データ=0を保持したまま、今回の特別図柄変動処理を終了する。
一方、第1特別図柄保留数(U1)記憶領域又は第2特別図柄保留数(U2)記憶領域に1以上のデータがセットされていれば、ステップS312に処理を移す。
In step S311, the main CPU 110a determines whether one or more data is set in the first special symbol hold count (U1) storage area or the second special symbol hold count (U2) storage area.
If one or more data is not set in any storage area of the first special symbol hold count (U1) storage area or the second special symbol hold count (U2) storage area, the special figure special electricity processing data = 0. The special symbol variation process of this time is terminated while holding.
On the other hand, if one or more data is set in the first special symbol hold count (U1) storage area or the second special symbol hold count (U2) storage area, the process proceeds to step S312.

ステップS312において、メインCPU110aは、大当たり判定処理を行う。
具体的には、第2特別図柄保留数(U2)記憶領域に1以上のデータがセットされている場合には、第2特別図柄保留数(U2)記憶領域に記憶されている値から1を減算した後、第2特別図柄乱数値記憶領域にある第1記憶部〜第4記憶部に記憶された各種乱数値を1つ前の記憶部にシフトさせる。このとき、既に第0記憶部に書き込まれていた各種乱数値は上書きされて消去されることとなる。そして、大当たり判定テーブルを参照して、第2特別図柄乱数値記憶領域の第0記憶部に記憶された特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定を行う。
In step S312, the main CPU 110a performs a jackpot determination process.
Specifically, when one or more data is set in the second special symbol hold count (U2) storage area, 1 is calculated from the value stored in the second special symbol hold count (U2) storage area. After the subtraction, the various random numbers stored in the first to fourth storage units in the second special symbol random number storage area are shifted to the previous storage unit. At this time, various random values already written in the 0th storage unit are overwritten and deleted. Then, referring to the jackpot determination table, whether the special symbol determination random number value stored in the 0th storage unit of the second special symbol random value storage area is a random value corresponding to “big hit” or “small hit” It is determined whether it is a random value corresponding to.

また、第2特別図柄保留数(U2)記憶領域に1以上のデータがセットされておらず、第1特別図柄保留数(U1)記憶領域に1以上のデータがセットされている場合には、第1特別図柄保留数(U1)記憶領域に記憶されている値から1を減算した後、第1特別図柄乱数値記憶領域にある第1記憶部〜第4記憶部に記憶された各種乱数値を1つ前の記憶部にシフトさせる。このときにも、既に第0記憶部に書き込まれていた各種乱数値は上書きされて消去されることとなる。そして、大当たり判定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶された特別図柄判定用乱数値が「大当たり」に対応する乱数値であるか、「小当たり」に対応する乱数値であるかの判定を行う。   In addition, when one or more data is not set in the second special symbol hold number (U2) storage area and one or more data is set in the first special symbol hold number (U1) storage area, Various random numbers stored in the first to fourth storage units in the first special symbol random number storage area after subtracting 1 from the value stored in the first special symbol hold number (U1) storage area Is shifted to the previous storage unit. Also at this time, various random numbers already written in the 0th storage unit are overwritten and deleted. Then, referring to the jackpot determination table, whether the special symbol determination random number value stored in the 0th storage unit of the first special symbol random number storage area is a random value corresponding to “big hit” or “small hit” It is determined whether it is a random value corresponding to.

本実施形態では、第1特別図柄乱数値記憶領域よりも第2特別図柄乱数値記憶領域に記憶された乱数値が優先してシフト(消化)されることになる。しかしながら、始動口に入賞した順序で、第1特別図柄記憶領域又は第2特別図柄記憶領域をシフトさせてもよいし、第1特別図柄記憶領域を第2特別図柄記憶領域よりも優先させてシフトさせてもよい。   In the present embodiment, the random number value stored in the second special symbol random value storage area is shifted (digested) with priority over the first special symbol random value storage area. However, the first special symbol storage area or the second special symbol storage area may be shifted in the order of winning in the starting opening, and the first special symbol storage area is shifted with priority over the second special symbol storage area. You may let them.

ステップS313において、メインCPU110aは、停止表示する特別図柄の種類を決定するための特別図柄決定処理を行う。
この特別図柄決定処理では、上記大当たり判定処理(ステップS312)において「大当たり」と判定された場合には、図柄決定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶された大当たり図柄用乱数値に基づいて大当たり図柄(特別図柄1〜特別図柄6)を決定する。また、上記大当たり判定処理(ステップS312)において「小当たり」と判定された場合には、図柄決定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶された小当たり図柄用乱数値に基づいて小当たり図柄(特別図柄A、特別図柄B)を決定する。また、上記大当たり判定処理(ステップS312)において「ハズレ」と判定された場合には、図柄決定テーブルを参照して、ハズレ図柄(特別図柄0)を決定する。
そして、決定した特別図柄に対応する停止図柄データを停止図柄データ記憶領域に記憶する。
In step S313, the main CPU 110a performs a special symbol determination process for determining the type of special symbol to be stopped and displayed.
In this special symbol determination process, when it is determined as “big hit” in the jackpot determination process (step S312), the symbol determination table is referred to and stored in the 0th storage unit of the first special symbol random value storage area. The jackpot symbol (special symbol 1 to special symbol 6) is determined based on the random number value for the jackpot symbol. In addition, when it is determined as “small hit” in the jackpot determination process (step S312), the small hit stored in the 0th storage unit of the first special symbol random value storage area with reference to the symbol determination table Based on the symbol random number value, the small hit symbol (special symbol A, special symbol B) is determined. Further, when it is determined as “losing” in the jackpot determination process (step S312), the symbol determining table (special symbol 0) is determined with reference to the symbol determining table.
Then, stop symbol data corresponding to the determined special symbol is stored in the stop symbol data storage area.

ステップS314において、メインCPU110aは、特別図柄の変動時間決定処理を行う。
具体的には、変動パターン決定テーブルを参照して、第1特別図柄乱数値記憶領域の第0記憶部に記憶されたリーチ判定用乱数値及び特図変動用乱数値に基づいて、特別図柄の変動パターンを決定する。その後、決定した特別図柄の変動パターンに対応する特別図柄の変動時間を決定する。そして、決定した特別図柄の変動時間に対応するカウンタを特別図柄時間カウンタにセットする処理を行う。
In step S314, the main CPU 110a performs special symbol variation time determination processing.
Specifically, referring to the variation pattern determination table, based on the reach determination random number value and the special diagram variation random value stored in the 0th storage unit of the first special symbol random value storage area, the special symbol Determine the variation pattern. Thereafter, the variation time of the special symbol corresponding to the determined variation pattern of the special symbol is determined. Then, a process of setting a counter corresponding to the determined variation time of the special symbol in the special symbol time counter is performed.

ステップS315において、メインCPU110aは、第1特別図柄表示装置20又は第2特別図柄表示装置21に特別図柄の変動表示(LEDの点滅)を行わせるための変動表示データを所定の処理領域にセットする。これにより、所定の処理領域に変動表示データがセットされていると、上記ステップS600でLEDの点灯又は消灯のデータが適宜作成され、作成されたデータがステップS700において出力されることで、第1特別図柄表示装置20又は第2特別図柄表示装置21の変動表示が行われる。
更に、メインCPU110aは、特別図柄の変動表示が開始されるときに、上記ステップS314で決定された特別図柄の変動パターンに対応する特別図柄の変動パターン指定コマンド(第1特別図柄用変動パターン指定コマンド又は第2特別図柄用変動パターン指定コマンド)をメインRAM110cの送信データ用記憶領域にセットする。
In step S315, the main CPU 110a sets variable display data for causing the first special symbol display device 20 or the second special symbol display device 21 to perform variable symbol display (LED blinking) in a predetermined processing area. . As a result, when the variable display data is set in the predetermined processing area, the LED lighting / extinguishing data is appropriately created in step S600, and the created data is output in step S700. Variation display of the special symbol display device 20 or the second special symbol display device 21 is performed.
Further, the main CPU 110a, when the special symbol variation display is started, the special symbol variation pattern designation command (the first special symbol variation pattern designation command) corresponding to the special symbol variation pattern determined in step S314. Alternatively, a second special symbol variation pattern designation command) is set in the transmission data storage area of the main RAM 110c.

ステップS316において、メインCPU110aは、特図特電処理データ=0から特図特電処理データ=1にセットして、特別図柄変動処理のサブルーチンに移す準備を行い、特別図柄記憶判定処理を終了する。   In step S316, the main CPU 110a sets the special symbol special electricity processing data = 0 to the special symbol special electric treatment data = 1, prepares to move to the special symbol variation processing subroutine, and ends the special symbol memory determination processing.

再び、図12に示す特図特電制御処理について説明を戻すことにする。
ステップS320の特別図柄変動処理においては、メインCPU110aは、特別図柄の変動時間が経過したか否かを判定する処理を行う。
具体的には、ステップS314で決定された特別図柄の変動時間が経過したか(特別図柄時間カウンタ=0)否かを判定し、特別図柄の変動時間が経過していないと判定した場合には、特図特電処理データ=1を保持したまま、今回の特別図柄変動処理を終了する。なお、上記ステップS314でセットされた特別図柄の変動時間のカウンタは、上記ステップS110において減算処理されていく。
Again, the description of the special figure special electric control process shown in FIG. 12 will be returned.
In the special symbol variation process of step S320, the main CPU 110a performs a process of determining whether or not the special symbol variation time has elapsed.
Specifically, it is determined whether or not the variation time of the special symbol determined in step S314 has elapsed (special symbol time counter = 0), and if it is determined that the variation time of the special symbol has not elapsed The special symbol variation process is terminated while the special symbol special electricity processing data = 1 is held. Note that the special symbol variation time counter set in step S314 is subtracted in step S110.

特別図柄の変動時間が経過したと判定すれば、上記ステップS313で決定された特別図柄を第1特別図柄表示装置20又は第2特別図柄表示装置21に停止表示させる。これにより、第1特別図柄表示装置20又は第2特別図柄表示装置21に特別図柄が停止表示され、遊技者に大当たりの判定結果が報知されることとなる。
また、時短回数(J)>0のときには時短回数(J)カウンタから1を減算して更新し、時短回数(J)=0となれば、時短遊技フラグをクリアし、高確率遊技回数(X)>0のときには高確率遊技回数(X)カウンタから1を減算して更新し、高確率遊技回数(X)=0となれば、高確率遊技フラグをクリアする。
最後に、特図特電処理データ=1から特図特電処理データ=2にセットして、特別図柄停止処理のサブルーチンに移す準備を行い、特別図柄変動処理を終了する。
If it is determined that the variation time of the special symbol has elapsed, the special symbol determined in step S313 is stopped and displayed on the first special symbol display device 20 or the second special symbol display device 21. Thereby, the special symbol is stopped and displayed on the first special symbol display device 20 or the second special symbol display device 21, and the player is notified of the jackpot determination result.
Also, when the number of time reduction (J)> 0, 1 is subtracted from the time reduction (J) counter and updated. When the number of time reduction (J) = 0, the time reduction game flag is cleared and the number of high probability games (X )> 0 is updated by subtracting 1 from the high probability game number (X) counter, and if the high probability game number (X) = 0, the high probability game flag is cleared.
Finally, the special symbol special power processing data = 1 is set to the special symbol special power processing data = 2, preparation is made to move to a special symbol stop processing subroutine, and the special symbol variation processing is terminated.

ステップS330の特別図柄停止処理においては、メインCPU110aは、停止表示された特別図柄が「大当たり図柄」であるか、「小当たり図柄」であるか、「ハズレ図柄」であるかを判定する処理を行う。
そして、大当たり図柄と判定された場合には、遊技状態記憶領域に記憶されているデータを参照し、現在の遊技状態を示すデータ(00H〜03H)を遊技状態バッファにセットする。その後に、遊技状態記憶領域(高確率遊技フラグ記憶領域等及び時短遊技フラグ記憶領域)に記憶されているデータ(高確率遊技フラグと時短遊技フラグ)、高確率遊技回数(X)カウンタ、時短回数(J)カウンタをクリアする。更に、特図特電処理データ=2から特図特電処理データ=3にセットして、大当たり遊技処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
In the special symbol stop process in step S330, the main CPU 110a performs a process of determining whether the special symbol that is stopped and displayed is a “big hit symbol”, a “small bonus symbol”, or a “losing symbol”. Do.
If it is determined that the game is a jackpot symbol, the data stored in the gaming state storage area is referred to and data (00H to 03H) indicating the current gaming state is set in the gaming state buffer. Thereafter, data (high probability game flag and short time game flag) stored in the game state storage area (high probability game flag storage area and the like and short time game flag storage area), high probability game number (X) counter, short time number (J) Clear the counter. Further, the special figure special power processing data = 2 is set to the special figure special electric processing data = 3, preparation is made to move to the jackpot game processing subroutine, and the special symbol stop processing is terminated.

また、小当たり図柄と判定された場合には、遊技状態記憶領域に記憶されているデータはクリアせずに、特図特電処理データ=2から特図特電処理データ=5にセットして、小当たり遊技処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
一方、ハズレ図柄と判定された場合には、特図特電処理データ=2から特図特電処理データ=0にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、特別図柄停止処理を終了する。
In addition, when it is determined that the small winning symbol, the data stored in the game state storage area is not cleared, and the special figure special electric processing data = 2 to the special figure special electric treatment data = 5 is set. The special symbol stop process is completed by making preparations for transferring to a winning game process subroutine.
On the other hand, if it is determined that the symbol is a lost symbol, the special symbol special electric processing data = 2 is set to special special electric symbol processing data = 0, and the special symbol memory determination processing subroutine is prepared for the special symbol stop processing. finish.

ステップS340の大当たり遊技処理においては、メインCPU110aは、上記長当たり又は短当たりのいずれの大当たりを実行させるかを決定し、決定した大当たりを制御する処理を行う。
具体的には、まず、特別電動役物作動態様決定テーブルを参照し、上記ステップS313で決定された大当たり図柄の種類(停止図柄データ)に基づいて、大当たりの開放態様を決定する。
In the jackpot game process of step S340, the main CPU 110a determines which jackpot of the long hit or short hit is to be executed, and performs a process of controlling the determined jackpot.
Specifically, first, with reference to the special electric accessory operating mode determination table, the jackpot release mode is determined based on the type of jackpot symbol (stop symbol data) determined in step S313.

次に、決定した大当たりの開放態様を実行させるために、大入賞口開放態様テーブルを参照し、大当たりの種類に応じた開放時間を特別遊技タイマカウンタにセットすると共に、第1大入賞口開閉ソレノイド16c(又は第2大入賞口開閉ソレノイド17c)の駆動データを出力して第1大入賞口開閉扉16b(又は第2大入賞口開閉扉17b)を開放させる。このとき、ラウンド遊技回数(R)記憶領域に1を加算する。
この開放中に規定個数の遊技球が入球するか、大入賞口の開放時間が経過すると(大入賞口入球数(C)=9又は特別遊技タイマカウンタ=0である)と、第1大入賞口開閉ソレノイド16c(又は第2大入賞口開閉ソレノイド17c)の駆動データの出力を停止して第1大入賞口開閉扉16b(又は第2大入賞口開閉扉17b)を閉鎖させる。これにより、1回のラウンド遊技が終了する。このラウンド遊技の制御を繰り返し15回行う。
Next, in order to execute the determined jackpot opening mode, the bonus game opening mode table is referred to, the opening time corresponding to the type of jackpot is set in the special game timer counter, and the first jackpot opening / closing solenoid The drive data of 16c (or the second big prize opening / closing solenoid 17c) is outputted to open the first big prize opening / closing door 16b (or the second big prize opening / closing door 17b). At this time, 1 is added to the round game count (R) storage area.
When a specified number of game balls enter during the opening or when the opening time of the grand prize opening has elapsed (the number of the big prize opening (C) = 9 or the special game timer counter = 0), The output of the drive data of the big prize opening / closing solenoid 16c (or the second big prize opening / closing solenoid 17c) is stopped, and the first big prize opening / closing door 16b (or the second big prize opening / closing door 17b) is closed. Thereby, one round game is completed. This round game control is repeated 15 times.

15回のラウンド遊技が終了すると(ラウンド遊技回数(R)=15)、ラウンド遊技回数(R)記憶領域及び大入賞口入球数(C)記憶領域に記憶されているデータをクリアすると共に、特図特電処理データ=3から特図特電処理データ=4にセットして、大当たり遊技終了処理のサブルーチンに移す準備を行い、大当たり遊技処理を終了する。   When the 15 round games are completed (round game count (R) = 15), the data stored in the round game count (R) storage area and the number of winning prize entrance (C) storage areas are cleared, The special figure special electric processing data = 3 is set to the special figure special electric treatment data = 4, preparation is made to move to the big hit game end processing subroutine, and the big hit game processing is ended.

ステップS350の大当たり遊技終了処理においては、メインCPU110aは、高確率遊技状態又は低確率遊技状態のいずれかの確率遊技状態を決定すると共に、時短遊技状態又は非時短遊技状態のいずれかの遊技状態を決定する処理を行う。
具体的には、大当たり遊技終了時設定データテーブルを参照し、遊技状態バッファに記憶されているデータと上記ステップS313で決定された大当たり図柄の種類(停止図柄データ)とに基づいて、高確率遊技フラグの設定、高確率遊技回数(X)の設定、時短遊技フラグの設定、時短回数(J)の設定を行う。例えば、特別図柄1であれば、高確率遊技フラグ記憶領域に高確率遊技フラグをセットし、高確率遊技回数(X)カウンタに10000回をセットする。更に、時短遊技フラグ記憶領域に時短遊技フラグをセットし、時短回数(J)カウンタにも10000回をセットする。
その後、特図特電処理データ=4から特図特電処理データ=0にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、大当たり遊技終了処理を終了する。
In the jackpot game ending process in step S350, the main CPU 110a determines the probability game state of either the high probability game state or the low probability game state, and changes the game state of either the short-time game state or the non-short-time game state. Perform the decision process.
Specifically, with reference to the jackpot game end setting data table, based on the data stored in the game state buffer and the type of jackpot symbol (stop symbol data) determined in step S313, the high probability game A flag is set, a high probability game count (X) is set, a short-time game flag is set, and a short-time count (J) is set. For example, in the case of the special symbol 1, the high probability game flag is set in the high probability game flag storage area, and the high probability game number (X) counter is set to 10,000 times. Further, the time-shortage game flag is set in the time-shortage game flag storage area, and the time-shortage number (J) counter is set to 10,000 times.
After that, the special symbol special power processing data = 4 is set to the special symbol special power processing data = 0, preparation is made to move to a special symbol memory determination processing subroutine, and the jackpot game end processing is terminated.

ステップS360の小当たり遊技処理においては、メインCPU110aは、まず、特別電動役物作動態様決定テーブルを参照し、上記ステップS313で決定された小当たり図柄の種類(停止図柄データ)に基づいて、小当たりの開放態様を決定する。
次に、決定した小当たりの開放態様を実行させるために、大入賞口開放態様テーブルを参照し、小当たりの開放時間を特別遊技タイマカウンタにセットすると共に、第2大入賞口開閉ソレノイド17cの駆動データを出力して第2大入賞口開閉扉17bを開放させる。このとき、開放回数(K)記憶領域に1を加算する。
小当たりの開放時間が経過する(特別遊技タイマカウンタ=0)と、第2大入賞口開閉ソレノイド17cの駆動データの出力を停止して第2大入賞口開閉扉17bを閉鎖させる。この第2大入賞口開閉扉17bの開閉制御を繰り返し15回行う。
In the small hit game process of step S360, the main CPU 110a first refers to the special electric accessory operation mode determination table, and based on the type of small hit symbol (stop symbol data) determined in step S313 above, Determine the opening mode.
Next, in order to execute the determined small winning opening mode, the large winning opening opening mode table is referred to, the small winning opening time is set in the special game timer counter, and the second large winning port opening / closing solenoid 17c is set. The drive data is output to open the second big prize opening / closing door 17b. At this time, 1 is added to the number-of-releases (K) storage area.
When the small winning opening time elapses (special game timer counter = 0), the drive data output of the second big prize opening / closing solenoid 17c is stopped and the second big prize opening / closing door 17b is closed. The opening / closing control of the second big prize opening opening / closing door 17b is repeated 15 times.

そして、第2大入賞口開閉扉17bの開閉制御が15回行われるか、第2大入賞口17に規定個数の遊技球が入球する(開放回数(K)=15又は大入賞口入球数(C)=9である)と、小当たり遊技を終了させるため、第2大入賞口開閉ソレノイド17cの駆動データの出力を停止させ、開放回数(K)記憶領域及び大入賞口入球数(C)記憶領域に記憶されているデータをクリアすると共に、特図特電処理データ=5から特図特電処理データ=0にセットして、特別図柄記憶判定処理のサブルーチンに移す準備を行い、小当たり遊技処理を終了する。   Then, the opening / closing control of the second grand prize opening / closing door 17b is performed 15 times, or a predetermined number of game balls enter the second big prize opening 17 (the number of times of opening (K) = 15 or the grand prize opening entrance) Number (C) = 9), in order to end the small hit game, the output of the driving data of the second large winning opening / closing solenoid 17c is stopped, and the number of times of opening (K) storage area and the number of winning winning openings (C) Clear the data stored in the storage area, set special figure special electricity processing data = 5 to special figure special electricity treatment data = 0, and prepare to move to the special symbol memory judgment processing subroutine. The winning game process is terminated.

[主制御部の認証処理に関する制御処理]
これより、本発明の実施形態に係る遊技機1の主制御部110の認証処理に関する制御処理について説明する。まず、主制御部110のブート処理について説明する。
図14は、本実施形態に係る主制御部110によるブート処理を示すフローチャートである。なお、図14(a)に示すブート処理1は、メインCPU110aにて行われる処理であり、図14(b)に示すブート処理2は、検査値生成部500にて行われる処理である。
[Control processing related to authentication processing of the main control unit]
Hereafter, the control process regarding the authentication process of the main control part 110 of the gaming machine 1 according to the embodiment of the present invention will be described. First, the boot process of the main control unit 110 will be described.
FIG. 14 is a flowchart showing a boot process by the main control unit 110 according to the present embodiment. 14A is a process performed by the main CPU 110a, and the boot process 2 illustrated in FIG. 14B is a process performed by the inspection value generation unit 500.

遊技機1に電源が投入されると、主制御部110にシステムリセットが発生し、メインCPU110aは、ブートROM110dに予め記憶されたブート処理用プログラムに基づいて、ブート処理1として、以下のステップS51〜ステップS54に示す処理を行う。   When the gaming machine 1 is turned on, a system reset occurs in the main control unit 110, and the main CPU 110a performs the following step S51 as the boot process 1 based on the boot process program stored in the boot ROM 110d in advance. The process shown in step S54 is performed.

ステップS51において、メインCPU110aは、内部状態を割込禁止に設定する。
ステップS52において、メインCPU110aは、自身の初期化後、メインCPU110a自身が正常に作動可能かどうかを確認する自己診断処理を行う。自己診断処理の結果、正常に作動可能であればステップS53に処理を移し、正常に作動可能でなければ、その後の処理を行わない。
In step S51, the main CPU 110a sets the internal state to interrupt prohibition.
In step S52, the main CPU 110a performs a self-diagnosis process for checking whether or not the main CPU 110a itself can operate normally after initialization. As a result of the self-diagnosis process, if the normal operation is possible, the process proceeds to step S53.

ステップS53において、メインCPU110aは、内蔵レジスタや周辺回路等への初期値設定処理を行う。具体的には、メインCPU110aは、スタックポインタにスタックポイント指定アドレスを設定し、内蔵レジスタ及び周辺回路等の初期化、入出力ポートの初期化を行う。そして、メインCPU110aは、初期値を必要とするこれらの内蔵レジスタや周辺回路等へ各種の初期値を設定する。このとき、メインCPU110aは、検査値生成部500の各構成部に対しても同様の処理を施して、検査値生成部500に対する初期値設定処理を行う。   In step S53, the main CPU 110a performs an initial value setting process for a built-in register, a peripheral circuit, and the like. Specifically, the main CPU 110a sets a stack point designation address in the stack pointer, initializes built-in registers and peripheral circuits, and initializes input / output ports. The main CPU 110a sets various initial values in these built-in registers and peripheral circuits that require initial values. At this time, the main CPU 110a performs the same process on each component of the inspection value generation unit 500 to perform an initial value setting process on the inspection value generation unit 500.

ステップS54において、メインCPU110aは、検査値生成部500に対してHWパラメータ設定処理を行う。具体的には、メインCPU110aは、検査値生成部500に対するHWパラメータを読み出すための読み出し信号、及びメインROM110bのHWパラメータが記憶された記憶領域を指定するアドレスデータを内部バス400に送出する。そして、メインCPU110aは、当該読み出し信号によりメインROM110bから出力されたHWパラメータを、内部バス400から取り込む。   In step S54, the main CPU 110a performs HW parameter setting processing on the inspection value generation unit 500. Specifically, the main CPU 110a sends to the internal bus 400 a read signal for reading the HW parameters for the test value generation unit 500 and address data for designating a storage area in which the HW parameters of the main ROM 110b are stored. Then, the main CPU 110a takes in the HW parameters output from the main ROM 110b by the read signal from the internal bus 400.

続いて、メインCPU110aは、取り込んだHWパラメータを検査値生成部500の決定手段540へ書き込むための書き込み信号、及び決定手段540の決定回路542を指定するアドレスデータを内部バス400に送出する。また、メインCPU110aは、取り込んだHWパラメータを生成手段520へ書き込むための書き込み信号、及び生成手段520のビット列変換回路を担うシフト量制御部525c及びリセット判定回路528をそれぞれ指定するアドレスデータを内部バス400に送出する。本処理を終了すると、ブート処理1が終了する。   Subsequently, the main CPU 110 a sends to the internal bus 400 a write signal for writing the fetched HW parameter to the determination unit 540 of the test value generation unit 500 and address data specifying the determination circuit 542 of the determination unit 540. Further, the main CPU 110a sends a write signal for writing the fetched HW parameter to the generation unit 520, and address data for designating the shift amount control unit 525c and the reset determination circuit 528 that are responsible for the bit string conversion circuit of the generation unit 520, respectively. 400. When this process ends, the boot process 1 ends.

なお、ステップS54のHWパラメータ設定処理は、メインCPU110aが行う初期値設定処理の中でも、検査値生成部500にHWパラメータを設定する処理を特筆したものであるため、初期値設定処理の一環として、ステップS53の中で行うように構成することも可能である。   Note that the HW parameter setting process in step S54 is a special feature of the process of setting the HW parameter in the test value generation unit 500 among the initial value setting processes performed by the main CPU 110a. Therefore, as part of the initial value setting process, It is also possible to configure so as to be performed in step S53.

検査値生成部500では、メインCPU110aの上記書き込み信号の入力に基づいて、メインCPU110aから送出されたHWパラメータを内部バス400から取り込む。そして、決定手段540の決定回路542、並びに、生成手段520のビット列変換回路525を担うシフト量制御部525c及びリセット判定回路528へHWパラメータをセットする。そして、検査値生成部500は、メインCPU110aからセットされたHWパラメータに基づいて、ブート処理2として、以下のステップS61〜ステップS65に示す処理を行う。   The inspection value generation unit 500 takes in the HW parameters sent from the main CPU 110a from the internal bus 400 based on the input of the write signal from the main CPU 110a. Then, the HW parameter is set to the determination circuit 542 of the determination unit 540 and the shift amount control unit 525c and the reset determination circuit 528 that are responsible for the bit string conversion circuit 525 of the generation unit 520. And the test value production | generation part 500 performs the process shown to the following steps S61-S65 as the boot process 2 based on the HW parameter set from the main CPU110a.

ステップS61において、検査値生成部500は、変更条件設定処理を行う。具体的には、決定手段540の決定回路542は、セットされたHWパラメータが、予め用意された複数の変更条件のうち、どの変更条件に対応した値であるかを確認する。そして、決定回路542は、セットされたHWパラメータに対応する変更条件を、デフォルトの変更条件として変更条件記憶領域(CC)にセットする。そして、決定回路542は、変更条件記憶領域(CC)にセットされた変更条件を、決定手段540の判定回路541にセットする。   In step S61, the inspection value generation unit 500 performs a change condition setting process. Specifically, the determination circuit 542 of the determination unit 540 confirms to which change condition the set HW parameter corresponds to a change condition among a plurality of change conditions prepared in advance. Then, the determination circuit 542 sets the change condition corresponding to the set HW parameter in the change condition storage area (CC) as a default change condition. Then, the determination circuit 542 sets the change condition set in the change condition storage area (CC) in the determination circuit 541 of the determination unit 540.

これによって、決定手段540は、コマンド送信処理の際に、取得手段510から出力された制御コマンドが変更条件を満たす制御コマンドであるか否かの判定を行うことができ、判定結果に応じた変換方式設定処理を行うことができる。   Accordingly, the determination unit 540 can determine whether or not the control command output from the acquisition unit 510 is a control command that satisfies the change condition during the command transmission process, and the conversion according to the determination result. System setting processing can be performed.

ステップS62において、検査値生成部500は、更新タイミング条件設定処理を行う。具体的には、生成手段520のビット列変換回路525を担うシフト量制御部525cは、セットされたHWパラメータが、予め用意された複数の更新タイミング条件のうち、どの更新タイミング条件に対応した値であるかを確認する。そして、シフト量制御部525cは、セットされたHWパラメータに対応する更新タイミング条件を、デフォルトの条件として更新タイミング条件記憶領域(UT)にセットする。そして、シフト量制御部525cは、更新タイミング条件記憶領域(UT)にセットされた更新タイミング条件によって、シフト量Aを更新するものとする。   In step S62, the inspection value generation unit 500 performs an update timing condition setting process. Specifically, the shift amount control unit 525c responsible for the bit string conversion circuit 525 of the generation unit 520 determines that the set HW parameter has a value corresponding to which update timing condition among a plurality of update timing conditions prepared in advance. Check if it exists. Then, the shift amount control unit 525c sets the update timing condition corresponding to the set HW parameter in the update timing condition storage area (UT) as a default condition. Then, it is assumed that the shift amount control unit 525c updates the shift amount A according to the update timing condition set in the update timing condition storage area (UT).

ステップS63において、検査値生成部500は、リセット条件設定処理を行う。具体的には、生成手段520のリセット判定回路528は、セットされたHWパラメータが、予め用意されたシフト量Aに係る複数のリセット条件のうち、どのリセット条件に対応した値であるかを確認する。そして、リセット判定回路528は、セットされたHWパラメータに対応するリセット条件を、デフォルトの条件としてリセット条件記憶領域(RC)にセットする。そして、リセット判定回路528は、リセット条件記憶領域(RC)にセットされたリセット条件によって、シフト量Aリセット信号を出力するものとする。   In step S63, the inspection value generation unit 500 performs a reset condition setting process. Specifically, the reset determination circuit 528 of the generation unit 520 confirms which reset condition the set HW parameter corresponds to among the plurality of reset conditions related to the shift amount A prepared in advance. To do. Then, the reset determination circuit 528 sets a reset condition corresponding to the set HW parameter in the reset condition storage area (RC) as a default condition. The reset determination circuit 528 outputs a shift amount A reset signal according to the reset condition set in the reset condition storage area (RC).

ステップS64において、検査値生成部500は、変換方式設定処理を行う。具体的には、決定手段540の決定回路542は、予め取り決められたデフォルトの変換方式である変換方式Aを示す変換方式情報を、デフォルトの値として変換方式情報記憶領域(CM)にセットする。そして、決定回路542は、変換方式情報記憶領域(CM)にセットされた値に基づいて、生成手段520のビット列変換回路525を担う複数のローテート演算器のうちのローテート演算器525aでビット列変換処理が施された誤り検査値が出力されるように、生成手段520の制御回路523へ変換方式制御信号を出力する。生成手段520の制御回路523は、当該変換方式制御信号に対応する入力選択信号を入力選択回路524へ出力する。   In step S64, the inspection value generation unit 500 performs conversion method setting processing. Specifically, the determination circuit 542 of the determination unit 540 sets the conversion method information indicating the conversion method A, which is the default conversion method determined in advance, in the conversion method information storage area (CM) as a default value. Based on the value set in the conversion method information storage area (CM), the determination circuit 542 performs the bit string conversion process by the rotation calculator 525a among the plurality of rotate calculators that bear the bit string conversion circuit 525 of the generation unit 520. The conversion method control signal is output to the control circuit 523 of the generation unit 520 so that the error check value subjected to is output. The control circuit 523 of the generation unit 520 outputs an input selection signal corresponding to the conversion method control signal to the input selection circuit 524.

ステップS65において、検査値生成部500は、シフト量設定処理を行う。具体的には、生成手段520の制御回路523は、上記変換方式制御信号の入力に基づいて、ビット列変換回路525を担うシフト量制御部525cへシフト量設定制御信号を出力する。ビット列変換回路525を担うシフト量制御部525cは、制御回路523から出力された当該シフト量設定制御信号の入力に基づいて、ビット列変換回路525を担うローテート演算器525aに対してシフト量A設定信号を出力し、シフト量記憶領域(S)に記憶されたデフォルトのシフト量Aをローテート演算器525aに設定する。また、シフト量制御部525cは、制御回路523から出力された当該シフト量設定制御信号の入力に基づいて、ビット列変換回路525を担うローテート演算器525bに対してシフト量B設定信号を出力し、シフト量記憶領域(S)に記憶されたデフォルトのシフト量Bをローテート演算器525bに設定する。   In step S65, the inspection value generation unit 500 performs a shift amount setting process. Specifically, the control circuit 523 of the generation unit 520 outputs a shift amount setting control signal to the shift amount control unit 525c that takes charge of the bit string conversion circuit 525 based on the input of the conversion method control signal. Based on the input of the shift amount setting control signal output from the control circuit 523, the shift amount control unit 525c responsible for the bit string conversion circuit 525 sends a shift amount A setting signal to the rotate computing unit 525a responsible for the bit string conversion circuit 525. And the default shift amount A stored in the shift amount storage area (S) is set in the rotate calculator 525a. In addition, the shift amount control unit 525c outputs a shift amount B setting signal to the rotate computing unit 525b responsible for the bit string conversion circuit 525 based on the input of the shift amount setting control signal output from the control circuit 523, The default shift amount B stored in the shift amount storage area (S) is set in the rotate calculator 525b.

これによって、生成手段520は、ビット列変換処理の際に、変換方式情報記憶領域(CM)に記憶された変換方式情報に対応したローテート演算器によってビットローテート演算が行われた誤り検査値を保存回路526へ出力することができる。更に、当該誤り検査値を、シフト量記憶領域(S)に記憶されたシフト量を用いてビットローテート演算が行われたことによってビット列が変換された誤り検査値とすることができる。このとき、シフト量記憶領域(S)に記憶されたシフト量Aは、リセット条件記憶領域(RC)に記憶されたリセット条件で再設定される。そして、メインCPU110aは、ブート処理後のコマンド送信処理では、検査値付加処理を実行する場合、当該変換方式及び当該シフト量でビット列が変換された誤り検査値を、制御コマンドへ付加することができる。本処理を終了すると、ブート処理2が終了する。   Accordingly, the generation unit 520 saves the error check value that has been subjected to the bit rotation operation by the rotation operation unit corresponding to the conversion method information stored in the conversion method information storage area (CM) during the bit string conversion process. 526 can be output. Further, the error check value can be an error check value obtained by converting the bit string by performing the bit rotation operation using the shift amount stored in the shift amount storage area (S). At this time, the shift amount A stored in the shift amount storage area (S) is reset with the reset condition stored in the reset condition storage area (RC). In the command transmission process after the boot process, the main CPU 110a can add the error check value obtained by converting the bit string with the conversion method and the shift amount to the control command when executing the check value addition process. . When this process ends, the boot process 2 ends.

次に、主制御部110のコマンド送信処理について説明する。
図15は、本実施形態に係る主制御部110におけるコマンド送信処理1を示すフローチャートである。図16は、本実施形態に係る主制御部110におけるコマンド送信処理2を示すフローチャートである。図17は、本実施形態に係る主制御部110におけるコマンド送信処理3を示すフローチャートである。
Next, command transmission processing of the main control unit 110 will be described.
FIG. 15 is a flowchart showing the command transmission process 1 in the main control unit 110 according to the present embodiment. FIG. 16 is a flowchart showing command transmission processing 2 in the main control unit 110 according to the present embodiment. FIG. 17 is a flowchart showing the command transmission process 3 in the main control unit 110 according to the present embodiment.

なお、図15に示すコマンド送信処理1は、メインCPU110aにて行われる処理である。また、図16に示すコマンド送信処理2は、メインCPU110aから内部バス400を介して送信部550へ送出データ(制御コマンド又は誤り検査値)が送出された際に、検査値生成部500にて行われる処理である。また、図17に示すコマンド送信処理3は、メインCPU110aが検査値付加処理を行う際に、検査値生成部500にて行われる処理であり、図15のステップS77に示すメインCPU110aの処理に応答して行われるものである。   The command transmission process 1 shown in FIG. 15 is a process performed by the main CPU 110a. Also, the command transmission process 2 shown in FIG. 16 is performed by the inspection value generation unit 500 when transmission data (control command or error inspection value) is transmitted from the main CPU 110a to the transmission unit 550 via the internal bus 400. Process. The command transmission process 3 shown in FIG. 17 is a process performed by the test value generation unit 500 when the main CPU 110a performs the test value addition process, and responds to the process of the main CPU 110a shown in step S77 of FIG. It is done.

まず、図15を用いて、コマンド送信処理1について説明する。
メインCPU110aは、メインROM110bから「MODE」の情報と「DATA」の情報とを読み出して制御コマンドを生成し、メインRAM110cの送信データ用記憶領域にセットする。そして、メインCPU110aは、コマンド送信処理1として、以下のステップS71〜ステップS78に示す処理を行う。
First, the command transmission process 1 will be described with reference to FIG.
The main CPU 110a reads "MODE" information and "DATA" information from the main ROM 110b, generates a control command, and sets it in the transmission data storage area of the main RAM 110c. Then, the main CPU 110a performs the process shown in the following steps S71 to S78 as the command transmission process 1.

ステップS71において、メインCPU110aは、メインRAM110cの送出個数記憶領域(P)の値を1加算して更新する。
ステップS72において、メインCPU110aは、送信データ用記憶領域にセットされた制御コマンド(P)が制御コマンド(1)に該当するか否かを判定する。具体的には、メインCPU110aは、送出個数記憶領域(P)の値を参照し、P=1であるか否かを判定する。P=1であれば、ステップS73に処理を移し、P=1でなければ、ステップS75に処理を移す。
In step S71, the main CPU 110a updates the transmission number storage area (P) of the main RAM 110c by adding 1.
In step S72, the main CPU 110a determines whether or not the control command (P) set in the transmission data storage area corresponds to the control command (1). Specifically, the main CPU 110a refers to the value of the sending number storage area (P) and determines whether P = 1. If P = 1, the process proceeds to step S73, and if P = 1, the process proceeds to step S75.

ステップS73において、メインCPU110aは、メインROM110bに記憶されている固有情報を読み出す。
ステップS74において、メインCPU110aは、読み出した固有情報を内部バス400を介して検査値生成部500へ送出し、読み出した固有情報を、検査値生成部500の生成手段520を担う格納回路522の初期設定値として設定する。このとき、検査値生成部500では、メインCPU110aが送出した固有情報は、取得手段510によって内部バス400から取り込まれ、生成手段520へ出力される。そして、取得手段510から出力された固有情報は、生成手段520によって格納回路522を担う各格納回路(P−1)〜(P−N)へ格納される。
In step S73, the main CPU 110a reads the unique information stored in the main ROM 110b.
In step S 74, the main CPU 110 a sends the read unique information to the inspection value generation unit 500 via the internal bus 400, and the read unique information is stored in the initial stage of the storage circuit 522 serving as the generation unit 520 of the inspection value generation unit 500. Set as a setting value. At this time, in the inspection value generation unit 500, the unique information sent from the main CPU 110 a is taken in from the internal bus 400 by the acquisition unit 510 and output to the generation unit 520. Then, the unique information output from the acquisition unit 510 is stored in each of the storage circuits (P-1) to (P-N) serving as the storage circuit 522 by the generation unit 520.

ステップS75において、メインCPU110aは、送信データ用記憶領域にセットされた制御コマンド(P)を送信部550へ書き込む。具体的には、メインCPU110aは、内部バス400のデータバス400aに制御コマンド(P)、アドレスバス400bに送信部550を指定するアドレスデータ、制御バス400cに制御コマンド(P)の書き込み信号を送出する。   In step S75, the main CPU 110a writes the control command (P) set in the transmission data storage area to the transmission unit 550. Specifically, the main CPU 110a sends a control command (P) to the data bus 400a of the internal bus 400, address data designating the transmission unit 550 to the address bus 400b, and a write signal of the control command (P) to the control bus 400c. To do.

送信部550では、メインCPU110aから送出された制御コマンド(P)の書き込み信号と、送信部550を指定するアドレスデータとが入力されると、データバス400aから制御コマンド(P)を送信バッファ551に取り込み、取り込んだ制御コマンド(P)を送信回路552へ受け渡して中間制御部180へ送信する。   In the transmission unit 550, when the control command (P) write signal sent from the main CPU 110a and the address data designating the transmission unit 550 are input, the control command (P) is sent from the data bus 400a to the transmission buffer 551. The captured control command (P) is transferred to the transmission circuit 552 and transmitted to the intermediate control unit 180.

ステップS76において、メインCPU110aは、今回のコマンド送信処理が、送信する制御コマンド(P)に誤り検査値を付加するタイミングであるか否かを判断する。誤り検査値を付加するタイミングであるか否かの判断は、遊技処理用プログラムに認証処理用プログラムの呼び出し命令が記述されているか否かによって行われる。メインCPU110aは、今回のコマンド送信処理が、制御コマンド(P)に誤り検査値を付加するタイミングであれば、ステップS77に処理を移し、誤り検査値を付加するタイミングでなければ、コマンド送信処理1を終了する。   In step S76, the main CPU 110a determines whether or not the current command transmission process is a timing for adding an error check value to the transmitted control command (P). It is determined whether or not it is time to add the error check value depending on whether or not a call instruction for the authentication processing program is described in the game processing program. The main CPU 110a moves the process to step S77 if the current command transmission process is the timing for adding the error check value to the control command (P), and the command transmission process 1 if it is not the timing for adding the error check value. Exit.

メインCPU110aは、送信部550に書き込んだ制御コマンド(P)に誤り検査値を付加するタイミングであれば、検査値付加処理として、以下のステップS77〜ステップS78に示す処理を行う。
ステップS77において、メインCPU110aは、検査値生成部500から誤り検査値を読み出す。具体的には、メインCPU110aは、内部バス400のアドレスバス400bに検査値生成部500の生成手段520を担う送出回路527を指定するアドレスデータ、制御バス400cに誤り検査値の読み出し信号を送出する。
The main CPU 110a performs the processing shown in the following steps S77 to S78 as the check value addition processing at the timing for adding the error check value to the control command (P) written in the transmission unit 550.
In step S77, the main CPU 110a reads an error check value from the check value generation unit 500. Specifically, the main CPU 110a sends the address data specifying the sending circuit 527 responsible for the generating means 520 of the check value generating unit 500 to the address bus 400b of the internal bus 400 and the error check value read signal to the control bus 400c. .

検査値生成部500では、メインCPU110aの上記読み出し信号の入力に基づいて、予め保存回路526に保存しておいた誤り検査値をメインCPU110aへ送出する処理を行う。この処理について、図17を用いて後述する。そして、メインCPU110aは、検査値生成部500から読み出した誤り検査値(P−N)をデータバス400aから取り込み、メインRAM110cの送信データ用記憶領域にセットし、ステップS78に処理を移す。   The check value generation unit 500 performs processing for sending the error check value stored in the storage circuit 526 in advance to the main CPU 110a based on the input of the read signal from the main CPU 110a. This process will be described later with reference to FIG. Then, the main CPU 110a fetches the error check value (PN) read from the check value generation unit 500 from the data bus 400a, sets it in the transmission data storage area of the main RAM 110c, and moves the process to step S78.

ステップS78において、メインCPU110aは、送信データ用記憶領域にセットされた誤り検査値(P−N)を送信部550へ書き込む。具体的には、メインCPU110aは、内部バス400のデータバス400aに誤り検査値(P−N)、アドレスバス400bに送信部550を指定するアドレスデータ、制御バス400cに誤り検査値を書き込むための書き込み信号を送出する。本処理を終了すると、コマンド送信処理1が終了する。   In step S78, the main CPU 110a writes the error check value (PN) set in the transmission data storage area to the transmission unit 550. Specifically, the main CPU 110a writes the error check value (PN) to the data bus 400a of the internal bus 400, the address data designating the transmission unit 550 to the address bus 400b, and the error check value to the control bus 400c. Send a write signal. When this process ends, the command transmission process 1 ends.

送信部550では、メインCPU110aから送出された誤り検査値(P−N)の書き込み信号と、送信部550を指定するアドレスデータとが入力されると、データバス400aから誤り検査値(P−N)を送信バッファ551に取り込み、取り込んだ誤り検査値(P−N)を送信回路552へ受け渡して中間制御部180へ送信する。   In the transmission unit 550, when an error check value (PN) write signal sent from the main CPU 110a and address data designating the transmission unit 550 are input, an error check value (PN) is transmitted from the data bus 400a. ) In the transmission buffer 551, the fetched error check value (PN) is transferred to the transmission circuit 552 and transmitted to the intermediate control unit 180.

なお、ステップS78において、メインCPU110aが、誤り検査値(P−N)を送信部550へ書き込むタイミングは、タイマ割込処理の実行周期内で、且つ、制御コマンド(P)が送信バッファ551へ書き込み完了されるまでに要する時間が経過した後に、誤り検査値(P−N)の送信バッファ551への書き込みが開始されるようなタイミングに設定する。これによって、誤り検査値(P−N)が送信バッファ551へ書き込まれるタイミングは、送信バッファ551に書き込まれる制御コマンド(P)の直後に連続して誤り検査値(P−N)が書き込まれるようなタイミングとなる。   In step S78, the timing at which the main CPU 110a writes the error check value (PN) to the transmission unit 550 is within the execution period of the timer interrupt process, and the control command (P) is written to the transmission buffer 551. The timing is set such that writing of the error check value (PN) to the transmission buffer 551 is started after the time required for completion has elapsed. As a result, the error check value (PN) is written into the transmission buffer 551 so that the error check value (PN) is written immediately after the control command (P) written in the transmission buffer 551. The timing will be right.

誤り検査値の送信部550への書き込みタイミングを上記のように設定することで、送信バッファ551のオーバーランやアンダーラン等が発生し、送信する制御コマンド(P)に対して付加するべき誤り検査値(P−N)が適切に付加されなくなる虞れを抑止することができる。このことが、中間制御部180での誤り検査処理の際に、実際に付加されて送信された誤り検査値が本来付加するべき誤り検査値と整合していないことに起因して誤り検査処理の検査結果が正常と判定されなくなる虞れを抑止し、誤り検査処理の確度を向上させることができる。   By setting the write timing of the error check value to the transmission unit 550 as described above, an overrun or underrun of the transmission buffer 551 occurs, and an error check to be added to the control command (P) to be transmitted The possibility that the value (P−N) is not appropriately added can be suppressed. This is because the error check value actually added and transmitted during the error check process in the intermediate control unit 180 is not consistent with the error check value to be originally added. It is possible to suppress a possibility that the inspection result is not determined to be normal, and to improve the accuracy of the error inspection process.

また、誤り検査値の送信部550への書き込みタイミングを上記のように設定することで、今回付加するべき誤り検査値(P−N)の送信バッファ551への書き込みタイミングと、制御コマンド(P)の送信バッファ551への書き込みタイミングの時間軸上の位置関係が明確化され、誤り検査値(P−N)は制御コマンド(P)の直後に確実に付加され、一つの送信データとして送信されることとなる。これにより、誤り検査値(P−N)が、誤り検査値(P−N)単体で中間制御部180へ送信されることがない。よって、不正者が、主制御部110と中間制御部180の間の送信データを窃取して、誤り検査値(P−N)を再利用することが困難となり、遊技機1のセキュリティ強度を向上することができる。   In addition, by setting the write timing of the error check value to the transmission unit 550 as described above, the write timing of the error check value (PN) to be added this time to the transmission buffer 551 and the control command (P) The positional relationship on the time axis of the write timing to the transmission buffer 551 is clarified, and the error check value (PN) is reliably added immediately after the control command (P) and transmitted as one transmission data. It will be. Thereby, the error check value (PN) is not transmitted to the intermediate control unit 180 as a single error check value (PN). Therefore, it becomes difficult for an unauthorized person to steal transmission data between the main control unit 110 and the intermediate control unit 180 and reuse the error check value (PN), and the security strength of the gaming machine 1 is improved. can do.

次に、図16を用いて、コマンド送信処理2について説明する。
検査値生成部500は、図15のコマンド送信処理1において、メインCPU110aから内部バス400を介して送信部550へ送出データ(制御コマンド又は誤り検査値)が送出された際に、コマンド送信処理2として、以下のステップS81〜ステップS95に示す処理を行う。
Next, the command transmission process 2 will be described with reference to FIG.
In the command transmission process 1 of FIG. 15, the test value generation unit 500 receives the command transmission process 2 when transmission data (control command or error check value) is transmitted from the main CPU 110 a to the transmission unit 550 via the internal bus 400. As shown in FIG.

ステップS81において、検査値生成部500は、メインCPU110aから送信部550へ送出データ(制御コマンド又は誤り検査値)が書き込まれたか否かを判断する。具体的には、検査値生成部500の取得手段510は、メインCPU110aから送信部550へ送出された書き込み信号が、内部バス400の制御バス400cから取得手段510の制御回路512へも入力されたか否かを判断する。制御回路512は、当該書き込み信号が入力されるまで待機し、当該書き込み信号が入力されると、ステップS82に処理を移す。
ステップS82において、検査値生成部500は、メインCPU110aが送信部550へ送出した送出データを内部バス400のデータバス400aから取り込む。具体的には、取得手段510の制御回路512は、上記書き込み信号の入力に基づいて、データバス400aに送出された送出データを、取得手段510のデータ判別回路511が取り込むよう作動させるための作動許可信号を出力する。データ判別回路511は、当該作動許可信号の入力に基づいて、データバス400aから当該送出データを取り込む。
In step S81, the test value generation unit 500 determines whether transmission data (control command or error check value) has been written from the main CPU 110a to the transmission unit 550. Specifically, the acquisition unit 510 of the test value generation unit 500 has received a write signal sent from the main CPU 110 a to the transmission unit 550 and also input from the control bus 400 c of the internal bus 400 to the control circuit 512 of the acquisition unit 510. Judge whether or not. The control circuit 512 waits until the write signal is input, and when the write signal is input, the process proceeds to step S82.
In step S <b> 82, the test value generation unit 500 takes in the transmission data transmitted from the main CPU 110 a to the transmission unit 550 from the data bus 400 a of the internal bus 400. Specifically, the control circuit 512 of the acquisition unit 510 operates to cause the data determination circuit 511 of the acquisition unit 510 to capture the transmission data transmitted to the data bus 400a based on the input of the write signal. Output permission signal. The data discriminating circuit 511 takes in the transmission data from the data bus 400a based on the input of the operation permission signal.

ステップS83において、検査値生成部500は、取り込んだ送出データが制御コマンド(P)であるか否かを判別する。具体的には、取得手段510のデータ判別回路511は、内部バス400のデータバス400aから取り込んだ送出データのビットパターンが制御コマンド(P)を示すものであるか否かを判別する。そして、データ判別回路511は、取り込んだ送出データのビットパターンが制御コマンド(P)を示すものであれば、ステップS85に処理を移し、取り込んだ送出データのビットパターンが制御コマンド(P)を示すものでなければ、ステップS84に処理を移す。
ステップS84において、検査値生成部500は、取り込んだ送出データを破棄する。具体的には、取得手段510のデータ判別回路511は、取り込んだ送出データが制御コマンド(P)でなければ、当該送出データを破棄し、コマンド送信処理2を終了する。なお、この場合の送出データは、メインCPU110aが検査値付加処理を行い、送信部550へ書き込むためにデータバス400aへ送出した誤り検査値となる。
In step S83, the test value generation unit 500 determines whether or not the fetched transmission data is a control command (P). Specifically, the data determination circuit 511 of the acquisition unit 510 determines whether or not the bit pattern of the transmission data fetched from the data bus 400a of the internal bus 400 indicates a control command (P). If the bit pattern of the fetched transmission data indicates the control command (P), the data discrimination circuit 511 moves to step S85, and the bit pattern of the fetched transmission data indicates the control command (P). If not, the process proceeds to step S84.
In step S84, the test value generation unit 500 discards the fetched transmission data. Specifically, if the fetched transmission data is not a control command (P), the data determination circuit 511 of the acquisition unit 510 discards the transmission data and ends the command transmission process 2. Note that the transmission data in this case is an error check value sent to the data bus 400a for the main CPU 110a to perform a check value addition process and write it to the transmission unit 550.

ステップS85において、検査値生成部500は、取り込んだ制御コマンド(P)を検査値生成部500内部の決定手段540及び生成手段520へ出力する。具体的には、取得手段510の制御回路512は、メインCPU110aから送出された上記書き込み信号の入力から所定時間遅延して、データ判別回路511へ作動許可信号を出力する。データ判別回路511は、当該作動許可信号の入力に基づいて、取り込んだ制御コマンド(P)を決定手段540及び生成手段520へ出力する。続いて、制御回路512は、データ判別回路511から出力された制御コマンドが、決定手段540及び生成手段520で入力可能となるよう、これらの手段に対して作動許可信号を出力する。   In step S85, the inspection value generation unit 500 outputs the acquired control command (P) to the determination unit 540 and the generation unit 520 inside the inspection value generation unit 500. Specifically, the control circuit 512 of the acquisition unit 510 outputs an operation permission signal to the data determination circuit 511 after a predetermined time delay from the input of the write signal sent from the main CPU 110a. The data determination circuit 511 outputs the captured control command (P) to the determination unit 540 and the generation unit 520 based on the input of the operation permission signal. Subsequently, the control circuit 512 outputs an operation permission signal to these means so that the control command output from the data determination circuit 511 can be input by the determination means 540 and the generation means 520.

ステップS86において、検査値生成部500は、取り込んだ制御コマンド(P)が変更条件を満たす制御コマンドであるか否かを判定する。具体的には、決定手段540の判定回路541は、取得手段510の制御回路512から出力された作動許可信号の入力に基づいて、当該制御コマンド(P)が、所定の制御コマンド群のうち最初に生成される制御コマンド、及び、所定の制御コマンド群の生成が終了した後に最初に生成される制御コマンドのいずれかに該当するか否かを判定する。判定回路541は、制御コマンド(P)が、当該いずれかに該当する制御コマンドであれば、取得手段510から出力された制御コマンド(P)が変更条件を満たす制御コマンドであることを示す判定結果信号を決定回路542へ出力し、ステップS87に処理を移す。一方、判定回路541は、制御コマンド(P)が、当該いずれかに該当する制御コマンドでなければ、取得手段510から出力された制御コマンド(P)が変更条件を満たす制御コマンドでないことを示す判定結果信号を決定回路542へ出力し、ステップS88に処理を移す。   In step S86, the inspection value generation unit 500 determines whether or not the fetched control command (P) is a control command that satisfies the change condition. Specifically, the determination circuit 541 of the determination unit 540 determines that the control command (P) is the first in a predetermined control command group based on the input of the operation permission signal output from the control circuit 512 of the acquisition unit 510. It is determined whether or not any of the control command generated at the first time and the control command generated first after the generation of the predetermined control command group is completed. The determination circuit 541 determines that the control command (P) output from the acquisition unit 510 is a control command satisfying the change condition if the control command (P) is a control command corresponding to one of the control commands. The signal is output to the determination circuit 542, and the process proceeds to step S87. On the other hand, the determination circuit 541 determines that the control command (P) output from the acquisition unit 510 is not a control command that satisfies the change condition unless the control command (P) is a control command corresponding to any of the above. The result signal is output to the decision circuit 542, and the process proceeds to step S88.

ステップS87において、検査値生成部500は、誤り検査値のビット列を変換する際に用いる変換方式を変更する。具体的には、決定手段540の決定回路542は、変換方式を変更するべく、変換方式情報記憶領域(CM)に記憶された変換方式情報を示すCMの値を変更する。具体的には、決定回路542は、変換方式情報を示すCMの値を予め取り決められた変更方式に従って変更し、変更後の変換方式情報を示すCMの値であるCM’を変換方式情報記憶領域(CM)へ記憶する。そして、決定回路542は、変更後の変換方式を生成手段520へ設定するべく、変換方式情報記憶領域(CM)に記憶された変更後のCM’の値に基づく変換方式制御信号を、生成手段520の制御回路523へ出力する。   In step S87, the check value generation unit 500 changes the conversion method used when converting the bit string of the error check value. Specifically, the determination circuit 542 of the determination unit 540 changes the CM value indicating the conversion method information stored in the conversion method information storage area (CM) in order to change the conversion method. Specifically, the decision circuit 542 changes the CM value indicating the conversion method information in accordance with a predetermined change method, and sets CM ′, which is the CM value indicating the changed conversion method information, as a conversion method information storage area. Store in (CM). Then, the determination circuit 542 generates a conversion method control signal based on the changed CM ′ value stored in the conversion method information storage area (CM) so as to set the changed conversion method in the generation unit 520. It outputs to the control circuit 523 of 520.

生成手段520の制御回路523は、決定回路542から出力された変換方式制御信号に基づいて、生成手段520のビット列変換回路525を担う複数のローテート演算器のうちの特定のローテート演算器と生成手段520の入力選択回路524との接続のみを有効とする入力選択信号を、入力選択回路524へ出力する。入力選択回路524は、当該入力選択信号に基づいて、特定のローテート演算器との接続の設定を行う。生成手段520は、入力選択回路524へ当該入力選択信号が入力されることで、変更後の変換方式に応じた当該特定のローテート演算器でビット列が変換された誤り検査値が、入力選択回路524を介して保存回路526に保存可能となる。また、生成手段520の制御回路523は、決定回路542から出力された当該変換方式制御信号の入力に基づいて、ビット列変換回路525を担うシフト量制御部525cへシフト量設定制御信号を出力する。これによって、シフト量制御部525cは、所定の動作モードの期間が開始又は終了したことを検知することができる。   The control circuit 523 of the generation unit 520 is based on the conversion method control signal output from the determination circuit 542, and the specific rotation arithmetic unit and the generation unit among the plurality of rotation arithmetic units responsible for the bit string conversion circuit 525 of the generation unit 520 An input selection signal that enables only the connection with the input selection circuit 524 of 520 is output to the input selection circuit 524. Based on the input selection signal, the input selection circuit 524 sets a connection with a specific rotation calculator. When the input selection signal is input to the input selection circuit 524, the generation unit 520 converts the error check value obtained by converting the bit string by the specific rotation arithmetic unit according to the conversion method after the change into the input selection circuit 524. The data can be stored in the storage circuit 526 via In addition, the control circuit 523 of the generation unit 520 outputs a shift amount setting control signal to the shift amount control unit 525c that takes charge of the bit string conversion circuit 525 based on the input of the conversion method control signal output from the determination circuit 542. Accordingly, the shift amount control unit 525c can detect that the period of the predetermined operation mode has started or ended.

ステップS88において、検査値生成部500は、取り込んだ制御コマンド(P)がリセット条件を満たす制御コマンドであるか否かを判定する。具体的には、生成手段520のリセット判定回路528は、制御回路523から出力された作動許可信号の入力に基づいて、当該制御コマンド(P)が、所定の制御コマンド群以外の制御コマンドの中から予め定められた制御コマンドに該当するか否かを判定する。リセット判定回路528は、制御コマンド(P)が、当該予め定められた制御コマンドに該当すれば、シフト量Aリセット信号をビット列変換回路525へ出力し、ステップS89に処理を移す。一方、リセット判定回路528は、制御コマンド(P)が、当該予め定められた制御コマンドに該当しなければ、シフト量Aリセット信号を出力せずに、ステップS90に処理を移す。   In step S88, the test value generation unit 500 determines whether or not the fetched control command (P) is a control command that satisfies the reset condition. Specifically, the reset determination circuit 528 of the generation unit 520 determines that the control command (P) is a control command other than a predetermined control command group based on the input of the operation permission signal output from the control circuit 523. To determine whether or not a predetermined control command is satisfied. If the control command (P) corresponds to the predetermined control command, the reset determination circuit 528 outputs a shift amount A reset signal to the bit string conversion circuit 525, and proceeds to step S89. On the other hand, if the control command (P) does not correspond to the predetermined control command, the reset determination circuit 528 proceeds to step S90 without outputting the shift amount A reset signal.

ステップS89において、検査値生成部500は、シフト量Aを再設定する。具体的には、生成手段520のビット列変換回路525を担うシフト量制御部525cは、リセット判定回路528から出力されたシフト量Aリセット信号の入力に基づいて、シフト量記憶領域(S)に記憶されたシフト量Aに、予め用意された所定の設定値を上書きして記憶する。そして、シフト量制御部525cは、シフト量A設定信号をローテート演算器525aに出力し、シフト量記憶領域(S)に記憶された上書き後のシフト量Aをローテート演算器525aに設定する。ビット列変換回路525では、再設定後のシフト量Aを用いた変換方式Aでビット列変換処理が施された誤り検査値が、入力選択回路524を介して保存回路526に保存可能となる。   In step S89, the inspection value generation unit 500 resets the shift amount A. Specifically, the shift amount control unit 525c responsible for the bit string conversion circuit 525 of the generation unit 520 stores the shift amount in the shift amount storage area (S) based on the input of the shift amount A reset signal output from the reset determination circuit 528. A predetermined set value prepared in advance is overwritten and stored in the shift amount A. Then, the shift amount control unit 525c outputs a shift amount A setting signal to the rotate calculator 525a, and sets the overwritten shift amount A stored in the shift amount storage area (S) in the rotate calculator 525a. In the bit string conversion circuit 525, the error check value subjected to the bit string conversion processing by the conversion method A using the reset shift amount A can be stored in the storage circuit 526 via the input selection circuit 524.

ステップS90において、検査値生成部500は、取り込んだ制御コマンド(P)を格納すると共に、過去に格納しておいた制御コマンド(P−N)を内部の生成回路521へ出力する。具体的には、生成手段520の制御回路523は、取得手段510の制御回路512から出力された作動許可信号の入力に基づいて、格納回路522へシフト処理信号を出力する。格納回路522は、制御回路523から出力されたシフト処理信号の入力に基づいて、各格納回路(P−1)〜(P−N)のうち、最終段の格納回路(P−N)から、当該格納回路に格納しておいた制御コマンド(P−N)を、生成回路521へ出力する。これと共に、格納回路522は、格納回路(P−1)〜(P−N)に格納された各制御コマンドを次段へ順次シフトすると共に、取得手段510のデータ判別回路511から出力された制御コマンド(P)を初段の格納回路(P−1)に新たに取り込んで格納する。   In step S90, the test value generation unit 500 stores the acquired control command (P) and outputs the control command (PN) stored in the past to the internal generation circuit 521. Specifically, the control circuit 523 of the generation unit 520 outputs a shift processing signal to the storage circuit 522 based on the input of the operation permission signal output from the control circuit 512 of the acquisition unit 510. Based on the input of the shift processing signal output from the control circuit 523, the storage circuit 522, from among the storage circuits (P-1) to (PN), from the storage circuit (PN) at the final stage, The control command (PN) stored in the storage circuit is output to the generation circuit 521. At the same time, the storage circuit 522 sequentially shifts the control commands stored in the storage circuits (P-1) to (PN) to the next stage and controls the data output from the data determination circuit 511 of the acquisition unit 510. The command (P) is newly fetched and stored in the first stage storage circuit (P-1).

ステップS91において、検査値生成部500は、過去に格納しておいた制御コマンド(P−N)を用いて誤り検査値(P−N)を生成して内部のビット列変換回路525へ出力する。具体的には、生成手段520の生成回路521は、生成手段520の制御回路523から出力された作動許可信号の入力に基づいて、格納回路522から出力された制御コマンド(P−N)を取り込む。そして、生成回路521は、取り込んだ制御コマンド(P−N)を用いて、予め設定された生成方式で誤り検査値(P−N)を生成し、ビット列変換回路525へ出力する。   In step S91, the check value generation unit 500 generates an error check value (PN) using the control command (PN) stored in the past, and outputs the error check value (PN) to the internal bit string conversion circuit 525. Specifically, the generation circuit 521 of the generation unit 520 takes in the control command (PN) output from the storage circuit 522 based on the input of the operation permission signal output from the control circuit 523 of the generation unit 520. . Then, the generation circuit 521 generates an error check value (PN) by a preset generation method using the fetched control command (PN), and outputs the error check value (PN) to the bit string conversion circuit 525.

ステップS92において、検査値生成部500は、生成した誤り検査値(P−N)に対してビット列変換処理を施し、内部の入力選択回路524を介して保存回路526へ出力する。具体的には、生成手段520のビット列変換回路525を担うローテート演算器525aは、生成回路521から出力された誤り検査値(P−N)を取り込んで、取り込んだ誤り検査値(P−N)のビット列に予め設定されたシフト量Aでビットローテート演算を行う。そして、ローテート演算器525aは、シフト量Aでビットローテート演算が行われた誤り検査値(P−N)を、変換方式Aでビット列変換処理が施された誤り検査値(P−N)として、入力選択回路524へ出力する。また、ビット列変換回路525のローテート演算器525bは、生成回路521から出力された誤り検査値(P−N)を取り込んで、取り込んだ誤り検査値(P−N)のビット列に予め設定されたシフト量Bでビットローテート演算を行う。そして、ローテート演算器525bは、シフト量Bでビットローテート演算が行われた誤り検査値(P−N)を、変換方式Bでビット列変換処理が施された誤り検査値(P−N)として、入力選択回路524及びシフト量制御部525cへ出力する。   In step S <b> 92, the check value generation unit 500 performs bit string conversion processing on the generated error check value (PN), and outputs it to the storage circuit 526 via the internal input selection circuit 524. Specifically, the rotation calculator 525a that takes charge of the bit string conversion circuit 525 of the generation unit 520 takes in the error check value (PN) output from the generation circuit 521, and takes in the error check value (PN). The bit rotation calculation is performed with a shift amount A set in advance in the bit string. Then, the rotation calculator 525a uses the error check value (PN) that has been subjected to the bit rotation calculation with the shift amount A as the error check value (PN) that has been subjected to the bit string conversion processing by the conversion method A. The data is output to the input selection circuit 524. In addition, the rotation calculator 525b of the bit string conversion circuit 525 takes in the error check value (PN) output from the generation circuit 521, and shifts a preset bit string of the fetched error check value (PN). A bit rotate operation is performed with the quantity B. Then, the rotation calculator 525b uses the error check value (PN) that has been subjected to the bit rotation calculation with the shift amount B as the error check value (PN) that has been subjected to the bit string conversion processing by the conversion method B. The data is output to the input selection circuit 524 and the shift amount control unit 525c.

ステップS93において、検査値生成部500は、ビット列が変換された誤り検査値(P−N)を保存する。具体的には、生成手段520の入力選択回路524は、制御回路523から出力された入力選択信号に基づいて、ローテート演算器525a、525bのいずれかとの接続のみを有効に作動させている。よって、ビット列変換回路525は、入力選択回路524との接続が有効に作動された特定のローテート演算器から出力された誤り検査値のみを、ビット列が変換された誤り検査値(P−N)として保存回路526へ出力する。保存回路526は、ビット列変換回路525から入力選択回路524を介して出力された当該ビット列が変換された誤り検査値(P−N)を保存する。   In step S93, the check value generation unit 500 stores the error check value (PN) obtained by converting the bit string. Specifically, the input selection circuit 524 of the generation unit 520 effectively operates only the connection with any one of the rotation calculators 525a and 525b based on the input selection signal output from the control circuit 523. Therefore, the bit string conversion circuit 525 uses only the error check value output from the specific rotation operator whose connection with the input selection circuit 524 is effectively operated as the error check value (PN) obtained by converting the bit string. The data is output to the storage circuit 526. The storage circuit 526 stores the error check value (PN) obtained by converting the bit string output from the bit string conversion circuit 525 via the input selection circuit 524.

ステップS94において、検査値生成部500は、シフト量の更新タイミングか否かを判断する。具体的には、生成手段520のビット列変換回路525を担うシフト量制御部525cは、制御回路523から出力されたシフト量設定制御信号の入力に基づいて、所定の動作モードの期間の開始又は終了を検知し、現在が所定の動作モードの期間中であるか否かを判断する。そして、シフト量制御部525cは、現在が所定の動作モードの期間が開始した時点であれば、現在はシフト量A及びシフト量Bを更新するタイミングであると判断し、ステップS95に処理を移す。また、シフト量制御部525cは、現在が所定の動作モードの期間中の時点であれば、現在はシフト量Bのみを更新するタイミングであると判断し、ステップS95に処理を移す。また、シフト量制御部525cは、現在が所定の動作モードの期間が終了した時点であれば、現在はシフト量Bの更新を中止するタイミングであると判断し、ステップS95に処理を移す。一方、シフト量制御部525cは、現在が所定の動作モードの期間が開始又は終了した時点、若しくは現在が所定の動作モードの期間中の時点でなければ、現在はシフト量を更新するタイミングではないと判断し、コマンド送信処理2を終了する。   In step S94, the inspection value generation unit 500 determines whether or not it is a shift amount update timing. Specifically, the shift amount control unit 525c responsible for the bit string conversion circuit 525 of the generation unit 520 starts or ends the period of the predetermined operation mode based on the input of the shift amount setting control signal output from the control circuit 523. Is detected, and it is determined whether or not the present operation is in a predetermined operation mode. Then, the shift amount control unit 525c determines that it is time to update the shift amount A and the shift amount B at the time when the current period of the predetermined operation mode starts, and moves the process to step S95. . In addition, if the current time is during the predetermined operation mode, the shift amount control unit 525c determines that it is now the time to update only the shift amount B, and moves the process to step S95. In addition, the shift amount control unit 525c determines that the current timing is when the update of the shift amount B is stopped if the current operation period ends, and the process proceeds to step S95. On the other hand, the shift amount control unit 525c is not currently at the timing to update the shift amount unless it is the time when the current period of the predetermined operation mode starts or ends, or the current time is not during the period of the predetermined operation mode. The command transmission process 2 is terminated.

ステップS95において、検査値生成部500は、シフト量の制御を行う。具体的には、生成手段520のビット列変換回路525を担うシフト量制御部525cは、現在が所定の動作モードの期間が開始した時点であれば、シフト量A及びシフト量Bを更新する。すなわち、シフト量制御部525cは、シフト量Aに係るシフト量設定処理として、ローテート演算器525bから出力された誤り検査値に基づいて、シフト量記憶領域(S)に記憶されたシフト量Aの値を、シフト量Aに係る所定の更新方式に従って更新する。そして、シフト量制御部525cは、シフト量A設定信号をローテート演算器525aに出力し、シフト量記憶領域(S)に記憶された更新後のシフト量Aをローテート演算器525aに設定する。また、シフト量制御部525cは、シフト量Bに係るシフト量設定処理として、乱数値を取得し、これを用いてシフト量記憶領域(S)に記憶されたシフト量Bの値を更新する。そして、シフト量制御部525cは、シフト量B設定信号をローテート演算器525bに出力し、シフト量記憶領域(S)に記憶された更新後のシフト量Bをローテート演算器525bに設定する。   In step S95, the inspection value generation unit 500 controls the shift amount. Specifically, the shift amount control unit 525c responsible for the bit string conversion circuit 525 of the generation unit 520 updates the shift amount A and the shift amount B when the current period of the predetermined operation mode starts. That is, the shift amount control unit 525c performs the shift amount setting process related to the shift amount A based on the error check value output from the rotate computing unit 525b and the shift amount A stored in the shift amount storage area (S). The value is updated according to a predetermined update method related to the shift amount A. Then, the shift amount control unit 525c outputs a shift amount A setting signal to the rotate calculator 525a, and sets the updated shift amount A stored in the shift amount storage area (S) in the rotate calculator 525a. In addition, the shift amount control unit 525c acquires a random value as a shift amount setting process related to the shift amount B, and updates the value of the shift amount B stored in the shift amount storage area (S) using the random number value. Then, the shift amount control unit 525c outputs a shift amount B setting signal to the rotate calculator 525b, and sets the updated shift amount B stored in the shift amount storage area (S) in the rotate calculator 525b.

また、シフト量制御部525cは、現在が所定の動作モードの期間中の時点であれば、シフト量Bのみを更新する。すなわち、シフト量制御部525cは、シフト量Bに係るシフト量設定処理として、乱数値を取得してシフト量記憶領域(S)に記憶されたシフト量Bの値を更新し、シフト量B設定信号を出力して更新後のシフト量Bをローテート演算器525bに設定する。また、シフト量制御部525cは、現在が所定の動作モードの期間が終了した時点であれば、シフト量Bの更新を行わずに、ローテート演算器525bから出力された誤り検査値を破棄する。本処理を終了すると、コマンド送信処理2が終了する。   In addition, the shift amount control unit 525c updates only the shift amount B if the current time is during the predetermined operation mode. That is, as the shift amount setting process for the shift amount B, the shift amount control unit 525c acquires a random number value, updates the value of the shift amount B stored in the shift amount storage area (S), and sets the shift amount B. A signal is output and the updated shift amount B is set in the rotate calculator 525b. In addition, the shift amount control unit 525c discards the error check value output from the rotation computing unit 525b without updating the shift amount B when the current period of the predetermined operation mode ends. When this process ends, the command transmission process 2 ends.

なお、ステップS90の処理は、ステップS85からステップS91までの間に行われていればよく、ステップS89の直後に行われる必要はない。また、ステップS88及びステップS89の処理は、ステップS85からステップS92までの間に行われていればよく、ステップS87の直後に行われる必要はない。   Note that the process of step S90 only needs to be performed between step S85 and step S91, and need not be performed immediately after step S89. Moreover, the process of step S88 and step S89 should just be performed between step S85 to step S92, and does not need to be performed immediately after step S87.

次に、図17を用いて、コマンド送信処理3について説明する。
検査値生成部500は、図15のコマンド送信処理1において、メインCPU110aが検査値付加処理を行う際に、メインCPU110aから送出された誤り検査値の読み出し信号に応答し、コマンド送信処理3として、以下のステップS101〜ステップS103に示す処理を行う。
Next, the command transmission process 3 will be described with reference to FIG.
In the command transmission process 1 in FIG. 15, the test value generation unit 500 responds to the error check value read signal sent from the main CPU 110 a when the main CPU 110 a performs the test value addition process. The following steps S101 to S103 are performed.

ステップS101において、検査値生成部500は、メインCPU110aから送出された誤り検査値の読み出し信号と、検査値生成部500の生成手段520を担う送出回路527を指定するアドレスデータとが入力されると、ステップS102に処理を移す。
ステップS102において、検査値生成部500の送出回路527は、保存回路526へ作動許可信号を出力し、保存回路526に保存された誤り検査値(P−N)を取り込む。
In step S <b> 101, the test value generation unit 500 receives an error check value read signal sent from the main CPU 110 a and address data designating the sending circuit 527 serving as the generation means 520 of the check value generation unit 500. Then, the process proceeds to step S102.
In step S <b> 102, the sending circuit 527 of the check value generation unit 500 outputs an operation permission signal to the storage circuit 526 and takes in the error check value (PN) stored in the storage circuit 526.

ステップS103において、検査値生成部500の送出回路527は、取り込んだ誤り検査値(P−N)をデータバス400aへ送出する。これにより、メインCPU110aでは、保存回路526に保存された誤り検査値(P−N)を取得することができる。なお、保存回路526に保存された誤り検査値(P−N)は、ビット列変換回路525によって変換方式A又は変換方式Bのいずれかでビット列が変換された誤り検査値であり、制御コマンド(P)には、変換方式A又は変換方式Bのいずれかでビット列が変換された誤り検査値(P−N)が付加されることとなる。本処理を終了すると、コマンド送信処理3が終了する。   In step S103, the sending circuit 527 of the check value generation unit 500 sends the fetched error check value (PN) to the data bus 400a. Thus, the main CPU 110a can acquire the error check value (PN) stored in the storage circuit 526. Note that the error check value (P−N) stored in the storage circuit 526 is an error check value obtained by converting the bit string by either the conversion method A or the conversion method B by the bit string conversion circuit 525, and the control command (P ) Is added with an error check value (PN) obtained by converting the bit string by either the conversion method A or the conversion method B. When this process ends, the command transmission process 3 ends.

[中間制御部の制御処理]
これより、本発明の実施形態に係る遊技機1の中間制御部180の制御処理について説明する。
図18は、本実施形態に係る中間制御部180によるメイン処理を示すフローチャートである。
[Control processing of intermediate control unit]
Hereafter, the control process of the intermediate control unit 180 of the gaming machine 1 according to the embodiment of the present invention will be described.
FIG. 18 is a flowchart showing main processing by the intermediate control unit 180 according to the present embodiment.

ステップS4010において、CPU180aは、初期化処理を行う。この処理において、CPU180aは、電源投入に応じて、ROM180bからメイン処理に関するプログラムコードを読み込む。これと共に、CPU180aは、RAM180cに記憶されるフラグなどを初期化し、設定値を設定する処理を行う。   In step S4010, the CPU 180a performs initialization processing. In this process, the CPU 180a reads a program code related to the main process from the ROM 180b in response to power-on. At the same time, the CPU 180a initializes a flag and the like stored in the RAM 180c and performs a process of setting a setting value.

なお、ステップS4010の中で、主制御部110の誤り検査値生成機能に対応した誤り検査値出力機能を、検査値生成部620へ設定する処理が行われる。すなわち、CPU180aは、主制御部110にてブート処理中に実行されるHWパラメータ設定処理、変更条件設定処理、更新タイミング条件設定処理、リセット条件設定処理、変換方式設定処理、及びシフト量設定処理と同様の処理を行う。その際、CPU180aは、決定部623でデフォルトの変換方式、シフト量Aに係る更新タイミング条件、及びシフト量Aに係るリセット条件を決定し、決定した変換方式、更新タイミング条件、及びリセット条件に応じてビット列変換部624の設定を行う。この処理が終了した場合には、ステップS4020へ処理を移す。   In step S4010, processing for setting an error check value output function corresponding to the error check value generation function of the main control unit 110 to the check value generation unit 620 is performed. That is, the CPU 180a performs the HW parameter setting process, the change condition setting process, the update timing condition setting process, the reset condition setting process, the conversion method setting process, and the shift amount setting process executed during the boot process in the main control unit 110. Similar processing is performed. At that time, the CPU 180a determines the default conversion method, the update timing condition related to the shift amount A, and the reset condition related to the shift amount A by the determination unit 623, and according to the determined conversion method, update timing condition, and reset condition. The bit string conversion unit 624 is set. If this process ends, the process moves to a step S4020.

ステップS4020において、CPU180aは、主制御部110から送信された制御コマンドを受信したか否かを判定する。
中間制御部180の受信部600では、主制御部110から送信された制御コマンドを受信し、自身の受信バッファに記憶すると、主制御部110から制御コマンドの受信割込要求があった旨を示す信号を出力し、制御コマンドの受信割込処理を発生させる。
そして、CPU180aは、ステップS4020において、受信部600からの上記受信割込要求信号が入力されるまで待機し、受信部600からの上記信号が入力されると、受信バッファに記憶されている制御コマンドに対して誤り検査処理を行う。具体的には、次のステップS4030からステップS4230の処理である。
In step S4020, CPU 180a determines whether or not the control command transmitted from main control unit 110 has been received.
When the reception unit 600 of the intermediate control unit 180 receives the control command transmitted from the main control unit 110 and stores it in its own reception buffer, it indicates that the main control unit 110 has received a control command reception interrupt request. A signal is output to generate a control command reception interrupt process.
In step S4020, the CPU 180a waits until the reception interrupt request signal from the reception unit 600 is input. When the signal from the reception unit 600 is input, the CPU 180a stores the control command stored in the reception buffer. Error check processing is performed on Specifically, it is the process of the next step S4030 to step S4230.

ステップS4030において、CPU180aは、制御コマンドの受信割込要求があった旨を示す信号が受信部600から出力されると、RAM180cの受信個数記憶領域(P)の値を更新する。
ステップS4040において、CPU180aは、受信部600の受信バッファに記憶された制御コマンド(P)が制御コマンド(1)に該当するか否かを判定する。具体的には、CPU180aは、受信個数記憶領域(P)の値を参照し、P=1であるか否かを判定する。P=1であれば、ステップS4050に処理を移し、P=1でなければ、ステップS4070に処理を移す。
In step S4030, when a signal indicating that a control command reception interrupt request has been made is output from the reception unit 600, the CPU 180a updates the value of the reception number storage area (P) of the RAM 180c.
In step S4040, the CPU 180a determines whether or not the control command (P) stored in the reception buffer of the reception unit 600 corresponds to the control command (1). Specifically, the CPU 180a refers to the value of the received number storage area (P) and determines whether P = 1. If P = 1, the process proceeds to step S4050, and if P = 1, the process proceeds to step S4070.

ステップS4050において、CPU180aは、ROM180bに記憶されている固有情報を読み出す。そして、CPU180aは、読み出した固有情報を検査値生成部620へ出力する。
ステップS4060において、CPU180aは、検査値生成部620へ出力された固有情報を検査値生成部620内の格納部622にて格納し、初期設定値として設定する。
In step S4050, the CPU 180a reads unique information stored in the ROM 180b. Then, the CPU 180a outputs the read unique information to the inspection value generation unit 620.
In step S4060, the CPU 180a stores the unique information output to the inspection value generation unit 620 in the storage unit 622 in the inspection value generation unit 620, and sets it as an initial setting value.

ステップS4070において、CPU180aは、受信部600の受信バッファに記憶された制御コマンド(P)に誤り検査値が付加されているか否かを判断する。CPU180aは、例えば、誤り検査値が付加されたことでデータ長が増加したか否か、又は誤り検査値が付加されたことを識別する識別ビットの有無などで、制御コマンド(P)に誤り検査値が付加されているか否かを判断することができる。CPU180aは、受信部600の受信バッファに記憶された制御コマンド(P)に誤り検査値が付加されていれば、ステップS4090に処理を移す。   In step S4070, CPU 180a determines whether or not an error check value is added to the control command (P) stored in the reception buffer of reception unit 600. The CPU 180a, for example, checks the error in the control command (P) based on whether or not the data length has increased due to the addition of the error check value, or whether or not there is an identification bit identifying that the error check value has been added. It can be determined whether or not a value is added. If an error check value is added to the control command (P) stored in the reception buffer of the reception unit 600, the CPU 180a moves the process to step S4090.

一方、CPU180aは、受信部600の受信バッファに記憶された制御コマンド(P)に誤り検査値が付加されていなければ、当該制御コマンド(P)を検査値生成部620の格納部622及び決定部623、並びに中継送信部640へ出力し、ステップS4080に処理を移す。
ステップS4080において、CPU180aは、制御コマンド(P)を送信データとして、中継送信部640にて演出制御部120へ直ちに送信し、ステップS4110に処理を移す。
On the other hand, if an error check value is not added to the control command (P) stored in the reception buffer of the receiving unit 600, the CPU 180a sends the control command (P) to the storage unit 622 and the determining unit of the check value generating unit 620. 623 and the relay transmission unit 640, and the process proceeds to step S4080.
In step S4080, CPU 180a immediately transmits control command (P) as transmission data to effect control unit 120 at relay transmission unit 640, and proceeds to step S4110.

ステップS4090において、CPU180aは、受信部600の受信バッファに記憶された制御コマンド(P)から、当該制御コマンド(P)に付加された誤り検査値(P−N)を抽出する。
ステップS4100において、CPU180aは、抽出した誤り検査値(P−N)を検査部610へ出力すると共に、誤り検査値(P−N)を抽出後の制御コマンド(P)を検査値生成部620の格納部622及び決定部623、並びに付加部630へ出力する。
In step S4090, the CPU 180a extracts the error check value (PN) added to the control command (P) from the control command (P) stored in the reception buffer of the reception unit 600.
In step S4100, the CPU 180a outputs the extracted error check value (PN) to the check unit 610, and outputs the control command (P) after extracting the error check value (PN) to the check value generation unit 620. The data is output to the storage unit 622, the determination unit 623, and the addition unit 630.

ステップS4110において、CPU180aは、受信部600から出力された制御コマンド(P)を取り込み、当該制御コマンド(P)が変更条件を満たす制御コマンドか否かを決定部623にて判定する。具体的には、CPU180aは、当該制御コマンド(P)が、所定の制御コマンド群のうち最初に生成される制御コマンド、及び、所定の制御コマンド群の生成が終了した後に最初に生成される制御コマンドのいずれかに該当するか否かを判定する。CPU180aは、制御コマンド(P)が、当該いずれかに該当する制御コマンドであれば、抽出後の制御コマンド(P)が変更条件を満たす制御コマンドであると判断し、ステップS4120に処理を移す。一方、CPU180aは、制御コマンド(P)が、当該いずれかに該当する制御コマンドでなければ、抽出後の制御コマンド(P)が変更条件を満たす制御コマンドでないと判断し、ステップS4130に処理を移す。   In step S4110, the CPU 180a takes in the control command (P) output from the receiving unit 600, and the determining unit 623 determines whether the control command (P) is a control command that satisfies the change condition. Specifically, the CPU 180a controls the control command (P) to be generated first after the control command generated first in the predetermined control command group and the generation of the predetermined control command group is finished. It is determined whether it corresponds to one of the commands. If the control command (P) is one of the control commands, the CPU 180a determines that the extracted control command (P) is a control command that satisfies the change condition, and moves the process to step S4120. On the other hand, if the control command (P) is not a control command corresponding to any of the control commands, the CPU 180a determines that the extracted control command (P) is not a control command satisfying the change condition, and moves the process to step S4130. .

ステップS4120において、CPU180aは、変換方式を変更し、変更後の変換方式をビット列変換部624へ設定する。具体的には、CPU180aは、変換方式情報記憶領域(CM)に記憶された変換方式情報を、予め取り決められた変更方式に従って変更し、変更後の変換方式情報を変換方式情報記憶領域(CM)へ記憶する。そして、CPU180aは、変換方式情報記憶領域(CM)に記憶された変更後の変換方式情報に対応する変換方式を、決定部623にてビット列変換部624へ設定する。ビット列変換部624では、変更後の変換方式でビット列変換処理が施された誤り検査値が、検査部610へ出力可能となる。   In step S4120, the CPU 180a changes the conversion method, and sets the changed conversion method in the bit string conversion unit 624. Specifically, the CPU 180a changes the conversion method information stored in the conversion method information storage area (CM) according to a predetermined change method, and converts the changed conversion method information into the conversion method information storage area (CM). Remember me. Then, the CPU 180a sets the conversion method corresponding to the converted conversion method information stored in the conversion method information storage area (CM) in the bit string conversion unit 624 by the determination unit 623. In the bit string conversion unit 624, an error check value that has been subjected to the bit string conversion processing by the conversion method after the change can be output to the check unit 610.

ステップS4130において、CPU180aは、受信部600から出力された制御コマンド(P)を取り込み、当該制御コマンド(P)がシフト量Aに係るリセット条件を満たす制御コマンドか否かを決定部623にて判定する。具体的には、CPU180aは、当該制御コマンド(P)が、所定の制御コマンド群以外の制御コマンドの中から予め定められた制御コマンドに該当するか否かを判定する。CPU180aは、制御コマンド(P)が、当該予め定められた制御コマンドに該当すれば、抽出後の制御コマンド(P)がシフト量Aに係るリセット条件を満たす制御コマンドであると判断し、ステップS4140に処理を移す。一方、CPU180aは、制御コマンド(P)が、当該予め定められた制御コマンドに該当しなければ、抽出後の制御コマンド(P)がシフト量Aに係るリセット条件を満たす制御コマンドでないと判断し、ステップS4150に処理を移す。   In step S4130, the CPU 180a takes in the control command (P) output from the receiving unit 600, and the determining unit 623 determines whether the control command (P) is a control command that satisfies the reset condition related to the shift amount A. To do. Specifically, the CPU 180a determines whether or not the control command (P) corresponds to a predetermined control command from control commands other than a predetermined control command group. If the control command (P) corresponds to the predetermined control command, the CPU 180a determines that the extracted control command (P) is a control command that satisfies the reset condition related to the shift amount A, and step S4140. Move processing to. On the other hand, if the control command (P) does not correspond to the predetermined control command, the CPU 180a determines that the extracted control command (P) is not a control command that satisfies the reset condition related to the shift amount A, The process moves to step S4150.

ステップS4140において、CPU180aは、シフト量Aを再設定する。具体的には、CPU180aは、シフト量記憶領域(S)に記憶されたシフト量Aに、予め用意された所定の設定値を上書きして記憶する。そして、CPU180aは、シフト量記憶領域(S)に記憶された上書き後のシフト量Aを、決定部623にてビット列変換部624へ設定する。ビット列変換部624では、再設定後のシフト量Aを用いた変換方式Aでビット列変換処理が施された誤り検査値が、検査部610へ出力可能となる。   In step S4140, the CPU 180a resets the shift amount A. Specifically, the CPU 180a overwrites and stores a predetermined set value prepared in advance on the shift amount A stored in the shift amount storage area (S). Then, the CPU 180a sets the overwritten shift amount A stored in the shift amount storage area (S) in the bit string conversion unit 624 by the determination unit 623. In the bit string conversion unit 624, an error check value that has been subjected to the bit string conversion processing by the conversion method A using the reset shift amount A can be output to the check unit 610.

ステップS4150において、CPU180aは、受信部600から出力された制御コマンド(P)を格納部622にて格納すると共に、過去に格納しておいた制御コマンド(P−N)を格納部622から生成部621へ出力する。
ステップS4160において、CPU180aは、格納部622にて出力された制御コマンド(P−N)を用いて、予め設定された生成方式で誤り検査値(P−N)を生成部621にて生成し、ビット列変換部624へ出力する。
In step S4150, the CPU 180a stores the control command (P) output from the receiving unit 600 in the storage unit 622 and generates the control command (PN) stored in the past from the storage unit 622. Output to 621.
In step S4160, the CPU 180a uses the control command (PN) output from the storage unit 622 to generate an error check value (PN) using the preset generation method in the generation unit 621. The data is output to the bit string conversion unit 624.

ステップS4170において、CPU180aは、生成部621にて生成された誤り検査値(P−N)に対してビット列変換部624にてビット列変換処理を施し、検査部610へ出力する。具体的には、CPU180aは、決定部623にて設定された変換方式が変換方式Aであれば、誤り検査値(P−N)のビット列に対して、予め設定されたシフト量Aで、ビット列変換部624にてビットローテート演算を行う。そして、CPU180aは、得られた演算結果である元のビット列に戻った誤り検査値(P−N)を、検査部610へ出力する。   In step S4170, the CPU 180a performs a bit string conversion process on the error check value (PN) generated by the generation unit 621 by the bit string conversion unit 624, and outputs the result to the check unit 610. Specifically, if the conversion method set by the determination unit 623 is conversion method A, the CPU 180a uses a bit amount of a preset shift amount A with respect to the bit sequence of the error check value (PN). The conversion unit 624 performs a bit rotation operation. Then, the CPU 180a outputs the error check value (PN) returned to the original bit string, which is the obtained calculation result, to the check unit 610.

また、CPU180aは、決定部623にて設定された変換方式が変換方式Bであれば、誤り検査値(P−N)のビット列に対して、当該誤り検査値(P−N)のビット列のビット幅で規定されるローテート数の取り得る範囲の個数分だけ、ビット列変換部624にてビットローテート演算を行う。そして、CPU180aは、ビット列が変換された、当該ローテート数の取り得る範囲の個数分の誤り検査値(P−N)を、それぞれ検査部610へ出力する。   In addition, when the conversion method set by the determination unit 623 is conversion method B, the CPU 180a, for the bit string of the error check value (PN), the bit of the bit string of the error check value (PN). The bit string conversion unit 624 performs bit rotation calculation for the number of rotations that can be taken by the number of rotations defined by the width. Then, the CPU 180a outputs error check values (PN) corresponding to the number of ranges that can be taken by the rotation number, to which the bit string is converted, to the check unit 610, respectively.

ステップS4180において、CPU180aは、受信部600から誤り検査値(P−N)が出力されていれば、当該誤り検査値(P−N)と、ビット列変換部624から出力された誤り検査値(P−N)とを検査部610にて比較して照合する。CPU180aは、両者が一致する場合は、誤り検査の検査結果は正常であると判断する。一方、CPU180aは、両者が一致しない場合は、検査結果は正常でないと判断する。なお、図示は省略したが、CPU180aは、受信部600から誤り検査値(P−N)が出力されていなければ、検査部610での当該照合処理は行わず、ステップS4220に処理を移す。   In step S4180, if the error check value (PN) is output from the receiving unit 600, the CPU 180a and the error check value (P-N) output from the bit string converting unit 624 and the error check value (P-N) are output. -N) is compared by the inspection unit 610 and collated. If the two match, the CPU 180a determines that the inspection result of the error inspection is normal. On the other hand, if the two do not match, the CPU 180a determines that the inspection result is not normal. Although illustration is omitted, if the error checking value (PN) is not output from the receiving unit 600, the CPU 180a does not perform the matching process in the checking unit 610 and moves the process to step S4220.

なお、CPU180aは、変換方式Bが設定されて、ローテート数の取り得る範囲の個数分だけ誤り検査値(P−N)がビット列変換部624から出力された場合は、出力された全ての誤り検査値(P−N)を、受信部600から出力された誤り検査値と比較して照合する。このとき、CPU180aは、ビット列変換部624から出力された何れかの誤り検査値(P−N)が、受信部600から出力された誤り検査値と一致する場合は、検査結果は正常と判断し、何れの誤り検査値(P−N)も、受信部600から出力された誤り検査値と一致しない場合は、検査結果は正常でないと判断する。   When the conversion method B is set and the error check values (PN) are output from the bit string conversion unit 624 for the number of rotations that can be taken, the CPU 180a outputs all the error checks that have been output. The value (P−N) is compared with the error check value output from the receiving unit 600 and collated. At this time, if any error check value (PN) output from the bit string conversion unit 624 matches the error check value output from the reception unit 600, the CPU 180a determines that the check result is normal. If any error check value (PN) does not match the error check value output from the receiving unit 600, it is determined that the check result is not normal.

ステップS4190において、CPU180aは、検査結果が正常であったか否かを検査部610にて判断する。CPU180aは、検査結果が正常であったと判断された場合は、今回受信した誤り検査値(P−N)が付加された制御コマンド(P)、及び今回の誤り検査値(P−N)の生成元であるN個前の制御コマンド(P−N)の正当性を認証することができたことにより、主制御部110の正当性が認証されたと判断する。そして、CPU180aは、遊技機1は正常に稼働していると判断し、ステップS4200に処理を移す。一方、CPU180aは、検査結果が正常でないと判断された場合は、主制御部110の正当性を認証することができなかったと判断する。そして、CPU180aは、遊技機1で不正行為等が発生した虞れがあると判断し、ステップS4210に処理を移す。   In step S4190, CPU 180a determines whether or not the inspection result is normal in inspection unit 610. When it is determined that the inspection result is normal, the CPU 180a generates the control command (P) to which the currently received error check value (PN) is added and the current error check value (PN). It is determined that the validity of the main control unit 110 has been authenticated because the validity of the original N previous control commands (PN) has been authenticated. Then, the CPU 180a determines that the gaming machine 1 is operating normally, and moves the process to step S4200. On the other hand, if it is determined that the test result is not normal, the CPU 180a determines that the validity of the main control unit 110 has not been authenticated. Then, the CPU 180a determines that there is a possibility that an illegal act or the like has occurred in the gaming machine 1, and moves the process to step S4210.

ステップS4200において、CPU180aは、認証成功を示す認証結果データを検査部610にて生成し、生成した認証結果データを付加部630へ出力し、ステップS4220に処理を移す。
ステップS4210において、CPU180aは、認証不成功を示す認証結果データを検査部610にて生成し、生成した認証結果データを付加部630へ出力し、ステップS4240に処理を移す。
In step S4200, CPU 180a generates authentication result data indicating successful authentication in inspection unit 610, outputs the generated authentication result data to adding unit 630, and moves the process to step S4220.
In step S4210, the CPU 180a generates authentication result data indicating unsuccessful authentication in the inspection unit 610, outputs the generated authentication result data to the adding unit 630, and shifts the processing to step S4240.

ステップS4220において、CPU180aは、現在がシフト量を更新するタイミングであるか否かを決定部623にて判断する。具体的には、CPU180aは、現在が所定の動作モードの期間が開始した時点であれば、現在はシフト量Aを更新するタイミングであると決定部623にて判断し、ステップS4230に処理を移す。また、CPU180aは、現在が所定の動作モードの期間が開始した時点でなければ、現在はシフト量Aを更新するタイミングでないと決定部623にて判断し、ステップS4230に処理を移す。   In step S4220, CPU 180a determines in decision unit 623 whether or not the present time is the timing for updating the shift amount. Specifically, CPU 180a determines that it is now time to update shift amount A at the time when the period of the predetermined operation mode starts, and moves to step S4230. . CPU 180a determines that it is not the time to update shift amount A at the current time unless the current period of the predetermined operation mode starts, and determines that determination unit 623 moves the process to step S4230.

ステップS4230において、CPU180aは、シフト量の制御を行う。具体的には、CPU180aは、現在が所定の動作モードの期間が開始した時点であれば、変換方式Bが設定されて、ビット列変換部624から検査部610へ出力された複数(ローテート数の取り得る範囲の個数)の誤り検査値(P−N)のうち、受信部600から出力された誤り検査値と一致した誤り検査値(P−N)を決定部623へ出力する。また、CPU180aは、受信部600から検査部610に誤り検査値(P−N)が出力されておらず、ステップS4180において、上記照合処理を行わなかった場合にも、現在が所定の動作モードの期間が開始した時点であれば、ビット列変換部624から検査部610へ出力された誤り検査値(P−N)を、決定部623へ出力する。そして、CPU180aは、当該誤り検査値に基づいて、シフト量Aを所定の更新方式に従って更新し、ステップS4240に処理を移す。   In step S4230, the CPU 180a controls the shift amount. Specifically, the CPU 180a sets the conversion method B at the time when the period of the predetermined operation mode starts, and sets the conversion method B and outputs a plurality of (rotate counts) output from the bit string conversion unit 624 to the inspection unit 610. The error check value (PN) that matches the error check value output from the receiving unit 600 among the error check values (PN) of the number of obtained ranges) is output to the determining unit 623. Further, the CPU 180a does not output an error check value (PN) from the receiving unit 600 to the checking unit 610, and even if the collation process is not performed in step S4180, the CPU 180a is currently in a predetermined operation mode. When the period starts, the error check value (PN) output from the bit string conversion unit 624 to the check unit 610 is output to the determination unit 623. Then, CPU 180a updates shift amount A in accordance with a predetermined update method based on the error check value, and moves the process to step S4240.

ステップS4240において、CPU180aは、受信部600にて出力された制御コマンド(P)に対し、検査部610にて出力された認証結果データを付加部630にて付加し、認証結果データ付きの制御コマンド(P)を中継送信部640へ出力し、ステップS4250に処理を移す。
ステップS4250において、CPU180aは、認証結果データ付きの制御コマンド(P)を送信データとして中継送信部640にて演出制御部120へ直ちに送信する。その後、所定の割込処理があるまで、ステップS4020以降の処理を繰り返す。
In step S4240, the CPU 180a adds the authentication result data output from the inspection unit 610 to the control command (P) output from the receiving unit 600, and adds a control command with authentication result data. (P) is output to the relay transmission unit 640, and the process proceeds to step S4250.
In step S4250, CPU 180a immediately transmits control command (P) with authentication result data as transmission data to effect control unit 120 at relay transmission unit 640. Thereafter, the processes after step S4020 are repeated until a predetermined interrupt process is performed.

なお、ステップS4150の処理は、ステップS4100からステップS4160までの間に行われていればよく、ステップS4140の直後に行われる必要はない。また、ステップS4130及びステップS4140の処理は、ステップS4100からステップS4170までの間に行われていればよく、ステップS4120の直後に行われる必要はない。また、ステップS4220及びステップS4230の処理は、ステップS4180より後に行われていればよく、ステップS4200の直後に行われる必要はない。また、ステップS4210の処理の後、ステップS4240に処理を移すのではなく、ステップS4220に処理を移してもよい。   Note that the process of step S4150 only needs to be performed between step S4100 and step S4160, and need not be performed immediately after step S4140. Moreover, the process of step S4130 and step S4140 should just be performed between step S4100 to step S4170, and does not need to be performed immediately after step S4120. Further, the processes in step S4220 and step S4230 may be performed after step S4180, and need not be performed immediately after step S4200. Further, after the process of step S4210, the process may be transferred to step S4220 instead of the process to step S4240.

[演出制御部の制御処理]
これより、本発明の実施形態に係る遊技機1の演出制御部120の制御処理について説明する。まず、演出制御部120のメイン処理について説明する。
図19は、本実施形態に係る演出制御部120によるメイン処理を示すフローチャートである。
[Control processing of production control unit]
Hereafter, the control process of the production control unit 120 of the gaming machine 1 according to the embodiment of the present invention will be described. First, the main process of the production control unit 120 will be described.
FIG. 19 is a flowchart showing main processing by the effect control unit 120 according to the present embodiment.

ステップS1000において、サブCPU120aは、初期化処理を行う。この処理において、サブCPU120aは、電源投入に応じて、サブROM120bからメイン処理に関するプログラムコードを読み込む。これと共に、サブCPU120aは、サブRAM120cに記憶されるフラグなどを初期化し、設定値を設定する処理を行う。この処理が終了した場合には、ステップS1100に処理を移す。   In step S1000, the sub CPU 120a performs an initialization process. In this process, the sub CPU 120a reads the program code related to the main process from the sub ROM 120b in response to power-on. At the same time, the sub CPU 120a performs processing for initializing a flag and the like stored in the sub RAM 120c and setting a setting value. If this process ends, the process moves to a step S1100.

ステップS1100において、サブCPU120aは、演出用乱数更新処理を行う。この処理において、サブCPU120aは、サブRAM120cに記憶される演出用乱数値、演出図柄決定用乱数、演出モード決定用乱数等を更新する処理を行う。以降は、所定の割込処理が行われるまで、上記ステップS1100の処理を繰り返し行う。   In step S1100, the sub CPU 120a performs an effect random number update process. In this process, the sub CPU 120a performs a process of updating the effect random number value, effect design determining random number, effect mode determining random number and the like stored in the sub RAM 120c. Thereafter, the process of step S1100 is repeated until a predetermined interrupt process is performed.

次に、演出制御部120の割込処理について説明する。
図20は、本実施形態に係る演出制御部120による割込処理を示すフローチャートである。
サブCPU120aは、演出制御部120に設けられたクロックパルス発生回路(図示せず)から出力されるクロック信号に基づいて、所定の周期(例えば2ミリ秒)毎に、演出制御部120のタイマ割込処理を実行する。
Next, the interruption process of the production control unit 120 will be described.
FIG. 20 is a flowchart showing interrupt processing by the effect control unit 120 according to the present embodiment.
Based on a clock signal output from a clock pulse generation circuit (not shown) provided in the effect control unit 120, the sub CPU 120a performs timer allocation of the effect control unit 120 every predetermined period (for example, 2 milliseconds). Execute the included process.

ステップS1200において、サブCPU120aは、サブCPU120aのレジスタに記憶されている情報をスタック領域に退避させる。
ステップS1300において、サブCPU120aは、演出制御部120で用いられる各種タイマカウンタの更新処理を行う。
In step S1200, the sub CPU 120a saves the information stored in the register of the sub CPU 120a to the stack area.
In step S1300, the sub CPU 120a performs update processing of various timer counters used in the effect control unit 120.

ステップS1500において、サブCPU120aは、コマンド解析処理を行う。この処理において、サブCPU120aは、サブRAM120cの受信データ用記憶領域に記憶された制御コマンドの種別を解析する処理を行う。   In step S1500, the sub CPU 120a performs command analysis processing. In this process, the sub CPU 120a performs a process of analyzing the type of control command stored in the received data storage area of the sub RAM 120c.

演出制御部120の受信部(図示せず)では、中間制御部180から送信された制御コマンドを受信し、自身の受信バッファに記憶すると、中間制御部180から制御コマンドの受信割込要求があった旨を示す信号を出力し、制御コマンドの受信割込処理を発生させる。
そして、サブCPU120aは、受信した制御コマンドに付加された認証結果データの内容を解析する認証結果データ解析処理を行う。サブCPU120aは、認証結果データ解析処理において、中間制御部180によって制御コマンドの正当性が認証されたことが確認できると、当該制御コマンドを受信バッファからサブRAM120cの受信データ用記憶領域へ取り込んで記憶する。そして、サブCPU120aは、受信データ用記憶領域に記憶された制御コマンドの種別を解析し、制御コマンドの種別に応じた処理を行う。なお、コマンド解析処理の詳細については後述する。
When the receiving unit (not shown) of the effect control unit 120 receives the control command transmitted from the intermediate control unit 180 and stores it in its own reception buffer, there is a control command reception interrupt request from the intermediate control unit 180. A signal indicating that the control command has been received is generated, and a control command reception interrupt process is generated.
Then, the sub CPU 120a performs an authentication result data analysis process for analyzing the contents of the authentication result data added to the received control command. When the sub-CPU 120a confirms that the validity of the control command has been authenticated by the intermediate control unit 180 in the authentication result data analysis process, the sub-CPU 120a takes the control command from the reception buffer into the reception data storage area of the sub RAM 120c and stores it. To do. Then, the sub CPU 120a analyzes the type of the control command stored in the received data storage area, and performs processing according to the type of the control command. Details of the command analysis process will be described later.

ステップS1700において、サブCPU120aは、演出ボタン検出スイッチ35aの信号のチェックを行い、演出ボタン35からの入力に関する演出用入力制御処理を行う。
ステップS1800において、サブCPU120aは、サブRAM120cの送信データ用記憶領域にセットされた制御コマンドや各種データを、ランプ制御部140や画像制御部150へ送信するための処理である演出用出力制御処理を行う。
ステップS1900において、サブCPU120aは、ステップS1200で退避した情報をサブCPU120aのレジスタに復帰させる。
In step S <b> 1700, the sub CPU 120 a checks the signal of the effect button detection switch 35 a, and performs effect input control processing related to input from the effect button 35.
In step S1800, the sub CPU 120a performs an effect output control process that is a process for transmitting the control command and various data set in the transmission data storage area of the sub RAM 120c to the lamp control unit 140 and the image control unit 150. Do.
In step S1900, the sub CPU 120a restores the information saved in step S1200 to the register of the sub CPU 120a.

次に、演出制御部120のコマンド解析処理について説明する。
図21及び図22は、本実施形態に係る演出制御部120によるコマンド解析処理を示すフローチャートである。なお、図22のコマンド解析処理2は、図21のコマンド解析処理1に引き続いて行われるものである。
Next, command analysis processing of the effect control unit 120 will be described.
21 and 22 are flowcharts showing command analysis processing by the effect control unit 120 according to the present embodiment. Note that the command analysis processing 2 in FIG. 22 is performed subsequent to the command analysis processing 1 in FIG.

ステップS1501において、サブCPU120aは、受信部600の受信バッファに制御コマンドが記憶されているか否かを確認して、制御コマンドを受信したか否かを判定する。
サブCPU120aは、受信バッファに制御コマンドが記憶されていれば、ステップS1650に処理を移し、受信バッファに制御コマンドが記憶されていなければ、コマンド解析処理を終了する。
In step S1501, the sub CPU 120a checks whether a control command is stored in the reception buffer of the receiving unit 600, and determines whether the control command has been received.
If the control command is stored in the reception buffer, the sub CPU 120a moves the process to step S1650, and if the control command is not stored in the reception buffer, the sub CPU 120a ends the command analysis process.

ステップS1650において、サブCPU120aは、受信バッファに記憶されている制御コマンドに付加された認証結果データに対して認証結果データ解析処理を行う。そして、サブCPU120aは、中間制御部180で制御コマンドの正当性が認証されたことが確認できると、受信した制御コマンドを受信データ用記憶領域に取り込み、ステップS1510に処理を移す。なお、認証結果データ解析処理の詳細については後述する。   In step S1650, the sub CPU 120a performs an authentication result data analysis process on the authentication result data added to the control command stored in the reception buffer. Then, when the sub controller 120a can confirm that the validity of the control command has been authenticated by the intermediate control unit 180, the sub CPU 120a takes the received control command into the received data storage area and moves the process to step S1510. The details of the authentication result data analysis process will be described later.

ステップS1510において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、デモ指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドがデモ指定コマンドであれば、ステップS1511に処理を移し、デモ指定コマンドでなければステップS1520に処理を移す。
In step S1510, the sub CPU 120a checks whether or not the control command stored in the received data storage area is a demo designation command.
If the control command stored in the received data storage area is a demo designation command, the sub CPU 120a moves the process to step S1511, and if not, moves the process to step S1520.

ステップS1511において、サブCPU120aは、デモ演出パターンを決定するデモ演出パターン決定処理を行う。
具体的には、デモ演出パターンを決定し、決定したデモ演出パターンを演出パターン記憶領域にセットすると共に、決定したデモ演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定したデモ演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
In step S1511, the sub CPU 120a performs a demonstration effect pattern determination process for determining a demonstration effect pattern.
Specifically, the demonstration effect pattern is determined, the determined demonstration effect pattern is set in the effect pattern storage area, and information on the determined demonstration effect pattern is transmitted to the image control unit 150 and the lamp control unit 140. An effect pattern designation command based on the demo effect pattern is set in the transmission data storage area of the sub-RAM 120c.

ステップS1520において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、特別図柄記憶指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが特別図柄記憶指定コマンドであれば、ステップS1521に処理を移し、特別図柄記憶指定コマンドでなければステップS1530に処理を移す。
In step S1520, sub CPU 120a checks whether or not the control command stored in the reception data storage area is a special symbol storage designation command.
If the control command stored in the received data storage area is the special symbol storage designation command, the sub CPU 120a moves the process to step S1521, and moves to step S1530 if it is not the special symbol storage designation command.

ステップS1521において、サブCPU120aは、特別図柄記憶指定コマンドを解析して、液晶表示装置31に表示させる特別図柄の保留画像(以下、「特図保留画像」という)の表示個数を決定すると共に、決定した特図保留画像の表示個数に対応する特図表示個数指定コマンドを画像制御部150とランプ制御部140に送信する特別図柄記憶数決定処理を行う。   In step S1521, the sub CPU 120a analyzes the special symbol storage designation command to determine the number of reserved images of special symbols to be displayed on the liquid crystal display device 31 (hereinafter referred to as “special diagram reserved images”). The special symbol display number designation command corresponding to the display number of the special figure reserved images is transmitted to the image control unit 150 and the lamp control unit 140, and a special symbol storage number determination process is performed.

ステップS1530において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、演出図柄指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが演出図柄指定コマンドであれば、ステップS1531に処理を移し、演出図柄指定コマンドでなければステップS1540に処理を移す。
In step S1530, the sub CPU 120a checks whether or not the control command stored in the received data storage area is an effect designating command.
If the control command stored in the storage area for received data is an effect designating command, the sub CPU 120a moves the process to step S1531, and moves to step S1540 if it is not an effect designating command.

ステップS1531において、サブCPU120aは、受信した演出図柄指定コマンドの内容に基づいて、液晶表示装置31に停止表示させる演出図柄36を決定する演出図柄決定処理を行う。
具体的には、演出図柄指定コマンドを解析して、大当たりの有無、大当たりの種別に応じて演出図柄36の組み合わせを構成する演出図柄データを決定し、決定された演出図柄データを演出図柄記憶領域にセットすると共に、演出図柄データを画像制御部150とランプ制御部140に送信するため、演出図柄データ示す停止図柄指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
In step S1531, the sub CPU 120a performs an effect symbol determination process for determining an effect symbol 36 to be stopped and displayed on the liquid crystal display device 31 based on the content of the received effect symbol designation command.
Specifically, the effect designating command is analyzed, the effect symbol data constituting the combination of the effect symbols 36 is determined according to the presence / absence of jackpot and the type of jackpot, and the determined effect symbol data is stored in the effect symbol storage area In addition, in order to transmit the effect symbol data to the image control unit 150 and the lamp control unit 140, a stop symbol designation command indicating the effect symbol data is set in the transmission data storage area of the sub RAM 120c.

ステップS1532において、サブCPU120aは、上記ステップS1100において更新されている演出モード決定用乱数値から1つの乱数値を取得し、取得した演出モード決定用乱数値と受信した演出図柄指定コマンドに基づいて、複数の演出モード(例えば、ノーマル演出モードやチャンス演出モード)の中から1つの演出モードを決定する演出モード決定処理を行う。また、決定した演出モードは、演出モード記憶領域にセットされる。   In step S1532, the sub CPU 120a acquires one random value from the effect mode determination random value updated in step S1100, and based on the acquired effect mode determination random value and the received effect designating command, An effect mode determination process for determining one effect mode from a plurality of effect modes (for example, a normal effect mode and a chance effect mode) is performed. Further, the determined effect mode is set in the effect mode storage area.

ステップS1540において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、変動パターン指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが変動パターン指定コマンドであれば、ステップS1541に処理を移し、変動パターン指定コマンドでなければステップS1550に処理を移す。
In step S1540, the sub CPU 120a checks whether or not the control command stored in the received data storage area is a variation pattern designation command.
If the control command stored in the storage area for received data is a variation pattern designation command, the sub CPU 120a proceeds to step S1541 and proceeds to step S1550 if it is not a variation pattern designation command.

ステップS1541において、サブCPU120aは、上記ステップS1100において更新されている演出用乱数値から1つの乱数値を取得し、取得した演出用乱数値、受信した変動パターン指定コマンド及び演出モード記憶領域にセットされている演出モードに基づいて、複数の変動演出パターンの中から1つの変動演出パターンを決定する変動演出パターン決定処理を行う。
具体的には、ノーマル演出モードであれば、変動演出パターン決定テーブルを参照し、取得した演出用乱数値に基づいて1つの変動演出パターンを決定し、決定した変動演出パターンを演出パターン記憶領域にセットすると共に、決定した変動演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した変動演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
その後、かかる演出パターンに基づいて、液晶表示装置31、音声出力装置32、演出用駆動装置33、演出用照明装置34が制御されることになる。なお、ここで決定した変動演出パターンに基づいて、演出図柄36の変動態様が決定されることとなる。
In step S1541, the sub CPU 120a acquires one random number value from the effect random number value updated in step S1100, and is set in the acquired effect random number value, the received variation pattern designation command, and effect mode storage area. Based on the effect mode being performed, a variation effect pattern determination process for determining one variation effect pattern from a plurality of variation effect patterns is performed.
Specifically, in the normal effect mode, the variation effect pattern determination table is referred to, one change effect pattern is determined based on the acquired effect random number value, and the determined change effect pattern is stored in the effect pattern storage area. At the same time, in order to transmit the determined variation effect pattern information to the image control unit 150 and the lamp control unit 140, an effect pattern designation command based on the determined variation effect pattern is set in the transmission data storage area of the sub RAM 120c.
Thereafter, based on the effect pattern, the liquid crystal display device 31, the audio output device 32, the effect drive device 33, and the effect illumination device 34 are controlled. Note that the variation mode of the effect symbol 36 is determined based on the variation effect pattern determined here.

ステップS1550において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、図柄確定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが図柄確定コマンドであれば、ステップS1551に処理を移し、図柄確定コマンドでなければステップS1560に処理を移す。
In step S1550, the sub CPU 120a checks whether or not the control command stored in the received data storage area is a symbol determination command.
If the control command stored in the received data storage area is the symbol confirmation command, the sub CPU 120a moves the process to step S1551, and moves to step S1560 if it is not the symbol confirmation command.

ステップS1551において、サブCPU120aは、演出図柄36を停止表示させるために、演出図柄を停止表示させるための停止指定コマンドをサブRAM120cの送信データ用記憶領域にセットする演出図柄停止表示処理を行う。   In step S1551, the sub CPU 120a performs an effect symbol stop display process for setting a stop designation command for stopping the effect symbol in the transmission data storage area of the sub RAM 120c in order to stop the effect symbol 36.

ステップS1560において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、遊技状態指定コマンドであるか否かを判定する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが遊技状態指定コマンドであればステップS1561に処理を移し、遊技状態指定コマンドでなければステップS1570に処理を移す。
In step S1560, the sub CPU 120a determines whether or not the control command stored in the received data storage area is a gaming state designation command.
If the control command stored in the received data storage area is a gaming state designation command, the sub CPU 120a moves the process to step S1561, and moves to step S1570 if it is not a gaming state designation command.

ステップS1561において、サブCPU120aは、受信した遊技状態指定コマンドに基づいた遊技状態を示すデータをサブRAM120cにある遊技状態記憶領域にセットする。   In step S1561, the sub CPU 120a sets data indicating the gaming state based on the received gaming state designation command in the gaming state storage area in the sub RAM 120c.

ステップS1570において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、オープニング指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドがオープニング指定コマンドであればステップS1571に処理を移し、オープニング指定コマンドでなければステップS1580に処理を移す。
In step S1570, the sub CPU 120a checks whether or not the control command stored in the received data storage area is an opening designation command.
If the control command stored in the received data storage area is an opening designation command, the sub CPU 120a moves the process to step S1571, and if not the opening command, moves the process to step S1580.

ステップS1571において、サブCPU120aは、当たり開始演出パターンを決定する当たり開始演出パターン決定処理を行う。
具体的には、オープニング指定コマンドに基づいて当たり開始演出パターンを決定し、決定した当たり開始演出パターンを演出パターン記憶領域にセットすると共に、決定した当たり開始演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した当たり開始演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
In step S1571, the sub CPU 120a performs a hit start effect pattern determination process for determining a hit start effect pattern.
Specifically, the hit start effect pattern is determined based on the opening designation command, the determined hit start effect pattern is set in the effect pattern storage area, and information on the determined hit start effect pattern is stored in the image controller 150 and the lamp. In order to transmit to the control unit 140, an effect pattern designation command based on the determined hit start effect pattern is set in the transmission data storage area of the sub RAM 120c.

ステップS1580において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、大入賞口開放指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが大入賞口開放指定コマンドであればステップS1581に処理を移し、大入賞口開放指定コマンドでなければステップS1590に処理を移す。
In step S1580, the sub CPU 120a confirms whether or not the control command stored in the received data storage area is a special winning opening opening designation command.
If the control command stored in the received data storage area is a big prize opening release designation command, the sub CPU 120a moves the process to step S1581, and if it is not a big prize opening opening designation command, the sub CPU 120a moves the process to step S1590.

ステップS1581において、サブCPU120aは、大当たり演出パターンを決定する大当たり演出パターン決定処理を行う。
具体的には、大入賞口開放指定コマンドに基づいて大当たり演出パターンを決定し、決定した大当たり演出パターンを演出パターン記憶領域にセットすると共に、決定した大当たり演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した大当たり演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。
In step S1581, the sub CPU 120a performs a jackpot effect pattern determination process for determining a jackpot effect pattern.
Specifically, the jackpot effect pattern is determined based on the big winning opening opening designation command, the determined jackpot effect pattern is set in the effect pattern storage area, and information on the determined jackpot effect pattern is stored in the image controller 150 and the lamp. In order to transmit to the control unit 140, an effect pattern designation command based on the determined jackpot effect pattern is set in the transmission data storage area of the sub RAM 120c.

ステップS1590において、サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドが、エンディング指定コマンドであるか否かを確認する。
サブCPU120aは、受信データ用記憶領域に記憶されている制御コマンドがエンディング指定コマンドであればステップS1591に処理を移し、エンディング指定コマンドでなければコマンド解析処理を終了する。
In step S1590, the sub CPU 120a checks whether or not the control command stored in the received data storage area is an ending designation command.
If the control command stored in the received data storage area is an ending designation command, the sub CPU 120a moves the process to step S1591, and ends the command analysis process if it is not an ending designation command.

ステップS1591において、サブCPU120aは、当たり終了演出パターンを決定する当たり終了演出パターン決定処理を行う。
具体的には、エンディング指定コマンドに基づいて当たり終了演出パターンを決定し、決定した当たり終了演出パターンを演出パターン記憶領域にセットすると共に、決定した当たり終了演出パターンの情報を画像制御部150とランプ制御部140に送信するため、決定した当たり終了演出パターンに基づく演出パターン指定コマンドをサブRAM120cの送信データ用記憶領域にセットする。本処理を終了すると、コマンド解析処理が終了する。
In step S1591, the sub CPU 120a performs a hit end effect pattern determination process for determining a hit end effect pattern.
Specifically, the winning end effect pattern is determined based on the ending designation command, the determined hit end effect pattern is set in the effect pattern storage area, and information on the determined hit end effect pattern is stored in the image control unit 150 and the lamp. In order to transmit to the control unit 140, an effect pattern designation command based on the determined winning end effect pattern is set in the transmission data storage area of the sub RAM 120c. When this process ends, the command analysis process ends.

次に、演出制御部120の認証結果データ解析処理について説明する。
図23は、本実施形態に係る演出制御部120による認証結果データ解析処理を示すフローチャートである。
Next, the authentication result data analysis process of the production control unit 120 will be described.
FIG. 23 is a flowchart showing authentication result data analysis processing by the effect control unit 120 according to the present embodiment.

ステップS1651において、サブCPU120aは、演出制御部120を構成する受信部の受信バッファに記憶された制御コマンドに、認証結果データが付加されているか否かを判定する。そして、サブCPU120aは、認証結果データが付加されていれば、ステップS1652に処理を移し、制御コマンドに認証結果データが付加されていなければ、認証結果データ解析処理を終了する。
ステップS1652において、サブCPU120aは、受信バッファに記憶された制御コマンドから認証結果データを抽出し、ステップS1653に処理を移す。
In step S1651, the sub CPU 120a determines whether or not authentication result data is added to the control command stored in the reception buffer of the reception unit constituting the effect control unit 120. If the authentication result data is added, the sub CPU 120a moves the process to step S1652. If the authentication result data is not added to the control command, the sub CPU 120a ends the authentication result data analysis process.
In step S1652, the sub CPU 120a extracts authentication result data from the control command stored in the reception buffer, and the process proceeds to step S1653.

ステップS1653において、サブCPU120aは、抽出した認証結果データが、中間制御部180にて行った誤り検査処理の検査結果が正常であり、主制御部110の正当性を認証することができたか否かを判定する。そして、サブCPU120aは、認証結果データが認証成功を示す結果である場合、遊技機1が正常に稼働していると判断する。そして、サブCPU120aは、受信した制御コマンドをサブRAM120cの受信データ用記憶領域へ出力し、当該制御コマンドに応じた処理を行わせるべく、認証結果データ解析処理を終了する。一方、サブCPU120aは、認証結果データが認証不成功を示す結果である場合、遊技機1で不正行為等が発生した虞れがあると判断し、ステップS1654に処理を移す。
ステップS1654において、サブCPU120aは、遊技機1で不正行為等が発生した虞れがあると判断した場合、その旨を報知する為に報知信号を出力し、認証結果データ解析処理を終了する。
In step S1653, the sub CPU 120a determines whether or not the extracted authentication result data indicates that the inspection result of the error inspection process performed by the intermediate control unit 180 is normal and the validity of the main control unit 110 can be authenticated. Determine. Then, the sub CPU 120a determines that the gaming machine 1 is operating normally when the authentication result data is a result indicating a successful authentication. Then, the sub CPU 120a outputs the received control command to the received data storage area of the sub RAM 120c, and ends the authentication result data analysis process so as to perform processing according to the control command. On the other hand, if the authentication result data is a result indicating that the authentication is unsuccessful, the sub CPU 120a determines that there is a possibility that an illegal act or the like has occurred in the gaming machine 1, and moves the process to step S1654.
In step S1654, if the sub CPU 120a determines that there is a possibility that an illegal act or the like has occurred in the gaming machine 1, the sub CPU 120a outputs a notification signal to notify that fact, and ends the authentication result data analysis processing.

サブCPU120aは、生成した報知信号を、例えば、ランプ制御部140や画像制御部150、あるいは遊技機1を管理するホールコンピュータ等へ送信する。ランプ制御部140や画像制御部150等は、受信した報知信号に基づいて、遊技機1で不正行為が発生した虞れがある旨を報知する演出を実行する。この演出は、例えば、液晶表示装置31に通常出現しないキャラクタを出現させたり、通常出現するキャラクタを通常とは異なる方法で出現させるなどである。また、液晶表示装置31の輝度を変えたり、色を変えたり、ランプ制御部140に対して所定のランプを表示制御するようにしてもよい。いずれにしても、遊技店の従業員が当該遊技機1の前を通過した際に、その状態に気付くようにしてあればよい。また、この演出は、顧客がその状態に気付かないような演出でもよく、また、顧客が容易に気付く演出であってもよい。顧客が容易に気付く演出にすれば、不正行為を効率的に抑止することができる。   The sub CPU 120a transmits the generated notification signal to, for example, the lamp control unit 140, the image control unit 150, or a hall computer that manages the gaming machine 1. Based on the received notification signal, the lamp control unit 140, the image control unit 150, and the like perform an effect that notifies that there is a possibility that an illegal act has occurred in the gaming machine 1. This effect is, for example, causing a character that does not normally appear on the liquid crystal display device 31 to appear, or causing a character that normally appears to appear by a method different from normal. In addition, the brightness of the liquid crystal display device 31 may be changed, the color may be changed, or the lamp controller 140 may be controlled to display a predetermined lamp. In any case, when the employee of the game shop passes in front of the gaming machine 1, it is only necessary to notice the state. This effect may be an effect that the customer does not notice the state or an effect that the customer can easily notice. If the production is easily noticed by the customer, fraud can be efficiently suppressed.

また、報知信号に、遊技機1の遊技状態や大当たりの種別に関する情報を含めてもよい。これらの情報に基づいて、遊技機1を管理するホールコンピュータ等によって不正行為が行われているか否かの判断を行ってもよい。例えば、「高確率遊技状態」は賞球が集中していても正常である場合がある。よって、高確率遊技状態中は、その他の状態とは異なる条件で不正行為の虞れがあるか否かについて判断するのがよい。また、遊技状態や大当たりの種別に関する情報は、報知信号に含めずに別信号として出力するようにしてもよい。この場合、従業員は、報知信号と遊技状態や大当たりの種別に関する情報の両方に基づいて、不正行為の虞れがあるか否かについて判断する。   Moreover, you may include the information regarding the gaming state or jackpot type of the gaming machine 1 in the notification signal. Based on these pieces of information, it may be determined whether a fraudulent act is being performed by a hall computer or the like that manages the gaming machine 1. For example, the “high probability gaming state” may be normal even if prize balls are concentrated. Therefore, during the high-probability gaming state, it is preferable to determine whether or not there is a risk of fraudulent behavior under conditions different from the other states. Moreover, you may make it output the information regarding a gaming state or jackpot type as a separate signal without including it in a notification signal. In this case, the employee determines whether or not there is a possibility of fraud based on both the notification signal and the information regarding the gaming state and the jackpot type.

なお、主制御部110と、周辺制御部300の他の制御部との間に中間制御部180が設けられた場合の認証処理は、主制御部110と演出制御部120との間に中間制御部180が設けられた場合の認証処理とほぼ同様の手順で行われるため説明を省略する。   The authentication process when the intermediate control unit 180 is provided between the main control unit 110 and the other control units of the peripheral control unit 300 is an intermediate control between the main control unit 110 and the effect control unit 120. Since the procedure is almost the same as the authentication process when the unit 180 is provided, the description is omitted.

以上、これまで説明してきたように、本実施形態では、誤り検査値を生成する検査値生成部500をメインCPU110aの周辺回路として設けた。そして、メインCPU110aは、制御コマンドを中間制御部180へ送信する際に、必要に応じて検査値生成部500から誤り検査値を読み出して当該制御コマンドに付加し、送信部550へ送出する。よって、本実施形態では、主制御部110にセキュリティ機能を追加するにあたり、既存の遊技機が備える遊技処理用プログラムに対し、誤り検査値の読み出し命令及び書き込み命令が記述された認証処理用プログラムを追加するだけでよい。   As described above, in this embodiment, the test value generation unit 500 that generates an error check value is provided as a peripheral circuit of the main CPU 110a. Then, when transmitting the control command to the intermediate control unit 180, the main CPU 110a reads the error check value from the check value generation unit 500 as necessary, adds it to the control command, and sends it to the transmission unit 550. Therefore, in this embodiment, when adding a security function to the main control unit 110, an authentication processing program in which an error check value read command and a write command are described is added to a game processing program provided in an existing gaming machine. Just add.

このため、本実施形態では、セキュリティ機能の追加に伴って増大するメインCPU110aの処理負荷や遊技処理用プログラムのコードサイズを最大限抑制することができる。しかも、メインCPU110aが誤り検査値を制御コマンドへ付加するタイミングは、遊技処理用プログラムをカスタマイズするだけで任意に規定可能であるため、制御コマンドと誤り検査値の対応関係を機種毎や遊技機メーカー毎で変更することが比較的容易であり、柔軟性の高いセキュリティ機能を提供することができる。   For this reason, in this embodiment, the processing load of the main CPU 110a and the code size of the game processing program that increase with the addition of the security function can be suppressed to the maximum. Moreover, since the timing at which the main CPU 110a adds the error check value to the control command can be arbitrarily defined simply by customizing the game processing program, the correspondence between the control command and the error check value can be specified for each model or machine manufacturer. It is relatively easy to change every time, and a highly flexible security function can be provided.

また、本実施形態では、検査値生成部500は、過去に送出された制御コマンドを用いて誤り検査値を生成する。通常、チェックサム等の誤り検査値は生成元の制御コマンドに付加されて通信エラーチェックに利用される。これに対して、本実施形態では、過去に送出された制御コマンドを用いて生成された誤り検査値は、誤り検査値の生成元の制御コマンドには付加されない。このような従来にない新規且つ簡易な手法を用いることにより、不正者が制御コマンドと誤り検査値を窃取しても制御コマンドと誤り検査値の対応関係を容易に解析できないようにすることができ、遊技機1のセキュリティ強度を向上させることができる。   In the present embodiment, the check value generation unit 500 generates an error check value using a control command sent in the past. Normally, an error check value such as a checksum is added to the control command of the generation source and used for a communication error check. On the other hand, in the present embodiment, the error check value generated using the control command sent in the past is not added to the control command that is the generation source of the error check value. By using such a new and simple method that has not been available in the past, even if an unauthorized person steals a control command and an error check value, the correspondence between the control command and the error check value cannot be easily analyzed. The security strength of the gaming machine 1 can be improved.

また、本実施形態では、主制御部110が、過去に送信した制御コマンドを用いて生成された誤り検査値を、今回送信する制御コマンドに付加して中間制御部180へ送信する。そして、中間制御部180が、過去に受信した制御コマンドを用いて生成された誤り検査値で、今回受信した制御コマンドの誤り検査処理を行う。これにより、中間制御部180は、今回受信した制御コマンドの正当性を認証することができるだけではなく、過去に受信した制御コマンド、すなわち、今回付加された誤り検査値の生成元となった制御コマンドの正当性をも認証することができる。すなわち、制御コマンドの連続性を認証することができることとなり、不正行為をより検出しやすくなり、遊技機1のセキュリティ強度を向上させることができる。   In the present embodiment, the main control unit 110 adds an error check value generated using a control command transmitted in the past to the control command transmitted this time and transmits the error check value to the intermediate control unit 180. Then, the intermediate control unit 180 performs an error check process on the control command received this time with the error check value generated using the control command received in the past. Thereby, the intermediate control unit 180 can not only authenticate the validity of the control command received this time, but also the control command received in the past, that is, the control command that is the generation source of the error check value added this time. Can also authenticate the legitimacy. That is, it is possible to authenticate the continuity of the control command, and it becomes easier to detect fraud, and the security strength of the gaming machine 1 can be improved.

また、本実施形態では、P≦Nの場合に送信される制御コマンドには、遊技機1に固有の固有情報が付加されることで、誤り検査値が遊技機1に固有の値とすることができる。これにより、固有情報を知らない不正者が一部の制御コマンドを窃取したとしても誤り検査値の解析を不可能とすることができ、遊技機1のセキュリティ強度を更に向上させることができる。   In the present embodiment, the error check value is set to a value unique to the gaming machine 1 by adding unique information unique to the gaming machine 1 to the control command transmitted when P ≦ N. Can do. As a result, even if an unauthorized person who does not know the specific information steals a part of the control command, the error check value cannot be analyzed, and the security strength of the gaming machine 1 can be further improved.

また、本実施形態では、通常は通信エラーチェックに用いる誤り検査値を、不正行為を検出するための検査値として利用している。このように通信エラーチェックに従来から用いられている誤り検査値を利用することで、不正行為を検出するための検査値生成手段を新規に開発しなくとも不正行為を検出することができ、セキュリティ強度を向上させることができる。すなわち、比較的簡易な構成で主制御部110に対する認証機能を追加可能でありながらも、セキュリティ強度を向上させることができる。   In this embodiment, an error check value that is normally used for communication error check is used as a check value for detecting fraud. In this way, by using the error check value conventionally used for communication error check, it is possible to detect fraud without having to newly develop a test value generation means for detecting fraud. Strength can be improved. That is, the security strength can be improved while an authentication function for the main control unit 110 can be added with a relatively simple configuration.

また、本実施形態では、主制御部110へ追加するセキュリティ機能の具体的態様として追加された検査値生成部500は、ワイヤードロジック制御方式のハードウェアで回路構成されており、メインCPU110aの処理負荷やコードサイズを増大させない。したがって、本実施形態によれば、遊技機1がセキュリティ機能を有しながらも、セキュリティ機能を有することで増大する主制御部110のCPUの処理負荷やコードサイズを最大限抑制することができる。同時に、本実施形態によれば、このような特徴を有するセキュリティ機能を既存の遊技機に比較的簡易に追加することができる。   In the present embodiment, the test value generation unit 500 added as a specific aspect of the security function to be added to the main control unit 110 is configured by a wired logic control type hardware, and the processing load of the main CPU 110a And does not increase code size. Therefore, according to the present embodiment, while the gaming machine 1 has the security function, the processing load and code size of the CPU of the main control unit 110, which increase by having the security function, can be suppressed to the maximum. At the same time, according to the present embodiment, a security function having such a feature can be added to an existing gaming machine relatively easily.

また、本実施形態では、検査値生成部500は、過去に送出した制御コマンドを用いて生成した誤り検査値に対して、更にビット列変換処理を施している。しかも、検査値生成部500は、ビット列変換処理に用いられる変換方式を複数備え、取得した制御コマンドに基づいて適宜変更している。よって、不正者が、制御コマンド及び誤り検査値を複数窃取したとしても、制御コマンドと誤り検査値の対応関係を解析することが更に困難となる。したがって、遊技機1が有する誤り検査値生成機能に対する秘匿性を向上させることができ、遊技機1のセキュリティ強度を更に向上させることができる。   In the present embodiment, the check value generation unit 500 further performs bit string conversion processing on the error check value generated using the control command sent in the past. In addition, the test value generation unit 500 includes a plurality of conversion methods used for the bit string conversion processing, and changes appropriately based on the acquired control command. Therefore, even if an unauthorized person steals a plurality of control commands and error check values, it becomes more difficult to analyze the correspondence between the control commands and error check values. Therefore, the confidentiality of the error check value generation function of the gaming machine 1 can be improved, and the security strength of the gaming machine 1 can be further improved.

また、本実施形態では、検査値生成部500が、ビット列変換処理に用いられる変換方式を適宜変更するための条件である変更条件を複数備えることで、誤り検査値生成機能を予め複数用意している。そして、どのような変更条件に基づいて変換方式が変更されるのかは、主制御部110のブート処理時の初期値設定時以外ではアクセスされないメインROM110bの特定の記憶領域に記憶されているHWパラメータの値に基づいて決定されている。よって、不正者が、制御コマンド及び誤り検査値を複数窃取したとしても、どのような変更条件で変換方式が変更されるのかを解析することが困難となり、制御コマンドと誤り検査値の対応関係を解析することが更に困難となる。したがって、遊技機1が有する誤り検査値生成機能に対する秘匿性を向上させることができ、遊技機1のセキュリティ強度を更に向上させることができる。   Further, in the present embodiment, the check value generation unit 500 includes a plurality of error check value generation functions in advance by providing a plurality of change conditions that are conditions for appropriately changing the conversion method used for the bit string conversion processing. Yes. Based on what change condition the conversion method is changed, the HW parameter stored in a specific storage area of the main ROM 110b that is not accessed except when the initial value is set during the boot process of the main control unit 110 Is determined based on the value of. Therefore, even if an unauthorized person steals multiple control commands and error check values, it is difficult to analyze under what change conditions the conversion method is changed. It becomes more difficult to analyze. Therefore, the confidentiality of the error check value generation function of the gaming machine 1 can be improved, and the security strength of the gaming machine 1 can be further improved.

また、本実施形態では、誤り検査値生成機能及びその選択情報としてのHWパラメータを予め複数種類用意するものの、特定のHWパラメータのみを実装している。よって、ブート処理でのHWパラメータの選択処理に伴うプログラムを新たに設ける必要がなく、プログラムのコードサイズを増大させることもない。また、遊技機メーカーが特定の誤り検査値生成機能だけを採用したい場合などであっても、所望の誤り検査値生成機能に対応したHWパラメータのみを実装すればよく、遊技機メーカーの嗜好や用途に柔軟に対応することができる。したがって、多様性に富んだセキュリティ機能であっても比較的簡易に追加することができ、汎用性の高いセキュリティ機能を提供することができる。また、遊技機1の開発段階中で設計・検証作業等に使用するHWパラメータと、遊技機1の出荷前に実際に実装されるHWパラメータとを変えることにより、最終的にどのHWパラメータが採用されたのかを知り得る者を限定することができ、遊技機1が有する誤り検査値生成機能に対する秘匿性を更に向上させることができる。   In the present embodiment, although a plurality of types of error check value generation functions and HW parameters as selection information thereof are prepared in advance, only specific HW parameters are implemented. Therefore, it is not necessary to newly provide a program associated with the HW parameter selection process in the boot process, and the code size of the program is not increased. Even if a gaming machine manufacturer wants to adopt only a specific error check value generation function, only the HW parameter corresponding to the desired error check value generation function needs to be implemented. Can respond flexibly. Therefore, even diverse security functions can be added relatively easily, and a highly versatile security function can be provided. In addition, by changing the HW parameters used for design / verification work during the development stage of the gaming machine 1 and the HW parameters that are actually mounted before the gaming machine 1 is shipped, which HW parameters are finally adopted. The number of persons who can know whether or not the game has been made can be limited, and the confidentiality of the error check value generation function of the gaming machine 1 can be further improved.

また、本実施形態では、ビット列変換処理に用いられる複数の変換方式として、シフト量が規則的に変動する変換方式Aと、シフト量がランダムに変動する変換方式Bとを設けている。変換方式Bでは、シフト量がランダムに変動するため、変換方式Bを用いてビット列変換処理が施された誤り検査値の各ビットは、ビット列変換処理毎で不規則にシフトする。よって、不正者が、制御コマンド及び誤り検査値を複数窃取したとしても、どのようなシフト量でビット列が変換されているのかを解析することが困難となり、制御コマンドと誤り検査値の対応関係を解析することが更に困難となる。したがって、遊技機1が有する誤り検査値生成機能に対する秘匿性を向上させることができ、遊技機1のセキュリティ強度を更に向上させることができる。   In the present embodiment, as a plurality of conversion methods used for the bit string conversion process, a conversion method A in which the shift amount regularly varies and a conversion method B in which the shift amount varies randomly are provided. In the conversion method B, since the shift amount varies randomly, each bit of the error check value that has been subjected to the bit string conversion processing using the conversion method B is irregularly shifted every bit string conversion processing. Therefore, even if an unauthorized person steals a plurality of control commands and error check values, it becomes difficult to analyze the shift amount by which the bit string is converted. It becomes more difficult to analyze. Therefore, the confidentiality of the error check value generation function of the gaming machine 1 can be improved, and the security strength of the gaming machine 1 can be further improved.

特に、シフト量をランダムに変動させる変換方式Bでは、元の誤り検査値のビット列が異なっていても、ビット列変換処理毎で重複した値を出力する場合があり、不正者が制御コマンドと誤り検査値を複数窃取したとしても、シフト量の変動に関する規則性の有無や変換方式の変更の有無を解析することが困難となり、制御コマンドと誤り検査値の対応関係を解析することが更に困難となる。したがって、遊技機1が有する誤り検査値生成機能に対する秘匿性を向上させることができ、遊技機1のセキュリティ強度を更に向上させることができる。   In particular, in the conversion method B in which the shift amount is randomly changed, even if the bit string of the original error check value is different, a duplicate value may be output for each bit string conversion process. Even if multiple values are stolen, it is difficult to analyze whether there is regularity regarding the shift amount variation and whether the conversion method has been changed, and it is even more difficult to analyze the correspondence between control commands and error check values. . Therefore, the confidentiality of the error check value generation function of the gaming machine 1 can be improved, and the security strength of the gaming machine 1 can be further improved.

また、本実施形態では、シフト量がランダムに変動する変換方式は変換方式Bのみとしている。そして、変換方式Bでビット列が変換された誤り検査値が、制御コマンドに付加されて中間制御部180へ送信されるのは、所定の動作モードの期間の際、すなわち、所定の制御コマンド群が中間制御部180へ送信される期間に限定した。このため、中間制御部180側での誤り検査処理にて元の誤り検査値のビット列に戻す際に、シフト量をランダムに変動させることでビット列変換処理の試行回数が増加する傾向を、最大限抑制することができる。すなわち、本実施形態では、シフト量をランダムに変動させることで制御コマンドと誤り検査値の対応関係が解析困難となりセキュリティ強度を向上させつつも、セキュリティ機能を追加することで増大する処理負荷を最大限抑制することができる。しかも、処理負荷の増大は、リソースに限りのある主制御部110ではなく、リソースに比較的余裕のある中間制御部180が負担することとなり、少ない負担で大きな不正防止効果を得ることができる。   In this embodiment, only the conversion method B is the conversion method in which the shift amount varies randomly. The error check value obtained by converting the bit string by the conversion method B is added to the control command and transmitted to the intermediate control unit 180 during a predetermined operation mode, that is, when a predetermined control command group is The period is limited to the period transmitted to the intermediate control unit 180. Therefore, when returning to the original error check value bit string in the error check process on the intermediate control unit 180 side, the tendency that the number of trials of the bit string conversion process increases by changing the shift amount at random is maximized. Can be suppressed. In other words, in this embodiment, it is difficult to analyze the correspondence between the control command and the error check value by randomly changing the shift amount, and while increasing the security strength, the processing load that is increased by adding the security function is maximized. Can be limited. Moreover, the increase in processing load is borne not by the main control unit 110 having limited resources but by the intermediate control unit 180 having a relatively large amount of resources, and a large fraud prevention effect can be obtained with a small load.

また、本実施形態では、変換方式の具体的な実施態様として、検査値生成部500がビット列変換回路525を備え、ビット列変換回路525を、比較的簡易な回路構成であるシフトレジスタで構成した。このため、本実施形態では、ローテート演算器525aの回路を設計した後は、その回路データをローテート演算器525bにも流用することが可能であり、回路設計やその検証作業に係る開発工数や開発難易度を抑制することができる。すなわち、本実施形態では、複数の変換方式が設けられたことで制御コマンドと誤り検査値の対応関係が解析困難となりセキュリティ強度が向上するという効果を、設けられた変換方式の数よりも少数の演算器を設計するだけで得ることができ、少ない開発コストで大きな不正防止効果を得ることができる。   In this embodiment, as a specific embodiment of the conversion method, the test value generation unit 500 includes the bit string conversion circuit 525, and the bit string conversion circuit 525 is configured with a shift register having a relatively simple circuit configuration. For this reason, in this embodiment, after designing the circuit of the rotate computing unit 525a, the circuit data can be diverted to the rotate computing unit 525b. The difficulty level can be suppressed. That is, in this embodiment, the effect that the correspondence relationship between the control command and the error check value becomes difficult to analyze and the security strength is improved by providing a plurality of conversion methods is smaller than the number of conversion methods provided. It can be obtained simply by designing the computing unit, and a large fraud prevention effect can be obtained with a small development cost.

また、本実施形態では、過去に送出した制御コマンドを用いて生成した誤り検査値に対して、暗号鍵を用いて暗号化処理を施すのではなく、ビット列変換処理を施すこととし、その際の変換方式として、ローテート演算器を用いてビットローテート演算を行う構成とした。暗号鍵を用いて暗号化処理を施す方式では、固定データである暗号鍵情報を、主制御部110に保持させておく必要があり、静的な解析手法で不正に解析されやすい虞れがある。また、暗号鍵情報を、動的な解析手法でしか解析できないような構成とするためには、暗号鍵の交換や共有化及び同期化といった、複雑な処理を新たに設ける必要が生じる。これに対し、本実施形態では、ビット列変換処理を行うビット列変換回路525が、シフト量Aを、内部のローテート演算器525bから出力された誤り検査値及び既存の遊技機が備えるパリティチェック等の演算機能を流用して更新する。加えて、ビット列変換回路525が、シフト量Bを、既存の遊技機で用いられる乱数値を流用して更新する。すなわち、本実施形態では、ビット列変換処理での鍵となるシフト量A、Bを、既存の遊技機が備える構成を流用して更新するという簡易な手法によって変動させて、動的な構成のセキュリティ機能を実現している。しかも、ローテート演算器525a、525bは、比較的簡易な回路構成であるシフトレジスタから構成されており、暗号鍵情報を用いて暗号化処理を施す方式の演算回路と比較し、圧倒的に配線リソースが少ない。このため、本実施形態では、回路設計及び検証作業において、配線リソースによる回路配置調整や遅延時間調整によって動作周波数やダイサイズ等の決定に及ぼす悪影響を抑止することができる。   In the present embodiment, the error check value generated using a control command sent in the past is not subjected to encryption processing using an encryption key, but is subjected to bit string conversion processing. As a conversion method, a rotation operation unit is used to perform a bit rotation operation. In the method of performing the encryption process using the encryption key, it is necessary to store the encryption key information, which is fixed data, in the main control unit 110, and there is a possibility that it is easily analyzed illegally by a static analysis method. . In addition, in order to configure the encryption key information to be analyzed only by a dynamic analysis method, it is necessary to newly provide complicated processing such as encryption key exchange, sharing, and synchronization. On the other hand, in this embodiment, the bit string conversion circuit 525 that performs the bit string conversion processing calculates the shift amount A using the error check value output from the internal rotation calculator 525b and the parity check provided in the existing gaming machine. Update the function. In addition, the bit string conversion circuit 525 updates the shift amount B by using a random value used in an existing game machine. In other words, in this embodiment, the shift amounts A and B, which are the key in the bit string conversion process, are changed by a simple method of using and updating the configuration provided in the existing game machine, thereby providing dynamic configuration security. The function is realized. In addition, the rotation calculators 525a and 525b are composed of shift registers having a relatively simple circuit configuration, and are overwhelmingly compared with an arithmetic circuit that performs encryption processing using encryption key information. Less is. For this reason, in the present embodiment, in circuit design and verification work, it is possible to suppress adverse effects on the determination of the operating frequency, die size, and the like due to circuit placement adjustment and delay time adjustment by wiring resources.

また、本実施形態では、変換方式Bでビット列変換処理を施す場合だけではなく、変換方式Aでビット列変換処理を施す場合にも、シフト量Aを変動させる。具体的には、本実施形態では、変換方式Bでビット列が変換された誤り検査値が制御コマンドに付加される期間以外の際、すなわち、所定の動作モードの期間以外の際でも、変換方式Aで用いられるシフト量Aを、所定の動作モードの期間以外の期間毎で変動させている。このため、本実施形態では、不正者が、制御コマンドに付加された誤り検査値がどのようなシフト量でビット列が変換されているのかを解析することが、所定の動作モードの期間以外に送信された誤り検査値に対しても困難となり、セキュリティ強度を更に向上させることができる。   In this embodiment, the shift amount A is changed not only when the bit string conversion process is performed by the conversion method B but also when the bit string conversion process is performed by the conversion method A. Specifically, in the present embodiment, the conversion method A is used even when the error check value obtained by converting the bit string by the conversion method B is not included in the period when the error check value is added to the control command. The shift amount A used in 1 is varied every period other than the period of the predetermined operation mode. For this reason, in this embodiment, an unauthorized person transmits a bit string converted by the error check value added to the control command in a period other than the predetermined operation mode period. This also makes it difficult to perform the error check value, and can further improve the security strength.

また、本実施形態では、変換方式Aで用いられるシフト量Aを規則的に変動させるために規定されたシフト量Aに係る更新タイミング条件を予め複数備えることで、誤り検査値生成機能を予め複数用意している。そして、どのような更新タイミング条件に基づいてシフト量Aが更新されるのかは、主制御部110のブート処理時の初期値設定時以外ではアクセスされないメインROM110bの特定の記憶領域に記憶されているHWパラメータの値に基づいて決定されている。よって、不正者が、制御コマンド及び誤り検査値を複数窃取したとしても、シフト量Aの更新に関する規則性を解析することが困難となり、制御コマンドと誤り検査値の対応関係を解析することが更に困難となる。したがって、遊技機1が有する誤り検査値生成機能に対する秘匿性を向上させることができ、遊技機1のセキュリティ強度を更に向上させることができる。   Further, in the present embodiment, a plurality of error check value generation functions are provided in advance by providing a plurality of update timing conditions related to the shift amount A defined in order to regularly vary the shift amount A used in the conversion method A. I have prepared it. The update timing condition based on which update amount A is updated is stored in a specific storage area of the main ROM 110b that is not accessed except when an initial value is set during the boot process of the main control unit 110. It is determined based on the value of the HW parameter. Therefore, even if an unauthorized person steals a plurality of control commands and error check values, it is difficult to analyze the regularity regarding the update of the shift amount A, and it is further possible to analyze the correspondence between the control commands and error check values. It becomes difficult. Therefore, the confidentiality of the error check value generation function of the gaming machine 1 can be improved, and the security strength of the gaming machine 1 can be further improved.

また、本実施形態では、変換方式Aで用いられるシフト量Aを、所定の制御コマンド群以外の制御コマンドの中から予め定められた制御コマンドを送信する際に、シフト量Aに所定の設定値を与えてシフト量Aを再設定している。よって、本実施形態では、変換方式Aでビット列が変換された誤り検査値が制御コマンドに付加される期間の際に、それまでの更新によるシフト量Aの変動推移をリセットすることができる。通信エラー等によりシフト量Aの変動が主制御部110側と中間制御部180側とでズレてしまった場合、シフト量Aの変動推移をリセットしないと、変換方式が変換方式Aから変換方式Bへ変更されるまでは、当該ズレは解消されない。しかしながら、本実施形態では、変換方式Aでビット列が変換された誤り検査値が制御コマンドに付加される期間の際に、シフト量Aの変動推移がリセットされることによって、変換方式Aが用いられる当該期間であっても当該ズレを解消することができる。このため、本実施形態では、中間制御部180側での誤り検査処理の確度を向上させることができる。同時に、変換方式Aでビット列が変換された誤り検査値が制御コマンドに付加される期間の際、すなわち、所定の動作モードの期間以外の際でも、シフト量Aが再設定されることにより、制御コマンドと誤り検査値の対応関係が解析困難となり、セキュリティ強度を更に向上させることができる。   In the present embodiment, when the shift amount A used in the conversion method A is transmitted as a predetermined control command from among control commands other than the predetermined control command group, a predetermined set value is set for the shift amount A. And the shift amount A is reset. Therefore, in the present embodiment, during the period in which the error check value obtained by converting the bit string by the conversion method A is added to the control command, it is possible to reset the change transition of the shift amount A due to the update so far. When the shift amount A shifts between the main control unit 110 and the intermediate control unit 180 due to a communication error or the like, the conversion method changes from the conversion method A to the conversion method B unless the change transition of the shift amount A is reset. The deviation will not be resolved until changed to. However, in this embodiment, the conversion method A is used by resetting the change transition of the shift amount A during the period in which the error check value in which the bit string is converted by the conversion method A is added to the control command. The shift can be eliminated even during the period. For this reason, in this embodiment, the accuracy of the error checking process on the intermediate control unit 180 side can be improved. At the same time, the shift amount A is reset in the period when the error check value in which the bit string is converted by the conversion method A is added to the control command, that is, in the period other than the period of the predetermined operation mode. It is difficult to analyze the correspondence between the command and the error check value, and the security strength can be further improved.

また、本実施形態では、変換方式Aで用いられるシフト量Aを再設定するための条件であるリセット条件を予め複数備えることで、誤り検査値生成機能を予め複数用意している。そして、どのようなリセット条件に基づいてシフト量Aが再設定されるのかは、主制御部110のブート処理時の初期値設定時以外ではアクセスされないメインROM110bの特定の記憶領域に記憶されているHWパラメータの値に基づいて決定されている。よって、不正者が、制御コマンド及び誤り検査値を複数窃取したとしても、シフト量Aの再設定に関する規則性を解析することが困難となり、制御コマンドと誤り検査値の対応関係を解析することが更に困難となる。したがって、遊技機1が有する誤り検査値生成機能に対する秘匿性を向上させることができ、遊技機1のセキュリティ強度を更に向上させることができる。   In the present embodiment, a plurality of error check value generation functions are prepared in advance by providing a plurality of reset conditions, which are conditions for resetting the shift amount A used in the conversion method A, in advance. The reset condition based on which reset amount A is reset is stored in a specific storage area of the main ROM 110b that is not accessed except when the initial value is set during the boot process of the main control unit 110. It is determined based on the value of the HW parameter. Therefore, even if an unauthorized person steals a plurality of control commands and error check values, it becomes difficult to analyze the regularity regarding the resetting of the shift amount A, and the correspondence relationship between the control commands and error check values can be analyzed. It becomes even more difficult. Therefore, the confidentiality of the error check value generation function of the gaming machine 1 can be improved, and the security strength of the gaming machine 1 can be further improved.

また、本実施形態では、主制御部110に対する認証機能は、通常の遊技進行に係る処理を行う周辺制御部300とは別個独立した中間制御部180に備えられている。よって、例えば、中間制御部180が主制御部110と演出制御部120との間に設けられているとき、演出制御部120で認証処理が実行されるのは、中間制御部180から認証結果データを受信した場合のみである。すなわち、認証処理を行うことによって演出制御部120のサブCPU120aの処理負荷が増大するのは、認証結果データを受信したときのみであるため、演出制御部120の処理負荷が増大する割合を抑えることができる。また、演出制御部120が実行するプログラムには、認証結果データ解析処理に関するプログラムコードを追加するだけでよい。したがって、演出制御部120が実行するプログラム全体にわたっての新たなタイミング設計を行う必要がないので、認証機能を追加する際の実装及び検証作業を、より簡単に少ない作業工数で実施することができる。また、この場合、演出制御部120が実行する認証結果データ解析処理は、主として中間制御部180で認証処理が成功したか否かを判断する処理である。このため、演出制御部120には、誤り検査値の生成、ビット列の変換、及びシフト量の更新等の主制御部110の誤り検査値生成機能に対応する誤り検査値出力機能を搭載しなくてよい。よって、演出制御部120の開発時には、主制御部110の誤り検査値生成機能及び中間制御部180の誤り検査値出力機能を開示する必要がなく、誤り検査値生成機能及び誤り検査値出力機能に対する秘匿性を更に向上させることができ、遊技機1のセキュリティ強度を更に向上させることができる。   In the present embodiment, the authentication function for the main control unit 110 is provided in the intermediate control unit 180 that is independent of the peripheral control unit 300 that performs processing related to normal game progression. Therefore, for example, when the intermediate control unit 180 is provided between the main control unit 110 and the effect control unit 120, the authentication process is executed by the effect control unit 120 from the authentication result data from the intermediate control unit 180. Is only received. That is, the processing load of the sub CPU 120a of the effect control unit 120 increases only when the authentication result data is received by performing the authentication process, and thus the rate at which the processing load of the effect control unit 120 increases is suppressed. Can do. Further, it is only necessary to add a program code related to the authentication result data analysis process to the program executed by the effect control unit 120. Therefore, since it is not necessary to perform a new timing design over the entire program executed by the effect control unit 120, the mounting and verification work when adding the authentication function can be performed more easily and with less work man-hours. In this case, the authentication result data analysis process executed by the effect control unit 120 is mainly a process of determining whether or not the authentication process is successful in the intermediate control unit 180. For this reason, the production control unit 120 does not have to be equipped with an error check value output function corresponding to the error check value generation function of the main control unit 110 such as error check value generation, bit string conversion, and shift amount update. Good. Therefore, when developing the production control unit 120, it is not necessary to disclose the error check value generation function of the main control unit 110 and the error check value output function of the intermediate control unit 180, and the error check value generation function and the error check value output function are not disclosed. The confidentiality can be further improved, and the security strength of the gaming machine 1 can be further improved.

また、本実施形態では、主制御部110と演出制御部120との間に中間制御部180が設けられているので、主制御部110を構成するメインCPU110aと演出制御部120を構成するサブCPU120aとの間の処理能力の差異や、主制御部110を構成するメインROM110bやメインRAM110cと演出制御部120を構成するサブROM120bやサブRAM120cとの間の記憶容量の差異を、中間制御部180において吸収することができる。これにより、主制御部110と演出制御部120との間で処理能力や記憶容量に差異がある場合でも、主制御部110と演出制御部120との間のセキュリティ強度を維持することができる。なお、このことは、中間制御部180が、主制御部110と周辺制御部300の他の制御部との間に設けられた場合も同様である。   In the present embodiment, since the intermediate control unit 180 is provided between the main control unit 110 and the effect control unit 120, the main CPU 110 a configuring the main control unit 110 and the sub CPU 120 a configuring the effect control unit 120. In the intermediate control unit 180, the difference in processing capacity between the main ROM 110b and the main RAM 110c constituting the main control unit 110 and the storage capacity difference between the sub ROM 120b and the sub RAM 120c constituting the effect control unit 120 Can be absorbed. Thereby, even when there is a difference in processing capacity and storage capacity between the main control unit 110 and the effect control unit 120, the security strength between the main control unit 110 and the effect control unit 120 can be maintained. This also applies to the case where the intermediate control unit 180 is provided between the main control unit 110 and another control unit of the peripheral control unit 300.

本実施形態では、取得手段510のデータ判別回路511と生成手段520の格納回路522とを接続し、格納回路522の入力側にはデータ判別回路511が配置され、格納回路522の出力側には生成回路521が配置されるような回路構成とした。すなわち、本実施形態では、格納回路522で格納する対象を、取得手段510から出力された制御コマンドとした。しかしながら、本発明はこれに限定されず、格納回路522を生成回路521の出力側に設け、格納回路522で格納する対象を誤り検査値としてもよい。なお、中間制御部180においても、格納部622で格納する対象を誤り検査値としてもよいし、制御コマンドとしてもよい。また、主制御部110での格納対象と、中間制御部180での格納対象とが異なってもよい。   In this embodiment, the data discrimination circuit 511 of the acquisition unit 510 and the storage circuit 522 of the generation unit 520 are connected, and the data discrimination circuit 511 is disposed on the input side of the storage circuit 522, and the output side of the storage circuit 522 is connected. The circuit configuration is such that the generation circuit 521 is arranged. That is, in the present embodiment, the object to be stored in the storage circuit 522 is the control command output from the acquisition unit 510. However, the present invention is not limited to this, and the storage circuit 522 may be provided on the output side of the generation circuit 521 so that an object to be stored in the storage circuit 522 may be an error check value. In the intermediate control unit 180 as well, the object stored in the storage unit 622 may be an error check value or a control command. Further, the storage target in the main control unit 110 and the storage target in the intermediate control unit 180 may be different.

また、このとき、格納回路522を生成回路521の出力側に設けず、保存回路526を、遡及数のNの値に対応するN個の記憶領域を有するFIFOメモリで構成し、N個のビット列が変換された誤り検査値を保存することとしてもよい。このようにすることで、格納回路522が不要となり、検査値生成部500の回路構成をより簡単にすることができる。また、このとき、FIFOメモリの各記憶領域にアドレスを割り当てておき、メインCPU110aが任意の記憶領域から誤り検査値を読み出し可能に構成してもよい。このようにすることで、メインCPU110aは、認証処理用プログラムをカスタマイズするだけで遡及数のNの値を変えることができる。このため、制御コマンドと誤り検査値の対応関係を機種毎や遊技機メーカー毎で変更することが比較的容易であり、柔軟性の高いセキュリティ機能を提供することができる。   Further, at this time, the storage circuit 522 is not provided on the output side of the generation circuit 521, and the storage circuit 526 is configured by a FIFO memory having N storage areas corresponding to the N values of retroactive numbers, and N bit strings. It is also possible to store the converted error check value. By doing so, the storage circuit 522 is not necessary, and the circuit configuration of the test value generation unit 500 can be further simplified. At this time, an address may be assigned to each storage area of the FIFO memory so that the main CPU 110a can read the error check value from an arbitrary storage area. By doing so, the main CPU 110a can change the value of the retroactive number N only by customizing the authentication processing program. For this reason, it is relatively easy to change the correspondence between the control command and the error check value for each model or for each gaming machine manufacturer, and a highly flexible security function can be provided.

また、本実施形態では、メインCPU110aが制御コマンドに誤り検査値を付加するタイミングは、遊技処理用プログラムに規定された認証処理用プログラムの呼び出し命令によって規定されているとして説明した。これは、メインCPU110aがコマンド送信処理を行うたびに検査値付加処理を実行してもよいことが含まれる。すなわち、本発明では、メインCPU110aが、送信する制御コマンドに毎回誤り検査値を付加してもよい。この場合、図15のステップS76の処理及び図18のステップS4070の処理は不要となる。そして、中間制御部180側では、制御コマンドを受信するたびに誤り検査処理を行うので、常時不正の有無を検査することができる。   Further, in the present embodiment, the timing at which the main CPU 110a adds the error check value to the control command has been described as being defined by an authentication processing program call instruction defined in the game processing program. This includes that the test value adding process may be executed every time the main CPU 110a performs the command transmission process. That is, in the present invention, the main CPU 110a may add an error check value to the transmitted control command every time. In this case, the process of step S76 in FIG. 15 and the process of step S4070 in FIG. 18 are not necessary. Since the intermediate control unit 180 performs an error check process every time it receives a control command, it can always check for fraud.

また、メインCPU110aが、送信する制御コマンドに毎回誤り検査値を付加する場合でも、メインCPU110aは、検査値生成部500から読み出した誤り検査値を、直ちに送信部550へ書き込んで、送信する制御コマンドに付加しなくてもよい。すなわち、メインCPU110aは、今回送信する制御コマンドが制御コマンド(P)であり、検査値生成部500から読み出した誤り検査値が誤り検査値(P−N)である場合、読み出した誤り検査値(P−N)を保存しておく。そして、メインCPU110aは、Q個後(Q;非負の整数)に送信する制御コマンド(P+Q)に対して、保存しておいた誤り検査値(P−N)を付加することとしてもよい。   Even when the main CPU 110a adds an error check value to the control command to be transmitted every time, the main CPU 110a immediately writes the error check value read from the check value generation unit 500 to the transmission unit 550 and transmits the control command. It is not necessary to add to. That is, when the control command to be transmitted this time is the control command (P) and the error check value read from the check value generation unit 500 is the error check value (PN), the main CPU 110a reads the error check value ( P−N) is saved. Then, the main CPU 110a may add the stored error check value (P−N) to the control command (P + Q) transmitted after Q (Q: non-negative integer).

この場合での誤り検査値の付加手順の例を、図24に示す。図24では、格納しておいた制御コマンドがクリアされてから11番目に出力された制御コマンド(制御コマンド(1)〜制御コマンド(11))までの例を示している。また、図24では、誤り検査値(P)に対し、変換方式Aでビット列変換処理を施したものを「誤り検査値(PA)」と表記し、変換方式Bでビット列変換処理を施したものを「誤り検査値(PB)」と表記している。また、ビット列変換処理を施す際に用いるシフト量Aを適宜更新していくが、更新前のデフォルトのシフト量Aを用いてビット列変換処理を施したものを「誤り検査値(PA)」とし、更新毎に「誤り検査値(PA)」、「誤り検査値(PA)」、・・・と表記している。誤り検査値(PB)も同様である。また、図24では、再設定後のシフト量Aを用いてビット列変換処理を施したものも「誤り検査値(PA)」と表記する。そして、N=2、Q=1としている。 An example of the procedure for adding an error check value in this case is shown in FIG. FIG. 24 shows an example of control commands (control command (1) to control command (11)) output eleventh after the stored control command is cleared. Also, in FIG. 24, the bit string conversion process performed by the conversion method A on the error check value (P) is expressed as “error check value (PA)”, and the bit string conversion process is performed by the conversion method B. Is expressed as “error check value (PB)”. Further, the shift amount A used when performing the bit string conversion process is updated as appropriate, but the bit string conversion process using the default shift amount A before the update is referred to as “error check value (PA 0 )”. .., “Error check value (PA 1 )”, “Error check value (PA 2 )”,... The same applies to the error check value (PB). Further, in FIG. 24, a bit string conversion process that uses the reset shift amount A is also expressed as “error check value (PA 0 )”. N = 2 and Q = 1.

また、図24では、デフォルトの変換方式を変換方式Aとしている。すなわち、変換方式情報記憶領域(CM)には変換方式Aに相当する変換方式情報の値が記憶されているが、図24では便宜上、CM=Aと表記している。そして、図24では、変更条件を満たす制御コマンドは、所定の制御コマンド群のうち最初に生成される制御コマンド、及び、所定の制御コマンド群の生成が終了した後に最初に生成される制御コマンドのどちらかとしている。また、変更方式として、変更条件を満たす制御コマンドが生成される毎に、変換方式を変換方式A→変換方式B、変換方式B→変換方式Aと決定する方式を採用している。また、シフト量Aは、変換方式が変換方式B→変換方式Aに変更される毎に、更新後のシフト量Aが用いられるものとし、シフト量Bは、コマンド送信処理毎に、更新後のシフト量Bが用いられるものとする。   In FIG. 24, the default conversion method is the conversion method A. That is, in the conversion method information storage area (CM), a value of conversion method information corresponding to the conversion method A is stored, but in FIG. 24, CM = A is shown for convenience. In FIG. 24, the control command that satisfies the change condition is the control command that is generated first among the predetermined control command group and the control command that is generated first after the generation of the predetermined control command group is completed. Either. As the change method, a method is adopted in which the conversion method is determined as conversion method A → conversion method B and conversion method B → conversion method A every time a control command that satisfies the change condition is generated. As for the shift amount A, the updated shift amount A is used every time the conversion method is changed from conversion method B to conversion method A, and the shift amount B is updated after each command transmission process. It is assumed that the shift amount B is used.

制御コマンド(1)を送信する場合、図24では、N=2であり、現在はP=1(P≦N)であるであるため、検査値生成部500から読み出した誤り検査値は、固有情報を用いて生成された初期検査値(1)となる。そして、Q=1であるため、初期検査値(1)は、今回送信する制御コマンド(1)には付加せず保持しておき、次回送信する制御コマンド(2)に付加する。図24では、制御コマンド(1)には、初期検査値(1)の替わりにダミーデータを付加している。   In the case of transmitting the control command (1), in FIG. 24, N = 2 and P = 1 (P ≦ N) at present, so the error check value read from the check value generation unit 500 is unique. This is the initial inspection value (1) generated using the information. Since Q = 1, the initial inspection value (1) is held without being added to the control command (1) to be transmitted this time, and is added to the control command (2) to be transmitted next time. In FIG. 24, dummy data is added to the control command (1) instead of the initial inspection value (1).

制御コマンド(2)を送信する場合、検査値生成部500から読み出した誤り検査値は、固有情報を用いて生成された初期検査値(2)となる。そして、上記と同様に、初期検査値(2)は、今回送信する制御コマンド(2)には付加せず保持しておき、次回送信する制御コマンド(3)に付加する。そして、今回送信する制御コマンド(2)には、前回読み出した初期検査値(1)を付加する。   When the control command (2) is transmitted, the error check value read from the check value generation unit 500 becomes the initial check value (2) generated using the unique information. Similarly to the above, the initial inspection value (2) is held without being added to the control command (2) to be transmitted this time, and is added to the control command (3) to be transmitted next time. The previously read initial inspection value (1) is added to the control command (2) transmitted this time.

制御コマンド(3)を送信する場合、検査値生成部500から読み出した誤り検査値は、制御コマンド(1)を用いて生成された誤り検査値であって、デフォルトの変換方式Aでビット列が変換された誤り検査値(1A)となる。そして、上記と同様に、誤り検査値(1A)は、今回送信する制御コマンド(3)には付加せず保持しておき、次回送信する制御コマンド(4)に付加する。そして、今回送信する制御コマンド(3)には、前回読み出した初期検査値(2)を付加する。制御コマンド(4)を送信する場合も同様であり、制御コマンド(4)には、誤り検査値(1A)を付加する。 When transmitting the control command (3), the error check value read from the check value generation unit 500 is an error check value generated using the control command (1), and the bit string is converted by the default conversion method A. Error check value (1A 0 ). Similarly to the above, the error check value (1A 0 ) is held without being added to the control command (3) to be transmitted this time, and is added to the control command (4) to be transmitted next time. The previously read initial inspection value (2) is added to the control command (3) transmitted this time. The same applies when transmitting the control command (4), and an error check value (1A 0 ) is added to the control command (4).

制御コマンド(5)を送信する場合、制御コマンド(5)は、所定の制御コマンド群の最初に生成された制御コマンドであるため、変換方式がデフォルトの変換方式A→変換方式Bに変更される。よって、検査値生成部500から読み出した誤り検査値は、制御コマンド(3)を用いて生成された誤り検査値であって、変換方式Bでビット列が変換された誤り検査値(3B)となる。そして、上記と同様に、誤り検査値(3B)は、今回送信する制御コマンド(5)には付加せず保持しておき、次回送信する制御コマンド(6)に付加する。そして、今回送信する制御コマンド(5)には、前回読み出した誤り検査値(2A)を付加する。 When transmitting the control command (5), since the control command (5) is a control command generated at the beginning of a predetermined control command group, the conversion method is changed from the default conversion method A to the conversion method B. . Therefore, the error check value read from the check value generation unit 500 is an error check value generated using the control command (3), and an error check value (3B 0 ) obtained by converting the bit string by the conversion method B. Become. Similarly to the above, the error check value (3B 0 ) is retained without being added to the control command (5) transmitted this time, and is added to the control command (6) transmitted next time. Then, the previously read error check value (2A 0 ) is added to the control command (5) transmitted this time.

制御コマンド(6)を送信する場合、制御コマンド(6)は、所定の制御コマンド群の制御コマンドであるため、変換方式は変換方式Bのまま維持されるが、変換方式Bでは、毎回、シフト量Bが更新される。よって、検査値生成部500から読み出した誤り検査値は、制御コマンド(4)を用いて生成された誤り検査値であって、変換方式Bでビット列が変換された誤り検査値(4B)となる。そして、上記と同様に、誤り検査値(4B)は、今回送信する制御コマンド(6)には付加せず保持しておき、次回送信する制御コマンド(7)に付加する。そして、今回送信する制御コマンド(6)には、前回読み出した誤り検査値(3B)を付加する。制御コマンド(7)を送信する場合も同様であり、制御コマンド(7)には、誤り検査値(4B)を付加する。 When the control command (6) is transmitted, since the control command (6) is a control command of a predetermined control command group, the conversion method is maintained as the conversion method B. However, in the conversion method B, a shift is performed each time. The quantity B is updated. Therefore, the error check value read from the check value generation unit 500 is an error check value generated using the control command (4), and is an error check value (4B 1 ) in which the bit string is converted by the conversion method B. Become. Similarly to the above, the error check value (4B 1 ) is held without being added to the control command (6) to be transmitted this time, and is added to the control command (7) to be transmitted next time. Then, the previously read error check value (3B 0 ) is added to the control command (6) transmitted this time. The same applies when transmitting the control command (7), and an error check value (4B 1 ) is added to the control command (7).

制御コマンド(8)を送信する場合、制御コマンド(8)は、所定の制御コマンド群の生成が終了した後に最初に生成される制御コマンドであるため、変換方式は変換方式B→変換方式Aに変更され、シフト量Aも更新されている。よって、検査値生成部500から読み出した誤り検査値は、制御コマンド(6)を用いて生成された誤り検査値であって、変換方式Aでビット列が変換された誤り検査値(6A)となる。そして、上記と同様に、誤り検査値(6A)は、今回送信する制御コマンド(8)には付加せず保持しておき、次回送信する制御コマンド(9)に付加する。そして、今回送信する制御コマンド(8)には、前回読み出した誤り検査値(5B)を付加する。制御コマンド(9)を送信する場合も同様であり、制御コマンド(9)には、誤り検査値(6A)を付加する。 When transmitting the control command (8), since the control command (8) is a control command that is generated first after generation of a predetermined control command group, the conversion method is changed from conversion method B to conversion method A. The shift amount A is also updated. Therefore, the error check value read from the check value generation unit 500 is an error check value generated using the control command (6), and the error check value (6A 1 ) obtained by converting the bit string by the conversion method A. Become. Similarly to the above, the error check value (6A 1 ) is held without being added to the control command (8) to be transmitted this time, and is added to the control command (9) to be transmitted next time. Then, the previously read error check value (5B 2 ) is added to the control command (8) transmitted this time. The same applies when the control command (9) is transmitted, and an error check value (6A 1 ) is added to the control command (9).

制御コマンド(10)を送信する場合、制御コマンド(10)は、シフト量Aのリセット条件を満たす制御コマンドであるため、シフト量Aが再設定される。よって、検査値生成部500から読み出した誤り検査値は、制御コマンド(8)を用いて生成された誤り検査値であって、変換方式Aでビット列が変換された誤り検査値(8A)となる。そして、上記と同様に、誤り検査値(8A)は、今回送信する制御コマンド(10)には付加せず保持しておき、次回送信する制御コマンド(11)に付加する。そして、今回送信する制御コマンド(10)には、前回読み出した誤り検査値(7A)を付加する。制御コマンド(11)を送信する場合も同様であり、制御コマンド(11)には、誤り検査値(8A)を付加する。以後、同様な処理を行いながら誤り検査値が付加される。 When the control command (10) is transmitted, the shift command A is reset because the control command (10) is a control command that satisfies the reset condition of the shift program A. Therefore, the error check value read from the check value generation unit 500 is an error check value generated using the control command (8), and is an error check value (8A 0 ) obtained by converting the bit string by the conversion method A. Become. Similarly to the above, the error check value (8A 0 ) is held without being added to the control command (10) to be transmitted this time, and is added to the control command (11) to be transmitted next time. Then, the previously read error check value (7A 1 ) is added to the control command (10) transmitted this time. The same applies when the control command (11) is transmitted, and an error check value (8A 0 ) is added to the control command (11). Thereafter, an error check value is added while performing the same processing.

このように、本実施形態では、検査値生成部500から読み出した誤り検査値と、実際に制御コマンドに付加される誤り検査値とを異なられせることができるため、不正者が制御コマンドと誤り検査値との対応関係を解析することが困難となり、遊技機1のセキュリティ強度を更に向上させることができる。   As described above, in this embodiment, since the error check value read from the check value generation unit 500 and the error check value actually added to the control command can be made different from each other, It becomes difficult to analyze the correspondence relationship with the inspection value, and the security strength of the gaming machine 1 can be further improved.

また、本実施形態では、HWパラメータは、デフォルトの変更条件、シフト量Aに係る更新タイミング条件、及びシフト量Aに係るリセット条件を決定するための選択情報として定義したが、本発明はこれに限定されない。例えば、HWパラメータをデフォルトの変換方式を決定する選択情報と定義することもできる。HWパラメータで変換方式を決定する場合、決定回路542には、予め複数の変換方式を用意しておき、HWパラメータと対応付けておく。そして、決定回路542は、ブート処理の際に、メインCPU110aから設定されたHWパラメータに対応する特定の変換方式を示す変換方式情報を、変換方式情報記憶領域(CM)に記憶して変換方式制御信号を出力し、生成手段520への設定を行えばよい。   In the present embodiment, the HW parameter is defined as selection information for determining a default change condition, an update timing condition related to the shift amount A, and a reset condition related to the shift amount A. It is not limited. For example, the HW parameter can be defined as selection information for determining a default conversion method. When the conversion method is determined by the HW parameter, the determination circuit 542 prepares a plurality of conversion methods in advance and associates them with the HW parameter. The determination circuit 542 stores conversion method information indicating a specific conversion method corresponding to the HW parameter set by the main CPU 110a in the conversion method information storage area (CM) during the boot process, and controls the conversion method. A signal may be output and setting to the generation unit 520 may be performed.

また、HWパラメータは、決定手段540で用いる変更方式を決定するための選択情報としても定義することができる。例えば、HWパラメータで変更方式を決定する場合、決定回路542には、予め定められた変換方式の変更順序等を規定する変更方式を複数用意しておき、HWパラメータと対応付けておく。そして、決定回路542は、ブート処理の際に、メインCPU110aから設定されたHWパラメータに対応する特定の変更方式を所定の記憶領域に記憶しておき、記憶した変更方式に従って変換方式を変更させていけばよい。   The HW parameter can also be defined as selection information for determining a change method used by the determination unit 540. For example, when the change method is determined by the HW parameter, the determination circuit 542 prepares a plurality of change methods for defining a change order of predetermined conversion methods and associates them with the HW parameter. Then, the determination circuit 542 stores a specific change method corresponding to the HW parameter set from the main CPU 110a in a predetermined storage area during the boot process, and changes the conversion method according to the stored change method. I'll do it.

また、HWパラメータは、生成手段520で用いるシフト量Bに係る更新方式を決定するための選択情報としても定義することができる。例えば、HWパラメータでシフト量Bに係る更新タイミング条件を決定する場合、ビット列変換回路525を担うシフト量制御部525cには、既存の遊技機が備える複数の乱数生成回路から乱数値を取得可能に接続しておき、それぞれの乱数生成回路とHWパラメータとを対応付けておく。そして、シフト量制御部525cは、ブート処理の際に、メインCPU110aから設定されたHWパラメータに対応する特定の乱数生成回路との接続のみを有効に作動させ、特定の乱数生成回路から取得される乱数値を用いてシフト量Bを更新していけばよい。   The HW parameter can also be defined as selection information for determining an update method related to the shift amount B used by the generation unit 520. For example, when the update timing condition related to the shift amount B is determined by the HW parameter, the shift amount control unit 525c responsible for the bit string conversion circuit 525 can acquire random number values from a plurality of random number generation circuits provided in an existing gaming machine. Each of the random number generation circuits and the HW parameters are associated with each other. In the boot process, the shift amount control unit 525c effectively operates only the connection with the specific random number generation circuit corresponding to the HW parameter set by the main CPU 110a, and is acquired from the specific random number generation circuit. The shift amount B may be updated using a random value.

また、HWパラメータは、シフト量Aの再設定に用いる上記所定の設定値を決定するための選択情報としても定義できる。例えば、HWパラメータで設定値を決定する場合、ビット列変換回路525を担うシフト量制御部525cには、複数の設定値を用意しておき、HWパラメータと対応付けおく。そして、シフト量制御部525cは、ブート処理の際に、メインCPU110aから設定されたHWパラメータに対応する特定の設定値を、所定の記憶領域に記憶しておき、記憶した設定値を用いてシフト量Aを再設定すればよい。   The HW parameter can also be defined as selection information for determining the predetermined set value used for resetting the shift amount A. For example, when the set value is determined by the HW parameter, a plurality of set values are prepared in the shift amount control unit 525c that bears the bit string conversion circuit 525 and associated with the HW parameter. Then, the shift amount control unit 525c stores a specific setting value corresponding to the HW parameter set from the main CPU 110a in a predetermined storage area during the boot process, and shifts using the stored setting value. The amount A may be reset.

すなわち、本発明において、HWパラメータは、決定手段540で用いる変更条件や生成手段520で用いるシフト量Aに係る更新タイミング条件及びリセット条件を決定するための選択情報に限定されず、変換方式に係る変更プロトコルやシフト量の更新及び再設定に係る規則を決定するための選択情報として定義することができる。つまり、HWパラメータは、変換方式に係る変更プロトコルやシフト量の更新及び再設定に係る規則を実施態様とした誤り検査値生成機能に対する選択情報である。   In other words, in the present invention, the HW parameter is not limited to the change condition used in the determination unit 540 or the selection information for determining the update timing condition and the reset condition related to the shift amount A used in the generation unit 520, and is related to the conversion method. It can be defined as selection information for determining a rule relating to updating and resetting of a change protocol and shift amount. That is, the HW parameter is selection information for the error check value generation function in which the change protocol related to the conversion method and the rule related to update and reset of the shift amount are implemented.

このように、本発明では、誤り検査値生成機能が、主制御部110のブート処理時の初期値設定時以外ではアクセスされないメインROM110bの特定の記憶領域に記憶されているHWパラメータの値に基づいて決定される。よって、不正者が、制御コマンド及び誤り検査値を複数窃取したとしても、遊技機1にどのような誤り検査値生成機能が搭載されているのかを解析することが困難となり、誤り検査値生成機能に対する秘匿性は向上し、遊技機1のセキュリティ強度をより一層向上させることができる。   As described above, in the present invention, the error check value generation function is based on the value of the HW parameter stored in the specific storage area of the main ROM 110b that is not accessed except when the initial value is set during the boot process of the main control unit 110. Determined. Therefore, even if an unauthorized person steals a plurality of control commands and error check values, it becomes difficult to analyze what error check value generation function is installed in the gaming machine 1, and the error check value generation function The confidentiality of the game machine 1 is improved, and the security strength of the gaming machine 1 can be further improved.

また、本実施形態では、判定回路541は、取得手段510から出力された制御コマンドが変更条件を満たしているとき、当該制御コマンドが変更条件を満たす制御コマンドであることを示す判定結果信号を、毎回出力しなくともよい。すなわち、判定回路541は、取得手段510から出力された制御コマンドが、変更条件を満たす制御コマンドであっても、決定回路542にて変換方式が変更されなくなり、不正者が変換方式の変更条件を解析することが更に困難となる。   In the present embodiment, when the control command output from the acquisition unit 510 satisfies the change condition, the determination circuit 541 generates a determination result signal indicating that the control command is a control command that satisfies the change condition. It is not necessary to output every time. That is, even if the control command output from the acquisition unit 510 is a control command that satisfies the change condition, the determination circuit 541 does not change the conversion method in the determination circuit 542, and the unauthorized person sets the conversion method change condition. It becomes more difficult to analyze.

更に、判定回路541は、制御コマンドが入力される度に、判定結果信号自体を毎回出力しなくともよい。この場合、取得手段510の制御回路512と、決定回路542とを直接制御線で接続しておき、制御回路512から決定回路542へ作動許可信号を出力させる。決定回路542は、当該作動許可信号の入力に基づいて、変換方式設定処理を行えばよい。更に、取得手段510の制御回路512と、決定手段540の判定回路541や決定回路542とを接続するのではなく、生成手段520の制御回路523とこれらとを接続し、制御回路523から判定回路541や決定回路542へ作動許可信号を出力させるようにしてもよい。   Furthermore, the determination circuit 541 does not have to output the determination result signal itself every time a control command is input. In this case, the control circuit 512 of the acquisition unit 510 and the determination circuit 542 are directly connected by a control line, and an operation permission signal is output from the control circuit 512 to the determination circuit 542. The determination circuit 542 may perform the conversion method setting process based on the input of the operation permission signal. Further, the control circuit 512 of the acquisition unit 510 is not connected to the determination circuit 541 and the determination circuit 542 of the determination unit 540, but is connected to the control circuit 523 of the generation unit 520 and the determination circuit is connected to the determination circuit. The operation permission signal may be output to 541 or the determination circuit 542.

また、本実施形態では、リセット判定回路528は、判定回路541とは別個の判定回路として生成手段520の中に設けたが、本発明はこれに限定されず、リセット判定回路528を決定手段540の判定回路541に組み込んで、判定回路541と一体の回路構成としてもよい。このとき、判定回路541では、変更条件及びリセット条件を判定回路541が用いる判定条件とし、判定回路541の出力側をビット列変換回路525を担うシフト量制御部525cと制御線で接続しておく。そして、取得手段510から出力された制御コマンドがリセット条件を満たす制御コマンドであれば、シフト量制御部525cへシフト量Aリセット信号を出力することとすればよい。また、決定回路542には、予め複数のリセット条件を用意しておき、HWパラメータと対応付けておく。そして、決定回路542は、ブート処理の際に、メインCPU110aから設定されたHWパラメータに対応する特定のリセット条件を、判定回路541へ出力すればよい。   In this embodiment, the reset determination circuit 528 is provided in the generation unit 520 as a determination circuit separate from the determination circuit 541. However, the present invention is not limited to this, and the reset determination circuit 528 is determined by the determination unit 540. The determination circuit 541 may be integrated with the determination circuit 541. At this time, the determination circuit 541 uses the change condition and the reset condition as the determination conditions used by the determination circuit 541, and the output side of the determination circuit 541 is connected to the shift amount control unit 525c serving as the bit string conversion circuit 525 through a control line. If the control command output from the acquiring unit 510 is a control command that satisfies the reset condition, a shift amount A reset signal may be output to the shift amount control unit 525c. The determination circuit 542 prepares a plurality of reset conditions in advance and associates them with HW parameters. The determination circuit 542 may output a specific reset condition corresponding to the HW parameter set from the main CPU 110a to the determination circuit 541 during the boot process.

また、本実施形態では、リセット判定回路528が用いる判定条件であるリセット条件は、取得手段510から出力された制御コマンドが、所定の制御コマンド群以外の制御コマンドの中から予め定められた制御コマンドであることとした。しかしながら、本発明はこれに限定されず、予め定められた誤り検査値をリセット条件に用いることもできる。例えば、変換方式Aでビット列が変換された誤り検査値が制御コマンドに付加される期間の際には、ビット列変換回路525を担うローテート演算器525bから出力された誤り検査値は、入力選択回路524を介して保存回路526へ出力されないものの、シフト量制御部525cへ出力される。このローテート演算器525bから出力された誤り検査値、すなわち、変換方式Aでビット列が変換された誤り検査値が制御コマンドに付加される期間の際に変換方式Bでビット列が変換された誤り検査値が、所定の誤り検査値であれば、シフト量Aを再設定すると取り決めておけばよい。そして、シフト量制御部525cには、リセット判定回路528に相当する判定手段を備えておくと共に、リセット条件を、変換方式Aでビット列が変換された誤り検査値が制御コマンドに付加される期間の際に変換方式Bでビット列が変換された誤り検査値が、所定の誤り検査値であること取り決めておけばよい。   In the present embodiment, the reset condition that is the determination condition used by the reset determination circuit 528 is that the control command output from the acquisition unit 510 is a control command determined in advance from control commands other than a predetermined control command group. It was decided that. However, the present invention is not limited to this, and a predetermined error check value can also be used as the reset condition. For example, during a period in which an error check value whose bit string has been converted by the conversion method A is added to the control command, the error check value output from the rotate arithmetic unit 525b serving as the bit string conversion circuit 525 is the input selection circuit 524. Is not output to the storage circuit 526, but is output to the shift amount control unit 525c. The error check value output from the rotation calculator 525b, that is, the error check value in which the bit string is converted in the conversion method B during the period in which the error check value in which the bit string is converted in the conversion method A is added to the control command. However, if it is a predetermined error check value, it may be determined that the shift amount A is reset. The shift amount control unit 525c includes a determination unit corresponding to the reset determination circuit 528, and the reset condition is a period in which an error check value obtained by converting the bit string by the conversion method A is added to the control command. In this case, it may be determined that the error check value obtained by converting the bit string by the conversion method B is a predetermined error check value.

また、本実施形態では、P=1の場合に、固有情報を初期設定値として生成手段520に設定した。そして、P≦Nの場合に、主制御部110では、制御コマンド(P)に対して初期検査値を付加して送信し、中間制御部180では、対応する初期検査値を用いて誤り検査処理を行うこととしたが、本発明はこれに限定されず、中間制御部180は、P≦Nの場合は誤り検査処理を行わず、P>Nとなってから初めて誤り検査処理を行うこととしてもよい。   In the present embodiment, the unique information is set in the generation unit 520 as an initial setting value when P = 1. When P ≦ N, the main control unit 110 adds an initial check value to the control command (P) and transmits it, and the intermediate control unit 180 uses the corresponding initial check value to perform error check processing. However, the present invention is not limited to this, and the intermediate control unit 180 does not perform error check processing when P ≦ N, and performs error check processing only after P> N. Also good.

また、本実施形態では、中間制御部180は、主制御部110が有する変換方式を変更する機能と同様の機能を有する決定部623であることとしたが、本発明はこれに限定されない。例えば、中間制御部180は、受信した制御コマンドに付加された誤り検査値と、ビット列変換部624が有する全ての変換方式でビット列が変換された誤り検査値とを照合して、誤り検査処理を行うこととしてもよい。この場合、中間制御部180は、いずれかの誤り検査値と一致すれば、検査結果は正常であるとして、受信した制御コマンドの正当性並びに主制御部110の正当性を認証すればよい。   In the present embodiment, the intermediate control unit 180 is the determination unit 623 having the same function as the function of changing the conversion method of the main control unit 110, but the present invention is not limited to this. For example, the intermediate control unit 180 collates the error check value added to the received control command with the error check value obtained by converting the bit string in all the conversion methods of the bit string conversion unit 624, and performs error check processing. It may be done. In this case, the intermediate control unit 180 may authenticate the validity of the received control command and the validity of the main control unit 110, assuming that the inspection result is normal if it matches any error check value.

また、本実施形態では、P=1の場合に、固有情報を初期設定値として格納回路522に設定したが、本発明はこれに限定されない。例えば、主制御部110に計時手段を設け、又は主制御部110が予め備えている計時手段を用いて、電源投入時から制御コマンドの送信タイミングまでの経過時間を経時情報として取得し、取得した経時情報を初期検査値として用いてもよい。取得した経時情報の値は、ランダム性を有する変動値であるため、これを用いて生成された初期検査値を再利用することは困難であり、遊技機1のセキュリティ強度をより一層向上させることができる。このとき、中間制御部180は、上記のようにP≦Nの場合は誤り検査処理を行わないようにすればよい。   In this embodiment, when P = 1, the unique information is set as the initial setting value in the storage circuit 522. However, the present invention is not limited to this. For example, time measuring means is provided in the main control unit 110, or using the time measuring means provided in advance in the main control unit 110, the elapsed time from the power-on to the transmission timing of the control command is acquired as time-lapse information and acquired. Time information may be used as an initial inspection value. Since the value of the acquired time-lapse information is a fluctuation value having randomness, it is difficult to reuse the initial inspection value generated by using this, and the security strength of the gaming machine 1 is further improved. Can do. At this time, the intermediate control unit 180 may not perform the error check process when P ≦ N as described above.

また、このとき、予めN≧2と取り決めてあれば、中間制御部180は、制御コマンドに付加された経時情報が、連続して送信された経時情報同士が時系列として連続性を有するか否か、すなわち、連続して送信された経時情報の値が送信順番に従って増加しているか否かを確認することによって誤り検査処理を行ってもよい。なお、経時情報は、計時手段をリアルタイムクロック回路等として取得される絶対的な時間であってもよいし、リセット時から計数された相対的な時間であってもよい。いずれにしても、経時情報は、その取得されるタイミングが不定期なタイミングであればある程、様々な値に変動するため、実質的に遊技機1に固有の情報と捉える事ができる。また、N≧2のとき、経時情報は、制御コマンドの送信タイミング毎に計時手段から取得した経時情報を用いてもよいし、最初に生成した制御コマンドの送信タイミングに取得した経時情報を複数の制御コマンドに用いてもよい。また、例えば、最初に生成した制御コマンドに付加される誤り検査値の生成元となる初期設定値は、固定値であるメインCPU110aの識別番号(ID)を用い、それ以降の制御コマンドに付加される誤り検査値の生成元となる初期設定値は、変動値である経時情報を用いるというように、固定値と変動値を組み合わせることもできる。   At this time, if N ≧ 2 is determined in advance, the intermediate control unit 180 determines whether or not the temporal information added to the control command has continuity in time series between the temporal information transmitted continuously. In other words, the error checking process may be performed by confirming whether or not the value of the time information transmitted continuously increases in accordance with the transmission order. The time information may be an absolute time acquired by using a time measuring means as a real time clock circuit or the like, or may be a relative time counted from the reset time. In any case, the time-lapse information changes to various values as the timing of acquisition is irregular, so that it can be regarded as information inherent to the gaming machine 1 substantially. Further, when N ≧ 2, the time information may be obtained from the time measuring means for each control command transmission timing, or a plurality of time information acquired at the transmission timing of the first generated control command may be used. It may be used for control commands. Also, for example, the initial setting value that is the source of the error check value added to the first generated control command uses the identification number (ID) of the main CPU 110a, which is a fixed value, and is added to subsequent control commands. The initial setting value from which the error check value is generated can be a combination of a fixed value and a variation value, such as using time-lapse information that is a variation value.

また、格納回路522に設定される初期設定値として、例えば、主制御部110の誤り検査値生成機能の選択情報であるHWパラメータを用いてもよい。すなわち、主制御部110の検査値生成部500を構成する決定手段540は、ブート処理時に自身の決定回路542にセットされたHWパラメータを、HWパラメータ設定処理後も記憶しておく。そして、決定回路542には送出個数記憶領域(P)を設けておき、決定回路542が格納回路522へ固有情報を設定する必要があるか否かを判断する。このとき、取得手段510の制御回路512と決定回路542とを制御線で接続しておき、制御回路512から作動許可信号を出力させる。決定回路542は、当該作動許可信号の入力に基づいて送出個数記憶領域(P)の値を更新し、送出個数記憶領域(P)の値がP=1であれば、取得手段510から出力された制御コマンドは、格納回路522に格納された制御コマンドがクリアされてから最初にメインCPU110aにて送出された制御コマンドであると判断する。そして、決定回路542は、自身に記憶しているHWパラメータを格納回路522へ設定し、初期設定値として用いればよい。   Further, as an initial setting value set in the storage circuit 522, for example, an HW parameter that is selection information of an error check value generation function of the main control unit 110 may be used. That is, the determination unit 540 constituting the inspection value generation unit 500 of the main control unit 110 stores the HW parameter set in its determination circuit 542 during the boot process even after the HW parameter setting process. The determination circuit 542 is provided with a transmission number storage area (P), and the determination circuit 542 determines whether it is necessary to set unique information in the storage circuit 522. At this time, the control circuit 512 of the acquisition unit 510 and the determination circuit 542 are connected by a control line, and an operation permission signal is output from the control circuit 512. The determination circuit 542 updates the value of the transmission number storage area (P) based on the input of the operation permission signal, and if the value of the transmission number storage area (P) is P = 1, the value is output from the acquisition unit 510. The control command is determined to be a control command first sent out by the main CPU 110a after the control command stored in the storage circuit 522 is cleared. Then, the determination circuit 542 may set the HW parameter stored in the storage circuit 522 and use it as an initial setting value.

HWパラメータは、その内容や実装方法を遊技機メーカーの独自の判断で決定することができるため秘匿性が高く、実質的に遊技機1に固有の情報と捉えることができる。なお、中間制御部180は、上記のようにP≦Nの場合は誤り検査処理を行わないようにすればよい。このようにすることで、中間制御部180は、HWパラメータに相当する誤り検査値生成機能の選択情報を、予め主制御部110との間で取り決めていなくとも、主制御部110で設定された誤り検査値生成機能に対応した誤り検査値出力機能を選択することができる。よって、不正者が、中間制御部180自体を解析しても、複数の誤り検査値出力機能のうちのどの出力機能でもって出力された誤り検査値を用いて誤り検査処理が行われるのかを特定することができず、当該出力機能の秘匿性を確保することができ、遊技機1のセキュリティ強度を更に向上させることができる。   The content and mounting method of the HW parameter can be determined by the game machine manufacturer's own judgment, so that the HW parameter is highly confidential and can be regarded as information inherent to the gaming machine 1 substantially. The intermediate control unit 180 may not perform the error check process when P ≦ N as described above. By doing in this way, the intermediate control unit 180 is set by the main control unit 110 even if the selection information of the error check value generation function corresponding to the HW parameter is not negotiated with the main control unit 110 in advance. An error check value output function corresponding to the error check value generation function can be selected. Therefore, even if an unauthorized person analyzes the intermediate control unit 180 itself, it is specified whether the error check process is performed using the error check value output by any of the plurality of error check value output functions. Therefore, the confidentiality of the output function can be ensured, and the security strength of the gaming machine 1 can be further improved.

また、本実施形態では、検査値生成部500内の各手段間や各回路間の入出力制御方式を、同期インターフェース方式とした。そして、検査値生成部500内の各手段同士や各回路同士のデータ送受は、主制御部110のクロックパルス発生回路から出力されたクロック信号に同期して行うこととした。しかしながら、本発明はこれに限定されず、検査値生成部500内の各手段同士や各回路同士のデータ送受は、当該クロック信号に対して非同期で行うこととしてもよい。この場合であっても、検査値生成部500内では、出力するデータの接続先に対してイネーブル信号等を出力すれば、接続先は当該イネーブル信号等の入力に基づいて、当該出力データを取り込み、CPUインターフェース方式とは異なることとなる。   Further, in the present embodiment, the input / output control method between each means or each circuit in the test value generation unit 500 is a synchronous interface method. Then, data transmission / reception between each means and each circuit in the inspection value generation unit 500 is performed in synchronization with the clock signal output from the clock pulse generation circuit of the main control unit 110. However, the present invention is not limited to this, and data transmission / reception between each means and each circuit in the test value generation unit 500 may be performed asynchronously with respect to the clock signal. Even in this case, in the test value generation unit 500, if an enable signal or the like is output to the connection destination of the data to be output, the connection destination captures the output data based on the input of the enable signal or the like. This is different from the CPU interface method.

また、本実施形態では、検査値生成部500内の各手段が作動するタイミングは、取得手段510の制御回路512が出力する各作動許可信号の出力タイミングを調整することによって制御されていた。しかしながら、本発明はこれに限定されず、生成手段520の制御回路523が、格納回路522へ出力するシフト処理信号の出力タイミングや、生成回路521へ出力する作動許可信号の出力タイミングを調整することで制御することもできる。制御回路523が出力する上記シフト処理信号や上記作動許可信号の出力タイミングは、制御回路512が出力する作動許可信号の入力に基づいている。更に、制御回路512が出力する作動許可信号の出力タイミングは、メインCPU110aが送出する送信部550への書き込み信号の入力に基づいている。そして、メインCPU110aが送出する当該書き込み信号は、既存の遊技処理用プログラムに元来規定されていたコマンド送信処理の実行タイミングによって予め指定されている。   In the present embodiment, the timing at which each means in the test value generation unit 500 operates is controlled by adjusting the output timing of each operation permission signal output from the control circuit 512 of the acquisition means 510. However, the present invention is not limited to this, and the control circuit 523 of the generation unit 520 adjusts the output timing of the shift processing signal output to the storage circuit 522 and the output timing of the operation permission signal output to the generation circuit 521. Can also be controlled. The output timing of the shift processing signal and the operation permission signal output from the control circuit 523 is based on the input of the operation permission signal output from the control circuit 512. Furthermore, the output timing of the operation permission signal output by the control circuit 512 is based on the input of the write signal to the transmission unit 550 sent from the main CPU 110a. The write signal sent out by the main CPU 110a is designated in advance by the execution timing of the command transmission process originally defined in the existing game processing program.

このように、本発明では、検査値生成部500内の各手段が作動するタイミングは、既存の遊技処理用プログラムで規定されたコマンド送信処理の実行タイミングに基づいて一意に決定すればよく、比較的簡易にタイミング設計が可能である。よって、本発明は、セキュリティ機能を既存の遊技機に比較的簡易に追加することができ、且つ、メインCPU110aが誤り検査値の読み出し信号の出力タイミングの設計に、比較的大きなマージンを確保することができ、誤り検査処理の確度確保が容易となる。   As described above, in the present invention, the timing at which each means in the test value generation unit 500 operates may be uniquely determined based on the execution timing of the command transmission process defined by the existing game processing program. It is possible to design timing easily. Therefore, according to the present invention, a security function can be added to an existing gaming machine relatively easily, and the main CPU 110a can ensure a relatively large margin in the design of the output timing of an error check value read signal. This makes it easy to ensure the accuracy of error checking processing.

また、本実施形態では、検査値生成部500を構成する生成手段520のビット列変換回路525を担うシフト量制御部525cでは、シフト量の更新に係る制御をシフト量制御部525cが内部に備えるアルゴリズムに基づいて処理することも可能であることとして説明したが、本発明は、検査値生成部500を全てハードウェアで構成してもよい。   In the present embodiment, in the shift amount control unit 525c that bears the bit string conversion circuit 525 of the generation unit 520 constituting the inspection value generation unit 500, an algorithm that the shift amount control unit 525c includes control related to update of the shift amount therein. However, in the present invention, the test value generation unit 500 may be entirely configured by hardware.

また、本実施形態では、中間制御部180は、認証結果データを制御コマンドに付加して認証結果データ付き制御コマンドとして演出制御部120へ送信することとしたが、本発明はこれに限定されず、制御コマンド及び認証結果データを別々に送信するようにしてもよい。この場合、演出制御部120は、認証結果データを受信したかを判断し、認証結果データを受信した場合に認証結果データ解析処理を行うようにすればよい。なお、制御コマンドと認証結果データのそれぞれにダミーデータを付加して、データ長が同一となるようにしてもよい。このようにすることにより、不正者が、制御コマンドと認証結果データを区別することが困難となり、遊技機1のセキュリティ強度を向上することができる。   In the present embodiment, the intermediate control unit 180 adds the authentication result data to the control command and transmits it to the effect control unit 120 as a control command with authentication result data. However, the present invention is not limited to this. The control command and the authentication result data may be transmitted separately. In this case, the effect control unit 120 may determine whether or not the authentication result data has been received, and perform authentication result data analysis processing when the authentication result data is received. Note that dummy data may be added to each of the control command and the authentication result data so that the data length is the same. By doing so, it becomes difficult for an unauthorized person to distinguish between the control command and the authentication result data, and the security strength of the gaming machine 1 can be improved.

また、本実施形態では、中間制御部180は、認証成功の場合も認証不成功の場合も、認証結果データを生成し、演出制御部120へ送信することとしたが、本発明はこれに限定されず、例えば、中間制御部180は、認証不成功の場合のみ認証結果データを生成し、あるいは、認証不成功を示す信号を出力し、演出制御部120へ送信するようにしてもよい。演出制御部120は、認証結果データ又は認証不成功を示す信号を受信したか否かを判断し、受信した場合に報知信号を出力するように構成すればよい。   In the present embodiment, the intermediate control unit 180 generates authentication result data and transmits it to the effect control unit 120 regardless of whether authentication is successful or unsuccessful. However, the present invention is not limited to this. For example, the intermediate control unit 180 may generate authentication result data only when authentication is unsuccessful, or output a signal indicating unsuccessful authentication and transmit it to the effect control unit 120. The effect control unit 120 may determine whether or not the authentication result data or a signal indicating unsuccessful authentication has been received and output the notification signal when received.

また、本実施形態では、検査値生成部500をメインCPU110aの周辺回路としてワンチップマイコン110mと一体の回路構成としたが、本発明はこれに限定されず、検査値生成部500をワンチップマイコン110mと別個の回路構成としてもよい。また、送信部550においても、ワンチップマイコン110mと別個の回路構成としてもよい。また、本実施形態では、中間制御部180をCPU、ROM、RAM等を備えて構成しているが、同様の機能をLSI等の集積回路として実現するように構成してもよい。   In the present embodiment, the inspection value generation unit 500 is integrated with the one-chip microcomputer 110m as a peripheral circuit of the main CPU 110a. However, the present invention is not limited to this, and the inspection value generation unit 500 is replaced with the one-chip microcomputer. It is good also as a circuit structure separate from 110m. Also, the transmission unit 550 may have a circuit configuration separate from the one-chip microcomputer 110m. In the present embodiment, the intermediate control unit 180 includes a CPU, a ROM, a RAM, and the like. However, a similar function may be realized as an integrated circuit such as an LSI.

また、本実施形態では、本発明をパチンコ遊技機に適用する例を示したが、これに限定されず、本発明は、雀球遊技機、アレンジボール等のパチンコ遊技機以外の弾球遊技機、スロットマシン等の回胴式遊技機などの他の遊技機にも適用することができる。これらの遊技機においても、本実施形態と同様に構成することにより、本実施形態と同様の効果を得ることができる。   Moreover, in this embodiment, although the example which applies this invention to a pachinko game machine was shown, it is not limited to this, This invention is a ball game machine other than pachinko game machines, such as a sparrow ball game machine and an arrangement ball. It can also be applied to other gaming machines such as slot machines such as slot machines. Even in these gaming machines, the same effects as in the present embodiment can be obtained by configuring the same as in the present embodiment.

また、本実施形態では、本発明を遊技機に適用する例を示したが、これに限定されず、本発明は、遊技機のような複数の制御部を備え、これら制御部間のデータ伝送について認証処理を実行する電子機器及びその認証方法にも適用することができる。これらの電子機器及びその認証方法においても、本実施形態と同様に構成することにより、本実施形態と同様の効果を得ることができる。また、本実施形態は、その目的及び構成等に特に矛盾や問題がない限り、互いの技術を流用することができる。   In the present embodiment, an example in which the present invention is applied to a gaming machine has been described. However, the present invention is not limited thereto, and the present invention includes a plurality of control units such as a gaming machine, and data transmission between these control units. The present invention can also be applied to an electronic device that executes authentication processing and an authentication method thereof. Also in these electronic devices and their authentication methods, the same effects as in this embodiment can be obtained by configuring in the same manner as in this embodiment. Moreover, this embodiment can divert each other's technique as long as there is no particular contradiction or problem in its purpose and configuration.

1 遊技機
110 主制御部
110a メインCPU
110b メインROM
110c メインRAM
110d ブートROM
120 演出制御部
120a サブCPU
120b サブROM
120c サブRAM
180 中間制御部
180a CPU
180b ROM
180c RAM
300 周辺制御部
400 内部バス
500 検査値生成部
510 取得手段
520 生成手段
521 生成回路
525 ビット列変換回路
526 保存回路
527 送出回路
528 リセット判定回路
540 決定手段
550 送信部
600 受信部
610 検査部
620 検査値生成部
621 生成部
622 格納部
623 決定部
624 ビット列変換部
630 付加部
640 中継送信部
1 gaming machine 110 main control unit 110a main CPU
110b Main ROM
110c Main RAM
110d Boot ROM
120 Production control unit 120a Sub CPU
120b Sub ROM
120c sub RAM
180 Intermediate control unit 180a CPU
180b ROM
180c RAM
DESCRIPTION OF SYMBOLS 300 Peripheral control part 400 Internal bus 500 Test value generation part 510 Acquisition means 520 Generation means 521 Generation circuit 525 Bit string conversion circuit 526 Storage circuit 527 Transmission circuit 528 Reset determination circuit 540 Determination means 550 Transmission part 600 Reception part 610 Inspection part 620 Inspection value Generation unit 621 Generation unit 622 Storage unit 623 Determination unit 624 Bit string conversion unit 630 Addition unit 640 Relay transmission unit

Claims (10)

制御コマンドを出力する主制御部と、前記制御コマンドに基づく処理を行う周辺制御部と、前記主制御部と前記周辺制御部との間に設けられた中間制御部と、を含む遊技機であって、
前記主制御部は、
記憶部に記憶された所定の制御プログラムに従って前記制御コマンドを生成し送出する演算処理部と、
前記演算処理部によって送出された前記制御コマンドを前記中間制御部へ送信する送信部と、
前記演算処理部と前記送信部とを接続するバスと、
前記バスに接続されており、前記演算処理部によって送出された制御コマンドに付加され該制御コマンドの正当性を検査するための誤り検査値を生成し、生成した誤り検査値のビット列を変換する第1検査値生成部と、
を備え、
前記中間制御部は、
前記第1検査値生成部によって生成された誤り検査値に対応する検証用の誤り検査値を生成し、生成した誤り検査値のビット列を前記主制御部との間で予め取り決められた変換方式で変換して出力する第2検査値生成部と、
前記送信部によって送信された誤り検査値と前記第2検査値生成部によって出力された誤り検査値とを比較して前記送信部によって送信された制御コマンドの正当性の検査を行い、該検査の結果情報を出力する検査部と、
前記送信部によって送信された制御コマンドを前記周辺制御部へ中継送信すると共に、前記結果情報を前記周辺制御部へ送信する中継送信部と、
を備え、
前記周辺制御部は、
前記中継送信部によって中継送信された制御コマンドに基づく処理を行うと共に、前記中継送信部によって送信された前記結果情報に応じた処理を行う処理部
を備え、
前記第1検査値生成部は、
前記演算処理部から前記送信部への制御コマンドが前記バスに送出されると、該送信部への制御コマンドを前記バスから取得し、該取得した制御コマンドを予め指定されたタイミングで出力するコマンド取得手段と、
前記コマンド取得手段によって出力された制御コマンドを入力し、該入力した制御コマンドに付加する誤り検査値のビット列を変換する際に用いる前記変換方式を、規則的に変動する第1シフト量を用いて誤り検査値のビット列にローテート演算を施す第1変換方式と、不規則に変動する第2シフト量を用いて誤り検査値のビット列にローテート演算を施す第2変換方式と、のいずれにするかを、該入力した制御コマンドに基づいて決定し、該決定した変換方式を示す変換方式情報を、前記タイミングに応じて出力する方式決定手段と、
前記コマンド取得手段によって出力された制御コマンドと前記方式決定手段によって出力された変換方式情報とを入力し、該入力した制御コマンドより過去に前記演算処理部によって送出された制御コマンドを用いて生成した誤り検査値のビット列を、該入力した変換方式情報が示す変換方式で変換して、該ビット列が変換された誤り検査値を、前記タイミングに応じて出力する検査値出力手段と、
前記検査値出力手段によって出力された前記ビット列が変換された誤り検査値を入力し、該入力した前記ビット列が変換された誤り検査値を、前記制御プログラムに規定された前記演算処理部の読み出し指示に応じて、前記バスを介して前記演算処理部へ送出する検査値送出手段と、
を有し、
前記検査値出力手段は、前記入力した変換方式情報が前記第1変換方式を示す場合に、前記第1シフト量を再設定する再設定条件が成立したときには、前記第1シフト量を所定値に設定して、前記生成した誤り検査値のビット列を変換し、
前記演算処理部は、前記送信部へ送出する前記制御コマンドに、前記検査値送出手段から取得した誤り検査値を付加して、前記バスを介して前記送信部へ送出し、
前記第2変換方式は、前記ビット列を変換する前後で該ビット列における各ビットの組み合わせが同じとなり、
前記第2検査値生成部は、前記第1検査値生成部が前記第2変換方式で前記ビット列を変換する際、前記誤り検査値のビット幅数だけ前記ローテート演算を行って前記検査部へ出力する
ことを特徴とする遊技機。
A gaming machine including a main control unit that outputs a control command, a peripheral control unit that performs processing based on the control command, and an intermediate control unit provided between the main control unit and the peripheral control unit. And
The main control unit
An arithmetic processing unit that generates and sends out the control command according to a predetermined control program stored in the storage unit;
A transmission unit for transmitting the control command transmitted by the arithmetic processing unit to the intermediate control unit;
A bus connecting the arithmetic processing unit and the transmission unit;
An error check value that is connected to the bus and added to the control command sent by the arithmetic processing unit to check the validity of the control command is generated , and a bit string of the generated error check value is converted . 1 inspection value generator,
With
The intermediate control unit
A verification error check value corresponding to the error check value generated by the first check value generation unit is generated, and a bit string of the generated error check value is converted in advance with the main control unit. A second inspection value generator for converting and outputting ;
The error check value transmitted by the transmitter is compared with the error check value output by the second check value generator to check the validity of the control command transmitted by the transmitter, and An inspection unit for outputting result information;
A relay transmission unit that transmits the control command transmitted by the transmission unit to the peripheral control unit and transmits the result information to the peripheral control unit;
With
The peripheral control unit
A processing unit that performs processing based on the control command relayed by the relay transmission unit and performs processing according to the result information transmitted by the relay transmission unit;
The first inspection value generation unit
When a control command from the arithmetic processing unit to the transmission unit is sent to the bus, a command for acquiring the control command to the transmission unit from the bus and outputting the acquired control command at a predetermined timing Acquisition means;
Enter the control command outputted by the command obtaining means, the conversion method used in converting a bit string of the error check value to be added to the control command the input, with the first shift amount that varies regularly Either a first conversion method that performs a rotation operation on a bit string of an error check value or a second conversion method that performs a rotation operation on a bit string of an error check value using a second shift amount that fluctuates irregularly. A method determining means for determining the conversion method information based on the input control command and outputting the conversion method information indicating the determined conversion method according to the timing;
The control command output by the command acquisition means and the conversion method information output by the method determination means are input and generated using the control command sent by the arithmetic processing unit in the past from the input control command. A check value output means for converting a bit string of an error check value by a conversion method indicated by the input conversion method information, and outputting an error check value converted from the bit string according to the timing;
The error check value converted from the bit string output by the check value output means is input, and the error check value converted from the input bit string is read out from the arithmetic processing unit defined in the control program In response to the test value sending means for sending to the arithmetic processing unit via the bus,
Have
The inspection value output means sets the first shift amount to a predetermined value when a reset condition for resetting the first shift amount is satisfied when the input conversion method information indicates the first conversion method. Set, convert the bit string of the generated error check value,
The arithmetic processing unit adds an error check value acquired from the check value sending means to the control command sent to the transmitting unit, and sends the control command to the transmitting unit via the bus ,
In the second conversion method, the combination of each bit in the bit string is the same before and after converting the bit string,
When the first check value generation unit converts the bit string using the second conversion method, the second check value generation unit performs the rotation operation by the number of bit widths of the error check value and outputs the result to the check unit A gaming machine characterized by that.
前記再設定条件は、前記コマンド取得手段によって出力された制御コマンドが所定の制御コマンドであることであり、
前記検査値出力手段は、前記コマンド取得手段によって出力された制御コマンドを入力し、該入力した制御コマンドが該再設定条件を満たす制御コマンドであるか否かの判定を実行する
ことを特徴とする請求項1に記載の遊技機。
The reset condition is that the control command output by the command acquisition means is a predetermined control command,
The inspection value output means inputs the control command output by the command acquisition means, and executes a determination as to whether or not the input control command is a control command that satisfies the reset condition. The gaming machine according to claim 1.
前記再設定条件は、前記第2変換方式で変換された誤り検査値が所定の誤り検査値であることであり、
前記検査値出力手段は、前記第2変換方式で変換された誤り検査値が該再設定条件を満たす誤り検査値であるか否かの判定を実行する
ことを特徴とする請求項1に記載の遊技機。
The reset condition is that the error check value converted by the second conversion method is a predetermined error check value;
The said check value output means performs determination whether the error check value converted by the said 2nd conversion system is an error check value which satisfy | fills this resetting condition. Gaming machine.
前記検査値出力手段は、前記第2変換方式でビット列が変換された誤り検査値を前記検査値送出手段へ出力している間に、該誤り検査値を前記検査値送出手段へ出力した後に前記入力した変換方式情報が前記第1変換方式を示す場合に用いられる前記第1シフト量を、該誤り検査値に基づいて更新することを特徴とする請求項2又は3に記載の遊技機。   The check value output means outputs the error check value to the check value sending means while outputting the error check value whose bit string is converted by the second conversion method to the check value sending means. The gaming machine according to claim 2 or 3, wherein the first shift amount used when the input conversion method information indicates the first conversion method is updated based on the error check value. 前記方式決定手段は、前記コマンド取得手段によって出力された制御コマンドを入力すると、該制御コマンドが予め定められた方式決定条件を満たす制御コマンドであるか否かの方式決定判定を実行し、前記方式決定条件が成立したときには、前記ビット列を変換する際の変換方式を、前記第2変換方式に決定し、前記方式決定条件が成立していないときには、前記ビット列を変換する際の変換方式を、前記第1変換方式に決定すること特徴とする請求項2乃至4のいずれかに記載の遊技機。   When the control command output by the command acquisition unit is input, the method determination unit performs a method determination determination as to whether or not the control command is a control command that satisfies a predetermined method determination condition. When the determination condition is satisfied, the conversion method when converting the bit string is determined as the second conversion method, and when the method determination condition is not satisfied, the conversion method when converting the bit string is The gaming machine according to any one of claims 2 to 4, wherein the first conversion method is determined. 前記検査値出力手段は、互いに異なる複数の前記再設定条件を保持し、前記複数の再設定条件で前記判定を実行可能であり、
前記記憶部は、遊技機の起動の際にアクセス可能であって遊技機の初期設定情報を記憶する記憶領域を有し、前記初期設定情報は前記複数の再設定条件のそれぞれに対応する複数の選択情報を含み、
前記演算処理部は、前記遊技機の起動の際に前記複数の選択情報のうちの特定の選択情報を前記検査値出力手段へ設定し、
前記検査値出力手段は、前記設定された特定の選択情報に対応する特定の前記再設定条件を用いて前記判定を実行する
ことを特徴とする請求項2乃至5のいずれかに記載の遊技機。
The inspection value output means holds a plurality of different reset conditions, and can execute the determination under the plurality of reset conditions,
The storage unit has a storage area that is accessible when the gaming machine is activated and stores initial setting information of the gaming machine, and the initial setting information includes a plurality of reset conditions corresponding to each of the plurality of reset conditions. Including selection information,
The arithmetic processing unit sets specific selection information of the plurality of selection information in the inspection value output means when the gaming machine is activated,
The gaming machine according to claim 2, wherein the inspection value output unit executes the determination using the specific reset condition corresponding to the set specific selection information. .
前記検査値出力手段は、前記第1シフト量の更新を実行するタイミングを示す更新タイミングとして、互いに異なる複数の前記更新タイミングを保持し、前記複数の更新タイミングで前記更新を実行可能であり、
前記記憶部は、遊技機の起動の際にアクセス可能であって遊技機の初期設定情報を記憶する記憶領域を有し、前記初期設定情報は前記複数の更新タイミングのそれぞれに対応する複数の選択情報を含み、
前記演算処理部は、前記遊技機の起動の際に前記複数の選択情報のうちの特定の選択情報を前記検査値出力手段へ設定し、
前記検査値出力手段は、設定された前記特定の選択情報に対応する特定の前記更新タイミングを用いて前記更新を実行する
ことを特徴とする請求項4に記載の遊技機。
The inspection value output means holds a plurality of different update timings as update timings indicating the timing of executing the update of the first shift amount, and is capable of executing the update at the plurality of update timings,
The storage unit has a storage area that is accessible when the gaming machine is activated and stores initial setting information of the gaming machine, and the initial setting information includes a plurality of selections corresponding to each of the plurality of update timings. Including information,
The arithmetic processing unit sets specific selection information of the plurality of selection information in the inspection value output means when the gaming machine is activated,
The gaming machine according to claim 4, wherein the inspection value output unit executes the update using the specific update timing corresponding to the specific selection information that has been set.
前記方式決定手段は、互いに異なる複数の前記方式決定条件を保持し、前記複数の方式決定条件を用いて前記方式決定判定を実行可能であり、
前記記憶部は、遊技機の起動の際にアクセス可能であって遊技機の初期設定情報を記憶する記憶領域を有し、前記初期設定情報は前記複数の方式決定条件のそれぞれに対応する複数の選択情報を含み、
前記演算処理部は、前記遊技機の起動の際に前記複数の選択情報のうちの特定の選択情報を前記方式決定手段へ設定し、
前記方式決定手段は、設定された前記特定の選択情報に対応する特定の前記方式決定条件を用いて前記方式決定判定を実行する
ことを特徴とする請求項5に記載の遊技機。
The method determining means is capable of holding a plurality of different method determination conditions and performing the method determination determination using the plurality of method determination conditions,
The storage unit has a storage area that is accessible when the gaming machine is activated and stores initial setting information of the gaming machine, and the initial setting information includes a plurality of methods corresponding to each of the plurality of method determination conditions. Including selection information,
The arithmetic processing unit sets specific selection information of the plurality of selection information in the method determination means when the gaming machine is activated,
The gaming machine according to claim 5, wherein the method determination unit executes the method determination determination using the specific method determination condition corresponding to the set specific selection information.
前記初期設定情報に含まれる前記選択情報は、前記演算処理部が前記遊技機の起動の際に設定する前記特定の選択情報であることを特徴とする請求項6乃至8のいずれかに記載の遊技機。   9. The selection information included in the initial setting information is the specific selection information that is set by the arithmetic processing unit when the gaming machine is activated. Gaming machine. 制御コマンドを出力する主制御部と、前記制御コマンドに基づく処理を行う周辺制御部と、前記主制御部と前記周辺制御部との間に設けられた中間制御部と、を含む電子機器において、前記主制御部と前記中間制御部との間で行われるデータ伝送の正当性を認証する電子機器の認証方法であって、
前記主制御部は、
記憶部に記憶された所定の制御プログラムに従って前記制御コマンドを生成し送出する演算処理工程と、
前記演算処理工程によって送出された前記制御コマンドを前記中間制御部へ送信する送信工程と、
前記演算処理工程によって送出された制御コマンドに付加され該制御コマンドの正当性を検査するための誤り検査値を生成し、生成した誤り検査値のビット列を変換する第1検査値生成工程と、
を実行し、
前記中間制御部は、
前記第1検査値生成工程によって生成された誤り検査値に対応する検証用の誤り検査値を生成し、生成した誤り検査値のビット列を前記主制御部との間で予め取り決められた変換方式で変換して出力する第2検査値生成工程と、
前記送信工程によって送信された誤り検査値と前記第2検査値生成工程によって出力された誤り検査値とを比較して前記送信工程によって送信された制御コマンドの正当性の検査を行い、該検査の結果情報を出力する検査工程と、
前記送信工程によって送信された制御コマンドを前記周辺制御部へ中継送信すると共に、前記結果情報を前記周辺制御部へ送信する中継送信工程と、
を実行し、
前記周辺制御部は、
前記中継送信工程によって中継送信された制御コマンドに基づく処理を行うと共に、前記中継送信工程によって送信された前記結果情報に応じた処理を行う処理工程
を実行し、
前記第1検査値生成工程は、
前記演算処理工程によって送出された制御コマンドを取得し、該取得した制御コマンドを予め指定されたタイミングで出力する第1ステップと、
前記第1ステップによって出力された制御コマンドを入力し、該入力した制御コマンドに付加する誤り検査値のビット列を変換する際に用いる前記変換方式を、規則的に変動する第1シフト量を用いて誤り検査値のビット列にローテート演算を施す第1変換方式と、不規則に変動する第2シフト量を用いて誤り検査値のビット列にローテート演算を施す第2変換方式と、のいずれにするかを、該入力した制御コマンドに基づいて決定し、該決定した変換方式を示す変換方式情報を、前記タイミングに応じて出力する第2ステップと、
前記第1ステップによって出力された制御コマンドと前記第2ステップによって出力された変換方式情報とを入力し、該入力した制御コマンドより過去に前記演算処理工程によって送出された制御コマンドを用いて生成した誤り検査値のビット列を、該入力した変換方式情報が示す変換方式で変換して、該ビット列が変換された誤り検査値を、前記タイミングに応じて出力する第3ステップと、
前記第3ステップによって出力された前記ビット列が変換された誤り検査値を入力し、該入力した前記ビット列が変換された誤り検査値を、前記制御プログラムに従って送出する第4ステップと、
を有し、
前記第3ステップでは、前記入力した変換方式情報が前記第1変換方式を示す場合に、前記第1シフト量を再設定する再設定条件が成立したときには、前記第1シフト量を所定値に設定して、前記生成した誤り検査値のビット列を変換し、
前記演算処理工程では、前記送出する制御コマンドに、前記第4ステップによって送出された誤り検査値を付加して前記送信工程へ移行し、
前記第2変換方式は、前記ビット列を変換する前後で該ビット列における各ビットの組み合わせが同じとなり、
前記第2検査値生成工程は、前記第1検査値生成工程において前記第2変換方式で前記ビット列を変換する際、前記誤り検査値のビット幅数だけ前記ローテート演算を行って出力する
ことを特徴とする電子機器の認証方法。
In an electronic device including a main control unit that outputs a control command, a peripheral control unit that performs processing based on the control command, and an intermediate control unit provided between the main control unit and the peripheral control unit, An electronic device authentication method for authenticating validity of data transmission performed between the main control unit and the intermediate control unit,
The main control unit
An arithmetic processing step of generating and sending out the control command according to a predetermined control program stored in the storage unit;
A transmission step of transmitting the control command sent by the arithmetic processing step to the intermediate control unit;
A first check value generation step of generating an error check value to be added to the control command sent by the arithmetic processing step and checking the correctness of the control command, and converting a bit string of the generated error check value ;
Run
The intermediate control unit
A verification error check value corresponding to the error check value generated by the first check value generation step is generated, and a bit string of the generated error check value is converted in advance with the main control unit. A second inspection value generation step of converting and outputting ;
The error check value transmitted by the transmission step and the error check value output by the second check value generation step are compared to check the validity of the control command transmitted by the transmission step, and An inspection process for outputting the result information;
A relay transmission step of relaying the control command transmitted by the transmission step to the peripheral control unit and transmitting the result information to the peripheral control unit;
Run
The peripheral control unit
Performing a process based on the control command relayed by the relay transmission process and performing a process according to the result information transmitted by the relay transmission process;
The first inspection value generation step includes:
A first step of acquiring a control command sent out by the arithmetic processing step and outputting the acquired control command at a timing specified in advance;
Enter the control command outputted by the first step, the conversion method used in converting a bit string of the error check value to be added to the control command the input, with the first shift amount that varies regularly Either a first conversion method that performs a rotation operation on a bit string of an error check value, or a second conversion method that performs a rotation operation on a bit string of an error check value using a second shift amount that fluctuates irregularly. A second step of determining based on the input control command and outputting conversion method information indicating the determined conversion method in accordance with the timing;
The control command output by the first step and the conversion method information output by the second step are input, and the control command generated by the control processing process sent in the past from the input control command is generated. A third step of converting the bit string of the error check value by the conversion method indicated by the input conversion method information, and outputting the error check value converted from the bit string according to the timing;
A fourth step of inputting an error check value obtained by converting the bit string output by the third step and sending the error check value converted by the input bit string according to the control program;
Have
In the third step, when the input conversion method information indicates the first conversion method and the reset condition for resetting the first shift amount is satisfied, the first shift amount is set to a predetermined value. And converting the generated error check value bit string,
In the arithmetic processing step, the error check value transmitted in the fourth step is added to the control command to be transmitted, and the process proceeds to the transmission step .
In the second conversion method, the combination of each bit in the bit string is the same before and after converting the bit string,
In the second check value generation step, when the bit string is converted by the second conversion method in the first check value generation step, the rotation operation is performed by the number of bit widths of the error check value and output. An electronic device authentication method.
JP2012017584A 2012-01-31 2012-01-31 Authentication method for gaming machines and electronic devices Expired - Fee Related JP5377682B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012017584A JP5377682B2 (en) 2012-01-31 2012-01-31 Authentication method for gaming machines and electronic devices

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012017584A JP5377682B2 (en) 2012-01-31 2012-01-31 Authentication method for gaming machines and electronic devices

Publications (2)

Publication Number Publication Date
JP2013154007A JP2013154007A (en) 2013-08-15
JP5377682B2 true JP5377682B2 (en) 2013-12-25

Family

ID=49049809

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012017584A Expired - Fee Related JP5377682B2 (en) 2012-01-31 2012-01-31 Authentication method for gaming machines and electronic devices

Country Status (1)

Country Link
JP (1) JP5377682B2 (en)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5228100B2 (en) * 2011-09-30 2013-07-03 京楽産業.株式会社 Authentication method for gaming machines and electronic devices

Also Published As

Publication number Publication date
JP2013154007A (en) 2013-08-15

Similar Documents

Publication Publication Date Title
JP5412498B2 (en) Game machine
JP5377683B2 (en) Authentication method for gaming machines and electronic devices
JP5228100B2 (en) Authentication method for gaming machines and electronic devices
JP5228101B2 (en) Authentication method for gaming machines and electronic devices
JP5412500B2 (en) Game machine
JP5202688B2 (en) Authentication method for gaming machines and electronic devices
JP5202695B2 (en) Authentication method for gaming machines and electronic devices
JP5377682B2 (en) Authentication method for gaming machines and electronic devices
JP5412499B2 (en) Game machine
JP5377679B2 (en) Authentication method for gaming machines and electronic devices
JP5377680B2 (en) Authentication method for gaming machines and electronic devices
JP5412496B2 (en) Game machine
JP5377681B2 (en) Authentication method for gaming machines and electronic devices
JP5412497B2 (en) Game machine
JP5202680B2 (en) Game machine
JP5202689B2 (en) Authentication method for gaming machines and electronic devices
JP5202702B2 (en) Authentication method for gaming machines and electronic devices
JP5202681B2 (en) Game machine
JP5377678B2 (en) Authentication method for gaming machines and electronic devices
JP5269134B2 (en) Game machine
JP5202705B2 (en) Authentication method for gaming machines and electronic devices
JP5412495B2 (en) Game machine
JP5202703B2 (en) Authentication method for gaming machines and electronic devices
JP5202696B2 (en) Authentication method for gaming machines and electronic devices
JP5202706B2 (en) Authentication method for gaming machines and electronic devices

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130611

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130731

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130924

R150 Certificate of patent or registration of utility model

Ref document number: 5377682

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees