(57)【要約】【課題】遊技制御のためにデータをＲＯＭからＲＡＭの使用領域に読み込む繰り返し処理のプログラムにおいて、プログラムサイズの増大を抑制する。【解決手段】繰り返し処理における書き込み先アドレスは、第１部分アドレス値と第２部分アドレス値に分けて記述される。繰り返し回数は、二つの第２部分アドレス値に各々対応させた各々４ビットで示される二つの繰り返し回数の値を並べた１バイト・データとして構成される。制御装置は、第２部分アドレス値の一つを設定し、繰り返し処理において１回の格納処理を実行する度に繰り返し回数の１バイト・データの値を１減算し、１バイト・データの下位４ビットの値が「０」になったならば、１バイト・データにおける上位４ビットの値と下位４ビットの値とを入れ替え、第２部分アドレス値を変更して、繰り返し回数を記録した１バイト・データの値が「０」になるまで格納処理を実行する。【選択図】図１１
2014166254.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを実行して遊技の進行を制御する制御装置と、
前記制御装置により実行される前記プログラムを格納した制御領域および遊技機の制御において用いられるデータを格納したデータ領域を有する読み出し用メモリと、
前記制御装置による処理において用いられ、所定の容量の領域が使用領域として設定された読み書き用メモリと、
を備え、
前記読み出し用メモリの前記制御領域に格納された前記プログラムによる処理には、前記読み出し用メモリの前記データ領域に格納されているデータを読み出して前記読み書き用メモリの前記使用領域の格納先アドレスに格納する格納処理を所定回数繰り返す繰り返し処理を含み、
前記読み出し用メモリの前記データ領域には、当該繰り返し処理において前記読み書き用メモリの前記使用領域に格納される格納データと当該格納データが格納されるべき前記格納先アドレスの一部の値である第１部分アドレス値との組が当該繰り返し回数分格納され、
前記繰り返し回数は、前記格納先アドレスのうち、前記第１部分アドレス値を除く部分の値である第２部分アドレス値に応じて２種類設定され、各々４ビットで示される二つの繰り返し回数の値を、前記繰り返し処理を実行する順番で下位側から並べた１バイト・データとして構成され、
前記制御装置は、前記プログラムにしたがって前記繰り返し処理を行う場合に、
前記第２部分アドレス値の一つを設定し、
前記読み出し用メモリの前記データ領域から前記第１部分アドレス値と当該第１部分アドレス値に対応する前記格納データとを読み出し、
前記読み書き用メモリの前記使用領域のうち、読み出した当該第１部分アドレス値と設定された当該第２部分アドレス値とを組み合わせて得られる格納先アドレスに、読み出した当該格納データを格納する格納処理を、設定された当該第２部分アドレス値に対応する繰り返し回数だけ繰り返し実行し、
前記繰り返し処理において１回の前記格納処理を実行する度に前記繰り返し回数を記録した前記１バイト・データの値を１減算し、
前記１バイト・データの下位４ビットに記録された繰り返し回数の値が「０」になったならば、当該１バイト・データにおける上位４ビットの値と下位４ビットの値とを入れ替え、
前記第２部分アドレス値を変更して、前記繰り返し回数を記録した前記１バイト・データの値が「０」になるまで前記格納処理を実行すること、
を特徴とする、遊技機。
【請求項２】
前記格納先アドレスは、２バイトのデータであり、
前記第１部分アドレス値は、前記格納先アドレスにおける下位１バイトの値であり、
前記第２部分アドレス値は、前記格納先アドレスにおける上位１バイトの値であること、
を特徴とする、請求項１に記載の遊技機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、メモリからプログラムを読み込んで実行することにより遊技の進行を制御する制御装置を備えた遊技機に関する。
【背景技術】
【０００２】
遊技機の主基板（遊技制御基板）には、遊技制御を行うためのプログラムを格納したメモリ（記憶装置）およびプログラムを読み込んで処理を実行するプロセッサ（制御装置）が設けられている。また、プログラムは、読み出し専用のメモリ（ＲＯＭ）に格納されており、プロセッサであるＣＰＵは、このＲＯＭからプログラムのコードやデータを読み出して読み書き可能なメモリ（ＲＡＭ）の使用領域に格納し、このＲＡＭの使用領域を用いて処理を実行する。
【０００３】
このＲＯＭおよびＲＡＭは、使用可能な記憶容量が規定されている。現行の規定では、ＲＯＭにおいては、全体の記憶容量が１６Ｋバイト（１Ｋバイト＝１０２４バイト）まで、プログラムを格納しておく制御領域の記憶容量が３Ｋバイトまでである（例えば、特許文献１、非特許文献１参照）。また、ＲＡＭにおいては、全体の記憶容量が１０２４バイトまで、使用領域の記憶容量が５１２バイトまでである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１４２５６５号公報
【非特許文献】
【０００５】
【非特許文献１】「平成18年度 標準技術集 遊技機及びその関連技術」４−４−３ 筐体関連／基板・音響・その他／基板、［online］、2007年3月14日掲載、特許庁、［平成２４年１２月２６日検索］、インターネット〈ＵＲＬ：http://www.jpo.go.jp/shiryou/s_sonota/hyoujun_gijutsu/yuugiki/pachinko/4-4-3.pdf#page=1〉
【発明の概要】
【発明が解決しようとする課題】
【０００６】
近年、遊技機の遊技制御は、遊技における興趣を高めるために複雑化する傾向にある。しかし、主基板に搭載される記憶装置の記憶容量は厳しく制限されているので、遊技制御のためのプログラムやデータのサイズを際限なく増大させることはできない。そのため、複雑な遊技制御を行う場合にも、プログラムサイズやデータサイズの拡大をできるだけ抑制することが要請される。
【０００７】
本発明は、上記の課題に鑑み、遊技制御のためにＲＯＭに格納されているデータをＲＡＭの使用領域に読み込む処理をＣＰＵが実行するためのプログラムにおいて、処理対象のデータ量が増大してもプログラムサイズの増大を抑制することを目的とする。
【課題を解決するための手段】
【０００８】
上記の目的を達成する本発明は、次のような遊技機として実現される。この遊技機は、
プログラムを実行して遊技の進行を制御する制御装置（ＣＰＵ２０１）と、
前記制御装置（ＣＰＵ２０１）により実行される前記プログラムを格納した制御領域（２０２ａ）および遊技機の制御において用いられるデータを格納したデータ領域（２０２ｂ）を有する読み出し用メモリ（ＲＯＭ２０２）と、
前記制御装置（ＣＰＵ２０１）による処理において用いられ、所定の容量の領域が使用領域（２０３ａ）として設定された読み書き用メモリ（ＲＡＭ２０３）と、
を備え、
前記読み出し用メモリ（ＲＯＭ２０２）の前記制御領域（２０２ａ）に格納された前記プログラムによる処理には、前記読み出し用メモリ（ＲＯＭ２０２）の前記データ領域（２０２ｂ）に格納されているデータを読み出して前記読み書き用メモリ（ＲＡＭ２０３）の前記使用領域（２０３ａ）の格納先アドレスに格納する格納処理を所定回数繰り返す繰り返し処理を含み、
前記読み出し用メモリ（ＲＯＭ２０２）の前記データ領域（２０２ｂ）には、当該繰り返し処理において前記読み書き用メモリ（ＲＡＭ２０３）の前記使用領域（２０３ａ）に格納される格納データと当該格納データが格納されるべき前記格納先アドレスの一部の値である第１部分アドレス値との組が当該繰り返し回数分格納され、
前記繰り返し回数は、前記格納先アドレスのうち、前記第１部分アドレス値を除く部分の値である第２部分アドレス値に応じて２種類設定され、各々４ビットで示される二つの繰り返し回数の値を、前記繰り返し処理を実行する順番で下位側から並べた１バイト・データとして構成され、
前記制御装置（ＣＰＵ２０１）は、前記プログラムにしたがって前記繰り返し処理を行う場合に、
前記第２部分アドレス値の一つを設定し、
前記読み出し用メモリ（ＲＯＭ２０２）の前記データ領域（２０２ｂ）から前記第１部分アドレス値と当該第１部分アドレス値に対応する前記格納データとを読み出し、
前記読み書き用メモリ（ＲＡＭ２０３）の前記使用領域（２０３ａ）のうち、読み出した当該第１部分アドレス値と設定された当該第２部分アドレス値とを組み合わせて得られる格納先アドレスに、読み出した当該格納データを格納する格納処理を、設定された当該第２部分アドレス値に対応する繰り返し回数だけ繰り返し実行し、
前記繰り返し処理において１回の前記格納処理を実行する度に前記繰り返し回数を記録した前記１バイト・データの値を１減算し、
前記１バイト・データの下位４ビットに記録された繰り返し回数の値が「０」になったならば、当該１バイト・データにおける上位４ビットの値と下位４ビットの値とを入れ替え、
前記第２部分アドレス値を変更して、前記繰り返し回数を記録した前記１バイト・データの値が「０」になるまで前記格納処理を実行すること、
を特徴とする。
このような構成とすることにより、第２部分アドレス値を変更しながら一連の繰り返し処理によって、多くの格納先アドレスへのデータの格納を行うことができ、複数の繰り返し処理のためのプログラムを用意する場合と比較して、格納先アドレスおよび格納するデータ量の増大に伴う繰り返し処理におけるプログラムサイズの増大を抑制することができる。
【０００９】
また、より好ましくは、
前記格納先アドレスは、２バイトのデータであり、
前記第１部分アドレス値は、前記格納先アドレスにおける下位１バイトの値であり、
前記第２部分アドレス値は、前記格納先アドレスにおける上位１バイトの値であること、を特徴とする。
このような構成とすれば、１バイトのサイズのアドレスに対応する繰り返し処理のためのプログラムを複数用意することなく、２バイトのサイズのアドレスに対応する繰り返し処理を実現することができる。
【００１０】
なお、本欄における上記符号は、本発明の説明に際して例示的に付したものであり、この符号により本発明が減縮されるものではない。
【発明の効果】
【００１１】
本発明によれば、遊技制御のためにＲＯＭに格納されているデータをＲＡＭの使用領域に読み込む処理をＣＰＵが実行するためのプログラムのサイズの増大を抑制することができる。
【図面の簡単な説明】
【００１２】
【図１】本実施の形態に係るパチンコ遊技機の概略正面図である。
【図２】本実施の形態のパチンコ遊技機の部分平面拡大図である。
【図３】本実施の形態のパチンコ遊技機の制御ユニットの内部構成を示す図である。
【図４】本実施の形態の遊技制御部の機能構成を示すブロック図である。
【図５】本実施の形態の遊技制御部の主要動作を示すフローチャートである。
【図６】演出制御部の動作を示すフローチャートである。
【図７】遊技制御部におけるＲＯＭおよびＲＡＭのメモリ・イメージの例を示す図である。
【図８】繰り返し処理におけるロード対象データの、ＲＯＭの制御領域におけるデータ構成の例を示す図である。
【図９】繰り返し処理の呼び出し時の動作を示すフローチャートである。
【図１０】データの格納先のアドレスが２５６個以下の場合の繰り返し処理の動作を示すフローチャートである。
【図１１】データの格納先のアドレスが２５６個を超える場合の繰り返し処理の動作を示すフローチャートである。
【図１２】図１１に示す動作において、レジスタにセットされた繰り返し回数の値の変化の様子を示す図である。
【図１３】データの格納先のアドレスが２５６個を超える場合の繰り返し処理における他の動作例を示すフローチャートである。
【図１４】データの格納先のアドレスが２５６個を超える場合の繰り返し処理における、さらに他の動作例を示すフローチャートである。
【図１５】図１４に示す動作において、レジスタにセットされた繰り返し回数の値の変化の様子を示す図である。
【図１６】データの格納先のアドレスが２５６個を超える場合の繰り返し処理における、さらに他の動作例を示すフローチャートである。
【図１７】図１６に示す動作において、レジスタにセットされた繰り返し回数の値の変化の様子を示す図である。
【図１８】繰り返し処理における繰り返し回数を示す２バイト・データに対する値のシフトの様子を示す図である。
【発明を実施するための形態】
【００１３】
以下、添付図面を参照して、本発明の実施の形態について詳細に説明する。
〔遊技機の基本構成〕
図１は、本実施の形態に係るパチンコ遊技機１００の概略正面図である。
同図に示す遊技機の一例としてのパチンコ遊技機１００は、遊技者の指示操作により打ち出された遊技球が入賞すると賞球を払い出すように構成されたものである。このパチンコ遊技機１００は、遊技球が打ち出される遊技盤１１０と、遊技盤１１０を囲む枠部材１５０とを備えている。遊技盤１１０は、枠部材１５０に着脱自在に取り付けられている。
【００１４】
遊技盤１１０は、前面に、遊技球により遊技を行うための遊技領域１１１と、下方から発射された遊技球が上昇して遊技領域１１１の上部位置へ向かう通路を形成するレール部材１１２と、遊技領域１１１の右側に遊技球を案内する案内部材１１３とを備えている。
本実施の形態では、遊技者により視認され易い遊技領域１１１の位置に、演出のための各種の画像を表示する画像表示部１１４が配設されている。この画像表示部１１４は、液晶ディスプレイ等による表示画面を備え、遊技者によるゲームの進行に伴い、例えば、図柄抽選結果（図柄変動結果）を遊技者に報知するための装飾図柄を表示したり、キャラクタの登場やアイテムの出現による演出画像を表示したりする。すなわち、画像表示部１１４は、装飾図柄や演出画像の表示手段である。
また、遊技盤１１０の前面に、各種の演出に用いられる可動役物１１５および盤ランプ１１６を備えている。可動役物１１５は、遊技盤１１０上で動作することにより各種の演出を行い、また、盤ランプ１１６は、発光することで各種の演出を行う。
【００１５】
遊技領域１１１には、遊技球が落下する方向に変化を与えるための図示しない遊技くぎおよび風車等が配設されている。また、遊技領域１１１には、入賞や抽選に関する種々の役物が所定の位置に配設されている。また、遊技領域１１１には、遊技領域１１１に打ち出された遊技球のうち入賞口に入賞しなかったものを遊技領域１１１の外に排出する排出口１１７が配設されている。
【００１６】
本実施の形態では、入賞や抽選に関する種々の役物として、遊技球が入ると入賞して特別図柄抽選（大当たり抽選）が始動する第１始動口１２１および第２始動口１２２と、遊技球が通過すると普通図柄抽選（開閉抽選）が始動する始動ゲート（以下、単にゲートと呼ぶ）１２４と、が遊技盤１１０に配設されている。なお、図１において、ゲート１２４は、遊技領域１１１の左右にそれぞれ設けられており、左側のゲート１２４は１２４Ｌと記載し、右側のゲート１２４は１２４Ｒと記載している。また、ここにいう第１始動口１２１および第２始動口１２２とは、予め定められた特別図柄表示器を作動させることとなる遊技球の入賞に係る入賞口をいう。具体的には、第１始動口１２１および第２始動口には、入賞の際に遊技球の通過を検知するスイッチ（後述の第１始動口スイッチ２１１および第２始動口スイッチ２１２）が設けられている。そして、第１始動口１２１または第２始動口１２２に遊技球が入賞した際にこのスイッチが遊技球の通過を検知することが、特別図柄表示器を作動させる契機となる。
【００１７】
第２始動口１２２は、チューリップの花の形をした一対の羽根が電動ソレノイドにより開閉すると共に点灯する普通電動役物としての電動チューリップ（開閉部材）１２３を備えている。電動チューリップ１２３は、羽根が閉じていると、遊技球が第２始動口１２２へ入り難い一方で、羽根が開くと第２始動口１２２の入口が拡大して遊技球が第２始動口１２２へ入り易くなるように構成されている。そして、電動チューリップ１２３は、普通図柄抽選に当選すると、点灯ないし点滅しながら羽根が規定時間（例えば６秒間）および規定回数（例えば３回）だけ開く。
【００１８】
なお、パチンコ遊技機１００は、所定の条件下で、特別図柄抽選において大当たりに当選する大当たり確率が変動する場合（低確状態（例えば３００分の１）から高確状態（例えば３０分の１）への変動）がある。また、パチンコ遊技機１００は、所定の条件下で、特別図柄抽選時の特別図柄変動時間が短縮されたり、普通図柄抽選時の当選する確率が高まったり、普通図柄抽選時の普通図柄変動時間が短縮されたり、電動チューリップ１２３の羽根の開時間が延長されたり、電動チューリップ１２３の羽根が開く回数が増えたりする場合がある。
【００１９】
また、本実施の形態では、入賞や抽選に関するその他の役物として、特別図柄抽選の結果に応じて開放する特別電動役物としての大入賞口１２５と、遊技球が入賞しても抽選が始動しない普通入賞口１２６と、が遊技盤１１０に配設されている。
本実施の形態では、遊技盤１１０の右下の位置に、抽選結果や保留数に関する表示を行う表示器１３０が配設されている。表示器１３０の詳細な構成については後述する。
【００２０】
また、遊技盤１１０の裏面には、内部抽選および当選の判定等を行い、遊技の進行を制御する遊技制御基板、演出を統括的に制御する演出制御基板、画像および音による演出を制御する画像制御基板、各種のランプおよび可動役物１１５による演出を制御するランプ制御基板などの図示しない各種の基板等が取り付けられる。また、遊技盤１１０の裏面には、供給された２４ＶのＡＣ電源をＤＣ電源に変換して各種の基板等に出力するスイッチング電源（不図示）が配設されている。
【００２１】
枠部材１５０は、遊技者がハンドル１５１に触れてレバー１５２を時計方向に回転させる操作を行うとその操作角度に応じた打球力にて遊技球を所定の時間間隔（例えば１分間に１００個）で電動発射する発射装置（不図示）を備えている。また、枠部材１５０は、遊技者のレバー１５２による操作と連動したタイミングで発射装置に遊技球を１つずつ順に供給する供給装置（不図示）と、供給装置が発射装置に供給する遊技球を一時的に溜めておく皿１５３（図２参照）と、を備えている。この皿１５３には、例えば払い出しユニットによる払出球が払い出される。
なお、本実施の形態では、皿１５３を上下皿一体で構成しているが、上皿と下皿とを分離する構成例も考えられる。また、発射装置のハンドル１５１を所定条件下で発光させる構成例も考えられる。
【００２２】
また、枠部材１５０は、発射装置のハンドル１５１に遊技者が触れている状態であっても遊技球の発射を一時的に停止させるための停止ボタン１５４と、皿１５３に溜まっている遊技球を箱（不図示）に落下させて取り出すための取り出しボタン１５５と、を備えている。
また、枠部材１５０は、パチンコ遊技機１００の遊技状態や状況を告知したり各種の演出を行ったりするスピーカ１５６および枠ランプ１５７を備えている。スピーカ１５６は、楽曲や音声、効果音による各種の演出を行い、また、枠ランプ１５７は、点灯／点滅によるパターンや発光色の違い等で光による各種の演出を行う。なお、枠ランプ１５７については、光の照射方向を変更する演出を行うことを可能にする構成例が考えられる。
また、枠部材１５０は、遊技盤１１０を遊技者と隔てるための透明板（不図示）を備えている。
【００２３】
図２は、本実施の形態に係るパチンコ遊技機１００を説明する図であり、（ａ）は、遊技盤１１０の右下に配設された表示器１３０の一例を示す拡大図であり、（ｂ）は、パチンコ遊技機１００の部分平面図である。
パチンコ遊技機１００の表示器１３０は、ＬＥＤ等の発光素子（以下、発光素子の例としてＬＥＤを用いた場合について説明するが、同様の用途で使用可能な他の発光素子で置き換え得るものとする）を用いて所定の情報を表示する装置であり、図２の（ａ）に示すように、第１始動口１２１の入賞に対応して作動する第１特別図柄表示器２２１と、第２始動口１２２の入賞に対応して作動する第２特別図柄表示器２２２と、ゲート１２４の通過に対応して作動する普通図柄表示器２２３と、を備えている。第１特別図柄表示器２２１は、第１始動口１２１の入賞による特別図柄を変動表示しその抽選結果を表示する。第２特別図柄表示器２２２は、第２始動口１２２の入賞による特別図柄を変動表示しその抽選結果を表示する。普通図柄表示器２２３は、遊技球がゲート１２４を通過することにより普通図柄を変動表示しその抽選結果を表示する。本実施の形態では、第１特別図柄表示器２２１、第２特別図柄表示器２２２は、各々ＬＥＤを配列した表示装置で構成され、その点灯態様によって特別図柄抽選の抽選結果が表示される。同様に、普通図柄表示器２２３も、ＬＥＤを配列した表示装置で構成され、その点灯態様によって普通図柄抽選の抽選結果が表示される。
【００２４】
また、表示器１３０は、第１特別図柄表示器２２１での保留に対応して作動する第１特別図柄保留表示器２１８と、第２特別図柄表示器２２２での保留に対応して作動する第２特別図柄保留表示器２１９と、普通図柄表示器２２３での保留に対応して作動する普通図柄保留表示器２２０と、を備えている。本実施の形態では、第１特別図柄保留表示器２１８、第２特別図柄保留表示器２１９および普通図柄保留表示器２２０は、各々ＬＥＤを配列した表示装置で構成され、その点灯態様によって保留数が表示される。
【００２５】
ここで、保留について説明する。特別図柄の変動表示動作中（入賞１回分の変動表示が行なわれている間）にさらに他の遊技球による入賞があった場合、図柄が変動中であるために、後の入賞に基づく図柄の変動表示動作を開始することができない。そのため、後の入賞は規定個数（例えば４個）を限度に記憶され、その入賞した遊技球に対する図柄の変動表示動作は、先に入賞した遊技球に対する変動表示動作が終了するまで、保留される。これは、普通図柄の変動表示動作についても同様である。このような保留がなされていることおよびその保留の数（未抽選数）が、第１特別図柄保留表示器２１８、第２特別図柄保留表示器２１９および普通図柄保留表示器２２０に表示される。
【００２６】
さらに、表示器１３０は、パチンコ遊技機１００の状態を表示する状態表示器２２４を備えている。本実施の形態では、状態表示器２２４は、２個のＬＥＤを配列した表示装置で構成されている。２個のＬＥＤのうち１つは、パチンコ遊技機１００の遊技状態が、特別図柄抽選の当選確率が高確率に変動（確率変動）した遊技状態である確変遊技状態となっているか否かを点灯により報知するものである。他の１つは、右打ちすることによって（遊技球の打球力を変更することによって）大入賞口１２５や第２始動口１２２に入賞しやすい遊技者に有利な遊技状態となっているか否かを点灯により報知するものである。
【００２７】
パチンコ遊技機１００の枠部材１５０は、遊技者が演出に対する入力を行うための入力装置を備えている。図２の（ｂ）に示すように、本実施の形態では、入力装置の一例として、演出ボタン１６１と、演出ボタン１６１に隣接し、略十字に配列された複数のキーからなる演出キー１６２と、が枠部材１５０に配設されている。演出キー１６２は、その中央に１つの中央キーを配置し、また、中央キーの周囲に略同一形状の４つの周囲キーを配置して構成されている。遊技者は、４つの周囲キーを操作することにより、画像表示部１１４に表示されている複数の画像のいずれかを指示することが可能であり、また、中央キーを操作することにより、指示した画像を選択することが可能である。また、入力装置の形態としては、図示した演出ボタン１６１および演出キー１６２の他、レバーやダイヤル等、演出の内容等に応じて様々な入力形態を採用することができる。
【００２８】
〔制御ユニットの構成〕
次に、パチンコ遊技機１００での動作制御や信号処理を行う制御ユニットについて説明する。
図３は、制御ユニットの内部構成を示すブロック図である。同図に示すように、制御ユニットは、メイン制御手段として、内部抽選および当選の判定等といった払い出す賞球数に関する各種制御を行う遊技制御部２００を備えている。また、サブ制御手段として、演出を統括的に制御する演出制御部３００と、画像および音響を用いた演出を制御する画像／音響制御部３１０と、各種のランプおよび可動役物１１５を用いた演出を制御するランプ制御部３２０と、払出球の払い出し制御を行う払出制御部４００と、を備えている。
【００２９】
前述したように、遊技制御部２００、演出制御部３００、画像／音響制御部３１０、ランプ制御部３２０、および払出制御部４００各々は、遊技盤１１０の後面に配設されたメイン基板としての遊技制御基板、サブ基板としての演出制御基板、画像制御基板、ランプ制御基板、および払出制御基板において個別に構成されている。
【００３０】
〔遊技制御部の構成・機能〕
遊技制御部２００は、内部抽選および当選の判定等といった払い出し賞球数に関連する各種制御を行う際の演算処理を行うＣＰＵ２０１と、ＣＰＵ２０１にて実行されるプログラムや各種データ等が記憶されたＲＯＭ２０２と、ＣＰＵ２０１の作業用メモリ等として用いられるＲＡＭ２０３と、を備えている。詳しくは後述するが、遊技制御部２００において遊技制御に係る処理が行われる場合、制御装置であるＣＰＵ２０１により、必要に応じて処理に要するデータが読み出し用メモリであるＲＯＭ２０２から読み出されて読み書き用メモリであるＲＡＭ２０３に格納される。そして、ＣＰＵ２０１は、ＲＡＭ２０３に格納したデータを用いて遊技制御に係る処理を実行する。
遊技制御部２００は、第１始動口１２１または第２始動口１２２に遊技球が入賞すると特別図柄抽選を行い、特別図柄抽選での当選か否かの判定結果を演出制御部３００に送る。また、特別図柄抽選時の当選確率の変動設定（例えば３００分の１から３０分の１への変動設定）、特別図柄抽選時の特別図柄変動時間の短縮設定、および普通図柄抽選時の普通図柄変動時間の短縮設定を行い、設定内容を演出制御部３００に送る。
さらに、遊技制御部２００は、普通電動役物である電動チューリップ１２３の羽根の開時間の延長、および電動チューリップ１２３の羽根が開く回数の設定、さらには羽根が開く際の開閉動作間隔の設定を制御する。また、遊技制御部２００は、遊技球が連続的に第１始動口１２１または第２始動口１２２へ入賞したときの未抽選分の限度個数（例えば４個）までの保留や、遊技球が連続的にゲート１２４を通過したときの未抽選分の限度個数（例えば４個）までの保留を設定する。
さらにまた、遊技制御部２００は、特別図柄抽選の結果に応じて、特別電動役物である大入賞口１２５が所定条件（例えば３０秒経過または遊技球１０個の入賞）を満たすまで開状態を維持するラウンドを所定回数だけ繰り返すように制御する。さらには、大入賞口１２５が開く際の開閉動作間隔を制御する。
【００３１】
さらに、遊技制御部２００は、第１始動口１２１、第２始動口１２２、大入賞口１２５および普通入賞口１２６に遊技球が入賞すると、遊技球が入賞した場所に応じて１つの遊技球当たり所定数の賞球を払い出すように、払出制御部４００に対する指示を行う。例えば、第１始動口１２１に遊技球が入賞すると３個の賞球、第２始動口１２２に遊技球が入賞すると４個の賞球、大入賞口１２５に遊技球が入賞すると１３個の賞球、普通入賞口１２６に遊技球が入賞すると１０個の賞球をそれぞれ払い出すように、払出制御部４００に指示命令（コマンド）を送る。なお、ゲート１２４を遊技球が通過したことを検出しても、それに連動した賞球の払い出しは払出制御部４００に指示しない。
払出制御部４００が遊技制御部２００の指示に従って賞球の払い出しを行った場合には、遊技制御部２００は、払い出した賞球の個数に関する情報を払出制御部４００から取得する。それにより、払い出した賞球の個数を管理する。
【００３２】
遊技制御部２００には、検知手段として、図３に示すように、第１始動口１２１への遊技球の入賞を検出する第１始動口検出部（第１始動口スイッチ（ＳＷ））２１１と、第２始動口１２２への遊技球の入賞を検出する第２始動口検出部（第２始動口スイッチ（ＳＷ））２１２と、電動チューリップ１２３を開閉する電動チューリップ開閉部２１３と、ゲート１２４への遊技球の通過を検出するゲート検出部（ゲートスイッチ（ＳＷ））２１４と、が接続されている。
さらに、遊技制御部２００には、大入賞口１２５への遊技球の入賞を検出する大入賞口検出部（大入賞口スイッチ（ＳＷ））２１５と、大入賞口１２５を閉状態と突出傾斜した開状態とに設定する大入賞口開閉部２１６と、普通入賞口１２６への遊技球の入賞を検出する普通入賞口検出部（普通入賞口スイッチ（ＳＷ））２１７と、が接続されている。
【００３３】
また、遊技制御部２００には、第１始動口１２１への遊技球の入賞により始動した特別図柄抽選（大当たり抽選）の未抽選分の保留個数を限度個数内（例えば４個）で表示する第１特別図柄保留表示器２１８と、第２始動口１２２への遊技球の入賞により始動した特別図柄抽選の未抽選分の保留個数を限度個数内で表示する第２特別図柄保留表示器２１９と、ゲート１２４への遊技球の通過により始動した普通図柄抽選（開閉抽選）が始動する未抽選分の保留個数を限度個数内で表示する普通図柄保留表示器２２０と、が接続されている。
さらに、遊技制御部２００には、第１始動口１２１への遊技球の入賞により始動した特別図柄抽選の結果を表示する第１特別図柄表示器２２１と、第２始動口１２２への遊技球の入賞により始動した特別図柄抽選の結果を表示する第２特別図柄表示器２２２と、普通図柄抽選の結果を表示する普通図柄表示器２２３と、パチンコ遊技機１００の状態を表示する状態表示器２２４と、が接続されている。
【００３４】
そして、第１始動口スイッチ２１１、第２始動口スイッチ２１２、ゲートスイッチ２１４、大入賞口スイッチ２１５および普通入賞口スイッチ２１７にて検出された検出信号が、遊技制御部２００に送られる。また、遊技制御部２００からの制御信号が、電動チューリップ開閉部２１３、大入賞口開閉部２１６、第１特別図柄保留表示器２１８、第２特別図柄保留表示器２１９、普通図柄保留表示器２２０、第１特別図柄表示器２２１、第２特別図柄表示器２２２、普通図柄表示器２２３および状態表示器２２４に送られる。それにより、遊技制御部２００は、上記した払い出し賞球数に関連する各種制御を行う。
【００３５】
さらに、遊技制御部２００には、ホールに設置されたホストコンピュータ（不図示）に対して各種の情報を送信する盤用外部情報端子基板２５０が接続されている。そして、遊技制御部２００は、払出制御部４００から取得した、払い出した賞球数に関する情報や遊技制御部２００の状態等を示す情報を、盤用外部情報端子基板２５０を介してホストコンピュータに送信する。
【００３６】
〔演出制御部の構成・機能〕
演出制御部３００は、演出を制御する際の演算処理を行うＣＰＵ３０１と、ＣＰＵ３０１にて実行されるプログラムや各種データ等が記憶されたＲＯＭ３０２と、ＣＰＵ３０１の作業用メモリ等として用いられるＲＡＭ３０３と、日時を計測するリアルタイムクロック（ＲＴＣ）と、を備えている。
演出制御部３００は、例えば遊技制御部２００から送られる特別図柄抽選での当選か否かの判定結果に基づいて、演出内容を設定する。その際、演出ボタン１６１または演出キー１６２を用いたユーザからの操作入力を受けて、操作入力に応じた演出内容を設定する場合もある。この場合、例えば演出ボタン１６１等のコントローラ（不図示）から操作に応じた信号（操作信号）を受け付け、この操作信号により識別される操作内容を演出の設定に反映させる。
また、演出制御部３００は、遊技が所定期間中断された場合には、演出の一つとして客待ち用の画面表示の設定を指示する。
さらには、遊技制御部２００が特別図柄抽選時の当選確率を変動させた場合、特別図柄抽選時の特別図柄変動時間を短縮させた場合、および普通図柄抽選時の普通図柄変動時間を短縮させた場合には、演出制御部３００は設定された内容に対応させて演出内容を設定する。
また、演出制御部３００は、設定した演出内容の実行を指示するコマンドを画像／音響制御部３１０およびランプ制御部３２０に送る。
【００３７】
〔画像／音響制御部の構成・機能〕
画像／音響制御部３１０は、演出内容を表現する画像および音響を制御する際の演算処理を行うＣＰＵ３１１と、ＣＰＵ３１１にて実行されるプログラムや各種データ等が記憶されたＲＯＭ３１２と、ＣＰＵ３１１の作業用メモリ等として用いられるＲＡＭ３１３と、を備えている。
そして、画像／音響制御部３１０は、演出制御部３００から送られたコマンドに基づいて、画像表示部１１４に表示する画像およびスピーカ１５６から出力する音響を制御する。
具体的には、画像／音響制御部３１０のＲＯＭ３１２には、画像表示部１１４において遊技中に表示する図柄画像や背景画像、遊技者に抽選結果を報知するための装飾図柄、遊技者に予告演出を表示するためのキャラクタやアイテム等といった画像データが記憶されている。
ＲＯＭ３１２には、さらに、画像データと同期させて、または画像データとは独立にスピーカ１５６から出力させる楽曲や音声、さらにはジングル等の効果音等といった各種音響データが記憶されている。ＣＰＵ３１１は、ＲＯＭ３１２に記憶された画像データや音響データの中から、演出制御部３００から送られたコマンドに対応したものを選択して読み出す。さらには、読み出した画像データを用いて背景画像表示、図柄画像表示、図柄画像変動、およびキャラクタ／アイテム表示等のための画像処理と、読み出した音響データを用いた音声処理とを行う。
そして、画像／音響制御部３１０は、画像処理された画像データにより画像表示部１１４での画面表示を制御する。また、音声処理された音響データによりスピーカ１５６から出力される音響を制御する。
【００３８】
〔ランプ制御部の構成・機能〕
ランプ制御部３２０は、盤ランプ１１６や枠ランプ１５７の発光、および可動役物１１５の動作を制御する際の演算処理を行うＣＰＵ３２１と、ＣＰＵ３２１にて実行されるプログラムや各種データ等が記憶されたＲＯＭ３２２と、ＣＰＵ３２１の作業用メモリ等として用いられるＲＡＭ３２３と、を備えている。
そして、ランプ制御部３２０は、演出制御部３００から送られたコマンドに基づいて、盤ランプ１１６や枠ランプ１５７の点灯／点滅や発光色等を制御する。また、可動役物１１５の動作を制御する。
具体的には、ランプ制御部３２０のＲＯＭ３２２には、演出制御部３００にて設定される演出内容に応じた盤ランプ１１６や枠ランプ１５７での点灯／点滅パターンデータおよび発光色パターンデータ（発光パターンデータ）が記憶されている。ＣＰＵ３２１は、ＲＯＭ３２２に記憶された発光パターンデータの中から、演出制御部３００から送られたコマンドに対応したものを選択して読み出す。そして、ランプ制御部３２０は、読み出した発光パターンデータにより盤ランプ１１６や枠ランプ１５７の発光を制御する。
また、ランプ制御部３２０のＲＯＭ３２２には、演出制御部３００にて設定される演出内容に応じた可動役物１１５の動作パターンデータが記憶されている。ＣＰＵ３２１は、可動役物１１５に対しては、読み出した動作パターンデータによりその動作を制御する。
【００３９】
〔払出制御部の構成・機能〕
払出制御部４００は、払出球の払い出しを制御する際の演算処理を行うＣＰＵ４０１と、ＣＰＵ４０１にて実行されるプログラムや各種データ等が記憶されたＲＯＭ４０２と、ＣＰＵ４０１の作業用メモリ等として用いられるＲＡＭ４０３と、を備えている。
そして、払出制御部４００は、遊技制御部２００から送られたコマンドに基づいて、払出球の払い出しを制御する。
具体的には、払出制御部４００は、遊技制御部２００から、遊技球が入賞した場所（第１始動口１２１等）に応じた所定数の賞球を払い出すコマンドを取得する。そして、コマンドに指定された数だけの賞球を払い出すように払出駆動部４１１を制御する。ここでの払出駆動部４１１は、遊技球の貯留部から遊技球を送り出す駆動モータで構成される。
【００４０】
また、払出制御部４００には、払出駆動部４１１により遊技球の貯留部から実際に払い出された賞球の数を検出する払出球検出部４１２と、貯留部（不図示）での遊技球の貯留の有無を検出する球有り検出部４１３と、遊技者が遊技する際に使用する遊技球や払い出された賞球が保持される皿１５３が満タン状態に有るか否かを検出する満タン検出部４１４と、が接続されている。そして、払出制御部４００は、払出球検出部４１２、球有り検出部４１３および満タン検出部４１４にて検出された検出信号を受け取り、これらの検出信号に応じた所定の処理を行う。
さらに、払出制御部４００には、ホールに設置されたホストコンピュータに対して各種の情報を送信する枠用外部情報端子基板４５０が接続されている。そして、払出制御部４００は、例えば払出駆動部４１１に対して払い出すように指示した賞球数に関する情報や払出球検出部４１２にて検出された実際に払い出された賞球数に関する情報等を枠用外部情報端子基板４５０を介してホストコンピュータに送信する。また、遊技制御部２００に対しても、同様の情報を送信する。
【００４１】
〔遊技制御部の機能構成〕
続いて、遊技制御部２００の機能構成を説明する。
図４は、遊技制御部２００の機能構成を示すブロック図である。同図に示すように、遊技制御部２００は、各種抽選処理を実行する機能部として、特別図柄抽選部２３１と、普通図柄抽選部２３２と、特別図柄変動制御部２３３と、特別図柄抽選結果判定部２３４と、普通図柄制御部２３７と、を備えている。
また、遊技制御部２００は、特別図柄変動に伴う処理を実行する機能部として、変動パターン選択部２３５と、遊技進行制御部２３６と、を備えている。
さらに、遊技制御部２００は、各種役物の動作制御や賞球等に関するデータ処理を実行する機能部として、大入賞口動作制御部２３８と、電動チューリップ動作制御部２３９と、賞球処理部２４０と、出力制御部２４１と、乱数制御部２４２と、を備えている。
【００４２】
特別図柄抽選部２３１は、第１始動口１２１や第２始動口１２２に遊技球が入賞した場合に、特別図柄の抽選を行う。具体的には、判定情報として、所定の範囲の数値の中から一つの数値（乱数値）が選択（取得）されて、特別図柄抽選結果判定部２３４による判定のために付与される。すなわち、特別図柄抽選部２３１は、判定情報取得手段として機能する。
普通図柄抽選部２３２は、ゲート１２４を遊技球が通過した場合に、普通図柄抽選を行う。具体的には、判定情報として、所定の範囲の数値の中から一つの数値（乱数値）が選択（取得）されて、普通図柄制御部２３７による判定のために付与される。
特別図柄変動制御部２３３は、特別図柄の抽選が行われた場合に、その抽選結果に応じて特別図柄の変動を制御する。本実施の形態では、図２（ａ）に示したように、第１特別図柄表示器２２１および第２特別図柄表示器２２２が、複数個のＬＥＤの配列により構成されている。そこで、これらの特別図柄表示器２２１、２２２を構成するＬＥＤを所定のパターンで点滅させることにより特別図柄の変動が行われる。
【００４３】
特別図柄抽選結果判定部２３４は、特別図柄の抽選が行われた場合に、付与された上記の乱数値に基づき、予め保持している乱数テーブルを用いて抽選結果が「大当たりか否か」、「大当たりに当選した場合の大当たりの種類」、「大当たりに当選していない場合での小当たりかはずれか」を判定する。すなわち、特別図柄抽選部２３１と特別図柄抽選結果判定部２３４は、検知手段である第１始動口スイッチ２１１または第２始動口スイッチ２１２により遊技球の通過が検知されたことを契機として、遊技者にとって有利な特別遊技（大当たり遊技等）を行うか否かを判定する特別遊技判定手段として機能する。
【００４４】
ここで、「大当たり」は、大当たり遊技の終了後に発生する遊技状態に応じて複数の種類に分けられる。具体的には、特別図柄の変動時間が短縮される時短遊技状態の有無および大当たりの当選確率が高確率に変動した確変遊技状態の有無の組み合わせによって大当たりの種類が決まる。すなわち、大当たりの種類としては、大当たり遊技の終了後に、時短遊技状態および確変遊技状態の両方が発生する大当たり、時短遊技状態のみが発生する大当たり、確変遊技状態のみが発生する大当たり、時短遊技状態および確変遊技状態のいずれも発生しない大当たりが有り得る。以下、これらの大当たりを区別する場合は、大当たり遊技の終了後に発生する遊技状態に基づき、「時短有り」、「時短無し」、「確変有り」、「確変無し」等と記載して区別する。これらの大当たりは、各々個別の特別図柄に対応付けられており、特別図柄抽選において当選した特別図柄の種類に応じて大当たりの種類が確定する。
【００４５】
また、「大当たり」は、大当たり遊技の時間が長く多量の遊技球の払い出しが期待できる大当たりと、大当たり遊技の時間が短く遊技球の払出がほとんど期待できない大当たりとに分けられる場合がある。前者は「長当たり」と呼ばれ、後者は「短当たり」と呼ばれる。例えば、「長当たり」では、大入賞口１２５の開状態が所定条件（例えば一定時間経過または一定個数の遊技球の入賞）を満たすまで維持されるラウンドが所定回数繰り返される。また、「短当たり」では、一定時間だけ大入賞口１２５が開状態となるラウンドが所定回数繰り返される。通常、大当たり遊技の終了後に時短遊技状態が発生する（時短有り）大当たりは長当たりとなり、時短遊技状態が発生しない（時短無し）大当たりは短当たりとなる。
【００４６】
なお、大当たり遊技の終了後に確変遊技状態が発生する（確変有り）大当たりは「確変大当たり」とも呼ばれ、確変遊技状態が発生しない（確変無し）大当たりは「通常大当たり」とも呼ばれる。また、遊技の態様によっては、大当たり遊技の終了後に確変遊技状態のみが発生し、時短遊技状態が発生しない（確変有り＋時短無し）大当たりは「潜伏確変大当たり」とも呼ばれる。さらに、「確変大当たり」において、大入賞口１２５が開状態となるラウンド数に基づき、「１５ラウンド（１５Ｒ）確変大当たり」、「２ラウンド（２Ｒ）確変大当たり」等のように区別される場合もある。
【００４７】
また、大当たりに当選していない場合の「小当たり」は、例えば大入賞口１２５の開閉が所定回数行われる小当たり遊技が行われ、終了した後においても小当たり当選時の遊技状態を継続する当たりである。すなわち、小当たり当選時の遊技状態が確変遊技状態である場合には、小当たり遊技の終了後においても確変遊技状態が継続され、遊技状態は移行しない。同様に、小当たりの当選時の遊技状態が確率変動も時間短縮もしていない通常の遊技状態（通常遊技状態）である場合には、小当たり遊技の終了後においても通常遊技状態が継続され、遊技状態は移行しない。
また、「はずれ」では、「大当たり」でも「小当たり」でもなく、遊技者に有利となる上記の遊技状態の何れも設定されない。
【００４８】
変動パターン選択部２３５は、特別図柄の抽選結果が「大当たり」であった場合に、第１特別図柄表示器２２１や第２特別図柄表示器２２２にて表示する特別図柄の変動パターン（変動時間）を選択する。そして、変動パターン選択部２３５により選択された変動パターンに基づいて、特別図柄変動制御部２３３が特別図柄の変動（ＬＥＤの点滅）を制御する。すなわち、この変動パターン選択部２３５および特別図柄変動制御部２３３は、特別図柄抽選の抽選結果に応じて、第１特別図柄表示器２２１および第２特別図柄表示器２２２による特別図柄の表示を制御する特別図柄制御手段として機能する。
また、変動パターン選択部２３５は、「リーチ演出を行うか否か」を判定する。ここでの「リーチ演出」とは、遊技者に大当たりを期待させるための画像表示部１１４等にて行われる演出である。
遊技進行制御部２３６は、各遊技状態において遊技の進行を制御する。
【００４９】
普通図柄制御部２３７は、普通図柄の抽選が行われた場合に、普通図柄の抽選結果が「当選かはずれであるか」を判定する。また、その抽選結果に応じて普通図柄の変動を制御する。この普通図柄抽選の当選確率は、主に時短遊技状態において行われる、電動チューリップ１２３の開放による第２始動口１２２への入賞サポート（いわゆる電チューサポート）がある場合には、入賞サポートがない場合（時短遊技状態でない場合）と比べて高くなる。
「当選」と判定された場合には、電動チューリップ１２３を規定時間および規定回数だけ開放し、第２始動口１２２への遊技球の入賞確率が高まる状態を発生させる。上記の入賞サポート（電チューサポート）時には、入賞サポートがない場合と比べて、この規定回数や規定時間が増える。また、「はずれ」と判定された場合には、電動チューリップ１２３のこのような開放状態は発生しない。
【００５０】
大入賞口動作制御部２３８は、大入賞口１２５の開放動作を制御する。
電動チューリップ動作制御部２３９は、電動チューリップ１２３の開放動作を制御する。
賞球処理部２４０は、入賞や抽選に関する種々の役物への入賞個数の管理および入賞に応じた賞球の払い出しを制御する。
出力制御部２４１は、遊技制御部２００から演出制御部３００および払出制御部４００へ制御用コマンドの出力を制御する。
乱数制御部２４２は、メイン制御手段やサブ制御手段による処理で用いられる各種の乱数値の更新を制御する。
【００５１】
〔遊技機の基本動作〕
次に、上記のように構成されたパチンコ遊技機１００の基本動作を説明する。
パチンコ遊技機１００の基本的な動作は、メイン制御手段である遊技制御部２００により行われる。そして、この遊技制御部２００の制御の下、サブ制御手段である演出制御部３００により遊技上の演出の制御が行われ、払出制御部４００により賞球の払い出しの制御が行われる。
【００５２】
図５は、遊技制御部２００の主要動作を示すフローチャートである。
遊技制御部２００は、電源投入時や電源断時等の特殊な場合を除く通常の動作時において、図５に示す各処理を一定時間（例えば４ミリ秒）ごとに繰り返し実行する。図５を参照すると、乱数更新処理、スイッチ処理、図柄処理、電動役物処理、賞球処理、出力処理が順次実行される（ステップ５０１〜５０６）。
【００５３】
乱数更新処理（ステップ５０１）では、遊技制御部２００の乱数制御部２４２は、メイン制御手段やサブ制御手段による処理で用いられる各種の乱数の値を更新する。乱数の設定および乱数値の更新の詳細については後述する。
【００５４】
スイッチ処理（ステップ５０２）としては、始動口スイッチ処理、ゲートスイッチ処理が行われる。
始動口スイッチ処理では、遊技制御部２００の特別図柄抽選部２３１は、図３の第１始動口スイッチ２１１および第２始動口スイッチ２１２の状態を監視し、スイッチがＯＮとなった場合に、特別図柄抽選のための処理を実行する。
ゲートスイッチ処理では、遊技制御部２００の普通図柄抽選部２３２は、図３のゲートスイッチ２１４の状態を監視し、スイッチがＯＮとなった場合に、普通図柄抽選のための処理を実行する。
これらのスイッチ処理の詳細な内容については後述する。
【００５５】
図柄処理（ステップ５０３）としては、特別図柄処理、普通図柄処理が行われる。
特別図柄処理では、遊技制御部２００の特別図柄変動制御部２３３、特別図柄抽選結果判定部２３４、変動パターン選択部２３５、および遊技進行制御部２３６により、特別図柄変動およびこの図柄変動に伴う処理が行われる。
普通図柄処理では、遊技制御部２００の普通図柄制御部２３７により、普通図柄変動およびこの図柄変動に伴う処理が行われる。
これらの図柄処理の詳細な内容については後述する。
【００５６】
電動役物処理（ステップ５０４）としては、大入賞口処理、電動チューリップ処理が行われる。
大入賞口処理では、遊技制御部２００の大入賞口動作制御部２３８は、所定の条件に基づいて大入賞口１２５の開放動作を制御する。
電動チューリップ処理では、遊技制御部２００の電動チューリップ動作制御部２３９は、所定の条件に基づいて電動チューリップ１２３の開放動作を制御する。
これらの電動役物処理の詳細な内容については後述する。
【００５７】
賞球処理（ステップ５０５）では、遊技制御部２００の賞球処理部２４０は、入賞個数の管理および入賞に応じた賞球の払い出しを制御する。
出力処理（ステップ５０６）では、遊技制御部２００の出力制御部２４１は、演出制御部３００および払出制御部４００へ制御用コマンドを出力する。制御用コマンドは、ステップ５０５までの各処理において生成され、ＲＡＭ２０３にセットされており、この出力処理で出力される。
【００５８】
〔演出制御部の動作〕
次に、演出制御部３００の動作を説明する。
図６は、遊技制御部２００からコマンドを受信した際の演出制御部３００の動作を示すフローチャートである。
演出制御部３００の動作は、図６（ａ）に示すメイン処理と、図６（ｂ）に示す割り込み処理とからなる。図６（ａ）を参照すると、演出制御部３００は、まず起動時に初期設定を行い（ステップ６０１）、ＣＴＣ（Counter/Timer Circuit）の周期設定を行った後（ステップ６０２）、設定された周期にしたがって、演出制御において用いられる乱数を更新しながら（ステップ６０３）、割り込み処理を受け付ける。
【００５９】
割り込み処理は、ステップ６０２で設定された周期にしたがって定期的に行われる。図６（ｂ）を参照すると、この割り込み処理において、演出制御部３００は、遊技制御部２００からのコマンドを受信してコマンド受信処理を行う（ステップ６１１）。このコマンド受信処理において、演出パターンが選択される。また、演出制御部３００は、遊技者による演出ボタン１６１等の操作を受け付けるための演出ボタン処理を行う（ステップ６１２）。この後、演出制御部３００は、選択した演出パターンの情報を含むコマンドを画像／音響制御部３１０およびランプ制御部３２０に送信するコマンド送信処理を行う（ステップ６１３）。これにより、画像表示部１１４への画像表示や音響出力、可動役物１１５の動作、盤ランプ１１６や枠ランプ１５７の発光等による演出が行われる。また、センサユニット１７１〜１７３による遊技者の動作の検知も行われる。
【００６０】
〔遊技制御基板のチップ構成〕
図３を参照して説明したように、遊技制御部２００を構成する遊技制御基板には、各種処理を実行するためのＣＰＵ２０１、記憶手段であるＲＯＭ２０２およびＲＡＭ２０３が装着されている。パチンコ遊技機１００においては、通常、これらの電子部品は、ナックチップと呼ばれる一体型のチップとして構成される。遊技制御部２００に搭載されるＲＯＭ２０２およびＲＡＭ２０３は、使用可能な記憶容量が厳格に規定されている。
【００６１】
図７は、ＲＯＭ２０２およびＲＡＭ２０３のメモリ・イメージの例を示す図である。
図７に示すように、ＲＯＭ２０２は、全体の記憶容量が１６Ｋバイト（ＫＢｙｔｅ）を超えないものであり、そのうち制御領域２０２ａの容量が３Ｋバイトを超えず、データ領域２０２ｂの容量が３Ｋバイトを超えないもの、と規定されている。また、ＲＡＭ２０３は、全体の記憶容量が１０２４バイト（１Ｋバイト）を超えないものであり、使用領域２０３ａの容量が５１２バイトを超えないもの、と規定されている。
【００６２】
ＣＰＵ２０１は、ＲＯＭ２０２の制御領域２０２ａに格納されている命令に基づいて遊技制御に係る処理を行う際、必要に応じて、ＲＯＭ２０２のデータ領域２０２ｂに格納されているデータを読み出してＲＡＭ２０３の使用領域２０３ａに格納する。そして、ＲＡＭ２０３の使用領域２０３ａに格納されたデータを用いて処理を実行する。ここで、ＲＯＭ２０２のデータ領域２０２ｂからＲＡＭ２０３の使用領域２０３ａへデータを読み込むロード処理自体も、ＲＯＭ２０２の制御領域２０２ａに格納されている命令に基づいて実行される。
【００６３】
このロード処理は、予め定められた回数の繰り返し処理（ループ処理）により実行される場合がある。繰り返して実行される個々の処理は、具体的には、ＲＯＭ２０２の制御領域２０２ａに格納されているアドレス値とデータの組を読み出し、読み出したアドレス値に対応するＲＡＭ２０３の使用領域２０３ａのアドレスに、読み出したデータを格納する処理である。
【００６４】
〔データをロードするための繰り返し処理〕
次に、この繰り返し処理について、詳細に説明する。
図８は、繰り返し処理によるロードの対象となるデータ（以下、ロード対象データ）の、ＲＯＭ２０２の制御領域２０２ａにおけるデータ構成の例を示す図である。
図８に示す構成例において、長方形の枠で示した各ブロックは、１バイトのデータを示している。このロード対象データは、先頭の１バイト・データとして繰り返し回数（ループ回数）を記録したデータが設けられている。そして、１バイトのアドレス値と１バイトのデータの組（２バイト）が、繰り返し回数分だけ設けられている。図示の例では、繰り返し回数は「ｎ」である。なお、繰り返し回数「ｎ」は、１バイト・データにより設定されるので、最大で２５６回である。
【００６５】
図９は、繰り返し処理の呼び出し時の動作を示すフローチャートである。
図９に示すように、繰り返し処理の呼び出しにおいて、ＣＰＵ２０１は、まず、ロード対象データの先頭アドレスの値を読み出し先としてレジスタにセットする（ステップ９０１）。そして、データをＲＡＭ２０３の使用領域２０３ａに格納するための繰り返し処理のサブルーチンを呼び出して実行する（ステップ９０２）。なお、この繰り返し処理の呼び出し時の動作も、ＲＯＭ２０２の制御領域２０２ａに格納されている命令に基づいて実行される。
【００６６】
ところで、この繰り返し処理でロードされるデータの格納先（ＲＡＭ２０３の使用領域２０３ａ）のアドレスの個数が、２５６個まで（例えば、アドレス値が「０」〜「２５５」）であれば、全てのアドレス値は、１バイト（「００Ｈ」〜「ＦＦＨ」）のデータで表現可能である（「Ｈ」は１６進数の値であることを示す）。一般に、パチンコ遊技機１００の遊技制御においては、データの格納先のアドレスは、２５６個以内であった。そこで、次に、データの格納先のアドレスが２５６個以下の場合の繰り返し処理について説明する。
【００６７】
〔データの格納先アドレスが２５６個以下の場合の繰り返し処理における動作の流れ〕
図１０は、データの格納先のアドレスが２５６個以下の場合の繰り返し処理の動作を示すフローチャートである。
図１０を参照すると、ＣＰＵ２０１は、まず、図９のステップ９０１でセットされた読み出し先のアドレス値にしたがって、ロード対象データの先頭の１バイト・データの値を取得する。そして、取得した値（図８に示した例では「ｎ」）を、繰り返し処理における繰り返し回数としてレジスタにセットする（ステップ１００１）。また、このとき、読み出し先のアドレス値を「１」加算する。これにより、読み出し先が更新され、図８に示したロード対象データにおける２番目の１バイト・データ、すなわち、最初のアドレス値とデータとの組におけるアドレス値を指すことになる。
【００６８】
次に、ＣＰＵ２０１は、ステップ１００１で更新された読み出し先のアドレス値にしたがって、２番目の１バイト・データの値を取得する。そして、取得した値を、ＲＡＭ２０３の使用領域２０３ａの格納先アドレスとしてレジスタにセットする（ステップ１００２）。また、このとき、読み出し先のアドレス値を「１」加算する。これにより、読み出し先が更新され、図８に示したロード対象データにおける３番目の１バイト・データ、すなわち、最初のアドレス値とデータとの組におけるデータを指すことになる。
【００６９】
次に、ＣＰＵ２０１は、ステップ１００２で更新された読み出し先のアドレス値にしたがって、３番目の１バイト・データの値を取得する。そして、取得した値を、ステップ１００２でセットされたＲＡＭ２０３の使用領域２０３ａのアドレスに格納するデータ（以下、格納データ）としてレジスタにセットする（ステップ１００３）。また、このとき、読み出し先のアドレス値を「１」加算する。これにより、読み出し先が更新され、図８に示したロード対象データにおける４番目の１バイト・データ、すなわち、２番目のアドレス値とデータとの組におけるアドレス値を指すことになる。
【００７０】
次に、ＣＰＵ２０１は、ＲＡＭ２０３の使用領域２０３ａにおけるステップ１００２でセットされた格納先アドレスに、ステップ１００３でセットされた格納データを書き込む（ステップ１００４）。そして、ステップ１００１でセットされた繰り返し回数「ｎ」を「１」減算し、算出された値が「０」か否かを判定する（ステップ１００５）。算出値が「０」でなければ、ステップ１００２に戻り、ステップ１００３で更新された読み出し先のアドレス値にしたがって、４番目の１バイト・データの値を取得する。
【００７１】
以下、同様にしてステップ１００２〜ステップ１００５に示した格納処理の動作を繰り返し、ステップ１００５で算出値が「０」となったならば（すなわち、ステップ１００２〜ステップ１００５の動作をｎ回繰り返したならば）、繰り返し処理を終了する。
【００７２】
上記のように、データの格納先のアドレスが２５６個以下の場合、繰り返し処理は、ロード対象データを１バイトずつ読み込み、交互に、格納先のアドレス値および格納データとして、順次処理すれば良い。しかし、パチンコ遊技機１００の遊技制御におけるＲＡＭ２０３の使用領域２０３ａの容量は５１２バイトまで許容されるので、データの格納先のアドレスは５１２個まで設定することが可能である。したがって、複雑な遊技制御を行うためにＲＡＭ２０３に読み込むべきデータ量が増加すると、データの格納先として２５６個を超える数のアドレスが必要となる場合があり得る。
【００７３】
ここで、データの格納先のアドレスが２５６個を超える場合は、全てのアドレスを表現するために必要なデータ量は１バイトでは足りない。そのため、図１０に示した処理手順では、必要なデータをＲＡＭ２０３の使用領域２０３ａに格納することができない。そこで、２バイトで表現されるアドレスを用いてＲＡＭ２０３の使用領域２０３ａにデータを格納する手順が必要となる。
【００７４】
このような手順の一例としては、２バイトのアドレスを上位１バイトと下位１バイトに分け、上位１バイトの値ごとに、下位１バイトの２５６個のアドレスに対する図１０に示した処理を２セット実行することが考えられる。具体的なアドレスの例を挙げて説明すると、まず、５１２個のアドレスを「００００Ｈ」〜「０１ＦＦＨ」とする。このアドレスを上位１バイトと下位１バイトに分けると、上位１バイトは「００Ｈ」と「０１Ｈ」の２種類であり、下位１バイトは「００Ｈ」〜「ＦＦＨ」である。したがって、上位１バイトが「００Ｈ」であるアドレス用に図１０の処理１セットを実行し、上位１バイトが「０１Ｈ」であるアドレス用に図１０の処理１セットを実行することにより、５１２個までのアドレスを対象として、データをＲＡＭ２０３の使用領域２０３ａに格納することが可能となる。
【００７５】
ところで、図１０に示した２５６個以下のアドレスを対象としてデータを格納する繰り返し処理を実行するための命令（プログラム）をＲＯＭ２０２の制御領域２０２ａに格納するために１１バイトのメモリ容量が使用される。具体的には、繰り返し回数のセット（ステップ１００１）に２バイト、ＲＡＭ２０３の使用領域２０３ａのアドレスのセット（ステップ１００２）に２バイト、格納データのセット（ステップ１００３）に２バイト、データの書き込み（ステップ１００４）に２バイト、繰り返し回数の更新および判定（ステップ１００５）に２バイト、処理を終了するのに１バイトのメモリ容量を使用する。また、上記のように、２バイトのアドレスに対応するために、アドレスの上位１バイトの値（「００Ｈ」または「０１Ｈ」）を設定する処理を行う場合、この処理に３バイトのメモリ容量を使用する。したがって、２バイトのアドレスに対して２セットの繰り返し処理を用意するには、２８バイト（＝（１１バイト＋３バイト）×２セット）のメモリ容量を使用することとなる。
【００７６】
一方、ＲＯＭ２０２の制御領域２０２ａの記憶容量は３Ｋバイトまでと規定されているため、同じ処理を行うためのプログラムであれば、使用するメモリ容量（プログラムサイズ）が小さい方が望ましい。ここで、上記の２バイトアドレスに対応して繰り返し処理を用意する場合を考えると、ステップ１００２〜ステップ１００５の処理の内容が重複する（すなわち、アドレスの上位１バイトの値と繰り返し回数を設定した後は、同一の処理が実行される）。そこで、本実施形態では、この重複する処理をまとめた一つのプログラムとすることで、繰り返し処理を２バイトアドレスに対応させるためのプログラムサイズの増大を抑制した。以下、この２バイトアドレス用の繰り返し処理のプログラムの動作について説明する。
【００７７】
〔データの格納先アドレスが２５６個を超える場合の繰り返し処理における動作の流れ〕
図１１は、データの格納先のアドレスが２５６個を超える（２バイトアドレス）場合の繰り返し処理の動作を示すフローチャートである。
ここでは、ＲＡＭ２０３の使用領域２０３ａにおけるアドレス空間「００００Ｈ」〜「０１ＦＦＨ」に対応する領域にデータを格納する場合を例として説明する。このアドレス空間における格納先アドレスを第１部分アドレス値である下位１バイトの値（「００Ｈ」乃至「ＦＦＨ」）と第２部分アドレス値である上位１バイトの値（「００Ｈ」または「０１Ｈ」）とに分ける。図１１を参照すると、ＣＰＵ２０１は、まず、データの格納先アドレスの上位１バイトの値として「００Ｈ」をレジスタにセットする（ステップ１１０１）。
【００７８】
次に、ＣＰＵ２０１は、事前に図９のステップ９０１でセットされた読み出し先のアドレス値にしたがって、ロード対象データの先頭の１バイト・データの値を取得する。そして、取得した値を、繰り返し処理における繰り返し回数としてレジスタにセットする（ステップ１１０２）。そして、読み出し先のアドレス値を「１」加算する。これにより、読み出し先が更新され、図８に示したロード対象データにおける２番目の１バイト・データ、すなわち、最初のアドレス値とデータとの組におけるアドレス値（格納先アドレスの下位１バイトの値）を指すことになる。
【００７９】
本実施形態では、ロード対象データの先頭の１バイト・データにより指定される繰り返し回数の値を、データの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数と、データの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数とに分けて記述する。具体的には、１バイト＝８ビットのデータを上位ｓビットと下位（８−ｓ）ビットとに分けて、上位ｓビットでデータの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数を記述し、下位（８−ｓ）ビットでデータの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数を記述する。「ｓ」の値としては、「１」〜「７」を取り得るので、以下では、それぞれの場合について個別に動作を説明する。
【００８０】
「ｓ」の値が「４」の場合の動作について説明する。
ｓ＝４であるので、上位４ビットでデータの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数が記述され、下位４（＝（８−４））ビットでデータの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数が記述されている。この場合、ＣＰＵ２０１は、まず、ステップ１１０２でセットされた繰り返し回数の下位４ビットの値が「００００Ｂ」か否かを判定する（ステップ１１０３）。
【００８１】
ステップ１１０２でセットされた繰り返し回数の下位４ビットの値が「００００Ｂ」でない場合、次にＣＰＵ２０１は、図１０のステップ１００２〜１００５に記載した動作と同様に、図８に示したロード対象データにおけるアドレス値（格納先アドレスの下位１バイトの値）とデータとの組における各値を順次読み込んでレジスタにセットする（ステップ１１０６、１１０７）。そして、ステップ１１０１でセットされた上位１バイトの値（「００Ｈ」）とステップ１１０６でセットされた下位１バイトの値とからなる２バイトアドレス（「００００Ｈ」〜「００ＦＦＨ」）に該当するＲＡＭ２０３の使用領域２０３ａの領域に、ステップ１１０７でセットされたデータを書き込む（ステップ１１０８）。この後、ＣＰＵ２０１は、ステップ１１０２でセットされた繰り返し回数を更新（「１」減算）し、更新後の値が「０」か否かを判定する（ステップ１１０９）。
【００８２】
ステップ１１０２でセットされた繰り返し回数の値が「０」でなく（ステップ１１０９でＮｏ）、かつ、その下位４ビットの値が「００００Ｂ」である場合（ステップ１１０３でＹｅｓ）、繰り返し回数の下位４ビットで示された、データの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数分の繰り返し処理が済んだことを意味する。すなわち、ＲＡＭ２０３の使用領域２０３ａにおける「００００Ｈ」〜「００ＦＦＨ」のアドレス空間にデータが格納された。そこで、次にＣＰＵ２０１は、８ビットの繰り返し回数における上位４ビットと下位４ビットとを入れ替える（ステップ１１０４）。これにより、データの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数がセットされる。なお、この繰り返し回数の上位４ビットと下位４ビットの入れ替えは、例えば、既存のアセンブラ命令におけるスワップ命令を用いて実行することができる。
【００８３】
図１２は、レジスタにセットされた繰り返し回数の値の変化の様子を示す図である。
図１２（ａ）は、図１１のステップ１１０２で繰り返し回数がセットされた際の値の例を示す。図示の例では、「０１０１０１１０Ｂ」となっている。ここで、下位４ビットで示される「０１１０Ｂ」は、データの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数であり、上位４ビットで示される「０１０１Ｂ」は、データの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数である。
【００８４】
図１２（ｂ）は、繰り返し処理の実行により下位４ビットの値が「００００Ｂ」となった様子を示す。このとき、ステップ１１０４で上位４ビットの値と下位４ビットの値の入れ替えが行われる。図１２（ｃ）は、値の入れ替えが行われた様子を示す。
【００８５】
次に、ＣＰＵ２０１は、ステップ１１０１でセットしたデータの格納先アドレスの上位１バイトの値に「１」を加算して「０１Ｈ」とする（ステップ１１０５）。これにより、これ以降の繰り返し処理において、ステップ１１０７でロード対象データから取得される格納データは、ステップ１１０５で更新された上位１バイトの値（「０１Ｈ」）とステップ１１０６で取得される下位１バイトの値とを組み合わせた２バイトアドレス（「０１００Ｈ」〜「０１ＦＦＨ」）に格納されることとなる（ステップ１１０６〜１１０８）。
【００８６】
以上のようにして、ＣＰＵ２０１は、データの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数だけ繰り返し処理を実行し、さらに、データの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数だけ繰り返し処理を実行して、ステップ１１０２でセットされた繰り返し回数が更新されて「０（＝００００００００Ｂ）」（「Ｂ」は２進数の値であることを示す）となったならば、繰り返し処理を終了する（ステップ１１０９）。
【００８７】
ここで、図１１に示した手順で繰り返し処理を実行するための命令（プログラム）をＲＯＭ２０２の制御領域２０２ａに格納するために使用されるメモリ容量は、２３バイトである。具体的には、格納先アドレスの上位１バイトの値（「００Ｈ」）の設定（ステップ１１０１）に３バイト、繰り返し回数のセット（ステップ１１０２）に２バイトのメモリ容量を使用する。また、繰り返し回数の下位４ビットの値が「００００Ｂ」か否かの判定（ステップ１１０３）に５バイト、繰り返し回数の上位４ビットと下位４ビットとの入れ替え（ステップ１１０４）に２バイト、格納先アドレスの上位１バイトの値の更新（ステップ１１０５）に２バイトのメモリ容量を使用する。そして、ＲＡＭ２０３の使用領域２０３ａのアドレスのセット（ステップ１１０６）、格納データのセット（ステップ１１０７）、データの書き込み（ステップ１１０８）、繰り返し回数の更新および判定（ステップ１１０９）に、図１０のステップ１００２〜１００５と同様に、合計で８バイトのメモリを使用する。また、処理を終了するのに１バイトのメモリ容量を使用する。したがって、図１０に示した手順を用いて２バイトのアドレスに対して２セットの繰り返し処理を用意する場合と比較して、メモリの使用量を５バイト削減することができた。
【００８８】
なお、この実施形態では、データの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数と、データの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数とを、それぞれ４ビットデータで設定した。したがって、図１１に示した手順により繰り返し処理を行うことが可能な繰り返し回数は、データの格納先アドレスの上位１バイトの値が「００Ｈ」の場合と、「０１Ｈ」の場合の各々で、最大で１６回である。
【００８９】
〔データの格納先アドレスが２５６個を超える場合の他の動作例１〕
図１３は、データの格納先のアドレスが２５６個を超える（２バイトアドレス）場合の繰り返し処理における他の動作例を示すフローチャートである。
図１３に示す動作例では、データの格納先アドレスの上位１バイトの値が「００Ｈ」である場合と「０１Ｈ」である場合とにおける各々の繰り返し回数を記述するための、ロード対象データの先頭の１バイト・データにおける上位ｓビットにおいて、ｓ＝１とする。すなわち、上位１ビットでデータの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数が記述され、下位７（＝（８−１））ビットでデータの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数が記述される。
【００９０】
図１３に示す動作例において、ステップ１３０１、１３０２、１３０６〜１３０９の各動作は、図１１に示したステップ１１０１、１１０２、１１０６〜１１０９の各動作と同様である。したがって、これらの動作については説明を省略し、以下ではステップ１３０３〜１３０５の動作について説明する。
【００９１】
ところで、この動作例では、ｓ＝１としたので、上位１ビットに入る値は「１」のみである。そして、設定可能な繰り返し回数は、２回のみとなる。また、ステップ１３０２でセットされた繰り返し回数の値が「０」でなく、かつ、下位７ビットの値が「０（＝０００００００Ｂ）」である値は、「１０００００００Ｂ」＝「８０Ｈ」のみである。したがって、本動作例では、ＣＰＵ２０１は、まず、ステップ１３０２でセットされた繰り返し回数の値が「８０Ｈ」か否かを判定する（ステップ１３０３）。
【００９２】
ステップ１３０２でセットされた繰り返し回数の値が「８０Ｈ」でない場合、次にＣＰＵ２０１は、図８に示したロード対象データにおけるアドレス値とデータとの組における各値を順次読み込んでレジスタにセットし、ＲＡＭ２０３の使用領域２０３ａに書き込み、ステップ１３０２でセットされた繰り返し回数を更新し、更新後の値が「０」か否かを判定する（ステップ１３０６〜１３０９）。
【００９３】
ステップ１３０２でセットされた繰り返し回数の値が「８０Ｈ」である場合（ステップ１３０９でＮｏ、ステップ１３０３でＹｅｓ）、繰り返し回数の下位７ビットで示された、データの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数分の繰り返し処理が済んだことを意味する。すなわち、ＲＡＭ２０３の使用領域２０３ａにおける「００００Ｈ」〜「００ＦＦＨ」のアドレス空間にデータが格納された。そこで、次にＣＰＵ２０１は、データの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数の値として、改めて、「０２Ｈ（＝００００００１０Ｂ）」をセットする（ステップ１３０４）。なお、ここでは、ステップ１３０４の動作を、繰り返し回数の値を再設定する動作として説明したが、例えば、ローテート（巡回シフト）命令を用いて各ビットの値をシフトさせ、値が「０２Ｈ」になるように操作しても良い。
【００９４】
次に、ＣＰＵ２０１は、ステップ１３０１でセットしたデータの格納先アドレスの上位１バイトの値に「１」を加算して「０１Ｈ」とする（ステップ１３０５）。そして、ロード対象データにおけるアドレス値とデータとの組における各値の読み込み、ＲＡＭ２０３の使用領域２０３ａへの書き込み、繰り返し回数を更新および更新後の値の判定を継続する（ステップ１３０６〜１３０９）。
【００９５】
ここで、図１３に示した手順で繰り返し処理を実行するための命令（プログラム）をＲＯＭ２０２の制御領域２０２ａに格納するために使用されるメモリ容量は、２４バイトである。具体的には、格納先アドレスの上位１バイトの値（「００Ｈ」）の設定（ステップ１３０１）に３バイト、繰り返し回数のセット（ステップ１３０２）に２バイトのメモリ容量を使用する。また、繰り返し回数の値が「８０Ｈ」か否かの判定（ステップ１３０３）に５バイト、繰り返し回数の値の再設定（ステップ１３０４）に３バイト、格納先アドレスの上位１バイトの値の更新（ステップ１３０５）に２バイトのメモリ容量を使用する。そして、ＲＡＭ２０３の使用領域２０３ａのアドレスのセット（ステップ１３０６）、格納データのセット（ステップ１３０７）、データの書き込み（ステップ１３０８）、繰り返し回数の更新および判定（ステップ１３０９）に、図１０のステップ１００２〜１００５と同様に、合計で８バイトのメモリを使用する。また、処理を終了するのに１バイトのメモリ容量を使用する。したがって、図１０に示した手順を用いて２バイトのアドレスに対して２セットの繰り返し処理を用意する場合と比較して、メモリの使用量を４バイト削減することができた。
【００９６】
なお、この動作例では、データの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数は、７ビットデータで設定されるので、最大で１２８回である。一方、データの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数は、上記のように２回のみである。したがって、本動作例は、データを格納するために１００回程度の多大な回数の繰り返しが必要なデータが存在する一方で、２回の繰り返しで格納可能なデータがある程度存在する場合等に用いることができる。
【００９７】
〔データの格納先アドレスが２５６個を超える場合の他の動作例２〕
図１４は、データの格納先のアドレスが２５６個を超える（２バイトアドレス）の場合の繰り返し処理における、さらに他の動作例を示すフローチャートである。
図１４に示す動作例では、データの格納先アドレスの上位１バイトの値が「００Ｈ」である場合と「０１Ｈ」である場合とにおける各々の繰り返し回数を記述するための、ロード対象データの先頭の１バイト・データにおける上位ｓビットにおいて、ｓ＝２とする。すなわち、上位２ビットでデータの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数が記述され、下位６（＝（８−２））ビットでデータの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数が記述される。
【００９８】
図１４に示す動作例において、ステップ１４０１、１４０２、１４０６〜１４０９の各動作は、図１１に示したステップ１１０１、１１０２、１１０６〜１１０９の各動作と同様である。したがって、これらの動作については説明を省略し、以下ではステップ１４０３〜１４０５の動作について説明する。
【００９９】
本動作例では、ＣＰＵ２０１は、まず、ステップ１４０２でセットされた繰り返し回数の下位６ビットの値が「００００００Ｂ」か否かを判定する（ステップ１４０３）。「００００００Ｂ」でない場合、次にＣＰＵ２０１は、図８に示したロード対象データにおけるアドレス値とデータとの組における各値を順次読み込んでレジスタにセットし、ＲＡＭ２０３の使用領域２０３ａに書き込み、ステップ１４０２でセットされた繰り返し回数を更新し、更新後の値が「０」か否かを判定する（ステップ１４０６〜１４０９）。
【０１００】
ステップ１４０２でセットされた繰り返し回数の値が「０」でなく（ステップ１４０９でＮｏ）、かつ、その下位６ビットの値が「００００００Ｂ」である場合（ステップ１４０３でＹｅｓ）、繰り返し回数の下位６ビットで示された、データの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数分の繰り返し処理が済んだことを意味する。すなわち、ＲＡＭ２０３の使用領域２０３ａにおける「００００Ｈ」〜「００ＦＦＨ」のアドレス空間にデータが格納された。そこで、次にＣＰＵ２０１は、８ビットの繰り返し回数における各ビットの値をシフトし、上位２ビットを下位２ビットに置き換える（ステップ１４０４）。これにより、データの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数がセットされる。なお、この繰り返し回数の各ビットの値のシフトは、例えば、ローテート（巡回シフト）命令を用いて実行することができる。この場合、具体的には、右へ６ビット分シフト（ローテート・ライト）させるか、または左へ２ビット分シフト（ローテート・レフト）させる。
【０１０１】
図１５は、レジスタにセットされた繰り返し回数の値の変化の様子を示す図である。
図１５（ａ）は、図１４のステップ１４０２で繰り返し回数がセットされた際の値の例を示す。図示の例では、「１１０００１１０Ｂ」となっている。ここで、下位６ビットで示される「０００１１０Ｂ」は、データの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数であり、上位２ビットで示される「１１Ｂ」は、データの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数である。
【０１０２】
図１５（ｂ）は、繰り返し処理の実行により下位６ビットの値が「００００００Ｂ」となった様子を示す。このとき、ステップ１４０４で上位２ビットの値が下位２ビットにシフトされる。図１５（ｃ）は、値がシフトされた様子を示す。
【０１０３】
次に、ＣＰＵ２０１は、ステップ１４０１でセットしたデータの格納先アドレスの上位１バイトの値に「１」を加算して「０１Ｈ」とする（ステップ１４０５）。そして、ロード対象データにおけるアドレス値とデータとの組における各値の読み込み、ＲＡＭ２０３の使用領域２０３ａへの書き込み、繰り返し回数を更新および更新後の値の判定を継続する（ステップ１４０６〜１４０９）。
【０１０４】
ここで、図１４に示した手順で繰り返し処理を実行するための命令（プログラム）をＲＯＭ２０２の制御領域２０２ａに格納するために使用されるメモリ容量は、２４バイトである。具体的には、ステップ１４０１、１４０２、１４０６〜１４０９の動作は、図１３に示したステップ１３０１、１３０２、１３０６〜１３０９の動作と同様に、合計で１３バイトのメモリ容量を使用する。そして、繰り返し回数の下位６ビットの値が「００００００Ｂ」か否かの判定（ステップ１４０３）に５バイト、繰り返し回数の上位２ビットを下位２ビットにシフトする処理（ステップ１４０４）に３バイト、格納先アドレスの上位１バイトの値の更新（ステップ１４０５）に２バイトのメモリ容量を使用する。また、処理を終了するのに１バイトのメモリ容量を使用する。したがって、図１０に示した手順を用いて２バイトのアドレスに対して２セットの繰り返し処理を用意する場合と比較して、メモリの使用量を４バイト削減することができた。
【０１０５】
なお、この動作例では、データの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数は、６ビットデータで設定されるので、最大で６４回である。一方、データの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数は、２ビットデータで設定されるので、最大で４回である。したがって、本動作例は、データを格納するために６０回程度の繰り返しが必要なデータが存在する一方で、４回以内の繰り返しで格納可能なデータがある程度存在する場合等に用いることができる。
【０１０６】
〔データの格納先アドレスが２５６個を超える場合の他の動作例３〕
図１６は、データの格納先のアドレスが２５６個を超える（２バイトアドレス）の場合の繰り返し処理における、さらに他の動作例を示すフローチャートである。
図１６に示す動作例では、データの格納先アドレスの上位１バイトの値が「００Ｈ」である場合と「０１Ｈ」である場合とにおける各々の繰り返し回数を記述するための、ロード対象データの先頭の１バイト・データにおける上位ｓビットにおいて、ｓ＝３とする。すなわち、上位３ビットでデータの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数が記述され、下位５（＝（８−３））ビットでデータの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数が記述される。
【０１０７】
図１６に示す動作例において、ステップ１６０１、１６０２、１６０６〜１６０９の各動作は、図１１に示したステップ１１０１、１１０２、１１０６〜１１０９の各動作と同様である。したがって、これらの動作については説明を省略し、以下ではステップ１６０３〜１６０５の動作について説明する。
【０１０８】
本動作例では、ＣＰＵ２０１は、まず、ステップ１６０２でセットされた繰り返し回数の下位５ビットの値が「０００００Ｂ」か否かを判定する（ステップ１６０３）。「０００００Ｂ」でない場合、次にＣＰＵ２０１は、図８に示したロード対象データにおけるアドレス値とデータとの組における各値を順次読み込んでレジスタにセットし、ＲＡＭ２０３の使用領域２０３ａに書き込み、ステップ１６０２でセットされた繰り返し回数を更新し、更新後の値が「０」か否かを判定する（ステップ１６０６〜１６０９）。
【０１０９】
ステップ１６０２でセットされた繰り返し回数の値が「０」でなく（ステップ１６０９でＮｏ）、かつ、その下位５ビットの値が「０００００Ｂ」である場合（ステップ１６０３でＹｅｓ）、繰り返し回数の下位５ビットで示された、データの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数分の繰り返し処理が済んだことを意味する。すなわち、ＲＡＭ２０３の使用領域２０３ａにおける「００００Ｈ」〜「００ＦＦＨ」のアドレス空間にデータが格納された。そこで、次にＣＰＵ２０１は、８ビットの繰り返し回数における各ビットの値をシフトし、上位３ビットを下位３ビットに置き換える（ステップ１６０４）。これにより、データの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数がセットされる。なお、この繰り返し回数の各ビットの値のシフトは、例えば、ローテート（巡回シフト）命令を用いて実行することができる。この場合、具体的には、右へ５ビット分シフト（ローテート・ライト）させるか、または左へ３ビット分シフト（ローテート・レフト）させる。
【０１１０】
図１７は、レジスタにセットされた繰り返し回数の値の変化の様子を示す図である。
図１７（ａ）は、図１６のステップ１６０２で繰り返し回数がセットされた際の値の例を示す。図示の例では、「１０１００１１０Ｂ」となっている。ここで、下位５ビットで示される「００１１０Ｂ」は、データの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数であり、上位３ビットで示される「１０１Ｂ」は、データの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数である。
【０１１１】
図１７（ｂ）は、繰り返し処理の実行により下位５ビットの値が「０００００Ｂ」となった様子を示す。このとき、ステップ１４０４で上位２ビットの値が下位２ビットにシフトされる。図１７（ｃ）は、値がシフトされた様子を示す。
【０１１２】
次に、ＣＰＵ２０１は、ステップ１６０１でセットしたデータの格納先アドレスの上位１バイトの値に「１」を加算して「０１Ｈ」とする（ステップ１６０５）。そして、ロード対象データにおけるアドレス値とデータとの組における各値の読み込み、ＲＡＭ２０３の使用領域２０３ａへの書き込み、繰り返し回数を更新および更新後の値の判定を継続する（ステップ１６０６〜１６０９）。
【０１１３】
ここで、図１６に示した手順で繰り返し処理を実行するための命令（プログラム）をＲＯＭ２０２の制御領域２０２ａに格納するために使用されるメモリ容量は、２４バイトである。具体的には、ステップ１６０１、１６０２、１６０６〜１６０９の動作は、図１３に示したステップ１３０１、１３０２、１３０６〜１３０９の動作と同様に、合計で１３バイトのメモリ容量を使用する。そして、繰り返し回数の下位５ビットの値が「０００００Ｂ」か否かの判定（ステップ１６０３）に５バイト、繰り返し回数の上位３ビットを下位３ビットにシフトする処理（ステップ１６０４）に３バイト、格納先アドレスの上位１バイトの値の更新（ステップ１６０５）に２バイトのメモリ容量を使用する。また、処理を終了するのに１バイトのメモリ容量を使用する。したがって、図１０に示した手順を用いて２バイトのアドレスに対して２セットの繰り返し処理を用意する場合と比較して、メモリの使用量を４バイト削減することができた。
【０１１４】
なお、この動作例では、データの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数は、５ビットデータで設定されるので、最大で３２回である。一方、データの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数は、３ビットデータで設定されるので、最大で８回である。したがって、本動作例は、データを格納するために３０回程度の繰り返しが必要なデータが存在する一方で、８回以内の繰り返しで格納可能なデータがある程度存在する場合等に用いることができる。
【０１１５】
〔データの格納先アドレスが２５６個を超える場合におけるその他の例〕
データの格納先アドレスの上位１バイトの値が「００Ｈ」である場合と「０１Ｈ」である場合とにおける各々の繰り返し回数を記述するための、ロード対象データの先頭の１バイト・データにおける上位ｓビットの値としては、さらに、ｓ＝５、６、７の各値を取り得る。しかしながら、これらの場合の動作は、上記の図１４、１６を参照して説明した動作例におけるステップ１４０４およびステップ１６０４のシフト量を、繰り返し回数の記述に合わせて適切に設定することで実現されるので、説明を省略する。いずれの場合も、繰り返し処理を実行するための命令（プログラム）をＲＯＭ２０２の制御領域２０２ａに格納するために使用されるメモリ容量は、２４バイトであり、図１０に示した手順を用いて２バイトのアドレスに対して２セットの繰り返し処理を用意する場合と比較して、メモリの使用量が４バイト削減される。
【０１１６】
なお、上記の実施形態では、繰り返し処理における繰り返し回数を１バイト（８ビット）データで記述する場合を例として説明した。しかしながら、この繰り返し回数を８ビット以外のサイズのデータで記述した場合にも、本実施形態を適用することが可能である。例えば、１６ビットのデータで繰り返し回数を記述する場合、上位８ビットと下位８ビットからなる２バイトのデータで繰り返し回数が記述されているものとして扱う。そして、データの格納先アドレスの上位１バイトの値が「００Ｈ」である場合の繰り返し回数と、データの格納先アドレスの上位１バイトの値が「０１Ｈ」である場合の繰り返し回数との切り替えは、２バイトのデータ全体に対するシフト命令によって実行する。この場合は、ローテート（巡回シフト）命令ではなく、右方向へのシフト命令により、上位ｓビットの値を下位ｓビットにシフトさせる。
【０１１７】
図１８は、２バイト・データに対する値のシフトの様子を示す図である。
図１８に示す例では、図１８（ａ）に示した状態から右方向へ４ビットシフトしたことにより、図１８（ｂ）に示すように、上位１２ビットの値が下位１２ビットにシフトしている。なお、この繰り返し回数を記述したデータのシフトは、データの格納先アドレスの上位１バイトの値が「００Ｈ」である繰り返し処理が済んだ後に行われる。すなわち、図１８の例では、図１８（ａ）の下位４ビットが「００００Ｂ」となった後に実行される。そのため、ローテート（巡回シフト）命令ではない右方向へのシフト命令を用いても構わない。
【符号の説明】
【０１１８】
１００…パチンコ遊技機、２００…遊技制御部、２０１…ＣＰＵ、２０２…ＲＯＭ、２０２ａ…制御領域、２０２ｂ…データ領域、２０３…ＲＡＭ、２０３ａ…使用領域
【図１】
2014166254.tif 000003
【図２】
2014166254.tif 000004
【図３】
2014166254.tif 000005
【図４】
2014166254.tif 000006
【図５】
2014166254.tif 000007
【図６】
2014166254.tif 000008
【図７】
2014166254.tif 000009
【図８】
2014166254.tif 000010
【図９】
2014166254.tif 000011
【図１０】
2014166254.tif 000012
【図１１】
2014166254.tif 000013
【図１２】
2014166254.tif 000014
【図１３】
2014166254.tif 000015
【図１４】
2014166254.tif 000016
【図１５】
2014166254.tif 000017
【図１６】
2014166254.tif 000018
【図１７】
2014166254.tif 000019
【図１８】
2014166254.tif 000020