以下、本発明の一実施形態を示す遊技機であるパチスロについて、図1~図54を参照しながら説明する。なお、本実施形態では、特定の図柄組合せが表示された場合にリプレイの当籤確率が通常時より高くなる遊技状態であるリプレイタイム(以下、「RT」という)が作動する機能を備えたパチスロについて説明する。
<パチスロの構造>
次に、図1~図3を参照して、本実施形態におけるパチスロの構造について説明する。
[外観構造]
図1は、パチスロ1の外部構造を示す斜視図である。図2は、本実施の形態におけるパチスロ1のフロントパネル10を外した状態の正面図である。
図1に示すように、パチスロ1は、外装体2を備えている。外装体2は、リールや回路基板等を収容するキャビネット2aと、キャビネット2aに対して開閉可能に取り付けられるフロントドア2bとを有している。キャビネット2aの両側面には、把手7が設けられている(図1では一側面の把手7のみを示す)。この把手7は、パチスロ1を運搬するときに手をかける凹部である。
キャビネット2aの内部には、3つのリール3L,3C,3Rが横並びに設けられている。以下、各リール3L,3C,3Rを、それぞれ左リール3L、中リール3C、右リール3Rという。各リール3L,3C,3Rは、円筒状に形成されたリール本体と、リール本体の周面に装着された透光性のシート材と、リール本体の内側からシート材に光を照射するリール用光源とを有している。シート材の表面には、複数(例えば21個)の図柄が周方向に沿って所定の間隔をあけて描かれている。ここで、赤7図柄(不図示)の一部分は半透明部分とされている。赤また、リール本体には、シート材の背面に光を照射するリールバックライトが設けられている。このリールバックライトは、後述の副制御回路42によって制御されて点灯及び消灯する。
フロントドア2bは、ドア本体9と、フロントパネル10と、発光表示装置11とを備えている。ドア本体9は、ヒンジ(不図示)を用いてキャビネット2aに開閉可能に取り付けられている。ヒンジは、パチスロ1の前方からドア本体9を見た場合に、ドア本体9における左側の端部に設けられている。
また、フロントドア2bの裏面側における左右方向の他端側(パチスロ1を正面から見て右側)の端部には、サブ用ドア監視スイッチ(図示省略)が設けられている。サブ用ドア監視スイッチは、フロントドア2bの開閉を示す信号を副制御回路42に出力する。
図1に示すように、発光表示装置11は、ドア本体9の上部に設けられている。この発光表示装置11は、マトリックス状に配置された複数の光源部によって形成されたドットマトリクス部119(図2参照)と、フロントパネル10のドットマトリクス部119に対向する部分から構成されている。
ドットマトリクス部119は、任意の箇所の光源部を点灯(点滅)することで、フロントパネル10に施されたデザインの任意の箇所(本実施の形態では花火の絵柄)を背面から照明する。これにより、フロントパネル10に施されたデザインの任意の箇所を発光させる演出が行われる。
発光表示装置11の下方には、3つのリール3L,3C,3Rに描かれた図柄を表示する表示窓4L,4C,4Rが設けられている。以下、各表示窓4L,4C,4Rを、それぞれ左表示窓4L、中表示窓4C、右表示窓4Rという。
表示窓4L,4C,4Rは、例えばアクリル板等の透明な部材で形成されている。この表示窓4L,4C,4Rは、正面(遊技者側)から見て、3つのリールの配置領域と重畳する位置に設けられ、かつ、3つのリールより手前(遊技者側)に位置するように設けられる。したがって、遊技者は、表示窓4L,4C,4Rを介して、表示窓4L,4C,4Rの背後に設けられた3つのリールを視認することができる。
本実施形態では、表示窓4L,4C,4Rは、その背後に設けられた対応するリールの回転が停止したとき、各リールに描かれた複数種類の図柄のうち、連続して配置された3つの図柄を表示できる大きさに設定されている。すなわち、表示窓4L,4C,4Rの枠内には、リール毎に上段、中段及び下段の各領域が設けられ、各領域に1個の図柄が表示される。
フロントパネル10は、ドア本体9の上部に取り付けられている。このフロントパネル10は、上表示部101と、リール照明部102と、リールサイド演出表示部103A,103Bと、エッジ演出表示部104A,104Bと、リール下表示部105とを有している。
上表示部101は、発光表示装置11の上方に配置されており、リール照明部102は、リール3L,3C,3Rと発光表示装置11との間に配置されている。リールサイド演出表示部103A,103Bは、リール3L,3C,3Rの側方に配置されており、エッジ演出表示部104A,104Bは、リール横演出表示部103の側方に配置されている。
リール下表示部105は、リール3L,3C,3Rの下方に配置されている。リール下表示部105の中央部には、サブ液晶ユニット200が設けられている。サブ液晶ユニット200は、液晶表示装置であり、画像及び映像が表示される液晶画面202を備えている。
上表示部101、リール照明部102、リールサイド演出表示部103A,103B、エッジ演出表示部104A,104B及びリール下表示部105は、ドア本体9に設けられた後述する各種ランプ群111~117を覆っている。そして、これら上表示部101,102,103A,103B,104A,104B,105は、各種LED群111~117からの光が照射されて発光する。
例えば、リールサイド演出表示部103Aには、上下方向に並ぶ3つのBET発光部が設けられている。3つのBET発光部の点灯する数は、1回の遊技に使用するメダルの数を示す。
本実施形態では、1回の遊技に使用するメダルの数を1~3に設定している。例えば、1回の遊技に使用するメダルの数を「1」にした場合は、1つのBET発光部(例えば一番下に位置するBET発光部)が点灯し、その他BET発光部(真ん中と一番上に位置するBET発光部)が消灯する。
図1に示すように、ドア本体9の中央には、台座部12が形成されている。この台座部12には、遊技者の操作対象となる各種装置(メダル投入口13、MAXベットボタン14、1ベットボタン15、スタートレバー16、ストップボタン17L,17C,17R、エンターボタン21、セレクトボタン22)が設けられている。
メダル投入口13は、遊技者によって外部からパチスロ1に投下されるメダルを受け入れるために設けられる。メダル投入口13から受け入れられたメダルは、予め設定された枚数(例えば3枚)を上限として1回の遊技に使用され、予め設定された枚数を超えた分は、パチスロ1の内部に預けることができる(いわゆるクレジット機能)。
MAXベットボタン14及び1ベットボタン15は、パチスロ1の内部に預けられているメダルから1回の遊技に使用する枚数を決定するために設けられる。なお、図1には示さないが、台座部12には、精算ボタンが設けられる。この精算ボタンは、パチスロ1の内部に預けられているメダルを外部に引き出す(排出する)ために設けられる。
スタートレバー16は、全てのリール(3L,3C,3R)の回転を開始するために設けられる。ストップボタン17L,17C,17Rは、それぞれ、左リール3L、中リール3C、右リール3Rに対応づけて設けられ、各ストップボタンは対応するリールの回転を停止するために設けられる。以下、ストップボタン17L,17C,17Rを、それぞれ左ストップボタン17L、中ストップボタン17C、右ストップボタン17Rという。
エンターボタン21及びセレクトボタン22は、サブ液晶ユニット200に表示された各種画面における選択可能な複数の項目の内、任意の項目を選択するために設けられる。セレクトボタン22の押下に応じて、表示されている複数の項目の内、一つの項目を指定するためのカーソルの位置や、ハイライト表示される項目が変更される。また、エンターボタン21の押下に応じて、指定された項目が選択される。
また、台座部12には、7セグメントLED(Light Emitting Diode)からなる7セグ表示器6が設けられている。この7セグ表示器6は、特典として遊技者に対して払い出すメダルの枚数(以下、払出枚数)、パチスロ1の内部に預けられているメダルの枚数(以下、クレジット枚数)、遊技を行うためのメダルの投入枚数(以下、BET枚数)等の情報をデジタル表示する。
ドア本体9の下部には、メダル払出口18、メダル受皿19、スピーカ20L,20R等が設けられている。メダル払出口18は、後述のメダル払出装置33の駆動により排出されるメダルを外部に導く。メダル受皿19は、メダル払出口18から排出されたメダルを貯める。また、スピーカ20L,20Rは、演出内容に対応する効果音や楽曲等の音を出力する。
また、ドア本体9には、腰部パネル表示部106が設けられている。この腰部パネル表示部106は、スピーカ20L,20Rの上方に配置されている。腰部パネル表示部106は、ドア本体9に設けられた後述する光源部(No.53のポート)を覆っている。そして、腰部パネル表示部106は、光源部(No.53のポート)からの光が照射されて発光する。
[各種LED群]
図3は、パチスロ1におけるLED配置ポート図である。
図3に示すように、ドア本体9には、337ポートの光源部が設けられている。各光源部には、LEDが配置されている。なお、本発明に係る光源部としては、有機エレクトロルミネッセンス等、少なくとも緑色、青色、赤色に発光可能であれば既存の発光素子を配置してもよい。
No.0~No.30のポートに係る光源部は、第1LED群111を形成している。この第1LED群111は、上表示部101(図2参照)に光を照射する。No.49~No.52のポートに係る光源部は、第2LED群112を形成している。この第2LED群112は、リール照明部102(図2参照)に光を照射する。
No.66~No.70のポートに係る光源部は、第3LED群113を形成し、No.71~No.75のポートに係る光源部は、第4LED群114を形成している。第3LED群113は、リールサイド演出表示部103A(図2参照)に光を照射し、第4LED群114は、リールサイド演出表示部103B(図2参照)に光を照射する。第3LED群113のNo.68~No.70のポートに係る光源部は、上述した3つのBET発光部に対向し、点灯することでそれぞれ対向するBET発光部を発光させる。
No.54~No.59のポートに係る光源部は、第5LED群115を形成し、No.60~No.65のポートに係る光源部は、第6LED群116を形成している。第5LED群115は、エッジ演出表示部104A(図2参照)に光を照射し、第6LED群116は、エッジ演出表示部104B(図2参照)に光を照射する。
No.108~No.156のポートに係る光源部は、第7LED群117を形成している。第7LED群117は、リール下表示部105(図2参照)に光を照射する。第7LED群117のNo.108~No.121のポートに係る光源部は、例えば、パチスロ1の内部に預けられているメダルの枚数である貯留枚数を表示する。
第7LED群117のNo.122~No.142のポートに係る光源部は、例えば、ボーナス中のメダルの獲得枚数を表示する。第7LED群117のNo.143~No.156のポートに係る光源部は、例えば、メダルの払出枚数を表示する。
No.31~No.48及びNo.76~No.93のポートに係る光源部は、第8LED群118を形成している。第8LED群118のNo.31~No.36のポートに係る光源部は、左リール3Lのリール用光源(リールバックライト)として機能する。また、No.37~No.42のポートに係る光源部は、中リール3Cのリール用光源(リールバックライト)として機能し、No.43~No.48のポートに係る光源部は、右リール3Rのリール用光源(リールバックライト)として機能する。
No.53のポートに係る光源部は、腰部パネル表示部106(図2参照)に光を照射する。No.157のポートに係る光源部は、MAXBETボタン14に光を照射する。左ストップボタン17Lに光を照射する。No.158のポートに係る光源部は、左ストップボタン17Lに光を照射する。No.159のポートに係る光源部は、中ストップボタン17Cに光を照射する。No.160のポートに係る光源部は、右ストップボタン17Rに光を照射する。
No.161~No.337のポートに係る光源部は、ドットマトリクス部119を形成している。このドットマトリクス部119は、発光表示装置11の光源として機能する。ドットマトリクス部119の各ポートには、1個のフルカラーLEDが設けられている。これにより、各ポートに送信する送信データは、カソード(マイナス)側のRGB(Red、Green、Blue)値と、アノード(プラス)側の値が必要になる。
[内部構造]
次に、パチスロ1の内部構造を、図4を参照しながら説明する。
図4は、パチスロ1の内部構造を示す斜視図である。
キャビネット2aは、正面側の一面が開口された略直方体状に形成されている。このキャビネット2a内の上部には、後述の主制御回路41(図5参照)を構成する主基板31が設けられている。主制御回路41は、内部当籤役の決定、各リールの回転及び停止、入賞の有無の判定等の、パチスロ1における遊技の主な動作及び該動作間の流れを制御する回路である。なお、主制御回路41の具体的な構成は後述する。
また、主基板31には、パチスロ1の設定(設定1~設定6)を変更するとき、もしくは、パチスロ1の設定を確認するときに使用される設定用鍵型スイッチ(不図示)が接続されている。設定キー(不図示)が、設定用鍵型スイッチに差し込まれると、すなわち設定キーがオンされていると、パチスロ1は、設定(設定1~6)の操作等が可能な状態となる。
キャビネット2a内の中央部には、3つのリール(左リール3L、中リール3C及び右リール3R)が設けられている。なお、図4には示さないが、各リールは、所定の減速比を有する歯車を介して対応する後述のステッピングモータ(図5中のステッピングモータ61L,61C,61Rのいずれか)に接続される。
キャビネット2a内の下部には、多量のメダルを収容可能であり、かつ、それらを1枚ずつ排出可能な構造を有するメダル払出装置33(以下、ホッパー33という)が設けられている。また、キャビネット2a内における、ホッパー33の一方の側部(図4に示す例では左側)には、パチスロ1が有する各装置に対して必要な電力を供給する電源装置34が設けられている。
フロントドア2bの裏面側(表示画面側とは反対側の部分)における上部には、後述の副制御回路42(図5及び図6参照)を構成する副基板32が設けられている。副制御回路42は、映像の表示等による演出の実行を制御する回路である。なお、副制御回路42の具体的な構成は後述する。
さらに、フロントドア2bの裏面側における略中央部には、セレクタ35が設けられている。セレクタ35は、メダル投入口13(図1参照)を介して外部から投入されたメダルの材質や形状等が適正である否かを選別する装置であり、適正であると判定したメダルをホッパー33に案内する。また、図4には示さないが、セレクタ35内においてメダルが通過する経路上には、適正なメダルが通過したことを検出するメダルセンサ35S(図5参照)が設けられている。
<パチスロが備える回路の構成>
次に、パチスロ1が備える回路の構成について、図5及び図6を参照して説明する。
図5は、パチスロ1が備える回路全体のブロック構成図である。図6は、副制御回路の内部構成を示すブロック構成図である。
パチスロ1は、主制御回路41、副制御回路42、及び、これらの回路と電気的に接続される周辺装置(アクチュエータ)を備える。
[主制御回路]
主制御回路41は、主に、回路基板(主基板31)上に設置されたマイクロコンピュータ50により構成される。それ以外の構成要素として、主制御回路41は、クロックパルス発生回路54、分周器55、乱数発生器56、サンプリング回路57、表示部駆動回路64、ホッパー駆動回路65、及び、払出完了信号回路66を含む。
マイクロコンピュータ50は、メインCPU51、メインROM(Read Only Memory)52及びメインRAM(Random Access Memory)53により構成される。
メインROM52には、メインCPU51により実行される各種処理の制御プログラム、内部抽籤テーブル等のデータテーブル、副制御回路42に対して各種制御指令(コマンド)を送信するためのデータ等が記憶されている。メインRAM53には、制御プログラムの実行により決定された内部当籤役等の各種データを格納する格納領域が設けられている。
メインCPU51には、クロックパルス発生回路54、分周器55、乱数発生器56及びサンプリング回路57が接続されている。クロックパルス発生回路54及び分周器55は、クロックパルスを発生する。なお、メインCPU51は、発生されたクロックパルスに基づいて、制御プログラムを実行する。また、乱数発生器56は、予め定められた範囲の乱数(例えば、0~65535)を発生する。そして、サンプリング回路57は、発生された乱数の中から1つの値を抽出する。
マイクロコンピュータ50の入力ポートには、各種スイッチ及びセンサ等が接続される。メインCPU51は、各種スイッチ等からの入力信号を受けて、ステッピングモータ61L,61C,61R等の周辺装置の動作を制御する。
ストップスイッチ17Sは、本発明に係る停止操作検出手段の一具体例を示すものであり、左ストップボタン17L、中ストップボタン17C、右ストップボタン17Rのそれぞれが遊技者により押されたこと(停止操作)を検出する。スタートスイッチ16Sは、本発明に係る開始操作検出手段の一具体例を示すものであり、スタートレバー16が遊技者により操作されたこと(開始操作)を検出する。精算スイッチ14Sは、精算ボタンが遊技者により押されたことを検出する。
メダルセンサ35Sは、本発明に係る投入操作検出手段の一具体例を示すものであり、メダル投入口13に投入されたメダルがセレクタ35内を通過したことを検出する。また、ベットスイッチ12Sは、ベットボタン(MAXベットボタン14又は1ベットボタン15)が遊技者により押されたことを検出する。
また、マイクロコンピュータ50により動作が制御される周辺装置としては、3つのステッピングモータ61L,61C,61R、7セグ表示器6及びホッパー33がある。また、マイクロコンピュータ50の出力ポートには、各周辺装置の動作を制御するための駆動回路が接続される。
モータ駆動回路62は、左リール3L、中リール3C、右リール3Rに対応してそれぞれ設けられた3つのステッピングモータ61L,61C,61Rの駆動を制御する。リール位置検出回路63は、発光部と受光部とを有する光センサにより、リールが一回転したことを示すリールインデックスをリール毎に検出する。
3つのステッピングモータ61L,61C,61Rのそれぞれは、その運動量がパルスの出力数に比例し、回転軸を指定された角度で停止させることが可能な構成を有する。また、各ステッピングモータの駆動力は、所定の減速比を有する歯車を介して、対応するリールに伝達される。そして、各ステッピングモータに対して1回のパルスが出力されるごとに、対応するリールは一定の角度で回転する。3つのリール3L,3C,3R及び3つのステッピングモータ61L,61C,61Rは、本発明に係る変動表示手段の一具体例を示すものである。
メインCPU51は、各リールのリールインデックスを検出してから対応するステッピングモータに対してパルスが出力された回数をカウントすることによって、各リールの回転角度(具体的には、リールが図柄何個分だけ回転したか)を管理する。
ここで、各リールの回転角度の管理を具体的に説明する。各ステッピングモータに対して出力されたパルスの数は、メインRAM53に設けられたパルスカウンタ(不図示)によって計数される。そして、図柄1個分の回転に必要な所定回数(例えば16回)のパルスの出力がパルスカウンタで計数されるごとに、メインRAM53に設けられた図柄カウンタ(不図示)の値に、「1」が加算される。なお、図柄カウンタは、リール毎に設けられる。そして、図柄カウンタの値は、リール位置検出回路63によってリールインデックスが検出されるとクリアされる。
すなわち、本実施形態では、図柄カウンタの値を管理することにより、リールインデックスが検出されてから図柄何個分の回転動作が行われたのかを管理する。それゆえ、各リールの各図柄の位置は、リールインデックスが検出される位置を基準として検出される。
なお、表示部駆動回路64は、7セグ表示器6の動作を制御する。ホッパー駆動回路65は、ホッパー33の動作を制御する。払出完了信号回路66は、ホッパー33に設けられたメダル検出部33Sが行うメダルの検出を管理し、ホッパー33から外部に排出されたメダルが所定の払出枚数に達したか否かをチェックする。また、主制御回路41には、外部端子板18Sが接続されている。主制御回路41は、外部端子板18Sを介してホールコンピュータ又は呼出装置100に接続されている。
[副制御回路]
図6に示すように、副制御回路42は、主制御回路41と電気的に接続され、主制御回路41から送信されるコマンドに基づいて演出内容の決定や実行等の処理を行う。副制御回路42は、基本的には、図6に示すように、サブCPU81、サブROM82、サブRAM83、DSP(Digital Signal Processor)90、オーディオRAM91、D/A(Digital to Analog)変換器92、及び、アンプ93を含む。
サブCPU81は、主制御回路41から送信されたコマンドに応じて、サブROM82に記憶されている制御プログラムに従い、音、光、画像の出力制御を行う。なお、サブROM82は、本発明の遊技機に係る演出記憶手段の一具体例を示すものであり、基本的には、プログラム記憶領域及びデータ記憶領域を有する。
プログラム記憶領域には、サブCPU81が実行する各種制御プログラムが記憶される。なお、プログラム記憶領域に格納される制御プログラムには、例えば、主制御回路41との通信を制御するための主基板通信タスク、演出用乱数値を抽出して演出内容(演出データ)の決定及び登録を行うための演出登録タスク、決定した演出内容に基づいて発光表示装置11のドットマトリクス部119及び各種LED群による光の出力を制御するためのランプ制御タスク、スピーカ20L,20Rによる音の出力を制御するためのサウンド制御タスク、サブ液晶ユニット200による画像の出力を制御するための画像制御タスク等のプログラムが含まれる。
データ記憶領域には、例えば、各種データテーブルを記憶する記憶領域、各種演出内容を構成する演出データを記憶する記憶領域、BGMや効果音に関するサウンドデータを記憶する記憶領域、光の点消灯のパターンに関するLEDデータを記憶する記憶領域等の各種記憶領域が含まれる。
サブRAM83は、決定された演出内容や演出データを登録する格納領域や、主制御回路41から送信される内部当籤役等の各種データを格納する格納領域などを有する。
また、サブCPU81は、サブ用ドア監視スイッチから受信した信号に基づいて、フロントドア2bが開いたこと及び開いた時刻を示す情報(例えば、2018年9月18日10時30分にフロントドア2bが開いた場合、「20180918 1030 OPEN」)、又は、フロントドア2bが閉まったこと及び閉まった時刻を示す情報(以下、これらをドア開閉履歴データと称する場合がある)をサブRAM83に記憶する。
また、副制御回路42には、図6に示すように、第1LED群111、第7LED群117、第8LED群118、ドットマトリクス部119、スピーカ20L,20R、サブ液晶ユニット200等の周辺装置が接続されている。つまり、これらの周辺装置の動作は、副制御回路42により制御される。また、副制御回路42には、エンターボタン21への操作を検出するエンタースイッチ21S及びセレクトボタン22への操作を検出するセレクトスイッチ22Sに接続されている。
第1LED群111、第7LED群117、第8LED群118、ドットマトリクス部119は、本発明に係る演出実行手段の具体例を示すものであり、さらに第8LED群118は、本発明に係る回動表示手段の一具体例を示すものである。また、スピーカ20L,20Rは、本発明に係る音声出力手段の一具体例を示すものである。
第1LED群111は、上表示部LEDドライブ基板121を介してサブCPU81(副制御回路42)に接続されている。上表示部LEDドライブ基板121には、サブCPU81から送信された制御信号(後述のLED制御データ又は差分データ)を受けて、第1LED群111に電流を供給するドライバ(回路)が実装されている。すなわち、サブCPU81及び上表示部LEDドライブ基板121は、演出制御手段の具体例を示すものであり、演出内容に基づいて制御信号(後述のLED制御データ又は差分データ)を作成し、第1LED群111を制御する。
第7LED群117は、7SEGドライブ基板127を介してサブCPU81(副制御回路42)に接続されている。7SEGドライブ基板127には、サブCPU81から送信された制御信号(後述のLED制御データ又は差分データ)を受けて、第7LED群117に電流を供給するドライバ(回路)が実装されている。すなわち、サブCPU81及び7SEGドライブ基板127は、演出制御手段の具体例を示すものであり、演出内容に基づいて制御信号(後述のLED制御データ又は差分データ)を作成し、第7LED群117を制御する。
第8LED群118は、回胴部LEDドライブ基板128を介してサブCPU81(副制御回路42)に接続されている。回胴部LEDドライブ基板128には、サブCPU81から送信された制御信号(後述のLED制御データ又は差分データ)を受けて、第8LED群118に電流を供給するドライバ(回路)が実装されている。すなわち、サブCPU81及び回胴部LEDドライブ基板128は、演出制御手段の具体例を示すものであり、演出内容に基づいて制御信号(後述のLED制御データ又は差分データ)を作成し、第8LED群118を制御する。
ドットマトリクス部119は、マトリクスドライブ基板129を介してサブCPU81(副制御回路42)に接続されている。マトリクスドライブ基板129には、サブCPU81から送信された制御信号(後述のLED制御データ又は差分データ)を受けて、第8LED群118に電流を供給するドライバ(回路)が実装されている。すなわち、サブCPU81及びマトリクスドライブ基板129は、演出制御手段の具体例を示すものであり、演出内容に基づいて制御信号(後述のLED制御データ又は差分データ)を作成し、ドットマトリクス部119を制御する。
なお、本実施形態に係る第2LED群112、第3LED群113、第4LED群114、第5LED群115、第6LED群116、及び、その他のポートに係る光源部は、それぞれ不図示のドライブ基板を介して副制御回路42に接続されている。そして、本実施形態では、337ポートの光源部(図3参照)を所定の周期(本実施形態では2msec)で制御する。
サブCPU81及び各種ドライブ基板(回胴部LEDドライブ基板128、マトリクスドライブ基板129等)は、本発明の遊技機に係る演出制御手段の具体例を示すものである。
また、本実施形態では、各基板121,127,128,129が、各ランプ群111,117,118及びドットマトリクス部119へシリアルバス通信方式により通信を行う。シリアルバス通信は、データ線・クロック線の2線、又は、データ線・クロック線・セレクト線の3線を用いた同期式シリアル通信により、各ランプ群111,117,118及びドットマトリクス部119のLEDの発光態様を制御するためのデータが送信される。
また、本実施形態では、回胴部LEDドライブ基板128は、第8LED群118におけるリール用光源(リールバックライト)をスタティック制御する。LEDの点灯方式(方法)としては、ダイナミック制御とスタティック制御がある。ダイナミック制御では、点灯しているLEDを一定周波数で高速に点滅させる。このダイナミック制御において、高い周波数で点滅する間隔を短くすれば、人間の目で見た場合に残像現象によって常時点灯しているように見える。
リールバックライトをダイナミック制御すると、リールが回転した際にリールバックライトの発光がちらついて見える。その結果、所謂、目押しの妨げや、目の疲労感があらわれやすい等の問題が生じする。そこで、本実施形態では、リールバックライトをスタティック制御する。スタティック制御では、LEDに常時電流をかけ続ける。これにより、LEDに常に一定の電流が流れるため、リールバックライトの発光がちらつかないようにすることができる。本実施形態では、赤7図柄の一部分を半透明部分としており、リールが回転した際に半透明部分がリールバックライトの光で強調され図柄の識別性が高まる。その際、リールの半透明部分が表示窓4L,4C,4Rを通過するときにリールバックライトの光が強く視認可能となるため、ここでちらつきが生じると、目押しの妨げとなりやすい。ちらつき抑制のためのスタティック制御は、このように半透明部分を有するリールを備える遊技機に採用するとより効果的であると言える。しかし、スタティック制御は、ダイナミック制御よりも配線の本数が増え、ポート数が多くなる。
また、サブCPU81、DSP90、オーディオRAM91、D/A変換器92及びアンプ93は、演出内容により指定されたサウンドデータに従ってBGM等の音をスピーカ20L,20Rにより出力する。
[サブ液晶ユニット]
次に、サブ液晶ユニット200の回路構成について、図7を参照して説明する。
図7は、サブ液晶ユニット200の回路構成例を示すブロック図である。
サブ液晶ユニット200は、制御LSI201、横長の長方形状の液晶画面202、外付けメモリ203で構成されている。
外付けメモリ203は、フラッシュメモリで構成され、液晶画面202に表示される画像のデータ(画像データ)が記憶されている。制御LSI201は、副制御回路42から受信するコマンド等に応じて、外付けメモリ203から画像データを読み出して、液晶画面に表示させる。なお、外付けメモリ203に記憶されている複数の画像データのそれぞれには、2バイトからなる画像番号が付されている。また、本実施形態では、外付けメモリ203に読み込み専用のフラッシュメモリを使用しているが、読み込み専用のフラッシュメモリに代えて、他のストレージデバイス、例えばSSD、HDD、及び、書き換え可能なフラッシュメモリ等を外付けメモリとして使用してもよい。
制御LSI201は、ホストコントローラ210、ビデオアウトプット回路211、DSP(digital signal processor)212、SRAM(Static Random Access Memory)213、フラッシュメモリ214を備えている。
また、制御LSI201は、DMAC(DMA Controller)215、SPI(Serial Peripheral Interface)216、UART(Universal Asynchronous Receiver Transmitter)217a(UART0)、217b(UART1)、GPIO(General Purpose Input/Output)218及びPWM(Pulse Width Modulation)回路219を備えている。これら制御LSI201が備える各種デバイスは、バスを介して相互に接続されおり、本実施形態の制御LSI201では、バスのプロトコルとしてAXI(Advanced eXtensible Interface)が採用されている。
ホストコントローラ210は、例えばCPUやMPUで構成され、制御LSI201が備える各種デバイス、例えば、DSP212等の制御を行う。
制御LSI201は、SPI216を介して、外付けメモリ203に接続されている。なお、本実施形態では、制御LSI201は、SPI216を使用して外付けメモリ203から画像データを読み込んでいるが、SPI216に代えて、他のインターフェース、例えばSATA I/F、I2C、及び、I3C等を使用して、外付けメモリ203から画像データを読み込んでもよい。
UART217a、217bは、サブ液晶ユニット200と副制御回路42との間で後述する各種コマンドを送受信するためのシリアル通信回路である。UART217a、217bは、汎用通信回路により構成されている。なお、本実施形態では、UART217a、217bを使用してサブ液晶ユニット200と副制御回路42との間の通信を行っているが、UART217a、217bに代えて、他のインターフェース、例えばSPI、I2C、I3C、イーサネット(Ethernet、登録商標)を使用して、サブ液晶ユニット200と副制御回路42との間の通信を行ってもよい。
DMAC215は、ホストコントローラ210の指示に応じて、外付けメモリ203から画像データを読み出し、DSP212に転送する。また、後述するQRデータをSRAM213からDSP212に転送する。これらの転送処理を、以下の説明では、DMA転送と称する場合がある。
フラッシュメモリ214には、各種プログラムが記憶されており、例えばホストコントローラ210は、フラッシュメモリ214に記憶されているプログラムをSRAM213に展開して実行する。
ビデオアウトプット回路211は、LVDS(Low voltage differential signaling)での画像出力が可能となっており、DSP212は、DMAC215によってDMA転送されたデータに係る画像を、ビデオアウトプット回路211を介して、液晶画面202に表示させる。
GPIO218は、後述するように、ホストコントローラ210、液晶画面202及び外付けメモリ203どの機器間で入出力される制御信号を中継する汎用入出力ポート回路である。また、GPIO218は、サブ液晶ユニット200と副制御回路42との間で後述する各種コマンドを中継する。なお、GPIO218は、サブCPU81により、入力又は出力に設定可能なポートを有する汎用入出力ポート回路である。
PWM回路219は、液晶画面202のバックライトの明るさを調整するためのパルス信号を生成する。詳細には、PWM回路219は、PWM回路219用のレジスタに設定されたLowサイクル及びHighサイクルに基づいたパルス信号を生成する。本実施形態において、PWM回路219用のレジスタには、Lowサイクル:Highサイクルが15:1の最低輝度から、1:15の最高輝度までの15段階で液晶画面202のバックライトの輝度が設定される。
[GPIOのポート]
図8に示すように、GPIO218は、ポート0から15までの16のポートからなる。
ポート0は、外付けメモリ203とフラッシュメモリ214との間で、動作させるフラッシュメモリを切換えるための制御信号が出力される出力ポートである。ポート0から出力される制御信号のデフォルト状態はLow(以降、「L」と称す。)であり、本実施形態においては、デフォルト状態の制御信号がポート0から出力される。
ポート0から出力される制御信号がLであれば、ホストコントローラ210は、フラッシュメモリ214に格納されたプログラムを実行する。ポート0から出力される制御信号がHigh(以降、「H」と称す。)であれば、ホストコントローラ210は、外付けメモリ203に格納されたプログラムを実行する。
すなわち、ホストコントローラ210の起動(Boot)時にポート0から出力される制御信号に応じたメモリからSRAM213にプログラムが展開されてSRAM213に展開されたプログラムがホストコントローラ210によって実行される。
ポート1は、フラッシュメモリ214の動作モードを表す制御信号が入力される入力ポートである。ポート1に入力される制御信号がHの場合、フラッシュメモリ214がファームウェアの書換え状態であることを示し、ポート1に入力される制御信号がLの場合、通常動作状態であることを示す。
例えば、ホストコントローラ210に起動時に、ポート1から入力された制御信号がHであれば、ホストコントローラ210は、待機状態となる。待機状態において、ホストコントローラ210は、WDT(ウォッチドッグタイマ)をリセットし続ける処理を除くいずれの処理も実行しない。
ポート2は、外付けメモリ203の動作モードを表す制御信号が入力される入力ポートである。ポート2に入力される制御信号がHの場合、外付けメモリ203がデータの書込み状態であることを示し、ポート2に入力される制御信号がLの場合、通常動作状態であることを示す。
例えば、ホストコントローラ210に起動時に、ポート2から入力された制御信号がHであれば、ポート1から入力された制御信号がHであるときと同様に、ホストコントローラ210は、待機状態となる。
ポート3は、未使用ポートである。ポート4は、ホストコントローラ210が液晶画面202の上下方向(Y軸方向)の表示状態を設定するための制御信号が出力される出力ポートである。ポート4から出力された制御信号がLであれば、液晶画面202の表示が上下に反転する反転表示(「座標(0,0)が右下」)となり、ポート4から出力された制御信号がHであれば、液晶画面202の表示が上下に反転しない通常表示(「座標(0,0)が左上」図16C参照)となる。
ポート5は、ホストコントローラ210が液晶画面202の左右方向(X軸方向)の表示状態を設定するための制御信号が出力される出力ポートである。ポート5から出力された制御信号がLであれば、液晶画面202の表示が左右に反転する反転表示(「座標(0,0)が右上」)となり、ポート5から出力された制御信号がHであれば、液晶画面202の表示が左右に反転しない通常表示となる。
ポート6は、ホストコントローラ210が液晶画面202の作動状態を設定するための制御信号が出力される出力ポートである。ポート6から出力された制御信号がLであれば、液晶画面202が待機状態(例えば、「待機画面」図16A参照)となるスタンバイモードとなり、ポート6から出力された制御信号がHであれば、液晶画面202が作動状態となる通常モードとなる。
なお、液晶画面202によっては、ポート6から出力された制御信号がLであれば、液晶画面202がスタンバイモードとなり、ポート6から出力された制御信号がHであれば、液晶画面202が通常モードとなる場合もある。
ポート7は、ホストコントローラ210が液晶画面202のバックライトの点灯を許可するか否か設定するための制御信号が出力される出力ポートである。ポート7から出力された制御信号がLであれば、液晶画面202のバックライトが消灯(ブラックアウト又は最低輝度)し、ポート7から出力された制御信号がHであれば、液晶画面202のバックライトが点灯する。
ポート8、ポート9及びポート10は、未使用ポートである。ポート11は、PWM回路219によって生成されたPWM信号を液晶画面202のバックライトに出力するための出力ポートである。ポート11から出力されるPWM信号は、ポート7から出力される制御信号がHの場合に、有効な制御信号となる。
ポート12は、UART217aから出力されたシリアル信号を副制御回路42にサブ接続送信副回線を通じて出力するための出力ポートである。ポート13は、副制御回路42から出力されたシリアル信号をUART217aにサブ接続受信副回線を通じて入力させるための入力ポートである。サブ接続送信副回線及び接続受信副回線は、第2シリアル回線を構成する。
ポート14は、UART217bから出力されたシリアル信号を副制御回路42にサブ接続送信主回線を通じて出力するための出力ポートである。ポート15は、副制御回路42から出力されたシリアル信号をUART217bにサブ接続受信主回線を通じて入力させるための入力ポートである。サブ接続送信主回線及び接続受信主回線は、第1シリアル回線を構成する。
なお、本実施形態において、サブ接続送信副回線及びサブ接続受信副回線は、冗長的に設けられた回線であって、サブ液晶ユニット200と副制御回路42との間で送受信される通常のコマンドは、サブ接続送信主回線及びサブ接続受信主回線を通じて送受信される。
<メインROMに記憶されているデータテーブルの構成>
次に、図9を参照して、メインROM52に記憶されているデータテーブルの一例として図柄配置テーブル(図柄配置表)について説明する。
[図柄配置表]
図9に示すように、図柄配置表は、左リール3L、中リール3C及び右リール3Rのそれぞれの回転方向における各図柄の位置を規定する。
図柄配置表では、リールインデックスが検出されたときに、表示窓4L,4C,4Rの枠内における中段領域に配置される各リールの図柄の位置を「0」と規定する。そして、各リールにおいて、図柄位置「0」を基準としてリールの回転方向(図7中の矢印A方向)に進む順に、図柄カウンタに対応する「0」~「20」が、図柄位置として、各図柄に割り当てられる。
すなわち、図柄カウンタの値(「0」~「20」)と、図柄配置表とを参照することにより、表示窓4L,4C,4Rの枠内における各リールの上段、中段及び下段の領域に表示されている図柄の種類を特定することができる。例えば、左リール3Lに対応する図柄カウンタの値が「7」であるとき、表示窓4の枠内における左リール3Lの上段、中段及び下段の領域には、それぞれ、図柄位置「8」の「ドン1」、図柄位置「7」の「ベル2」及び図柄位置「6」の「リプレイ」に対応する図柄が表示されている。
なお、メインROM52に記憶されている内部抽籤テーブル等の他のデータテーブルについては、説明を省略する。
<副制御回路とサブ液晶ユニット間の通信>
[通信データフォーマット]
次に、副制御回路42とサブ液晶ユニット200間の通信について、説明する。まず、図10を用いて、副制御回路42とサブ液晶ユニット200間の通信データフォーマットについて説明する。図10は、副制御回路42とサブ液晶ユニット200間の通信データフォーマットを説明するための図である。
ここで、副制御回路とサブ液晶ユニット間の通信仕様は、通信速度が115200bps、データ長が8ビット、ストップビットが1ビット、パリティビットがEVEN(偶数)に設定されている。
図10に示すように、副制御回路42とサブ液晶ユニット200間の通信データには、STX、CRC、LEN、BLK、CNT、CMD、DAT、ETXのコードが含まれている。
STXは、開始コードを示す1バイトのコードであり、値は、16進数で示すと「02」である。
CRCは、巡回冗長検査に用いられる2バイトのコードであり、検査の対象は、LEN~DAT終了までとなっている。
LENは、本文長(BLK~DAT終了まで)を示す1バイトのコードである。
BLKは、送信ブロック終了フラグを示す1バイトのコードである。「0」(16進数で示すと「00」)は、終了を示し、「1」(16進数で示すと「01」)は、継続を示し、「2」(16進数で示すと「02」)は、別ID継続を示す。例えば、コマンドに係るデータ本文が128バイト以上の場合、一度のコマンドの送信では、データ本文を送信できない。このような場合は、続けて、同じコマンドが送信されるため、先に送信されるコマンドのBLKの値が、「01」となる。また、先に送信するコマンドに関連して、別コマンドが次に送信される場合、BLKの値は、「02」となる。なお、副制御回路42がデータ本文を128バイト以上送信できないのではなく、サブ液晶ユニット200のホストコントローラ210の処理速度、及び、SRAM213の容量の関係によりデータ本文が128バイト以上のコマンドを受信することが困難であるため、副制御回路42がサブ液晶ユニット200に送信するデータ数を制限している。このため、一度のコマンド送信では、データ本文を送信できない事態が生じる場合がある。
CNTは、送信カウンタを示す2バイトのコードである。
CMDは、副制御回路42とサブ液晶ユニット200間で送受信される各種コマンドの固有のIDであるコマンドIDを示す2バイトのコードである。ここで、各種コマンドには、副制御回路42からサブ液晶ユニット200に送信される、全画像情報要求コマンド(コマンドIDは16進数で示すと「10」)、画像チェックサム要求コマンド(コマンドIDは16進数で示すと「11」)がある。また、画面クリアコマンド(コマンドIDは16進数で示すと「30」)、第1画像表示コマンド(コマンドIDは16進数で示すと「33」)、QRリクエストコマンド(コマンドIDは16進数で示すと「32」)、第2画像表示コマンド(コマンドIDは16進数で示すと「31」)がある。また、ポーリングコマンド(コマンドIDは16進数で示すと「7F」)がある。
また、各種コマンドには、サブ液晶ユニット200から副制御回路42に送信される、ACKコマンド(コマンドIDは16進数で示すと「06」)、NAKコマンド(コマンドIDは16進数で示すと「15」)がある。これらのコマンドの詳細については、後述する。
DATは、データ本文であり、0~128バイトの可変長となっている。ETXは、終了コードを示す1バイトのコードであり、値は、16進数で示すと「03」である。
なお、通信データには、コマンドの種別を問わず、DAT以外のコード(STX、CRC、LEN、BLK、CNT、CMD、ETX)が含まれる。このため、通信データのデータレングスは、9バイト(DATが0バイトの場合)~137バイト(DATが128バイトの場合)の可変長となる。
[全画像情報要求コマンド]
次に、全画像要求コマンドについて、図11を参照して説明する。図11は、全画像要求コマンドを説明するための図である。
全画像要求コマンドには、STX、CRC、LEN、BLK、CNT、CMD、ETXのコードで構成される。なお、図11では、STX、CRC、ETXの図示を省略している。
全画像要求コマンドにおけるLENの値は、4バイトを示す「04」(16進数表記)となる。
BLKの値は、本コマンドに関連して別コマンドが次に送信される場合は、「02」(16進数表記)となり、本コマンドに関連した次のコマンドがない場合は、「00」(16進数表記)となる。
CNTの値は、その時点でのカウント数となる。
CMDの値は、全画像情報要求コマンドのコマンドIDを示す「10」(16進数表記)となる。
[画像チェックサム要求コマンド]
次に、画像チェックサム要求コマンドについて、図12を参照して説明する。図12は、画像チェックサム要求コマンドを説明するための図である。
全画像要求コマンドには、STX、CRC、LEN、BLK、CNT、CMD、2バイトのDAT(DAT0,DAT1)、ETXのコードで構成される。なお、図12では、STX、CRC、ETXの図示を省略している。
画像チェックサム要求コマンドにおけるLENの値は、6バイトを示す「06」(16進数表記)となる。
BLKの値は、本コマンドに関連して別コマンドが次に送信される場合は、「02」(16進数表記)となり、本コマンドに関連した次のコマンドがない場合は、「00」(16進数表記)となる。
CNTの値は、その時点でのカウント数となる。
CMDの値は、画像チェックサム要求コマンドのコマンドIDを示す「11」(16進数表記)となる。
DAT0,DAT1の値は、チェック対象である、外付けメモリ203に記憶されている画像データの画像番号となる。
[画面クリアコマンド]
次に、画面クリアコマンドについて、図13を参照して説明する。図13は、画面クリアコマンドを説明するための図である。
画面クリアコマンドには、STX、CRC、LEN、BLK、CNT、CMD、ETXのコードで構成される。なお、図13では、STX、CRC、ETXの図示を省略している。
画面クリアコマンドにおけるLENの値は、4バイトを示す「04」(16進数表記)となる。
BLKの値は、本コマンドに関連して別コマンドが次に送信される場合は、「02」(16進数表記)となり、本コマンドに関連した次のコマンドがない場合は、「00」(16進数表記)となる。
CNTの値は、その時点でのカウント数となる。
CMDの値は、画面クリアコマンドのコマンドIDを示す「30」(16進数表記)となる。
[QRリクエストコマンド]
次に、QRリクエストコマンドについて、図14~図16を参照して説明する。図14は、QRリクエストコマンドを説明するための図である。図15は、副制御回路42が作成するQRコード(登録商標)の一例を示す図である。図16は、サブ液晶ユニットにQRコードを表示させる手順を説明するための図である。
QRリクエストコマンドは、サブ液晶ユニット200にQRコードを表示させる際に、副制御回路42からサブ液晶ユニット200に送信される。
QRリクエストコマンドには、STX、CRC、LEN、BLK、CNT、CMD、DAT(DAT0~4,データ量に応じたDAT5~127)、ETXのコードで構成される。なお、図14では、STX、CRC、ETXの図示を省略している。
QRリクエストコマンドにおけるLENの値は、DATの数に応じて可変であり、4バイトを示す「04」(16進数表記)から132バイトを示す「84」(16進数表記)までの値となる。
BLKの値は、「00」,「01」,「02」のいずれかとなる。例えば、表示させるQRコードに係るデータ(QRデータ)が128バイト以上の場合、一度のQRリクエストコマンドの送信では、データを送信できない。このため、このような場合は、続けて、QRリクエストコマンドが送信されるため、先に送信されるQRリクエストコマンドのBLKの値が、継続を示す「01」(16進数表記)となる。なお、本コマンドに関連して別コマンドが次に送信される場合は、別ID継続を示す「02」(16進数表記)となり、本コマンドに関連した次のコマンドがない場合は、「00」(16進数表記)となる。
CNTの値は、その時点でのカウント数となる。
CMDの値は、QRリクエストコマンドのコマンドIDを示す「32」(16進数表記)となる。
DAT0~DAT127の値は、表示させるQRコードに係るデータであるQRデータの値となる。
DAT0~3の値は、画像(本コマンドではQRコード)の基準点(画像の左上の隅)を表示する、液晶画面202上の位置である表示座標を示す値となる。本実施形態の液晶画面202では、遊技機の水平方向(X方向)の表示座標の値を、0~479に設定可能であり、また、垂直方向(Y方向)の表示座標の値を、0~271に設定可能となっている。表示座標の値を、(X方向の表示座標の値、Y方向の表示座標の値)の形式で表すと、本実施形態では、図16(c)に示すように、液晶画面202の左上の隅の表示座標の値が(0,0)、右上の隅の表示座標の値が(479,0)、左下の隅の表示座標の値(0,271)となるように設定されている。
DAT0~3の内のDAT0,1の値は、表示するQRコードの左上の隅のX方向における表示座標の値となる。また、DAT2,3の値は、表示するQRコードの左上の隅のY方向における表示座標の値となる。
サブ液晶ユニット200にQRコードを表示させる際、副制御回路42のサブCPU81は、サブRAM83からドア開閉履歴データを読み出し、読み出したドア開閉履歴データに基づいて、図15(A)に示すQRコードを作成する。なお、QRコードについて、いわゆるQRコードモデルのバージョン(1~40で任意に設定可能)は、QRコードで表すドア開閉履歴データの情報量及び求めるデコードレベル(誤り訂正レベル、L,M,Q,Hのいずれか)に応じて、サブROM82に予め設定、又は、SRAM213に記憶されている。また、表示時のQRコードの大きさを指定するQR拡大倍率(例えば1~10倍で設定可能)も予め設定されている。
次に、副制御回路42のサブCPU81は、作成したQRコードを二値化する二値化処理を行う。二値化処理は、図15(A)に示すように、3隅の四角い切り出しシンボル(位置検出パターン)を除いた領域(図では2点鎖線で囲んだ領域、以下「所定領域」と称する場合がある)に対して行われる。
図15(B)は、図15(A)に示す所定領域の内の領域A(一点鎖線で囲む領域)を拡大して示している。
二値化処理において、副制御回路42のサブCPU81は、図15(B)に示すように、所定領域内の各セル(図15(B)では点線で囲む各領域)について、黒の場合は「1」、白の場合は「0」として、1セル1ビットのデータに変換し、DAT5~127の値とする。
そして、副制御回路42のサブCPU81は、QRコードの表示座標(DAT0~3)、QR拡大倍率(DAT4)、及び、二値化したQRコードのデータ(DAT5~DAT127)を含むQRリクエストコマンドを、サブ液晶ユニット200に送信する。
なお、1ビットのデータに変換する1セルは、デコードレベル及びQR拡大倍率にもよるが、例えば、画素数が水平方向(X方向)に4~10画素、垂直方向(Y方向)に4~10画素で構成されている。
ここで、サブ液晶ユニット200にQRコードを表示させる際の操作について説明する。待機中(遊技中)におけるサブ液晶ユニット200には、図16(A)に示す待機画面が表示されている。待機画面が表示されているときに、エンターボタン21が操作されると、副制御回路42は、サブ液晶ユニット200に図16(B)に示すメニュー画面を表示させる。
メニュー画面が表示されているときに、セレクトボタン22が操作されて選択項目として「ユニメモ」が選択されたときに、主制御回路41に接続された設定キー(不図示)がオンされており、且つ、エンターボタン21が操作されると、副制御回路42は、ドア開閉履歴データのQRコードを作成する。そして、副制御回路42は、作成したQRコードを二値化し、QRコードの表示座標、QR拡大倍率及び二値化したQRコードのデータを含むQRリクエストコマンドを、サブ液晶ユニット200に送信する。
なお、設定キーがオフの状態で、エンターボタン21が操作されると、遊技履歴データ(総遊技回数、ボーナスゲームの発生回数、ARTの発生回数等)のQRコードが作成される。
サブ液晶ユニット200がQRリクエストコマンドを受信すると、制御LSI201のDSP212は、予め定められたQRコードモデルのバージョンと、コマンドに含まれるQRデータ、すなわちQRコードの表示座標、QR拡大倍率及びQRコードの二値化データに基づいて、QRコードを復元し、図16(c)に示すように、復元したQRコードを液晶画面202に表示する。なお、QRコードの復元の際には、予め記憶されたフラッシュメモリ214に記憶されている、QR拡大倍率に応じた3隅の四角い切り出しシンボル(位置検出パターン)の画像を、受信したQRコードのデータと合成して、復元する。
なお、上述したように、QRデータが128バイト以上で、一度のQRリクエストコマンドの送信では、QRデータを送信できない場合、図14の「QRリクエストコマンド2回目以降のDAT」に示すように、続けて送信されるQRリクエストコマンドにおけるDAT0~127の値は、二値化したQRコードのデータの値となる。すなわち、表示座標や拡大倍率に係るデータは重複して送信されない。
液晶画面202に表示されたQRコードを、例えばパチスロ1の管理者(遊技ホールの従業員)がカメラ機能を有し、且つ、液晶表示装置など表示手段を有する携帯端末装置(例えば、スマートフォンやタブレット端末)で読み取る。この携帯端末装置では、QRコードを解析し、ドア開閉履歴データを管理者が認識可能な態様(「20180918 1030 OPEN」)で表示手段に表示可能となっている。これによって、管理者は比較的サイズの小さい液晶画面202を有するサブ液晶ユニット200を搭載するパチスロ1であっても、液晶画面202のサイズに因らず、携帯端末装置で、容易にドア開閉履歴を確認可能となる。この携帯端末装置及びパチスロ1は、本発明の一実施形態である遊技システムを構成する。
なお、上記の説明では、副制御回路42(のサブCPU81)が、3隅の四角い切り出しシンボル(位置検出パターン)を除いた所定領域に対して、二値化処理を行う例を説明した。しかしながら、これに代えて、二値化処理の対象を、3隅の四角い切り出しシンボルを含むQRコード全体としてもよい。
[ポーリングコマンド]
次に、ポーリングコマンドについて、図17を参照して説明する。図17は、ポーリングコマンドを説明するための図である。
ポーリングコマンドは、一定周期(例えば、200msec毎)に副制御回路42からサブ液晶ユニット200へ、サブ液晶ユニット200がアクティブであるかを問い合わせたい場合に送信される。
ポーリングコマンドには、STX、CRC、LEN、BLK、CNT、CMDのコードで構成される。なお、図17では、STX、CRC、ETXの図示を省略している。
ポーリングコマンドにおけるLENの値は、4バイトを示す「04」(16進数表記)となる。
BLKの値は、本コマンドに関連して別コマンドが次に送信される場合は、「02」(16進数表記)となり、本コマンドに関連した次のコマンドがない場合は、「00」(16進数表記)となる。
CNTの値は、その時点でのカウント数となる。
CMDの値は、ポーリングコマンドのコマンドIDを示す「7F」(16進数表記)となる。
[第1画像表示コマンド]
次に、第1画像表示コマンドについて、図18及び図19を参照して説明する。図18は、第1画像表示コマンドを説明するための図である。図19は、第1画像表示コマンドに基づく画像の表示態様を説明するための図である。
第1画像表示コマンドコマンドは、副制御回路42からサブ液晶ユニット200へ、サブ液晶ユニット200に画像を表示させる場合に送信される。より具体的には、複数の画像を、これらの画像における基準点(画像の左上の隅)の表示座標は変えずに(すなわち表示位置は変えずに)、所定の間隔で連続して表示させる際に、送信される。
第1画像表示コマンドコマンドには、STX、CRC、LEN、BLK、CNT、CMD、10バイトのDAT(DAT0~DAT9)、ETXのコードで構成される。なお、図18では、STX、CRC、ETXの図示を省略している。
第1画像表示コマンドにおけるLENの値は、14バイトを示す「0E」(16進数表記)となる。
BLKの値は、本コマンドに関連して別コマンドが次に送信される場合は、「02」(16進数表記)となり、本コマンドに関連した次のコマンドがない場合は、「00」(16進数表記)となる。
CNTの値は、その時点でのカウント数となる。
CMDの値は、第1画像表示コマンドのコマンドIDを示す「33」(16進数表記)となる。
DAT0,1の値は、連続して表示する画像の内の最初の画像である開始画像の画像データの画像番号となる。
DAT2,3は、開始画像の左上の隅のX方向(水平方向)における表示座標の値となる。また、DAT4,5の値は、開始画像の左上の隅のY方向(垂直方向)における表示座標の値となる。
DAT6,7の値は、連続して表示する画像の内の最後の画像である終了画像の画像データの画像番号となる。
DAT8の値は、画像を切り替えるタイミングである画像更新間隔を示す値となる。本実施形態では、画像更新間隔を10ミリ秒~2.55秒の間で設定可能となっている。
DAT9の値は、画像更新ループの有無を示す値となる。ここで、画像更新ループとは、開始画像から終了画像までの画像を表示後に、これらの画像の表示を繰り返すことである。画像更新ループを行う場合、DAT9の値は、有りを示す「01」(16進数表記)、画像更新ループを行わない場合、DAT9の値は、無しを示す「00」(16進数表記)となる。
以上のような、第1画像表示コマンドをサブ液晶ユニット200が受信すると、制御LSI201は、受信したコマンドにおける開始画像の画像番号から終了画像の画像番号までの画像番号に係る複数の画像を、受信したコマンドにおける画像更新間隔で、液晶画面202に順次表示する。また、制御LSI201は、順次表示する複数の画像の基準点(画像の左上の隅)の表示座標を、受信したコマンドにおける開始画像に係る表示座標に一致させる。
ここで、副制御回路42からサブ液晶ユニット200へ、開始画像の画像番号として「01」、開始画像のX方向における表示座標として「0000」、同Y方向における表示座標として「0000」、終了画像の画像番号として「04」を含む第1画像表示コマンドが、送信された場合の表示態様について説明する。また、同コマンドにおいては、画像更新間隔として「01」、画像更新ループの有無として、有りの「01」を含むものとする。
第1画像表示コマンドを受信すると、サブ液晶ユニット200の制御LSI201は、外付けメモリ203から、開始画像の画像番号「01」の画像データを読み出す。次いで、制御LSI201は、図19(A)に示すように、読み出した画像データに係る画像の基準点である左上の隅の表示座標を(0,0)とし、液晶画面202に表示させる。画像番号「01」の画像は、配当表の上部1/3の情報を示す画像となっている。
また、制御LSI201は、開始画像の画像番号「01」と終了画像の画像番号「04」の間の画像番号の画像データが外付けメモリ203に記憶されているか否かを判定する。例えば、外付けメモリ203に、画像番号「02」と「03」の画像データが記憶されている場合、制御LSI201は、記憶されていると判定する。そして、本例のように、判定条件を充足する画像が複数ある場合、制御LSI201は、複数の画像から最も小さい値の画像番号、すなわち「02」に係る画像データを読み出す。
そして、制御LSI201は、画像番号「01」の画像を表示してから10ミリ秒経過後に、図19(B)に示すように、読み出した画像番号「02」の画像を、液晶画面202に表示させる。制御LSI201は、画像番号「02」の画像の基準点である左上の隅の表示座標を、開始画像と同様に(0,0)として表示する。画像番号「02」の画像は、配当表の2/3の情報を示す画像となっている。
また、制御LSI201は、画像番号「02」と終了画像の画像番号「04」の間の画像番号の画像データが外付けメモリ203に記憶されているか否かを判定する。例えば、外付けメモリ203に、「03」の画像データが記憶されている場合、制御LSI201は、記憶されていると判定し、画像番号「03」に係る画像データを読み出す。
そして、制御LSI201は、画像番号「02」の画像を表示してから10ミリ秒経過後に、図19(C)に示すように、読み出した画像番号「03」の画像を、液晶画面202に表示させる。制御LSI201は、画像番号「03」の画像の基準点である左上の隅の表示座標を、開始画像と同様に(0,0)として表示する。画像番号「03」の画像は、配当表5/6の情報を示す画像となっている。
また、制御LSI201は、画像番号「03」と終了画像の画像番号「04」の間の画像番号の画像データが外付けメモリ203に記憶されているか否かを判定する。この場合、条件を充足する画像がないので、制御LSI201は、記憶されていないと判定し、終了画像である画像番号「04」に係る画像データを読み出す。
そして、制御LSI201は、画像番号「03」の画像を表示してから10ミリ秒経過後に、図19(D)に示すように、読み出した画像番号「04」の画像を、液晶画面202に表示させる。制御LSI201は、画像番号「04」の画像の基準点である左上の隅の表示座標を、開始画像と同様に(0,0)として表示する。画像番号「04」の画像は、配当表の全情報を示す画像となっている。
なお、制御LSI201は、液晶画面202に画像を表示する毎に、表示した画像の画像番号と、受信した第1画像表示コマンドに含まれる終了画像の画像番号(DAT6,7)とが、一致するか否かを判定する。また、一致する場合は、制御LSI201は、DAT9の値に基づいて、画像更新ループの有無を判定する。本例では、画像番号「04」の画像を表示すると、表示した画像の画像番号と、受信した第1画像表示コマンドに含まれる終了画像の画像番号が一致するので、制御LSI201は、DAT9の値に基づいて、画像更新ループ有りと判定する。
画像更新ループ有りと判定する場合、制御LSI201は、終了画像の画像番号「4」の画像を表示してから10ミリ秒経過後に、再度開始画像である画像番号「01」の画像を、液晶画面202に表示する。そして、制御LSI201は、その後、10ミリ秒経過する毎に、画像番号「2」~「4」の各画像を、順次、液晶画面202に表示する。すなわち、制御LSI201は、画像番号「01」~「04」の画像を、10ミリ秒ごとに、液晶画面202に表示することを繰り返す。
以上のように、制御LSI201は、画像番号「01」~「04」の画像を、10ミリ秒経過するごとに、液晶画面202に順次表示させることで、遊技者に、パラパラ漫画を見ているような、時間の経過に応じて画像が変化する印象を与えることができる。
また、第1画像表示コマンドに基づく画像の表示態様(演出態様)としては、例えばボーナスが当籤した場合に液晶画面202の中央に「WIN」の文字が点滅表示される態様や、ART(AT)遊技が確定した場合に液晶画面202の中央に「CHANCE」の文字が点滅表示される態様がある。これらの態様は、第1画像表示コマンドにおけるDAT0,1に、ボーナス当籤の場合は「WIN」の文字の画像、ART(AT)遊技の確定の場合は「CHANCE」の文字画像に係る画像番号を開始画像番号としてセットする。また、DAT2,3に開始画像の表示座標Xとして「170」をセットし、DAT4,5に開始画像の表示座標Yとして「70」をセットする。また、DAT6,7に「WIN」の文字の画像又は「CHANCE」の文字の画像を消去するための消去画像に係る画像番号を終了画像番号としてセットし、DAT8に画像更新間隔として「50」をセットする。そして、DAT9に画像更新ループ有りを示す「1」をセットすることで実現可能となる。
[第2画像表示コマンド]
次に、第2画像表示コマンドについて、図20~図22を参照して説明する。図20は、第2画像表示コマンドを説明するための図である。図21及び図22は、第2画像表示コマンドに基づく画像の表示態様を説明するための図である。
第2画像表示コマンドコマンドは、副制御回路42からサブ液晶ユニット200へ、サブ液晶ユニット200に、一つの画像を表示させる場合、又は、複数の画像を所定の間隔で表示させる場合に送信される。
第2画像表示コマンドコマンドには、STX、CRC、LEN、BLK、CNT、CMD、DAT(DAT0~DAT127)、ETXのコードで構成される。なお、図20では、STX、CRC、ETXの図示を省略している。
第2画像表示コマンドにおけるLENの値は、DATの数に応じて可変であり、4バイトを示す「04」(16進数表記)から132バイトを示す「84」(16進数表記)までの値となる。
BLKの値は、本コマンドに関連して別コマンドが次に送信される場合は、「02」(16進数表記)となり、本コマンドに関連した次のコマンドがない場合は、「00」(16進数表記)となる。
CNTの値は、その時点でのカウント数となる。
CMDの値は、第2画像表示コマンドのコマンドIDを示す「31」(16進数表記)となる。
DAT0,1の値は、表示する1画像目の画像番号となる。DAT2,3の値は、表示する1画像目の画像の基準点(本実施形態では、左上の隅)のX方向(水平方向)における表示座標の値となる。また、DAT4,5の値は、表示する1画像目の画像の基準点のY方向(垂直方向)における表示座標の値となる。
以降、表示する画像が複数の場合は、各画像についてのデータがDAT0~5と同様の態様(画像番号、表示座標の値を示す6バイトのデータ)で続く。なお、本実施形態では、一つの第2画像表示コマンドで、合計21枚の画像を、連続表示可能となっている。
最後から2番目のDAT(図20では、DTAn*6+5)の値は、画像を切り替えるタイミングである画像更新間隔を示す値となる。本実施形態では、画像更新間隔を10ミリ秒~2.55秒の間で設定可能となっている。
最後のDAT(図20では、DTAn*6+6)には、座標移動の有無を示す値となる。「01」(16進数表記)は、座標移動有り、を示し、「00」(16進数表記)は、座標移動無し、を示す。座標移動無しの場合、制御LSI201は、第2画像表示コマンドに含まれる各画像の表示座標に基づいて、各画像を表示する。すなわち、当コマンドのDATの順で、画像を順次読み出し、各画像の基準点(画像の左上の隅)を、各画像の表示座標に合わせて、当コマンドに含まれる画像更新間隔で、連続表示する。
一方、座標移動有りの場合、とは、1画像目の表示座標と、連続して表示する画像の内の最後の画像である終了画像の表示座標とに基づいて、その間の各画像が等間隔で移動するように表示座標を決定して、表示させる。
具体的には、連続して表示させる画像の枚数がZ枚であり、1画像目のX方向の表示座標の値がx1、Y方向の表示座標がy1、最後の画像であるn画像目のX方向の表示座標の値がxn、Y方向の表示座標がynとすると、制御LSI201は、各画像間の基準点の移動距離(以下、「座標間隔」と称する場合がある)を以下の式(1),(2)で算出する。
X方向の座標間隔=(xn-x1)/(z-1)・・・式(1)
Y方向の座標間隔=(yn-y1)/(z-1)・・・式(2)
そして、制御LSI201は、算出したX方向の座標間隔とY方向の座標間隔に基づいて、開始画像から数えてm番目(1~nの間)の画像のX方向及びY方向の基準点の表示座標を以下の式(3),(4)で算出して決定する。
X方向の表示座標=x1+X方向の座標間隔×(m-1)・・・式(3)
Y方向の表示座標=y1+Y方向の座標間隔×(m-1)・・・式(4)
制御LSI201は、座標移動有りを示すDATを含む第2画像表示コマンドを、副制御回路42から受信すると、当コマンドに含まれている画像番号の数から連続表示する画像の枚数を特定する。そして、開始画像と終了画像の表示座標から、各画像の表示座標を決定し、当コマンドに含まれている画像更新間隔で、連続表示する。
例えば、図21(A)~(C)及び図22(D)~(F)に示す6枚の画像(各画像の輪郭を一点鎖線で示している)を、この順番で、液晶画面202に表示する場合、図21(A)に示す開始画像の表示座標と、図21(F)に終了画像の表示座標から、座標間隔を算出する。
開始画像の表示座標が(10,10)(X方向の表示座標の値、Y方向の表示座標の値)で、終了画像の表示座標が(160,60)の場合、X方向の座標間隔は、式(1)から30となる。また、Y方向の座標間隔は、式(2)から10となる。
図21(B)に示す2枚目に表示する画像の表示座標は、式(3),(4)から(40,20)となる。同様に、図21(C)に示す3枚目に表示する画像の表示座標は、(70,30)となり、図22(D)に示す4枚目に表示する画像の表示座標は、(100,40)となる。また、同様に、図22(E)に示す5枚目に表示する画像の表示座標は、(130,50)となる。
以上のように、制御LSI201は、座標移動有りを示すDATを含む第2画像表示コマンドを受信すると、開始画像と終了画像の間の各画像についての表示座標を決定する。そして、制御LSI201は、図21及び図22に示すように、当コマンドに含まれる画像更新間隔で、各画像の基準点を決定した表示座標に合わせて表示する。このようにすることで、遊技者に、パラパラ漫画を見ているような、時間の経過に応じて画像が変化(図21及び図22では、キャラクターが液晶画面202の左上方から中央に移動しながら右手と左手を順に挙げる)する印象を与えることができる。
このような第2画像表示コマンドに基づいて、例えば、一定期間(例えば、3分間)以上遊技がなされていない(遊技メダルがBETされない)状態が継続した場合に図21及び図22のように画像を変化させることで、サブ液晶ユニット200のスクリーンセイバーの役割を果たすことも可能となる。
なお、座標移動有りを示すDATを含む第2画像表示コマンドにも、各画像についての表示座標が含まれているが、制御LSI201は、式(1)~(4)で算出し決定した表示座標を優先して用いる。
[ACKコマンド]
次に、ACKコマンドについて、図23を参照して説明する。図23は、ACKコマンドを説明するための図である。
ACKコマンドは、サブ液晶ユニット200から副制御回路42へ送信される。
ACKコマンドには、STX、CRC、LEN、BLK、CNT、CMD、DAT、ETXのコードで構成される。なお、図23では、STX、CRC、ETXの図示を省略している。
ACKコマンドにおけるLENの値は、DATの数に応じて可変であり、6バイトを示す「06」(16進数表記)から14バイトを示す「0E」(16進数表記)までの値となる。
BLKの値は、通常、本コマンドに関連した次のコマンドがないので、終了を示す「00」(16進数表記)となる。
CNTの値は、その時点でのカウント数となる。
CMDの値は、ACKコマンドのコマンドIDを示す「06」(16進数表記)となる。
DATの値は、直前に副制御回路42から受信したコマンドの種別に応じて異なる。
副制御回路42から全画像情報要求コマンドを受信した場合のDATは、DAT0~DAT9で構成される。DAT0,1の値は、ファームウェアのバージョンを示す値となる。DAT2~5の値は、外付けメモリ203のマジックコードを示す値となる。DAT6,7の値は、外付けメモリ203に記憶可能な画像の最大数の値となる。DAT8,9の値は、外付けメモリ203の全体のサム値(チェックサム)となる。
副制御回路42から画像チェックサム要求コマンドを受信した場合のDATは、DAT0,1で構成される。DAT0,1の値は、受信した画像チェックサム要求コマンドに含まれるチェック対象の画像番号が付された画像データのサム値(チェックサム)となる。
副制御回路42から第1画像表示コマンド又は第2画像表示コマンドを受信した場合のDATは、DAT0,1で構成される。DAT0,1の値は、受信した第1画像表示コマンドに含まれる開始画像の画像番号、又は、受信した第2画像表示コマンドに含まれる1画像目の画像の画像番号となる。
副制御回路42からその他のコマンドを受信した場合のDATは、DAT0,1で構成される。DAT0,1の値は、固定のダミーデータ「0000」(16進数表記)となる。
[NAKコマンド]
次に、NAKコマンドについて、図24を参照して説明する。図24は、NAKコマンドを説明するための図である。
NAKコマンドは、サブ液晶ユニット200から副制御回路42へ、何らかのエラーが発生した場合、例えば、副制御回路42から送信されたコマンドを正常に受信できなかった場合や送信されたコマンドに応じた処理を正常に終了できなかった場合に送信される。
NAKコマンドには、STX、CRC、LEN、BLK、CNT、CMD、DAT、ETXのコードで構成される。なお、図24では、STX、CRC、ETXの図示を省略している。
NAKコマンドにおけるLENの値は、6バイトを示す「06」(16進数表記)となる。
BLKの値は、通常、本コマンドに関連した次のコマンドがないので、終了を示す「00」(16進数表記)となる。
CNTの値は、その時点でのカウント数となる。
CMDの値は、NAKコマンドのコマンドIDを示す「15」(16進数表記)となる。
DATは、DAT0,1で構成される。DAT0の値は、NAKコマンドの連続送信回数を示す値となる。
DAT1の値は、図24に示すように、発生したエラーの種別に応じた値となる。例えば、「0B」(16進数表記)は、画像サイズエラーを示す値である。画像サイズエラーとは、表示に係る画像のサイズが液晶画面202のサイズを超えたことによるエラーや画像サイズがX方向/Y方向において0であるエラーが該当する。
[ACK/NAKコマンドの送信タイミング]
次に、ACK/NAKコマンドの送信タイミングについて、図25~26を参照して説明する。図25及び図26は、画像表示系コマンドを受信したときのACK/NAKコマンドの送信タイミングを示すタイミングチャートである。図27は、QRリクエストコマンドを受信したときのACK/NAKコマンドの送信タイミングを示すタイミングチャートである。
本実施形態におけるサブ液晶ユニット200では、副制御回路42から画像表示系コマンド、すなわち第1画像表示コマンド又は第2画像表示コマンドを受信した場合、当該コマンドを正常に受信でき、且つ、当該コマンドに係るDMA転送が成功したときに、ACKコマンドを送信する。
副制御回路42から画像表示系コマンドを受信すると、サブ液晶ユニット200における制御LSI201のホストコントローラ210は、まず、受信したコマンドに含まれるCRCコードを用いた巡回冗長検査によるコマンドの整合性判定(受信したデータに受信データの誤りや破損がないかを判定)を行う。
整合性判定において、正常と判定する場合、図25の「転送成功」で示すように、ホストコントローラ210はDMAC215に転送指示を行う。転送指示後、ホストコントローラ210は、DMAC215のステータスを監視しており、DMA転送の正常終了又は異常発生を検知となっている。また、ホストコントローラ210は、このステータスの監視と並行して、他の処理、例えば受信割り込みやタイマ割り込み処理を実行可能となっている。
転送指示を受けたDMAC215は、外付けメモリ203から受信したコマンドに係る画像データを読み出し、DSP212に転送するDMA転送を行う。DMA転送が正常に終了すると、DMAC215のステータスにその旨が反映される。ホストコントローラ210は、DMAC215のステータスにDMA転送が正常に終了したことが反映されると、ACKコマンドを、副制御回路42に送信する。
一方、図25の「受信異常」で示すように、ホストコントローラ210が、副制御回路42から画像表示系コマンドを受信したときにエラーを検出した場合、すなわち、整合性判定の結果、受信データに異常を検知した場合は、そのタイミングでNAKコマンドを副制御回路42に送信する。
また、図25の「転送失敗」で示すように、ホストコントローラ210が整合性判定において正常と判定し、DMAC215に転送指示後、DMA転送において何らかの異常(例えば、バスにノイズ載る)が発生した場合、DMAC215のステータスに異常がセットされる。ホストコントローラ210は、DMAC215のステータスに異常がセットされたことを検知すると、このタイミングで、NAKコマンドを、副制御回路42に送信し、DMAC215を初期化する。
また、図25の「0.5s以上応答なし」で示すように、ホストコントローラ210が整合性判定において正常と判定し、DMAC215に転送指示後、DMAC215のステータスが更新されない場合、副制御回路42は、画像表示系コマンドを送信してから所定時間(本実施形態では、0.5秒)経過してもACK又はNAKコマンドをサブ液晶ユニット200から受信できない。この場合、副制御回路42は、前回送信した画像表示系コマンドを再送する。
再送された画像表示系コマンドをサブ液晶ユニット200が受信すると、ホストコントローラ210は、整合性判定を行う。そして、ホストコントローラ210は、正常と判定するとDMAC215に対して、DMAC215のステータスが転送中であれば前回送信されたコマンドに基づく転送指示をキャンセルし、再送されたコマンドに基づく転送指示を行う。そして、ホストコントローラ210は、DMAC215のステータスにDMA転送が正常に終了したことが反映されると、ACKコマンドを、副制御回路42に送信する。
ACKコマンドの送信タイミングについてさらに詳細に説明する。図26に示すように、サブ液晶ユニット200が、副制御回路42から、複数枚の画像を連続表示させるための画像表示系コマンドを受信した場合、ホストコントローラ210は、DMAC215のステータスに、開始画像又は1画像目の画像の画像データについて、DMA転送が正常に終了したことが反映されたタイミングで、ACKコマンドを、副制御回路42に送信する。
次に、QRリクエストコマンドを受信したときのACK/NAKコマンドの送信タイミングについて説明する。
図27では、QRデータが128バイト以上のため、QRリクエストコマンドが複数回送信される例を示している。サブ液晶ユニット200が副制御回路42から1回目(初回)のQRリクエストコマンドを受信すると、ホストコントローラ210は、受信したコマンドに含まれるCRCコードを用いた巡回冗長検査によるコマンドの整合性判定(受信したデータに受信データの誤りや破損がないかを判定)を行う。
整合性判定において、正常と判定する場合、ホストコントローラ210は、そのタイミングで、ACKコマンドを、副制御回路42に送信する。なお、ホストコントローラ210は、受信したQRリクエストコマンドが初回のQRリクエストコマンドであるか否かを、受信したコマンドのBLKコードの値が継続を示す「01」(16進数表記)であるか否かで判断する。
ACKコマンドを受信した副制御回路42は、続くQRリクエストコマンドを送信する。
サブ液晶ユニット200が副制御回路42から最後(終回)のQRリクエストコマンドを受信すると、ホストコントローラ210は、整合性判定を行い、正常と判定すると、DMAC215に転送指示を行う。この転送指示では、DMAC215に対して、その時点までに受信したQRリクエストコマンドに含まれ、SRAM213に記憶された全QRデータを、DSP212に転送するDMA転送を行うように指示する。なお、ホストコントローラ210は、受信したQRリクエストコマンドが終回のQRリクエストコマンドであるか否かを、受信したコマンドのBLKコードの値が継続を示す「01」(16進数表記)以外であるか否かで判断する。
転送指示を受けたDMAC215は、SRAM213から受信したQRリクエストコマンドに係る全QRデータを読み出し、DSP212に転送するDMA転送を行う。DMA転送が正常に終了すると、DMAC215のステータスにその旨が反映される。ホストコントローラ210は、DMAC215のステータスにDMA転送が正常に終了したことが反映されると、ACKコマンドを、副制御回路42に送信する。
なお、図示は省略するが、QRデータが128バイトを超えないため、QRリクエストコマンドの送信が一度で済む場合、当該コマンドのBLKコードの値は終了を示す「00」(16進数表記)であるため、上述した最後(終回)のQRリクエストコマンドを受信した場合と同様に、ホストコントローラ210は、DMAC215のステータスにDMA転送が正常に終了したことが反映されると、ACKコマンドを、副制御回路42に送信する。
また、ホストコントローラ210が、副制御回路42からQRリクエストコマンドを受信したときにエラーを検出した場合(例えば、整合性判定で異常が検知された場合)やDMA転送において何らかの異常(例えば、バスにノイズ載る)が発生した場合のNAKの送信タイミングについては、図25の「受信異常」及び「転送失敗」で説明した態様と同様であるため、ここでの説明は省略する。
なお、副制御回路42は、NAKコマンドを受信した場合、又は、所定時間経過してもACK又はNAKコマンドを受信できない場合、直前に送信したコマンドを再送するが、NAKコマンドのDAT0の値が示す、NAKコマンドの連続送信回数が所定回数(例えば、128回)を超えている場合、サブ液晶ユニット200に何らかの異常が発生していて、送信したコマンドを正常に処理できない状況にあると判断し、再送を取りやめることがある。
[QRリクエストコマンド及び画像表示系コマンドの送信]
図27に示したように、副制御回路42のサブCPU81は、QRデータが128バイト以上であれば、複数のQRリクエストコマンドをサブ液晶ユニット200に送信する。サブCPU81は、複数のQRリクエストコマンドをサブ液晶ユニット200に送信する場合、1度のインストラクションセットの呼び出しに基づき、複数のQRリクエストコマンドを生成する。
複数のQRリクエストコマンドを生成した後、サブCPU81は、生成した複数のQRリクエストコマンドを図28(a)に示したように送信バッファに格納する。このように、1種類のコマンド種別に応じたデータを送信バッファに記憶する単独データ記憶手段を構成する。また、送信バッファは、送信データ記憶領域を構成する。なお、送信バッファは、サブRAM83に割り当てられていてもよく、副制御回路42の各UART84a、84b(図34参照)に設けられていてもよい。
同様に、サブCPU81は、複数のQRリクエストコマンドと、1画像を指定する画像表示系コマンド(第1画像表示コマンド又は第2画像表示コマンド)とをサブ液晶ユニット200に送信することができる。
サブCPU81は、複数のQRリクエストコマンドと、1画像を指定する画像表示系コマンドとをサブ液晶ユニット200に送信する場合、1度のインストラクションセットの呼び出しに基づき、複数のQRリクエストコマンドと、1画像を指定する画像表示系コマンドとを生成する。
複数のQRリクエストコマンドと、1画像を指定する画像表示系コマンドとを生成した後、サブCPU81は、生成した複数のQRリクエストコマンド及び1画像を指定する画像表示系コマンドの順序で、図28(b)に示したように送信バッファに格納する。このように、複数種類のコマンド種別に応じたデータを送信バッファに記憶する複数データ記憶手段を構成する。
また、サブCPU81は、複数のQRリクエストコマンドと、連続画像を指定する画像表示系コマンド(第1画像表示コマンド)とをサブ液晶ユニット200に送信することができる。
サブCPU81は、複数のQRリクエストコマンドと、連続画像を指定する画像表示系コマンドとをサブ液晶ユニット200に送信する場合、1度のインストラクションセットの呼び出しに基づき、複数のQRリクエストコマンドと、連続画像を指定する画像表示系コマンドとを生成する。
複数のQRリクエストコマンドと、連続画像を指定する画像表示系コマンドとを生成した後、サブCPU81は、生成した複数のQRリクエストコマンド及び1画像を指定する画像表示系コマンドの順序で、図28(c)に示したように送信バッファに格納する。
また、サブCPU81は、複数のQRリクエストコマンドと、それぞれ複数の画像を指定する複数の画像表示系コマンド(第2画像表示コマンド)とをサブ液晶ユニット200に送信することができる。
サブCPU81は、複数のQRリクエストコマンドと、それぞれ複数の画像を指定する複数の画像表示系コマンドとをサブ液晶ユニット200に送信する場合、1度のインストラクションセットの呼び出しに基づき、複数のQRリクエストコマンドと、それぞれ複数の画像を指定する複数の画像表示系コマンドとを生成する。
複数のQRリクエストコマンドと、それぞれ複数の画像を指定する複数の画像表示系コマンドとを生成した後、サブCPU81は、生成した複数のQRリクエストコマンド及びそれぞれ複数の画像を指定する複数の画像表示系コマンドの順序で、図28(d)に示したように送信バッファに格納する。
以上のように送信バッファに格納されたコマンドは、図29に示すように、1つのコマンド(1ブロック)ごとにサブ液晶ユニット200に送信される。すなわち、1つのコマンドの送信に対してサブ液晶ユニット200から送信されたACKコマンドの受信に応じて次の1つのコマンドがサブ液晶ユニット200に送信される。
図29には、図28(d)に示したように送信バッファにコマンドが格納された場合に、副制御回路42とサブ液晶ユニット200との間で送受信されるコマンドが図中上から下に時系列で示されている。
図29において、まず、副制御回路42からサブ液晶ユニット200に最初のQRリクエストコマンドが送信される。サブ液晶ユニット200で受信された最初のQRリクエストコマンドが正常であれば、サブ液晶ユニット200から副制御回路42にACKコマンドが送信される。
このACKコマンドが副制御回路42に受信されると、副制御回路42からサブ液晶ユニット200に2回目のQRリクエストコマンドが送信される。サブ液晶ユニット200で受信された2回目のQRリクエストコマンドが正常であれば、サブ液晶ユニット200から副制御回路42にACKコマンドが送信される。
このACKコマンドが副制御回路42に受信されると、副制御回路42からサブ液晶ユニット200に3回目(最後)のQRリクエストコマンドが送信される。サブ液晶ユニット200で受信された3回目のQRリクエストコマンドが正常であれば、サブ液晶ユニット200から副制御回路42にACKコマンドが送信される。
このACKコマンドが副制御回路42に受信されると、副制御回路42からサブ液晶ユニット200にn枚(1~n)の画像を指定する画像表示系コマンドが送信される。サブ液晶ユニット200で受信された画像表示系コマンドが正常であれば、サブ液晶ユニット200から副制御回路42にACKコマンドが送信される。
このACKコマンドが副制御回路42に受信されると、副制御回路42からサブ液晶ユニット200にm-n-1枚(n+1~m)の画像を指定する画像表示系コマンドが送信される。サブ液晶ユニット200で受信された画像表示系コマンドが正常であれば、サブ液晶ユニット200から副制御回路42にACKコマンドが送信される。このACKコマンドを受信したことによって、送信バッファに格納された全てのコマンドの送信が完了する。
[GPIO読み込み要求コマンド]
図30に示すように、GPIO読み込み要求コマンドには、STX、CRC、LEN、BLK、CNT、CMD、DAT、ETXのコードで構成される。なお、図30では、STX、CRC、ETXの図示を省略している(図10参照)。
GPIO読み込み要求コマンドは、GPIO218の入力ポートの制御信号の状態を要求するためのコマンドであり、副制御回路42からサブ液晶ユニット200に送信される。
GPIO読み込み要求コマンドにおけるLENには、BLKからDATまでの長さである5バイトを示す「05」(16進数表記)が設定される。BLKには、本コマンドに関連した次のコマンドがないので、終了を示す「00」(16進数表記)が設定される。
CNTには、送信カウンタの値が設定される。送信カウンタの値は、副制御回路42からサブ液晶ユニット200にコマンドが送信されるたびに、インクリメントされる。CMDには、GPIO読み込み要求コマンドのコマンドIDを示す「40」(16進数表記)が設定される。
DATには、制御信号の状態を要求するGPIO218のポート番号(図8参照)が「00」~「0F」(16進数表記)の範囲で設定される。このように、DATによって、制御信号の状態を要求するGPIO218のポートがポート番号で指定される。例えば、DATに「01」が設定された場合には、GPIO読み込み要求コマンドによって、GPIO218のポート1の制御信号の状態が要求される。
[GPIO読み込み応答コマンド]
図31に示すように、GPIO読み込み応答コマンドには、STX、CRC、LEN、BLK、CNT、CMD、DAT、ETXのコードで構成される。なお、図31では、STX、CRC、ETXの図示を省略している(図10参照)。
GPIO読み込み応答コマンドは、副制御回路42からサブ液晶ユニット200に送信されたGPIO読み込み要求コマンド(図30参照)を受けて、GPIO218の入力ポートの制御信号の状態を返答するための返信コマンドであり、サブ液晶ユニット200から副制御回路42に送信される。
GPIO読み込み応答コマンドにおけるLENには、BLKからDATまでの長さである5バイトを示す「05」(16進数表記)が設定される。BLKには、本コマンドに関連した次のコマンドがないので、終了を示す「00」(16進数表記)が設定される。CNTには、送信カウンタの値が設定される。CMDには、GPIO読み込み応答コマンドのコマンドIDを示す「42」(16進数表記)が設定される。
DATには、GPIO読み込み要求コマンドによって指定された入力ポートの制御信号の状態(00/01:16進数表記)が設定される。例えば、GPIO読み込み要求コマンドによってポート1が指定された場合には、DATには、GPIO218のポート1の制御信号の状態が「01」(High)又は「00」(Low)で設定される。
ホストコントローラ210は、副制御回路42から送信されたGPIO読み込み要求コマンドによって指定されたポートの状態を返答することができない場合には、副制御回路42にGPIO読み込み応答コマンドを送信せずに、NAKコマンド(図24参照)を送信する。
例えば、GPIO読み込み要求コマンドによって指定されたポートが出力ポート(ポート0、4~7、11、12、14)、未使用ポート(ポート3、8~10)、UART217a,217bの受信ポートである入力ポート(ポート13、15)、又は、存在しないポート(ポート番号が0から15の範囲外)の場合には、ホストコントローラ210は、副制御回路42にNAKコマンドを送信する。
このNAKコマンドのDAT1には、固定のダミーデータが設定されてもよく、NAKコマンドのDAT1には、図24に示したエラー番号とは異なり、GPIO読み込み要求コマンドによって指定されたポートが誤りであることを示すエラー番号が設定されてもよい。
また、GPIO読み込み要求コマンドによって指定されたポートが誤りであることを示すエラー番号として、NAKコマンドのDAT1には、図24に示したエラー番号とは異なり、GPIO読み込み要求コマンドによって指定されたポートが出力ポート、未使用ポート、UART217a,217bの受信ポートである入力ポート、又は、存在しないポートであったことをそれぞれ示すユニークなエラー番号を設定してもよい。
[GPIO書込み要求コマンド]
図32に示すように、GPIO書込み要求コマンドには、STX、CRC、LEN、BLK、CNT、CMD、DAT、ETXのコードで構成される。なお、図32では、STX、CRC、ETXの図示を省略している(図10参照)。GPIO書込み要求コマンドは、GPIO218の出力ポートの制御信号の状態を設定するためのコマンドであり、副制御回路42からサブ液晶ユニット200に送信される。
GPIO書込み要求コマンドにおけるLENには、BLKからDATまでの長さである6バイトを示す「06」(16進数表記)が設定される。BLKには、本コマンドに関連した次のコマンドがないので、終了を示す「00」(16進数表記)が設定される。CNTには、送信カウンタの値が設定される。CMDには、GPIO書込み要求コマンドのコマンドIDを示す「43」(16進数表記)が設定される。
DATは、DAT0,1から構成される。DAT0には、制御信号の状態を設定するGPIO218のポート番号(図8参照)が「00」~「0F」(16進数表記)の範囲で設定される。このように、DAT0によって、制御信号の状態を設定するGPIO218の出力ポートのポート番号が指定される。
DAT1には、DAT0によって指定されたGPIO218の出力ポートに設定する制御信号の状態(00/01:16進数表記)が設定される。例えば、DAT0に「04」に設定され、DAT0に「01」に設定された場合には、GPIO書込み要求コマンドによって、GPIO218のポート4の制御信号の状態が「1」(High)に設定される。
ホストコントローラ210は、GPIO書込み要求コマンドを受信したことに応じて、GPIO218の出力ポートの制御信号の状態を設定した場合には、副制御回路42にACKコマンド(図23参照)を送信する。
このACKコマンドのDATには、固定のダミーデータが設定されてもよく、設定対象のGPIO218の出力ポートのポート番号が設定されてもよく、設定した制御信号の状態が設定されてもよく、設定対象のGPIO218の出力ポートのポート番号と、設定した制御信号の状態とが設定されてもよい。
ホストコントローラ210は、GPIO書込み要求コマンドを受信したことに応じて、GPIO218の出力ポートの制御信号の状態を設定できなかった場合には、副制御回路42にNAKコマンド(図23参照)を送信する。
例えば、GPIO書込み要求コマンドによって指定されたポートが入力ポート(ポート1、2、13、15)、未使用ポート(ポート3、8~10)、UART21a,217bの送信ポートである出力ポート(ポート12、14)、又は、存在しないポート(ポート番号が0から15の範囲外)の場合には、ホストコントローラ210は、副制御回路42にNAKコマンドを送信する。
このNAKコマンドのDAT1には、固定のダミーデータが設定されてもよく、図24に示したエラー番号とは異なり、GPIO書込み要求コマンドによって指定されたポートが誤りであることを示すエラー番号が設定されてもよい。
また、GPIO書込み要求コマンドによって指定されたポートが誤りであることを示すエラー番号として、NAKコマンドのDAT1には、図24に示したエラー番号とは異なり、GPIO書込み要求コマンドによって指定されたポートが入力ポート、未使用ポート、GPIO書込み要求コマンドに対する返信用コマンドの出力ポート、又は、存在しないポートであったことをそれぞれ示すユニークなエラー番号を設定してもよい。
[シリアル回線確認コマンド]
図33に示すように、シリアル回線確認コマンドには、STX、CRC、LEN、BLK、CNT、CMD、ETXのコードで構成される。なお、図33では、STX、CRC、ETXの図示を省略している(図10参照)。
シリアル回線確認コマンドは、副制御回路42とサブ液晶ユニット200とを接続するシリアル回線及びシリアル通信回路(UART84a、84b、UART217a,217b)を確認するためのコマンドであり、副制御回路42からサブ液晶ユニット200に送信される。
シリアル回線確認コマンドにおけるLENには、BLKからCMDまでの長さである4バイトを示す「04」(16進数表記)が設定される。BLKには、本コマンドに関連した次のコマンドがないので、終了を示す「00」(16進数表記)が設定される。CNTには、送信カウンタの値が設定される。CMDには、GPIO書込み要求コマンドのコマンドIDを示す「44」(16進数表記)が設定される。
ホストコントローラ210は、シリアル回線確認コマンドが整合しているか否かの整合性判定を行い、シリアル回線確認コマンドが整合していると判断した場合には、副制御回路42にACKコマンド(図23参照)を送信し、シリアル回線確認コマンドが整合していないと判断した場合には、副制御回路42にNAKコマンド(図24参照)を送信する。
例えば、ホストコントローラ210は、シリアル回線確認コマンドに対して、図24に示したエラー番号に相当するエラーを検出した場合には、シリアル回線確認コマンドが整合していないと判断し、副制御回路42にNAKコマンド(図24参照)を送信する。
ホストコントローラ210は、コマンドのCMDに物理層エラー(フレーミングエラー、オーバーランエラー、パリティエラー等)がなければ、コマンドの種類を判断することができる。したがって、ホストコントローラ210は、CMD以外の物理層エラー、CRCエラー、レングスエラーなどを検出した場合、シリアル回線確認コマンドが整合していないと判断する。
図34に示すように、副制御回路42には、サブ液晶ユニット200の制御を行うためのデータを送信するデータ送信手段及びサブ液晶ユニット200から状態情報を取得するためのデータを受信するデータ受信手段を構成するUART84a、84bを有している。
本実施形態において、副制御回路42からサブ液晶ユニット200に送信されるコマンドがサブ液晶ユニット200の制御を行うためのデータに相当し、サブ液晶ユニット200から副制御回路42に送信されるコマンドがサブ液晶ユニット200から状態情報を取得するためのデータに相当する。また、サブCPU81は、送信データ生成手段を構成する。
UART217aの受信端子Rxは、UART84aの送信端子Txにサブ接続送信副回線を通じて接続されている。UART217aの送信端子Txは、UART84aの受信端子Rxにサブ接続受信副回線を通じて接続されている。
UART217bの受信端子Rxは、UART84bの送信端子Txにサブ接続送信主回線を通じて接続されている。UART217bの送信端子Txは、UART84bの受信端子Rxにサブ接続受信主回線を通じて接続されている。
ホストコントローラ210は、UART217bの受信端子Rxに接続されたGPIO218の入力ポート15にシリアル回線確認コマンドが受信されると、シリアル回線確認コマンドの整合性判定の結果に応じて、ACKコマンド又はNAKコマンドをUART217bの送信端子Txに接続されたGPIO218の出力ポート14とUART217aの送信端子Txに接続されたGPIO218の出力ポート12とから送信する。
ホストコントローラ210は、シリアル回線確認コマンドが整合していると判断した場合には、固定のダミーデータがDATに設定されたACKコマンドを副制御回路42に送信するようにしてもよく、ACKコマンドを送信するUART217a、217bを識別するためのデータがDATに設定されたACKコマンドを副制御回路42に送信するようにしてもよい。
このように構成することにより、副制御回路42は、シリアル回線確認コマンドの一回の送信で、UART84a、84b、217a、217bが正常であることを確認することができる。
また、ホストコントローラ210及び副制御回路42は、シリアル回線確認コマンドの整合性判定の結果に応じて、ACKコマンド又はNAKコマンドをUART217bの送信端子TxとUART217aの送信端子Txとから送信するため、UART84a、84b、217a、217bの異常箇所を判別することができる。
例えば、UART84a、84bの少なくとも一方にNAKコマンドが正常に受信された場合には、UART84bの送信回路又はUART217bの受信回路、又は、シリアル回線(ハーネス、コネクタ等)に異常がある可能性がある。
また、UART84aにACK又はNAKコマンドが受信されたにも関わらず、UART84bにACK又はNAKコマンドが受信されなかった場合には、UART217bの送信回路又はUART84bの受信回路、又は、シリアル回線(ハーネス、コネクタ等)に異常がある可能性がある。
また、UART84bにACK又はNAKコマンドが受信されたにも関わらず、UART84aにACK又はNAKコマンドが受信されなかった場合には、UART217aの送信回路又はUART84aの受信回路、又は、シリアル回線(ハーネス、コネクタ等)に異常がある可能性がある。
[画像記憶領域チェック要求コマンド]
図35に示すように、画像記憶領域チェック要求コマンドには、STX、CRC、LEN、BLK、CNT、CMD、DAT、ETXのコードで構成される。なお、図35では、STX、CRC、ETXの図示を省略している(図10参照)。
画像記憶領域チェック要求コマンドは、外付けメモリ203に割り当てられた画像記憶領域を確認するためのコマンドであり、副制御回路42からサブ液晶ユニット200に送信される。
画像記憶領域チェック要求コマンドにおけるLENには、BLKからDATまでの長さである6バイトを示す「06」(16進数表記)が設定される。BLKには、本コマンドに関連した次のコマンドがないので、終了を示す「00」(16進数表記)が設定される。CNTには、送信カウンタの値が設定される。CMDには、画像記憶領域チェック要求コマンドのコマンドIDを示す「45」(16進数表記)が設定される。
DATは、DAT0,1から構成される。DAT0には、画像記憶領域チェックのモードが設定される。画像記憶領域チェックのモードは、モード1とモード2とがあり、モード1の場合には、DAT0には、「01」(16進数表記)が設定され、モード2の場合には、DAT0には、「02」(16進数表記)が設定される。
モード1は、画像記憶領域に画像データが格納された後に、画像記憶領域に格納された画像データを確認するための出荷検査モードである。モード1では、画像記憶領域に格納された画像データのチェックサムによって画像記憶領域が確認される。
モード2は、画像記憶領域に画像データが格納される前に、画像記憶領域が所定の初期状態であることを確認するための入荷比較モードである。モード2では、画像記憶領域に格納されたデータと比較データと一致していることが確認される。このため、DAT0にモード2が設定される場合には、DAT1には、画像記憶領域が所定の初期状態であるときの比較データ「00」~「FF」(16進数表記)が設定される。
画像記憶領域チェック要求コマンドを受信すると、ホストコントローラ210は、図36(a)に示すように、外付けメモリ203に割り当てられた画像記憶領域の確認中であることを示す検査中画面を液晶画面202に表示させる。
画像記憶領域チェック要求コマンドで指定されたモードがモード1の場合、ホストコントローラ210は、外付けメモリ203の全画像記憶領域又は特定範囲の画像記憶領域に格納されたデータのチェックサムを算出する。
このように、ホストコントローラ210は、画像記憶領域チェック要求コマンドで指定されたモードがモード1の場合において、画像記憶領域を確認するためのチェックサムを算出する記憶部確認手段を構成する。
ホストコントローラ210は、チェックサムを算出できた場合は、算出したチェックサムをDATに設定したACKコマンド(図23参照)を副制御回路42に送信し、算出したチェックサムを図36(b)に示す検査成功画面のように液晶画面202に表示させる。
このACKコマンドを受信した副制御回路42では、サブRAM83などの判定データ記憶部に予め記憶された判定データと、ACKコマンドのDATに設定されたチェックサムとを1バイトずつ比較し、判定データとチェックサムと一致したか否かをスピーカ20L,20R、第1ランプ群又はドットマトリクス部119などの演出装置を介して報知する。
ホストコントローラ210は、チェックサムを算出しているときに、外付けメモリ203の読み込み異常などによりチェックサムを算出できなくなった場合は、チェックサムの算出を中止し、NAKコマンド(図24参照)を副制御回路42に送信し、チェックサムの算出に失敗した旨を図36(c)に示す検査失敗画面のように液晶画面202に表示させる。
チェックサムの算出に失敗した場合に副制御回路42に送信されるNAKコマンドのDAT1には、固定のダミーデータが設定されてもよく、図24に示したエラー番号とは異なり、チェックサムを算出できなかったことを示すエラー番号が設定されてもよい。
このNAKコマンドを受信した副制御回路42では、チェックサムの算出が失敗した旨をスピーカ20L,20R、第1ランプ群又はドットマトリクス部119などの演出装置を介して報知する。従って、モード1では、図36(b)のように、検査成功画面が液晶画面202に表示された状態で、副制御回路42が演出装置を介してサムチェックの不一致を表す報知を行う状況が発生しうる。
画像記憶領域チェック要求コマンドで指定されたモードがモード2の場合、ホストコントローラ210は、外付けメモリ203の全画像記憶領域又は特定範囲の画像記憶領域に格納されたデータと画像記憶領域チェック要求コマンドで指定された比較データとを1バイトずつ比較する。このように、ホストコントローラ210は、画像記憶領域チェック要求コマンドで指定されたモードがモード2の場合においても、記憶部確認手段を構成する。
ホストコントローラ210は、外付けメモリ203の1バイト単位の全ての領域が画像記憶領域チェック要求コマンドで指定された比較データと一致した場合は、固定のダミーデータをDATに設定したACKコマンド(図23参照)を副制御回路42に送信し、データが一致した旨を図36(d)に示す検査成功画面のように液晶画面202に表示させる。
このACKコマンドを受信した副制御回路42では、外付けメモリ203の1バイト単位の全ての領域が画像記憶領域チェック要求コマンドで指定された比較データと一致した旨をスピーカ20L,20R、第1ランプ群又はドットマトリクス部119などの演出装置を介して報知するようにしてもよい。
ホストコントローラ210は、外付けメモリ203の1バイト単位の全ての領域を画像記憶領域チェック要求コマンドで指定された比較データとの比較を行っているときに、データの不一致を検出した場合には、データの比較を中止し、DAT1にNAKコマンド(図24参照)を副制御回路42に送信し、データが一致しなかった旨を図36(e)に示す検査失敗画面のように液晶画面202に表示させる。このNAKコマンドのDAT1には、図24に示したエラー番号とは異なり、データが一致しなかったことを示すエラー番号が設定される。
また、ホストコントローラ210は、外付けメモリ203の1バイト単位の全ての領域を画像記憶領域チェック要求コマンドで指定された比較データとの比較を行っているときに、外付けメモリの読み込みエラー(アクセス異常)などによりデータの比較に失敗した場合は、データの比較を中止し、データの不一致を検出した場合と同様にNAKコマンドを副制御回路42に送信し、データの不一致を検出した場合と同様に液晶画面202に表示させる。
このNAKコマンドを受信した副制御回路42では、データが一致しなかった旨をスピーカ20L,20R、第1ランプ群又はドットマトリクス部119などの演出装置を介して報知するようにしてもよい。従って、モード2では、図36(d)のように、検査成功画面が液晶画面202に表示された状態で、副制御回路42が演出装置を介してデータの不一致を表す報知を行うことはなく、検査失敗画面が液晶画面202に表示された状態であれば、副制御回路42が演出装置を介してデータの不一致を表す報知が行われる。
なお、ホストコントローラ210は、外付けメモリ203の1バイト単位の全ての領域を画像記憶領域チェック要求コマンドで指定された比較データとの比較を行っているときに、データの不一致を検出した場合には、データの不一致を検出したことを示すエラー番号がDATに設定されたNAKコマンドを副制御回路42に送信し、データの不一致を検出した旨を液晶画面202に表示させるようにしてもよい。
また、ホストコントローラ210は、外付けメモリ203の1バイト単位の全ての領域を画像記憶領域チェック要求コマンドで指定された比較データとの比較を行っているときに、外付けメモリの読み込みエラー(アクセス異常)などによりデータの比較に失敗した場合には、データの比較に失敗したことを示すエラー番号がDAT1に設定されたNAKコマンドを副制御回路42に送信し、データの比較に失敗した旨を液晶画面202に表示させるようにしてもよい。
この場合、NAKコマンドを受信した副制御回路42では、NAKコマンドのDAT1に設定されたエラー番号がデータの不一致を検出したことを示す場合と、データの比較に失敗した場合とで互いに異なる態様で、データが一致しなかった原因をスピーカ20L,20R、第1ランプ群又はドットマトリクス部119などの演出装置を介して報知するようにしてもよい。
例えば、副制御回路42のサブCPU81は、NAKコマンドのDAT1に設定されたエラー番号がデータの不一致を検出したことを示す場合には、第1ランプ群を黄色で点滅させ、NAKコマンドのDAT1に設定されたエラー番号がデータの比較に失敗したしたことを示す場合には、第1ランプ群を赤色で点滅させるようにしてもよい。
また、ホストコントローラ210は、外付けメモリ203の1バイト単位の全ての領域が画像記憶領域チェック要求コマンドで指定された比較データと一致した場合は、データの一致を検出したことを示すデータ(例えば、1)をDATに設定したACKコマンドを副制御回路42に送信し、外付けメモリ203の1バイト単位の全ての領域と画像記憶領域チェック要求コマンドで指定された比較データとの比較を行っているときに、データの不一致を検出した場合には、データの不一致を検出したことを示すデータ(例えば、0)がDATに設定されたACKコマンドを副制御回路42に送信するようにしてもよい。
以上の説明において、副制御回路42とサブ液晶ユニット200との間で送受信されるコマンドについて説明したが、副制御回路42に代えて、副制御回路42をシミュレートし、サブ液晶ユニット200を検査する検査装置を適用してもよい。
<主制御回路の動作説明>
次に、図37を参照して、主制御回路41のメインCPU51が、プログラムを用いて実行する各種処理の内容について説明する。
[メインCPUの制御によるパチスロの主要動作処理]
まず、メインCPU51の制御で行うパチスロ1の主要動作処理の手順を、図37に示すメインフローチャート(以下、メインフローという)を参照しながら説明する。
まず、パチスロ1に電源が投入されると、メインCPU51は、電源投入時の初期化処理を行う(S1)。この初期化処理では、バックアップが正常に行われたか、設定変更が適切に行われたか等が判定され、その判定結果に対応した初期化が行われる。
次いで、メインCPU51は、一遊技終了時の初期化処理を行う(S2)。この初期化処理では、メインRAM53における指定格納領域のデータをクリアする。なお、ここでいう指定格納領域は、例えば、内部当籤役格納領域や表示役格納領域などの1回の遊技ごとにデータの消去が必要な格納領域である。
次いで、メインCPU51は、メダル受付・スタートチェック処理を行う(S3)。この処理では、メダルセンサ35Sやスタートスイッチ16Sの入力のチェック等が行われる。具体的には、メインCPU51は、前回の遊技で再遊技(リプレイ役)に係る表示役が成立したときの自動投入による投入枚数のカウント、メダル投入口13から投入されたメダルによる投入枚数のカウント、及び、BETボタン(MAXBET、1BET)の押下に基づく投入枚数のカウント等が実行され、投入枚数が遊技開始可能枚数に達している場合には、スタートスイッチの状態を判別する。
次いで、メインCPU51は、乱数値(0~65535)を抽出し、該抽出した乱数値をメインRAM53に設けられた乱数値格納領域(不図示)に格納する(S4)。次いで、メインCPU51は、リール演出及びロックの制御で用いる演出用乱数値を抽出し、該抽出した演出用乱数値をメインRAM53に設けられた演出用乱数値格納領域(不図示)に格納する(S5)。なお、本実施形態では、演出用乱数値は、0~127の範囲から抽出される。
そして、抽出した各種乱数値が所定の乱数値格納領域に格納されると、メインCPU51は、内部抽籤処理を行う(S6)。この処理では、S4で抽出した乱数値に基づいた抽籤により内部当籤役の決定が行われる。
次いで、メインCPU51は、遊技ロック抽籤処理を行う(S7)。遊技ロック抽選処理は、遊技状態に応じた遊技ロック抽籤テーブル(不図示)を参照し、演出用乱数値に基づいて、遊技ロック抽籤を行う。
次いで、メインCPU51は、リール停止初期設定処理を行う(S8)。リール停止初期設定処理は、内部当籤役に基づいて、リール停止初期設定テーブル(不図示)からリールの停止制御に係る各種情報を取得する。
次いで、メインCPU51は、スタートコマンド送信処理を行う(S9)。具体的には、メインCPU51は、スタートコマンドを副制御回路42に送信する。なお、スタートコマンドは、内部当籤役等を特定するパラメータ、遊技ロックの種別及びロック時間等を含んで構成される。
次いで、メインCPU51は、ウェイト処理を行う(S10)。この処理では、メインCPU51は、前回の遊技開始から所定時間(例えば、4.1秒)を経過していない場合、該所定時間が経過するまで待ち時間を消化する。
次いで、メインCPU51は、リール回転開始処理を行う(S11)。この処理において、メインCPU51は、全リールの回転開始を要求する。リール回転開始処理は、全リールの回転開始を要求する。全リールの回転開始が要求されると、一定の周期(1.1172msec)で実行される後述の割込処理(図38参照)により、3つのステッピングモータ61L,61C,61Rの駆動が制御され、左リール3L、中リール3C及び右リール3Rの回転が開始される。
次いで、メインCPU51は、引込優先順位格納処理を行う(S12)。この処理では、メインCPU51は、引込優先順位データを取得して、引込優先順位データ格納領域(不図示)に格納する。
次いで、メインCPU51は、リール停止制御処理を行う(S13)。この処理では、左ストップボタン17L、中ストップボタン17C及び右ストップボタン17Rがそれぞれ押されたタイミングと内部当籤役とに基づいて該当するリールの回転が停止される。また、メインCPU51は、リール停止コマンドを副制御回路42に送信する。この処理で送信するリール停止コマンドには、停止されるリールの種別、ストップスイッチがONになった時点の図柄の位置、リールが停止するまでの滑り駒数等の情報が含まれる。
次いで、メインCPU51は、遊技ロック処理を行う(S14)。この処理において、メインCPU51は、遊技の進行を無効化する又は遅延させる。メインCPU51は、決定された遊技ロック種別を実行する期間に相当する値をロックタイマにセットし、ロックタイマの値が「0」になるまで待機する。その間は、遊技者の停止操作を受け付けない。
次いで、メインCPU51は、入賞検索処理を行う(S15)。この処理では、メインCPU51は、図柄コード格納領域(不図示)のデータを表示役格納領域(不図示)に格納する。また、この処理では、左リール3L、中リール3C及び右リール3Rが全て停止した後に有効ライン(入賞判定ライン)に表示された図柄の組合せと、図柄組合せテーブル(不図示)とを照合する。そして、メインCPU51は、有効ラインに表示役が表示されたか否かを判定し、その判定結果を表示役格納領域に格納するようにしてもよい。
次いで、メインCPU51は、メダル払出処理を行う(S16)。メダル払出処理は、本発明に係る遊技媒体付与手段の一具体例を示す。この処理では、S15において決定された表示役の払出枚数に基づいて、ホッパー33の駆動やクレジット枚数の更新が行われ、メダルの払い出しが行われる。この際、本実施形態では、図柄組合せテーブル(不図示)に示すように、メダルの投入枚数が1~3枚であり、メダルの払出枚数は表示役に応じて異なるが、その最大払出枚数(払出上限)は15枚である。
次いで、メインCPU51は、RT制御処理を行う(S17)。この処理では、メインCPU51は、RT遊技状態を管理する。
メインCPU51は、RT遷移テーブル(不図示)を参照し、移行元(現在)のRT遊技状態において成立し得るRT遊技状態の移行条件をチェックし、RT遊技状態の移行条件が成立していると判別したとき、RT遷移テーブル(不図示)を参照し、移行条件に基づいて、移行先のRT遊技状態に移行する。また、メインCPU51は、表示コマンドを副制御回路42に送信する。なお、表示コマンドは、表示役や払出枚数等を特定するパラメータを含んで構成される。
次いで、メインCPU51は、払出終了コマンド送信処理を行う(S18)。具体的には、メインCPU51は、払出終了コマンドを副制御回路42に送信する。
次いで、メインCPU51は、ボーナス終了チェック処理を行う(S19)。この処理では、メインCPU51は、ボーナスゲームの終了契機を管理するための各種カウンタを参照して、ボーナスゲームの作動を終了するか否かをチェックする。
次いで、メインCPU51は、ボーナス作動チェック処理を行う(S20)。この処理では、メインCPU51は、ボーナスゲームの作動を開始するか否か、及び、再遊技を行うか否かをチェックする。ボーナス作動チェック処理が終了すると、メインCPU51は、処理をS2に戻し、S2以降の処理を繰り返す。
[メインCPUの制御による割込処理(1.1172msec)]
次に、図38を参照して、メインCPU51に内蔵されたタイマ(不図示)の制御による定周期(1.1172msec毎)に行われる割込処理について説明する。
まず、メインCPU51は、レジスタの退避を行う(S351)。次いで、メインCPU51は、入力ポートチェック処理を行う(S352)。この処理では、ストップスイッチ17S等の各種スイッチから入力される信号がチェックされる。
次いで、メインCPU51は、タイマ更新処理を行う(S353)。この処理では、メインCPU51は、例えば、割込処理毎にロックタイマの値を減算する処理を行う。次いで、メインCPU51は、通信データ送信処置を行う(S354)。この処理では、主に、各種コマンドを副制御回路42に適宜送信する。なお、後述する無操作コマンドは、スタートコマンド等の各種コマンドが副制御回路42に送信されていない状態の場合に、副制御回路42に送信されるコマンドである。
次いで、メインCPU51は、リール制御処理を行う(S355)。この処理では、メインCPU51は、全リールの回転開始が要求されたときに、左リール3L、中リール3C及び右リール3Rの回転を開始し、その後、各リールが一定速度で回転するように、3つのステッピングモータ61L,61C,61Rを駆動制御する。また、滑り駒数が決定されたときは、メインCPU51は、該当するリールの図柄カウンタを滑り駒数分だけ更新する。そして、メインCPU51は、更新された図柄カウンタが停止予定位置に対応する値に一致する(停止予定位置の図柄が表示窓の有効ライン(入賞判定ライン)上の領域に到達する)のを待って、該当するリールの回転の減速及び停止が行われるように、対応するステッピングモータを駆動制御する。また、本実施形態では、S355の処理において、前述した通常の加速処理、定速処理及び停止処理だけでなく、加速処理時にリール演出パターンが設定されている場合には、該リール演出パターンに対応するリール演出(リールアクション)及びロックの制御処理も行う。
次いで、メインCPU51は、ランプ・7セグ駆動処理を行う(S356)。この処理では、メインCPU51は、7セグ表示器6を駆動制御して、払出枚数やクレジット枚数などを表示する。次いで、メインCPU51は、レジスタの復帰処理を行う(S357)。そして、その後、メインCPU51は、割込処理を終了する。
<副制御回路の動作説明>
サブCPU81に電源が投入されると、サブCPU81は、カーネル(OS:オペレーションシステム)を起動する。カーネルが起動すると、サブCPU81は、後述する主基板通信タスク、演出登録タスク、ランプ制御タスク、サウンド制御タスク、サブ液晶送信タスクなどの各タスクをカーネルに初期化させ、起動させる。
このカーネルを実行するサブCPU81は、処理管理手段を構成し、各タスクを管理する。サブRAM83には、各タスクを管理するための管理情報を記憶することが可能な管理情報格納領域が割り当てられている。
管理情報格納領域には、各タスクに対するID、優先順位及び実行順位が記憶される。サブCPU81は、管理情報格納領域に記憶されたIDを検索し、検出したIDに対応する実行順位で各タスクを実行する。
本実施形態において、サブ液晶ユニット200は、演出のための外部機器(演出装置)ではなく、補助的な情報(例えば、「配当表」図19参照)を表示するための外部機器であるため、サブ液晶送信タスクは、ランプ制御タスク及びサウンド制御タスク等の他のタスクと比較して、優先順位が相対的に低く設定されている。
サブCPU81は、カーネルの優先制御に基づき、いずれかのタスクの実行中に、実行中のタスクの次に実行されるタスクの実行条件が成立した場合、実行条件が成立したタスクの優先順位が実行中のタスクより優先順位が高ければ、実行中のタスクを停止させて、実行条件が成立したタスクを実行し、実行条件が成立したタスクの実行が終了したら、停止させたタスクの実行を再開する。
一方、サブCPU81は、カーネルの優先制御に基づき、いずれかのタスクの実行中に、実行中のタスクの次に実行されるタスクの実行条件が成立した場合、実行条件が成立したタスクの優先順位が実行中のタスクより優先順位が高くなければ、実行中のタスクが終了後に、実行条件が成立したタスクの実行を開始する。
以下、図39~図53を参照して、副制御回路42のサブCPU81が、プログラムを用いて実行する各種処理(タスク)の内容について説明する。
[主基板通信タスク]
まず、図39を参照して、サブCPU81により行われる主基板通信タスクについて説明する。
まず、サブCPU81は、主制御回路41から送信されたコマンドの受信チェックを行う(S501)。次いで、サブCPU81は、コマンドを受信した場合、受信したコマンドの種別を抽出する(S502)。
次いで、サブCPU81は、前回とは異なるコマンドを受信したか否かを判別する(S503)。S503において、サブCPU81が、前回とは異なるコマンドを受信しなかったと判別したとき(S503がNO判定の場合)、サブCPU81は、処理をS501に戻し、S501以降の処理を繰り返す。
一方、S503において、サブCPU81が、前回とは異なるコマンドを受信したと判別したとき(S503がYES判定の場合)、サブCPU81は、受信したコマンドに基づいて、メッセージキューにメッセージを格納する(S504)。なお、メッセージキューとは、プロセス間で情報を交換するための機構である。そして、S504の処理後、サブCPU81は、処理をS501に戻し、S501以降の処理を繰り返す。
[演出登録タスク]
次に、図40を参照して、サブCPU81により行われる演出登録タスクについて説明する。
まず、サブCPU81は、メッセージキューからメッセージを取り出す(S511)。次いで、サブCPU81は、メッセージキューにメッセージが有るか否かを判別する(S512)。S512において、サブCPU81が、メッセージキューにメッセージが無いと判別したとき(S512がNO判定のとき)、サブCPU81は、後述のS515の処理を行う。
一方、S512において、サブCPU81が、メッセージキューにメッセージが有ると判別したとき(S512がYES判定のとき)、サブCPU81は、メッセージから遊技情報を複写する(S513)。この処理では、例えば、パラメータによって特定される、内部当籤役、回転が停止したリールの種別、表示役、遊技状態フラグ等の各種データがサブRAM83に設けられた格納領域(不図示)に複写される。
次いで、サブCPU81は、演出内容決定処理を行う(S514)。この処理では、サブCPU81は、受信したコマンドの種別に応じて、演出内容の決定や演出データの選択等を行う。なお、演出内容決定処理の詳細については、後述の図41を参照しながら後で説明する。
次いで、サブCPU81は、サウンドデータの登録を行う(S515)。次いで、サブCPU81は、LEDデータの登録を行う(S516)。なお、これらの登録処理は、S514の演出内容決定処理において選択された演出データに基づいて、選択された演出データにひも付られた音源データ(Wavファイル名)と再生に係る各種パラメータ(音量、チャンネル等)、ランプパターンデータ(LED演出データ)とパターンに係る各種パラメータ(輝度等)の登録が行われる。また、図示は省略するが、サブCPU81は、選択された演出データにひも付られたサブ液晶ユニット200に係る演出データ及びこれに係る各種パラメータの登録も行う。また、サブ液晶ユニット200に係る演出データ及びこれに係る各種パラメータの登録後、サブCPU81は、所定のタイミングで、画像制御タスクを実行し、登録した演出データ及びパラメータに応じた第1画像表示コマンド、又は、第2画像表示コマンドを、サブ液晶ユニット200に送信する。S516の後、サブCPU81は、処理をS511に戻し、S511以降の処理を繰り返す。なお、上述した例の他、サブCPU81は、遊技者の操作対象となる各種装置(例えば、エンターボタン21、セレクトボタン22)に対して所定の操作が行われた場合、当該操作に応じた第1画像表示コマンド、又は、第2画像表示コマンドを、サブ液晶ユニット200に送信する。
[演出内容決定処理]
次に、図41を参照して、演出登録タスクのフローチャート(図40参照)中のS514で行う演出内容決定処理について説明する。
まず、サブCPU81は、スタートコマンド受信時であるか否かを判別する(S521)。
S521において、サブCPU81が、スタートコマンド受信時であると判別したとき(S521がYES判定の場合)、サブCPU81は、スタートコマンド受信時処理を行う(S522)。この処理では、サブCPU81は、演出用乱数値を抽出し、内部当籤役、遊技状態、及び、RT状態等に基づいて演出番号を抽籤により決定して格納する。ここで、演出番号は、今回実行する演出内容を指定するデータである。
次いで、サブCPU81は、格納されている演出番号に応じて、スタート時の演出データを選択する(S523)。演出データは、サウンドデータ及びLEDデータを指定するデータである。それゆえ、演出データが登録されると、対応するLEDデータ等が決定され、発光表示装置11による表示等の演出が実行される。そして、S523の処理後、サブCPU81は、演出内容決定処理を終了し、処理を演出登録タスク(図40参照)のS515に移す。
一方、S521において、サブCPU81が、スタートコマンド受信時でないと判別したとき(S521がNO判定の場合)、サブCPU81は、リール停止コマンド受信時であるか否かを判別する(S524)。
S524において、サブCPU81が、リール停止コマンド受信時であると判別したとき(S524がYES判定の場合)、サブCPU81は、格納されている演出番号及び作動ストップボタンの種別に応じて、停止時の演出データを選択する(S525)。その後、サブCPU81は、演出内容決定処理を終了し、処理を演出登録タスク(図40参照)のS515に移す。
一方、S524において、サブCPU81が、リール停止コマンド受信時でないと判別したとき(S524がNO判定の場合)、サブCPU81は、表示コマンド受信時であるか否かを判別する(S526)。
S526において、サブCPU81が、表示コマンド受信時であると判別したとき(S526がYES判定の場合)、サブCPU81は、格納されている演出番号及び表示役等に応じて表示役の演出データを選択する。その後、サブCPU81は、演出内容決定処理を終了し、処理を演出登録タスク(図40参照)のS515に移す。
一方、S526において、表示コマンド受信時でないと判別したとき(S526がNO判定の場合)、サブCPU81は、払出終了コマンド受信時であるか否かを判別する(S528)。S528において、サブCPU81は、払出終了コマンド受信時であると判別したとき(S528がYES判定の場合)、サブCPU81は、払出終了コマンド受信時処理を行う(S529)。その後、サブCPU81は、演出内容決定処理を終了し、処理を演出登録タスク(図40参照)のS515に移す。
一方、S528において、サブCPU81が、払出終了コマンド受信時でないと判別したとき(S528がNO判定の場合)、サブCPU81は、ボーナス開始コマンド受信時であるか否かを判別する(S530)。
S530において、サブCPU81が、ボーナス開始コマンド受信時であると判別したとき(S530がYES判定の場合)、サブCPU81は、ボーナス開始用の演出データを選択する(S531)。その後、サブCPU81は、演出内容決定処理を終了し、処理を演出登録タスク(図40参照)のS515に移す。
一方、S530において、サブCPU81が、ボーナス開始コマンド受信時でないと判別したとき(S530がNO判定の場合)、サブCPU81は、ボーナス終了コマンド受信時であるか否かを判別する(S532)。S532において、サブCPU81が、ボーナス終了コマンド受信時であると判別したとき(S532がYES判定の場合)、サブCPU81は、ボーナス終了用の演出データを選択する(S533)。その後、サブCPU81は、演出内容決定処理を終了し、処理を演出登録タスク(図40参照)のS515に移す。
S532において、サブCPU81が、ボーナス終了コマンド受信時ではないと判別したとき(S532がNO判定の場合)、サブCPU81は、無操作コマンド受信時であるか否かを判別する(S534)。S534において、サブCPU81が、無操作コマンド受信時ではないと判別したとき(S534がNO判定の場合)、サブCPU81は、演出内容決定処理を終了し、処理を演出登録タスク(図40参照)のS515に移す。
一方、S534において、サブCPU81が、無操作コマンド受信時であると判別したとき(S534がYES判定の場合)、サブCPU81は、無操作コマンド受信時処理を行う(S535)。S535の処理後、サブCPU81は、演出内容決定処理を終了し、処理を演出登録タスク(図40参照)のS515に移す。
[サウンド制御タスク]
次に、図42を参照して、サブCPU81により行われるサウンド制御タスクについて説明する。
まず、サブCPU81は、演出登録タスクのS515(図40参照)において登録されたサウンドデータを取り出す(S581)。このサウンドデータは、一定の期間におけるスピーカ20L,20R(図1参照)を駆動制御するためのデータである。次いで、サブCPU81は、登録されたサウンドデータがあるか否かを判別する(S582)。
S582において、サブCPU81が、登録されたサウンドデータがあると判別したとき(S582がYES判定のとき)、サブCPU81は、サウンドデータに応じてサウンド制御データを作成する(S583)。その後、サブCPU81は、後述のS585の処理を行う。
S582において、サブCPU81が、登録されたサウンドデータが無いと判別したとき(S582がNO判定のとき)、サブCPU81は、更新用のサウンド制御データを作成する(S584)。
サブCPU81は、登録されたサウンドデータがあると判別すると、登録サウンドデータフラグをオフにして、登録されたサウンドデータを無しにする。したがって、登録されたサウンドデータを取り出したときに、サブCPU81は、登録されたサウンドデータがあると判別し、その後、一定の期間が経過するまで登録されたサウンドデータは無いと判別する。
サウンド制御データは、所定の周期毎のスピーカ20L,20Rを駆動制御するためのデータである。すなわち、サブCPU81は、一定の期間におけるスピーカ20L,20Rを駆動制御するためのデータであるサウンドデータを、所定の周期毎に分けてサウンド制御データを作成する。
S583又はS584の処理後、サブCPU81は、再生中のサウンドがループ再生、且つ、頭出し再生であるか否かを判別する(S585)。S585において、サブCPU81が、再生中のサウンドがループ再生、且つ、頭出し再生であると判別したとき(S585がYES判定のとき)、サブCPU81は、サウンド管理情報のループカウンタを1加算する(S586)。
S585において、サブCPU81が、再生中のサウンドがループ再生、且つ、頭出し再生でないと判別したとき(S585がNO判定のとき)、又はS586の処理後、サブCPU81は、サウンド制御データ送信処理を行う(S587)。S587の処理後、サブCPU81は、処理をS581に戻し、S581以降の処理を繰り返す。
[LED制御タスク]
次に、図43を参照して、サブCPU81により行われるLED制御タスクについて説明する。
まず、サブCPU81は、演出登録タスクのS516(図40参照)において登録されたLEDデータを取り出す(S601)。このLEDデータは、一定の期間における各ポート(337ポート)に係る光源部を駆動制御するためのデータである。次いで、サブCPU81は、登録されたLEDデータがあるか否かを判別する(S602)。
S602において、サブCPU81が、登録されたLEDデータがあると判別したとき(S602がYES判定のとき)、サブCPU81は、LEDデータに応じてLED制御データを作成する(S603)。その後、サブCPU81は、後述のS605の処理を行う。
サブCPU81は、登録されたLEDデータがあると判別すると、登録LEDデータフラグをオフにして、登録されたLEDデータを無しにする。したがって、登録されたLEDデータを取り出したときに、サブCPU81は、登録されたLEDデータがあると判別し、その後、一定の期間が経過するまで登録されたLEDデータは無いと判別する。
LED制御データは、本発明に係る演出制御データの一具体例を示すものであり、所定の周期毎の各ポートに係る光源部を駆動制御するためのデータである。すなわち、サブCPU81は、一定の期間における各ポートに係る光源部を駆動制御するためのデータであるLEDデータを、所定の周期毎に分けてLED制御データを作成する。
一方、S602において、サブCPU81が、登録されたLEDデータが無いと判別したとき(S602がNO判定のとき)、サブCPU81は、更新用のLED制御データを作成する(S604)。
S603又はS604の処理後、サブCPU81は、サウンド管理情報からループカウンタの値を取得する(S605)。次いで、サブCPU81は、ループカウンタが加算されたか否かを判別する(S606)。
S606において、サブCPU81が、ループカウンタが加算されたと判別したとき(S606がYES判定のとき)、サブCPU81は、実行中のLED(ランプ)演出を中断し、頭出しを行うLED制御データを作成する(S607)。
S606において、サブCPU81が、ループカウンタが加算されてないと判別したとき(S606がNO判定のとき)、又は、S607の処理後、サブCPU81は、チェックカウンタに337をセットする(S608)。
次いで、サブCPU81は、チェックカウンタが0であるか否かを判別する(S609)。S609において、チェックカウンタが0であると判別したとき(S609がYES判定のとき)、サブCPU81は、処理をS601に戻し、S601以降の処理を繰り返す。
一方、S609において、チェックカウンタが0でないと判別したとき(S609がNO判定のとき)、サブCPU81は、チェックカウンタの値を1減算する(S610)。次いで、サブCPU81は、LED制御データに変化があるか否かを判別する(S611)。すなわち、今回作成したLED制御データと、前回作成したLED制御データとの差(変化)があるか否かを判別する。
S611において、サブCPU81が、LED制御データに変化がないと判別したとき(S611がNO判定のとき)、サブCPU81は、処理をS609に戻し、S609以降の処理を繰り返す。一方、S611において、サブCPU81が、LED制御データに変化があると判別したとき(S611がYES判定のとき)、サブCPU81は、今回作成したLED制御データと前回作成したLED制御データとの差分に基づいて差分データを作成する(S612)。
すなわち、サブCPU81は、各ポート(337ポート)に係る光源部に対応するLED制御データに変化があるか否かを判別し、LED制御データに変化がある場合にのみ前回のデータに対する差分データを作成する。この差分データは、本発明に係る演出実行データの一具体例を示すものである。
次いで、サブCPU81は、S612において作成した差分データの送信処理を行う(S613)。その後、サブCPU81は、処理をS609に戻し、S609以降の処理を繰り返す。したがって、サブCPU81は、LED制御データに変化がある場合に、その差分データを各基板121,127,128,129(図6参照)に送信し、各LED群111,117,118及びドットマトリクス部119を点灯又は消灯させる。
[サブ液晶送信タスク]
次に、図44を参照して、サブCPU81により行われるサブ液晶送信タスクについて説明する。
まず、ステップS631において、サブCPU81は、サブRAM83に割り当てられた送信FIFOが書込み可能であるか否かを判断する。なお、送信FIFOは、サブRAM83ではなく、各UART84a、84b(図34参照)に設けられていてもよい。
ステップS631において、送信FIFOが書込み可能であると判断した場合には(YES)、サブCPU81は、ステップS632の処理を実行する。ステップS631において、送信FIFOが書込み可能でないと判断した場合には(NO)、サブCPU81は、ステップS631の処理を実行する。すなわち、サブCPU81は、送信FIFOが書込み可能になるのを待つ。
なお、サブRAM83には、送信FIFOを管理するための送信用のFIFO管理領域(不図示)が割り当てられている。送信用のFIFO管理領域に送信FIFOの全てにデータが格納されていること(データ満杯:例えば、送信FIFOの格納サイズと同じバイト数)を表す情報が格納されている場合、すなわち、サブ液晶ユニット200に対する送信待ち状態であれば、サブCPU81は、送信FIFOが書込み可能でないと判断する。例えば、図28(c)のように、複数のコマンドが送信バッファに記憶された場合、一度に送信FIFOの書込みができなくなるため、サブCPU81は、送信FIFOが書込み可能でないと判断する。
ステップS632において、サブCPU81は、サブ液晶送信タスクの優先順位を変更する。具体的には、サブCPU81は、管理情報格納領域に記憶されたサブ液晶送信タスクの優先順位が次に実行されるタスクの優先順位よりも高くなるように、管理情報格納領域に記憶された優先順位を変更する。このように、サブCPU81は、優先順位変更手段を構成する。
ステップS632の処理を実行した後、サブCPU81は、ステップS633の処理を実行する。ステップS633において、サブCPU81は、送信バッファに記憶された送信コマンドデータを送信FIFOに登録(書込)する。例えば、送信FIFO登録する送信コマンドデータのサイズが50バイトであれば、サブCPU81は、送信FIFOに50回の書込みを行う。
ステップS633の処理を実行した後、サブCPU81は、ステップS634の処理を実行する。ステップS634において、サブCPU81は、サブ液晶送信タスクの優先順位が変更前に戻るように、管理情報格納領域に記憶された優先順位を変更する。ステップS633の処理を実行した後、サブCPU81は、ステップS631の処理を実行する。
なお、送信FIFOがUART84a、84bに設けられている場合には、UART84a、84bが、送信FIFOに登録された送信コマンドデータをサブ液晶ユニット200に送信する。送信FIFOがサブRAM83に割り当てられている場合には、サブCPU81が、シリアル通信用ドライバ(処理)によりUART84a、84bを介してサブ液晶ユニット200に送信コマンドデータを送信する。送信FIFOから送信コマンドデータが送信されると、送信された送信コマンドデータは、送信FIFOから削除され、送信用のFIFO管理領域が更新される。
図45の状態Aに示すように、サブ液晶送信タスクの実行中に、サブ液晶送信タスクの次に実行されるタスク1の優先順位が高い場合には、タスク1の実行条件が成立すると、カーネルの優先制御によって、サブ液晶送信タスクが中断され、タスク1が実行されてしまう。これにより、サブ液晶ユニット200側に通信のタイムアウトエラーが発生してしまうおそれがある。
このため、サブ液晶送信タスクのステップS632において、サブCPU81は、サブ液晶送信タスクの優先順位を図45の状態Bに示すように、タスク1よりも高くなるように優先順位を変更する。
例えば、サブCPU81は、サブ液晶送信タスクの優先順位とタスク1の優先順位とを入れ替える。これにより、サブ液晶送信タスクの実行中に、タスク1の実行条件が成立したとしても、サブ液晶送信タスクが中断されなくなる。
サブ液晶送信タスクのステップS633では、図45の状態Cに示すように、サブCPU81は、状態Aを再現するように、サブ液晶送信タスクの優先順位が変更前に戻るように優先順位を変更する。これにより、サブCPU81は、サブ液晶送信タスクのステップS633の処理が完了した後に、次に実行されるタスク1を実行することができるようになる。
また、図46の状態Aに示すように、サブ液晶送信タスクの実行中に、サブ液晶送信タスクの次に実行されるタスク2の優先順位が高い場合には、タスク2の実行条件が成立すると、カーネルの優先制御によって、サブ液晶送信タスクが中断され、タスク2が実行されてしまう。これにより、サブ液晶ユニット200側に通信のタイムアウトエラーが発生してしまうおそれがある。
このため、サブ液晶送信タスクのステップS632において、サブCPU81は、サブ液晶送信タスクの優先順位を図46の状態Bに示すように、タスク1よりも低く、タスク2よりも高くなるように優先順位を変更する。
例えば、サブCPU81は、サブ液晶送信タスクの優先順位とタスク2の優先順位とを入れ替える。これにより、サブ液晶送信タスクの実行中に、タスク2の実行条件が成立したとしても、サブ液晶送信タスクが中断されなくなる。
但し、図46の状態Bにおいて、タスク1の実行条件が成立した場合、サブ液晶送信タスクが中断され、タスク1が実行される。この場合、タスク1は、最も重要な処理が行われるタスクであり、たとえ、サブ液晶ユニット200側に通信のタイムアウトエラーが発生しても、サブ液晶ユニット200からNAKコマンドが送信されるため、タイムアウトエラーとなった、送信データは、サブCPU81から再送される。
サブ液晶送信タスクのステップS633では、図45の状態Cに示すように、サブCPU81は、状態Aを再現するように、サブ液晶送信タスクの優先順位が変更前に戻るように優先順位を変更する。これにより、サブCPU81は、サブ液晶送信タスクのステップS633の処理が完了した後に、次に実行されるタスク2を実行することができるようになる。
また、図47の状態Aに示すように、サブ液晶送信タスクの実行中に、サブ液晶送信タスクの次に実行されるタスク3の優先順位が高くない場合には、タスク3の実行条件が成立しても、カーネルの優先制御によって、サブ液晶送信タスクが中断されることはない。
このため、図47の状態Bに示すように、サブ液晶送信タスクのステップS632において、サブCPU81は、サブ液晶送信タスクの優先順位を変更しない。したがって、図47の状態Cに示すように、サブ液晶送信タスクのステップS633においても、サブCPU81は、サブ液晶送信タスクの優先順位を変更しない。これにより、サブCPU81は、サブ液晶送信タスクのステップS633の処理が完了した後に、次に実行されるタスク3を実行することができる。
但し、図46と同じく、図47の状態Bにおいて、サブ液晶送信タスクの実行中に、タスク1、又は、タスク2の実行条件が成立した場合、サブ液晶送信タスクが中断され、タスク1、又は、タスク2が実行される。
また、サブ液晶送信タスクの実行中に、タスク2の実行条件が成立し、タスク2の実行中にタスク1の実行条件が成立した場合、サブ液晶送信タスク及びタスク2の両タスクとも実行が中断されタスク1が実行され、タスク1の実行が終了した後、タスク2の実行が再開され、タスク2の実行が終了した後、サブ液晶送信タスクの実行が再開される。
なお、本実施形態において、サブ液晶送信タスクの優先順位を一時的に変更する実施形態で説明したが、サブ液晶送信タスクに限定されない、例えば、サブCPU81が実行する全てのタスクにおいて、優先順位を一時的に変更することができ、また、本実施形態では、優先順位を一時的に高くしたが、必要に応じて優先順位を一時的に、低くすることも可能である。
[サブ液晶受信処理]
サブ液晶受信処理において、サブCPU81は、サブ液晶ユニット200から送信されたデータを受信する。このように、本実施形態において、サブCPU81は、データ受信手段を構成する。
図48(a)に示すコマンドがサブ液晶ユニット200から受信された場合、サブRAM83に割り当てられた受信FIFO(受信バッファ)に格納されるデータは、図48(b)~(g)に示すように、受信FIFOから2バイト(キャラデータ)ずつ取り出されたキャラデータ単位(2バイト)でサブRAM83に割り当てられた受信バッファ(受信データ格納領域)に先頭からキャラデータ単位で保存される。なお、受信FIFOは、サブRAM83ではなく、各UART84a、84b(図34参照)に設けられていてもよい。
キャラデータは、1バイトのステータスと1バイトの受信データとからなる。ステータスは、受信データの整合性判定の結果などを表す。整合性判定の結果には、パリティエラー、フレーミングエラー、オーバーランエラーなどの検出結果(物理層エラー)が含まれる。各UART84a、84bは、サブ液晶ユニット200から受信した受信データに対して1バイトごとに1バイトのステータスを付与する。
従って、受信FIFOから2バイトずつデータを取り出す際、ステータスに物理層エラーが無い場合に、受信バッファにキャラデータを保存するようにしてもよいし、ステータスの物理層エラーの有無に関係なく受信バッファにキャラデータを保存するようにしてもよい。また、受信バッファにステータスを除き受信データのみを保存するようにしてもよい。また、受信FIFOに格納されたキャラデータのいずれかのステータスに物理層エラーが含まれる場合、受信FIFOに格納されたデータをすべて破棄し、且つ、受信バッファに記憶されているデータを破棄するようにしてもよい。
サブRAM83には、受信FIFOを管理するための受信用のFIFO管理領域が割り当てられている。本実施形態において、受信用のFIFO管理領域には、受信FIFOにデータが格納されているか否かを表す情報がサブCPU81によって格納される。
なお、受信FIFOがサブRAM83に割り当てられている場合、サブ液晶ユニット200からコマンドデータ(受信データ)が送信され、UART84bがコマンドデータを受信するとシリアル通信の受信割込みをサブCPU81に発生させる。そして、サブCPU81は、シリアル通信の受信割込みの処理を実行し、シリアル通信の受信割込みの処理内のシリアル通信用ドライバ(処理)により、UART84bから受信したコマンドデータを受信FIFOにUART84bから取得したステータスとともに書込みを行い、受信用のFIFO管理領域を更新する。また、UART84a、84bに受信FIFOに設けられている場合、サブ液晶ユニット200から送信されたコマンドデータ(受信データ)は、UART84bが、受信FIFOにステータスを付与してコマンドデータを書込み、受信用のFIFO管理領域を更新する。
例えば、図48(b)~(f)においては、受信用のFIFO管理領域には、受信FIFOにデータが格納されていることを表す情報(データあり:例えば、図48(c)の場合「20」)が格納され、図48(g)においては、受信用のFIFO管理領域には、受信FIFOにデータが格納されていないことを表す情報(データなし:例えば、「0」)が格納されており、図48(b)~(f)は、後述の第1受信データ読込処理から第4受信データ読込処理における受信FIFOからキャラデータを取得する際の受信FIFOのキャラデータの取得する処理の遷移及び受信用のFIFO管理領域の状態を示している。
サブ液晶受信処理において、サブCPU81は、データの取得条件が互いに異なる第1受信データ読込処理から第4受信データ読込処理の4つの受信データ読込処理を実行することができる。これら第1受信データ読込処理から第4受信データ読込処理は、サブ液晶ユニット200との間の通信仕様などに応じて選択的に実行される。このように、サブCPU81は、複数の受信データ取得手段を構成する。
[第1受信データ読込処理]
図49を参照して第1受信データ読込処理について説明する。
まず、ステップS701において、サブCPU81は、受信済みのデータの長さを表す受信長に0をセットする。ステップS701の処理を実行した後、サブCPU81は、ステップS702の処理を実行する。
ステップS702において、サブCPU81は、受信FIFOにデータが格納されているか否かを判断する。ステップS702において、受信FIFOにデータが格納されていないと判断した場合には(NO)、サブCPU81は、受信長を返値として第1受信データ読込処理を終了する。ステップS702において、受信FIFOにデータが格納されていると判断した場合には(YES)、サブCPU81は、ステップS703の処理を実行する。
ステップS703において、サブCPU81は、割込みを禁止する。本実施形態において、ステップS703において禁止される割込みは、プログラマブルに発生させるタスク(図39~図44の各タスク)実行要求のような内部割込みを含み、UART84a,84bによるシリアル通信の受信割込みなどの外部割込みは含まないこととするが、ステップS703において禁止される割込みは、外部割込みも含んでもよい。ステップS703の処理を実行した後、サブCPU81は、ステップS704の処理を実行する。
ステップS704において、サブCPU81は、受信FIFOからキャラデータを1つ取得する。図48を参照して説明したように、サブCPU81は、受信FIFOからキャラデータを1つ(2バイト)取得する。ステップS704の処理を実行した後、サブCPU81は、ステップS705の処理を実行する。なお、受信FIFOからのデータの取得は、いわゆるカット&ペースト形式であり、取得した時点で取得したデータが、受信FIFOから無くなる。
ステップS705において、サブCPU81は、受信用のFIFO管理領域を更新する。具体的には、サブCPU81は、ステップS704で受信FIFOからキャラデータを取得したキャラデータが最後のキャラデータである場合には、受信用のFIFO管理領域をデータなしに更新し、受信FIFOにキャラデータが残っている場合には、受信用のFIFO管理領域で管理されているデータサイズを残っているキャラデータの数に基づいて更新する。ステップS705の処理を実行した後、サブCPU81は、ステップS706の処理を実行する。
ステップS706において、サブCPU81は、ステップS703で禁止した割込みを許可する。ステップS706の処理を実行した後、サブCPU81は、ステップS707の処理を実行する。
ステップS707において、サブCPU81は、ステップS704で取得したキャラデータに異常があるか否かを判断する。例えば、サブCPU81は、キャラデータのステータスがパリティエラーなどのエラーを示している場合には、キャラデータの受信データに異常があると判断する。
ステップS707において、キャラデータの受信データに異常があると判断した場合には(YES)、サブCPU81は、ステップS702の処理を実行する。ステップS707において、キャラデータの受信データに異常がないと判断した場合には(NO)、サブCPU81は、ステップS708の処理を実行する。
ステップS708において、サブCPU81は、ステップS704で取得したキャラデータの受信データを受信バッファに保存する。ステップS708の処理を実行した後、サブCPU81は、ステップS709の処理を実行する。
ステップS709において、サブCPU81は、受信長を更新する。具体的には、サブCPU81は、受信長に1を加算する。ステップS709の処理を実行した後、サブCPU81は、ステップS710の処理を実行する。
ステップS710において、サブCPU81は、受信長が指定サイズ未満であるか否かを判断する。ここで、指定サイズは、通信仕様における論理上の最大サイズ又は受信バッファの最大サイズであり、通常の場合、受信長が指定サイズ以上となることはない。
ステップS710において、受信長が指定サイズ未満であると判断した場合には(YES)、サブCPU81は、ステップS702の処理を実行する。ステップS710において、受信長が指定サイズ未満でないと判断した場合には(NO)、サブCPU81は、受信長を返値として第1受信データ読込処理を終了する。
ステップS710における判断結果によって第1受信データ読込処理が終了した場合には、上述したように異常終了であるため、サブCPU81は、サブ液晶受信処理において、第1受信データ読込処理の返値の正当性をチェックする必要がある。
このため、サブCPU81は、第1受信データ読込処理の返値の正当性をチェックしやすくするために、第1受信データ読込処理を異常終了する場合には、「0」又は「-1」などの所定のエラー値を第1受信データ読込処理の返値とする。
[第2受信データ読込処理]
図50を参照して第2受信データ読込処理について説明する。
まず、ステップS721において、サブCPU81は、受信済みのデータの長さを表す受信長に0をセットする。ステップS721の処理を実行した後、サブCPU81は、ステップS722の処理を実行する。
ステップS722において、サブCPU81は、内部クロックのカウントの値をC1として記憶し、減算カウンタであるタイムアウトカウンタのカウント値をリセット値にセットする。リセット値は、サブ液晶受信タスクによって指定される。本実施形態において、リセット値は、「8」とし、タイムアウトカウンタは、100ms毎にカウント値が減算される。ステップS722の処理を実行した後、サブCPU81は、ステップS723の処理を実行する。
ステップS723において、サブCPU81は、受信FIFOにデータが格納されているか否かを判断する。ステップS723において、受信FIFOにデータが格納されていないと判断した場合には(NO)、サブCPU81は、ステップS724の処理を実行する。ステップS723において、受信FIFOにデータが格納されていると判断した場合には(YES)、サブCPU81は、ステップS730の処理を実行する。
ステップS724において、サブCPU81は、内部クロックのカウントの値をC2として記憶する。ステップS724の処理を実行した後、サブCPU81は、ステップS725の処理を実行する。
ステップS725において、サブCPU81は、タイムアウトの基準カウントCLKCNT、すなわち、タイムアウトカウンタのカウント値を減算する時間間隔(クロックカウント)がC2-C1以下であるか否かを判断する。
本実施形態において、100ms毎にタイムアウトカウンタのカウント値を減算するため、基準カウントCLKCNTは、サブCPU81の内部クロックの周波数の1/10が設定されている。例えば、サブCPU81の内部クロックの周波数が40MHzであれば、基準カウントCLKCNTは、4,000,000が設定されている。
ステップS725において、基準カウントCLKCNTがC2-C1以下であると判断した場合には(YES)、サブCPU81は、ステップS726の処理を実行する。ステップS725において、基準カウントCLKCNTがC2-C1以下でないと判断した場合には(NO)、サブCPU81は、ステップS728の処理を実行する。
ステップS727において、サブCPU81は、C1に基準カウントCLKCNTを加算する。ステップS727の処理を実行した後、サブCPU81は、ステップS727の処理を実行する。
ステップS726において、サブCPU81は、タイムアウトカウンタのカウント値から1を減算する。ステップS726の処理を実行した後、サブCPU81は、ステップS725の処理を実行する。
このように、サブCPU81は、ステップS725からS727のループ処理において、データが未受信である経過時間(最初のループのC2-C1)に含まれる基準カウントCLKCNTの数をタイムアウトカウンタのカウント値から減算する。
ステップS728において、サブCPU81は、タイムアウトしたか否かを判断する。ここで、サブCPU81は、タイムアウトカウンタのカウント値が0以下であれば、タイムアウトしたと判断し、タイムアウトカウンタのカウント値が1以上であれば、タイムアウトしていないと判断する。
ステップS728において、タイムアウトしたと判断した場合には(YES)、サブCPU81は、受信長を返値として第2受信データ読込処理を終了する。ステップS728において、タイムアウトしていないと判断した場合には(NO)、サブCPU81は、ステップS729の処理を実行する。
ステップS729において、サブCPU81は、タイムアウトカウンタの減算間隔である100msにわたってサブ液晶受信タスクをスリープさせる。この処理によって、サブ液晶受信タスクは、スリープ状態となるが、サブCPU81は、スリープ状態にはならず、サブCPU81がカーネル上で実行している他のタスクも、スリープ状態にはならない。ステップS729の処理を実行した後、サブCPU81は、ステップS723の処理を実行する。
ステップS730において、サブCPU81は、割込みを禁止する。本実施形態において、ステップS730で禁止される割込みは、プログラマブルに発生させるタスク(図39~図44の各タスク)実行要求のような内部割込みを含み、UART84a、84bによるシリアル通信の受信割込みなどの外部割込みは含まない。なお、ステップS730で禁止される割込みは、外部割込みも含んでもよい。ステップS730の処理を実行した後、サブCPU81は、ステップS731の処理を実行する。
ステップS731において、サブCPU81は、受信FIFOからキャラデータを1つ取得する。図48を参照して説明したように、サブCPU81は、受信FIFOからキャラデータを1つ取得すると、取得したキャラデータを受信FIFOから除外する。ステップS731の処理を実行した後、サブCPU81は、ステップS732の処理を実行する。
ステップS732において、サブCPU81は、受信用のFIFO管理領域を更新する。具体的には、サブCPU81は、ステップS731で受信FIFOからキャラデータを取得したキャラデータが最後のキャラデータである場合には、受信用のFIFO管理領域をデータなしに更新し、受信FIFOにキャラデータが残っている場合には、受信用のFIFO管理領域で管理されているデータサイズを残っているキャラデータの数に基づいて更新する。ステップS732の処理を実行した後、サブCPU81は、ステップS733の処理を実行する。
ステップS733において、サブCPU81は、ステップS730で禁止した割込みを許可する。ステップS733の処理を実行した後、サブCPU81は、ステップS734の処理を実行する。
ステップS734において、サブCPU81は、ステップS731で取得したキャラデータの受信データに異常があるか否かを判断する。例えば、サブCPU81は、キャラデータのステータスがパリティエラーなどのエラーを示している場合には、キャラデータの受信データに異常があると判断する。
ステップS734において、キャラデータの受信データに異常があると判断した場合には(YES)、サブCPU81は、ステップS723の処理を実行する。ステップS734において、キャラデータの受信データに異常がないと判断した場合には(NO)、サブCPU81は、ステップS735の処理を実行する。
ステップS735において、サブCPU81は、ステップS731で取得したキャラデータの受信データを受信バッファに保存する。ステップS735の処理を実行した後、サブCPU81は、ステップS736の処理を実行する。
ステップS736において、サブCPU81は、受信長を更新する。具体的には、サブCPU81は、受信長に1を加算する。ステップS736の処理を実行した後、サブCPU81は、ステップS737の処理を実行する。
ステップS737において、サブCPU81は、内部クロックのカウントの値をC1として記憶し、タイムアウトカウンタのカウント値をリセット値にセットする。ステップS737の処理を実行した後、サブCPU81は、ステップS738の処理を実行する。
ステップS738において、サブCPU81は、受信長が指定サイズ未満であるか否かを判断する。ステップS738において、受信長が指定サイズ未満であると判断した場合には(YES)、サブCPU81は、ステップS723の処理を実行する。ステップS738において、受信長が指定サイズ未満でないと判断した場合には(NO)、サブCPU81は、受信長を返値として第2受信データ読込処理を終了する。
ステップS728における判断結果によって第2受信データ読込処理が終了した場合にはタイムアウトによる異常終了であり、ステップS738における判断結果によって第2受信データ読込処理が終了した場合には受信長による異常終了であるため、サブCPU81は、サブ液晶受信タスクにおいて、第2受信データ読込処理の返値の正当性をチェックする必要がある。
このため、サブCPU81は、第2受信データ読込処理の返値の正当性をチェックしやすくするために、第2受信データ読込処理を異常終了する場合には、「0」又は「-1」などの所定のエラー値を第2受信データ読込処理の返値とする。
なお、サブCPU81は、第2受信データ読込処理を異常終了する場合には、タイムアウトによる異常終了と、受信長による異常終了とで、互いに異なるエラー値を第2受信データ読込処理の返値としてもよい。
[第3受信データ読込処理]
図51を参照して第3受信データ読込処理について説明する。
まず、ステップS741において、サブCPU81は、受信済みのデータの長さを表す受信長に0をセットする。ステップS741の処理を実行した後、サブCPU81は、ステップS742の処理を実行する。
ステップS742において、受信FIFOにデータが格納されていないと判断した場合には(NO)、サブCPU81は、ステップS743の処理を実行する。ステップS742において、受信FIFOにデータが格納されていると判断した場合には(YES)、サブCPU81は、ステップS745の処理を実行する。
ステップS743において、サブCPU81は、要求サイズが受信長以下であるか否かを判断する。要求サイズは、受信するコマンドの種別に応じたデータのサイズ(例えば、図48におけるSTXからETXまでのサイズ)であり、サブ液晶受信タスクによって指定される。
ステップS743において、要求サイズが受信長以下であると判断した場合には(YES)、サブCPU81は、受信長を返値として第3受信データ読込処理を終了する。ステップS743において、要求サイズが受信長以下でないと判断した場合には(NO)、サブCPU81は、ステップS744の処理を実行する。
ステップS744において、サブCPU81は、サブ液晶受信タスクを一定期間、例えば、100msにわたってスリープさせる。この処理によって、サブ液晶受信タスクは、スリープ状態となるが、サブCPU81は、スリープ状態にはならず、サブCPU81がカーネル上で実行している他のタスクも、スリープ状態にはならない。ステップS744の処理を実行した後、サブCPU81は、ステップS742の処理を実行する。
ステップS745において、サブCPU81は、割込みを禁止する。本実施形態において、ステップS745で禁止される割込みは、プログラマブルに発生させるタスク(図39~図44の各タスク)実行要求のような内部割込みを含み、UART84a,84bによるシリアル通信の受信割込みなどの外部割込みは含まない。なお、ステップS745で禁止される割込みは、外部割込みも含んでもよい。ステップS745の処理を実行した後、サブCPU81は、ステップS746の処理を実行する。
ステップS746において、サブCPU81は、受信FIFOからキャラデータを1つ取得する。図48を参照して説明したように、サブCPU81は、受信FIFOからキャラデータを1つ取得すると、取得したキャラデータを受信FIFOから除外する。ステップS746の処理を実行した後、サブCPU81は、ステップS747の処理を実行する。
ステップS747において、サブCPU81は、受信用のFIFO管理領域を更新する。具体的には、サブCPU81は、ステップS746で受信FIFOからキャラデータを取得したキャラデータが最後のキャラデータである場合には、受信用のFIFO管理領域をデータなしに更新し、受信FIFOにキャラデータが残っている場合には、受信用のFIFO管理領域で管理されているデータサイズを残っているキャラデータの数に基づいて更新する。ステップS747の処理を実行した後、サブCPU81は、ステップS748の処理を実行する。
ステップS748において、サブCPU81は、ステップS745で禁止した割込みを許可する。ステップS748の処理を実行した後、サブCPU81は、ステップS749の処理を実行する。
ステップS749において、サブCPU81は、ステップS746で取得したキャラデータの受信データに異常があるか否かを判断する。例えば、サブCPU81は、キャラデータのステータスがパリティエラーなどのエラーを示している場合には、キャラデータの受信データに異常があると判断する。
ステップS749において、キャラデータの受信データに異常があると判断した場合には(YES)、サブCPU81は、ステップS742の処理を実行する。ステップS749において、キャラデータの受信データに異常がないと判断した場合には(NO)、サブCPU81は、ステップS750の処理を実行する。
ステップS750において、サブCPU81は、ステップS746で取得したキャラデータの受信データを受信バッファに保存する。ステップS750の処理を実行した後、サブCPU81は、ステップS751の処理を実行する。
ステップS751において、サブCPU81は、受信長を更新する。具体的には、サブCPU81は、受信長に1を加算する。ステップS751の処理を実行した後、サブCPU81は、ステップS752の処理を実行する。
ステップS752において、サブCPU81は、受信長が指定サイズ未満であるか否かを判断する。ステップS752において、受信長が指定サイズ未満であると判断した場合には(YES)、サブCPU81は、ステップS742の処理を実行する。ステップS752において、受信長が指定サイズ未満でないと判断した場合には(NO)、サブCPU81は、受信長を返値として第3受信データ読込処理を終了する。
ステップS752における判断結果によって第3受信データ読込処理が終了した場合には、異常終了であるため、サブCPU81は、サブ液晶受信タスクにおいて、第3受信データ読込処理の返値の正当性をチェックする必要がある。
このため、サブCPU81は、第3受信データ読込処理の返値の正当性をチェックしやすくするために、第3受信データ読込処理を異常終了する場合には、「0」又は「-1」などの所定のエラー値を第3受信データ読込処理の返値とする。
[第4受信データ読込処理]
図52及び図53を参照して第4受信データ読込処理について説明する。
まず、ステップS761において、サブCPU81は、受信済みのデータの長さを表す受信長に0をセットする。ステップS761の処理を実行した後、サブCPU81は、ステップS762の処理を実行する。
ステップS762において、サブCPU81は、C1に0をセットし、減算カウンタであるタイムアウトカウンタのカウント値を0にセットし、受信フラグに「未受信」をセットする。本実施形態において、タイムアウトカウンタは、100ms毎にカウント値が減算される。
受信フラグには、サブCPU81が受信FIFOからキャラデータを取得するまでは「未受信」がセットされ、サブCPU81が受信FIFOからキャラデータを取得すると「受信」がセットされる。受信フラグは、サブCPU81が受信FIFOからキャラデータを取得するまではタイムアウトを発生させないために管理されている。ステップS762の処理を実行した後、サブCPU81は、ステップS763の処理を実行する。
ステップS763において、サブCPU81は、受信FIFOにデータが格納されているか否かを判断する。ステップS763において、受信FIFOにデータが格納されていないと判断した場合には(NO)、サブCPU81は、ステップS764の処理を実行する。ステップS763において、受信FIFOにデータが格納されていると判断した場合には(YES)、サブCPU81は、ステップS772の処理を実行する。
ステップS764において、サブCPU81は、タイムアウトカウンタの減算間隔である100msにわたってサブ液晶受信タスクをスリープさせる。この処理によって、サブ液晶受信タスクは、スリープ状態となるが、サブCPU81は、スリープ状態にはならず、サブCPU81がカーネル上で実行している他のタスクも、スリープ状態にはならない。ステップS764の処理を実行した後、サブCPU81は、ステップS765の処理を実行する。
ステップS765において、サブCPU81は、受信フラグが「受信」であるか否かを判断する。ステップS765において、受信フラグが「受信」であると判断した場合には(YES)、サブCPU81は、ステップS766の処理を実行する。ステップS765において、受信フラグが「受信」でないと判断した場合には(NO)、サブCPU81は、ステップS770の処理を実行する。
ステップS766において、サブCPU81は、内部クロックのカウントの値をC2として記憶する。ステップS766の処理を実行した後、サブCPU81は、ステップS767の処理を実行する。
ステップS767において、サブCPU81は、基準カウントCLKCNTがC2-C1以下であるか否かを判断する。ステップS767において、基準カウントCLKCNTがC2-C1以下であると判断した場合には(YES)、サブCPU81は、ステップS768の処理を実行する。ステップS767において、基準カウントCLKCNTがC2-C1以下でないと判断した場合には(NO)、サブCPU81は、ステップS770の処理を実行する。
ステップS768において、サブCPU81は、C1に基準カウントCLKCNTを加算する。ステップS768の処理を実行した後、サブCPU81は、ステップS769の処理を実行する。
ステップS769において、サブCPU81は、タイムアウトカウンタのカウント値から1を減算する。ステップS769の処理を実行した後、サブCPU81は、ステップS767の処理を実行する。
このように、サブCPU81は、ステップS767からS769のループ処理において、データが未受信である経過時間(最初のループのC2-C1)に含まれる基準カウントCLKCNTの数をタイムアウトカウンタのカウント値から減算する。
ステップS770において、サブCPU81は、タイムアウトしたか否かを判断する。ここで、サブCPU81は、タイムアウトカウンタのカウント値が0以下であれば、タイムアウトしたと判断し、タイムアウトカウンタのカウント値が1以上であれば、タイムアウトしていないと判断する。
ステップS770において、タイムアウトしたと判断した場合には(YES)、サブCPU81は、受信長を返値として第4受信データ読込処理を終了する。ステップS770において、タイムアウトしていないと判断した場合には(NO)、サブCPU81は、ステップS771の処理を実行する。
ステップS771において、サブCPU81は、要求サイズが受信長以下であるか否かを判断する。要求サイズは、受信するコマンドの種別に応じたデータのサイズ(例えば、図48におけるSTXからETXまでのサイズ)であり、サブ液晶受信タスクによって指定される。
ステップS771において、要求サイズが受信長以下であると判断した場合には(YES)、サブCPU81は、受信長を返値として第4受信データ読込処理を終了する。ステップS771において、要求サイズが受信長以下でないと判断した場合には(NO)、サブCPU81は、ステップS763の処理を実行する。
ステップS772において、サブCPU81は、割込みを禁止する。本実施形態において、ステップS772で禁止される割込みは、プログラマブルに発生させるタスク(図39~図44の各タスク)実行要求のような内部割込みを含み、UART84a,84bによるシリアル通信の受信割込みなどの外部割込みは含まない。なお、ステップS772で禁止される割込みは、外部割込みも含んでもよい。ステップS772の処理を実行した後、サブCPU81は、ステップS773の処理を実行する。
ステップS773において、サブCPU81は、受信FIFOからキャラデータを1つ取得する。図48を参照して説明したように、サブCPU81は、受信FIFOからキャラデータを1つ取得すると、取得したキャラデータを受信FIFOから除外する。ステップS773の処理を実行した後、サブCPU81は、ステップS774の処理を実行する。
ステップS774において、サブCPU81は、受信用のFIFO管理領域を更新する。具体的には、サブCPU81は、ステップS773で受信FIFOからキャラデータを取得したキャラデータが最後のキャラデータである場合には、受信用のFIFO管理領域をデータなしに更新し、受信FIFOにキャラデータが残っている場合には、受信用のFIFO管理領域で管理されているデータサイズを残っているキャラデータの数に基づいて更新する。ステップS774の処理を実行した後、サブCPU81は、ステップS775の処理を実行する。
ステップS775において、サブCPU81は、ステップS772で禁止した割込みを許可する。ステップS775の処理を実行した後、サブCPU81は、ステップS776の処理を実行する。
ステップS776において、サブCPU81は、ステップS773で取得したキャラデータの受信データに異常があるか否かを判断する。例えば、サブCPU81は、キャラデータのステータスがパリティエラーなどのエラーを示している場合には、キャラデータの受信データに異常があると判断する。
ステップS776において、キャラデータの受信データに異常があると判断した場合には(YES)、サブCPU81は、ステップS763の処理を実行する。ステップS776において、キャラデータの受信データに異常がないと判断した場合には(NO)、サブCPU81は、ステップS777の処理を実行する。
ステップS777において、サブCPU81は、ステップS773で取得したキャラデータの受信データを受信バッファに保存する。ステップS777の処理を実行した後、サブCPU81は、ステップS778の処理を実行する。
ステップS778において、サブCPU81は、受信長を更新する。具体的には、サブCPU81は、受信長に1を加算する。ステップS778の処理を実行した後、サブCPU81は、ステップS779の処理を実行する。
ステップS779において、サブCPU81は、内部クロックのカウントの値をC1として記憶し、タイムアウトカウンタのカウント値をリセット値にセットし、受信フラグに「受信」をセットする。ステップS779の処理を実行した後、サブCPU81は、ステップS780の処理を実行する。リセット値は、サブ液晶受信タスクによって指定され、本実施形態においては、「8」とする。
ステップS780において、サブCPU81は、受信長が指定サイズ未満であるか否かを判断する。ステップS780において、受信長が指定サイズ未満であると判断した場合には(YES)、サブCPU81は、ステップS763の処理を実行する。ステップS780において、受信長が指定サイズ未満でないと判断した場合には(NO)、サブCPU81は、受信長を返値として第4受信データ読込処理を終了する。
ステップS770における判断結果によって第4受信データ読込処理が終了した場合にはタイムアウトによる異常終了であり、ステップS780における判断結果によって第4受信データ読込処理が終了した場合には受信長による異常終了であるため、サブCPU81は、サブ液晶受信タスクにおいて、第4受信データ読込処理の返値の正当性をチェックする必要がある。
このため、サブCPU81は、第4受信データ読込処理の返値の正当性をチェックしやすくするために、第4受信データ読込処理を異常終了する場合には、「0」又は「-1」などの所定のエラー値を第4受信データ読込処理の返値とする。
なお、サブCPU81は、第4受信データ読込処理を異常終了する場合には、タイムアウトによる異常終了と、受信長による異常終了とで、互いに異なるエラー値を第4受信データ読込処理の返値としてもよい。
<作用>
本実施形態のパチスロ1では、副制御回路42からドア開閉履歴に基づくQRコードのデータを含むQRリクエストコマンドを受信したサブ液晶ユニット200は、液晶画面202にQRコードを表示する。例えばパチスロ1の管理者が上述の携帯端末装置で読み取ることで、携帯端末装置で、ドア開閉履歴データを確認できる。このため、管理者は、液晶画面202のサイズに因らず、携帯端末装置で、容易にドア開閉履歴を確認可能となる。
また、副制御回路42は、作成したQRコードを二値化したデータ(二値化データ)をQRリクエストコマンドに含めて送信する。また、サブ液晶ユニット200の制御LSI201は、受信したQRリクエストコマンドに含まれているQRコードの二値化データを復元してQRコードを表示する。このため、副制御回路42がQRコードを画像データのまま送信する場合に比べて、副制御回路42とサブ液晶ユニット200間の通信負担を軽減することができる。
また、副制御回路42は、二値化処理を、QRコードの3隅の四角い切り出しシンボル(位置検出パターン)を除いた領域に対して行う。このため、副制御回路42とサブ液晶ユニット200間の通信負担をさらに軽減することができる。
また、本実施形態のパチスロ1では、サブ液晶ユニット200は、第1画像表示コマンド、又は、第2画像表示コマンドに基づいて、液晶画面202に画像を連続表示させることで、遊技者に、パラパラ漫画を見ているような、時間の経過に応じて画像が変化する印象を与え、演出効果を高めることができる。このような画像の連続表示は、低機能な液晶表示装置でも対応可能なため、高機能な液晶表示装置を要しない。このため、開発コスト、及び、製造コストを抑制でき、効率的に効果の高い演出ができる。また、画像を連続して表示させる際に、副制御回路42とサブ液晶ユニット200との間で、画像毎に画像の表示を要求するコマンドが必要となる場合に比べて、コマンドのやり取りが比較的少なくなる。このため、さらに効率的に効果の高い演出ができる。
また、座標移動有りの第2画像表示コマンドをサブ液晶ユニット200が受信すると、1画像目の表示座標と、連続して表示する画像の内の最後の画像である終了画像の表示座標とに基づいて、その間の各画像が等間隔で移動するように表示座標を決定して、表示させる。このため、画像が滑らかに移動する印象を遊技者に与えることができ、演出の効果を高めることができる。
また、本実施形態のパチスロ1では、サブ液晶ユニット200は、副制御回路42から画像表示系コマンド、すなわち第1画像表示コマンド又は第2画像表示コマンドを受信した場合、当該コマンドを正常に受信でき、且つ、当該コマンドに係る(少なくとも開始画像又は1画像目の画像についての)DMA転送が成功したときに、ACKコマンドを送信する。このため、転送漏れを抑制することができる。
また、本実施形態のパチスロ1は、GPIO218の特定の入力ポートを示す番号を指定するGPIO読み込み要求コマンドがサブ液晶ユニット200に受信された場合、GPIO読み込み要求コマンドによって指定された番号が示す入力ポートにおける制御信号の状態情報をGPIO読み込み応答コマンドとして副制御回路42に送信するため、サブ液晶ユニット200に入力される制御信号を副制御回路42に監視させることができる。
また、本実施形態のパチスロ1は、サブ液晶ユニット200に入力される制御信号を副制御回路42に監視させることができるため、サブ液晶ユニット200の制御対象機器に問題が発生したときや、パチスロ1が完成したときに行われる検査を副制御回路42に行わせることができる。
また、本実施形態のパチスロ1は、GPIO読み込み要求コマンドによって指定された番号が出力ポート、未使用ポート、GPIO読み込み要求コマンドの入力ポート、又は、存在しないポートを示す場合、GPIO読み込み要求コマンドによって指定された番号が誤っている旨のコマンドを副制御回路42に送信するため、誤った番号が指定されたGPIO読み込み要求コマンドを送信したことを副制御回路42に伝えることができる。
また、本実施形態のパチスロ1は、GPIO218の特定の出力ポートを示す番号を指定し、状態情報が付加されたGPIO書込み要求コマンドがサブ液晶ユニット200に受信された場合、GPIO書込み要求コマンドによって指定された番号が示す出力ポートに状態情報を制御信号にして出力するため、サブ液晶ユニット200から出力される制御信号を副制御回路42から直接的に制御することができる。
また、本実施形態のパチスロ1は、サブ液晶ユニット200から出力される制御信号を副制御回路42から直接的に制御することができるため、サブ液晶ユニット200の制御対象機器に問題が発生したときや、パチスロ1が完成したときに行われる設定を副制御回路42に行わせることができる。
また、本実施形態のパチスロ1は、GPIO書込み要求コマンドによって指定された番号が入力ポート、未使用ポート、GPIO書込み要求コマンドに対する返信用コマンドの出力ポート、又は、存在しないポートを示す場合、GPIO書込み要求コマンドによって指定された番号が誤っている旨のコマンドを副制御回路42に送信するため、誤った番号が指定されたGPIO書込み要求コマンドを送信したことを副制御回路42に伝えることができる。
また、本実施形態のパチスロ1は、副制御回路42からサブ液晶ユニット200にサブ接続受信主回線を通してシリアル回線確認コマンドを送信し、シリアル回線確認コマンドの整合性を判定した結果をサブ液晶ユニット200から副制御回路42にサブ接続送信主回線とサブ接続送信副回線とを通して送信することによって、シリアル回線確認コマンドの一回の送信で、シリアル通信回路84a、84b、217a、217bが正常であることを確認することができる。このように、本実施形態のパチスロ1は、複数のシリアル通信回路84a、84b、217a、217bが正常であることを容易に確認することができる。
また、本実施形態のパチスロ1は、シリアル回線確認コマンドの整合性の判定結果が正常であっても異常であっても、サブ接続送信主回線及びサブ接続送信副回線からシリアル回線確認コマンドの整合性の判定結果を表す同一のデータのACK/NAKコマンドを送信するため、ACK/NAKコマンドの受信状態によって、シリアル通信回路84a、84b、217a、217bの異常箇所を判別することができる。
また、本実施形態のパチスロ1は、副制御回路42からサブ液晶ユニット200に画像記憶領域チェック要求コマンドを送信するだけで、外付けメモリ203に割り当てられた画像記憶領域を確認することができるため、画像データを変更するたびに、プログラムの変更を必要とすることなく、画像データの記憶領域を確認することができる。
また、本実施形態のパチスロ1は、画像記憶領域の確認中には、確認中を表すメッセージを液晶画面202に表示し、画像記憶領域の確認が終了したら、確認結果を表すメッセージを液晶画面202に表示するため、画像記憶領域の確認状態を液晶画面202で把握させることができる。
また、本実施形態のパチスロ1は、モード1が指定された画像記憶領域チェック要求コマンドに応じて返信されたACKコマンドに付加されたチェックサムと、サブRAM83に記憶された判定データとを比較することによって、画像記憶領域を確認するため、画像データを変更するたびに、プログラムの変更を必要とすることなく、サブRAM83に記憶された判定データを更新するだけで、画像データの記憶領域を確認することができる。
また、本実施形態のパチスロ1は、モード2が指定された画像記憶領域チェック要求コマンドに比較データを付加して送信することで、比較データと外付けメモリ203の1バイト単位の全ての領域との比較結果に応じたACKコマンド又はNAKコマンドが返信されるため、外付けメモリ203に古い画像データが残っていないこと(リサイクル、リユース時など)、また、外付けメモリ203に不具合がないことを、比較データを設定するだけで確認することができる。
また、本実施形態のパチスロ1は、副制御回路42がサブ液晶ユニット200にデータを送信可能な状態である場合、サブ液晶送信タスクの優先順位を複数のタスクのなかで優先された優先順位に変更してデータを送信することによって、サブ液晶ユニット200との通信を確実に行う。
このように、本実施形態のパチスロ1は、副制御回路42とサブ液晶ユニット200との機器間の通信を確実に行うため、副制御回路42とサブ液晶ユニット200との機器間で不具合が発生することを抑制することができる。
また、本実施形態のパチスロ1は、副制御回路42がデータの送信終了後にサブ液晶送信タスクの優先順位を変更前の優先順位に戻すため、他の優先順位が高いタスクに影響が出ないように、副制御回路42からサブ液晶ユニット200にデータを送信することができる。
また、本実施形態のパチスロ1は、複数のタスクのいずれか1つが実行中であり、実行中のタスク以外の他のタスクの実行条件が成立したときに、他のタスクの優先順位が実行中のタスクの優先順位より高い場合、実行中のタスクを停止させて他のタスクを実行するため、サブ液晶送信タスクの優先順位を変更することにより、サブ液晶送信タスクを確実に実行することができる。
また、本実施形態のパチスロ1は、複数のタスクのいずれか1つが実行中であり、実行中のタスク以外の他のタスクの実行条件が成立したときに、他のタスクの優先順位が実行中のタスクの優先順位より低い場合、実行中のタスクの実行が終了した後に他のタスクを実行するため、サブ液晶送信タスクの優先順位を変更することにより、サブ液晶送信タスクを確実に実行することができる。
また、本実施形態のパチスロ1は、サブ液晶送信タスクにおいて、サブ液晶送信タスクよりも優先順位が高い他のタスク(例えば、図46のタスク2)よりもサブ液晶送信タスクの方が、優先順位が高くなるように、サブ液晶送信タスクの優先順位と他のタスクの優先順位とを変更するため、相対的に優先順位が低いサブ液晶送信タスクに不具合が発生することを抑制することができる。
また、本実施形態のパチスロ1は、サブ液晶送信タスクにおいて、サブ液晶送信タスクの内の所定の処理(図44のステップS633の処理)が終了した後に、サブ液晶送信タスクの優先順位と他のタスクの優先順位とを変更前の優先順位に戻すため、優先順位が高い他のタスクに与える影響を抑制しつつ、相対的に優先順位が低い特定の処理に不具合が発生することを抑制することができる。
また、本実施形態のパチスロ1は、サブ液晶送信タスクの優先順位と他のタスクの優先順位とを変更する場合には、サブ液晶送信タスクの優先順位と他のタスクの優先順位とを入れ換え、サブ液晶送信タスクの優先順位と他のタスクの優先順位とが入れ替わった場合、他のタスクの実行条件が成立しても他のタスクを実行待機状態にするため、相対的に優先順位が低いサブ液晶送信タスクを確実に実行することができる。
また、本実施形態のパチスロ1は、1種類のコマンド種別に応じたデータと同様に、複数種類のコマンド種別に応じたデータを生成することができ、複数種類のコマンド種別に応じたデータを副制御回路42からサブ液晶ユニット200に送信することができるため、制副制御回路42における無駄なプログラム開発コストとバグの発生とを抑制することができる。
また、本実施形態のパチスロ1は、QRリクエストコマンド及び画像表示系コマンドに応じたデータをサブ液晶ユニット200に送信する場合には、QRリクエストコマンドを送信バッファに記憶させた後に、画像表示系コマンドを送信バッファに記憶させるため、サブ液晶ユニット200にQRコードとQRコード以外の画像とを表示させることができる。
また、本実施形態のパチスロ1は、サブ液晶ユニット200に送信したコマンドに応じてサブ液晶ユニット200から互いに異なる取得条件でデータを受信することができる複数の受信データ読込処理を実行可能とすることにより、設計仕様に応じた受信データ読込処理を選択して副制御回路42を動作させるプログラムを作成させることができるため、プログラムの開発コストを抑制することができる。
また、本実施形態のパチスロ1は、サブ液晶ユニット200に送信したコマンドに応じてサブ液晶ユニット200から互いに異なる取得条件でデータを受信することができる第1受信データ読込処理から第4受信データ読込処理を実行可能とすることにより、設計仕様に応じた受信データ読込処理を選択して副制御回路42を動作させるプログラムを作成させることができるため、プログラムの開発コストを抑制することができる。
<変形例>
上記の実施の形態では、パチスロ1について具体化した例を示したが、パチンコ機、遊技球を用いるパチスロ機であるパロット、あるいは封入した遊技媒体を循環させる封入式遊技機、雀球遊技機などの他種の遊技機に適用してもよい。
また、上記の実施の形態においては、副制御回路42でQRコードを作成する態様を説明した。しかしながら、これに代えて、副制御回路42がドア開閉履歴データをサブ液晶ユニット200に送信し、サブ液晶ユニット200が受信したドア開閉履歴データに基づいてQRコードを作成してもよい。
この場合のDATの値について図54を参照して説明する。図54は、変形例に係るQRリクエストコマンドを説明するための図である。図54では、変形例に係るQRリクエストコマンドにおけるDATについてのみ示している。その他のコードについては、上記の実施の形態と同様のため、ここでの説明は省略する。
DAT0~4の値は、上記の実施の形態と同様に、QRコードの表示座標(DAT0~3)、QR拡大倍率(DAT4)の値となる。
DAT5の値は、サブROM82に予め設定、又は、SRAM213に記憶されたデコードレベル(誤り訂正レベル、L,M,Q,Hのいずれか)を示す値となる。
DAT6~DAT127は、ドア開閉履歴データのテキストデータ、例えば、「20180918 1030 OPEN」を示す値となる。なお、図示は省略するが、QRコードに係るデータが128バイトを超えている場合、続けてQRリクエストコマンドが送信されることになるが、2回目の以降のQRリクエストコマンドのDAT0~127の値は、全てドア開閉履歴データのテキストデータとなる。
なお、上記の説明では、DAT0~127にドア開閉履歴データのテキストデータをセットする態様を説明した。これに代えて、テキストデータをバイナリデータに変換してQRリクエストコマンドのDAT0~127にセットし、サブ液晶ユニット200に送信してもよい。
サブ液晶ユニット200が副制御回路42から最後(終回)のQRリクエストコマンドを受信すると、ホストコントローラ210は、整合性判定を行い、正常と判定すると、DMAC215に転送指示を行う。この転送指示では、DMAC215に対して、その時点までに受信したQRリクエストコマンドに含まれ、SRAM213に記憶された全QRデータを、DSP212に転送するDMA転送を行うように指示する。
転送指示を受けたDMAC215は、SRAM213から受信したQRリクエストコマンドに係る全QRデータを読み出し、DSP212に転送するDMA転送を行う。DMA転送が正常に終了すると、DSP212は、DMA転送された全QRデータに基づいて、QRコードを作成し、液晶画面202に表示させる。
具体的には、まずDSP212は、QRデータの内のテキストデータの容量及びデコードレベルからQRコードのバージョンを1~40のいずれかに決定する。次いで、テキストデータを決定したバージョンでQRコード化してQRコードを作成する。そして、作成したQRコードを、QRデータの内の表示座標及び拡大倍率で、液晶画面202に表示させる。
[その他、本発明に係る遊技機の拡張性]
上記実施形態のパチスロ1では、遊技者のメダルの投入操作(すなわち、手持ちのメダルをメダル投入口13に対して投入する操作、又は、クレジットされたメダルをMAXベットボタン14或いは1ベットボタン15を操作して投入する操作)により遊技が開始され、遊技が終了したときにメダルの払い出しがある場合には、ホッパー33を駆動してメダル払出口18からメダルが払い出され、又は、クレジットされる形態について説明したが、本発明はこれに限定されるものではない。
例えば、遊技者によって遊技に必要な遊技媒体が投入され、それに基づいて遊技が行われ、その遊技の結果に基づいて特典が付与される(例えば、メダルが払い出される)形態の全てに対して、本発明を適用することができる。すなわち、物理的な遊技者の動作によって遊技媒体が投入され(掛けられ)、遊技媒体が払い出される形態のみならず、主制御回路41自体が、遊技者が保有する遊技媒体を電磁的に管理し、メダルレスで遊技を可能にする形態であってもよい。なお、この場合、遊技者が保有する遊技媒体を電磁的に管理するのは、主制御回路41に装着され(接続され)且つ遊技媒体を管理する遊技媒体管理装置であってもよい。
この場合、遊技媒体管理装置は、ROM及びRWM(あるいは、RAM)を有し、遊技機に設けられる装置であって、図示しない外部の遊技媒体取扱装置と所定のインターフェースを介して双方向通信可能に接続されるものであり、遊技媒体の貸出動作(すなわち、遊技者が遊技媒体の投入操作を行う上で、必要な遊技媒体を提供する動作)或いは遊技媒体の払い出しに係る役に入賞(当該役が成立)した場合における遊技媒体の払出動作(すなわち、遊技者に対して遊技媒体の払い出しを行う上で、必要な遊技媒体を獲得させる動作)、又は、遊技の用に供する遊技媒体を電磁的に記録する動作を行い得るものとすればよい。また、遊技媒体管理装置は、実際の遊技媒体数の管理のみならず、例えば、その遊技媒体数の管理結果に基づいて、保有する遊技媒体数を表示する保有遊技媒体数表示装置(不図示)をパチスロ1の前面に設け、この保有遊技媒体数表示装置に表示される遊技媒体数を管理するものであってもよい。すなわち、遊技媒体管理装置は、遊技者が遊技の用に供することができる遊技媒体の総数を電磁的方法により記録し、表示することができるものとすればよい。
また、この場合、遊技媒体管理装置は、遊技者が、記録された遊技媒体数を示す信号を、外部の遊技媒体取扱装置に対して自由に送信させることができる性能(機能)を有することが望ましい。また、遊技媒体管理装置は、遊技者が直接操作する場合以外の場合には、記録された遊技媒体数を減ずることができない性能を有することが望ましい。また、遊技媒体管理装置と外部の遊技媒体取扱装置との間に外部接続端子板(不図示)が設けられる場合には、遊技媒体管理装置は、その外部接続端子板を介してでなければ、遊技者が、記録された遊技媒体数を示す信号を送信できない性能を有することが望ましい。
遊技機には、上記の他、遊技者が操作可能な貸出操作手段、返却(精算)操作手段、外部接続端子板が設けられ、遊技媒体取扱装置には、紙幣等の有価価値の投入口、記録媒体(例えばICカード)の挿入口、携帯端末から電子マネー等の入金を行うための非接触通信アンテナ等、その他貸出操作手段、返却操作手段等の各種操作手段、遊技媒体取扱装置側外部接続端子板が設けられるようにしてもよい(いずれも不図示)。
その際の遊技の流れとしては、例えば、遊技者が遊技媒体取扱装置に対し、上記いずれかの方法で有価価値を入金し、上記いずれかの貸出操作手段の操作に基づいて所定数の有価価値を減算し、遊技媒体取扱装置から遊技媒体管理装置に対し、減算した有価価値に対応する遊技媒体を増加させる。そして、遊技者は遊技を行い、さらに遊技媒体が必要な場合には上記操作を繰り返し行う。その後、遊技の結果、所定数の遊技媒体を獲得し、遊技を終了する際には、上記いずれかの返却操作手段を操作することにより遊技媒体管理装置から遊技媒体取扱装置に対し、遊技媒体数を送信し、遊技媒体取扱装置はその遊技媒体数を記録した記録媒体を排出する。また、遊技媒体管理装置は遊技媒体数を送信したときに、自身が記憶する遊技媒体数をクリアする。遊技者は排出された記録媒体を景品交換するために景品カウンター等に持って行くか、又は、記録された遊技媒体に基づいて他の遊技台で遊技を行うために遊技台を移動する。
なお、上記例では、遊技媒体管理装置から全遊技媒体数を遊技媒体取扱装置に対して送信したが、遊技機又は遊技媒体取扱装置側で遊技者が所望する遊技媒体数のみを送信し、遊技者が所持する遊技媒体を分割して処理することとしてもよい。また、上記例では、遊技媒体取扱装置が記録媒体を排出することとしたが、現金又は現金等価物を排出するようにしてもよいし、携帯端末等に記憶させるようにしてもよい。また、遊技媒体取扱装置は遊技場の会員記録媒体を挿入可能とし、遊技媒体を会員記録媒体に貯留して、後日、該貯留された遊技媒体を用いて再遊技可能とするようにしてもよい。
また、遊技機又は遊技媒体取扱装置において、図示しない所定の操作手段を操作することにより遊技媒体取扱装置又は遊技媒体管理装置に対し、遊技媒体又は有価価値のデータ通信をロックするロック操作を実行可能としてもよい。その際には、ワンタイムパスワード等の遊技者にしか知り得ない情報を設定することや遊技機又は遊技媒体取扱装置に設けられた撮像手段により遊技者を記憶するようにしてもよい。
なお、遊技媒体管理装置は、上述のように、メダルレスでのみ遊技を可能とするものであってもよいし、物理的な遊技者の動作によって遊技媒体が投入され(掛けられ)、遊技媒体が払い出される形態、及び、メダルレスで遊技を可能とする形態の両方の形態で遊技を可能とするものであってもよい。後者の場合には、遊技媒体管理装置が、上述のセレクタ35やホッパー33を直接的に制御する方式を採用することもできるし、これらが主制御回路41によって制御され、その制御結果が送信されることに基づいて、遊技者が遊技の用に供することができる遊技媒体の総数を電磁的方法により記録し且つ表示する制御を行い得る方式を採用することもできる。
また、上記例では、遊技媒体管理装置を、パチスロに適用する場合について説明しているが、例えば、遊技球を用いるスロットマシンや封入式遊技機においても同様に遊技媒体管理装置を設け、遊技者の遊技媒体が管理されるようにすることもできる。
上述した遊技媒体管理装置を設けた場合には、遊技媒体が物理的に遊技に供される場合に比べて、遊技機内部のセレクタ35やホッパー33などの装置を減らすことができ、遊技機の原価及び製造コストを削減できるのみならず、遊技者が直接遊技媒体に接触しないようにすることもでき、遊技環境が改善され、騒音も減らすことができるとともに、装置を減らしたことにより遊技機の消費電力を減らすことも可能になる。また、上述した遊技媒体管理装置を設けた場合には、遊技媒体や遊技媒体の投入口や払出口を介した不正行為を防止することができる。すなわち、上述した遊技媒体管理装置を設けた場合には、遊技機をとりまく種々の環境を改善可能な遊技機を提供することが可能になる。
<まとめ>
(第1の遊技機)
遊技機において、演出用の液晶表示装置を搭載していない遊技機(例えば、特開2017-169812号公報参照)や高機能な液晶表示装置を搭載していない遊技機が知られている。
また、遊技機への不正行為を監視するため遊技機の扉の開閉を監視し、開閉歴記を記憶する技術が開示されている(例えば、特開2005-342020号公報参照)。
しかしながら、例えば表示画面の大きさが比較的小さいような高機能でない液晶表示装置を搭載している遊技機では、開閉履歴の確認が困難であった。
本発明は、上記第1の課題を解決するためになされたものであり、本発明の第1の目的は、上記従来技術における実情を考慮し、開閉履歴の確認を容易に行える遊技機及び遊技システムを提供することにある。
上記第1の課題を解決するために、本発明では、以下のような構成の第1の遊技機を提供する。
遊技機本体(例えば、後述の外装体2)と、
前記遊技機本体に開閉可能に取付けられた前扉(例えば、後述のフロントドア2b)と、
前記遊技機本体と前記前扉の開閉を監視するための開閉監視部(例えば、後述のサブ用ドア監視スイッチ)と、
前記前扉の所定の位置に配置された表示部(例えば、後述のサブ液晶ユニット200)と、
前記開閉監視部及び前記表示部に接続され、前記開閉監視部及び前記表示部を制御するための制御部(例えば、後述の副制御回路42)と、を備え、
前記制御部は、
前記前扉の開閉状態に関する情報を記録する開閉状態記録手段(例えば、後述のサブRAM83)と、
前記開閉状態記録手段が記録する前記前扉の開閉状態に関する情報を二次元コードに変換する二次元コード変換手段(例えば、後述のサブCPU81)と、
前記二次元コード変換手段が変換した前記二次元コードを二値化情報に変換する二値化情報変換手段(例えば、後述のサブCPU81)と、
前記二値化情報変換手段が変換した前記二値化情報を前記表示部に送信する表示部送信手段(例えば、後述のサブCPU81)と、を有し、
前記表示部は、
表示領域に画像を表示する画像表示手段(例えば、後述の液晶画面202)を有し、
前記表示部送信手段が送信した前記二値化情報を二次元コードに変換し、変換した前記二次元コードを前記画像表示手段の前記表示領域に表示する
ことを特徴とする遊技機。
また、上記第1の課題を解決するために、本発明では、以下のような構成の第1の遊技システムを提供する。
上記遊技機と携帯端末装置を備える遊技システムであって、
前記携帯端末装置は、
前記表示部に表示された前記二次元コードを読み取り、読み取った前記二次元コードに基づいて、前記前扉の開閉状態に関する情報を表示する
ことを特徴とする遊技システム。
(第2の遊技機)
また、上記第1の課題を解決するために、本発明では、以下のような構成の第2の遊技機を提供する。
遊技機本体(例えば、後述の外装体2)と、
前記遊技機本体に開閉可能に取付けられた前扉(例えば、後述のフロントドア2b)と、
前記遊技機本体と前記前扉の開閉を監視するための開閉監視部(例えば、後述のサブ用ドア監視スイッチ)と、
前記前扉の所定の位置に配置された表示部(例えば、後述のサブ液晶ユニット200)と、
前記開閉監視部及び前記表示部に接続され、前記開閉監視部及び前記表示部を制御するための制御部(例えば、後述の副制御回路42)と、を備え、
前記制御部は、
前記前扉の開閉状態に関する情報を記録する開閉状態記録手段(例えば、後述のサブRAM83)と、
前記開閉状態記録手段が記録する前記前扉の開閉状態に関する情報を、位置検出用パターンを含む二次元コードに変換する二次元コード変換手段(例えば、後述のサブCPU81)と、
前記二次元コード変換手段が変換した前記二次元コードの内の位置検出用パターンを除く部分を二値化情報に変換する二値化情報変換手段(例えば、後述のサブCPU81)と、
前記二値化情報変換手段が変換した前記二値化情報を前記表示部に送信する表示部送信手段(例えば、後述のサブCPU81)と、を有し、
前記表示部は、
表示領域に画像を表示する画像表示手段(例えば、後述の液晶画面202)を有し、
前記表示部送信手段が送信した前記二値化情報に基づいて、位置検出用パターンを含む二次元コードに変換し、変換した前記二次元コードを前記画像表示手段の前記表示領域に表示する
ことを特徴とする遊技機。
(第2の遊技機)
また、上記第1の課題を解決するために、本発明では、以下のような構成の第2の遊技システムを提供する。
上記遊技機と携帯端末装置を備える遊技システムであって、
前記携帯端末装置は、
前記表示部に表示された前記二次元コードを入力し、入力した前記二次元コードに基づいて、前記前扉の開閉状態に関する情報を表示する
ことを特徴とする遊技システム。
上記第1及び第2の遊技機並びに第1及び第2の遊技システムによれば、表示部に表示された二次元コードを読み取る携帯端末装置で前扉の開閉状態に関する情報を確認させることが可能なため、遊技機に搭載された表示部の表示画面の大きさに因らず、開閉履歴の確認を容易に行うことができる。
(第3の遊技機)
ところで、遊技機において、液晶表示装置を搭載していない遊技機(例えば、特開2017-169812号公報参照)が知られている。
しかしながら、液晶表示装置を搭載していない遊技機では、演出性に乏しいという問題がある。一方で、多彩な演出が行える高機能な大画面液晶表示装置を備える遊技機は、開発コスト、及び、製造コストが増大する問題がある。
本発明は、上記第2の課題を解決するためになされたものであり、本発明の目的は、上記従来技術における実情を考慮し、効率的に効果の高い演出を行える遊技機を提供することにある。
上記第2の課題を解決するために、本発明では、以下のような構成の第3の遊技機を提供する。
表示部(例えば、後述のサブ液晶ユニット200)と、
前記表示部に接続され前記表示部に画像の表示を指示する制御部(例えば、後述の副制御回路42)と、を備え、
前記表示部は、
画像を表示する表示手段(例えば、後述の液晶画面202)と、
前記表示手段の表示制御を行う表示制御手段(例えば、後述の制御LSI201)と、
画像番号が付された画像を複数記憶する画像記憶手段(例えば、後述の外付けメモリ203)と、を有し、
前記制御部は、
前記表示部に複数の画像を連続して表示することを指示するとき、最初に表示する画像に係る画像番号である最初画像番号、最後に表示する画像を指定する画像番号である最後画像番号、及び、表示間隔を指定する間隔指定データを含む表示指令(例えば、後述の第1画像表示コマンド)を前記表示部に送信し、
前記表示制御手段は、
前記表示部が前記表示指令を受信すると、前記最初画像番号から前記最後画像番号までの画像番号が付された画像を前記画像記憶手段から順次読出し、前記表示指令の前記間隔指定データで指定された表示間隔で前記表示手段に表示する
ことを特徴とする遊技機。
(第4の遊技機)
また、上記第2の課題を解決するために、本発明では、以下のような構成の第4の遊技機を提供する。
表示部(例えば、後述のサブ液晶ユニット200)と、
前記表示部に接続され前記表示部に画像の表示を指示する制御部(例えば、後述の副制御回路42)と、を備え、
前記表示部は、
画像を表示する表示手段(例えば、後述の液晶画面202)と、
前記表示手段の表示制御を行う表示制御手段(例えば、後述の制御LSI201)と、
画像番号が付された画像を複数記憶する画像記憶手段(例えば、後述の外付けメモリ203)と、を有し、
前記制御部は、
前記表示部に複数の画像を連続して表示することを指示するとき、最初に表示する画像に係る画像番号である最初画像番号、最後に表示する画像を指定する画像番号である最後画像番号、表示間隔を指定する間隔指定データ、及び、ループ指示の有無を示すループデータを含む表示指令(例えば、後述の第1画像表示コマンド)を前記表示部に送信し、
前記表示制御手段は、
前記表示部が前記表示指令を受信すると、前記最初画像番号から前記最後画像番号までの画像番号が付された画像を前記画像記憶手段から順次読出し、前記表示指令の前記間隔指定データで指定された表示間隔で前記表示手段に表示する表示処理を実行し、
前記ループデータがループ有りを示している場合、前記表示処理を繰り返す
ことを特徴とする遊技機。
(第5の遊技機)
また、上記第2の課題を解決するために、本発明では、以下のような構成の第5の遊技機を提供する。
表示部(例えば、後述のサブ液晶ユニット200)と、
前記表示部に接続され前記表示部に画像の表示を指示する制御部(例えば、後述の副制御回路42)と、を備え、
前記表示部は、
画像を表示する表示手段(例えば、後述の液晶画面202)と、
前記表示手段の表示制御を行う表示制御手段(例えば、後述の制御LSI201)と、
画像番号が付された画像を複数記憶する画像記憶手段(例えば、後述の外付けメモリ203)と、を有し、
前記制御部は、
前記表示部に複数の画像を連続して表示することを指示するとき、各画像に係る画像番号、各画像に係る表示手段上の位置を示す表示座標、及び、表示間隔を指定する間隔指定データを含む表示指令(例えば、後述の座標移動無しの第2画像表示コマンド)を前記表示部に送信し、
前記表示制御手段は、
前記表示部が前記表示指令を受信すると、前記表示指令に含まれる画像番号が付された画像を前記画像記憶手段から順次読出し、前記表示指令の前記間隔指定データで指定された表示間隔で、各画像に係る前記表示座標に基づいて前記表示手段に表示する
ことを特徴とする遊技機。
(第6の遊技機)
また、上記第2の課題を解決するために、本発明では、以下のような構成の第6の遊技機を提供する。
表示部(例えば、後述のサブ液晶ユニット200)と、
前記表示部に接続され前記表示部に画像の表示を指示する制御部(例えば、後述の副制御回路42)と、を備え、
前記表示部は、
画像を表示する表示手段(例えば、後述の液晶画面202)と、
前記表示手段の表示制御を行う表示制御手段(例えば、後述の制御LSI201)と、
画像番号が付された画像を複数記憶する画像記憶手段(例えば、後述の外付けメモリ203)と、を有し、
前記制御部は、
前記表示部に複数の画像を所定の順序で連続して表示することを指示するとき、各画像に係る画像番号、最初に表示する画像である最初画像に係る表示手段上の位置を示す最初表示座標、最後に表示する画像である最後画像に係る表示手段上の位置を示す最後表示座標、及び、表示間隔を指定する間隔指定データを含む表示指令(例えば、後述の座標移動有りの第2画像表示コマンド)を前記表示部に送信し、
前記表示制御手段は、
前記表示部が前記表示指令を受信すると、前記最初画像と前記最後画像の間に表示する各画像の表示手段上の位置を示す表示座標を、前記最初表示座標及び前記最後表示座標に基づいて決定し、
前記表示指令に含まれる画像番号が付された画像を前記画像記憶手段から順次読出し、前記表示指令の前記間隔指定データで指定された表示間隔で、前記表示手段に表示する
ことを特徴とする遊技機。
(第7の遊技機)
また、上記第2の課題を解決するために、本発明では、以下のような構成の第7の遊技機を提供する。
表示部(例えば、後述のサブ液晶ユニット200)と、
前記表示部に接続され前記表示部に画像の表示を指示する制御部(例えば、後述の副制御回路42)と、を備え、
前記表示部は、
画像を表示する表示手段(例えば、後述の液晶画面202)と、
前記表示手段の表示制御を行う表示制御手段(例えば、後述の制御LSI201)と、
画像番号が付された画像を複数記憶する画像記憶手段(例えば、後述の外付けメモリ203)と、を有し、
前記制御部は、
前記表示部に複数の画像を所定の順序で連続して表示することを指示するとき、各画像に係る画像番号、最初に表示する画像である最初画像に係る表示手段上の位置を示す最初表示座標、最後に表示する画像である最後画像に係る表示手段上の位置を示す最後表示座標、及び、表示間隔を指定する間隔指定データを含む表示指令(例えば、後述の座標移動有りの第2画像表示コマンド)を前記表示部に送信し、
前記表示制御手段は、
前記表示部が前記表示指令を受信すると、前記最初画像と前記最後画像の間に表示する各画像の表示手段上の位置を示す表示座標を、前記最初表示座標及び前記最後表示座標に基づいて、画像が前記最初表示座標と前記最後表示座標の間を等間隔で移動するように決定し、
前記表示指令に含まれる画像番号が付された画像を前記画像記憶手段から順次読出し、前記表示指令の前記間隔指定データで指定された表示間隔で、前記表示手段に表示する
ことを特徴とする遊技機。
上記第3~第7の遊技機によれば、画像を連続表示させることで、遊技者に、パラパラ漫画を見ているような、時間の経過に応じて画像が変化する印象を与え、演出効果を高めることができる。このような画像の連続表示は低機能な液晶表示装置でも対応可能なため、高機能な液晶表示装置を要しない。このため、開発コスト、及び、製造コストを抑制でき、効率的に効果の高い演出ができる。また、画像を連続して表示させる際に、制御部と表示部との間で、画像毎に画像の表示を要求する指令が必要となる場合に比べて、指令のやり取りが比較的少なくなる。したがって、効率的に効果の高い演出ができる。
(第8の遊技機)
ところで、遊技機において、主制御装置からのコマンドを受信し、VDPへDMA転送する表示制御装置を備えた遊技機が開示されている(例えば、特開2005-160828号公報参照)。
しかしながら、上記の遊技機では、主制御装置からのコマンドを正常に受信できたが、DMA転送の際にエラーが発生した場合などに、DMA転送が正常に終了せず、転送漏れが生じる虞があった。
本発明は、上記第3の課題を解決するためになされたものであり、本発明の目的は、上記従来技術における実情を考慮し、転送漏れを抑制できる遊技機を提供することにある。
上記第3の課題を解決するために、本発明では、以下のような構成の第8の遊技機を提供する。
表示部(例えば、後述のサブ液晶ユニット200)と、
前記表示部に接続され前記表示部に画像の表示を指示する指示命令を送信する制御部(例えば、後述の副制御回路42)と、を備え、
前記表示部は、
画像を表示する表示手段(例えば、後述の液晶画面202)と、
前記表示手段による画像の表示を制御する画像制御手段(例えば、後述のDSP212)と、
画像を複数記憶する画像記憶手段(例えば、後述の外付けメモリ203)と、
前記画像記憶手段から画像を読み出して前記画像制御手段に転送する転送処理を行う転送制御手段(例えば、後述のDMAC215)と、
前記画像制御手段及び前記転送制御手段に接続されている表示制御手段(例えば、後述のホストコントローラ210)と、を有し、
前記表示制御手段は、前記指示命令を受信すると、受信した前記指示命令の整合性を判定する整合性判定処理を行い、前記転送制御手段に、表示する画像について前記転送処理を行わせ、
前記転送制御手段による前記転送処理が正常に終了したか否かを監視し、
前記整合性判定処理の結果が異常の場合、又は、前記転送処理が正常に終了しなかった場合に、前記制御部に前記指示命令の再送を要求することを可能とする
ことを特徴とする遊技機。
上記第8の遊技機によれば、整合性判定処理の結果が異常の場合、又は、転送処理が正常に終了しなかった場合に、制御部に指示命令の再送を要求するので、転送漏れを抑制できる。
(第9の遊技機)
従来の遊技機として、主制御基板にサブメイン制御基板が接続され、サブメイン制御基板にサブサブ制御基板が接続され、サブサブ制御基板が画像表示装置を制御するものが特開2016-106909号公報に提案されている。
上述したような従来の遊技機は、サブメイン制御基板からの指令でサブサブ制御基板が画像表示装置などを制御している。このため、従来の遊技機は、サブサブ制御基板(表示制御部)に入力される制御信号をサブメイン制御基板(副制御部)に監視させることができない。
本発明は、表示制御部に入力される制御信号を副制御部に監視させることができる遊技機を提供することを目的とする。
(9.1)本発明に係る遊技機は、
主制御部(主制御回路41)と、前記主制御部に接続された副制御部(副制御回路42)と、前記副制御部に接続された表示制御部(サブ液晶ユニット200)と、を備えた遊技機であって、
前記表示制御部は、汎用入出力ポート回路(GPIO218)と、汎用通信回路(UART217a、217b)と、を有し、
前記副制御部は、前記汎用入出力ポート回路を介して前記汎用通信回路に接続され、前記汎用入出力ポート回路の特定の入力ポートを示す番号を指定するコマンド(GPIO読み込み要求コマンド)を送信し、
前記表示制御部は、前記コマンドを受信した場合、前記コマンドによって指定された番号が示す入力ポートから制御信号を入力し、入力した前記制御信号の状態情報(GPIO読み込み応答コマンド)を前記副制御部に送信する
構成を有している。
この構成により、本発明に係る遊技機は、汎用入出力ポート回路の特定の入力ポートを示す番号を指定するコマンドが表示制御部に受信された場合、コマンドによって指定された番号が示す入力ポートにおける制御信号の状態情報を副制御部に送信するため、表示制御部に入力される制御信号を副制御部に監視させることができる。
また、本発明に係る遊技機は、表示制御部に入力される制御信号を副制御部に監視させることができるため、表示制御部の制御対象機器に問題が発生したときや、遊技機が完成したときに行われる検査を副制御部に行わせることができる。
なお、本発明に係る遊技機において、
前記表示制御部は、前記コマンドによって指定された番号に応じて前記副制御部に送信するコマンドの種別を異ならせる
ようにしてもよい。
また、本発明に係る遊技機において、
前記表示制御部は、前記コマンドによって指定された番号に応じて前記副制御部に送信するコマンドのデータ数を異ならせる
ようにしてもよい。
(9.2)本発明に係る遊技機は、
主制御部(主制御回路41)と、前記主制御部に接続された副制御部(副制御回路42)と、前記副制御部に接続された表示制御部(サブ液晶ユニット200)と、を備えた遊技機であって、
前記表示制御部は、汎用入出力ポート回路(GPIO218)と、汎用通信回路(UART217a、217b)と、を有し、
前記副制御部は、前記汎用入出力ポート回路を介して前記汎用通信回路に接続され、前記汎用入出力ポート回路の特定の入力ポートを示す番号を指定するコマンド(GPIO読み込み要求コマンド)を送信し、
前記表示制御部は、
前記コマンドを受信した場合、前記コマンドによって指定された番号が示す入力ポートから制御信号を入力し、入力した前記制御信号の状態情報(GPIO読み込み応答コマンド)を前記副制御部に送信し、
前記コマンドによって指定された番号が出力ポートを示す場合、前記コマンドによって指定された番号が誤っている旨のコマンド(NAKコマンド)を前記副制御部に送信する
構成を有している。
この構成により、本発明に係る遊技機は、汎用入出力ポート回路の特定の入力ポートを示す番号を指定するコマンドが表示制御部に受信された場合、コマンドによって指定された番号が示す入力ポートにおける制御信号の状態情報を副制御部に送信するため、表示制御部に入力される制御信号を副制御部に監視させることができる。
また、本発明に係る遊技機は、表示制御部に入力される制御信号を副制御部に監視させることができるため、表示制御部の制御対象機器に問題が発生したときや、遊技機が完成したときに行われる検査を副制御部に行わせることができる。
また、本発明に係る遊技機は、コマンドによって指定された番号が出力ポートを示す場合、コマンドによって指定された番号が誤っている旨のコマンドを副制御部に送信するため、誤った番号が指定されたコマンドを送信したことを副制御部に伝えることができる。
(9.3)本発明に係る遊技機は、
主制御部(主制御回路41)と、前記主制御部に接続された副制御部(副制御回路42)と、前記副制御部に接続された表示制御部(サブ液晶ユニット200)と、を備えた遊技機であって、
前記表示制御部は、汎用入出力ポート回路(GPIO218)と、汎用通信回路(UART217a、217b)と、を有し、
前記副制御部は、前記汎用入出力ポート回路を介して前記汎用通信回路に接続され、前記汎用入出力ポート回路の特定の入力ポートを示す番号を指定するコマンド(GPIO読み込み要求コマンド)を送信し、
前記表示制御部は、
前記コマンドを受信した場合、前記コマンドによって指定された番号が示す入力ポートから制御信号を入力し、入力した前記制御信号の状態情報(GPIO読み込み応答コマンド)を前記副制御部に送信し、
前記コマンドによって指定された番号が前記コマンドの入力ポートを示す場合、前記コマンドによって指定された番号が誤っている旨のコマンド(NAKコマンド)を前記副制御部に送信する
構成を有している。
この構成により、本発明に係る遊技機は、汎用入出力ポート回路の特定の入力ポートを示す番号を指定するコマンドが表示制御部に受信された場合、コマンドによって指定された番号が示す入力ポートにおける制御信号の状態情報を副制御部に送信するため、表示制御部に入力される制御信号を副制御部に監視させることができる。
また、本発明に係る遊技機は、表示制御部に入力される制御信号を副制御部に監視させることができるため、表示制御部の制御対象機器に問題が発生したときや、遊技機が完成したときに行われる検査を副制御部に行わせることができる。
また、本発明に係る遊技機は、コマンドによって指定された番号が当該コマンドの入力ポートを示す場合、コマンドによって指定された番号が誤っている旨のコマンドを副制御部に送信するため、誤った番号が指定されたコマンドを送信したことを副制御部に伝えることができる。
(9.4)本発明に係る遊技機は、
主制御部(主制御回路41)と、前記主制御部に接続された副制御部(副制御回路42)と、前記副制御部に接続された表示制御部(サブ液晶ユニット200)と、を備えた遊技機であって、
前記表示制御部は、汎用入出力ポート回路(GPIO218)と、汎用通信回路(UART217a、217b)と、を有し、
前記副制御部は、前記汎用入出力ポート回路を介して前記汎用通信回路に接続され、前記汎用入出力ポート回路の特定の入力ポートを示す番号を指定するコマンド(GPIO読み込み要求コマンド)を送信し、
前記表示制御部は、
前記コマンドを受信した場合、前記コマンドによって指定された番号が示す入力ポートから制御信号を入力し、入力した前記制御信号の状態情報(GPIO読み込み応答コマンド)を前記副制御部に送信し、
前記コマンドによって指定された番号が未使用ポートを示す場合、前記コマンドによって指定された番号が誤っている旨のコマンド(NAKコマンド)を前記副制御部に送信する
構成を有している。
この構成により、本発明に係る遊技機は、汎用入出力ポート回路の特定の入力ポートを示す番号を指定するコマンドが表示制御部に受信された場合、コマンドによって指定された番号が示す入力ポートにおける制御信号の状態情報を副制御部に送信するため、表示制御部に入力される制御信号を副制御部に監視させることができる。
また、本発明に係る遊技機は、表示制御部に入力される制御信号を副制御部に監視させることができるため、表示制御部の制御対象機器に問題が発生したときや、遊技機が完成したときに行われる検査を副制御部に行わせることができる。
また、本発明に係る遊技機は、コマンドによって指定された番号が未使用ポートを示す場合、コマンドによって指定された番号が誤っている旨のコマンドを副制御部に送信するため、誤った番号が指定されたコマンドを送信したことを副制御部に伝えることができる。
(9.5)本発明に係る遊技機は、
主制御部(主制御回路41)と、前記主制御部に接続された副制御部(副制御回路42)と、前記副制御部に接続された表示制御部(サブ液晶ユニット200)と、を備えた遊技機であって、
前記表示制御部は、汎用入出力ポート回路(GPIO218)と、汎用通信回路(UART217a、217b)と、を有し、
前記副制御部は、前記汎用入出力ポート回路を介して前記汎用通信回路に接続され、前記汎用入出力ポート回路の特定の入力ポートを示す番号を指定するコマンド(GPIO読み込み要求コマンド)を送信し、
前記表示制御部は、
前記コマンドを受信した場合、前記コマンドによって指定された番号が示す入力ポートから制御信号を入力し、入力した前記制御信号の状態情報(GPIO読み込み応答コマンド)を前記副制御部に送信し、
前記コマンドによって指定された番号が存在しないポートを示す場合、前記コマンドによって指定された番号が誤っている旨のコマンド(NAKコマンド)を前記副制御部に送信する
構成を有している。
この構成により、本発明に係る遊技機は、汎用入出力ポート回路の特定の入力ポートを示す番号を指定するコマンドが表示制御部に受信された場合、コマンドによって指定された番号が示す入力ポートにおける制御信号の状態情報を副制御部に送信するため、表示制御部に入力される制御信号を副制御部に監視させることができる。
また、本発明に係る遊技機は、表示制御部に入力される制御信号を副制御部に監視させることができるため、表示制御部の制御対象機器に問題が発生したときや、遊技機が完成したときに行われる検査を副制御部に行わせることができる。
また、本発明に係る遊技機は、コマンドによって指定された番号が存在しないポートを示す場合、コマンドによって指定された番号が誤っている旨のコマンドを副制御部に送信するため、誤った番号が指定されたコマンドを送信したことを副制御部に伝えることができる。
以上のように、本発明に係る第9の遊技機は、表示制御部に入力される制御信号を副制御部に監視させることができる。
(第10の遊技機)
従来の遊技機として、主制御基板にサブメイン制御基板が接続され、サブメイン制御基板にサブサブ制御基板が接続され、サブメイン制御基板が演出機器を制御し、サブメイン制御基板が制御する演出機器以外の演出機器をサブサブ制御基板が制御するものが特開2016-106909号公報に提案されている。
上述したような従来の遊技機は、サブメイン制御基板からの指令でサブサブ制御基板が画像表示装置などを制御している。このため、従来の遊技機は、サブサブ制御基板(表示制御部)から出力される制御信号をサブメイン制御基板(副制御部)から直接的に制御することができない。
本発明は、表示制御部から出力される制御信号を副制御部から直接的に制御することができる遊技機を提供することを目的とする。
(10.1)本発明に係る遊技機は、
主制御部(主制御回路41)と、前記主制御部に接続された副制御部(副制御回路42)と、前記副制御部に接続された表示制御部(サブ液晶ユニット200)と、を備えた遊技機であって、
前記表示制御部は、汎用入出力ポート回路(GPIO218)と、汎用通信回路(UART217a、217b)と、を有し、
前記副制御部は、前記汎用入出力ポート回路を介して前記汎用通信回路に接続され、前記汎用入出力ポート回路の特定の出力ポートを示す番号を指定するコマンド(GPIO書込み要求コマンド)に状態情報を付加して送信し、
前記表示制御部は、前記コマンドを受信した場合、前記コマンドによって指定された番号が示す出力ポートへ前記状態情報を制御信号にして出力し、出力した旨(ACKコマンド)を前記副制御部に送信する
構成を有している。
この構成により、本発明に係る遊技機は、汎用入出力ポート回路の特定の出力ポートを示す番号を指定し、状態情報が付加されたコマンドが表示制御部に受信された場合、コマンドによって指定された番号が示す出力ポートに状態情報を制御信号にして出力するため、表示制御部から出力される制御信号を副制御部から直接的に制御することができる。
また、本発明に係る遊技機は、表示制御部から出力される制御信号を副制御部から直接的に制御することができるため、表示制御部の制御対象機器に問題が発生したときや、遊技機が完成したときに行われる設定を副制御部に行わせることができる。
なお、本発明に係る遊技機において、
前記表示制御部は、前記コマンドによって指定された番号に応じて前記副制御部に送信するコマンドの種別を異ならせる
ようにしてもよい。
また、本発明に係る遊技機において、
前記表示制御部は、前記コマンドによって指定された番号に応じて前記副制御部に送信するコマンドのデータ数を異ならせる
ようにしてもよい。
(10.2)本発明に係る遊技機は、
主制御部(主制御回路41)と、前記主制御部に接続された副制御部(副制御回路42)と、前記副制御部に接続された表示制御部(サブ液晶ユニット200)と、を備えた遊技機であって、
前記表示制御部は、汎用入出力ポート回路(GPIO218)と、汎用通信回路(UART217a、217b)と、を有し、
前記副制御部は、前記汎用入出力ポート回路を介して前記汎用通信回路に接続され、前記汎用入出力ポート回路の特定の出力ポートを示す番号を指定するコマンド(GPIO書込み要求コマンド)に状態情報を付加して送信し、
前記表示制御部は、
前記コマンドを受信した場合、前記コマンドによって指定された番号が示す出力ポートへ前記状態情報を制御信号にして出力し、出力した旨(ACKコマンド)を前記副制御部に送信し、
前記コマンドによって指定された番号が入力ポートを示す場合、前記コマンドによって指定された番号が誤っている旨のコマンド(NAKコマンド)を前記副制御部に送信する
構成を有している。
この構成により、本発明に係る遊技機は、汎用入出力ポート回路の特定の出力ポートを示す番号を指定し、状態情報が付加されたコマンドが表示制御部に受信された場合、コマンドによって指定された番号が示す出力ポートに状態情報を制御信号にして出力するため、表示制御部から出力される制御信号を副制御部から直接的に制御することができる。
また、本発明に係る遊技機は、表示制御部から出力される制御信号を副制御部から直接的に制御することができるため、表示制御部の制御対象機器に問題が発生したときや、遊技機が完成したときに行われる設定を副制御部に行わせることができる。
また、本発明に係る遊技機は、コマンドによって指定された番号が入力ポートを示す場合、コマンドによって指定された番号が誤っている旨のコマンドを副制御部に送信するため、誤った番号が指定されたコマンドを送信したことを副制御部に伝えることができる。
(10.3)本発明に係る遊技機は、
主制御部(主制御回路41)と、前記主制御部に接続された副制御部(副制御回路42)と、前記副制御部に接続された表示制御部(サブ液晶ユニット200)と、を備えた遊技機であって、
前記表示制御部は、汎用入出力ポート回路(GPIO218)と、汎用通信回路(UART217a、217b)と、を有し、
前記副制御部は、前記汎用入出力ポート回路を介して前記汎用通信回路に接続され、前記汎用入出力ポート回路の特定の出力ポートを示す番号を指定するコマンド(GPIO書込み要求コマンド)に状態情報を付加して送信し、
前記表示制御部は、
前記コマンドを受信した場合、前記コマンドによって指定された番号が示す出力ポートへ前記状態情報を制御信号にして出力し、出力した旨(ACKコマンド)を前記副制御部に送信し、
前記コマンドによって指定された番号が前記コマンドに対する返信用コマンドの出力ポートを示す場合、前記コマンドによって指定された番号が誤っている旨のコマンド(NAKコマンド)を前記副制御部に送信する
構成を有している。
この構成により、本発明に係る遊技機は、汎用入出力ポート回路の特定の出力ポートを示す番号を指定し、状態情報が付加されたコマンドが表示制御部に受信された場合、コマンドによって指定された番号が示す出力ポートに状態情報を制御信号にして出力するため、表示制御部から出力される制御信号を副制御部から直接的に制御することができる。
また、本発明に係る遊技機は、表示制御部から出力される制御信号を副制御部から直接的に制御することができるため、表示制御部の制御対象機器に問題が発生したときや、遊技機が完成したときに行われる設定を副制御部に行わせることができる。
また、本発明に係る遊技機は、コマンドによって指定された番号が該コマンドに対する返信用コマンドの出力ポートを示す場合、コマンドによって指定された番号が誤っている旨のコマンドを副制御部に送信するため、誤った番号が指定されたコマンドを送信したことを副制御部に伝えることができる。
(10.4)本発明に係る遊技機は、
主制御部(主制御回路41)と、前記主制御部に接続された副制御部(副制御回路42)と、前記副制御部に接続された表示制御部(サブ液晶ユニット200)と、を備えた遊技機であって、
前記表示制御部は、汎用入出力ポート回路(GPIO218)と、汎用通信回路(UART217a、217b)と、を有し、
前記副制御部は、前記汎用入出力ポート回路を介して前記汎用通信回路に接続され、前記汎用入出力ポート回路の特定の出力ポートを示す番号を指定するコマンド(GPIO書込み要求コマンド)に状態情報を付加して送信し、
前記表示制御部は、
前記コマンドを受信した場合、前記コマンドによって指定された番号が示す出力ポートへ前記状態情報を制御信号にして出力し、出力した旨(ACKコマンド)を前記副制御部に送信し、
前記コマンドによって指定された番号が未使用ポートを示す場合、前記コマンドによって指定された番号が誤っている旨のコマンド(NAKコマンド)を前記副制御部に送信する
構成を有している。
この構成により、本発明に係る遊技機は、汎用入出力ポート回路の特定の出力ポートを示す番号を指定し、状態情報が付加されたコマンドが表示制御部に受信された場合、コマンドによって指定された番号が示す出力ポートに状態情報を制御信号にして出力するため、表示制御部から出力される制御信号を副制御部から直接的に制御することができる。
また、本発明に係る遊技機は、表示制御部から出力される制御信号を副制御部から直接的に制御することができるため、表示制御部の制御対象機器に問題が発生したときや、遊技機が完成したときに行われる設定を副制御部に行わせることができる。
また、本発明に係る遊技機は、コマンドによって指定された番号が未使用ポートを示す場合、コマンドによって指定された番号が誤っている旨のコマンドを副制御部に送信するため、誤った番号が指定されたコマンドを送信したことを副制御部に伝えることができる。
(10.5)本発明に係る遊技機は、
主制御部(主制御回路41)と、前記主制御部に接続された副制御部(副制御回路42)と、前記副制御部に接続された表示制御部(サブ液晶ユニット200)と、を備えた遊技機であって、
前記表示制御部は、汎用入出力ポート回路(GPIO218)と、汎用通信回路(UART217a、217b)と、を有し、
前記副制御部は、前記汎用入出力ポート回路を介して前記汎用通信回路に接続され、前記汎用入出力ポート回路の特定の出力ポートを示す番号を指定するコマンド(GPIO書込み要求コマンド)に状態情報を付加して送信し、
前記表示制御部は、
前記コマンドを受信した場合、前記コマンドによって指定された番号が示す出力ポートへ前記状態情報を制御信号にして出力し、出力した旨(ACKコマンド)を前記副制御部に送信し、
前記コマンドによって指定された番号が存在しないポートを示す場合、前記コマンドによって指定された番号が誤っている旨のコマンド(NAKコマンド)を前記副制御部に送信する
構成を有している。
この構成により、本発明に係る遊技機は、汎用入出力ポート回路の特定の出力ポートを示す番号を指定し、状態情報が付加されたコマンドが表示制御部に受信された場合、コマンドによって指定された番号が示す出力ポートに状態情報を制御信号にして出力するため、表示制御部から出力される制御信号を副制御部から直接的に制御することができる。
また、本発明に係る遊技機は、表示制御部から出力される制御信号を副制御部から直接的に制御することができるため、表示制御部の制御対象機器に問題が発生したときや、遊技機が完成したときに行われる設定を副制御部に行わせることができる。
また、本発明に係る遊技機は、コマンドによって指定された番号が存在しないポートを示す場合、コマンドによって指定された番号が誤っている旨のコマンドを副制御部に送信するため、誤った番号が指定されたコマンドを送信したことを副制御部に伝えることができる。
以上のように、本発明に係る第10の遊技機は、表示制御部から出力される制御信号を副制御部から直接的に制御することができる。
(第11の遊技機)
従来の遊技機として、演出制御部に複数のシリアル通信回路が備えられ、シリアル通信回路には、演出用機器が接続され、演出制御部からのシリアル信号により、演出用機器が動作し、さらに、演出制御部が2種類の周期で、送信タイミングを異ならせて別々のシリアル回線から1の演出用機器の2種類のシリアル信号を送信するものが特開2014-223179号に提案されている。
上述したような従来の遊技機は、複数のシリアル通信回路から1つの演出用機器に別々にシリアル信号を送信しているが、複数のシリアル通信回路が正常であることを容易に確認することができない。
本発明は、複数のシリアル通信回路が正常であることを容易に確認することができる遊技機を提供することを目的とする。
(11.1)本発明に係る遊技機は、
主制御部(主制御回路41)と、前記主制御部に接続された副制御部(副制御回路42)と、前記副制御部に接続された表示制御部(サブ液晶ユニット200)と、を備えた遊技機であって、
前記表示制御部は、複数のシリアル通信回路(UART217a、217b)を有し、
前記副制御部は、複数のシリアル通信回路(UART84a、84b)を有し、
前記副制御部は、第1シリアル回線(サブ接続受信主回線)から、シリアル回線確認コマンドを送信し、
前記表示制御部は、前記シリアル回線確認コマンドを前記第1シリアル回線から受信したとき、前記シリアル回線確認コマンドの整合性を判定し、判定結果に応じた返信コマンドを前記第1シリアル回線(サブ接続送信主回線)に送信するとともに第2シリアル回線(サブ接続送信副回線)からも送信する
構成を有している。
この構成により、本発明に係る遊技機は、副制御部から表示制御部に第1シリアル回線を通してシリアル回線確認コマンドを送信し、シリアル回線確認コマンドの整合性を判定した結果を表示制御部から副制御部に第1シリアル回線と第2シリアル回線とを通して送信することによって、シリアル回線確認コマンドの一回の送信で、複数のシリアル通信回路が正常であることを確認することができる。このように、本発明に係る遊技機は、複数のシリアル通信回路が正常であることを容易に確認することができる。
なお、本発明に係る遊技機において、
前記表示制御部は、汎用入出力ポート回路(GPIO218)をさらに有し、
前記表示制御部は、
前記第1シリアル回線に接続された前記汎用入出力ポート回路の入力ポート(ポート15)を介して前記シリアル回線確認コマンドを受信し、
前記返信コマンドを前記第1シリアル回線に接続された前記汎用入出力ポート回路の第1の出力ポート(ポート14)と、前記第2シリアル回線に接続された前記汎用入出力ポート回路の第2の出力ポート(ポート12)とから前記表示制御部の外部(例えば、副制御回路42)に送信する
ようにしてもよい。
(11.2)本発明に係る遊技機は、
主制御部(主制御回路41)と、前記主制御部に接続された副制御部(副制御回路42)と、前記副制御部に接続された表示制御部(サブ液晶ユニット200)と、を備えた遊技機であって、
前記表示制御部は、複数のシリアル通信回路(UART217a、217b)を有し、
前記副制御部は、複数のシリアル通信回路(UART84a、84b)を有し、
前記副制御部は、第1シリアル回線(サブ接続受信主回線)から、シリアル回線確認コマンドを送信し、
前記表示制御部は、前記シリアル回線確認コマンドを前記第1シリアル回線から受信したとき、前記シリアル回線確認コマンドの整合性を判定し、判定結果に応じた返信コマンドを前記第1シリアル回線(サブ接続送信主回線)に送信するとともに第2シリアル回線(サブ接続送信副回線)からも送信し、
前記返信コマンドは、前記整合性の判定結果が正常の場合(ACKコマンド)と、異常の場合(NAKコマンド)とでは、異なるデータであり、
前記表示制御部は、前記シリアル回線確認コマンドを受信した場合には、前記整合性の判定結果が正常であっても異常であっても、前記第1シリアル回線及び前記第2シリアル回線から前記整合性の判定結果を表す同一のデータの前記返信コマンドを送信する
構成を有している。
この構成により、本発明に係る遊技機は、副制御部から表示制御部に第1シリアル回線を通してシリアル回線確認コマンドを送信し、シリアル回線確認コマンドの整合性を判定した結果を表示制御部から副制御部に第1シリアル回線と第2シリアル回線とを通して送信することによって、シリアル回線確認コマンドの一回の送信で、複数のシリアル通信回路が正常であることを確認することができる。このように、本発明に係る遊技機は、複数のシリアル通信回路が正常であることを容易に確認することができる。
また、本発明に係る遊技機は、シリアル回線確認コマンドの整合性の判定結果が正常であっても異常であっても、第1シリアル回線及び第2シリアル回線からシリアル回線確認コマンドの整合性の判定結果を表す同一のデータの返信コマンドを送信するため、返信コマンドの受信状態によって、シリアル通信回路の異常箇所を判別することができる。
以上のように、本発明に係る第11の遊技機は、複数のシリアル通信回路が正常であることを容易に確認することができる。
(第12の遊技機)
従来の遊技機として、ホストCPUがVDPに接続されているCGROMの所定のアドレス範囲のサム計算を行い、ホストROMに予め記憶されたチェックサムと照合し、CGROMのデータが破損していないかを検査するものが特開2012-10950号公報に提案されている。
上述したような従来の遊技機は、ホストCPU(副制御部)がVDPを介してCGROMの所定のアドレス範囲のサム計算を行うため、CGROMの画像データが変わるたびに、アドレスの範囲を設定する必要があり、プログラム変更が必要となる。
本発明は、画像データが変わるたびに、プログラムの変更を必要とすることなく、画像データの記憶領域を確認することができる遊技機を提供することを目的とする。
(12.1)本発明に係る遊技機は、
主制御部(主制御回路41)と、前記主制御部に接続された副制御部(副制御回路42)と、前記副制御部に接続された表示制御部(サブ液晶ユニット200)と、を備えた遊技機であって、
前記表示制御部は、
画像データが記憶された画像記憶領域(外付けメモリ203)と、
前記画像記憶領域を確認するための記憶部確認手段(ホストコントローラ210)と、を有し、
前記副制御部は、画像記憶領域チェック要求コマンドを前記表示制御部に送信し、
前記表示制御部は、前記画像記憶領域チェック要求コマンドを受信した場合に、前記記憶部確認手段に前記画像記憶領域を確認させ、確認結果に基づいた返信コマンドを前記副制御部に送信する
構成を有している。
この構成により、本発明に係る遊技機は、副制御部から表示制御部に画像記憶領域チェック要求コマンドを送信するだけで、画像記憶領域を確認することができるため、画像データを変更するたびに、プログラムの変更を必要とすることなく、画像データの記憶領域を確認することができる。
なお、本発明に係る遊技機において、
前記表示制御部は、前記記憶部確認手段の実行中に前記画像記憶領域から正常にデータを読み込めないアクセス異常が発生した場合、前記アクセス異常に基づいた前記返信コマンドを前記副制御部に送信する
ようにしてもよい。
この構成により、本発明に係る遊技機は、副制御部から表示制御部に画像記憶領域チェック要求コマンドを送信するだけで、画像記憶領域のアクセス異常を検出することができる。
(12.2)本発明に係る遊技機は、
主制御部(主制御回路41)と、前記主制御部に接続された副制御部(副制御回路42)と、前記副制御部に接続された表示制御部(サブ液晶ユニット200)と、を備えた遊技機であって、
前記表示制御部は、
画像を表示する表示部(液晶画面202)と、
画像データが記憶された画像記憶領域(外付けメモリ203)と、
前記画像記憶領域を確認するための記憶部確認手段(ホストコントローラ210)と、を有し、
前記副制御部は、画像データ確認コマンドを前記表示制御部に送信し、
前記表示制御部は、前記画像データ確認コマンドを受信した場合に、前記記憶部確認手段に前記画像記憶領域を確認させ、確認結果に基づいた返信コマンドを前記副制御部に送信し、
前記記憶部確認手段による前記画像記憶領域の確認中には、確認中を表すメッセージを前記表示部に表示し、
前記記憶部確認手段による前記画像記憶領域の確認が終了したら、確認結果を表すメッセージを前記表示部に表示する
構成を有している。
この構成により、本発明に係る遊技機は、副制御部から表示制御部に画像データ確認コマンドを送信するだけで、画像記憶領域を確認することができるため、画像データが変更されるたびに、プログラムの変更を必要とすることなく、画像データの記憶領域を確認することができる。
また、本発明に係る遊技機は、画像記憶領域の確認中には、確認中を表すメッセージを表示部に表示し、画像記憶領域の確認が終了したら、確認結果を表すメッセージを表示部に表示するため、画像記憶領域の確認状態を表示制御部の表示部で把握させることができる。
(12.3)本発明に係る遊技機は、
主制御部(主制御回路41)と、前記主制御部に接続された副制御部(副制御回路42)と、前記副制御部に接続された表示制御部(サブ液晶ユニット200)と、を備えた遊技機であって、
前記表示制御部は、
画像データが記憶された画像記憶領域(外付けメモリ203)と、
前記画像記憶領域を確認するための記憶部確認手段(ホストコントローラ210)と、を有し、
前記副制御部は、画像記憶領域チェック要求コマンドを前記表示制御部に送信し、
前記表示制御部は、前記画像記憶領域チェック要求コマンドを受信した場合に、前記記憶部確認手段に前記画像記憶領域を確認させ、確認結果に基づいた返信コマンドを前記副制御部に送信し、
前記記憶部確認手段は、前記画像記憶領域の特定の範囲のデータのチェックサムの算出を行い、
前記表示制御部は、前記画像記憶領域の前記特定の範囲に格納されたデータのチェックサムの算出結果を前記返信コマンドに付加し、
前記副制御部は、
前記画像記憶領域を確認するための判定データが記憶された判定データ記憶部(サブRAM83)を有し、
前記返信コマンドに付加されたチェックサムの算出結果と、前記判定データ記憶部に記憶された判定データとを比較する
構成を有している。
この構成により、本発明に係る遊技機は、副制御部から表示制御部に画像記憶領域チェック要求コマンドを送信するだけで、画像記憶領域を確認することができるため、画像データを変更するたびに、プログラムの変更を必要とすることなく、画像データの記憶領域を確認することができる。
また、本発明に係る遊技機は、返信コマンドに付加されたチェックサムと、判定データ記憶部に記憶された判定データとを比較することによって、画像データの記憶領域を確認するため、画像データを変更するたびに、プログラムの変更を必要とすることなく、判定データ記憶部に記憶された判定データを更新するだけで、画像データの記憶領域を確認することができる。
(12.4)本発明に係る遊技機は、
主制御部(主制御回路41)と、前記主制御部に接続された副制御部(副制御回路42)と、前記副制御部に接続された表示制御部(サブ液晶ユニット200)と、を備えた遊技機であって、
前記表示制御部は、
画像データが記憶された画像記憶領域(外付けメモリ203)と、
前記画像記憶領域を確認するための記憶部確認手段(ホストコントローラ210)と、を有し、
前記副制御部は、画像記憶領域チェック要求コマンドを前記表示制御部に送信し、
前記表示制御部は、前記画像記憶領域チェック要求コマンドを受信した場合に、前記記憶部確認手段に前記画像記憶領域を確認させ、確認結果に基づいた返信コマンドを前記副制御部に送信し、
前記画像記憶領域チェック要求コマンドには、比較データが付加されており、
前記記憶部確認手段は、前記比較データと前記画像記憶領域の特定の範囲に記憶された単位データとの比較を行い、
前記表示制御部は、前記記憶部確認手段による比較の結果に応じた前記返信コマンドを前記副制御部に返信する
構成を有している。
この構成により、本発明に係る遊技機は、副制御部から表示制御部に画像記憶領域チェック要求コマンドを送信するだけで、画像記憶領域を確認することができるため、画像データを変更するたびに、プログラムの変更を必要とすることなく、画像データの記憶領域を確認することができる。
また、本発明に係る遊技機は、画像記憶領域チェック要求コマンドに比較データを付加して送信することで、比較データと画像記憶領域の特定の範囲に記憶された単位データとの比較結果に応じた返信コマンドが返信されるため、比較データを設定するだけで、画像記憶領域の特定の範囲に古いデータが残っていないこと(リサイクル、リユース時など)、及び、画像記憶領域に不具合がないことを確認することができる。
以上のように、本発明に係る第12の遊技機は、画像データを変更するたびに、プログラムの変更を必要とすることなく、画像データの記憶領域を確認することができる。
(第13の遊技機)
従来の遊技機として、副制御回路とスケーラ装置との間をシリアル通信で接続されているものが特開2014-136004号公報に提案されている。
上述したような従来の遊技機において、副制御回路は、スケーラ装置への処理以外にサウンド回路、LED駆動、及び、主制御回路との通信等の処理を行う。このため、従来の遊技機は、優先順位の高い処理(タスク、スレッド)が実行している間は、相対的に優先順位が低い処理を実行することができなくなってしまい、接続された機器間で不具合が発生することがある。
本発明は、接続された機器間で不具合が発生することを抑制することができる遊技機を提供することを目的とする。
(13.1)本発明に係る遊技機は、
画像を表示する表示部(サブ液晶ユニット200)と、
前記表示部と接続して制御を行う制御部(副制御回路42)と、を備え、
前記制御部は、
前記制御部で実行される複数の処理(タスク)を管理する処理管理手段(サブCPU81(カーネル))と、
前記処理管理手段が各種の処理を管理するための管理情報を記憶することが可能な管理情報格納領域(サブRAM83)と、
前記表示部の制御を行うためのデータを送信するデータ送信手段(UART84a、84b)と、
前記データ送信手段が送信するデータを生成する送信データ生成手段(サブCPU81)と、を有し、
前記複数の処理には、前記送信データ生成手段による処理(サブ液晶送信タスク)が含まれ、
前記管理情報格納領域には、前記複数の処理の優先順位が記憶され、
前記処理管理手段は、前記管理情報格納領域に記憶された優先順位に基づいて、前記複数の処理を実行させ、
前記送信データ生成手段は、前記データ送信手段に送信するデータを保存可能な状態の場合、前記管理情報格納領域に記憶された前記送信データ生成手段による処理の優先順位を前記複数の処理のなかで優先された優先順位に変更して前記データ送信手段に送信するデータを保存し、保存した後に前記管理情報格納領域に記憶された前記送信データ生成手段の優先順位を変更前の優先順位に戻す
構成を有している。
この構成により、本発明に係る遊技機は、制御部が表示部にデータを送信可能な状態である場合、データを生成する処理の優先順位を複数の処理のなかで優先された優先順位に変更してデータを送信することによって、表示部との通信を確実に行う。このように、本発明に係る遊技機は、制御部と表示部との機器間の通信を確実に行うため、制御部と表示部との機器間で不具合が発生することを抑制することができる。
また、本発明に係る遊技機は、制御部がデータの送信終了後にデータを生成する処理の優先順位を変更前の優先順位に戻すため、他の優先順位が高い処理に影響が出ないように、制御部から表示部にデータを送信することができる。
なお、本発明に係る遊技機において、
前記制御部は、前記データ送信手段を制御するためのドライバ(シリアル通信用ドライバ)をさらに有し、
前記制御部は、前記データ送信手段に保存された前記表示部に送信するデータを、前記ドライバにより送信させる
ようにしてもよい。
(13.2)本発明に係る遊技機は、
画像を表示する表示部(サブ液晶ユニット200)と、
前記表示部と接続して制御を行う制御部(副制御回路42)と、を備え、
前記制御部は、
前記制御部で実行される複数の処理(タスク)を管理する処理管理手段(サブCPU81(カーネル))と、
前記処理管理手段が各種の処理を管理するための管理情報を記憶することが可能な管理情報格納領域(サブRAM83)と、
前記表示部の制御を行うためのデータを送信するデータ送信手段(UART84a、84b)と、
前記データ送信手段が送信するデータを生成する送信データ生成手段(サブCPU81)と、を有し、
前記複数の処理には、前記送信データ生成手段による処理(サブ液晶送信タスク)が含まれ、
前記管理情報格納領域には、前記複数の処理の優先順位が記憶され、
前記処理管理手段は、前記管理情報格納領域に記憶された優先順位に基づいて、前記複数の処理を実行させ、
前記送信データ生成手段は、前記データ送信手段に送信するデータを保存可能な状態の場合、前記管理情報格納領域に記憶された前記送信データ生成手段による処理の優先順位を前記複数の処理のなかで優先された優先順位に変更して前記データ送信手段に送信するデータを保存し、保存した後に前記管理情報格納領域に記憶された前記送信データ生成手段の優先順位を変更前の優先順位に戻し、
前記処理管理手段は、前記複数の処理のいずれか1つが実行中であり、実行中の前記処理以外の他の処理の実行条件が成立したときに、前記管理情報格納領域に記憶された前記他の処理の優先順位が実行中の前記処理の優先順位より高い場合、実行中の前記処理を停止させて前記他の処理を実行し、前記他の処理の実行が終了したら、停止させた前記処理の実行を再開する
構成を有している。
この構成により、本発明に係る遊技機は、制御部が表示部にデータを送信可能な状態である場合、データを生成する処理の優先順位を複数の処理のなかで優先された優先順位に変更してデータを送信することによって、表示部との通信を確実に行う。このように、本発明に係る遊技機は、制御部と表示部との機器間の通信を確実に行うため、制御部と表示部との機器間で不具合が発生することを抑制することができる。
また、本発明に係る遊技機は、制御部がデータの送信終了後にデータを生成する処理の優先順位を変更前の優先順位に戻すため、他の優先順位が高い処理に影響が出ないように、制御部から表示部にデータを送信することができる。
また、本発明に係る遊技機は、複数の処理のいずれか1つが実行中であり、実行中の処理以外の他の処理の実行条件が成立したときに、他の処理の優先順位が実行中の処理の優先順位より高い場合、実行中の処理を停止させて他の処理を実行するため、データを生成する処理の優先順位を変更することにより、データを生成する処理を確実に実行することができる。
(13.3)本発明に係る遊技機は、
画像を表示する表示部(サブ液晶ユニット200)と、
前記表示部と接続して制御を行う制御部(副制御回路42)と、を備え、
前記制御部は、
前記制御部で実行される複数の処理(タスク)を管理する処理管理手段(サブCPU81(カーネル))と、
前記処理管理手段が各種の処理を管理するための管理情報を記憶することが可能な管理情報格納領域(サブRAM83)と、
前記表示部の制御を行うためのデータを送信するデータ送信手段(UART84a、84b)と、
前記データ送信手段が送信するデータを生成する送信データ生成手段(サブCPU81)と、を有し、
前記複数の処理には、前記送信データ生成手段による処理(サブ液晶送信タスク)が含まれ、
前記管理情報格納領域には、前記複数の処理の優先順位が記憶され、
前記処理管理手段は、前記管理情報格納領域に記憶された優先順位に基づいて、前記複数の処理を実行させ、
前記送信データ生成手段は、前記データ送信手段に送信するデータを保存可能な状態の場合、前記管理情報格納領域に記憶された前記送信データ生成手段による処理の優先順位を前記複数の処理のなかで優先された優先順位に変更して前記データ送信手段に送信するデータを保存し、保存した後に前記管理情報格納領域に記憶された前記送信データ生成手段の優先順位を変更前の優先順位に戻し、
前記処理管理手段は、前記複数の処理のいずれか1つが実行中であり、実行中の前記処理以外の他の処理の実行条件が成立したときに、前記管理情報格納領域に記憶された前記他の処理の優先順位が実行中の前記処理の優先順位より低い場合、実行中の前記処理の実行が終了した後に、前記他の処理を実行する
構成を有している。
この構成により、本発明に係る遊技機は、制御部が表示部にデータを送信可能な状態である場合、データを生成する処理の優先順位を複数の処理のなかで優先された優先順位に変更してデータを送信することによって、表示部との通信を確実に行う。このように、本発明に係る遊技機は、制御部と表示部との機器間の通信を確実に行うため、制御部と表示部との機器間で不具合が発生することを抑制することができる。
また、本発明に係る遊技機は、制御部がデータの送信終了後にデータを生成する処理の優先順位を変更前の優先順位に戻すため、他の優先順位が高い処理に影響が出ないように、制御部から表示部にデータを送信することができる。
また、本発明に係る遊技機は、複数の処理のいずれか1つが実行中であり、実行中の処理以外の他の処理の実行条件が成立したときに、他の処理の優先順位が実行中の処理の優先順位より低い場合、実行中の処理の実行が終了した後に他の処理を実行するため、データを生成する処理の優先順位を変更することにより、データを生成する処理を確実に実行することができる。
以上のように、本発明に係る第13の遊技機は、接続された機器間で不具合が発生することを抑制することができる。
(第14の遊技機)
従来の遊技機として、副制御回路とスケーラ装置との間をシリアル通信で接続されているものが特開2014-136004号公報に提案されている。
上述したような従来の遊技機において、副制御回路は、スケーラ装置への処理以外にサウンド回路、LED駆動、及び、主制御回路との通信等の処理を行う。このため、従来の遊技機は、優先順位の高い処理(タスク、スレッド)による割込みなどによって、相対的に優先順位が低い処理に不具合が発生することがある。
本発明は、相対的に優先順位が低い処理に不具合が発生することを抑制することができる遊技機を提供することを目的とする。
(14.1)本発明に係る遊技機は、
制御を行う制御部(副制御回路42)と、を備え、
前記制御部は、
前記制御部で実行される複数の処理(タスク)を管理する処理管理手段(サブCPU81(カーネル))と、
前記処理管理手段が各種の処理を管理するための管理情報を記憶することが可能な管理情報格納領域(サブRAM83)と、を有し、
前記管理情報格納領域は、前記処理を示すIDと前記処理の優先順位が記憶可能に構成され、
複数の前記処理の内の特定の処理(サブ液晶送信タスク)は、前記管理情報格納領域に記憶された優先順位を変更する優先順位変更手段を有し、
前記優先順位変更手段は、
最初に、前記管理情報格納領域の前記特定の処理のIDを検索し、
次に、前記管理情報格納領域に記憶されている前記特定の処理より優先順位が高い他の処理のIDを検索し、
次に、前記管理情報格納領域の前記特定の処理のIDに対応する優先順位が前記他の処理のIDに対応する優先順位よりも高くなるように前記特定の処理のIDに対応する優先順位と前記他の処理のIDに対応する優先順位とを変更し、
前記特定の処理の内の所定の処理が終了した後に、前記特定の処理のIDに対応する優先順位と前記他の処理のIDに対応する優先順位とを変更前の優先順位に戻すことが可能である
構成を有している。
この構成により、本発明に係る遊技機は、特定の処理において、特定の処理よりも優先順位が高い他の処理よりも特定の処理の方が、優先順位が高くなるように、特定の処理の優先順位と他の処理の優先順位とを変更するため、相対的に優先順位が低い特定の処理に不具合が発生することを抑制することができる。
また、本発明に係る遊技機は、特定の処理において、特定の処理の内の所定の処理が終了した後に、特定の処理の優先順位と他の処理の優先順位とを変更前の優先順位に戻すため、優先順位が高い他の処理に与える影響を抑制しつつ、相対的に優先順位が低い特定の処理に不具合が発生することを抑制することができる。
(14.2)本発明に係る遊技機は、
制御を行う制御部(副制御回路42)と、を備え、
前記制御部は、
前記制御部で実行される複数の処理(タスク)を管理する処理管理手段(サブCPU81(カーネル))と、
前記処理管理手段が各種の処理を管理するための管理情報を記憶することが可能な管理情報格納領域(サブRAM83)と、を有し、
前記管理情報格納領域は、前記処理を示すIDと前記処理の優先順位が記憶可能に構成され、
複数の前記処理の内の特定の処理(サブ液晶送信タスク)は、前記管理情報格納領域に記憶された優先順位を変更する優先順位変更手段を有し、
前記優先順位変更手段は、
最初に、前記管理情報格納領域の前記特定の処理のIDを検索し、
次に、前記管理情報格納領域に記憶されている前記特定の処理より優先順位が高い他の処理のIDを検索し、
次に、前記管理情報格納領域の前記特定の処理のIDに対応する優先順位が前記他の処理のIDに対応する優先順位よりも高くなるように前記特定の処理のIDに対応する優先順位と前記他の処理のIDに対応する優先順位とを変更し、
前記特定の処理の内の所定の処理が終了した後に、前記特定の処理のIDに対応する優先順位と前記他の処理のIDに対応する優先順位とを変更前の優先順位に戻すことが可能であり、
前記特定の処理のIDに対応する優先順位と前記他の処理のIDに対応する優先順位とを変更する場合には、前記特定の処理の優先順位と前記他の処理の優先順位とを入れ換え、
前記処理管理手段は、前記特定の処理の優先順位と前記他の処理の優先順位とが入れ替わった場合、前記他の処理手段の実行条件が成立しても前記他の処理手段を実行待機状態にする
構成を有している。
この構成により、本発明に係る遊技機は、特定の処理において、特定の処理よりも優先順位が高い他の処理よりも特定の処理の方が、優先順位が高くなるように、特定の処理の優先順位と他の処理の優先順位とを変更するため、相対的に優先順位が低い特定の処理に不具合が発生することを抑制することができる。
また、本発明に係る遊技機は、特定の処理において、特定の処理の内の所定の処理が終了した後に、特定の処理の優先順位と他の処理の優先順位とを変更前の優先順位に戻すため、優先順位が高い他の処理に与える影響を抑制しつつ、相対的に優先順位が低い特定の処理に不具合が発生することを抑制することができる。
また、本発明に係る遊技機は、特定の処理のIDに対応する優先順位と他の処理のIDに対応する優先順位とを変更する場合には、特定の処理の優先順位と他の処理の優先順位とを入れ換え、特定の処理の優先順位と他の処理の優先順位とが入れ替わった場合、他の処理の実行条件が成立しても他の処理を実行待機状態にするため、相対的に優先順位が低い特定の処理を確実に実行することができる。
以上のように、本発明に係る第14の遊技機は、相対的に優先順位が低い処理に不具合が発生することを抑制することができる。
(第15の遊技機)
従来の遊技機として、副制御回路とスケーラ装置との間をシリアル通信で接続されているものが特開2014-136004号公報に提案されている。
上述したような従来の遊技機は、副制御回路から指示できる機能が多い機器に接続した場合、その指示に応じたコマンドの処理を遊技機の企画の度に作成すると、無駄なプログラム開発コストとバグの発生とが問題となる。
本発明は、無駄なプログラム開発コストとバグの発生とを抑制することができる遊技機を提供することを目的とする。
(15.1)本発明に係る遊技機は、
画像を表示する表示部(サブ液晶ユニット200)と、
前記表示部と接続して制御を行う制御部(副制御回路42)と、を備え、
前記制御部は、
前記表示部の制御を行うためのデータを送信するデータ送信手段(UART84a、84b)と、
前記データ送信手段が送信するデータを生成する送信データ生成手段(サブCPU81)と、
前記送信データ生成手段が送信するデータを記憶するための送信データ記憶領域(サブRAM83(送信バッファ))と、を有し、
前記送信データ生成手段は、
1種類のコマンド種別に応じたデータを前記送信データ記憶領域に記憶する単独データ記憶手段(サブCPU81)と、
複数種類のコマンド種別に応じたデータを前記送信データ記憶領域に記憶する複数データ記憶手段(サブCPU81)と、を有し、
前記単独データ記憶手段及び前記複数データ記憶手段は、1種類のコマンド種別に対して生成されるブロック(コマンド)単位のデータを複数ブロックにわたり前記送信データ記憶領域に記憶可能であり、
前記複数データ記憶手段は、前記1種類のコマンド種別以外のコマンド種別に対して1ブロック、又は、複数ブロックで、前記送信データ記憶領域に記憶可能であり、
前記制御部は、
前記送信データ記憶領域に記憶されたデータの1ブロックを送信し、
送信したデータを正常に受信できた旨の意味を示すコマンド種別の受信データが前記表示部から受信された場合に前記送信データ記憶領域に次のデータが記憶されていれば、次のデータの1ブロックを送信する
構成を有している。
この構成により、本発明に係る遊技機は、1種類のコマンド種別に応じたデータと同様に、複数種類のコマンド種別に応じたデータを生成することができ、複数種類のコマンド種別に応じたデータを制御部から送信することができるため、制御部における無駄なプログラム開発コストとバグの発生とを抑制することができる。
なお、本発明に係る遊技機において、
前記表示部は、前記制御部の前記送信データ記憶領域に記憶されたデータを受信した後に、受信した前記データに基づいた画像を表示する
ようにしてもよい。
(15.2)本発明に係る遊技機は、
画像を表示する表示部(サブ液晶ユニット200)と、
前記表示部と接続して制御を行う制御部(副制御回路42)と、を備え、
前記制御部は、
前記表示部の制御を行うためのデータを送信するデータ送信手段(UART84a、84b)と、
前記データ送信手段が送信するデータを生成する送信データ生成手段(サブCPU81)と、
前記送信データ生成手段が送信するデータを記憶するための送信データ記憶領域(サブRAM83(送信バッファ))と、を有し、
前記送信データ生成手段は、
1種類のコマンド種別に応じたデータを前記送信データ記憶領域に記憶する単独データ記憶手段(サブCPU81)と、
複数種類のコマンド種別に応じたデータを前記送信データ記憶領域に記憶する複数データ記憶手段(サブCPU81)と、を有し、
前記単独データ記憶手段及び前記複数データ記憶手段は、1種類のコマンド種別に対して生成されるブロック(コマンド)単位のデータを複数ブロックにわたり前記送信データ記憶領域に記憶可能であり、
前記複数データ記憶手段は、前記1種類のコマンド種別以外のコマンド種別に対して1ブロック、又は、複数ブロックで、前記送信データ記憶領域に記憶可能であり、
前記制御部は、
前記送信データ記憶領域に記憶されたデータの1ブロックを送信し、
送信したデータを正常に受信できた旨の意味を示すコマンド種別の受信データが前記表示部から受信された場合に前記送信データ記憶領域に次のデータが記憶されていれば、次のデータの1ブロックを送信し、
前記単独データ記憶手段及び前記複数データ記憶手段が前記送信データ記憶領域に記憶する1種類のコマンド種別は、二次元コードを前記表示部に表示させるためのコマンド(QRリクエストコマンド)及び前記二次元コードの元となるデータであり、
前記複数データ記憶手段は、前記二次元コードを前記表示部に表示させるためのコマンド及び前記二次元コードの元となるデータを前記送信データ記憶領域に記憶させた後に、前記表示部に前記二次元コード以外の画像を表示させるためのコマンド種別(画像表示系コマンド)のデータを前記送信データ記憶領域に記憶させる
構成を有している。
この構成により、本発明に係る遊技機は、1種類のコマンド種別に応じたデータと同様に、複数種類のコマンド種別に応じたデータを生成することができ、複数種類のコマンド種別に応じたデータを制御部から送信することができるため、制御部における無駄なプログラム開発コストとバグの発生とを抑制することができる。
また、本発明に係る遊技機は、複数種類のコマンド種別に応じたデータを表示部に送信する場合には、二次元コードを表示部に表示させるためのコマンド及び二次元コードの元となるデータを送信データ記憶領域に記憶させた後に、表示部に二次元コード以外の画像を表示させるためのコマンド種別のデータを送信データ記憶領域に記憶させるため、表示部に二次元コードと二次元コード以外の画像とを表示させることができる。
以上のように、本発明に係る第15の遊技機は、無駄なプログラム開発コストとバグの発生とを抑制することができる。
(第16の遊技機)
従来の遊技機として、副制御回路とスケーラ装置との間をシリアル通信で接続されているものが特開2014-136004号公報に提案されている。
上述したような従来の遊技機は、副制御回路から指示できる機能が多い機器を制御する場合、副制御回路からの指示に応じたコマンドに対して機器側から返信(送信)される返信データが、返信タイミングやフォーマットがコマンドの種類に応じて異なるため、返信データを受信するためのプログラムをコマンドの種類に応じて用意する必要がある。
本発明は、プログラムの開発コストを抑制することができる遊技機を提供することを目的とする。
(16.1)本発明に係る遊技機は、
画像を表示する表示部(サブ液晶ユニット200)と、
前記表示部と接続して制御を行う制御部(副制御回路42)と、を備え、
前記制御部は、
前記表示部の制御を行うためのデータを送信するデータ送信手段(UART84a、84b)と、
前記表示部からのデータを受信するためのデータ受信手段(UART84a、84b)と、
前記データ受信手段から受信データを取得するための互いに異なる取得条件が規定された複数の受信データ取得手段(サブCPU81(第1受信データ読込処理~第4受信データ読込処理))と、を有する
構成を有している。
この構成により、本発明に係る遊技機は、表示部に送信したデータに応じて表示部から互いに異なる取得条件でデータを受信することができる複数の受信データ取得手段を備えることにより、設計仕様に応じた受信データ取得手段を選択して制御部を動作させるプログラムを作成させることができるため、プログラムの開発コストを抑制することができる。
なお、本発明に係る遊技機において、
前記制御部は、前記受信データを記憶するための受信データ格納領域(サブRAM83(受信バッファ))をさらに有し、
前記受信データ取得手段は、前記受信データ格納領域に受信データを保存するとき、保存する前記受信データの受信数が前記受信データ格納領域の格納サイズを超過すると判断した場合に0を返値とする
ようにしてもよい。
(16.2)本発明に係る遊技機は、
画像を表示する表示部(サブ液晶ユニット200)と、
前記表示部と接続して制御を行う制御部(副制御回路42)と、を備え、
前記制御部は、
前記表示部の制御を行うためのデータを送信するデータ送信手段(UART84a、84b)と、
前記表示部からのデータを受信するためのデータ受信手段(UART84a、84b)と、
前記データ受信手段から受信データを取得するための互いに異なる取得条件が規定された複数の受信データ取得手段(サブCPU81)と、を有し、
前記データ受信手段は、受信データが記憶される受信バッファ(受信FIFO)を有し、
前記受信データ取得手段は、
前記受信バッファに受信データが記憶されている場合、受信データを受信データ格納領域(サブRAM83(受信バッファ))に保存するとともに、受信した受信データのバイト数を返値とし、前記受信バッファに受信データが記憶されていない場合、0を返値とする第1受信データ取得手段(第1受信データ読込処理)と、
前記受信バッファに受信データが記憶されていない場合に、所定時間が経過するまで前記受信バッファを監視し、前記所定時間が経過する前に前記受信バッファに受信データが記憶された場合、受信データを受信データ格納領域に保存するとともに、受信した受信データのバイト数を返値とし、前記所定時間が経過しても前記受信バッファに受信データが記憶されない場合、0を返値とする第2データ取得手段(第2受信データ読込処理)と、
前記受信バッファに受信データが記憶されている場合、指定されたバイト数の受信データを受信データ格納領域に保存するとともに、指定されたバイト数を返値とし、前記受信バッファに受信データが記憶されていない場合、0を返値とする第3受信データ取得手段(第3受信データ読込処理)と、
前記受信バッファに受信データが記憶されていない場合に、所定時間が経過するまで前記受信バッファを監視し、前記所定時間が経過する前に前記受信バッファに受信データが記憶された場合、指定されたバイト数の受信データを受信データ格納領域に保存するとともに、指定されたバイト数を返値とし、前記所定時間が経過しても前記受信バッファに受信データが記憶されない場合、0を返値とする第4データ取得手段(第4受信データ読込処理)と、を有する
構成を有している。
この構成により、本発明に係る遊技機は、表示部に送信したデータに応じて表示部から互いに異なる取得条件でデータを受信することができる第1受信データ取得手段から第4データ取得手段を備えることにより、設計仕様に応じた受信データ取得手段を選択して制御部を動作させるプログラムを作成させることができるため、プログラムの開発コストを抑制することができる。
以上のように、本発明に係る第16の遊技機は、プログラムの開発コストを抑制することができる。