IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社アクセルの特許一覧

特開2025-99917演出制御装置、遊技機及び演出制御方法
<>
  • 特開-演出制御装置、遊技機及び演出制御方法 図1
  • 特開-演出制御装置、遊技機及び演出制御方法 図2
  • 特開-演出制御装置、遊技機及び演出制御方法 図3
  • 特開-演出制御装置、遊技機及び演出制御方法 図4
  • 特開-演出制御装置、遊技機及び演出制御方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2025099917
(43)【公開日】2025-07-03
(54)【発明の名称】演出制御装置、遊技機及び演出制御方法
(51)【国際特許分類】
   A63F 7/02 20060101AFI20250626BHJP
【FI】
A63F7/02 326Z
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023216911
(22)【出願日】2023-12-22
(71)【出願人】
【識別番号】398034168
【氏名又は名称】株式会社アクセル
(74)【代理人】
【識別番号】100085660
【弁理士】
【氏名又は名称】鈴木 均
(74)【代理人】
【識別番号】100149892
【弁理士】
【氏名又は名称】小川 弥生
(74)【代理人】
【識別番号】100185672
【弁理士】
【氏名又は名称】池田 雅人
(72)【発明者】
【氏名】有田 健
【テーマコード(参考)】
2C088
【Fターム(参考)】
2C088EA10
(57)【要約】
【課題】マルチコアCPUを用いて演出を適切に制御する。
【解決手段】遊技機10の演出を制御するサブCPU2において、コア21A~21Dを有するCPU21と、遊技機10で発生したイベントに起因するサブCPU2に対する割り込みと、コア21A~21Dのうちの割り込みに対する制御を行うコアとを対応付けた対応情報30と、対応情報30に基づいて、割り込みのコア21A~21Dへの割り当てを制御する割り込みコントローラ22と、を備える。コア21A~21Dのうち、少なくとも一つをNonOSで制御し、他のコアを汎用OSで制御する。割り込みコントローラ22は、主制御装置1からのコマンドとモータ関連の割り込みをNonOSで制御されるコア21Dに割り当て、それ以外の割り込みは汎用OSで制御されるコアに割り当てる。
【選択図】図3
【特許請求の範囲】
【請求項1】
遊技機の演出を制御する演出制御装置であって、
複数のコアを有する統括制御部と、
前記遊技機で発生したイベントに起因する前記統括制御部に対する割り込みと、前記複数のコアのうちの前記割り込みに対する制御を行うコアとを対応付けた対応情報と、
前記対応情報に基づいて、前記割り込みの前記複数のコアへの割り当てを制御する割込制御部と、を備え、
前記複数のコアのうち、少なくとも一つのコアを汎用OSよりも応答性が高い特定制御手段で制御し、他のコアを前記汎用OSで制御し、
前記割込制御部は、前記割り込みを前記特定制御手段で制御されるコア又は前記汎用OSで制御されるコアに割り当てる、
ことを特徴とする演出制御装置。
【請求項2】
前記遊技機は、コマンドを出力する主制御装置を備え、
前記演出制御装置は、前記主制御装置が出力したコマンドに基づいて演出を制御し、
前記割込制御部は、前記対応情報に基づいて、前記統括制御部に対する割り込みとして前記主制御装置が出力したコマンドに対する制御を前記特定制御手段で制御されるコアに割り当てる、
ことを特徴とする請求項1記載の演出制御装置。
【請求項3】
前記演出制御装置は、演出を実行する制御を行う一以上の演出実行部を備え、
前記割込制御部は、前記対応情報に基づいて、前記統括制御部に対する割り込みとして前記一以上の演出実行部のうちの特定演出実行部から入力される信号に対する制御を、前記特定制御手段で制御されるコアに割り当てる、
ことを特徴とする請求項1記載の演出制御装置。
【請求項4】
前記遊技機は、コマンドを出力する主制御装置を備え、
前記演出制御装置は、前記主制御装置が出力した前記コマンドに基づいて演出を制御し、
前記演出制御装置は、演出を実行する制御を行う一以上の演出実行部を備え、
前記割込制御部は、前記対応情報に基づいて、前記統括制御部に対する割り込みとして前記主制御装置が出力した前記コマンドに対する制御と、前記一以上の演出実行部のうちの特定演出実行部から入力される信号に対する制御と、を前記特定制御手段で制御されるコアに割り当てる、
ことを特徴とする請求項1記載の演出制御装置。
【請求項5】
前記特定演出実行部は、前記遊技機が備える演出用役物を作動させるモータを制御するモータ制御部である、ことを特徴とする請求項3又は4記載の演出制御装置。
【請求項6】
前記特定制御手段で制御されるコアは、OSを用いずに制御されている、
ことを特徴とする請求項1記載の演出制御装置。
【請求項7】
前記特定制御手段は、前記汎用OSよりも前記応答性が高いリアルタイムOSである、
ことを特徴とする請求項1記載の演出制御装置。
【請求項8】
前記割込制御部は、前記対応情報に基づいて、前記特定制御手段で制御される前記一以上のコアのうち、特定のコアに前記主制御装置が出力した前記コマンドに対する制御を割り当て、前記特定のコアとは異なるコアに前記特定演出実行部から入力される信号に対する制御を割り当てる、
ことを特徴とする請求項4記載の演出制御装置。
【請求項9】
コマンドを出力する主制御装置と、前記主制御装置が出力したコマンドに基づいて演出を制御する演出制御装置と、を備えた遊技機であって、
前記演出制御装置は、
複数のコアを有する統括制御部と、
演出を実行する制御を行う一以上の演出実行部と、
前記遊技機で発生したイベントに起因する前記統括制御部に対する割り込みと、前記複数のコアのうちの前記割り込みに対する制御を行うコアと、を対応付けた対応情報と、
前記対応情報に基づいて、前記割り込みの複数のコアへの割り当てを制御する割込制御部と、を備え、
前記複数のコアのうち、少なくとも一つのコアを汎用OSよりも応答性が高い特定制御手段で制御し、他のコアを前記汎用OSで制御し、
前記割込制御部は、前記対応情報に基づいて、前記統括制御部に対する割り込みとして前記主制御装置が出力したコマンドに対する制御と、前記一以上の演出実行部のうちの特定演出実行部から入力される信号に対する制御と、を前記特定制御手段で制御されるコアに割り当てる、
ことを特徴とする遊技機。
【請求項10】
複数のコアを有する統括制御部を備える遊技機の演出を制御する演出制御方法であって、
前記複数のコアのうち、少なくとも一つのコアを汎用OSよりも応答性が高い特定制御手段で制御し、他のコアを前記汎用OSで制御し、
前記遊技機で発生したイベントに起因する前記統括制御部に対する割り込みと前記複数のコアのうちの前記割り込みに対する制御を行うコアとを対応付けた対応情報に基づいて、前記割り込みの複数のコアへの割り当てを制御し、
前記割り込みを前記特定制御手段で制御されるコア又は前記汎用OSで制御されるコアに割り当てる、
ことを特徴とする演出制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、演出制御装置、遊技機及び演出制御方法を備えた遊技機に関する。
【背景技術】
【0002】
パチンコ遊技機やパチスロ遊技機などの遊技機が知られている。
このような遊技機は、一般に、主制御装置(メインCPU)と演出制御装置(サブCPU)を備えている。
主制御装置は、入賞抽選や払出しの制御を行う。演出制御装置は、主制御装置による制御のもと、表示装置に表示する演出画像、放音装置から出力する演出音、電飾の発光、演出用役物の作動等を用いた演出を実行する。従って演出制御装置は、画像処理、音声処理、発光制御、モータ制御等の各種制御を実行する。遊技機の演出制御装置は、CPUとその他のコントローラを統合したSoCである。
遊技機メーカーは、コンピュータに導入したコンテンツ開発ツール(ソフトウェア)を利用して、演出画像や演出音、電飾の発光パターン、役物の動作パターンなど演出用コンテンツの設計を行う。従って、遊技機メーカーは、Windows(登録商標)やLinux(登録商標)等のOS(Operating System)上で動作するソフトウェア資産を多く所有している。その結果、演出制御装置における各種制御も、ソフトウェア資産と同様にLinux(登録商標)等のOS上で動作することが求められつつある。
また近年のCPUは、処理速度を高めるために処理を分散化したマルチコアCPUが主流となっており、それは遊技機の演出制御装置においても同様である(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2023-030271公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
昨今のOSの多機能化・複雑化によって、OSを介在した機器の制御には大きなレイテンシが生じる場合が多くなっている。
遊技機においては、マルチコアCPUである演出制御装置をOSで制御すると、上記のレイテンシの大きさにより、演出制御装置が主制御装置や内蔵するコントローラからのコマンドや信号を正常に取得できずに必要な処理を実行できず、遊技の進行に支障をきたす場合がある。従来は、OS制御のマルチコアCPUを用いて演出を制御することに一定の課題があったのである。
本発明は、一側面として、マルチコアCPUを用いて演出を適切に制御することを可能とする。
【課題を解決するための手段】
【0005】
本発明は、一側面として、遊技機の演出を制御する演出制御装置であって、複数のコアを有する統括制御部と、前記遊技機で発生したイベントに起因する前記統括制御部に対する割り込みと、前記複数のコアのうちの前記割り込みに対する制御を行うコアを対応付けた対応情報と、前記対応情報に基づいて、前記割り込みの複数のコアへの割り当てを制御する割込制御部と、を備え、前記複数のコアのうち、少なくとも一つのコアを汎用OSよりも応答性が高い特定制御手段で制御し、他のコアを前記汎用OSで制御し、前記割込制御部は、前記割り込みを前記特定制御手段で制御されるコア又は前記汎用OSで制御されるコアに割り当てる。
【発明の効果】
【0006】
一側面として、マルチコアCPUを用いて演出を適切に制御することができる。
【図面の簡単な説明】
【0007】
図1】本実施形態に係る遊技機の概略構成を示す図である。
図2】演出制御装置の構成を詳しく説明する図である。
図3】演出制御装置が備える割り込みコントローラの動作を説明する図である。
図4】遊技機に発生するイベントとイベントを処理するコアとを対応付けた情報を説明する図である。
図5】演出制御装置の起動時の処理を説明するフローチャートである。
【発明を実施するための形態】
【0008】
以下に、本発明の実施の形態を、図面を参照して詳細に説明する。
図1は、本実施形態に係る遊技機の概略構成を示す図である。
図1に示すように、遊技機10は、主制御基板(メイン基板)1Aと、演出制御基板(サブ基板)2Aと、外部記憶装置3と、表示装置4と、放音装置5と、点灯装置6と、駆動装置7と、を備える。
主制御基板1Aは、主制御装置(メインCPU)1を搭載している。
演出制御基板2Aは、演出制御装置2(サブCPU)を搭載している。
遊技機10は、例えば、遊技球を遊技媒体として遊技を行うパチンコ遊技機である。
主制御基板1A及び演出制御基板2A、演出制御基板2A及び外部記憶装置3、並びに演出制御基板2A、表示装置4、放音装置5、点灯装置6、及び駆動装置7はそれぞれ通信可能に接続されている。ただし、主制御基板1Aと演出制御基板2Aとの間の通信は、主制御基板1Aから演出制御装置2への命令の入力のみが許可される一方向の通信である。演出制御装置2から主制御基板1Aにデータや命令を入力することは出来ない。
【0009】
遊技機10がパチンコ遊技機である場合、発射装置によって遊技領域に打ち出された遊技媒体が遊技領域に設けられた始動入賞口に入賞したことを契機に、主制御装置が乱数を用いた抽選を行い、この抽選結果に基づいて大当たり判定を行う。
主制御基板1Aは、大当たり判定結果に基づく図柄の変動時間及び変動パターンを指定する命令(コマンド)を演出制御装置2に対して出力する。あるいは、一定時間始動入賞がなされないと、主制御基板1Aは、遊技機10を客待ち状態(待機状態)とし、客待ち状態になったことを示す命令を演出制御装置2に入力する。
大当たり判定において大当たりに当選していた場合、図柄の変動終了後、開放されたアタッカーに遊技媒体が入球することで賞球が払い出される大当たりが行われる。
【0010】
演出制御装置2は、主制御基板1Aから入力された命令(コマンド)に基づいて、遊技機10の各種演出を実行する。演出制御装置2は、表示装置4、放音装置5、点灯装置6、駆動装置7等の演出装置を用いて行う演出を選択し、指定された変動時間中に選択した演出や客待ち中の演出を実行する制御を行う。
図2を用いて詳述するが、演出制御装置2は、バス100を介して接続された、CPU21、割り込みコントローラ22、モータコントローラ23、LEDコントローラ24、画像コントローラ25、サウンドコントローラ26、描画コントローラ27、データ転送コントローラ28、タイマ29を備える。
【0011】
表示装置4は、例えば、LCD(Liquid Crystal Display)、PDP(Plasma Display Panel)、及びOLED(Organic Light Emitting Diode)などのディスプレイ装置である。
放音装置5は例えばスピーカである。点灯装置6は例えばLED(Light Emitting Diode)などの発光装置である。駆動装置7はモータであり、図示しない演出用役物を作動させる。
外部記憶装置3は、演出制御装置2が備える図示しないメモリI/Fに対して接続される外付けの記憶装置であり、例えばSSD(Solid State Drive)である。
外部記憶装置3は、遊技機10の演出に利用する各種演出データや、演出制御装置2を起動するためのブートローダ、OS(Operating System)等の基本ソフトウェアを記憶している。
演出制御基板2A上に搭載される記憶装置や演出制御装置2に内蔵される記憶装置とは異なり大容量であり、多くの演出用データを格納することが出来る。
演出データは、例えば、遊技演出や客待ち演出(待機演出)、大当たり中の演出に用いられる画像データや音声データ、点灯データ、駆動データである。画像データは、動画像データも含む。
【0012】
演出制御装置2は、主制御基板1Aから入力された命令(コマンド)に基づいて外部記憶装置3からデータを読み出し、読み出したデータに対する各種の処理を行う。
演出制御装置2は、読み出した画像データに対して描画処理を行ったデータを表示装置4に出力して画像を表示させる。また演出制御装置2は、読み出した音声データに対して再生処理を行ったデータを放音装置5に出力して音声を出力させる。さらに演出制御装置2は、読み出した点灯データを点灯装置6に出力してランプを点灯させる。演出制御装置2は、駆動データに基づいて駆動装置7を制御して駆動させる。
【0013】
図2は、演出制御装置の構成を詳しく説明する図である。また図2は、演出制御装置と主制御装置との関係を示している。
演出制御装置2は、統括制御部としてのCPU21に各種コントローラやRAMを統合したSoC(System on Chip)である。
演出制御装置2は、バス100を介して接続されたCPU21、割り込みコントローラ22、モータコントローラ23、LEDコントローラ24、画像コントローラ25、サウンドコントローラ26を備える。演出制御装置2はさらに描画コントローラ27、データ転送コントローラ28、タイマ29、RAM40を備える。
CPU21は複数のコアを備え、各種の演算を行う。本実施形態の演出制御装置2では、CPU21は、例えば4つのコア(NO.1コア21A、NO.2コア21B、NO.3コア21C、NO.4コア21D)を備える。
図3にも示すように各コア21A~21Dは夫々キャッシュメモリ(L1キャッシュ)を備えるが、CPU21は、コア21A~21Dで共有されるキャッシュメモリ(L2キャッシュ)21Eを備える。CPU21とRAM40との間にL3キャッシュを備える場合もある。
【0014】
CPU21は、主制御装置1から入力されるコマンドに応じて遊技機10における演出の実行を制御する。そのために、CPU21は、演出用コントローラ(モータコントローラ23、LEDコントローラ24、画像コントローラ25、サウンドコントローラ26、描画コントローラ27)とデータ転送コントローラ28を制御する。
割り込みコントローラ22は、主制御装置1からCPU21に対して入力される外部割り込みとしてのコマンド通知や、演出用コントローラ23~27、データ転送コントローラ28、タイマ29からCPU21に入力される割り込み要求信号に対する制御を行う。
割り込みコントローラ22は、下記に説明する対応情報に基づいて、割り込みに対する制御を行うCPU21のコアの割り当てを行う。
【0015】
モータコントローラ23は、CPU21の制御に従って、遊技機10の演出用役物(可動体)を作動させるモータ7を制御する。
LEDコントローラ24は、CPU21の制御に従って、遊技機10に実装された点灯装置6の発光を制御する。
画像コントローラ25は、CPU21の制御に従って、主制御装置1による抽選結果を示す図柄(数字)やキャラクタ画像等の演出画像を表示装置4に表示するための制御を行う。演出画像は、後述する描画コントローラ27が描画した画像である。
【0016】
サウンドコントローラ26は、CPU21の制御に従って、外部記憶装置3に格納される音声データを用いて、演出音(BGMやキャラクタが発する音声)を放音装置5から出力するための制御を行う。
描画コントローラ27は、外部記憶装置3に格納されている画像データを用いて、画像コントローラ25が表示装置4に表示するための演出画像の描画を行う。
データ転送コントローラ28は、必要な演出用データ(音声データ、画像データ等)を外部記憶装置3からRAM40に転送するための制御を行う。
【0017】
上記のように構成された本実施形態の遊技機には、演出制御装置2に内蔵されたマルチコアCPUであるCPU21をOSで制御することによる処理のレイテンシに起因する問題点がある。
マルチコアCPUでは、複数段のキャッシュメモリやOSを用いた制御の並列処理によって大きなレイテンシが生じ得るのである。
【0018】
遊技機10において、主制御装置1から演出制御装置2へのコマンド伝達には、パラレル通信またはシリアル通信が使用される。
コマンド伝達にパラレル通信を使用する場合には、主制御装置1がコマンドを送出する旨のコマンド通知とコマンド値とをそれぞれに割り当てた信号線を用いて演出制御装置2に送出する。
CPU21は、コマンド通知を割り込み要求信号として入力されると、コマンド値用の信号線を監視してコマンド値の取得を行う。
コマンド値は、コマンド通知の送出から所定時間の間だけ信号線上に保持されている。しかしCPU21での処理に上記のようにレイテンシが大きい場合は、コマンドの取得が遅延し、最悪の場合は、コマンド値が信号線から消失してCPU21がコマンド値を取得できない。
一方、コマンド伝達にシリアル通信を使用する場合には、主制御装置1がコマンドをシリアル通信で演出制御装置2に送出する。
主制御装置1が送出するコマンド値が演出制御装置2にて受信され、コマンドバッファにコマンド値が格納される。格納コマンド値の数が閾値を超えた場合に割り込みが発生する。
しかしコマンド量が多く且つ演出制御装置2での処理に上記のようにレイテンシが大きい場合には、コマンドバッファに格納されたコマンド値の取得が遅延する。
最悪の場合は、コマンド値の取得が遅延した結果コマンドバッファがオーバーフローし、次回に主制御装置1が送出するコマンド値をCPU21が取得することが出来ない。
【0019】
遊技機10においては、不正改造等を防止する目的のため主制御基板1Aからは信号が送出されるのみであり、主制御装置1と演出制御装置2との間でのネゴシエーション等は行われない。
コマンド値の未取得に応じて、主制御装置1はコマンドの再送なども行われない。演出制御装置2のCPU21は、コマンドに対するACK信号などを主制御装置1に送ることができないので、主制御装置1も、送出したコマンド値が正常に取得されたかを知るすべがないのである。
CPU21がコマンドバッファや信号線からコマンド値を正常に取得することができないと、演出制御装置2は、今回変動、あるいは次回以降の変動において、コマンドで求められる演出を正常に実行することができない。
例えば、CPU21によるコマンド値の取得が遅延した場合、演出制御装置2における演出の開始が遅延する。遊技機10における図柄の一変動の時間は主制御装置1で管理されているが、その場合、主制御装置1での変動時間と演出制御装置2での演出実行時間が不一致となり管理値がNGになる。また最悪の場合でCPU21がコマンド値を取得できないと、演出を実行開始できず、演出画面の描画が行えずに表示装置4の画面がブラックアウトして、遊技進行の妨げとなる。
レイテンシによって遅延するのは、主制御装置1からのコマンド通知の処理だけではない。演出制御装置2が内蔵するモータコントローラ23は、CPU21の制御に基づいて、ステッピングモータであるモータ7の駆動制御を行う。モータコントローラ23は、モータ7のA相、B相、/A相、/B相の順番で電流のON/OFFを行い、例えばA相、B相、/A相、/B相のうち、例えば1相がHIGHとなり他の3相がLOWとなるように制御する。HIGHとなる相を順次切り換えることで励磁パターンを形成して、モータ7を駆動することができる。
全ての相がHIGHやLOWになったりするとモータ7は不正に停止してしまい最悪は焼き付いてしまうことがある。従って、各相の電流のON/OFF、HIGH/LOWを切り替えるタイミングは適切に制御される必要がある。
例えば、モータコントローラ23は、CPU21の命令に従って、ONになっていた相をOFFにし、そのことを示す電流停止信号を割り込み信号としてCPU21に入力する。CPU21は、電流停止信号をうけて、次の相をONにするようにモータコントローラ23に命令する。
モータコントローラ23は、次の相をONにすると、そのことを示す電流開始信号を割り込み信号としてCPU21に入力する。CPU21は、電流開始信号をうけて、ONになっている相をOFFにするようにモータコントローラ23に命令する。
モータコントローラからの割り込み信号(電流停止信号)に対するCPU21の処理がレイテンシによって遅れると、モータ7の全相がOFFとなる時間が発生しモータ7は不正に停止する。モータコントローラからの割り込み信号(電流開始信号)に対するCPU21の処理がレイテンシによって遅れるとモータ7の動きが止まる。動きの止まったモータ7で演出用役物の重量を支えることになるため、これも好ましくはない。
【0020】
このような問題に対して、本実施形態の演出制御装置2は、内蔵するマルチコアCPUであるCPU21を以下のように制御する。すなわち演出制御装置2は、CPU21に含まれる4つのコアのうち、少なくとも一つのコアを汎用OSで制御するよりも命令に対するレイテンシが小さく応答性が優れた方法で制御し、残りのコアを汎用OS(例えばLinux(登録商標))で制御する。
一例として、NO.1コア21A、NO.2コア21B、NO.3コア21Cを汎用OSで制御し、一方で、NO.4コア21Dは、例えばOSを用いずに(NonOSで)制御する。
【0021】
そして割り込みコントローラ22は、図4でも説明するように、主制御装置1からのコマンド通知や、モータコントローラ23からの割り込み要求信号など、応答性が問題となる割り込みに対する制御には、NonOSで制御されるNO.4コア21Dを割り当てる。一方で割り込みコントローラ22は、画像処理やサウンド制御、LED制御など、応答性が問題とならない又は問題となりにくい割り込みに対する制御には、割り込みコントローラ22によって、OSで制御されるNO.2コア21B、NO.3コア22Cを割り当てる。
【0022】
また応答性が問題とならない又は問題となりにくい割り込みのなかでもデータ転送コントローラ28からの割り込みに対する制御には、OSで制御されるコアのなかでもNO.2コア21B、NO.3コア22Cとは異なるNO.1コア21Aを割り当ててもよい。演出用コントローラ23~27に対して、外部記憶装置3から演出用データを供給するデータ転送コントローラ28に対する制御は、演出用コントローラ23~27に対する制御と並行して実行することが望ましい場合がある。演出の実行と演出用データの供給を並行して行いたい場合は多くからである。
OSで制御されるNO.1コア21A、NO.2コア21B、NO.3コア22Cが、演出用コントローラ23~27やデータ転送コントローラ28、タイマ29からの割り込みに対する制御を行ってもよい。
【0023】
このようにすることで、遊技機メーカーは、主制御装置1からのコマンド値の処理やモータ制御関連の処理についてはOSを用いずに応答性を重視した開発を行うが、遊技機メーカーが所有するOS上で実行されるコンテンツ開発ツールを利用して設計開発した制御プログラムをOS上で動作させて開発を効率化することができる。マルチコアCPUである演出制御装置2において、応答性と開発効率とを両立させることができる。
【0024】
なお、NO.4コア21DをNonOSで制御する替わりに、応答性においてNonOSに劣るが汎用OSよりは優れたリアルタイムOSで制御してもよい。
2つのコア、例えばNO.3コア21C、No.4コア21DをNonOSで制御し、例えば、No.4コア21Dを主制御装置1からのコマンド通知(割り込み)に専属的に割り当て、NO.3コア21Cをモータコントローラ23からの割り込みに専属的に割り当ててもよい。
このようにすることで、遊技の進行や安全性にとって重要な2つの割り込みを夫々NonOSで制御されるコアで応答性よく並列に処理することが出来る。
あるいは、2つのコア、例えばNo.4コア21DとNO.3コア21Cの一方をNonOSで制御し、他方をリアルタイムOSで制御してもよい。
【0025】
以下に、本実施形態の割り込みコントローラ22の構成を説明する。
図3は、演出制御装置が備える割り込みコントローラの動作を説明する図である。
図3に示すように、割り込みコントローラ22は、バス100を介して、主制御装置1及び演出用コントローラ23~27とコア21A~21Dとの間を中継するように配置される。
割り込みコントローラ22は、主制御装置1及び演出用コントローラ23~27、データ転送コントローラ28、タイマ29から割り込み要求信号が入力される割り込み端子を備えている。
割り込みコントローラ22は、割り込み要求信号が入力された割り込み端子で特定される割り込みを、コア21A~21Dのコアに割り当てる制御を行う。
すなわち、割り込みコントローラ22は、バス100を介して主制御装置1及び演出用コントローラ23~27、データ転送コントローラ28、タイマ29から信号またはデータを入力されると、対応情報30に基づいて処理するコアを特定し、当該特定されたコアに処理を流す。
【0026】
図4は、遊技機に発生するイベントとイベントを処理するコアとを対応付けた情報を説明する図である。
割り込みコントローラ22のレジスタには、図4に示すような、割り込みと、割り込みの要因となったイベントと、処理をするコアとを対応付けた対応情報30を格納している。
割り込みコントローラ22は、どの割り込み端子に割り込み要求信号が入力されたかによって、主制御装置1やコントローラ、タイマのうちのどのデバイスでどのイベントが発生したかを検知することが出来る。従って、対応情報30では割り込み番号とコア番号が対応付けられていればよい。図4において、割り込みの要因は説明の便宜上記載しているに過ぎない。
対応情報30は、割り込みコントローラ22のレジスタに格納されるのではなく、例えば外部記憶装置3に格納されて、起動時に演出制御装置2の起動時にRAM40に展開されてもよい。
【0027】
図3図4を用いて説明する。
対応情報30の一例として、主制御装置1からの割り込み要求信号(コマンド通知)が対応する割り込み端子に入力されることで発生する割り込みI-10は、NO.4コア21D(NonOS制御)に割り当てられ、コマンド通知に対する処理をNO.4コア21Dが実行する。
【0028】
モータコントローラ23からの割り込み要求信号が対応する割り込み端子に入力されることによって発生する割り込みI-11、I-12はNO.4コア21D(NonOS制御)に割り当てられ、割り込み要求信号に対する処理をNO.4コア21Dが実行する。
割り込みI-11はモータコントローラ23からの電流終了信号の入力に対応し、電流終了信号が割り込み要求信号として機能する。
割り込みI-12はモータコントローラ23からの電流開始信号の入力に対応し、電流開始信号が割り込み要求信号として機能する。
【0029】
タイマ29からの割り込み要求信号が対応する割り込み端子に入力されることによって発生する割り込みI-15、I-16は、NO.3コア21Cに割り当てられ、これらの割り込み要求信号に対する処理をNO.3コア21Cが実行する。
割り込みI-15はタイマ29からの計時開始信号の入力に対応し、計時開始信号が割り込み要求信号として機能する。割り込みI-16はタイマ29からの計時終了信号の入力に対応し、計時終了信号が割り込み要求信号として機能する。
【0030】
画像コントローラ25からの割り込み要求信号が対応する割り込み端子に入力されることで発生する割り込みI-17、I-18はNO.2コア21Bに割り当てられ、これらの割り込み要求信号に対する処理をNO.2コア21Bが実行する。
割り込みI-17は、割り込みI-18は、画像コントローラ25からのVブランク信号の入力に対応し、Vブランク信号が割り込み要求信号として機能する。
Vブランク信号は、1フレームの画像の表示が終了したことを示す信号である。遊技機10は2以上の表示装置4を備えるものが多く、夫々の表示装置4からのVブランク信号を夫々異なる割り込み要求信号として入力することが出来る。
【0031】
データ転送コントローラ28からの割り込み要求信号が、対応する割り込み端子に入力されることによって発生する割り込みI-19、割り込みI-20はNO.1コア21Aに割り当てられ、割り込み要求信号に対する処理をNO.1コア21Aが実行する。
割り込みI-19は、データ転送コントローラ28からの転送終了信号の入力に対応し、転送終了信号が割り込み要求信号として機能する。割り込みI-20は、データ転送コントローラ28からの転送エラー信号の入力に対応し、転送エラー信号が割り込み要求信号として機能する。
【0032】
描画コントローラ27からの割り込み要求信号が、対応する割り込み端子に入力されることによって発生する割り込みI-21、I-22、I-23は、NO.3コア21Cに割り当てられ、これらの割り込み要求信号に対する処理をNO.3コア21Cが実行する。
割り込みI-21は、描画コントローラ27からの描画終了信号の入力に対応し、描画終了信号が割り込み要求信号として機能する。割り込みI-22は、描画コントローラ27からの描画エラー信号の入力に対応し、描画エラー信号が割り込み要求信号として機能する。割り込みI-23は、描画コントローラ27からの描画信号の入力に対応し、描画信号が割り込み要求信号として機能する。
【0033】
サウンドコントローラ26からの割り込み要求信号が対応する割り込み端子に入力されることによって発生する割り込みI-24、I-25は、NO.2コア21Bに割り当てられ、割り込み要求信号に対する処理をNO.2コア21Bが実行する。
割り込みI-24は、サウンドコントローラ26からの再生開始信号の入力に対応し、再生開始信号が割り込み要求信号として機能する。割り込みI-25は、サウンドコントローラ26からの再生終了信号の入力に対応し、再生終了信号が割り込み要求信号として機能する。
【0034】
LEDコントローラ24からの割り込み要求信号が、対応する割り込み端子に入力されることによって発生する割り込みI-26、I-27は、NO.3コア21Cに割り当てられ、割り込み要求信号に対する処理をNO.3コア21Cが実行する。
割り込みI-26は、LEDコントローラ24からの点灯開始信号の入力に対応し、点灯開始信号が割り込み要求信号として機能する。割り込みI-27は、LEDコントローラ24からの点灯終了信号の入力に対応し、点灯終了信号が割り込み要求信号として機能する。
【0035】
図4で説明した割り込みをより詳しく正確するために、遊技機10で演出を実行するために演出制御装置2が行う処理の流れを例示する。
特に、演出を実行するうえでのCPU21の各コア21と演出用コントローラ23~27、データ転送コントローラ28、割り込みコントローラ22の動作を説明している。
以下では主制御装置1から送られるコマンドが大当たりを示す場合の演出制御装置2内の制御を説明している。ただし、主制御装置1から送られるコマンドがハズレを示す場合等であっても、演出の内容が異なるのみで処理の流れに本質的な違いは無い。
なお遊技機10では、画像描画、画像表示、音声出力、LED発光、モータ駆動等が常に動作し続けている。従って、下記の説明は、演出画像の1フレーム分の処理としてシリアルに行われるものではなく、特定のコマンド(例えば大当たりのコマンド受信)に対する各部の処理を抽出し、まとめて記載したものである。
なお、以下の説明において、全ての場合において、割り込みコントローラ22によって割り込みを割り当てられたコアが、その割り込みに対する処理を行わずともよい。
NO.4コア21Dに割り当てられた割り込みは、応答性の観点からそのままNO.4コア21Dが行うことが望ましい。しかし、NO.1コア21A、NO.2コア21B、NO.3コア21Cの何れかに割り当てられた割り込みに対する処理は、NO.1コア21A、NO.2コア21B、NO.3コア21Cのうちの他のコアが行ってもよい。
特に演出用役物を作動させるためのモータへの作動命令などは、演出中に常に行うわけではないので、駆動データを転送されてからすぐにモータ7を駆動させるとは限らない。従って、モータへの作動命令を他のコアが行ってもよい。
NO.4コア21Dに割り当てられた割り込みに対する処理でそのままNO.4コア21Dで実行すべきはコマンド値の取得であり、演出内容の決定などの以降の処理を他のコアが行ってもよい。
【0036】
主制御装置1が大当たり抽選を行った結果大当たりとなり、大当たりとなる演出を行うために抽選を示すコマンドを演出制御装置2に対して出力する。
主制御装置1がコマンド通知を送出し、割り込みコントローラ22にコマンド通知が入力されると割り込みI-11を発生させる。割り込みコントローラ22は、コマンド通知に対する処理をNonOSで制御されるNO.4コア21Dに割り当てる。
【0037】
NO.4コア21Dは、コマンド通知を受け取ると、信号線またはコマンドバッファからコマンド値をレイテンシなく取得する。
続いてNO.4コア21D(NO.2コア21B又はNO.3コア21Cでもよい)は、コマンド値が示す変動時間が経過後に大当たりとなって終了する演出内容を決定する。
NO.2コア21B又はNO.3コア21Cは、データ転送コントローラ28に対して、決定した演出内容を実現するための演出用データを外部記憶装置3からRAM40に転送するように命令する。
データ転送コントローラ28は、外部記憶装置3との例えばSATA通信を確立し、演出データ用をRAM40に転送する。
データ転送が正常に終了すると、データ転送コントローラ28は、転送終了信号を割り込みコントローラ22の対応する割り込み端子に入力して割り込みI-19を発生させる。割り込みコントローラ22は、転送終了信号に対する処理をNO.1コア21Aに割り当てる。
NO.1コアAは、例えば、転送された演出画像を表示装置4に表示するために、描画コントローラ27に対して画像データを描画するように命令する。
【0038】
データ転送がエラーとなると、データ転送コントローラ28は、転送エラー信号を割り込みコントローラ22の対応する割り込み端子に入力して割り込みI-20を発生させる。割り込みコントローラ22は、転送エラー信号に対する処理をNO.1コア21Aに割り当てる。例えば、NO.1コア21Aは、データ転送コントローラ28に対してデータ転送の再試行を命令する。
【0039】
描画コントローラ27は、画像データの描画を終了すると、描画終了信号を、割り込みコントローラ22の対応する割り込み端子に入力して割り込みI-21を発生させる。割り込みコントローラ22は、描画終了信号に対する処理をNO.3コア21Cに割り当てる。NO.3コア21Cは、例えば、描画コントローラ27に、描画した画像をフレームバッファに格納するように命令する。
描画コントローラ27は、画像データの描画がエラーとなると、描画エラー信号を、割り込みコントローラ22の対応する割り込み端子に入力して割り込みI-22を発生させる。割り込みコントローラ22は、描画エラー信号に対する処理をNO.3コア21Cに割り当てる。NO.3コア21Cは、描画コントローラ27に、例えば描画の再試行を命令する。
描画コントローラ27は、描画した画像をフレームバッファに格納すると、描画信号を、割り込みコントローラ22の対応する割り込み端子に入力して割り込みI-23を発生させる。割り込みコントローラ22は、描画信号に対する処理をNO.3コア21Cに割り当てる。
NO.3コア21Cは、画像コントローラ25に対して最初の1フレーム目の画像を表示するように命令する。NO.3コア21Cは、例えば、次に描画すべき画像データをRAM40に転送するようにデータ転送コントローラ28に命令する。
【0040】
画像コントローラ25は、1フレームの画像の表示が終了したことを示すVブランク信号を割り込みコントローラ22の対応する割り込み端子に入力して割り込みI-17を発生させる。割り込みコントローラ22は、Vブランク信号に対する処理をNO.2コア21Bに割り当てる。
NO.2コア21Bは、画像コントローラ25はフレームバッファ内の画像を表示するように命令する。
【0041】
演出内容に従って、NO.2コア21B又はNO.3コア21Cは、演出用役物を作動させる。そのために、NO.2コア21B又はNO.3コア21Cは、モータ7の駆動を開始させるために、まずONになっている相をOFFにする命令をモータコントローラ23に入力する。
モータコントローラ23は、ONになっている相をOFFにして、電流終了信号を割り込みコントローラ22の対応する割り込み端子に入力して割り込みI-11を発生させる。割り込みコントローラ22は、電流終了信号に対する処理をNO.4コア21Dに割り当てる。NO.4コア21Dは、OFFになっていた一つの相をONにする命令をモータコントローラ23に入力する。
モータコントローラ23は、OFFになっていた一つの相をONし電流開始信号を割り込みコントローラ22の対応する割り込み端子に入力して割り込みI-12を発生させる。割り込みコントローラ22は、電流開始信号に対する処理をNO.4コア21Dに割り当てる。NO.4コア21Dは、ONになっている相をOFFにする命令をモータコントローラ23に入力する。
演出用役物の作動が終了するまで、NO.4コア21Dとモータコントローラ23は、電流終了信号、電流開始信号の入力とそれに対する処理を繰り返す。
【0042】
演出内容に従って、NO.1コア21Dは、音声の再生出力を開始させるようにサウンドコントローラ26に命令する。
サウンドコントローラ26は、音声の再生出力を開始して、再生開始信号を割り込みコントローラ22の対応する割り込み端子に入力して割り込みI-24を発生させる。割り込みコントローラ22は、再生開始信号に対する処理を割り込みI-24をNO.2コア21Bに割り当てる。
割り当てる。NO.2コア21Bは、例えば、次に再生すべき音声データをRAM40に転送するようにデータ転送コントローラ28に命令する。
サウンドコントローラ26は、音声の再生出力を終了すると再生終了信号を割り込みコントローラ22の対応する割り込み端子に入力して割り込みI-25を発生させる。割り込みコントローラ22は、再生終了信号に対する処理を2コア21Bに割り当てる。NO.2コア21Bは、例えば、次の音声データを再生出力するように命令する。
【0043】
演出内容に従って、NO.4コア21Dは、点灯パターンに基づくLED点灯を開始させる命令をLEDコントローラ24に入力する。LEDコントローラ24は、LED点灯を開始したことを示す点灯開始信号を割り込みコントローラ22に対して出力する。
点灯開始信号は割り込みコントローラ22の対応する割り込み端子に入力されて割り込みI-26を発生させる。割り込みコントローラ22は、割り込みI-26をNO.3コア21Cに入力し、点灯開始信号に対する処理を割り当てる。NO.3コア21Cは、例えば、次の点灯パターンを転送するようにデータ転送コントローラ28に命令する。
LEDコントローラ24は、点灯パターンに基づくLED点灯を終了したことを示す点灯終了信号を割り込みコントローラ22入力して割り込みI-27を発生させる。割り込みコントローラ22は、点灯終了信号に対する処理をNO.3コア21Cに割り当てる。NO.3コア21Cは、例えば、次の点灯パターンで発光するようにLEDコントローラ24に命令する。
【0044】
演出内容に従って図示しないチャンスボタンを使ったボタン演出を実行する場合を考える。ボタン演出は、例えば予め決められた時間内にチャンスボタンを長押しや連打をした結果、大当たりの期待度を示唆する画像を表示するなどの演出である。
ボタン演出を開始するに当たり、NO.2コア21B又はNO.3コア21Cは、例えばタイマ29に対して計時を開始するように命令する。タイマ29は、計時を開始したこと示す計時開始信号を割り込みコントローラ22の対応する割り込み端子に入力して割り込みI-15を発生させる。割り込みコントローラ22は、計時開始信号に対する処理をNO.3コア21Cに割り当てる。NO.3コア21Cは、ボタン演出の開始するように各コントローラを制御する。
またタイマ29は、計時を終了したこと示す計時終了信号を割り込みコントローラ22の対応する割り込み端子に入力して割り込みI-16を発生させる。割り込みコントローラ22は、計時終了信号に対する処理をNO.3コア21Cに割り当てる。NO.3コア21Cはボタン演出の結果を表示する演出を行うように各コントローラを制御する。
【0045】
上記の例において、主制御装置1からのコマンドに関する処理が、CPU21においてNonOSで制御されるNO.4コア21Dに割り当てられることで、OS利用に起因するレイテンシが生じない。従って、パラレル通信の場合において未取得のコマンド値が消失したり、シリアル通信の場合においてコマンドバッファがオーバーフローしたりすることない。
演出制御装置2は、コマンド値の入力に応じて、主制御装置1からのコマンド値を確実に取得して演出を確実に実行することができる。
またモータコントローラ23からの割り込み要求信号に対しても、NonOSで制御されレイテンシが小さいNO.4コア21Dで迅速に対応する処理を行うため、モータ7が焼損等することも防止できる。
【0046】
図5は、演出制御装置の起動時の処理を説明するフローチャートである。
一例として、上記と同様に演出制御装置2が備えるCPU21のコア数を4とし、NO.1コア21A、NO.2コア21B、NO.3コア21Cを、OS(Linux(登録商標))を用いて制御し、NO.4コア21DはNonOSで制御するものとする。
CPU21は、ステップS101において、NO.1コア21Aのブートローダを起動する。演出制御装置2は、ステップS102において、ブートローダの設定に基づいて、Linux(登録商標)によるNO.1コア21Aの起動を開始する。
CPU21は、ステップS103において、Linux(登録商標)カーネルの起動パラメータに格納されている利用するコア数(本実施形態では4つのコア)の情報を取得する。
CPU21は、ステップS104において、取得したコア数の情報に応じて、NO.1コア21Aに加えた3つのコア(NO.2コア21B、NO.3コア21C、NO.4コア21D)の起動を開始する。
【0047】
CPU21は、ステップS105において、NO.1コア21A、NO.2コア21B、NO.3コア21C、NO.4コア21Dの起動シーケンス(起動プログラム)のアドレスをメモリに書き込む。すなわち、CPU21は、各コアを起動する起動プログラムのアドレスを割り当てる。どの起動プログラムによって起動するかで、コアがOSを制御されるかNonOSで制御されるかが決定される。
CPU21は、ステップS111において、NO.1コア21Aのブートローダの起動を完了しており、ステップS112において、Linux(登録商標)の起動プログラムを実行してNO.1コア21Aを起動する。
【0048】
CPU21は、ステップS121において、NO.2コア21Bのブートローダを起動し、ステップS122において、Linux(登録商標)の起動プログラムを実行してNO.2コア21Bを起動する。
CPU21は、ステップS131において、NO.3コア21Cのブートローダを起動し、ステップS132において、Linux(登録商標)の起動プログラムを実行してNO.3コア21Cを起動する。
【0049】
CPU21は、ステップS141において、NO.4コア21Aのブートローダを起動し、ステップS142において、Linux(登録商標)の起動プログラムを実行せず、NonOSでNO.4コア21Dを起動する。
NO.1コア21Aに関するステップS111とステップS112の処理、NO.2コア21Bに関するステップS121とステップS122の処理、NO.3コア21Cに関するステップS131とステップS132の処理、NO.4コア21Dに関するステップS141とステップS142の処理は、各コアにおいて並行して行われる。
【0050】
本実施形態では、応答性が重視される主制御装置1からのコマンド処理やモータ制御には、応答性が高いNonOSやリアルタイムOSで制御したコアを用い、応答性が重視されない演出制御には、OSで制御したコアを用いるように制御する。
主制御装置1からのコマンド値の処理を、CPU21におけるNonOSで制御されるコアに割り当てることで、OS制御に起因するレイテンシによりコマンド値の取得が遅延したり失敗したりすることない。モータコントローラ23からの割り込み要求信号に対する処理もNonOSで制御されるコアに割り当てることで、OS制御に起因するレイテンシが生じずモータコントローラ23からの割り込み要求信号を迅速に処理することが出来る。
【0051】
一方で、画像コントローラ25、描画コントローラ27、サウンドコントローラ26、LEDコントローラ24、データ転送コントローラ28、タイマ29からの割り込み要求信号に対する処理は、レイテンシが問題とならないため、OSで制御されるコアに割り当てる。従って、OS上の開発ツールで作成した制御プログラムをCPUで実行することができる。
【0052】
このようにすることで、遊技機メーカーは、マルチコアCPUを備えた演出制御装置2において、開発効率を重視しながらも、レイテンシによってコマンドや信号の正常に取得出来ないことに起因する遊技進行の妨げとなる不具合を解消することができる。
なお、本実施形態は、以上に述べた実施形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で種々の構成又は実施形態を取ることができる。
【符号の説明】
【0053】
1A…主制御基板、1…主制御装置、2A…演出制御基板、2…演出制御装置、3…記憶装置、4…表示装置、5…放音装置、6…点灯装置、7…駆動装置、10…遊技機、21…CPU21A、21B、21C、21D…コア、21E…キャッシュメモリ、22…割り込みコントローラ、23…モータコントローラ、24…LEDコントローラ、25…画像コントローラ、26…サウンドコントローラ、27…描画コントローラ、28…データ転送コントローラ、29…タイマ、30…対応情報、100…バス
図1
図2
図3
図4
図5