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