(57)【要約】【課題】遊技制御処理を行うための制御領域の容量を確保する。【解決手段】遊技機は、遊技の進行に用いられる所定の基板において、ＣＰＵと、ＣＰＵに用いられるプログラムが格納されたＲＯＭと、プログラムにより更新される変数を保持するＲＡＭと、を備え、ＣＰＵは、ＲＯＭからプログラムを読み出し、ＲＡＭの所定のアドレスに格納された変数をＣＰＵの所定のレジスタに読み出すコマンドを、アドレスをオフセットさせながら繰り返し実行し、ＲＡＭでは、コマンドで参照される複数の変数同士のアドレス距離が、オフセットされるアドレス距離より近くなるように配置される。【選択図】図１５
2020103697.tif 000002
【特許請求の範囲】
【請求項１】
遊技の進行に用いられる所定の基板において、ＣＰＵと、前記ＣＰＵに用いられるプログラムが格納されたＲＯＭと、前記プログラムにより更新される変数を保持するＲＡＭと、を備える遊技機であって、
前記ＣＰＵは、
前記ＲＯＭから前記プログラムを読み出し、
前記ＲＡＭの所定のアドレスに格納された変数を前記ＣＰＵの所定のレジスタに読み出すコマンド、もしくは、前記ＲＡＭの所定のアドレスに格納された変数を前記ＣＰＵの所定のレジスタの値に更新するコマンドを、前記アドレスをオフセットさせながら繰り返し実行し、
前記ＲＡＭでは、前記コマンドで参照される複数の変数同士のアドレス距離が、前記オフセットされるアドレス距離より短くなるように配置される遊技機。
【請求項２】
前記コマンドはサブルーチンに含まれ、
前記ＣＰＵは、前記アドレスをオフセットさせながら、前記サブルーチンを繰り返し呼び出す請求項１に記載の遊技機。
【請求項３】
遊技の進行に用いられる所定の基板において、ＣＰＵと、前記ＣＰＵに用いられるプログラムが格納されたＲＯＭと、前記プログラムにより更新される変数を保持するＲＡＭと、を備える遊技機であって、
前記ＣＰＵは、
前記ＲＯＭから前記プログラムを読み出し、
前記ＲＡＭの所定のアドレスに格納された変数を前記ＣＰＵの所定のレジスタに読み出すコマンド、もしくは、前記ＲＡＭの所定のアドレスに格納された変数を前記ＣＰＵの所定のレジスタの値に更新するコマンドを、前記アドレスをオフセットさせながら繰り返し実行し、
前記ＲＡＭでは、前記コマンドで参照される複数の変数同士のアドレス距離を所定距離範囲内とする遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、遊技者に遊技上の利益を付与するか否かを抽選により決定する遊技機に関する。
【背景技術】
【０００２】
遊技機としてのスロットマシンでは、遊技者によるメダル（遊技媒体）のベットおよびスタートスイッチの操作に応じて、当選役の抽選を行うとともに、種々の図柄が記された複数のリールが回転する。そして、抽選結果と遊技者によるストップスイッチの操作に応じてリールが順次停止され、払い出しの対象となるライン上である有効ライン上に、当選役に対応する図柄組み合わせが表示されると、所定枚数のメダルが払い出されるなど、遊技上の利益（以下、単に遊技利益という）が遊技者に付与されることとなる。
【０００３】
このようなスロットマシンでは、遊技性を高めるため、有限なメモリの記憶領域を有効利用することが望まれる。例えば、同一の滑り数データを複数の図柄位置に対応付けることで、リールの停止制御を実行する際のデータ容量を削減する技術が知られている（例えば、特許文献１）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００６−２３９０１０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
スロットマシンでは、遊技の進行を制御する遊技制御処理に係るプログラムを、主制御基板のＲＯＭにおける使用領域（制御領域４．５ｋｂｙｔｅ＋データ領域３．０ｋｂｙｔｅ）に配置しなければならない。しかし、遊技利益が大きい当選役（選択当選役）を含む当選種別に当選したときに、その選択当選役の入賞条件となるストップスイッチの操作態様が報知されることで、当該選択当選役に対応する図柄組み合わせを、遊技者が有効ライン上に容易に表示させることができる、所謂、ＡＴ（アシストタイム）が実行されるＡＴ演出状態を主制御基板において管理する場合や、リールユニットを多彩な態様で回転させる所謂リール演出を、主制御基板において管理する場合、その処理により、使用領域の特に制御領域が圧迫されるおそれがある。
【０００６】
本発明は、このような課題に鑑み、遊技制御処理を行うための制御領域の容量を確保することが可能な遊技機を提供することを目的としている。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、遊技の進行に用いられる所定の基板において、ＣＰＵと、前記ＣＰＵに用いられるプログラムが格納されたＲＯＭと、前記プログラムにより更新される変数を保持するＲＡＭと、を備える本発明の遊技機では、前記ＣＰＵは、前記ＲＯＭからプログラムを読み出し、前記ＲＡＭの所定のアドレスに格納された変数を前記ＣＰＵの所定のレジスタに読み出すコマンド、もしくは、前記ＲＡＭの所定のアドレスに格納された変数を前記ＣＰＵの所定のレジスタの値に更新するコマンドを、前記アドレスをオフセットさせながら繰り返し実行し、前記ＲＡＭでは、前記コマンドで参照される複数の変数同士のアドレス距離が、前記オフセットされるアドレス距離より短くなるように配置される。
【０００８】
前記コマンドはサブルーチンに含まれ、前記ＣＰＵは、前記アドレスをオフセットさせながら、前記サブルーチンを繰り返し呼び出すとしてもよい。
【０００９】
上記課題を解決するために、遊技の進行に用いられる所定の基板において、ＣＰＵと、前記ＣＰＵに用いられるプログラムが格納されたＲＯＭと、前記プログラムにより更新される変数を保持するＲＡＭと、を備える本発明の遊技機では、前記ＣＰＵは、前記ＲＯＭからプログラムを読み出し、前記ＲＡＭの所定のアドレスに格納された変数を前記ＣＰＵの所定のレジスタに読み出すコマンド、もしくは、前記ＲＡＭの所定のアドレスに格納された変数を前記ＣＰＵの所定のレジスタの値に更新するコマンドを、前記アドレスをオフセットさせながら繰り返し実行し、前記ＲＡＭでは、前記コマンドで参照される複数の変数同士のアドレス距離を所定距離範囲内とする。
【発明の効果】
【００１０】
本発明によれば、遊技制御処理を行うための制御領域の容量を確保することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】スロットマシンの概略的な機械的構成を説明するための外観図である。
【図２】スロットマシンの概略的な機械的構成を説明するための前面扉を開いた状態での外観図である。
【図３】リールの図柄配列および有効ラインを説明する図である。
【図４】スロットマシンの概略的な電気的構成を示したブロック図である。
【図５】当選役を説明するための説明図である。
【図６】遊技状態の遷移を説明するための説明図である。
【図７】当選役抽選テーブルを示す図である。
【図８】主制御基板のメイン処理を示したフローチャートである。
【図９】メインＲＯＭおよびメインＲＡＭのメモリマップを示す説明図である。
【図１０】リール制御手段の処理を説明するためのフローチャートである。
【図１１】リール制御手段の処理を説明するためのフローチャートである。
【図１２】図１０のフローチャートを実現するためのプログラムを説明するための説明図である。
【図１３】図１１のフローチャートを実現するためのプログラムを説明するための説明図である。
【図１４】ワークエリアにおける比較例としての変数の配置を説明するための説明図である。
【図１５】ワークエリアにおける本実施形態の変数の配置を説明するための説明図である。
【図１６】定常回転中処理全体を実現するためのプログラムを説明するための説明図である。
【図１７】定常回転中処理全体を実現するためのプログラムを説明するための説明図である。
【発明を実施するための形態】
【００１２】
以下に添付図面を参照しながら、本発明の好適な実施形態について詳細に説明する。かかる実施形態に示す寸法、材料、その他具体的な数値等は、発明の理解を容易とするための例示にすぎず、特に断る場合を除き、本発明を限定するものではない。なお、本明細書および図面において、実質的に同一の機能、構成を有する要素については、同一の符号を付することにより重複説明を省略し、また本発明に直接関係のない要素は図示を省略する。
【００１３】
本発明の実施形態の理解を容易にするため、まず、遊技者が遊技可能なスロットマシン（遊技機）の機械的構成および電気的構成を簡単に説明し、その後、スロットマシンの各基板における具体的な処理（役構成や遊技状態の遷移）および本実施形態で特徴的な処理を説明し、これらを実現するためのフローチャートを詳述する。
【００１４】
（スロットマシン１００の機械的構成）
図１および図２の外観図に示すように、スロットマシン１００は、略矩形状の箱体である筐体１０２と、筐体１０２の前面開口部に対して開閉可能に取り付けられた前面上扉１０４と、前面上扉１０４の下方に位置し、前面上扉１０４同様、筐体１０２の前面開口部に対して開閉可能に取り付けられた前面下扉１０６と、前面下扉１０６の下部に位置し、メダル排出口１０８ａから払い出されたメダルを貯留するための受け皿部１０８とを備えている。
【００１５】
前面下扉１０６の上部には操作部設置台１２２が形成され、操作部設置台１２２には、メダル投入部１２４、ベットスイッチ１２６、スタートスイッチ１２８、ストップスイッチ１３０等が配設されている。
【００１６】
操作部設置台１２２の右側に位置するメダル投入部１２４は、メダル投入口（投入口）１２４ａを通じて遊技媒体としてのメダルの投入を受け付け、前面下扉１０６の背面に設けられたメダルセレクタ（図示せず）にメダルを送る。メダルセレクタには、メダルの投入が可能な投入期間外に投入されたメダルや規格外のメダルをメダル排出口１０８ａに導くブロッカー（図示せず）と、投入期間内に投入された規格内のメダルの通過を検出する投入メダル検出部１２４ｂとが設けられている。ここで、メダル排出口１０８ａに導かれたメダルは受け皿部１０８に排出される。遊技者により、１遊技を開始するために必要なメダルのベット枚数である複数の規定枚数のうち、最大規定枚数（例えば３枚）を超えてメダルが投入されると、その最大規定枚数を超えた分のメダルが、所定の上限枚数（例えば５０枚）を上限としてスロットマシン１００の内部（メインＲＡＭ２００ｃ）に電気的に貯留（以下、単にクレジットという）される。
【００１７】
ベットスイッチ１２６は、クレジットされているメダルのうち最大規定枚数のメダルをベットする、押圧式のボタンスイッチである。最大規定枚数以上のメダルがクレジットされている状態で、ベットスイッチ１２６を押圧すると、最大規定枚数のメダルがベットされるとともに、貯留枚数が最大規定枚数分だけ減枚される。なお、最大規定枚数未満のメダルがクレジットされている状態で、ベットスイッチ１２６を押圧すると、貯留枚数のメダルの全てがベットされるとともに、貯留枚数が０枚に減枚される。
【００１８】
操作部設置台１２２の左側に位置するスタートスイッチ１２８は、傾倒操作を検出可能なレバーで構成され、遊技者による１遊技の開始操作を検出する。また、スタートスイッチ１２８は、押圧操作を検出可能なボタンスイッチによって構成することも可能である。
【００１９】
前面上扉１０４の下部略中央には、ガラス板や透明樹脂板等で構成された無色透明の図柄表示窓１３６が設けられ、筐体１０２内の図柄表示窓１３６に対応した位置には、リールユニット１３４が設けられている。リールユニット１３４には、図３（ａ）のリールの図柄配列に示すように、２０等分された各領域に複数種類の図柄がそれぞれ配列された４つのリール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄが、それぞれ独立して回動可能に設けられ、遊技者は、図柄表示窓１３６を通じて、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄを視認することができる。リールユニット１３４は、スタートスイッチ１２８の操作を契機として、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの回転を開始する。
【００２０】
操作部設置台１２２の中央に位置するストップスイッチ１３０は、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄそれぞれに対応して設けられた、遊技者の押圧操作を検出可能なボタンスイッチであり、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄそれぞれを停止させようとする遊技者の停止操作を検出する。なお、ストップスイッチ１３０に係る４つのボタンスイッチを、その位置に応じて左から順にストップスイッチ１３０ａ、１３０ｂ、１３０ｃ、１３０ｄとする。
【００２１】
このように、ストップスイッチ１３０ａ、１３０ｂ、１３０ｃ、１３０ｄを通じた停止操作により、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄがそれぞれ停止する。ここでは、その停止態様を遊技者が把握できるように、図３（ｂ）のように、有効ラインが設けられている。有効ラインは１本であり、具体的に、図柄表示窓１３６に臨む１２個の図柄（４リール×上中下の３段）のうち、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの中段に停止する図柄に対応する位置を結んだラインを当選役の入賞を判定するための有効ラインＡとして設定している。
【００２２】
前面上扉１０４の上部略中央には、演出に伴う様々な映像を表示する液晶表示部（画像表示部）１３８が設けられている。また、前面上扉１０４の上部や左右には、例えば高輝度の発光ダイオード（ＬＥＤ）によって構成される演出用ランプ１４２が設けられる。
【００２３】
また、図２に示すように、前面上扉１０４の裏面における液晶表示部１３８の左右位置や前面下扉１０６の裏面における内面左右位置には、効果音や楽音等による聴覚的な演出を行うスピーカ１４０が設けられている。さらに、筐体１０２内におけるリールユニット１３４の下方には、メダル排出口１０８ａからメダルを払い出すためのメダル払出装置（メダルホッパー）２６４が設けられている。メダル払出装置２６４は、メダルを貯留するメダル貯留部２６４ａと、メダル貯留部２６４ａに貯留されたメダルをメダル排出口１０８ａから排出するための払出制御部２６４ｂと、メダル排出口１０８ａから排出されるメダルを検出する払出メダル検出部２６４ｃとを備えている。
【００２４】
また、図１や図２では図示していないが、各リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの内側には、それぞれに施された図柄のうち、図柄表示窓１３６に対応する各リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの上段、中段、下段の図柄を背面から個々に独立して照射するリールバックライト１４４（図４参照）が設けられている。また、図柄表示窓１３６の裏面上部にもリール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄ全ての正面を直接照射するリール上方ライト１４６が設けられている。
【００２５】
また、図１に示すように、操作部設置台１２２において、図柄表示窓１３６とストップスイッチ１３０との間に設けられた段部１２２ａの略水平面には、メインクレジット表示部１５２およびメイン払出表示部１５４が設けられている。また、図柄表示窓１３６と操作部設置台１２２との間には、サブクレジット表示部１５６およびサブ払出表示部１５８が設けられている。これらメインクレジット表示部１５２およびサブクレジット表示部１５６には内部的に記憶された貯留枚数が表示され、メイン払出表示部１５４およびサブ払出表示部１５８にはメダルの払出枚数が表示される。なお、サブクレジット表示部１５６およびサブ払出表示部１５８には、演出に伴う様々な数値を表示することもできる。
【００２６】
また、筐体１０２内の任意の位置には、電源スイッチ１４８が設けられている。電源スイッチ１４８は、ロッカースイッチ等、押圧操作を検出可能なスイッチで構成され、当該スロットマシン１００を管理する管理者側が操作し、電源の切断状態と電源の投入状態の２つの状態を切り換えるために用いられる。
【００２７】
（スロットマシン１００の電気的構成）
図４は、スロットマシン１００の概略的な電気的構成を示したブロック図である。図４に示すように、スロットマシン１００は、主として、制御基板によって制御されている。ここでは、制御基板の一例として、制御基板の機能を分担した、主制御基板２００と、副制御基板２０２とを挙げて説明する。例えば、遊技の進行に関わるプログラムのうち、遊技に供する当選役の抽選やその入賞といったような、特に重要な処理を主制御基板２００で実行し、それ以外の例えば演出に関する処理を副制御基板２０２で実行している。また、図４に示したように、主制御基板２００と副制御基板２０２との間の電気的な信号の伝達は、不正防止等の観点から、主制御基板２００から副制御基板２０２への一方向のみに制限される。ただし、このような制限がなければ、電気的に双方向通信も技術的に可能である。
【００２８】
（主制御基板２００）
主制御基板２００は、中央処理装置であるメインＣＰＵ２００ａ、プログラム等が格納されたメインＲＯＭ２００ｂ、ワークエリアとして機能するメインＲＡＭ（ＲＷＭ）２００ｃ等を含む各種半導体集積回路を有し、スロットマシン１００全体を統括的に制御する。ただし、メインＲＡＭ２００ｃには不図示のバックアップ電源が接続されており、電源が切断された場合においても、設定変更が行われてメインＲＡＭ２００ｃの初期化処理を実行しない限り、データが消去されることなく保持される。
【００２９】
また、主制御基板２００は、メインＣＰＵ２００ａが、メインＲＯＭ２００ｂに格納されたプログラムに基づきメインＲＡＭ２００ｃと協働することで機能する、初期化手段３００、ベット手段３０２、当選役抽選手段３０４、リール制御手段３０６、判定手段３０８、払出制御手段３１０、状態移行手段３１２、コマンド決定手段３１４、コマンド送信手段３１６等の機能部を有する。
【００３０】
初期化手段３００は、主制御基板２００における初期化処理を実行する。ベット手段３０２は、遊技に使用するためのメダルをベットする。ここで、ベットは、ベットスイッチ１２６の操作を通じてクレジットされているメダルを投入する場合と、メダル投入部１２４を通じてメダルを投入する場合と、リプレイ役が有効ラインＡ上に表示されたことに基づいてメダルを自動投入する場合のいずれも含む。当選役抽選手段３０４は、メダルのベットおよびスタートスイッチ１２８の操作に基づき、小役、リプレイ役、および、ボーナス役を含む複数種類の当選役、ならびに、不当選のうちいずれかを当選役抽選により決定する。
【００３１】
リール制御手段３０６は、スタートスイッチ１２８の操作に応じて、複数のリール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄを回転制御し、回転しているリール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄにそれぞれ対応した複数のストップスイッチ１３０ａ、１３０ｂ、１３０ｃ、１３０ｄの操作に応じ、操作されたストップスイッチ１３０ａ、１３０ｂ、１３０ｃ、１３０ｄに対応するリール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄをそれぞれ停止制御する。また、リール制御手段３０６は、スタートスイッチ１２８の操作に応じて、前回の遊技においてストップスイッチ１３０の操作を有効化してから、当選役抽選の抽選結果を表示するために遊技者によるストップスイッチ１３０の操作を有効化するまで（前回の遊技におけるストップスイッチ１３０の操作完了により無効化されている）の時間を規定の時間（ウェイト時間、例えば、４．１秒）より延長し、その間、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄを多彩な態様で回転制御するリール演出（フリーズ演出）を行う場合がある。リール演出は、本来有効となるべき任意のスイッチを所定時間有効にしなかったり、本来実行されるべき処理を所定時間保留したり、本来送受信されるべき任意のスイッチの信号を所定時間送信または受信させなかったりすることでも実現できる。
【００３２】
判定手段３０８は、当選役抽選で決定した当選役に対応する図柄組み合わせが有効ラインＡ上に表示されたか否か判定する。ここで、当選役抽選で決定した当選役に対応する図柄組み合わせが有効ラインＡ上に表示されることを単に入賞という場合がある。払出制御手段３１０は、当選役抽選で決定した当選役に対応する図柄組み合わせが有効ラインＡ上に表示されたこと（入賞したこと）に基づいて、当該当選役に対応する数だけメダルを払い出す。状態移行手段３１２は、ボーナス役の当選や入賞に基づいて遊技状態を遷移させる。
【００３３】
コマンド決定手段３１４は、ベット手段３０２、当選役抽選手段３０４、リール制御手段３０６、判定手段３０８、払出制御手段３１０、状態移行手段３１２等の動作に伴う、遊技に関するコマンドを順次決定する。コマンド送信手段３１６は、コマンド決定手段３１４が決定したコマンドを副制御基板２０２に順次送信する。
【００３４】
主制御基板２００では、投入メダル検出部１２４ｂ、ベットスイッチ１２６、スタートスイッチ１２８およびストップスイッチ１３０から各種の検出信号を受信しており、受信した検出信号に基づいて、ベット手段３０２、当選役抽選手段３０４、リール制御手段３０６、判定手段３０８が上述した種々の処理を実行する。また、主制御基板２００には、メインクレジット表示部１５２およびメイン払出表示部１５４が接続されており、払出制御手段３１０が両表示部１５２、１５４に対してメダルの貯留枚数や払出枚数の表示を制御する。
【００３５】
また、主制御基板２００には、リール駆動制御部２５８が接続されている。このリール駆動制御部２５８は、スタートスイッチ１２８の操作信号に応じ、リール制御手段３０６から送信される各リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの回転開始信号に基づいて、ステッピングモータ２６２を駆動するとともに、ストップスイッチ１３０の操作信号に応じ、リール制御手段３０６から送信される、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄそれぞれの停止信号および回転位置検出回路２６０の検出信号に基づいて、ステッピングモータ２６２の駆動を停止する。
【００３６】
また、主制御基板２００には、メダル払出装置２６４が接続されている。主制御基板２００には払出メダル検出部２６４ｃの検出信号が入力されるようになっており、払出制御手段３１０は、その検出信号に応じてメダルの払出枚数を計数しながら払出制御部２６４ｂからのメダルの排出を制御する。
【００３７】
また、主制御基板２００には、乱数発生器２００ｄが設けられる。乱数発生器２００ｄは、計数値を順次インクリメントし、所定の総数（例えば６５５３６）内でループさせ（０〜６５５３５）、所定の時点における計数値を抽出することで乱数を生成（取得）する。主制御基板２００の乱数発生器２００ｄによって生成される乱数（以下、当選役抽選乱数という）は、遊技者に付与する遊技利益、例えば、当選役抽選手段３０４が当選役を決定するために用いられる。
【００３８】
（副制御基板２０２）
また、副制御基板２０２は、主制御基板２００と同様に、中央処理装置であるサブＣＰＵ２０２ａ、プログラム等が格納されたサブＲＯＭ２０２ｂ、ワークエリアとして機能するサブＲＡＭ２０２ｃ等を含む各種半導体集積回路を有し、主制御基板２００からのコマンドに基づき、特に演出を制御する。また、サブＲＡＭ２０２ｃにもメインＲＡＭ２００ｃ同様、不図示のバックアップ電源が接続されており、電源が切断された場合においても、データが消去されることなく保持される。なお、副制御基板２０２にも、主制御基板２００同様、乱数発生器２０２ｄが設けられており、乱数発生器２０２ｄによって生成される乱数（以下、演出抽選乱数という）は、主に演出の態様を決定するために用いられる。
【００３９】
また、副制御基板２０２は、サブＣＰＵ２０２ａが、サブＲＯＭ２０２ｂに格納されたプログラムに基づき、サブＲＡＭ２０２ｃと協働することで機能する、初期化決定手段３３０、コマンド受信手段３３２、演出制御手段３３４等の機能部を有する。
【００４０】
初期化決定手段３３０は、副制御基板２０２における初期化処理を実行する。コマンド受信手段３３２は、主制御基板２００等、他の制御基板からのコマンドを受信し、コマンドに対する処理を行う。演出制御手段３３４は、当選役コマンドに基づいて液晶表示部１３８、スピーカ１４０、演出用ランプ１４２の各デバイスで行われる遊技の演出を決定する。具体的に、演出制御手段３３４は、液晶表示部１３８に表示される画像データや、演出用ランプ１４２、リールバックライト１４４、リール上方ライト１４６、サブクレジット表示部１５６、サブ払出表示部１５８等の電飾機器を通じた演出のための電飾データを決定するとともに、スピーカ１４０から出力すべき音声を構成する音声データを決定する。そして、演出制御手段３３４は、決定した遊技の演出を実行する。
【００４１】
演出は、上述したリール演出のような主制御基板２００によって実行される演出と、副制御基板２０２によって実行される演出がある。副制御基板２０２によって実行される演出は、遊技の進行に伴い、液晶表示部１３８、スピーカ１４０、演出用ランプ１４２、リールバックライト１４４、リール上方ライト１４６、サブクレジット表示部１５６、サブ払出表示部１５８等を通じて提供される視覚的および聴覚的な表現手段であり、当該遊技にストーリー性を与えたり、当選役抽選の結果をよりダイナミックな画像で示唆したりすることができる。このような演出では、例えば、ボーナス遊技の当選を示唆する演出を複数遊技に亘って行い、遊技者の期待感を高めることができる。また、たとえ、いずれの当選役にも当選していなかったとしても、恰も当選しているかのような演出を通じて遊技者に高配当の期待感を持たせ、遊技者を飽きさせないようにすることが可能となる。上記の主制御基板２００および副制御基板２０２を連動させることで、様々な遊技性を構築することができる。以下、主となる遊技態様を詳述する。
【００４２】
（主制御基板２００で用いられるテーブル）
スロットマシン１００においては、複数の遊技状態が設けられており、遊技の進行に応じて遊技状態が遷移する。そして、主制御基板２００では、状態移行手段３１２により管理される遊技状態に対応する複数の当選役抽選テーブル等がメインＲＯＭ２００ｂに格納されている。当選役抽選手段３０４は、メインＲＡＭ２００ｃに記憶された現在の遊技状態（後述するボーナス役の成立有無に基づく遊技状態等）に応じて、対応する当選役抽選テーブルをメインＲＯＭ２００ｂから抽出し、抽出した当選役抽選テーブルと現在の設定値に基づき、スタートスイッチ１２８の操作信号に応じて取得された当選役抽選乱数が当選役抽選テーブル内のいずれの当選役または不当選に対応するか判定する。ここで、設定値は、遊技利益を得る容易性を段階的に示したものであり、その設定値の数値が高いほど、遊技利益を得易い。なお、設定値は、一般的に、ホール側管理者により少なくとも遊技開始時には決定されており、遊技者が、遊技中に設定値を取得および変更することはできないようになっている。
【００４３】
ここで、当選役抽選テーブルで抽出される当選役には、リプレイ役、小役、ボーナス役がある。このような当選役に対応する図柄組み合わせが、有効ラインＡ上に揃った状態を表示または入賞といい、当選役に当選し、その当選役に対応する図柄組み合わせが表示されるまでの状態を内部当選状態とする。当選役のうちのリプレイ役は、そのリプレイ役に対応する図柄組み合わせが有効ラインＡ上に表示されると、遊技者によるメダルの新たなるベットを行わずして再度１遊技を実行できる役であり、小役は、その小役に対応する図柄組み合わせが有効ラインＡ上に表示されることにより、図柄組み合わせに応じて所定枚数のメダルの払い出しを受けることができる役である。また、ボーナス役は、そのボーナス役に対応する図柄組み合わせが有効ラインＡ上に表示されることにより、状態移行手段３１２により管理される遊技状態をボーナス遊技状態に移行させることができる当選役である。以下に、当選役および遊技者に付与される遊技利益について説明する。
【００４４】
図５は、当選役を説明するための説明図であり、図６は、遊技状態の遷移を説明するための説明図である。
【００４５】
また、本実施形態においては、当選役として、図５に示すように、当選役「リプレイ」、「ベル」、「ビッグボーナス（以下「ＢＢ」という）」が設けられている。このうち、当選役「リプレイ」が上記リプレイ役に相当し、当選役「ベル」が上記小役に相当し、当選役「ＢＢ」が上記ボーナス役に相当する。
【００４６】
（リプレイ役）
当選役抽選の結果、当選役「リプレイ」に当選すると、図５に示した当選役「リプレイ」に対応する図柄組み合わせである、各リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄそれぞれに記される図柄「リプレイ」が有効ラインＡ上に表示可能となり、当選役「リプレイ」に対応する図柄組み合わせが有効ラインＡ上に表示されると、上記したように、遊技者によるベットを行わずして再度１遊技（再遊技）を実行できる。
【００４７】
ここで、本実施形態においては、遊技者によってストップスイッチ１３０が押圧操作されたときに、当選役に対応する図柄組み合わせを構成する図柄が有効ラインＡ上にある場合には、リール制御手段３０６によって、当該図柄が有効ラインＡ上に停止するように停止制御がなされる。また、ストップスイッチ１３０が押圧操作されたときに、当選役に対応する図柄組み合わせを構成する図柄が、有効ラインＡ上にはないが、各リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの回転方向と反対の方向の図柄４コマ分に相当する範囲（引込範囲）内に存在している場合には、リール制御手段３０６によって、離れている図柄数が滑りコマ数となり、当該当選役に対応する図柄組み合わせを構成する図柄を有効ラインＡ上に引き込むように滑りコマ数分回転を維持した後に停止するように停止制御がなされる。また、当選役に対応する図柄が各リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄ中に複数あり、いずれも各リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの引込範囲内に存在している場合には、予め定められた優先順位に従っていずれの図柄を有効ラインＡ上に引き込むか決定され、当該優先された図柄を有効ラインＡ上に引き込むように滑りコマ数分回転を維持した後に停止するように停止制御がなされる。なお、ストップスイッチ１３０が押圧操作されたときに、当選した当選役以外の当選役に対応する図柄組み合わせを構成する図柄が有効ラインＡ上にある場合には、リール制御手段３０６によって、その図柄を有効ラインＡ上に停止させないようにする、所謂蹴飛ばし処理も並行して実行される。
【００４８】
そして、各リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄにおいては、当選役「リプレイ」に対応する図柄組み合わせを構成する図柄が、上記の停止制御によって、必ず有効ラインＡ上に表示可能なように配列されている（図３および図５参照）。具体的に、当選役「リプレイ」に対応する図柄組み合わせを構成する図柄同士は、各リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄ内で最大図柄４コマ分しか離隔していないので、停止制御によって必ず有効ラインＡ上に表示することができる。このように、当選役「リプレイ」に当選すると、これら当選役「リプレイ」に対応する図柄組み合わせが、必ず、有効ラインＡ上に表示されることとなる。このようにして、当選役「リプレイ」に対応する図柄組み合わせが有効ラインＡ上に表示された場合には、メダルを投入することなく次の１遊技を開始することが可能となる。
【００４９】
（小役）
また、当選役抽選の結果、当選役「ベル」に当選した場合には、当選役「ベル」に対応する図柄組み合わせである、各リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄそれぞれに記される図柄「ベルＡ」が有効ラインＡ上に表示可能となり、当選役「ベル」に対応する図柄組み合わせが有効ラインＡ上に表示された場合には、当選役に対応した枚数（ここでは９枚）のメダルが遊技者に払い出される。ここで、当選役「ベル」に対応する図柄組み合わせを構成する図柄「ベルＡ」同士は、各リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄ内で最大図柄４つ分しか離隔していないので（図３および図５参照）、当選役「リプレイ」同様、上記の停止制御によって、必ず有効ラインＡ上に表示することができる。
【００５０】
（ボーナス役）
また、当選役抽選の結果、当選役「ＢＢ」に当選すると、図５に示した当選役「ＢＢ」に対応する図柄組み合わせである、各リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄそれぞれに記される図柄「赤７」が有効ラインＡ上に表示可能となり、当選役「ＢＢ」に対応する図柄組み合わせが有効ラインＡ上に表示されると、遊技状態がボーナス遊技状態に設定され、次の１遊技（以下、単に次遊技という）以降、メダルが所定枚数（例えば、２９７枚）払い出されるまで、ボーナス遊技状態にて遊技を実行することが可能となる。なお、各リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄにおいては、それぞれ図柄「赤７」が、上記の停止制御によっても、有効ラインＡ上に表示されない場合があるように配列されている（図３および図５参照）。そのため、当選役「ＢＢ」に当選したとしても、遊技者は、当選役「ＢＢ」に対応する図柄組み合わせを必ずしも有効ラインＡ上に表示させられるとは限らない。
【００５１】
なお、上述したいずれかの当選役に当選すると、それぞれの当選役に対応する内部当選フラグが成立（ＯＮ）するとともに、この内部当選フラグの成立状況に応じて、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄそれぞれの停止制御がなされることとなる。このとき、小役に当選したものの、その小役に対応する図柄組み合わせを、その１遊技内で有効ラインＡ上に表示させることができなかった場合には、当該１遊技の終了後に内部当選フラグがＯＦＦされる。つまり、小役の当選の権利は小役に当選した１遊技内のみに限られ、当該権利を次遊技に持ち越すことはできない。また、リプレイ役である当選役「リプレイ」に対応する内部当選フラグが成立した場合には、当選役「リプレイ」に対応する図柄組み合わせが必ず有効ラインＡ上に表示され、メダルを要することなく次遊技を行うために必要となる処理が行われた後に、当該内部当選フラグがＯＦＦされる。これらに対して、当選役「ＢＢ」に当選した場合には、ＢＢ内部当選フラグが成立（ＯＮ）するとともに、当選役「ＢＢ」に対応する図柄組み合わせが有効ラインＡ上に表示されるまで、ＢＢ内部当選フラグが遊技を跨いで持ち越される。
【００５２】
（遊技状態の遷移）
ここで、ＢＢ内部当選フラグについて、遊技状態の遷移と合わせて具体的に説明する。ＢＢ内部当選フラグが成立すると、ＢＢ内部当選フラグの成立状況に応じて、図６の（１）に示すように、主制御基板２００で管理している遊技状態が、ボーナス役である当選役「ＢＢ」に当選していないボーナス非成立遊技状態から、ボーナス遊技状態の準備状態に相当するボーナス成立遊技状態となり、ボーナス成立遊技状態に基づいてリール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄそれぞれの停止制御がなされる。このとき、当選役「ＢＢ」に対応する図柄組み合わせを有効ラインＡ上に表示させることができなかった場合には、そのままＢＢ内部当選フラグが次遊技に持ち越され（ボーナス成立遊技状態が維持され）、次回以降の遊技においても当選役「ＢＢ」に対応する図柄組み合わせを有効ラインＡ上に表示させることが可能となる。そして、遊技者が、当選役「ＢＢ」に対応する図柄組み合わせを有効ラインＡ上に表示させると、図６の（２）に示すように、遊技状態がボーナス成立遊技状態からボーナス遊技状態に移行する。また、ボーナス遊技状態において、所定枚数（例えば、２９７枚）を超えるメダルが払い出されると、図６の（３）に示すように、遊技状態が、ボーナス遊技状態からボーナス非成立遊技状態に移行する。ただし、図６の（４）に破線の矢印で示すように、ボーナス非成立遊技状態における当選役「ＢＢ」が成立した遊技で、当選役「ＢＢ」に対応する図柄組み合わせを有効ラインＡ上に表示させた場合、ボーナス成立遊技状態を経由せず、直接、ボーナス遊技状態に移行する。
【００５３】
（当選役抽選テーブル）
図７は、当選役抽選乱数を判定する場合に用いられる当選役抽選テーブルを示す図である。当選役抽選テーブルでは、複数の当選領域が区画されており、各遊技状態によって抽選の対象となる当選役が異なったりする。図７は、各遊技状態（ボーナス非成立遊技状態、ボーナス成立遊技状態、ボーナス遊技状態）毎に割り当てられた当選領域（当選役）を「○」で表している。したがって、「○」が記載されていない当選領域は、その遊技状態に割り当てられていないことを示す。区画化された各当選領域にはそれぞれ当選範囲を示す数値である所定の置数（当選範囲値）と当選役が対応付けられており、遊技状態毎に割り当てられた全ての当選領域の置数を合計すると当選役抽選乱数の総数（６５５３６）となる。したがって、当選役それぞれが決定される確率は、当選領域に対応付けられた置数を当選役抽選乱数の総数で除算した値となる。当選役抽選手段３０４は、その時点の遊技状態に基づいて、当該当選役抽選テーブルにおける複数の当選領域のうち番号の高い方から、順次、置数を取得し、その置数を当選役抽選乱数から減算して、その減算値が０未満となると、その時点の当選領域に対応付けられた当選役を抽選結果としている。当該抽選の手順は、他の抽選においても適用できる。
【００５４】
また、各遊技状態によって抽選の対象となる当選役が異なっている。例えば、図７において、ボーナス非成立遊技状態と、ボーナス成立遊技状態とを比較すると、前者は当選役「ＢＢ」の抽選を行っているのに対し、後者では当選役「ＢＢ」の抽選を行っていない。これは、後者では、既に当選役「ＢＢ」に当選しているので重ねて当選役「ＢＢ」を当選させることができないからである。また、後者では、前者に比べ、当選役「リプレイ」の当選確率を高く設定している。また、図７のボーナス遊技状態によれば、重ねて当選役「ＢＢ」の抽選を行わないとともに、当選役「リプレイ」の抽選も行われない。また、当選役「ベル」が高確率で当選するように設定されているので、ボーナス非成立遊技状態やボーナス成立遊技状態と比べて、１遊技で獲得できる枚数の平均値を示す期待獲得枚数が高くなっている。なお、当選役抽選テーブルの当選領域０には、「不当選」が対応付けられており、当選役抽選によって「不当選」が決定すると、図５に示したいずれの当選役に対応する図柄組み合わせも有効ラインＡ上に表示されることなく、メダルの払い出し等が行われることはない。ただし、ボーナス成立遊技状態（ＢＢ内部当選フラグがＯＮ）において、当選役抽選によって「不当選」が決定すると、当選役「ＢＢ」に対応する図柄組み合わせが有効ラインＡ上に表示可能となる。
【００５５】
以下、主制御基板２００における具体的処理をフローチャートに基づいて説明する。
【００５６】
（主制御基板２００のメイン処理）
図８は、主制御基板２００のメイン処理を示したフローチャートである。ここでは、まず、主制御基板２００のメイン処理に沿って、初期化後の１遊技の概略を説明する。また、詳細な説明は省略するが、各処理が遂行される際、各処理において用いられるスイッチ（ベットスイッチ１２６、スタートスイッチ１２８、ストップスイッチ１３０ａ、１３０ｂ、１３０ｃ、１３０ｄ）は、処理の開始時に有効化され、処理の終了時に無効化される。
【００５７】
（ステップＳ１００）
電源スイッチ１４８を介してスロットマシン１００の電源が投入され、通電状態になると、初期化手段３００は、遊技開始に備え初期化処理を実行する。初期化手段３００は、電源が投入されている間、随時バックアップデータを生成し、そのバックアップデータをメインＲＡＭ２００ｃに保持している。したがって、不意の電断が生じたとしても、この初期化処理において、保持されたバックアップデータを用い電断前の状態に復帰させることができる。例えば、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの回転中に不意の電断が起きたとしても、復帰動作後に再度各リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄが回転している状態から開始される。したがって、初期化処理では、基本的に、メインＲＡＭ２００ｃの初期化（ＲＡＭクリア）は行われない。
【００５８】
（ステップＳ２１０）
また、コマンド決定手段３１４は、ベット枚数に変更があった場合に、変更されたベット枚数および貯留枚数を示す投入コマンドを生成し、コマンド送信手段３１６は、生成された投入コマンドを副制御基板２０２に送信する。
【００５９】
（ステップＳ３００）
次に、当選役抽選手段３０４は、スタートスイッチ１２８に対する遊技開始操作を有効化し、スタートスイッチ１２８の操作待ち状態に移行する。ここで、当選役抽選手段３０４は、遊技者によるスタートスイッチ１２８の操作に応じて、主制御基板２００の乱数発生器２００ｄによって更新された当選役抽選乱数から、スタートスイッチ１２８が操作された時点における１の当選役抽選乱数を取得する。そして、当選役抽選手段３０４は、図７に示した当選役抽選テーブル、および、現在設定されている遊技状態に基づいて、取得した当選役抽選乱数が、いずれの当選領域に対応するか判定し、判定された当選領域の当選役または不当選を抽選結果として決定する。また、コマンド決定手段３１４は、スタートスイッチ１２８の操作に応じて抽選結果が決定された後、当選役抽選の抽選結果（当選役または不当選）や遊技状態に関する情報等を含む当選役コマンドを生成し、コマンド送信手段３１６は、生成された当選役コマンドを副制御基板２０２に送信する。また、状態移行手段３１２は、ボーナス非成立遊技状態において当選役「ＢＢ」に当選したことに基づき遊技状態をボーナス非成立遊技状態からボーナス成立遊技状態へ移行させる。
【００６０】
（ステップＳ４００）
スタートスイッチ１２８が操作されると、リール制御手段３０６は、ステッピングモータ２６２を駆動してリール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄを回転させる。このリール回転処理においては、前回の１遊技におけるリール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの回転開始時点から所定の時間（例えば４．１秒）が経過すると（ウェイト）、当該遊技におけるリール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの回転を開始し、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの全てが定速回転となったところで、ステップＳ５００に処理を移す。また、リール制御手段３０６は、リール演出を実行する場合もある。
【００６１】
（ステップＳ５００）
続いて、リール制御手段３０６は、ストップスイッチ１３０ａ、１３０ｂ、１３０ｃ、１３０ｄを有効化し、遊技者によるストップスイッチ１３０ａ、１３０ｂ、１３０ｃ、１３０ｄの操作を受け付けると、その操作に対応するリール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄのいずれかを停止制御する。また、コマンド決定手段３１４は、ストップスイッチ１３０ａ、１３０ｂ、１３０ｃ、１３０ｄのいずれかの操作がなされると、操作がなされたストップスイッチ１３０ａ、１３０ｂ、１３０ｃ、１３０ｄの情報を示す停止コマンド（第１停止コマンド、第２停止コマンド、第３停止コマンド）を操作の度に生成し、コマンド送信手段３１６は、生成された停止コマンドを順次、副制御基板２０２に送信する。
【００６２】
（ステップＳ６００）
次に、判定手段３０８は、図３（ｂ）に示した有効ラインＡ上に表示された図柄組み合わせが予め定められたどの組み合わせに相当するかを判定し、その図柄組み合わせに応じて遊技状態の変更やリプレイに際して要求される種々の処理を実行する。また、コマンド決定手段３１４は、有効ラインＡ上に表示された図柄組み合わせや、有効ラインＡ上に小役に対応する図柄組み合わせが表示された場合におけるメダルの払出枚数等を含む入賞コマンドを生成し、コマンド送信手段３１６は、生成された入賞コマンドを副制御基板２０２に送信する。また、状態移行手段３１２は、ボーナス成立遊技状態において当選役「ＢＢ」に対応する図柄組み合わせが有効ラインＡ上に表示されたことに基づき、遊技状態をボーナス成立遊技状態からボーナス遊技状態へ移行させる。
【００６３】
（ステップＳ７００）
続いて、払出制御手段３１０は、ステップＳ６００における判定結果に基づき、例えば、有効ラインＡ上に小役に対応する図柄組み合わせが表示されると、当該小役に対応するメダルの払出処理を実行し、有効ラインＡ上にリプレイ役に対応する図柄組み合わせが表示されると、自動的に次遊技のベットを行うための処理を実行する。また、状態移行手段３１２は、ボーナス遊技状態においてメダルの所定枚数の払い出しが実行されると、遊技状態をボーナス遊技状態からボーナス非成立遊技状態へ移行させる。このように、払出制御手段３１０は、有効ラインＡ上に表示された図柄組み合わせに対応して種々の処理を遂行し、当該１遊技を終了する。また、コマンド決定手段３１４は、メダルの払出処理がなされた場合、払出処理がなされたことを示す払出コマンドを生成し、コマンド送信手段３１６は、生成された払出コマンドを副制御基板２０２に送信する。
【００６４】
ステップＳ２１０からステップＳ７００までの一連の処理を通じて１遊技が実行される。以後は、ステップＳ２１０からステップＳ７００までのメインループを繰り返すこととなる。
【００６５】
（メインＣＰＵ２００ａによるメモリ管理）
ところで、上述したように、主制御基板２００においては、メインＣＰＵ２００ａが、メインＲＯＭ２００ｂに格納されたプログラムに基づきメインＲＡＭ２００ｃと協働することで、初期化手段３００、ベット手段３０２、当選役抽選手段３０４、リール制御手段３０６、判定手段３０８、払出制御手段３１０、状態移行手段３１２、コマンド決定手段３１４、コマンド送信手段３１６等として機能し、遊技の進行を制御する。これらの機能部を実行するためのプログラムは、メインＲＯＭ２００ｂおよびメインＲＡＭ２００ｃの所定の領域（使用領域）に配される。
【００６６】
図９は、メインＲＯＭ２００ｂおよびメインＲＡＭ２００ｃのメモリマップを示す説明図である。ここで、メインＲＯＭ２００ｂには、００００ｈ〜２ＦＦＦｈ（１２ｋｂｙｔｅ）のメモリ空間が割り当てられ、メインＲＡＭ２００ｃには、Ｆ０００ｈ〜Ｆ１ＦＦｈ（５１２ｂｙｔｅ）およびＦ２００ｈ〜Ｆ３ＦＦｈ（５１２ｂｙｔｅ）のメモリ空間が割り当てられている。また、メインＲＯＭ２００ｂおよびメインＲＡＭ２００ｃのいずれにおいても使用領域が規定されている。
【００６７】
メインＲＯＭ２００ｂの００００ｈ〜１ＤＦ３ｈのメモリ空間には使用領域が割り当てられている。具体的に、００００ｈ〜１１ＦＦｈ（４．５ｋｂｙｔｅ）に制限されたメモリ空間（制御領域）に、初期化手段３００、ベット手段３０２、当選役抽選手段３０４、リール制御手段３０６、判定手段３０８、払出制御手段３１０、状態移行手段３１２、コマンド決定手段３１４、コマンド送信手段３１６を機能させて遊技の進行を制御する遊技制御処理を実行するためのプログラムの命令コードが格納され、１２００ｈ〜１ＤＦ３ｈ（３．０ｋｂｙｔｅ）に制限されたメモリ空間（データ領域）に、遊技制御処理のプログラムに用いられるデータが格納されている。また、１Ｅ００ｈ〜１ＥＦＦｈのメモリ空間にはコメント領域が割り当てられ、２ＦＣ０ｈ〜２ＦＦＦｈのメモリ空間にはプログラム管理領域が割り当てられている。また、プログラムの命令コードはアセンブラ言語で記述されている。ここで、プログラムは、命令コードで構成されたものであり、コンピュータに読み出され、データやワークエリアと協働して所定の処理を実現することができる。
【００６８】
また、メインＲＡＭ２００ｃのＦ０００ｈ〜Ｆ１ＦＦｈのメモリ空間には使用領域が割り当てられている。具体的に、Ｆ０００ｈ〜Ｆ１３Ｆｈのメモリ空間には、上記遊技制御処理のワークエリアが割り当てられ、タイマ、カウンタ、フラグ等の変数管理に用いられる。Ｆ１Ｃ０ｈ〜Ｆ１ＦＦｈのメモリ空間には、上記遊技制御処理のスタック領域が割り当てられている。また、メインＣＰＵ２００ａには内部レジスタが設けられている。
【００６９】
このように、メインＣＰＵ２００ａにおいて、使用領域の記憶容量は予め定められており、例えば、図９に示したように、制御領域が４．５ｋｂｙｔｅに制限され、データ領域が３．０ｋｂｙｔｅに制限されている。したがって、ＡＴ演出状態や、リールユニット１３４を多彩な態様で回転させる所謂リール演出を、メインＣＰＵ２００ａが管理する場合、制御領域の中で、遊技制御処理の記憶容量がさらに制限されるおそれがある。ここでは、変数の配列を工夫することで、遊技制御処理を行うための制御領域の容量を確保する。
【００７０】
遊技制御処理として、例えば、リール制御手段３０６が、４つのリール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄを制御するプログラムを挙げる。ここでは、仮に、４つのリール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄ全てに関し、ステッピングモータ２６２のステップ数を１だけ進めて、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの状態を更新する例を挙げて説明する。
【００７１】
本実施形態では、ステップ数の総数が２５２であるステッピングモータ２６２を用いている。これは、図柄数が仮に２１であった場合に、２５２が２１の倍数なので、図柄毎のステップ数を均等に扱えるからである。なお、本実施形態では、ステッピングモータ２６２を１−２相励磁で動作させているので、分解能を上げ、そのステップ数を２５２の２倍の５０４で計数することができる。したがって、以下の例では、ステップ数の総数を５０４として扱っている。
【００７２】
また、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの状態は、モータフェーズ、ステップカウンタ値、現在出現図柄番号の３つのパラメータで表される。モータフェーズは、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの動作、すなわち、加速中、定常回転中、停止中を示す。なお、ここでは、加速中、定常回転中、停止中といった動作を挙げているが、動作として減速中が含まれていてもよい。また、ステップカウンタ値は、単位図柄におけるステップの計数を示す。例えば、図柄数が２１の場合、単位図柄におけるステップカウンタ値の最大値は５０４／２１＝２４となるので、２４を計数することで図柄を更新し、かつ、ステップカウンタ値を初期化する。ただし、本実施形態では図柄数が２０なので、５０４を除算した値は整数にならない。そこで、本実施形態では、２０コマ中、１２コマでステップカウンタ値の最大値を２６とし、８コマでステップカウンタ値の最大値を２４としている。具体的に、ステップカウンタ値の最大値を、５つ分の図柄に対し、図柄毎に２６→２４→２６→２４→２６と順に移行させ、その組み合わせを４回繰り返す。こうして、２０コマ中、３×４回＝１２コマでステップカウンタ値の最大値を２６とし、２×４回＝８コマでステップカウンタ値の最大値を２４とすることができる。したがって、図柄（図柄番号）に応じて、２４または２６を計数することで図柄が更新され、ステップカウンタ値が初期化される。また、現在出現図柄番号は、所定の位置（例えば、有効ラインＡ上）に現在出現している図柄の番号を示す。ここでは、図柄数が２０なので、番号を順次更新し、２０を計数することで、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄが１回転したとし、現在出現図柄番号を初期化する。かかる３つのパラメータを参照することで、ステッピングモータ２６２の動作状態とリールの位置とを把握することができる。
【００７３】
図１０、図１１は、リール制御手段３０６の処理を説明するためのフローチャートである。ここでは、メインルーチンからサブルーチンを呼び出し、そのサブルーチンにおいて、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの定常回転中処理を構成する複数の処理のうち、特に、図柄情報更新に関する処理を実行する例を挙げて説明する。リール制御手段３０６は、まず、初期設定として、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの数（ここでは４）、開始リールの番号（ここでは１）、ワークエリアにおける変数の先頭位置を設定する（Ｓ２１０）。そして、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄのうちの１のリールについて、ステッピングモータ２６２のステップ数を１だけ進めてリール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの状態を更新するサブルーチンを呼び出す（Ｓ２１２）。サブルーチンが完了すると、リール制御手段３０６は、新たなリール番号を設定し（Ｓ２１４）、ワークエリアにおける変数の先頭位置を更新する（Ｓ２１６）。そして、リール制御手段３０６は、全てのリール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄにおいてサブルーチンが完了しているか否か判定し（Ｓ２１８）、完了していなければ（Ｓ２１８におけるＮＯ）、サブルーチン呼出処理（Ｓ２１２）からを繰り返し、完了していれば（Ｓ２１８におけるＹＥＳ）、当該フローチャートを終了する。
【００７４】
また、図１１に示すように、サブルーチンにおいて、定常回転中処理を構成する複数の処理のうちの図柄情報更新に関する処理に至ると、リール制御手段３０６は、ステップカウンタ値を取得し（Ｓ２５０）、ステップカウンタ値を更新する。具体的に、リール制御手段３０６は、ステップカウンタ値を１だけデクリメントし（Ｓ２５２）、ステップカウンタ値が単位図柄の範囲（例えば２６）を超えたか否か判定する（Ｓ２５４）。その結果、ステップカウンタ値が単位図柄の範囲を超えていなければ（Ｓ２５４におけるＮＯ）、リール制御手段３０６は、そのデクリメントされた値でステップカウンタ値を更新して（Ｓ２５６）、定常回転中処理を構成する他の処理が実行された後、当該サブルーチンを終了する。一方、ステップカウンタ値が単位図柄の範囲を超えていれば（Ｓ２５４におけるＹＥＳ）、リール制御手段３０６は、ステップカウンタ値に初期値として所定のステップ数（例えば２６）を設定し（Ｓ２５８）、現在出現図柄番号を取得し（Ｓ２６０）、現在出現図柄番号を１だけデクリメントして（Ｓ２６２）、現在出現図柄番号がリールの範囲（例えば２０）を超えたか否か判定する（Ｓ２６４）。その結果、ステップ数がリールの範囲を超えていれば（Ｓ２６４におけるＹＥＳ）、リール制御手段３０６は、現在出現図柄番号に初期値として所定の図柄数（例えば２６）を設定する（Ｓ２６６）。一方、現在出現図柄番号がリールの範囲を超えていなければ（Ｓ２６４におけるＮＯ）、リール制御手段３０６は、現在出現図柄番号をそのデクリメントされた値に更新する（Ｓ２６８）。
【００７５】
続いて、リール制御手段３０６は、図柄の位置に応じてステップカウンタ値を更新する。具体的に、リール制御手段３０６は、現在出現図柄番号を５で除算し（Ｓ２７０）、その除算した余り（剰余）のビット０の値が０であるか否か、すなわち、偶数であるか否か判定する（Ｓ２７２）。その結果、ビット０の値が０であれば（Ｓ２７２におけるＹＥＳ）、ステップＳ２５６に処理を移行し、ビット０の値が０でなければ、すなわち、１であれば（Ｓ２７２におけるＮＯ）、リール制御手段３０６は、ステップカウンタ値に初期値として上記のステップ数（２６）とは異なる所定のステップ数（例えば２４）を設定し（Ｓ２７４）、ステップＳ２５６に処理を移行する。
【００７６】
これは、以下の理由による。すなわち、上述したように、モータのステップ数５０４は２０で割り切れない。そこで、２０コマ中、１２コマでステップカウンタ値の最大値を２６とし、８コマでステップカウンタ値の最大値を２４としている。そうすると、ステップカウンタ値の最大値を２６とする図柄と、ステップカウンタ値の最大値を２４とする図柄の比が３：２となるので、５で除算した余りが偶数の場合に２６、奇数の場合に２４とすることで実現できる。そこで、本実施形態では、まず、ステップカウンタ値として２６を設定しておき、現在出現図柄番号を５で除算した余りが奇数であれば、それを２４と置き換えることとしている。こうして、２０コマ中、１２コマでステップカウンタ値の最大値を２６とし、８コマでステップカウンタ値の最大値を２４とすることが可能となる。
【００７７】
図１２は、図１０のフローチャートを実現するためのプログラムを説明するための説明図である。図１２の１行目の「ＬＤ  Ｂ，４」は、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの数である４をＢレジスタに設定することを示す。２行目の「ＬＤ  Ｃ，０００１Ｂ」は、対象となるリール番号を保持するＣレジスタに、当該フローチャートの開始時のリール番号である０００１Ｂを設定することを示す。ここで、数値の語尾に付されている「Ｂ」は２進数であることを示し、後述する、数値の語尾に付されている「Ｈ」は１６進数であることを示す。また、リール番号は０００１Ｂが１リール目、００１０Ｂが２リール目、０１００Ｂが３リール目、１０００Ｂが４リール目を示す。３行目の「ＬＤＱ  ＩＹ，＿ＳＭＣ＿ＰＨＳ」は、ワークエリアにおける変数の先頭位置としてＩＹレジスタに、アドレス「＿ＳＭＣ＿ＰＨＳ」を設定することを示す。ここで、「ＬＤＱ」は、単なる「ＬＤ」と異なり、Ｑレジスタの内容をＩＹレジスタの上位に設定した上で、＿ＳＭＣ＿ＰＨＳの内容をＩＹレジスタの下位に設定することを示す。かかる１〜３行目のコマンドが、図１０のステップＳ２１０に対応する。
【００７８】
図１２の４行目の「ＴＭＲ＿ＩＰＴ０１：」は、８行目の「ＤＪＮＺ  ＴＭＲ＿ＩＰＴ０１」の戻り先アドレスを示す。５行目の「ＣＡＬＬＦ  ＳＭＣＰＲＯＣ」は、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄのうちの１のリールについて、ステッピングモータ２６２のステップ数を１だけ進めて状態を更新するサブルーチンである「ＳＭＣＰＲＯＣ」を呼び出すことを示す。ここで「ＣＡＬＬＦ」は、単なる「ＣＡＬＬ」と異なり、移動先のアドレスとの差分であるアドレス距離が１０００Ｈ以上であれば、当該「ＣＡＬＬＦ」をマシン語にしたときのコードの長さ（コマンド長）は３バイトとなるものの、ＦＦＦＨ以内であれば、当該「ＣＡＬＬＦ」のコマンド長を２バイトに短縮できる。かかる５行目のコマンドが、図１０のステップＳ２１２に対応する。
【００７９】
図１２の６行目の「ＳＬＡ  Ｃ」は、Ｃレジスタの値（リール番号）を左に１ビット分シフトし、Ｃレジスタのビット０には０を入れることを示す。したがって、Ｃレジスタの値は、リール番号が１リール目の０００１Ｂであれば２リール目の００１０Ｂに更新され、リール番号が２リール目の００１０Ｂであれば３リール目の０１００Ｂに更新され、リール番号が３リール目の０１００Ｂであれば４リール目の１０００Ｂに更新される。かかる６行目のコマンドが、図１０のステップＳ２１４に対応する。
【００８０】
図１２の７行目の「ＩＮＣ  ＩＹ」は、ＩＹレジスタの値を１だけインクリメントすることを示す。これは、リール番号の更新に伴い、新たなリールのワークエリアにおける変数の先頭位置をオフセットさせるものである。かかる７行目のコマンドが、図１０のステップＳ２１６に対応する。８行目の「ＤＪＮＺ  ＴＭＲ＿ＩＰＴ０１」は、Ｂレジスタの値（リールの数）を１だけデクリメントし、その結果がゼロでなければ、すなわち、４つのリール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄ全てが完了していなければ、４行目の「ＴＭＲ＿ＩＰＴ０１：」に移動することを示す。なお、Ｂレジスタの値を１だけデクリメントした結果がゼロであれば、４行目の「ＴＭＲ＿ＩＰＴ０１：」に移動することなく、当該プログラムが終了する。かかる８行目のコマンドが、図１０のステップＳ２１８に対応する。
【００８１】
図１３は、図１１のフローチャートを実現するためのプログラムを説明するための説明図である。図１３の１行目の「ＳＭＣＰＲＯＣ」は、当該サブルーチンの先頭アドレスを示す。２行目の「ＬＤ  Ａ，（ＩＹ＋＿ＳＴＥ＿ＣＮＴ−＿ＳＭＣ＿ＰＨＳ）」は、ＩＹレジスタの値（変数の先頭アドレス）に、ステップカウンタ値のアドレス（＿ＳＴＥ＿ＣＮＴ）からモータフェーズのアドレス（＿ＳＭＣ＿ＰＨＳ）を減算したオフセット値（例えば４）を足したアドレス、すなわち、ステップカウンタ値のアドレスが示す内容を、Ａレジスタに設定することを示す。かかる２行目のコマンドが、図１１のステップＳ２５０に対応する。
【００８２】
図１３の３行目の「ＤＣＰＬＤ  Ａ，２６−１」は、Ａレジスタの値を１だけデクリメントし、デクリメントによってキャリアが生じた（マイナスになった）場合、所定のステップ数である（２６−１）の値を設定することを示す。ここで、所定のステップ数を２６−１としたのは、ステップカウンタ値の範囲を２６とした場合、ステップカウンタ値は０〜２５の間の値をとるからである。４行目の「ＬＤ  Ｅ，Ａ」は、ＥレジスタにＡレジスタの値を設定することを示す。ここでは、Ａレジスタを開放するため、ステップカウンタ値をＥレジスタに退避している。５行目の「ＪＲ  ＮＣ，ＳＭＣ＿ＲＯＴ０７」は、キャリアが生じていなければ、ＳＭＣ＿ＲＯＴ０７に移動することを示す。かかる３〜５行目のコマンドが、図１１のステップＳ２５２、Ｓ２５４、Ｓ２５８に対応する。
【００８３】
図１３の６行目の「ＬＤ  Ａ，（ＩＹ＋＿ＦＩＧ＿ＮＵＭ−＿ＳＭＣ＿ＰＨＳ）」は、ＩＹレジスタの値（変数の先頭アドレス）に、現在出現図柄番号のアドレス（＿ＦＩＧ＿ＮＵＭ）からモータフェーズのアドレス（＿ＳＭＣ＿ＰＨＳ）を減算したオフセット値（例えば８）を足したアドレス、すなわち、現在出現図柄番号のアドレスが示す内容を、Ａレジスタに設定することを示す。ここで、図１３の６行目で用いられている所定のアドレスに格納された変数をメインＣＰＵ２００ａの所定のレジスタに読み出すコマンドである「ＬＤ  （ｑｑ＋ｖ），Ａ」は、単なる「ＬＤ」と異なり、ｖが８ビットで表される数値のうち０〜７以外の数値（−１２８〜−１もしくは８〜１２７のいずれか）であれば、当該「ＬＤ  （ｑｑ＋ｖ），Ａ」は、「ＬＤ  （ｑｑ＋ｄ），Ａ」として扱われ、コマンド自体の長さ（コマンド長）は３バイトとなるものの、０〜７のいずれかであれば、当該「ＬＤ  （ｑｑ＋ｖ），Ａ」のコマンド長を２バイトに短縮できる。なお、ｑｑは、ＩＸレジスタもしくはＩＹレジスタが用いられる。このようなコマンドは、主として、ＢＣレジスタ、ＤＥレジスタ、および、ＨＬレジスタを利用することができない場合に利用されることが多い。かかる６行目のコマンドが、図１１のステップＳ２６０に対応する。
【００８４】
図１３の７行目の「ＤＣＰＬＤ  Ａ，２０−１」は、Ａレジスタの値を１だけデクリメントし、それによってキャリアが生じた（マイナスになった）場合、所定の図柄数である（２０−１）の値を設定することを示す。ここで、所定の図柄数を２０−１としたのは、現在出現図柄番号の範囲を２０とした場合、ステップカウンタ値は０〜１９の間の値をとるからである。８行目の「ＬＤ  （ＩＹ＋＿ＦＩＧ＿ＮＵＭ−＿ＳＭＣ＿ＰＨＳ），Ａ」は、Ａレジスタの内容を、ＩＹレジスタの値（変数の先頭アドレス）に、現在出現図柄番号のアドレス（＿ＦＩＧ＿ＮＵＭ）からモータフェーズのアドレス（＿ＳＭＣ＿ＰＨＳ）を減算したオフセット値（例えば８）を足したアドレス、すなわち、現在出現図柄番号のアドレスに設定することを示す。ここで、図１３の８行目で用いられている所定のアドレスに格納された変数をメインＣＰＵ２００ａの所定のレジスタの値で更新するコマンドである「ＬＤ  Ａ，（ｑｑ＋ｖ）」は、単なる「ＬＤ」と異なり、ｖが０〜７以外の数値であれば、当該「ＬＤ  Ａ，（ｑｑ＋ｖ）」は、「ＬＤ  Ａ，（ｑｑ＋ｄ）」として扱われ、コマンド自体の長さ（コマンド長）は３バイトとなるものの、０〜７のいずれかであれば、当該「ＬＤ  Ａ，（ｑｑ＋ｖ）」のコマンド長を２バイトに短縮できる。かかる７、８行目のコマンドが、図１１のステップＳ２６２、Ｓ２６４、Ｓ２６６、Ｓ２６８に対応する。
【００８５】
図１３の９行目の「ＤＩＶ  Ｄ，Ａ，５」は、Ａアドレスの値（現在出現図柄番号）を５で除算した余り（剰余）をＤレジスタに設定することを示す。かかる９行目のコマンドが、図１１のステップＳ２７０に対応する。１０行目の「ＪＢＩＴ  Ｚ，０，Ｄ，ＳＭＣ＿ＲＯＴ０７」は、Ｄレジスタのビット０が０であれば、「ＳＭＣ＿ＲＯＴ０７」に移動することを示す。かかる１０行目のコマンドが、図１１のステップＳ２７２に対応する。１１行目の「ＬＤ  Ｅ，２４−１」は、Ｅレジスタに、２６とは異なる所定のステップ数（ここでは２４）を設定することを示す。かかる１１行目のコマンドが、図１１のステップＳ２７４に対応する。１２行目の「ＳＭＣ＿ＲＯＴ０７：」は、５行目の「ＪＲ  ＮＣ，ＳＭＣ＿ＲＯＴ０７」の移動先アドレスを示す。１３行目の「ＬＤ  （ＩＹ＋＿ＳＴＥ＿ＣＮＴ−＿ＳＭＣ＿ＰＨＳ），Ｅ」は、Ｅレジスタの内容（ステップカウンタ値）で、ＩＹレジスタの値（変数の先頭アドレス）に、現在出現図柄番号のアドレス（＿ＳＴＥ＿ＣＮＴ）からモータフェーズのアドレス（＿ＳＭＣ＿ＰＨＳ）を減算したオフセット値（例えば４）を足したアドレス、すなわち、ステップカウンタ値のアドレスの値を更新することを示す。かかる１３行目のコマンドが、図１１のステップＳ２５６に対応する。
【００８６】
なお、ここでは、ステップカウンタ値や現在出現図柄番号の計数に、ダウンカウンタを用いている。これは、ゼロやキャリアの発生を判断するコマンド（例えば、「ＤＣＰＬＤ」）が多く（使い勝手が良く）、このようなコマンドを利用することでコマンド長を短くできるからである。ただし、必ずしもダウンカウンタに限らず、アップカウンタを用いてもよいことは言うまでもない。
【００８７】
また、ここでは、当該サブルーチンの先頭アドレスを示す図１３の１行目の「ＳＭＣＰＲＯＣ」の次の行から、直ぐに、４つのリール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄ全てに関し、ステッピングモータ２６２のステップ数を１だけ進めて、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの状態を更新する処理が実行されているが、かかる場合に限らず、他のプログラムによる処理を実行した後に続けて、４つのリール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄ全てに関し、ステッピングモータ２６２のステップ数を１だけ進めて、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの状態を更新する処理を行ってもよい。
【００８８】
図１４は、ワークエリアにおける比較例としての変数の配置を説明するための説明図である。ここでは、リール毎の変数を比較し易いように、モータフェーズ（＿ＳＭＣ＿ＰＨＳ）、ステップカウンタ値（＿ＳＴＥ＿ＣＮＴ）、現在出現図柄番号（＿ＦＩＧ＿ＮＵＭ）といったパラメータを、その順に纏めて（連続させて）割り当てている。そして、各パラメータ内で、１リール目、２リール目、３リール目、４リール目といったように、各リールの変数を、その順に割り当てている。したがって、各変数は、図１４に示すように、モータフェーズの１リール目、２リール目、３リール目、４リール目、ステップカウンタ値の１リール目、２リール目、３リール目、４リール目、現在出現図柄番号の１リール目、２リール目、３リール目、４リール目の順に配置されることとなる。
【００８９】
このような変数の配列を対象に、リール毎に、例えば、ステッピングモータ２６２のステップ数を１だけ進めて、リール１３４ａ、１３４ｂ、１３４ｃ、１３４ｄの状態を更新し、それを４リール分繰り返す場合、以下のように変数を指定する。すなわち、図１２の３行目の「ＬＤＱ  ＩＹ，＿ＳＭＣ＿ＰＨＳ」によって、ＩＹレジスタにワークエリアにおける変数の先頭位置を設定し、図１３の２行目の「ＬＤ  Ａ，（ＩＹ＋＿ＳＴＥ＿ＣＮＴ−＿ＳＭＣ＿ＰＨＳ）」において、ステップカウンタ値とモータフェーズとの差分をＩＹに加算することでステップカウンタ値をＡレジスタに設定し、図１３の６行目の「ＬＤ  Ａ，（ＩＹ＋＿ＦＩＧ＿ＮＵＭ−＿ＳＭＣ＿ＰＨＳ）」において、現在出現図柄番号とモータフェーズとの差分をＩＹに加算することで現在出現図柄番号をＡレジスタに設定し、図１３の８行目の「ＬＤ  （ＩＹ＋＿ＦＩＧ＿ＮＵＭ−＿ＳＭＣ＿ＰＨＳ），Ａ」において、現在出現図柄番号とモータフェーズとの差分をＩＹに加算することで、現在出現図柄番号をＡレジスタの値で更新する。ここでは、モータフェーズ（＿ＳＭＣ＿ＰＨＳ）、ステップカウンタ値（＿ＳＴＥ＿ＣＮＴ）、現在出現図柄番号（＿ＦＩＧ＿ＮＵＭ）を示すアドレスの差分（相対値）を用いることで、変数の配置変更がプログラムに影響を及ぼさないようにしている。
【００９０】
上述したように、所定のアドレスに格納された変数をメインＣＰＵ２００ａの所定のレジスタに読み出すコマンドである「ＬＤ  Ａ，（ｑｑ＋ｖ）」や、所定のアドレスに格納された変数をメインＣＰＵ２００ａの所定のレジスタの値に更新するコマンドである「ＬＤ  （ｑｑ＋ｖ），Ａ」といったコマンドは、ｖが０〜７以外の数値であれば、コマンド自体の長さ（コマンド長）は３バイトとなるものの、０〜７のいずれかであれば、当該コマンドのコマンド長を２バイトに短縮できる。ここで、図１３の２行目の「ＬＤ  Ａ，（ＩＹ＋＿ＳＴＥ＿ＣＮＴ−＿ＳＭＣ＿ＰＨＳ）」を参照すると、リールが４つあるので、＿ＦＩＧ＿ＮＵＭ−＿ＳＭＣ＿ＰＨＳは４となる。これは、０〜７の範囲なので、コマンド長を２バイトに抑えることができる。しかし、図１３の６行目の「ＬＤ  Ａ，（ＩＹ＋＿ＦＩＧ＿ＮＵＭ−＿ＳＭＣ＿ＰＨＳ）」および８行目の「ＬＤ  （ＩＹ＋＿ＦＩＧ＿ＮＵＭ−＿ＳＭＣ＿ＰＨＳ），Ａ」を参照すると、そのアドレス距離が、パラメータ２つ分（４バイト×２パラメータ）離れているので、＿ＦＩＧ＿ＮＵＭ−＿ＳＭＣ＿ＰＨＳは８となる。これは、０〜７の範囲に含まれないので、コマンド長が３バイトとなってしまう。そこで、本実施形態では、変数の配列を工夫することで、ｖを０〜７の範囲に収めるようにする。
【００９１】
図１５は、ワークエリアにおける本実施形態の変数の配置を説明するための説明図である。ここでは、変数の配置を図１４と異ならせる。すなわち、その配置をパラメータ単位とせず、リール単位としている。具体的に、変数を１リール目、２リール目、３リール目、４リール目の順に纏めて（連続させて）割り当てている。そして、各リール内で、モータフェーズ（＿ＳＭＣ＿ＰＨＳ）、ステップカウンタ値（＿ＳＴＥ＿ＣＮＴ）、現在出現図柄番号（＿ＦＩＧ＿ＮＵＭ）といったパラメータに関する変数を、その順に割り当てている。したがって、１リール目のモータフェーズ、ステップカウンタ値、現在出現図柄番号、２リール目のモータフェーズ、ステップカウンタ値、現在出現図柄番号、３リール目のモータフェーズ、ステップカウンタ値、現在出現図柄番号、４リール目のモータフェーズ、ステップカウンタ値、現在出現図柄番号の順に配置されることとなる。
【００９２】
なお、上記のように変数の配置を変更したとしても、図１４と図１５を比較して理解できるように、ワークエリアの変数が占有する容量は変わっていない。また、図１３に示したプログラムは、アドレス距離の変化を吸収するように作成されているので、モータフェーズ、ステップカウンタ値、現在出現図柄番号同士のアドレス距離（アドレスの差分）が変化しただけでは、図１３に示したプログラムを変更する必要がない。
【００９３】
かかる変数の配置は、以下のような特徴がある。すなわち、本実施形態では、図１０、図１２に基づいて説明したように、サブルーチン（「ＳＭＣＰＲＯＣ」）を呼び出すといった処理をリール毎に繰り返す。したがって、リール毎に、モータフェーズ、ステップカウンタ値、現在出現図柄番号がそれぞれ参照されるという動作が行われる。例えば、図１３の６行目の「ＬＤ  Ａ，（ＩＹ＋＿ＦＩＧ＿ＮＵＭ−＿ＳＭＣ＿ＰＨＳ）」や８行目の「ＬＤ  （ＩＹ＋＿ＦＩＧ＿ＮＵＭ−＿ＳＭＣ＿ＰＨＳ），Ａ」では、同一コマンドの中で、モータフェーズのアドレスと現在出現図柄番号のアドレスとが参照され、そのアドレス距離がコマンドに用いられる。ここでは、リール毎に、モータフェーズ、ステップカウンタ値、現在出現図柄番号を配置しているので、リール間のアドレス距離は大きくなるものの（３、６、または、９）、同一のリールにおけるパラメータ毎のアドレス距離は最大で現在出現図柄番号のアドレス−モータフェーズのアドレスの２となる。したがって、図１３に示した同一のプログラムであっても、「ＬＤ  （ｑｑ＋ｖ），Ａ」や「ＬＤ  Ａ，（ｑｑ＋ｖ）」のｖが０〜７の範囲（所定距離範囲）に収まるので、コード化した場合のコマンド長を２バイトに短縮化することが可能となる。
【００９４】
なお、図１５のように変数の配置を変えることで、図１２の７行目の「ＩＮＣ  ＩＹ」を、例えば、「ＡＤＤＷＢ  ＩＹ，＿ＳＭＣ＿ＰＨＳ２−＿ＳＭＣ＿ＰＨＳ」に変更する必要があるが、かかる変更によってもコマンド長が数バイト増えるだけなので、総合的にバイト数を減らすことができる。以下、具体的な例を示す。
【００９５】
図１６、図１７は、定常回転中処理全体を実現するためのプログラムを説明するための説明図である。なお、図１６はリール数を４としたときの効果を示し、図１７はリール数を３としたときの効果を示す。上記では、図１０〜図１４を用い、サブルーチンである定常回転中処理として、「図柄情報更新」を遂行する例を挙げて説明したが、実際には、「インデックスセンサエッジチェック」、「インデックスセンサエッジ検出時処理」、「インデックスセンサ検出後処理」、「回転エラー検出上限判定」、「図柄情報更新」、「停止要求確認」の順で処理が遂行される。このうち「図柄情報更新」が、図１３のプログラムに相当する。なお、ここに挙げた処理の内容は本実施形態と直接関係ないので、その詳細な説明を割愛し、上記のように変数の配置を変えたことによる効果のみを説明する。
【００９６】
ここでは、図１６に示すように、変数の配置を変更したことにより、所定のコマンドによってコマンド長のバイト数が削減される。例えば、「インデックスセンサエッジチェック」ではコマンド長が２バイト削減され、「インデックスセンサエッジ検出時処理」ではコマンド長が７バイト削減され、「回転エラー検出上限判定」ではコマンド長が１バイト削減され、「図柄情報更新」では図１３〜図１５を用いて説明したようにコマンド長が２バイト削減され、「停止要求確認」ではコマンド長が１バイト削減される。そうすると、定常回転中処理全体では、コマンド長が１３バイト削減されたことになる。
【００９７】
したがって、リール数が４つの場合において、上述したように変数の配置を変更したことにより、「ＡＤＤＷＢ」といった他のコマンドが用いられ、コマンド長が数バイト増加したとしても、プログラム全体では、例えば９バイト削減することができる。こうして、遊技制御処理を行うための制御領域の容量を確保することが可能となる。
【００９８】
また、リール数が３つの場合であっても、図１７に示すように、変数の配置を変更したことにより、所定のコマンドによってコマンド長のバイト数が削減される。例えば、「インデックスセンサエッジチェック」ではコマンド長が２バイト削減され、「インデックスセンサエッジ検出時処理」ではコマンド長が５バイト削減され、「回転エラー検出上限判定」ではコマンド長が１バイト削減され、「図柄情報更新」では図１３〜図１５を用いて説明したようにコマンド長が２バイト削減され、「停止要求確認」ではコマンド長が１バイト削減される。そうすると、定常回転中処理全体では、コマンド長が１１バイト削減されたことになる。
【００９９】
したがって、リール数が３つの場合において、上述したように変数の配置を変更したことにより、「ＡＤＤＷＢ」といった他のコマンドが用いられ、コマンド長が数バイト増加したとしても、プログラム全体では、例えば２バイト削減することができる。こうして、４リール同様、３リールとした場合にも、遊技制御処理を行うための制御領域の容量を確保することが可能となる。
【０１００】
また、ここでは、「ＬＤ  （ｑｑ＋ｖ），Ａ」や「ＬＤ  Ａ，（ｑｑ＋ｖ）」がサブルーチンに含まれ、アドレスをリール分オフセットさせながら、サブルーチンを繰り返し呼び出す例を挙げて説明したが、かかる場合に限らず、サブルーチンではなくとも、「ＬＤ  （ｑｑ＋ｖ），Ａ」や「ＬＤ  Ａ，（ｑｑ＋ｖ）」といったコマンドを、アドレスをオフセットさせながら繰り返し実行すれば足りる。このときに、コマンドで参照される複数の変数同士のアドレス距離が、オフセットされるアドレス距離より近くなるように配置されればよい。こうすることで、コマンドのコマンド長を短縮化することが可能となる。
【０１０１】
また、コマンド長を短縮化するためには、オフセットされるアドレス距離に制限はなく、コマンドで参照される複数の変数同士のアドレス距離が所定距離範囲内、ここでは０〜７であれば足りる。
【０１０２】
このように、ｖを０〜７の範囲に収めるように変数を配置することで、所定のコマンドのコマンド長を短縮化でき、ワークエリアの変数が占有する容量を変えることなく、遊技制御処理を行うための制御領域の容量を確保することが可能となる。
【０１０３】
以上、添付図面を参照しながら本発明の好適な実施形態について説明したが、本発明はかかる実施形態に限定されないことはいうまでもない。当業者であれば、特許請求の範囲に記載された範疇において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本発明の技術的範囲に属するものと了解される。
【０１０４】
また、上述した実施形態では、主制御基板２００と副制御基板２０２とが、遊技を進行するための機能部を分担するように配したが、主制御基板２００の機能部を副制御基板２０２に配しても、副制御基板２０２の機能部を主制御基板２００に配してもよく、また、全ての機能部を１の制御基板に纏めて配することもできる。
【０１０５】
また、上述した実施形態においては、遊技利益としてボーナス遊技を挙げて説明したが、かかる場合に限らず、上述したＡＴ演出状態や、リプレイ役の当選確率が通常遊技より高くなるように設定してメダルの消費を抑えることで、メダルの消費に対する当選役の抽選機会を増やす、ＲＴ（リプレイタイム）遊技や、上記のＡＴとＲＴ遊技が同時に進行されるＡＲＴ遊技を設けてもよい。
【０１０６】
また、上述した主制御基板２００および副制御基板２０２が行う各処理は、必ずしもフローチャートとして記載された順序に沿って時系列に処理する必要はなく、並列的あるいはサブルーチンによる処理を含んでもよい。
【符号の説明】
【０１０７】
１００  スロットマシン（遊技機）
１３４ａ、１３４ｂ、１３４ｃ、１３４ｄ  リール
２００ａ  メインＣＰＵ
２００ｂ  メインＲＯＭ
２００ｃ  メインＲＡＭ
２６２  ステッピングモータ
３０６  リール制御手段
【図１】
2020103697.tif 000003
【図２】
2020103697.tif 000004
【図３】
2020103697.tif 000005
【図４】
2020103697.tif 000006
【図５】
2020103697.tif 000007
【図６】
2020103697.tif 000008
【図７】
2020103697.tif 000009
【図８】
2020103697.tif 000010
【図９】
2020103697.tif 000011
【図１０】
2020103697.tif 000012
【図１１】
2020103697.tif 000013
【図１２】
2020103697.tif 000014
【図１３】
2020103697.tif 000015
【図１４】
2020103697.tif 000016
【図１５】
2020103697.tif 000017
【図１６】
2020103697.tif 000018
【図１７】
2020103697.tif 000019
【手続補正書】
【提出日】令和1年5月27日(2019.5.27)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
遊技の進行に用いられる所定の基板において、ＣＰＵと、前記ＣＰＵに用いられるプログラムが格納されたＲＯＭと、前記プログラムにより更新される変数を保持するＲＡＭと、を備える遊技機であって、
前記ＣＰＵは、
前記ＲＯＭから前記プログラムを読み出し、
前記ＲＡＭの、第１レジスタの値に所定のオフセット値を加えたアドレスに格納された変数を第２レジスタに読み出すコマンド、もしくは、前記ＲＡＭの、第１レジスタの値に所定のオフセット値を加えたアドレスに格納された変数を第２レジスタの値に更新するコマンドを、前記第１レジスタの値を変更することなく前記オフセット値を０〜７の範囲でのみ変更して実行する所定の処理を、
前記第１レジスタの値をオフセットさせながら繰り返し実行する遊技機。
【請求項２】
前記コマンドはサブルーチンに含まれ、
前記ＣＰＵは、前記第１レジスタの値をオフセットさせながら、前記サブルーチンを繰り返し呼び出す請求項１に記載の遊技機。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
上記課題を解決するために、遊技の進行に用いられる所定の基板において、ＣＰＵと、前記ＣＰＵに用いられるプログラムが格納されたＲＯＭと、前記プログラムにより更新される変数を保持するＲＡＭと、を備える本発明の遊技機では、前記ＣＰＵは、前記ＲＯＭからプログラムを読み出し、前記ＲＡＭの、第１レジスタの値に所定のオフセット値を加えたアドレスに格納された変数を第２レジスタに読み出すコマンド、もしくは、前記ＲＡＭの、第１レジスタの値に所定のオフセット値を加えたアドレスに格納された変数を第２レジスタの値に更新するコマンドを、前記第１レジスタの値を変更することなく前記オフセット値を０〜７の範囲でのみ変更して実行する所定の処理を、前記第１レジスタの値をオフセットさせながら繰り返し実行する。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】０００８
【補正方法】変更
【補正の内容】
【０００８】
前記コマンドはサブルーチンに含まれ、前記ＣＰＵは、前記第１レジスタの値をオフセットさせながら、前記サブルーチンを繰り返し呼び出すとしてもよい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０００９
【補正方法】削除
【補正の内容】