以下、本発明を実施するための最良の形態について、図面に基づいて説明する。
[スロットマシンの外観構成]
図1は、本発明の実施の形態に係るスロットマシン1の外観構成を示す図である。なお、本実施形態においては、遊技機の一例としてスロットマシン1を採用しているが、その他、例えばパチンコ機など視覚的な演出が行われる遊技機であれば、如何なるものであっても構わない。
図1において、本発明の実施の形態に係るスロットマシン1は、前面が開放している箱形形状を有している筐体2と、この筐体2に対して開閉自在に取り付けられている前扉3とを備えている。前扉3の中央部正面には、正面パネル4が装着されている。この正面パネル4の主要部には、表示窓5が形成されている。この表示窓5は、主として、筐体2内の3つの回転リール6a〜6cを観察するためのものである。
表示窓5の左側には、5つの賭けライン表示ランプ7a〜7eが設けられている。これら賭けライン表示ランプ7a〜7eは、1回の遊技において有効化された賭けラインを示すために点灯するランプである。他方、表示窓5の右側には、スタートランプ8、投入指示ランプ9、リプレイランプ10、AT告知ランプ11及びゲームオーバーランプ12が設けられている。表示窓5上には、当該表示窓5の窓面を横切る5本の賭けライン13a〜13eが設けられている。表示窓5の下方には、払出数表示器14、ゲーム数表示器15及びクレジット数表示器16が設けられている。これらは7セグメント表示器であって、正面パネル4上で左から右に向かってこの順で配置されている。
前扉3の上部には、上パネル17が装着されている。この上パネル17の中央部には、LCD18が設けられている。LCD18は、役抽選の抽選結果に関する情報を画像として遊技者に表示(告知)するものであって、役抽選によって当選した役の入賞を支援する。役抽選の抽選結果として内部的に役が成立した場合には、その役の入賞を示す図柄や目押しをアシストするキャラクタ画像や背景画像などを表示する。このように、LCD18において、遊技者に対する視覚的な演出が行われる。
LCD18を挟んだ左右両側には、一対のスピーカー19a,19bが上パネル17に装着されている。これらスピーカー19a,19bは、遊技の状況に応じて効果音を発するためのものである。他方、前扉3の下部には、下パネル20が装着されている。この下パネル20には、機種名及びイメージデザイン等が印刷されており、その下方には、メダル払出口21及びメダル受け皿22が設けられている。
正面パネル4と下パネル20との間には、操作部23が設けられている。この操作部23には、メダル投入口24、ベットボタン25、始動レバー26、停止ボタン27a〜27c及びクレジット/精算切替ボタン28が備えられている。メダル投入口24は、操作部23の上面の右側に配置されている。ベットボタン25は、メダル投入口24から投入されたメダルを何枚賭けるかを設定する際に使用されるボタンであって、操作部23の上面の始動レバー26及び停止ボタン27aの中間位置に配置されている。
マニュアル投入モードでゲームを行う際には、投入指示ランプ9が点灯又は点滅している間に、メダルをメダル投入口24に投入する。それゆえ、有効化される賭けラインは、メダルの投入枚数によって異なる。有効化された賭けライン、即ち有効ライン上において、予め定める役の成立を示す図柄の組み合わせが揃うことによって、その役が入賞した場合には、その入賞役の種類に応じた枚数のメダルがメダル払出口21からメダル受け皿22に払い出される。
他方、クレジットモードにおいて有効化される賭けラインは、ベットボタン25の押圧回数によって異なる。有効ライン上で予め定める役の成立を示す図柄の組み合わせが揃うことによって、その役が入賞した場合には、クレジットの上限を超えない範囲で払い出されるメダル数がクレジットとしてスロットマシン1にストアされる。クレジットの上限を超える場合には、その上限を超えた数のメダルがメダル払出口21からメダル受け皿22に払い出される。
マニュアル投入モード或いはクレジットモードの手順に則して賭け対象となるメダルの枚数が設定されると、制御装置100(図3参照)は、この設定された賭け枚数分のメダルを取り込む。このメダルの取り込みにより、遊技を開始する条件が整う。このとき、スタートランプ8が点灯又は点滅する。このスタートランプ8の作動状態において、始動レバー26が操作されると、制御装置100は、全ての回転リール6a〜6cを一斉に回転させる。
停止ボタン27a〜27cを押圧操作すると、その操作に対応する回転リールの回転が停止する。全回転リール6a〜6cの回転が停止したときに、有効ライン上に予め定める役の成立を示す図柄の組み合わせが揃うと、制御装置100は、入賞役の種類に従って、予め定められている利益を上記メダルの入力モードに応じた態様で遊技者に付与する。
[内部構成]
図2は、本発明の実施の形態に係るスロットマシン1の内部構成を示す図である。
図2において、筐体2内には、回転リール6a〜6c、ホッパー30、及び確率設定ボックス31などが備えられている。
回転リール6a〜6cは、筐体2内の中央部に配置されている。一方で、ホッパー30は、メダルの貯留・放出を行うための手段であって、回転リール6a〜6cの下方において、筐体2の底面に取り付けられている。また、確率設定ボックス31は、ホッパー30の左側において、筐体2の底面に取り付けられている。この確率設定ボックス31には、キースイッチSW1、確率設定スイッチSW2、及びリセットスイッチSW3(図4参照)などが内蔵されている。
[電気的構成]
図3は、本発明の実施の形態に係るスロットマシンの電気的構成を示すブロック図である。
図3において、本発明の実施の形態に係るスロットマシン1に内蔵された制御装置100は、遊技の統括的な制御に係る制御プログラムを実行する主制御基板(主制御部)200と、この主制御基板200からの指令に基づいて、画像表示制御に係る制御プログラムを実行する副制御基板(副制御部)300と、これら主制御基板200及び副制御基板300の両者を中継するI/Oポート400とを備えている。副制御基板300は、I/Oポート400を介して、主制御基板200からのワンウェイ通信で接続されている。換言すると、副制御基板300には、主制御基板200からのみアクセス可能となっている。また、本実施形態では、副制御基板300に、画像表示制御に係る制御プログラムだけでなく、音出力制御に係る制御プログラムも実行しうるようにしている。
図4は、図3に示す主制御基板200の電気的構成を示すブロック図である。
図4において、主制御基板200は、CPU2001と、RAM2002と、ROM2003と、クロックパルス発生回路2004と、乱数発生器2005と、モーター駆動制御回路2006と、表示器駆動制御回路2007と、ホッパー駆動制御回路2008と、ランプ駆動制御回路2009と、を備えている。
CPU2001は、スロットマシン1の制御中枢を司るものであって、ROM2003に格納されているプログラムに従って種々の制御を行う。このCPU2001の制御対象は、回転リール6a〜6cの駆動源であるステッピングモーターSML,SMC,SMR、払出数表示器14、ゲーム数表示器15、クレジット数表示器16、賭けライン表示ランプ7a〜7e、スタートランプ8、投入指示ランプ9、リプレイランプ10、AT告知ランプ11、ゲームオーバーランプ12、及びメダルの貯留・放出を行うホッパー30を挙げることができる。これら各制御要素に対する制御信号は、それぞれモーター駆動制御回路2006、表示器駆動制御回路2007、ランプ駆動制御回路2009、及びホッパー駆動制御回路2008を介して、CPU2001から与えられる。
CPU2001には、ベットボタン25、始動レバー26、停止ボタン27a〜27c、及びクレジット/精算切替ボタン28の各操作信号と、メダル投入検知センサ1500及びメダル排出検知センサー600の各センシング出力と、回転位置検出回路700の検出信号と、キースイッチSW1、確率設定スイッチSW2、及びリセットスイッチSW3の各スイッチング信号とが与えられる。
停止ボタン27a〜27cの操作信号は、回転リール停止信号処理回路800によって所定の処理が施された後、回転リール停止信号としてCPU2001に入力される。
メダル投入検知センサ1500は、メダル投入口24(図1参照)から投入されたメダルを検知するためのセンサーであって、メダル投入口24に関連して設けられている。他方、メダル排出検知センサー600は、ホッパー30のメダル排出位置に関連して設けられており、そのセンシング信号は、メダル排出完了信号処理回路900によって所定の処理が施された後、メダル排出完了信号としてCPU2001に入力される。
回転位置検出回路700は、ステッピングモーターSML,SMC,SMRに送るパルスをカウントするなどして、回転リール6a〜6cの回転位置を検出するものであって、回転リール6a〜6cに関連して設けられた光センサーや、ステッピングモーターSML,SMC,SMRの近傍に設けられたロータリエンコーダを含んでいる。回転リール6a〜6cの回転が停止したときに、CPU2001は、回転位置検出回路700の検出信号に基づいて、有効ライン上での回転リール6a〜6cの停止図柄の種類を特定する。
キースイッチSW1、確率設定スイッチSW2、及びリセットスイッチSW3は、上述した確率設定ボックス31(図2参照)に内蔵されている。キースイッチSW1は、遊技モードと確率設定モードとを互いに切り替えるためのスイッチである。他方、確率設定スイッチSW2は、複数種類の役の成立についての抽選に関する設定レベルを設定するためのスイッチであって、そのスイッチング信号は、キースイッチSW1によって確率設定モードになっている場合に限り、CPU2001に入力が受け付けられる。
遊技を開始する前に、遊技者によりメダル投入口24にメダルが投入され、その検出信号が入力されるか、或いは、ベットボタン25が押圧操作され、その操作信号が入力されると、CPU2001は、入力された操作信号が示す値に応じた枚数のメダルを賭け対象としてスロットマシン1に投入させる。
遊技を開始するために、遊技者によって始動レバー26が操作され、その操作信号が入力されると、CPU2001は、回転リール6a〜6cの回転を開始させるべく、モーター駆動制御回路2006を介してステッピングモーターSML,SMC,SMRに始動信号を出力する。そうすると、回転リール6a〜6cの回転が開始される。その結果、表示窓5内において回転リール6a〜6cの図柄の変動が開始される。
他方、回転リール6a〜6cの回転を停止するために、遊技者によって停止ボタン27a〜27cが押圧操作され、その操作信号が入力されると、CPU2001は、操作された停止ボタン27a〜27cに対応する回転リール6a〜6cの回転を停止させるべく、モーター駆動制御回路2006を介してステッピングモーターSML,SMC,SMRに停止信号を出力する。その結果、表示窓5内において回転リール6a〜6cの図柄の変動が順次停止される。
RAM2002は、CPU2001のワーキングエリアとして機能する。それゆえ、RAM2002の所定のメモリ領域上では、CPU2001によって、遊技や図柄変動の制御に必要なフラグや変数の値の書き込み及び読み出しが行われる。
ROM2003には、スロットマシン1を制御してメダルを払い出すための遊技プログラムと、この遊技プログラムで用いる変数の初期値と、が格納されている。また、役に対応する乱数値データの範囲を示す参照テーブルも、設定レベルに応じて複数格納されている。さらに、回転リール6a〜6cの回転位置と図柄種類との位置関係を記憶した図柄テーブルも格納されている。
クロックパルス発生回路2004は、基準クロックパルスを発生させるための回路であって、発生させた基準クロックパルスをCPU2001に供給する。乱数発生器2005は、役の成立に関する役抽選(電子抽選)に用いるものであって、所定範囲の乱数を常時発生させる。そして、CPU2001により、この発生させた乱数の中から任意の乱数が所定のタイミングで抽出される。
表示器駆動制御回路2007は、CPU2001からの指示信号に基づいて表示器駆動信号を生成し、この生成した表示器駆動信号を払出数表示器14,ゲーム数表示器15,クレジット数表示器16に与える。その結果、払出数表示器14,ゲーム数表示器15,クレジット数表示器16は、所定のデータを表示する。
ホッパー駆動制御回路2008は、CPU2001からの指示信号に基づいてホッパー駆動信号を生成し、この生成したホッパー駆動信号をホッパー30に与える。その結果、ホッパー30は、貯留しているメダルをメダル受け皿22に放出する。
ランプ駆動制御回路2009は、CPU2001からの指示信号に基づいてランプ駆動信号を生成し、この生成したランプ駆動信号を賭けライン表示ランプ7a〜7e,スタートランプ8,投入指示ランプ9,リプレイランプ10,AT告知ランプ11,ゲームオーバーランプ12に与える。その結果、これらの各種ランプは、所定のタイミングで点灯又は点滅する。
主制御基板200の制御の結果としての遊技状況は、I/Oポート400を介して、副制御基板300に全てコマンドとして送信される。例えば、上述した役抽選に当選し、かつ、LCD18において視覚的演出を行わせることが決定された際には、LCD18において視覚的演出を行わせるためのコマンド等が副制御基板300に送信される。
ここで、本実施形態に係るスロットマシン1では、副制御基板300において、副制御基板用のコンピュータシステムとして汎用アーキテクチャシステム(例えばx86アーキテクチャシステム)が構築されている。この副制御基板300の電気的構成については、図5を用いて詳述する。
図5は、図3に示す副制御基板300の電気的構成を示すブロック図である。
図5に示すように、副制御基板300は、情報処理ユニット301と、バス302と、IDE(Integrated Drive Electronics)インターフェース303と、メモリコントローラ304と、メモリモジュール305と、LCD駆動制御回路306と、音出力制御回路307と、を備えている。
情報処理ユニット301は、副制御基板300の制御中枢を司るものであって、I/Oポート400を介して送られてきた(主制御基板200からの)指示に従って、各種情報処理を実行する。例えば、主制御基板200からの指示に基づき、メモリモジュール305に対して各種コマンドを送信する。なお、情報処理ユニット301は、CPUだけでなく、システムメモリ(システムROM)やワーキングメモリ(WRAM)も有している。システムメモリには、システム起動時などに実行されるBIOS(Basic Input/Output System)プログラムとともに、画像表示制御に係る制御プログラム(例えばLCD18に画像を表示させるためのプログラムなど)が格納されている。なお、本実施形態では、画像表示制御に係る制御プログラムは、情報処理ユニット301に格納されていることとしたが、例えばメモリモジュール305内に格納されても構わない。また、本実施形態では、画像演出パターンに関する抽選テーブルなども情報処理ユニット301に格納されていることとしたが、例えばメモリモジュール305内に格納されても構わない。
バス302は、LCD駆動制御回路306や音出力制御回路307などのシステム要素を情報処理ユニット301に結合するものである。また、バス302には、IDEインターフェース303やI/Oポート400なども接続されている。なお、バス302には様々な種類のものがあり、例えば、ATAバス,ATAPIバス,PCI(Peripheral Components Interconnect)バス,AGP(Accelerated Graphics Port)バス,ISA(Industry Standard Architecture)バス,MCA(Micro Channel Architecture)バス,VESA(Video Electronics Standards Association)ローカルバスなど、その種類の如何は問わない。
音出力制御回路307は、情報処理ユニット301からの指示に基づいて音出力信号を生成し、この生成した音出力信号をスピーカ19に与える。その結果、スピーカ19は効果音を発する。
LCD駆動制御回路306は、主に、GPU(Graphics Processing Unit)3061と、RAMDAC(RAM Digital to Analog Converter)3062と、VRAM(Video Random Access Memory)3063と、を備えている。その他、図示しないがビデオBIOSも備えている。
GPU3062は、描画位置や解像度、色の濃さなどLCD18上におけるレンダリングに関する各種要素を制御する画像処理専用のチップである。GPU3062は、情報処理ユニット301によってメモリモジュール305から読み出され、情報処理ユニット301によって送られてきたコンテンツデータやフレームデータを、一旦VRAM3063に書き込む。この意味で、VRAM3063は、フレームバッファでもある。VRAM3063に格納されたデータは、デジタルビットマップとして展開される。そして、GPU3061は、このデジタルビットマップからなるキャラクタ画像や背景画像をRAMDACに送る。RAMDACでは、デジタルビットマップが、LCD18の表示形式と整合性が取れるようにアナログ信号に変換され、このアナログ信号(制御信号)がLCD18に対して出力される。その結果、LCD18では、キャラクタ画像や背景画像が表示されることになる。
このように、情報処理ユニット301は、主制御基板200からI/Oポート400を介して送られてきた役抽選の結果に応じた情報やLCD画像表示指令情報などを取得すると、静止画像データ,動画データ,3次元コンピュータグラフィックスデータといったコンテンツデータをメモリモジュール305から読み出し、LCD駆動制御回路306を介してLCD18に制御信号(アナログ信号)を送信する。その結果、LCD18では、例えばキャラクタ画像が突然現れたり、移動したり、消えたり、光ったりするなど、様々な視覚的演出が行われることになる。
ここで、本実施形態に係るスロットマシン1の特徴として、図5に示すように、情報処理ユニット301とメモリモジュール305との間には、情報処理ユニット301から書込コマンドを受信したとき、その書込コマンドを無効化させるメモリコントローラ304が介在している。より具体的には、メモリコントローラ304は、ATA規格で構成されるIDEインターフェース303及びバス302(ATAバス)を介して情報処理ユニット301に接続されている一方で、画像表示制御に用いる画像データ(例えば上述したコンテンツデータ)を記憶する、読出専用のROM305a〜305eを有するメモリモジュール305(メモリ部の一例に相当)にも接続されている。
なお、メモリモジュール305内にあるROM305a〜ROM305eとしては、例えばマスクROMやOTPROMを用いることができる。一般的に、マスクROMは、LSI製造時に情報を書き込む方式のROMであり、OTPROMは、EPROMチップを紫外線照射用窓のないプラスチックモールド等のパッケージに封入したもので、外部より電気信号を与えて一度だけ情報を書き込む方式のROMである。これらのROMは、いずれも読出専用となっており、書き込むことはできない。また、本実施形態では、メモリモジュール305内のメモリとして、読出専用のメモリを用いているが、例えばNAND型フラッシュメモリなど、書き込み可能なメモリを用いても構わない。
また、上述したように、画像表示制御に係る制御プログラムや画像演出パターンに関する抽選テーブルがROM305a〜ROM305eに格納されていてもよい。また、メモリモジュール305内には、ROM305a〜ROM305eのメモリ管理を行うCPU等が設けられていてもよい。
以下、メモリコントローラ304の電気的構成及び無効化機能について、図6及び図7を用いて詳細に説明する。図6は、図5に示すメモリコントローラ304の電気的構成を示すブロック図である。図7は、図5に示すメモリコントローラ304の動作フローを説明するためのフローチャートである。
図6において、メモリコントローラ304は、ATAコマンド送受信部3041と、ATA−ROMコマンド変換部3042と、ROMコマンド送受信部3043と、を備えている。また、ATAコマンド送受信部3041は、IDEインターフェース303に接続されているとともに、ATA−ROMコマンド変換部3042に接続されている。一方、ROMコマンド送受信部3043は、メモリモジュール305に接続されているとともに、ATA−ROMコマンド変換部3042に接続されている。
図7に示すように、メモリコントローラ304が処理を開始(起動)すると、まず、コマンドを受信したか否かが判断される(ステップS1)。より具体的には、ATAコマンド送受信部3041は、IDEインターフェース303を介して、情報処理ユニット301から何らかのコマンドを受信したか否かを判断する。これを受信していない場合には(ステップS1:NO)、これを受信するまで待機する。
一方で、何らかのコマンドを受信した場合には(ステップS1:YES)、ATAコマンド送受信部3041において、受信したコマンドが読出コマンドであるか否かが判断される(ステップ2)。ATAコマンド送受信部3041は、読出コマンドであると判定した場合には(ステップS2:YES)、その読出コマンドをATA−ROMコマンド変換部3042に転送し、実際にデータの読み出しが行われる(ステップS3)。より具体的には、読出コマンドが転送されたATA−ROMコマンド変換部3042では、その読出コマンドが、ROM305a〜ROM305eに格納されているコンテンツデータ等を読み出すためのコマンドに変換され、変換されたコマンドがROMコマンド送受信部3042に転送される。そして、ROMコマンド送受信部3042がメモリモジュール305にアクセスすることによって、ROM305a〜ROM305eに格納されているコンテンツデータ等が読み出される。
ROMコマンド送受信部3042によって読み出されたコンテンツデータ等は、ATA−ROMコマンド変換部3042を介してATAコマンド送受信部3041まで転送された後、処理完了通知とともに、IDEインターフェース303を介して情報処理ユニット301に送信される(ステップS4)。
一方、ステップS2において、ATAコマンド送受信部3041が、読出コマンドではない(例えば書込コマンドである)と判定した場合には(ステップS2:NO)、ステップS3の読み出しが行われることなく、処理完了通知(例えば、コマンド処理が完了した旨のレスポンスデータなど)が送信される(ステップS4)。なお、ステップS4の処理が終了すると、再びステップS1の処理に戻り、コマンド受信の待機状態になる。
以上説明した動作フローをハードウェア間のタイミングチャートで示すと、図8に示すようになる。図8は、情報処理ユニット301,メモリコントローラ304及びメモリモジュール305間の動作フローを示すタイミングチャートである。
図8において、メモリコントローラ304のATAコマンド送受信部3041が、情報処理ユニット301から読出コマンドを受信したとき(ステップS11,図7のステップS2:YES)、メモリコントローラ304のROMコマンド送受信部3042によって、メモリモジュール305内のROM305a〜ROM305eからコンテンツデータ等の読み出しが行われる(ステップS12,図7のステップS3)。そして、読み出されたコンテンツデータ等は、メモリコントローラ304のATAコマンド送受信部3041によって、情報処理ユニット301に送信される(ステップS13,図7のステップS4)。
一方で、メモリコントローラ304のATAコマンド送受信部3041が、書込コマンドを受信したとき(ステップS14,図7のステップS2:NO)、コマンド処理を実行することなく、コマンド処理が完了した旨のレスポンスデータを情報処理ユニット301に送信する(ステップS15,図7のステップS4)。
なお、ATAコマンド送受信部3041及びROMコマンド送受信部3042は、コマンド処理実行手段の一例として機能する。また、ATAコマンド送受信部3041は、受信したコマンドが読出コマンドか書込コマンドかを判定するためのロジックICを有しており、また、ROMコマンド送受信部3042は、メモリモジュール305からコンテンツデータを読み出すためのロジックICを有している。
また、図8に示す動作フローでは、ATAコマンド送受信部3041が書込コマンドを受信したとき、コマンド処理を実行することなく、コマンド処理が完了した旨のレスポンスデータを情報処理ユニット301に送信することとしたが、例えば図9に示す動作フローのように、ATAコマンド送受信部3041において書込コマンドを破棄してもよい。
図9は、情報処理ユニット301,メモリコントローラ304及びメモリモジュール305間の他の動作フローを示すタイミングチャートである。
図9によれば、情報処理ユニット301から読出コマンドが送信されたときには、コンテンツデータ等が適切に読み出され(ステップS21→ステップS22→ステップS23)、情報処理ユニット301から書込コマンドが送信されたときには(ステップS24)、メモリコントローラ304のATAコマンド送受信部3041において書込コマンドが破棄される(図9中の×印参照)。
以上説明したように、図8又は図9に示す動作フローによれば、仮に、情報処理ユニット301からメモリモジュール305に向けて書込コマンドが送信されたとしても、いずれの場合も、メモリモジュール305に届く前にメモリコントローラ304で無効化されるので、メモリモジュール305内のROM305a〜ROM305eが書込コマンドを受信するのを防止することができる。従って、ROM305a〜ROM305eの故障を防ぎ、ひいては画像表示機能の信頼性を保つことができる。
[変形例]
図10は、図5に示す副制御基板300の他の電気的構成を示すブロック図である。
図10に示す電気的構成が図5に示す電気的構成と異なる点は、メモリモジュール305が副制御基板300の外部に配置されており、このメモリモジュール305と、副制御基板300内のメモリコントローラ304とが、メモリバス等によって電気的に接続されている点である。副制御基板300がこのような電気的構成であっても、画像表示機能の信頼性確保は可能である。また、メモリモジュール305を副制御基板300の外部に配置することによって、メモリモジュール305,すなわちスロットマシンのコンテンツの交換が容易になり、汎用性を高めることができる。
図11は、図5に示す副制御基板300の他の電気的構成を示すブロック図である。
図11(a)に示す電気的構成が図5に示す電気的構成と異なる点は、メモリモジュール305だけでなく、メモリコントローラ304も副制御基板300の外部に配置されている点である。副制御基板300がこのような電気的構成であっても、画像表示機能の信頼性確保は可能である。また、メモリコントローラ304を副制御基板300の外部に配置することによって、メモリコントローラ304の交換が容易になり、汎用性を高めることができる。なお、図11(b)に示すように、メモリコントローラ304は、メモリモジュール305内に配置されていても構わない。
図12は、図5に示す副制御基板300の他の電気的構成を示すブロック図である。
図12に示す電気的構成が図5に示す電気的構成と異なる点は、メモリモジュール305をROM305a単体で置換している点である。この場合、図5と比べると記憶容量は小さくなるかもしれないが、それでも画像表示機能の信頼性確保は可能である。なお、図5に示す副制御基板300では、メモリモジュール305内に、ROM305a〜ROM305eのメモリ管理を行うCPU等を設けることとしたが、図12に示す副制御基板300では、例えば、これをメモリコントローラ304内に設ければよい。
図13は、図5に示す副制御基板300の他の電気的構成を示すブロック図である。
図5に示す電気的構成では、情報処理ユニット301から送信されるコマンドは、ATA規格に準拠したコマンドである(ATA規格を拡張したATAPI規格でも構わない)。一方で、図13に示す電気的構成では、情報処理ユニット301から送信されるコマンドは、USB規格に準拠したコマンドとなっている。具体的には、情報処理ユニット301から送信され、USB規格に準拠したコマンドは、USBポート308を介してメモリコントローラ304に送信される。そして、メモリコントローラ304では、ATAコマンド送受信部3041(図6参照)の代わりに、例えばUSBコマンド送受信部が設けられており、このUSBコマンド送受信部によって、書込コマンドの無効化が行われる。従って、副制御基板300がこのような電気的構成であっても、画像表示機能の信頼性確保は可能である。
図14は、図5に示す副制御基板300の他の電気的構成を示すブロック図である。
図14は、図13に示す電気的構成に、USB−ATA変換コントローラ309を設けた様子を示すブロック図である。
図14に示すように、USBポート308とメモリコントローラ304との間には、USB−ATA変換コントローラ309が介在している。このUSB−ATA変換コントローラ309は、ATA/ATAPI規格に準拠した40ピンコネクタ(ハードディスク,CD−ROM用)か、或いは、ATA/ATAPI規格に準拠した68ピンコネクタ(PCカード,メモリカード用)を備え、USB規格に準拠したコマンドを、ATA/ATAPI規格に準拠したコマンドに変換する機能を有している。
このように、USB−ATA変換コントローラ309を用いることによって、ATAコマンド送受信部3041を有するメモリコントローラ304(図6参照)を、そのまま使用して、画像表示機能の信頼性を高めることができる。
[バッファリング機構によるデータ保存機能]
次に、副制御基板300用のコンピュータシステムに汎用アーキテクチャシステムを構築した場合において、画像表示機能の信頼性を更に向上させるための手段について説明する。具体的に説明すると、汎用アーキテクチャシステムは、電源投入から稼動状態になるまで10秒から30秒くらいの起動時間を必要とすることから、副制御基板300用のコンピュータシステムに汎用アーキテクチャシステムを構築した場合には、電源投入後、主制御基板200が稼動状態になるタイミングと、副制御基板300が稼動状態になるタイミングとでズレが生じることになる。従って、電源投入されて主制御基板200が稼動状態になった後、副制御基板300が稼動状態になるまでの間、主制御基板200から副制御基板300に向けて送信されたデータ(例えば制御データなど)が一部又は全部喪失してしまう虞がある。そこで、このようなデータ喪失を防いで画像表示機能の信頼性を向上させるために、主制御基板200と副制御基板300の間に、主制御基板200から送信されるデータを一時的に保存するバッファ手段を介在させることとする。
なお、ここでいう「バッファ手段」とは、主制御基板200から送信されるデータを「一時的に」保存し得るものをいうが、保存時間の如何は問わない。例えば、副制御基板300が稼動状態になった後、直ちに副制御基板300に送信するものであってもよいし、また、副制御基板300が稼動状態になって所定時間が経過した後、副制御基板300に送信するものであってもよい。また、本明細書における「制御基板」とは、制御プログラムを実行する電気要素(例えばCPUやROMなど)が配置された基板とすることもできるし、制御プログラムを実行する電気要素(例えばCPUやROMなど)自体とすることもできる。後者の意味により、本発明は、制御プログラムを実行する電気要素が配置された基板に、物理的に「バッファ手段」が配置されている場合も包含するものとなる。
図15は、図5に示す副制御基板300とI/Oポート400の間に、バッファリング機構500を介在させた電気的構成を示すブロック図である(図15の点線枠参照)。バッファリング機構500は、主制御基板200が起動してから副制御基板300が起動するまでの間、主制御基板200から送信されるデータを一時的に保存するデータ保存機能を有している。以下、このバッファリング機構500の電気的構成及びデータ保存機能について、図16及び図17を用いて詳細に説明する。図16は、図15に示すバッファリング機構500の電気的構成を示すブロック図である。図17は、図15に示すバッファリング機構500の動作フローを説明するためのフローチャートである。
図16において、バッファリング機構500は、データ送信部5001と、データ処理部5002と、データ受信部5003と、を備えている。また、データ送信部5001は、出力用バッファ5004を備えるとともに、副制御基板300及びデータ処理部5002に接続されている。一方、データ受信部5003は、入力用バッファ5005を備えるとともに、I/Oポート400及びデータ処理部5002に接続されている。なお、図16では、出力用バッファ5004及び入力用バッファ5005は、それぞれデータ送信部5001及びデータ受信部5003内に設けられているが、これらと別個独立に設けることとしてもよい。
図17に示すように、主制御基板200が起動してから副制御基板300が起動するまでの間、主制御基板200からデータの受信が行われる(ステップS31)。より具体的には、データ受信部5003は、I/Oポート400を介して、主制御基板200から送信されたデータ(例えば制御データなど)を受信する。そして、受信したデータは、入力用バッファ5005に保存される(ステップS32)。
次に、入力用バッファ5005に保存されたデータは、データ処理部5002に転送され、所定のデータ処理が施される(ステップS33)。例えば、複数の制御データを1個の制御データへ統合する統合処理が行われる。これにより、バッファリング機構500から副制御基板300にデータ送信される際、統合した1個の制御データを送信すれば足りるようになることから、処理の効率化を図ることができる。その他、何らかのデータ形式の変換を行ってもよいし、データの信頼性を高める誤り訂正符号を付加してもよいし、その内容の如何は問わない。勿論、場合によっては、このデータ処理部5002を省略することも可能である。
次に、所定のデータ処理が施されたデータは、データ送信部5001に転送され、出力用バッファ5004に保存される(ステップS34)。この出力用バッファ5004に保存されたデータが、副制御基板300へ出力するためのデータになる。
ここで、データ送信部5001は、出力用バッファ5004から副制御基板300へのデータの送信を許容する機能を有しており、データ送信許容部の一例として機能する。より具体的に説明すると、副制御基板300が起動して稼動状態になったとき(すなわち、情報処理ユニット301内においてBIOSプログラムが実行された後、主制御基板200からのデータを受信する態勢が整ったとき)、情報処理ユニット301から起動完了信号が送信されるが、データ送信部5001は、この起動完了信号を受信するまで待機する(ステップS35:NO)。そして、データ送信部5001は、この起動完了信号を受信した場合には(ステップS35:YES)、出力用バッファ5004に保存されたデータを読み出して、これを副制御基板300に送信する(ステップS36)。
このように、データ送信部5001は、出力用バッファ5004から副制御基板300へのデータの送信を許容する機能を有している。なお、ステップS36において、例えば、出力用バッファ5004からデータをパラレルで読み出して、シリアル変換を施した上で副制御基板300に送信することも可能である。これにより、データ読出及びデータ送信の高速化を図ることができる。
以上説明した動作フローをハードウェア間のタイミングチャートで示すと、図18に示すようになる。図18は、I/Oポート400,バッファリング機構500及び副制御基板300間の動作フローを示すタイミングチャートである。
図18において、バッファリング機構500のデータ受信部5003は、I/Oポート400を介して主制御基板200からのデータを受信したとき(ステップS41,図17のステップS31)、これを入力用バッファ5005へ保存する(ステップS42,図17のステップS32)。なお、この段階では、副制御基板300は起動完了しておらず、稼動状態にないものとする(図18において点線で示す)。
次に、データ受信部5003は入力用バッファ5005から適宜データを読み出して、データ処理部5002に転送する。この転送タイミングは、データ処理部5002の処理状況を考慮しつつ決せられる。すなわち、データ処理部5002におけるデータ処理に余裕がある場合には、転送タイミングの間隔は短くなる一方で、データ処理部5002におけるデータ処理が追いつかず、データ処理部5002に転送するとデータのオーバーフローが起きそうな場合には、転送タイミングの間隔は長くなる(転送タイミングを適宜遅らせる)。このようにして、オーバーフローが起きるのを防止することができる。なお、データ処理部5002に転送されたデータは、上述したように各種データ処理が施される(ステップS43,図17のステップS33)。
次に、データ処理が施されたデータは、データ送信部5001に転送され、出力用バッファ5004に保存される(ステップS44,図17のステップS34)。このように、ステップS41〜ステップS44の処理が行われることによって、副制御基板300が稼動状態になるまでの10秒〜30秒の間、副制御基板300へ出力するためのデータが出力用バッファ5004に逐次保存されていくことになる。
一方で、副制御基板300の情報処理ユニット301(図15参照)において、BIOSプログラムが実行された後、主制御基板200からのデータを受信する態勢が整って、起動完了したとき(ステップS45)、情報処理ユニット301から起動完了信号が送信される。そして、バッファリング機構500のデータ送信部5001は、これを受信する(ステップS46,図17のステップS35:YES)。そうすると、データ送信部5001は、出力用バッファ5004に保存してあるデータを読み出して、副制御基板300に向けて送信する(ステップS47,図17のステップS36)。
なお、図18に示す動作フローでは、バッファリング機構500から副制御基板300にデータ送信されるタイミングを、副制御基板300から送信される起動完了信号に委ねることとしたが、例えば図19に示す動作フローのように、予め定めた待機時間Tが経過した後、自動的に副制御基板300にデータ送信してもよい。この場合、バッファリング機構500には、例えば、タイマ回路(例えばロジックICなど)と、タイマ回路のカウント値を判別する情報処理回路(例えばCPUなど)とが設けられ、主制御基板200と副制御基板300の電源投入と同時に、主制御基板200からバッファリング機構500にカウント開始信号が送信されるものとする。詳細は、図19を用いて説明する。
図19は、I/Oポート400,バッファリング機構500及び副制御基板300間の他の動作フローを示すタイミングチャートである。
図19によれば、バッファリング機構500がI/Oポート400を介して上述したカウント開始信号を受信したとき(ステップS51)、タイマ回路がカウントを開始する。また、受信したデータは、入力用バッファ5005に一旦保存される(ステップS52)。そして、所定のデータ処理を経て(ステップS53)、出力用バッファ5004に保存される(ステップS54)。その後、上述した情報処理回路が、タイマ回路のカウント値を参照して、予め定めた待機時間T(例えば30秒など)が経過したと判別した場合には、自動的に、出力用バッファ5004に保存されたデータを副制御基板300に送信する(ステップS56)。このとき、副制御基板300は、待機時間Tが経過したことによって、既に起動が完了している(ステップS55)。
以上説明したように、図18又は図19に示す動作フローによれば、電源が投入されて主制御基板200が稼動状態になった後、副制御基板300が稼動状態になるまでの間、主制御基板200から副制御基板300に向けて送信されたデータは、バッファリング機構500(出力用バッファ5004)に一時的に保存されることになる。従って、そのデータの一部又は全部を喪失してしまうのを防ぐことができ、ひいては画像表示機能の信頼性を確保することができる。
図20は、図15に示す副制御基板300の他の電気的構成を示すブロック図である。
図20に示す電気的構成が図15に示す電気的構成と異なる点は、バッファリング機構500が、物理的に副制御基板300上に配置されている点である。なお、バッファリング機構500をこのように配置した場合、請求項記載の「副制御基板」は、例えば、副制御基板300内の情報処理ユニット301を意味するものとする。これにより、スロットマシン全体として、部品点数を少なくすることができるし、また、部品管理も容易になる。