以下、本発明の実施形態について図面を参照して説明する。図1は本発明の一実施形態に係るスロットマシン100の外観図である。
<全体構成>
図1に示すスロットマシン100は、本体101と、本体101の正面に取付けられ、本体101に対して開閉可能な前面扉102と、を備える。本体101の中央内部には、(図1において図示省略)外周面に複数種類の図柄が配置されたリールが3個(左リール110、中リール111、右リール112)収納され、スロットマシン100の内部で回転できるように構成されている。これらのリール110乃至112はステッピングモータ等の駆動手段により回転駆動される。
本実施形態において、各図柄は帯状部材に等間隔で適当数印刷され、この帯状部材が所定の円形筒状の枠材に貼り付けられて各リール110乃至112が構成されている。リール110乃至112上の図柄は、遊技者から見ると、図柄表示窓113から縦方向に概ね3つ表示され、合計9つの図柄が見えるようになっている。そして、各リール110乃至112を回転させることにより、遊技者から見える図柄の組み合せが変動することとなる。つまり、各リール110乃至112は複数種類の図柄の組合せを変動可能に表示する表示手段として機能する。なお、このような表示手段としてはリール以外にも液晶表示装置等の電子画像表示装置も採用できる。また、本実施形態では、3個のリールをスロットマシン100の中央内部に備えているが、リールの数やリールの設置位置はこれに限定されるものではない。
各々のリール110乃至112の背面には、図柄表示窓113に表示される個々の図柄を照明するためのバックライト(図1において図示省略)が配置されている。バックライトは、各々の図柄ごとに遮蔽されて個々の図柄を均等に照射できるようにすることが望ましい。なお、スロットマシン100内部において各々のリール110乃至112の近傍には、投光部と受光部から成る光学式センサ(図示省略)が設けられており、この光学式センサの投光部と受光部の間をリールに設けられた一定の長さの遮光片が通過するように構成されている。このセンサの検出結果に基づいてリール上の図柄の回転方向の位置を判断し、目的とする図柄が入賞ライン上に表示されるようにリール110乃至112を停止させる。
入賞ライン表示ランプ120は、有効となる入賞ラインを示すランプである。有効となる入賞ラインは、遊技媒体としてベットされたメダルの数によって予め定まっている。入賞ラインは5ラインあり、例えば、メダルが1枚ベットされた場合、中段の水平入賞ラインが有効となり、メダルが2枚ベットされた場合、上段水平入賞ラインと下段水平入賞ラインが追加された3本が有効となり、メダルが3枚ベットされた場合、右下り入賞ラインと右上り入賞ラインが追加された5ラインが入賞ラインとして有効になる。なお、入賞ラインの数については5ラインに限定されるものではない。
告知ランプ114は、例えば、後述する内部抽選において特定の入賞役(具体的には、ボーナス)に内部当選していること、または、ボーナス遊技中であることを遊技者に知らせるランプである。遊技メダル投入可能ランプ124は、遊技者が遊技メダルを投入可能であることを知らせるためのランプである。再遊技ランプ122は、前回の遊技において入賞役の一つである再遊技に入賞した場合に、今回の遊技が再遊技可能であること(メダルの投入が不要であること)を遊技者に知らせるランプである。リールパネルランプ123は演出用のランプである。
ベットボタン130乃至132は、スロットマシン100に電子的に貯留されているメダル(クレジットという。)を所定の枚数分投入するためのボタンである。本実施形態においては、ベットボタン130が押下される毎に1枚ずつ最大3枚まで投入され、ベットボタン131が押下されると2枚投入され、ベットボタン132が押下されると3枚投入されるようになっている。以下、ベットボタン132はMAXベットボタンとも言う。なお、遊技メダル投入ランプ129は、投入されたメダル数に応じた数のランプを点灯させ、規定枚数のメダルの投入があった場合、遊技の開始操作が可能な状態であることを知らせる遊技開始ランプ121が点灯する。
メダル投入口141は、遊技を開始するに当たって遊技者がメダルを投入するための投入口である。すなわち、メダルの投入は、ベットボタン130乃至133により電子的に投入することもできるし、メダル投入口141から実際のメダルを投入(投入操作)することもでき、投入とは両者を含む意味である。貯留枚数表示器125は、スロットマシン100に電子的に貯留されているメダルの枚数を表示するための表示器である。表示器126は、各種の内部情報(例えば、ボーナス遊技中のメダル払出枚数)を数値で表示するための表示器である。払出枚数表示器127は、何らかの入賞役に入賞した結果、遊技者に払出されるメダルの枚数を表示するための表示器である。
スタートレバー135は、リール110乃至112の回転を開始させるためのレバー型のスイッチである。即ち、メダル投入口141に所望するメダル枚数を投入するか、ベットボタン130乃至132を操作して、スタートレバー135を操作すると、リール110乃至112が回転を開始することとなる。スタートレバー135に対する操作を遊技の開始操作と言う。
ストップボタンユニット136には、ストップボタン137乃至139が設けられている。ストップボタン137乃至139は、スタートレバー135の操作によって回転を開始したリール110乃至112を個別に停止させるためのボタン型のスイッチであり、各リール110乃至112に対応づけられている。以下、ストップボタン137乃至139に対する操作を停止操作と言い、最初の停止操作を第1停止操作、次の停止操作を第2停止操作、最後の停止操作を第3停止操作という。なお、各ストップボタン137乃至139の内部に発光体を設けてもよく、ストップボタン137乃至139の操作が可能である場合、該発光体を点灯させて遊技者に知らせることもできる。
メダル返却ボタン133は、投入されたメダルが詰まった場合に押下してメダルを取り除くためのボタンである。精算ボタン134は、スロットマシン100に電子的に貯留されたメダル、ベットされたメダルを精算し、メダル払出口142から排出するためのボタンである。ドアキー140は、スロットマシン100の前面扉102のロックを解除するためのキーを挿入する孔である。メダル払出口142は、メダルを払出すための払出口である。
音孔143はスロットマシン100内部に設けられているスピーカの音を外部に出力するための孔である。前面扉102の左右各部に設けられたサイドランプ144は遊技を盛り上げるための装飾用のランプである。前面扉102の上部には演出装置160が配設されている。この演出装置160は、水平方向に開閉自在な2枚の右扉164a、左扉164bからなる扉(シャッタ)部材164と、この扉部材164の奥側に配設された液晶表示装置700(図示省略)を備えており、2枚の右扉164a、左扉164bが水平方向外側に開くと液晶表示装置700(図示省略)の表示画面がスロットマシン100正面(遊技者側)に出現する構造となっている。
<制御部>
次に、図2〜図4を用いて、このスロットマシン100の制御部の回路構成について詳細に説明する。
スロットマシン100の制御部は、大別すると、遊技の中枢部分を制御する主制御部300と、主制御部300より送信されたコマンドに応じて各種機器を制御する副制御部400と、副制御部400より送信されたコマンドに応じて各種機器を制御する表示制御部500と、によって構成されている。
<主制御部>
まず、図2を用いて、スロットマシン100の主制御部300について説明する。主制御部300は、主制御部300の全体を制御するための演算処理装置であるCPU310や、CPU310が各ICや各回路と信号の送受信を行うためのデータバス及びアドレスバスを備え、その他、以下に述べる構成を有する。
クロック補正回路314は、水晶発振器311から発振されたクロックを分周してCPU310に供給する回路である。例えば、水晶発振器311の周波数が12MHzの場合に、分周後のクロックは6MHzとなる。CPU310は、クロック回路314により分周されたクロックをシステムクロックとして受け入れて動作する。
また、CPU310には、後述するセンサやスイッチの状態を常時監視するための監視周期やモータの駆動パルスの送信周期を設定するためのタイマ回路315がバスを介して接続されている。CPU310は、電源が投入されると、データバスを介してROM312の所定エリアに格納された分周用のデータをタイマ回路315に送信する。
タイマ回路315は、受信した分周用のデータを基に割り込み時間を決定し、この割り込み時間ごとに、割り込み要求をCPU310に送信する。CPU310は、この割込み要求を契機に、各センサ等の監視や駆動パルスの送信を実行する。例えば、CPU310のシステムクロックを6MHz、タイマ回路315の分周値を1/256、ROM312の分周用のデータを44に設定した場合、この割り込みの基準時間は、256×44÷6MHz=1.877msとなる。
また、CPU310には、各ICを制御するための制御プログラムデータ、入賞役の内部抽選時に用いる抽選データ、リールの停止位置等を記憶しているROM312や、一時的なデータを保存するためのRAM313が接続されている。これらのROM312やRAM313については他の記憶手段を用いてもよく、この点は後述する各制御部においても同様である。
また、CPU310には、外部の信号を受信するための入力インタフェース360が接続され、CPU310は、割込み時間ごとに入力インタフェース360を介して、メダル受付センサ320、スタートレバーセンサ321、ストップボタンセンサ322、メダル投入ボタンセンサ323、精算/貯留スイッチ324、メダル払い出しセンサ326の状態を検出し、各センサを監視している。
メダル受付センサ320は、メダル投入口134の内部の通路に2個設置されており、メダルの通過有無を検出する。スタートレバーセンサ321は、スタートレバー135に設置されており、遊技者によるスタート操作を検出する。ストップボタンセンサ322は、各々のストップボタン137乃至139に設置されており、遊技者によるストップボタンの操作を検出する。
メダル投入ボタンセンサ323は、メダル投入ボタン130乃至132のそれぞれに設置されており、RAM313に電子的に貯留されているメダルを遊技用のメダルとして投入する場合の投入操作を検出する。たとえば、CPU310は、メダル投入ボタン130に対応するメダル投入センサ323がHレベルになった場合に、電子的に貯留メダルを1枚投入し、メダル投入ボタン131に対応するメダル投入センサ323がHレベルになった場合に、電子的に貯留メダルを2枚投入し、メダル投入ボタン132に対応するメダル投入センサ323がハイレベルになった場合に、電子的に貯留メダルを3枚投入する。なお、メダル投入ボタン132が押された際、貯留されているメダル枚数が2枚の場合は2枚投入され、1枚の場合は1枚投入される。
精算/貯留スイッチ324は、精算/貯留ボタン132に設けられている。精算/貯留スイッチ132が一回押されると、貯留されているメダルを精算し、もう一回押されると、払い出されるメダルが電子的に貯留される貯留モードとなる。メダル払い出しセンサ326は、払い出されるメダルを検出するためのセンサである。なお、以上の各センサは、非接触式のセンサであっても接点式のセンサであってもよい。
CPU310には、さらに、入力インタフェース361、出力インタフェース370、371がアドレスデコード回路350を介してアドレスバスに接続されている。CPU310は、これらのインタフェースを介して外部のデバイスと信号の送受信を行っている。
入力インタフェース361には、インデックスセンサ325が接続されている。インデックスセンサ325は、具体的には、各リール110乃至112の取付台の所定位置に設置されており、リールに設けた遮光片がこのインデックスセンサ325を通過するたびにハイレベルになる。CPU310は、この信号を検出すると、リールが1回転したものと判断し、リールの回転位置情報をゼロにリセットする。
出力インタフェース370には、リールを駆動させるためのリールモータ駆動部330と、ホッパー(バケットにたまっているメダルをメダル払出口142から払出すための装置。図示せず。)のモータを駆動するためのホッパーモータ駆動部331と、遊技ランプ340(具体的には、入賞ライン表示ランプ120、遊技開始ランプ121、再遊技ランプ122、リールパネルランプ123、遊技メダル投入可能ランプ124等)と、7セグメント表示器341(貯留枚数表示器125、表示器126、払出枚数表示器127等)が接続されている。
また、CPU310には、乱数発生回路317がデータバスを介して接続されている。乱数発生回路317は、水晶発振器311及び水晶発振器316から発振されるクロックに基いて、一定の範囲内で値をインクリメントし、そのカウント値をCPU310に出力することのできるインクリメントカウンタであり、後述する入賞役の内部抽選をはじめ各種抽選処理に使用される。本発実施形態における乱数発生回路317は、水晶発振器311のクロック周波数を用いて0〜65535までの値をインクリメントするカウンタと、水晶発振器316のクロック周波数を用いて0〜16777215までの値をインクリメントするカウンタの2つの乱数カウンタを備えている。
また、CPU310のデータバスには、副制御部400にコマンドを送信するための出力インタフェース371が接続されている。
<副制御部>
次に、図3を用いて、スロットマシン100の副制御部400について説明する。副制御部400は、主制御部300より送信された制御コマンド等に基づいて副制御部400の全体を制御する演算処理装置であるCPU410や、CPU410が各IC、各回路と信号の送受信を行うためのデータバス及びアドレスバスを備え、以下に述べる構成を有する。
クロック補正回路414は、水晶発振器411から発振されたクロックを補正し、補正後のクロックをシステムクロックとしてCPU410に供給する回路である。
また、CPU410にはタイマ回路415がバスを介して接続されている。CPU410は、所定のタイミングでデータバスを介してROM412の所定エリアに格納された分周用のデータをタイマ回路415に送信する。タイマ回路415は、受信した分周用のデータを基に割り込み時間を決定し、この割り込み時間ごとに、割り込み要求をCPU410に送信する。CPU410は、この割込み要求のタイミングをもとに、各ICや各回路を制御する。
また、CPU410には、副制御部400の全体を制御するための命令及びデータ、バックライトの点灯パターンや各種表示器を制御するためのデータが記憶されたROM412や、データ等を一時的に保存するためのRAM413が各バスを介して接続されている。
また、CPU410には、外部の信号を送受信するための入出力インタフェース460が接続されており、入出力インタフェース460には、各リール110乃至112の図柄を背面より照明するためのバックライト420、前面扉102の開閉を検出するための扉センサ421、RAM413のデータをクリアにするためのリセットスイッチ422が接続されている。
CPU410には、データバスを介して主制御部300から制御コマンドを受信するための入力インタフェース461が接続されており、CPU410は、入力インタフェース461を介して受信したコマンドに基づいて、遊技全体を盛り上げる演出処理等を実行する。
また、CPU410のデータバスとアドレスバスには、音源IC480が接続されている。音源IC480は、CPU410からの命令に応じて音声の制御を行う。また、音源IC480には、音声データが記憶されたROM481が接続されており、音源IC480は、ROM481から取得した音声データをアンプ482で増幅させてスピーカ483から出力する。
CPU410には、主制御部300と同様に、外部ICを選択するためのアドレスデコード回路450が接続されており、アドレスデコード回路450には、主制御部300からのコマンドを受信するための入力インタフェース461、後述する出力インタフェース470、時計IC422、7セグメント表示器440への信号を出力するための出力インタフェース472が接続されている。
CPU410は、時計IC422が接続されていることで、現在時刻を取得することが可能である。7セグメント表示器440は、スロットマシン100の内部に設けられており、例えば、副制御部400に設定された所定情報を店の係員等が確認できるようになっている。
更に、出力インタフェース470には、デマルチプレクサ419が接続されている。デマルチプレクサ419は、出力インタフェース470から送信された信号を各表示部等に分配する。即ち、デマルチプレクサ419は、CPU410から受信されたデータに応じて演出ランプ430(上部ランプ、サイドランプ144、中央ランプ、腰部ランプ、下部ランプ、リールパネルランプ123、タイトルパネルランプ、受け皿ランプ、払出口ストロボなど)を制御する。なお、タイトルパネルランプは、タイトルパネル162を照明するランプであり、払出口ストロボは、メダル払出口142の内側に設置されたストロボタイプのランプである。
また、CPU410は、表示制御部500への信号送信は、デマルチプレクサ419を介して実施する。逆に、CPU410は、図示しない入力インタフェースを介して表示制御部500からの信号を受信する。すなわち、CPU410は、デマルチプレクサ419と入力インタフェースを介して表示制御部500へ情報の送信を行う。
<表示制御部>
次に、図4を用いて、スロットマシン100の表示制御部500について説明する。表示制御部500は、演算処理装置であるCPU510や、各IC、各回路と信号の送受信を行うためのデータバス及びアドレスバスを備え、以下に述べる構成を有する。
CPU510は、水晶発振器511から発振されたクロックをシステムクロックとして受け入れて動作する。このCPU510は、副制御部400のSubCPU410からの信号(制御コマンド)をデータバスを介して受信し、表示制御部500全体を制御する。
また、CPU510には、バスを介して、ROM512、RAM513、VDP(ビデオ・ディスプレイ・プロセッサー)600が接続されている。ROM512には、表示制御部500全体を制御するための制御プログラムデータや演出用のデータが記憶されている。RAM513は、CPU510で処理されるプログラムのワークエリア等を有する。VDP600には、水晶発信器511が接続され、さらに、バスを介して、CG−ROM515、VRAM516が接続されている。詳細は後述するが、VDP600は、CPU510からの信号をもとに、ROM512やCG−ROM515に記憶された画像データを読み出し、VRAM516のワークエリアを使用して画像信号を生成し、液晶表示装置700の表示画面に画像を表示する。なお、液晶表示装置700には、CPU510によって液晶表示装置700の表示画面の輝度調整を可能とするため輝度調整信号が入力されている。
また、CPU510には、アドレスデコーダ540、データラッチ520およびモータドライバ(左扉)521を介して、モータ(左扉)522が接続されていると共に、アドレスデコーダ540、データラッチ530およびモータドライバ(右扉)531を介して、モータ(右扉)532が接続されている。モータ(左扉)522は、左扉164b(図1参照)を水平方向に移動させるためのモータであり、モータ(右扉)532は、右扉164a(図1参照)を水平方向に移動させるためのモータであり、本実施形態では各々にパルスモータを適用している。モータドライバ(左扉)521は、CPU510からの信号をもとに、モータ(左扉)522を駆動するICであり、モータドライバ531は、CPU510からの信号をもとに、モータ(右扉)532を駆動するICである。
また、CPU510には、4つのシャッタセンサ550〜553(左扉1、左扉2、右扉1、右扉2)が接続されている。シャッタセンサ(左扉1)およびシャッタセンサ(左扉2)は、左扉164bの開閉状態を検出するためのセンサであり、シャッタセンサ(右扉1)、シャッタセンサ(右扉2)は、右扉164aの開閉状態を検出するためのセンサである。
図5はCPU510の内部構成を詳細に示したブロックである。CPU510は、CPU510全体を制御する中央演算処理装置CPUを備えており、このCPUには、複数のバスを介して、キャッシュメモリCCN、割込みコントローラINTCなどの複数の機能ブロックが接続されている。以下、この複数種類の機能ブロックのうち、ウォッチドッグタイマWDTと、タイマユニットTMUについて説明する。
ウォッチドッグタイマWDTは、16ビットのウォッチドッグタイマカウンタを備えており、このウォッチドッグタイマカウンタによるカウント値が予め設定されたウォッチドッグタイマ設定値を超えた場合に、WDT割込み要求信号を発生するように構成されている。タイマーユニットTMUは、16ビットのハードウェアタイマを複数チャンネル備えており、所定時間の計測が可能であると共に、割込み機能を有効にすることで、ハードウェアタイマによるカウント値が予め設定されたタイマ設定値を超えた場合に、タイマ割込み要求信号を発生するように構成されている。
<VDP>
図6は表示制御部500を構成する表示制御基板のブロック図であり、VDP600の内部構成を詳細に示した図である。VDP600は、CPUI/F602と、CGバスI/F604と、CPUI/F602を介して受信した命令を一時的に記憶するためのアトリビュートレジスタ606と、を備えている。なお、CPUI/F602は、バスB2に接続されたCPU510、ROM512、RAM513とデータの送受信を行うためのI/Fであり、CGバスI/F604は、バスB3に接続されたCG−ROM515とデータの送受信を行うためのI/Fである。
また、これらのCPUI/F602、CGバスI/F604、アトリビュートレジスタ606は、バスB4を介して描画制御部608、データ転送制御部610、表示制御部612に接続されている。描画制御部608は、アトリビュートレジスタ606に記憶された命令に従って、CG−ROM515から画像データを読み出して、所定の画像を生成した後、生成した画像をVRAMI/F614を介してVRAM516の所定領域に記憶する。データ転送制御部610は、アトリビュートレジスタ606とVRAM516の間の画像データの転送を制御する。表示制御部612は、描画制御部608が生成した画像を受信してDAC616に送信すると共に、液晶表示装置700にDAC616からの画像信号を所定のタイミングでサンプリングさせるための同期信号を出力する。DAC616は、表示制御部612から入力されたデジタル信号である画像データをアナログ信号のR(赤)信号、G(緑)信号、B(青)信号に変換して液晶表示装置700に出力する。
<ROM、CG−ROM>
図7はROM512とCG−ROM515に予め記憶するデータを模式的に示した図である。
本実施形態のROM512には、CPU510によって順次読み出されて実行される制御プログラムデータを記憶するプログラム領域PAの他に、キャラクタ用の情報を記憶するキャラクタ用情報格納領域CAと、検査画像用の情報を記憶する検査画像用情報格納領域TAが設けられている。キャラクタ用情報格納領域CAには、液晶表示装置700にキャラクタを表示するために必要な情報(アトリビュートデータ)、例えば、描画順序、色数、拡大・縮小率、パレット番号、座標などが記憶される。
また、検査画像用情報格納領域TAには、液晶表示装置700に検査画像を表示するために必要な情報が記憶されており、本実施形態では、複数の検査画像データと、複数の検査画像データ情報と、1つの検査画像パレットデータが記憶される。このような構成により、例えば、スロットマシン100を設置店舗に出荷する前の工場組み立て時において液晶表示装置700に検査画像を表示させることによって、液晶表示装置700が正常に色表示していることを確認することができる。
図8(a)は検査画像データの種別と、検査画像データの概要を示した図であり、同図(b)〜(e)は各検査画像を模式的に示した図である。本実施形態の検査画像データには検査画像データA〜Fの8種類が存在する。検査画像データA〜Cは、同図(b)に示すように、液晶表示装置700の表示画面全体を3原色のいずれかの色(R(赤)色、G(緑)色、B(青)色)で塗り潰す画像データである。検査画像データDは、同図(c)に示すように、黒色で塗り潰された長方形の周りに白色の外縁を形成した画像データである。検査画像データEは、同図(d)に示すように、異なる色からなる縦格子を複数本形成した画像データであり、検査画像データFは、同図(e)に示すように、異なる色からなる横格子を複数本形成した画像データである。なお、検査画像データはこれらに限定されるものではなく、液晶表示装置700の検査をより正確に行うためには、より多くの色が表示できるように構成することが好ましい。
また、図9は検査画像データAの一例を示した図である。同図に示すように、検査画像データAは、800ドット(画素)の列データ×480ドットの行データ=384000ドット分のデータを有しており、各々のドットに8ビット(0〜255)の検査画像カラーパレットデータのパレット番号が記憶されている(いわゆるカラーパレット方式で色情報が記憶されている)。本実施形態の検査画像データAは全面赤色の画像であるから、384000ドット全てにパレット番号として0番(赤色)が記憶されている。なお、本実施形態では、各々のドットに対応して8ビットのパレット番号を記憶する例を示したが、本発明はこれに限定されるものではなく、例えば、検査画像データAの情報として、全てのドットにパレット番号の0番(赤色)が記憶されていることを示す情報を記憶してもよく、また、ランレングス法など、従来公知の画像圧縮方法を用いて検査画像データを記憶してもよい。
図7に戻って、検査画像データ情報には、液晶表示装置700に検査画像を表示するために必要な情報、例えば、検査画像のサイズ、VRAMアドレス、パレット番号、座標などが記憶される。また、検査画像カラーパレットデータは、上記図9に示すように、0〜255のパレット番号と、色情報を対応付けて記憶したデータである。
本実施形態のCG−ROM515には、キャラクタ画像カラーパレットデータと、キャラクタ画像データが記憶されている。キャラクタ画像カラーパレットデータの構成は、上述の検査画像カラーパレットデータと概ね同一であるが、検査画像カラーパレットデータが1種類の256色のパレットデータで構成されているのに対して、キャラクタ画像カラーパレットデータは、複数種類のキャラクタ画像に合わせて複数種類のパレットデータで構成されている上に、256色のパレットデータの他に、16色と64色のパレットデータを備えている。また、キャラクタ画像データの構成は、上述の検査画像データと概ね同一であるが、256色のパレットデータを用いたキャラクタ画像データは、各々のドットに対応して8ビットのパレット番号が記憶されており、64色のパレットデータを用いたキャラクタ画像データは、各々のドットに対応して6ビットのパレット番号が記憶されており、16色のパレットデータを用いたキャラクタ画像データは、各々のドットに対応して4ビットのパレット番号が記憶されている。なお、キャラクタ画像データの記憶方法もこれに限定されるものではなく、例えば、ランレングス法など、従来公知の画像圧縮方法を適用することができる。
<VRAM>
図10(a)はVRAM516の内部構成を模式的に示した図である。本実施形態に係るVRAM516には、上述の検査画像カラーパレットデータやキャラクタ画像カラーパレットデータが格納されるパレット領域と、液晶表示装置700に表示する画像を格納する表示領域A、表示領域Bと、キャラクタ画像データを一時的に格納するCGデータ領域と、が設けられている。なお、本実施形態では、VRAM516は2個の128MビットSDRAMで構成している。
パレット領域は、使用するパレットデータの色数に合わせて、16色、64色、256色のパレットデータを格納することができる共通領域Aと、64色、256色のパレットデータを格納することができる共通領域Bと、256色のパレットデータのみを格納することができる専用領域Cに設定可能に構成されている。詳細は後述するが、表示制御部500は、電源投入時に、CG−ROM515に記憶されたキャラクタ画像カラーパレットデータをパレット領域に転送し、キャラクタ画像を液晶表示装置700に表示するための準備を行う。そして、検査画像を液晶表示装置700に表示する際には、図10(b)に示すように、パレット領域内のキャラクタ画像カラーパレットデータの一部に検査画像カラーパレットデータを上書きして、検査画像を液晶表示装置700に表示するための準備を行うように構成されている。なお、検査画像の表示を終えてキャラクタ画像の表示を行う場合には、CG−ROM515に記憶されたキャラクタ画像カラーパレットデータを再度、パレット領域に転送し、キャラクタ画像を液晶表示装置700に表示するための準備を行う。
<主制御部メイン処理>
次に、図11を用いて、主制御部300のメイン処理について説明する。なお、同図は、主制御部300のメイン処理の流れを示すフローチャートである。
スロットマシン100に電源が投入されると、まず、ステップS101において各種の初期化処理が実行され、その後、主制御部メイン処理のステップS102では、メダル投入に関する処理を行う。ここでは、メダルの投入の有無をチェックし、投入されたメダルの枚数に応じて入賞ライン表示ランプ120を点灯させる。なお、前回の遊技で再遊技に入賞した場合はメダルの投入が不要である。また、このステップS102では、遊技のスタート操作に関する処理を行う。ここでは、スタートレバー135が操作されたか否かのチェックを行い、スタート操作されたと判断した場合は、投入されたメダル枚数を確定する。
ステップS103では、有効な入賞ライン114を確定する。
ステップS104では、乱数発生器317で発生させた乱数を取得する。
ステップS105では、ステップS104で取得した乱数値と、ROM312に格納されている入賞役抽選テーブルを用いて、入賞役の内部抽選を行う。内部抽選の結果、いずれかの入賞役に内部当選した場合、その入賞役のフラグが内部的にONになる。なお、ステップS104で取得した乱数値は、入賞役内部抽選のほかにも、リール停止制御テーブルを選択するときの抽選等にも使用してもよい。
ステップS106では、ステップS105の内部抽選結果等に基づき、停止位置データ選択テーブルを参照し、いずれか一つのリール停止制御テーブルを選択する。
ステップS107では、リール回転開始処理により、全リール110〜112の回転を開始させる。
ステップS108では、リール停止制御処理により、押されたストップボタン137〜139に対応するリール110〜112の回転を停止させる。この際、各リール110〜112を、ステップS106で選択したリール停止制御テーブルに基づいて停止させる。
ステップS109では、ストップボタン137〜139が押されることによって停止した図柄の入賞判定を行う。ここでは、有効化された入賞ライン上に、内部当選した入賞役またはフラグ持越し中の入賞役に対応する入賞図柄組合せが揃った(表示された)場合にその入賞役に入賞したと判定する。例えば、有効化された入賞ライン上に、「リプレイ−リプレイ−リプレイ」が揃っていたならばリプレイ入賞と判定する。また、入賞した入賞役に対応するフラグがリセットされる。
ステップS110では、メダル払出処理を行う。このメダル払出処理では、払い出しのある何らかの入賞役に入賞していれば、その入賞役に対応する枚数のメダルを払い出す。
ステップS111では、遊技状態制御処理を行う。この遊技状態制御処理では、遊技状態を移行するための制御が行われ、例えば、BB入賞の場合に次回からBB遊技を開始できるよう準備し、それらの最終遊技では、次回から通常遊技が開始できるよう準備する。
以上により1遊技が終了し、以降、主制御部メイン処理を繰り返すことにより遊技が進行することになる。なお、図示は省略するが、主制御部300は、このメイン処理に加えて、タイマ割込みに基づいて定期的にタイマ割込み処理を実行し、このタイマ割込み処理において副制御部400に対してコマンドを送信するように構成されている。
なお、副制御部400は、主制御部300から入力されるストローブ信号の変化を検出した場合に、主制御部300から受信したコマンドを未処理コマンドとしてRAM413の所定記憶領域に記憶する。そして、未処理のコマンドがある場合には、主制御部300から受信したコマンドに応じて、各種の処理を行う。
<表示制御部メイン処理>
次に、図12(a)を用いて、表示制御部500のメイン処理について説明する。なお、同図は、表示制御部500のメイン処理の流れを示すフローチャートである。
ステップS201では、初期処理を行う。詳細は後述するが、この初期処理では、CG−ROM515に記憶したキャラクタ画像カラーパレットデータやキャラクタ画像データをVRAM516に転送する処理などを行う。
ステップS202では、コマンド入力処理を行う。詳細は後述するが、このコマンド入力処理では、副制御部400から入力したコマンドに基づいて各種の処理を行う。以降、表示制御部500はステップS202の処理を繰り返し実行する。本実施形態では(図示しないが)、表示制御部500は、VDP600が定期的に(この例では約16.66msに1回)出力するVブランク信号(垂直同期信号)に基づいて、このVブランク信号を2回受取った場合に表示制御部メイン処理を実行するように設定されている。よって16.66ms×2=約33msごとに表示制御部メイン処理を実行する。これにより1秒間に30フレーム(約33ms×30=1秒)を描画可能に設定されている。
<表示制御部のストローブ処理>
次に、図12(b)を用いて、表示制御部500のストローブ処理について説明する。なお、同図は、表示制御部500のストローブ処理の流れを示すフローチャートである。
表示制御部500は、副制御部400から入力されるストローブ信号の変化を検出した場合に、このストローブ処理を行う。ストローブ処理のステップS301では、副制御部400から受信したコマンドを、未処理コマンドとしてRAM513の所定記憶領域に記憶した後、処理を終了する。
<表示制御部のタイマ割込処理>
次に、図12(c)を用いて、表示制御部500のタイマ割込処理について説明する。なお、同図は、表示制御部500のタイマ割込処理の流れを示すフローチャートである。
表示制御部500は、CPU510のタイマユニットTMUが出力するタイマ割込み要求信号に基づいて、このタイマ割込処理を定期的に実行する。タイマ割込処理のステップS401では、遊技状態などに応じて演出データを更新する。
<初期処理>
次に、図12(d)を用いて、上述の表示制御部メイン処理における初期処理(ステップS201)について説明する。なお、同図は、初期処理の流れを示すフローチャートである。
ステップS501では、CG−ROM515に記憶されたキャラクタ画像カラーパレットデータやキャラクタ画像データをVRAM516に転送すべく、VDP600に対してVRAM転送要求を行う。なお、ここでは、キャラクタ画像カラーパレットデータと、キャラクタ画像データの中で頻繁に使用されるキャラクタ画像データ(例えば、通常遊技中の背景画像など)の転送要求を行う(画像パレットデータや画像データの転送方法については後述する)。ステップS502では、変数の初期化など、その他の初期処理を行った後、処理を終了する。
<コマンド入力処理>
次に、図12(e)を用いて、上述の表示制御部メイン処理におけるコマンド入力処理(ステップS202)について説明する。なお、同図は、コマンド入力処理の流れを示すフローチャートである。
ステップS601では、副制御部400から受信したコマンドの中に未処理のコマンドがあるか否かを判定する。そして、未処理のコマンドがある場合にはステップS602に進み、未処理のコマンドが無い場合には処理を終了する。
ステップS602では、未処理のコマンドが検査用コマンドであるか否かを判定する。そして、未処理のコマンドが検査用コマンドである場合にはステップS604に進んで検査画像表示処理(詳細は後述)を行い、そうでない場合にはステップS603に進んで演出画像表示処理(詳細は後述)を行う。なお、(図示しないが)演出画像表示処理を行う際に扉(シャッタ)部材164を動作させる場合には、ここでモータドライバ521、531にデータを出力する。また、本実施形態では、検査画像の表示を制御するための情報(例えば、検査画像の表示順序など)は、検査時にのみ使用される主制御基板(主制御基板300とは異なる基板)が有しており(図6に記載した主制御基板は、検査時にのみ使用される主制御基板であり、遊技台が遊技店に設置された場合には使用されることのない検査にかかわる情報を有している)、この検査時にのみ使用される主制御基板から副制御部400に対して検査画像に関するコマンドが送信された場合に、副制御部400が表示制御部500に対して検査用コマンドを送信するように構成されている。また、検査時にのみ使用される主制御基板は、対応する操作の受付に基づいて検査画像に関するコマンドを送信可能な構成を備えており、検査時のみ使用されることから、検査画像に関するコマンドの送信契機等は任意に設定が可能である。但し、主制御部300が副制御部400に対して検査画像に関するコマンドを送信する構成を備えるようにしてもよい。この場合、例えば、電源が投入された場合に実行される初期化処理において、複数回の検査画像に関するコマンドを副制御部400に対して送信するようにする。
<演出画像表示処理>
次に、図13を用いて、上述のコマンド入力処理における演出画像表示処理(ステップS603)について説明する。なお、同図は、演出画像表示処理の流れを示すフローチャートと、演出画像表示処理に伴ってCPU510とVDP600の間で送受信される情報を示した図である。
ステップS701では、キャラクタ画像データの転送指示を行う。ここでは、CPU510は、VDP600のアトリビュートレジスタ606に、CG−ROM515の転送元アドレス、VRAM516の転送先アドレスなどを設定した後、CG−ROM515からVRAM516へのキャラクタ画像データの転送開始を指示する命令を設定する。VDP600は、アトリビュートレジスタ606に設定された命令に基づいてキャラクタ画像データをCG−ROM515からVRAM516に転送した後、転送終了割込信号をCPU510に対して出力する。
ステップS702では、VDP600からの転送終了割込信号が入力されたか否かを判断し、転送終了割込信号が入力された場合にはステップS703に進み、そうでない場合には転送終了割込信号が入力されるのを待つ。
ステップS703では、アトリビュート指示を行う。このアトリビュート指示では、CPU510は、ステップ701でVRAM516に転送したキャラクタ画像データに基づいてVRAM516の表示領域AまたはBに表示画像を形成するために、表示画像を構成するキャラクタ画像データの情報(例えば、VRAM516の座標軸、画像サイズ、格納先アドレスなど)をVDP600に指示する。VDP600はアトリビュートレジスタ606に格納された命令に基づいてアトリビュートに従った設定を行う。
ステップS704では、画像生成指示を行う。この画像生成指示では、CPU510は、VDP600に画像の生成開始を指示する。VDP600は、CPU510の指示に従って画像生成を開始する。
ステップS705では、VDP600からの生成終了割込信号が入力されたか否かを判断し、生成終了割込信号が入力された場合には処理を終了し、そうでない場合には生成終了割込信号が入力されるのを待つ。(図示はしないが)その後、VDP600から垂直同期信号が送信され、これにより次のフレーム期間が開始される。
<検査画像表示処理>
次に、図14を用いて、上述のコマンド入力処理における検査画像表示処理(ステップS604)について説明する。なお、同図は、検査画像表示処理の流れを示すフローチャートと、検査画像表示処理に伴ってCPU510とVDP600の間で送受信される情報を示した図である。
ステップS801では、検査画像カラーパレットデータの送信・転送指示を行う。ここでは、CPU510は、VDP600のアトリビュートレジスタ606に、ROM512の検査画像用情報格納領域TAに記憶された検査画像カラーパレットデータを送信すると共に、検査画像カラーパレットデータをVRAM516のパレット領域に転送するための命令を設定する。VDP600は、アトリビュートレジスタ606に格納された命令に基づいて検査画像カラーパレットデータをVRAM516に転送した後、転送終了割込信号をCPU510に対して出力する。
ステップS802では、VDP600からの転送終了割込信号が入力されたか否かを判断し、転送終了割込信号が入力された場合にはステップS803に進み、そうでない場合には転送終了割込信号が入力されるのを待つ。
ステップS803では、検査画像データ送信準備処理を行う(詳細は後述する)。
ステップS804では、検査画像データ送信・転送指示を行う。ここでは、CPU510は、ROM512の検査画像用情報格納領域TAに記憶されたデータに基づいて検査画像を形成するために、検査画像を構成する検査画像データと、検査画像データの情報(例えば、VRAM516の座標軸、画像サイズ、格納先アドレスなど)をVDP600に指示する。VDP600は、アトリビュートレジスタ606に格納された命令に基づいて検査画像データをVRAM516に転送するとともに、アトリビュートに従った設定を行う。
ステップS805では、VDP600からの転送終了割込信号が入力されたか否かを判断し、転送終了割込信号が入力された場合にはステップS806に進み、そうでない場合には転送終了割込信号が入力されるのを待つ。
ステップS806では、送信が完了していないライン(詳細は後述)があるか否かを判定し、未送信のラインがある場合にはステップS803に戻り、未送信のラインが無い場合にはステップS807に進む。
ステップS807では、画像生成指示を行う。この画像生成指示では、CPU510は、VDP600に画像の生成開始を指示する。VDP600は、CPU510の指示に従って画像生成を開始する。
ステップS808では、VDP600からの生成終了割込信号が入力されたか否かを判断し、生成終了割込信号が入力された場合には処理を終了し、そうでない場合には生成終了割込信号が入力されるのを待つ。(図示はしないが)その後、VDP600から垂直同期信号が送信され、これにより次のフレーム期間が開始される。
<検査画像データ送信準備処理>
次に、図15を用いて、上述の検査画像表示処理における検査画像データ送信準備処理(ステップS803)について説明する。なお、同図は、検査画像データの送信準備処理の流れを示すフローチャートである。
ステップS901では、所定の閾値に基づいて、VDP600のアトリビュートレジスタ606に転送する検査画像データのライン数(送信ラインデータ)を算出する。一般的にアトリビュートレジスタ606は、CPU510から指示データを受取ることを想定して記憶容量が設定されているが、本実施形態では、ROM512に記憶された画像データの転送に使用することとしたため、1回の転送処理では送信を予定するデータの全てを送信することが困難となる。よって、1回に送信可能なデータ量を算出し、算出されたデータ量に基づいて複数回の転送処理を実行することが必要となる。つまり、所定の閾値としてアトリビュートレジスタ606の最大記憶容量を用いた。本実施形態に係るVDP600のアトリビュートレジスタ606の最大記憶容量は32Kバイトであるため、ここでは、32Kバイトのアトリビュートレジスタ606に格納することが可能な最大ライン数を算出する。具体的には、検査画像データは、上述の通り、800ドット(列データ)×480ドット(行データ)によって構成され、1ドットには8ビットのパレット番号が記憶されているから、800ドットのデータを1ライン(1行データ)と呼ぶことにすると、1ライン(1行データ)のデータ長は800ドット×1バイト(8ビット)=800バイトである。したがって、32Kバイトのアトリビュートレジスタ606に格納可能な最大ライン数は、32768(=32×1024)バイト÷800バイト=40.96・・・と算出することができ、40ライン(40行)となる。そのため、本実施形態では、480ラインのデータを、1〜40、41〜80、81〜120、・・・、401〜440、441〜480のように40ライン(行)毎に合計12回に分けて送信する。なお、本実施形態のVDP600のアトリビュートレジスタ606は、記憶容量をさらに32Kバイト分追加可能に構成されており、記憶容量を拡張すれば画像データの転送回数を少なくすることができる。
ステップS902では、ステップS901で算出したライン数に基づいて、検査画像データをアトリビュートレジスタ606に送信して検査画像データをVRAM516に転送する準備を行った後、処理を終了する。本実施例にある送信処理であれば、前回送信したライン数(行数)から次回送信するライン数(行数)を容易に算出することでき、送信に係わる処理の低減が可能となる。しかし、他の送信処理であってもよく、例えば、384000ドット(800ドット×480ドット)分の検査画像データを1ドット目〜384000ドット目まで順番に送信することとし、アトリビュートレジスタ606の最大記憶容量に対応する送信データ量を算出する。すると、この場合は上記した場合に比して検査画像データの送信回数を減らすことができる。
以上説明したように、本実施形態に係るスロットマシン100は、キャラクタ画像を表示する表示装置(本実施形態では液晶表示装置)700と、制御プログラムデータに基づいてキャラクタ画像の表示制御を行う表示制御部(本実施家形態では表示制御部500のCPU)510と、制御プログラムデータ、およびキャラクタ画像の表示制御に関するアトリビュートデータを少なくとも記憶する第1記憶部(本実施形態ではROM)512と、キャラクタ画像の画像データ、およびキャラクタ画像の色情報であるカラーパレットデータを少なくとも記憶する第2記憶部(本実施形態ではCG−ROM)515と、表示制御部510からの指令によって、第1記憶部512に記憶したアトリビュートデータ、第2記憶部515に記憶した画像データ、および第2記憶部515に記憶したカラーパレットデータに基づいてキャラクタ画像を生成し、表示装置700にキャラクタ画像を表示させる描画制御部(本実施形態ではVDP)600と、を備えた遊技台であって、第1記憶部512には、さらに、キャラクタ画像とは異なる特定画像(本実施形態では検査用画像)の特定画像データ(本実施形態では検査画像データ)と、特定画像の表示制御に関する特定画像アトリビュートデータ(本実施形態では検査画像データ情報)と、特定画像の色情報である特定画像カラーパレットデータ(本実施形態では検査画像カラーパレットデータ)と、が記憶され、第1記憶部512に記憶された制御プログラムデータには、特定画像の表示制御を行うための特定画像制御プログラムデータが含まれ、表示制御部510は、特定条件を満たした場合に、特定画像制御プログラムデータに基づいて特定画像の表示制御を開始し、描画制御部600は、表示制御部510からの指令によって、第1記憶部512に記憶した特定画像アトリビュートデータ、特定画像データ、および特定画像カラーパレットデータに基づいて特定画像を生成し、表示装置700に特定画像を表示させることを特徴とする、遊技台である。
本実施形態に係るスロットマシン100によれば、特定画像に関する画像情報を、制御プログラムデータが記憶される第1記憶部の空き領域に記憶することができ、特定画像に関する画像情報を記憶するための特別な記憶手段が不要な上に、第2記憶部に記憶する画像データやカラーパレットデータのデータ量を従来の遊技台よりも増やすことができる。そのため、部品点数の増加やコストアップを回避しつつ、画像情報を記憶するための記憶領域を十分に確保することができる。
また、表示制御部510は、特定の表示情報(本実施形態では、検査用コマンド)を受信した場合に、特定画像制御プログラムデータに基づいて特定画像の表示制御を開始するように構成すれば、特定画像の表示が必要な場合のみ特定画像の表示制御を行うことができ、特定画像の表示が必要でない場合の制御負担を軽減することができる。
また、第1記憶部512には、特定画像データが複数種類記憶され、表示制御部510は、受信した特定の表示情報に複数種類の特定画像データに対応する特定画像の情報(例えば、上記図8の検査用画像の種別A〜F)が含まれている場合に、特定画像制御プログラムデータに基づいて特定画像の表示制御を開始するように構成すれば、特定画像の表示が必要な場合のみ特定画像の表示制御を行うことができ、特定画像の表示が必要でない場合の制御負担を軽減することができる上に、特定画像データを用途に合わせて複数用意することができる。
また、表示制御部510は、特定画像データを、所定のデータ長(本実施形態では、800バイト)に分割し、所定のデータ長毎に複数回に分けて描画制御部600が備える第3記憶部(本実施形態では、アトリビュートレジスタ)606に転送し、描画制御部600は、第3記憶部606に特定画像データが転送されるたびに特定画像データを描画データ記憶部(本実施形態では、VRAM516)に転送すれば、特定画像データの情報量が第3記憶部の最大記憶容量よりも大きい場合でも、特定画像データを効率的に転送することができる。
また、所定のデータ長は、第3記憶部の最大記憶容量(本実施形態では、32Kバイト)の約数であれば、転送処理を簡素化することができると共に、第3記憶部の記憶領域を最大限に利用してデータ転送を行うことができ、データの転送効率を向上させることができる。
また、特定画像データは、複数の列データと、複数の行データで構成されるデータであり、所定のデータ長は、行データのデータ長(本実施形態では、1ライン=800バイト)と同一であれば、特定画像データを行データ単位で転送することができ、転送処理を簡素化することができると共に、転送効率を向上することができる。
また、特定画像データは、複数の画素データで構成され、画素データには、特定画像カラーパレットデータに記憶されるカラーデータの管理番号が記憶されていれば(特定画像データがいわゆるカラーパレット方式で記憶されていれば)、他の画像データ記憶方式に比べてデータ量の大きい画像情報を、制御プログラムデータが記憶される第1記憶部の空き領域に記憶することができ、第2記憶部に記憶する画像データやカラーパレットデータのデータ量を従来よりも増やすことができる。
また、特定画像が、表示装置の表示状態を検査するための検査用画像であれば、通常の遊技では使用されない使用頻度の低い検査用画像に関する画像情報を、制御プログラムデータが記憶される第1記憶部の空き領域に記憶することができ、通常の遊技で使用され、検査用画像よりも使用頻度の高い画像データやカラーパレットデータのデータ量を従来よりも増やすことができる。
なお、本発明は、複数種類の図柄が施された複数のリール110〜112と、リールの回転を指示するための回転指示手段(スタートレバー135)と、各々のリールに対応して設けられ、リールの回転を個別に停止させるための停止指示手段(ストップボタン137〜139)と、抽選処理手段の抽選結果に基づいてリールの回転の停止に関する停止制御を行うリール停止制御手段(リール停止制御)と、予め定めた役の内部当選の当否を抽選により判定する抽選処理手段(入賞役内部抽選)と、抽選処理手段の抽選結果に基づいてリール110〜112の予め設定された有効ライン上において所定の図柄組合せが停止表示され、図柄表示窓上における停止時のリールに表示される図柄組合せが内部当選した役に対応して予め定めた図柄組合せであるか否かの判定をする判定手段(入賞判定)と、を備えたスロットマシンに好適であるが、本発明はこれに限定されるものではなく、例えば、遊技球(例えば、パチンコ玉)を遊技媒体としたパチンコ遊技機などにも適用可能である。
ここで、本発明が適用されるパチンコ遊技機としては、リール(回転体)などの可動体を有し所定の図柄(識別情報)を変動表示する可変表示装置を備え、始動口に遊技球が入って入賞することを契機として、可変表示装置で図柄を変動させた後に図柄を停止表示し、遊技状態の推移を告知するようなパチンコ遊技機が一例として挙げられる。このようなパチンコ遊技機では、遊技球が始動口に入球すると、抽選を行い、この抽選結果が当りであるか否かを判定する。そして、この抽選で大当たりに当選すると、可変表示装置により、特定の図柄による組合せ(大当たり図柄;例えば、777など)を表示し、大当たり状態に移行する。大当たり状態では、大入賞口を、例えば、所定の時間または所定の回数、開放させ続けるので、遊技球は入球しやすい状態となり、遊技者にとって有利な状態が実現されるようになっている。また、特定の図柄による組合せ(大当たり図柄)が、確率変動を伴う大当たり図柄(確変図柄)である場合には、次に大当たりとなる確率を高く設定するため、遊技者にとってさらに有利な状態が実現される。
また、上記実施例に記載された作用及び効果は、本発明から生じる最も好適な作用及び効果を列挙したに過ぎず、本発明による作用及び効果は、上記実施例に記載されたものに限定されるものではない。