"遊技制御を行うCPUを有する主制御部と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部と、を備えた遊技台であって、前記CPUは、記憶手段の所定領域へのアクセスが規制された命令を備え、前記命令を前記遊技制御において実行することを特徴とする遊技台。請求項1に記載の遊技台であって、前記命令は、前記所定領域を除いた領域のうち予め定められた特定領域へのアクセスが可能な命令であることを特徴とする遊技台。しかしながら、特許文献1記載の遊技台では、電源投入時の不正行為を有効に阻止することができるものの、他のタイミングや要因については更なる改良が求められている。本発明は、このような従来の問題点を解決するためになされたものであって、安定した遊技制御をおこなうことができる遊技台を提供することを目的とする。本発明は、遊技制御を行うCPUを有する主制御部と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部と、を備えた遊技台であって、前記CPUは、記憶手段の所定領域へのアクセスが規制された命令を備え、前記命令を前記遊技制御において実行することを特徴とする遊技台である。本発明に係る遊技台によれば、安定した遊技制御をおこなうことができる。<実施形態1>以下、図面を用いて、本発明の実施形態1に係る遊技台パチンコ機100について詳細に説明する。<全体構成>まず、図1を用いて、本発明の実施形態1に係るパチンコ機100の全体構成について説明する。なお、同図はパチンコ機100を正面側遊技者側から見た外観斜視図である。パチンコ機100は、外部的構造として、外枠102と、本体104と、前面枠扉106と、球貯留皿付扉108と、発射装置110と、遊技盤200と、をその前面に備える。外枠102は、遊技機設置営業店に設けられた設置場所島設備等へと固定させるための縦長方形状から成る木製の枠部材である。本体104は、内枠と呼ばれ、外枠102の内部に備えられ、ヒンジ部112を介して外枠102に回動自在に装着された縦長方形状の遊技機基軸体となる部材である。また、本体104は、枠状に形成され、内側に空間部114を有している。また、本体104が開放された場合、本体104の開放を検出する不図示の内枠開放センサを備える。前面枠扉106は、ロック機能付きで且つ開閉自在となるようにパチンコ機100の前面側となる本体104の前面に対しヒンジ部112を介して装着され、枠状に構成されることでその内側を開口部とした扉部材である。なお、この前面枠扉106には、開口部にガラス製又は樹脂製の透明板部材118が設けられ、前面側には、スピーカ120や枠ランプ122が取り付けられている。前面枠扉106の後面と遊技盤200の前面とで遊技領域124を区画形成する。また、前面枠扉106が開放された場合、前面枠扉106の開放を検出する不図示の前面枠扉開放センサを備える。球貯留皿付扉108は、パチンコ機100の前面において本体104の下側に対して、ロック機能付きで且つ開閉自在となるように装着された扉部材である。球貯留皿付扉108は、複数の遊技球以下、単に球と称する場合があるが貯留可能で且つ発射装置110へと遊技球を案内させる通路が設けられている上皿126と、上皿126に貯留しきれない遊技球を貯留する下皿128と、遊技者の操作によって上皿126に貯留された遊技球を下皿128へと排出させる球抜ボタン130と、遊技者の操作によって下皿128に貯留された遊技球を遊技球収集容器俗称、ドル箱へと排出させる球排出レバー132と、遊技者の操作によって発射装置110へと案内された遊技球を遊技盤200の遊技領域124へと打ち出す球発射ハンドル134と、遊技者の操作によって各種演出装置206の演出態様に変化を与えるチャンスボタン136と、チャンスボタン136を発光させるチャンスボタンランプ138と、遊技店に設置されたカードユニットCRユニットに対して球貸し指示を行う球貸操作ボタン140と、カードユニットに対して遊技者の残高の返却指示を行う返却操作ボタン142と、遊技者の残高やカードユニットの状態を表示する球貸表示部144と、を備える。また、下皿128が満タンであることを検出する不図示の下皿満タンセンサを備える。発射装置110は、本体104の下方に取り付けられ、球発射ハンドル134が遊技者に操作されることによって回動する発射杆146と、遊技球を発射杆146の先端で打突する発射槌148と、を備える。遊技盤200は、前面に遊技領域124を有し、本体104の空間部114に臨むように、所定の固定部材を用いて本体104に着脱自在に装着されている。なお、遊技領域124は、遊技盤200を本体104に装着した後、開口部から観察することができる。図2は、図1のパチンコ機100を背面側から見た外観図である。パチンコ機100の背面上部には、上方に開口した開口部を有し、遊技球を一時的に貯留するための球タンク150と、この球タンク150の下方に位置し、球タンク150の底部に形成した連通孔を通過して落下する球を背面右側に位置する払出装置152に導くためのタンクレール154とを配設している。払出装置152は、筒状の部材からなり、その内部には、不図示の払出モータとスプロケットと払出センサとを備えている。スプロケットは、払出モータによって回転可能に構成されており、タンクレール154を通過して払出装置152内に流下した遊技球を一時的に滞留させると共に、払出モータを駆動して所定角度だけ回転することにより、一時的に滞留した遊技球を払出装置152の下方へ1個ずつ送り出すように構成している。払出センサは、スプロケットが送り出した遊技球の通過を検知するためのセンサであり、遊技球が通過しているときにハイまたはローの何れか一方の信号を、遊技球が通過していないときはハイまたはローの何れか他方の信号を払出制御部600へ出力する。なお、この払出センサを通過した遊技球は、不図示の球レールを通過してパチンコ機100の表側に配設した上皿126に到達するように構成しており、パチンコ機100は、この構成により遊技者に対して球の払い出しを行う。払出装置152の図中左側には、遊技全般の制御処理を行う主制御部300を構成する主基板156を収納する主基板ケース158、主制御部300が生成した処理情報に基づいて演出に関する制御処理を行う第1副制御部400を構成する第1副基板160を収納する第1副基板ケース162、第1副制御部400が生成した処理情報に基づいて演出に関する制御処理を行う第2副制御部500を構成する第2副基板164を収納する第2副基板ケース166、遊技球の払出に関する制御処理を行う払出制御部600を構成するとともに遊技店員の操作によってエラーを解除するエラー解除スイッチ168を備える払出基板170を収納する払出基板ケース172、遊技球の発射に関する制御処理を行う発射制御部630を構成する発射基板174を収納する発射基板ケース176、各種電気的遊技機器に電源を供給する電源制御部660を構成するとともに遊技店員の操作によって電源をオンオフする電源スイッチ178と電源投入時に操作されることによってRWMクリア信号を主制御部300に出力するRWMクリアスイッチ180とを備える電源基板182を収納する電源基板ケース184、および払出制御部600とカードユニットとの信号の送受信を行うCRインターフェース部186を配設している。図3は、遊技盤200を正面から見た略示正面図である。遊技盤200には、外レール202と内レール204とを配設し、遊技球が転動可能な遊技領域124を区画形成している。遊技領域124の略中央には、演出装置206を配設している。この演出装置206には、略中央に装飾図柄表示装置208を配設し、その周囲に、普通図柄表示装置210と、第1特別図柄表示装置212と、第2特別図柄表示装置214と、普通図柄保留ランプ216と、第1特別図柄保留ランプ218と、第2特別図柄保留ランプ220と、高確中ランプ222を配設している。なお、以下、普通図柄を普図、特別図柄を特図と称する場合がある。演出装置206は、演出可動体224を動作して演出を行うものであり、詳細については後述する。装飾図柄表示装置208は、装飾図柄ならびに演出に用いる様々な表示を行うための表示装置であり、本実施例では液晶表示装置LiquidCrystalDisplayによって構成する。この装飾図柄表示装置208は、左図柄表示領域208a、中図柄表示領域208b、右図柄表示領域208cおよび演出表示領域208dの4つの表示領域に分割し、左図柄表示領域208a、中図柄表示領域208bおよび右図柄表示領域208cはそれぞれ異なった装飾図柄を表示し、演出表示領域208dは演出に用いる画像を表示する。さらに、各表示領域208a、208b、208c、208dの位置や大きさは、装飾図柄表示装置208の表示画面内で自由に変更することを可能としている。なお、装飾図柄表示装置208として液晶表示装置を採用しているが、液晶表示装置でなくとも、種々の演出や種々の遊技情報を表示可能に構成されていればよく、例えば、ドットマトリクス表示装置、7セグメント表示装置、有機ELElectroLuminescence表示装置、リールドラム式表示装置、リーフ式表示装置、プラズマディスプレイ、プロジェクタを含む他の表示デバイスを採用してもよい。普図表示装置210は、普図の表示を行うための表示装置であり、本実施例では7セグメントLEDによって構成する。第1特図表示装置212および第2特図表示装置214は、特図の表示を行うための表示装置であり、本実施例では7セグメントLEDによって構成する。普図保留ランプ216は、保留している普図変動遊技詳細は後述の数を示すためのランプであり、本実施例では、普図変動遊技を所定数例えば、2つまで保留することを可能としている。第1特図保留ランプ218および第2特図保留ランプ220は、保留している特図変動遊技詳細は後述の数を示すためのランプであり、本実施例では、特図変動遊技を所定数例えば、4つまで保留することを可能としている。高確中ランプ222は、遊技状態が大当りが発生し易い高確率状態であること、または高確率状態になることを示すためのランプであり、遊技状態を大当りが発生し難い低確率状態から高確率状態にする場合に点灯し、高確率状態から低確率状態にする場合に消灯する。また、この演出装置206の周囲には、所定の球進入口、例えば、一般入賞口226と、普図始動口228と、第1特図始動口230と、第2特図始動口232と、可変入賞口234を配設している。一般入賞口226は、本実施例では遊技盤200に複数配設しており、この一般入賞口226への入球を所定の球検出センサ図示省略が検出した場合一般入賞口226に入賞した場合、払出装置152を駆動し、所定の個数例えば、10個の球を賞球として上皿126に排出する。上皿126に排出した球は遊技者が自由に取り出すことが可能であり、これらの構成により、入賞に基づいて賞球を遊技者に払い出すようにしている。なお、一般入賞口226に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。本実施例では、入賞の対価として遊技者に払い出す球を賞球、遊技者に貸し出す球を貸球と区別して呼ぶ場合があり、賞球と貸球を総称して球遊技球と呼ぶ。普図始動口228は、ゲートやスルーチャッカーと呼ばれる、遊技領域124の所定の領域を球が通過したか否かを判定するための装置で構成しており、本実施例では遊技盤200の左側に1つ配設している。普図始動口228を通過した球は一般入賞口226に入球した球と違って、遊技島側に排出することはない。球が普図始動口228を通過したことを所定の球検出センサが検出した場合、パチンコ機100は、普図表示装置210による普図変動遊技を開始する。第1特図始動口230は、本実施例では遊技盤200の中央に1つだけ配設している。この第1特図始動口230への入球を所定の球検出センサが検出した場合、後述する払出装置152を駆動し、所定の個数例えば、3個の球を賞球として上皿126に排出するとともに、第1特図表示装置212による特図変動遊技を開始する。なお、第1特図始動口230に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。第2特図始動口232は、電動チューリップ電チューと呼ばれ、本実施例では第1特図始動口230の真下に1つだけ配設している。この第2特図始動口232は、左右に開閉自在な羽根部材232aを備え、羽根部材232aの閉鎖中は球の入球が不可能であり、普図変動遊技に当選し、普図表示装置210が当たり図柄を停止表示した場合に羽根部材232aが所定の時間間隔、所定の回数で開閉する。第2特図始動口232への入球を所定の球検出センサが検出した場合、払出装置152を駆動し、所定の個数例えば、4個の球を賞球として上皿126に排出するとともに、第2特図表示装置214による特図変動遊技を開始する。なお、第2特図始動口232に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。可変入賞口234は、大入賞口またはアタッカーと呼ばれ、本実施例では遊技盤200の中央部下方に1つだけ配設している。この可変入賞口234は、開閉自在な扉部材234aを備え、扉部材234aの閉鎖中は球の入球が不可能であり、特図変動遊技に当選して特図表示装置が大当たり図柄を停止表示した場合に扉部材234aが所定の時間間隔例えば、開放時間29秒、閉鎖時間1.5秒、所定の回数例えば15回で開閉する。可変入賞口234への入球を所定の球検出センサが検出した場合、払出装置152を駆動し、所定の個数例えば、15個の球を賞球として上皿126に排出する。なお、可変入賞口234に入球した球は、パチンコ機100の裏側に誘導した後、遊技島側に排出する。さらに、これらの入賞口や始動口の近傍には、風車と呼ばれる円盤状の打球方向変換部材236や、遊技釘238を複数個、配設していると共に、内レール204の最下部には、いずれの入賞口や始動口にも入賞しなかった球をパチンコ機100の裏側に誘導した後、遊技島側に排出するためのアウト口を設けている。このパチンコ機100は、遊技者が上皿126に貯留している球を発射レールの発射位置に供給し、遊技者の操作ハンドルの操作量に応じた強度で発射モータを駆動し、発射杆146および発射槌148によって外レール202、内レール204を通過させて遊技領域124に打ち出す。そして、遊技領域124の上部に到達した球は、打球方向変換部材236や遊技釘238等によって進行方向を変えながら下方に落下し、入賞口一般入賞口226、可変入賞口234や始動口第1特図始動口230、第2特図始動口232に入賞するか、いずれの入賞口や始動口にも入賞することなく、または普図始動口228を通過するのみでアウト口240に到達する。<演出装置206>次に、パチンコ機100の演出装置206について説明する。この演出装置206の前面側には、遊技球の転動可能な領域にワープ装置242およびステージ244を配設し、遊技球の転動不可能な領域に演出可動体224を配設している。また、演出装置206の背面側には、装飾図柄表示装置208および遮蔽装置246以下、扉と称する場合があるを配設している。すなわち、演出装置206において、装飾図柄表示装置208および遮蔽手段は、ワープ装置242、ステージ244、および演出可動体224の後方に位置することとなる。ワープ装置242は、演出装置206の左上方に設けたワープ入口242aに入った遊技球を演出装置206の前面下方のステージ244にワープ出口242bから排出する。ステージ244は、ワープ出口242bから排出された球や遊技盤200の釘などによって乗り上げた球などが転動可能であり、ステージ244の中央部には、通過した球が第1特図始動口230へ入球し易くなるスペシャルルート244aを設けている。演出可動体224は、本実施形態では人間の右腕の上腕と前腕を模した上腕部224aと前腕部224bとからなり、肩の位置に上腕部224aを回動させる不図示の上腕モータと肘の位置に前腕部224bを回動させる不図示の前腕モータを備える。演出可動体224は、上腕モータと前腕モータによって装飾図柄表示装置208の前方を移動する。遮蔽装置246は、格子状の左扉246aおよび右扉246bからなり、装飾図柄表示装置208および前面ステージ244の間に配設する。左扉246aおよび右扉246bの上部には、不図示の2つのプーリに巻き回したベルトをそれぞれ固定している。すなわち、左扉246aおよび右扉246bは、モータによりプーリを介して駆動するベルトの動作に伴って左右にそれぞれ移動する。遮蔽手段は、左扉246aおよび右扉246bを閉じた状態ではそれぞれの内側端部が重なり、遊技者が装飾図柄表示装置208を視認し難いように遮蔽する。左扉246aおよび右扉246bを開いた状態ではそれぞれの内側端部が装飾図柄表示装置208の表示画面の外側端部と若干重なるが、遊技者は装飾図柄表示装置208の表示の全てを視認可能である。また、左扉246aおよび右扉246bは、それぞれ任意の位置で停止可能であり、例えば、表示した装飾図柄がどの装飾図柄であるかを遊技者が識別可能な程度に、装飾図柄の一部だけを遮蔽するようなことができる。なお、左扉246aおよび右扉246bは、格子の孔から後方の装飾図柄表示装置208の一部を視認可能にしてもよいし、格子の孔の障子部分を半透明のレンズ体で塞ぎ、後方の装飾図柄表示装置208による表示を漠然と遊技者に視認させるようにしてもよいし、格子の孔の障子部分を完全に塞ぎ遮蔽し、後方の装飾図柄表示装置208を全く視認不可にしてもよい。<制御部>次に、図4を用いて、このパチンコ機100の制御部の回路構成について詳細に説明する。なお、同図は制御部の回路ブロック図を示したものである。パチンコ機100の制御部は、大別すると、主に遊技の進行例えば、遊技者による操作の検出、遊技状態の遷移、遊技媒体の払出制御、当否判定などを制御する主制御部300と、主制御部300が送信するコマンド信号以下、単にコマンドと呼ぶに応じて主に演出の制御を行う第1副制御部400と、第1副制御部400より送信されたコマンドに基づいて各種機器を制御する第2副制御部500と、主制御部300が送信するコマンドに応じて主に遊技球の払い出しに関する制御を行う払出制御部600と、遊技球の発射制御を行う発射制御部630と、パチンコ機100に供給される電源を制御する電源制御部660と、によって構成している。<主制御部>まず、パチンコ機100の主制御部300について説明する。主制御部300は、主制御部300の全体を制御する基本回路302を備えており、この基本回路302には、CPU304と、制御プログラムや各種データを記憶するためのROM306と、一時的にデータを記憶するためのRAM308と、各種デバイスの入出力を制御するためのI/O310と、時間や回数等を計測するためのカウンタタイマ312と、プログラム処理の異常を監視するWDT314を搭載している。なお、ROM306やRAM308については他の記憶装置を用いてもよく、この点は後述する第1副制御部400についても同様である。この基本回路302のCPU304は、水晶発振器316bが出力する所定周期のクロック信号をシステムクロックとして入力して動作する。また、基本回路302には、水晶発振器316aが出力するクロック信号を受信する度に0~65535の範囲で数値を変動させるハードウェア乱数カウンタとして使用しているカウンタ回路318この回路には2つのカウンタを内蔵しているものとすると、所定の球検出センサ、例えば各始動口、入賞口、可変入賞口を通過する遊技球を検出するセンサや、前面枠扉開放センサや内枠開放センサや下皿満タンセンサを含む各種センサ320が出力する信号を受信し、増幅結果や基準電圧との比較結果をカウンタ回路318および基本回路302に出力するためのセンサ回路322と、所定の図柄表示装置、例えば第1特図表示装置212や第2特図表示装置214の表示制御を行うための駆動回路324と、所定の図柄表示装置、例えば普図表示装置210の表示制御を行うための駆動回路326と、各種状態表示部328例えば、普図保留ランプ216、第1特図保留ランプ218、第2特図保留ランプ220、高確中ランプ222等の表示制御を行うための駆動回路330と、所定の可動部材、例えば第2特図始動口232の羽根部材232aや可変入賞口234の扉部材234a等を開閉駆動する各種ソレノイド332を制御するための駆動回路334を接続している。なお、第1特図始動口230に球が入賞したことを球検出センサ320が検出した場合には、センサ回路322は球を検出したことを示す信号をカウンタ回路318に出力する。この信号を受信したカウンタ回路318は、第1特図始動口230に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第1特図始動口230に対応する内蔵のカウンタ値記憶用レジスタに記憶する。また、カウンタ回路318は、第2特図始動口232に球が入賞したことを示す信号を受信した場合も同様に、第2特図始動口232に対応するカウンタのそのタイミングにおける値をラッチし、ラッチした値を、第2特図始動口232に対応する内蔵のカウンタ値記憶用レジスタに記憶する。さらに、基本回路302には、情報出力回路336を接続しており、主制御部300は、この情報出力回路336を介して、外部のホールコンピュータ図示省略等が備える情報入力回路350にパチンコ機100の遊技情報例えば、遊技状態を出力する。また、主制御部300には、電源制御部660から主制御部300に供給している電源の電圧値を監視する電圧監視回路338を設けており、この電圧監視回路338は、電源の電圧値が所定の値本実施例では9v未満である場合に電圧が低下したことを示す低電圧信号を基本回路302に出力する。また、主制御部300には、電源が投入されると起動信号リセット信号を出力する起動信号出力回路リセット信号出力回路340を設けており、CPU304は、この起動信号出力回路340から起動信号を入力した場合に、遊技制御を開始する詳細は後述する。また、主制御部300は、第1副制御部400にコマンドを送信するための出力インタフェースと、払出制御部600にコマンドを送信するための出力インタフェースをそれぞれ備えており、この構成により、第1副制御部400および払出制御部600との通信を可能としている。なお、主制御部300と第1副制御部400および払出制御部600との情報通信は一方向の通信であり、主制御部300は第1副制御部400および払出制御部600にコマンド等の信号を送信できるように構成しているが、第1副制御部400および払出制御部600からは主制御部300にコマンド等の信号を送信できないように構成している。<副制御部>次に、パチンコ機100の第1副制御部400について説明する。第1副制御部400は、主に主制御部300が送信したコマンド等に基づいて第1副制御部400の全体を制御する基本回路402を備えており、この基本回路402には、CPU404と、制御プログラムや各種演出データを記憶するためのROM406と、一時的にデータを記憶するためのRAM408と、各種デバイスの入出力を制御するためのI/O410と、時間や回数等を計測するためのカウンタタイマ412を搭載している。この基本回路402のCPU404は、水晶発信器414が出力する所定周期のクロック信号をシステムクロックとして入力して動作する。なお、ROM406は、制御プログラムと各種演出データとを別々のROMに記憶させてもよい。また、基本回路402には、スピーカ120およびアンプの制御を行うための音源IC416と、各種ランプ418例えば、チャンスボタンランプ138の制御を行うための駆動回路420と、遮蔽装置246の駆動制御を行うための駆動回路432と、遮蔽装置246の現在位置を検出する遮蔽装置センサ430と、チャンスボタン136の押下を検出するチャンスボタン検出センサ426と、遮蔽装置センサ430やチャンスボタン検出センサ426からの検出信号を基本回路402に出力するセンサ回路428と、CPU404からの信号に基づいてROM406に記憶された画像データ等を読み出してVRAM436のワークエリアを使用して表示画像を生成して装飾図柄表示装置208に画像を表示するVDP434ビデオディスプレイプロセッサーと、を接続している。次に、パチンコ機100の第2副制御部500について説明する。第2副制御部500は、第1副制御部400が送信した制御コマンドを入力インタフェースを介して受信し、この制御コマンドに基づいて第2副制御部500の全体を制御する基本回路502を備えており、この基本回路502は、CPU504と、一時的にデータを記憶するためのRAM508と、各種デバイスの入出力を制御するためのI/O510と、時間や回数等を計測するためのカウンタタイマ512を搭載している。基本回路502のCPU504は、水晶発振器514が出力する所定周期のクロック信号をシステムクロックとして入力して動作し、第2副制御部500の全体を制御するための制御プログラム及びデータ、画像表示用のデータ等が記憶されたROM506が設けられている。また、基本回路502には、演出可動体224の駆動制御を行うための駆動回路516と、演出可動体224の現在位置を検出する演出可動体センサ424と、演出可動体センサ424からの検出信号を基本回路502に出力するセンサ回路518と、遊技盤用ランプ532の制御を行うための遊技盤用ランプ駆動回路530と、遊技台枠用ランプ542の制御を行うための遊技台枠用ランプ駆動回路540と、遊技盤用ランプ駆動回路530と遊技台枠用ランプ駆動回路540との間でシリアル通信による点灯制御を行うシリアル通信制御回路520と、を接続している。<払出制御部、発射制御部、電源制御部>次に、パチンコ機100の払出制御部600、発射制御部630、電源制御部660について説明する。払出制御部600は、主に主制御部300が送信したコマンド等の信号に基づいて払出装置152の払出モータ602を制御すると共に、払出センサ604が出力する制御信号に基づいて賞球または貸球の払い出しが完了したか否かを検出すると共に、インタフェース部606を介して、パチンコ機100とは別体で設けられたカードユニット608との通信を行う。発射制御部630は、払出制御部600が出力する、発射許可または停止を指示する制御信号や、球発射ハンドル134内に設けた発射強度出力回路が出力する、遊技者による球発射ハンドル134の操作量に応じた発射強度を指示する制御信号に基づいて、発射杆146および発射槌148を駆動する発射モータ632の制御や、上皿126から発射装置110に球を供給する球送り装置634の制御を行う。電源制御部660は、パチンコ機100に外部から供給される交流電源を直流化し、所定の電圧に変換して主制御部300、第1副制御部400等の各制御部や払出装置152等の各装置に供給する。さらに、電源制御部660は、外部からの電源が断たれた後も所定の部品例えば主制御部300のRAM308等に所定の期間例えば10日間電源を供給するための蓄電回路例えば、コンデンサを備えている。なお、本実施形態では、電源制御部660から払出制御部600と第2副制御部500に所定電圧を供給し、払出制御部600から主制御部300と第2副制御部500と発射制御部630に所定電圧を供給しているが、各制御部や各装置に他の電源経路で所定電圧を供給してもよい。<図柄の種類>次に、図5a~cを用いて、パチンコ機100の第1特別図柄表示装置212、第2特別図柄表示装置214、装飾図柄表示装置208、普通図柄表示装置210が停止表示する特図および普図の種類について説明する。同図aは特図の停止図柄態様の一例を示したものである。第1特図始動口230に球が入球したことを第1始動口センサが検出したことを条件として特図1変動遊技が開始され、第2特図始動口232に球が入球したことを第2始動口センサが検出したことを条件として特図2変動遊技が開始される。特図1変動遊技が開始されると、第1特別図柄表示装置212は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す特図1の変動表示を行う。また、特図2変動遊技が開始されると、第2特別図柄表示装置214は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す特図2の変動表示を行う。これらの特図1の変動表示および特図2の変動表示が本発明にいう図柄の変動表示の一例に相当する。そして、特図1の変動開始前に決定した変動時間本発明にいう変動時間が相当が経過すると、第1特別図柄表示装置212は特図1の停止図柄態様を停止表示し、特図2の変動開始前に決定した変動時間これも本発明にいう変動時間が相当が経過すると、第2特別図柄表示装置214は特図2の停止図柄態様を停止表示する。したがって、特図1の変動表示を開始してから特図1の停止図柄態様を停止表示するまで、あるいは特図2の変動表示を開始してから特図2の停止図柄態様を停止表示するまでが本発明にいう図柄変動停止表示の一例に相当し、以下、この特図1又は2の変動表示を開始してから特図1又は2の停止図柄態様を停止表示するまでの一連の表示を図柄変動停止表示と称する。後述するように、図柄変動停止表示は複数回、連続して行われることがある。同図aには、図柄変動停止表示における停止図柄態様として特図Aから特図Jまでの10種類の特図が示されており、図中の白抜きの部分が消灯するセグメントの場所を示し、黒塗りの部分が点灯するセグメントの場所を示している。特図Aは15ラウンド15R特別大当たり図柄であり、特図Bは15R大当たり図柄である。本実施形態のパチンコ機100では、後述するように、特図変動遊技における大当りか否かの決定はハードウェア乱数の抽選によって行い、特別大当りか否かの決定はソフトウェア乱数の抽選によって行う。大当りと特別大当りの違いは、次回の特図変動遊技で、大当りに当選する確率が高い特別大当りか低い大当りかの違いである。以下、この大当りに当選する確率が高い状態のことを特図高確率状態と称し、その確率が低い状態のことを特図低確率状態と称する。また、15R特別大当たり遊技終了後および15R大当たり遊技終了後はいずれも時短状態に移行する。時短については詳しくは後述するが、時短状態に移行する状態のことを普図高確率状態と称し、時短状態に移行しない状態のことを普図低確率状態と称する。15R特別大当たり図柄である特図Aは、特図高確率普図高確率状態であり、15R大当たり図柄である特図Bは、特図低確率普図高確率状態である。これらの特図Aおよび特図Bは、遊技者に付与する利益量が相対的に大きな利益量になる図柄である。特図Cは突然確変と称される2R大当たり図柄であり、特図高確率普図高確率状態である。すなわち、15Rである特図Aと比べて、特図Cは2Rである点が異なる。特図Dは突然時短と称される2R大当たり図柄であり、特図低確率普図高確率状態である。すなわち、15Rである特図Bと比べて、特図Dは2Rである点が異なる。特図Eは隠れ確変と称される2R大当たり図柄であり、特図高確率普図低確率状態である。特図Fは突然通常と称される2R大当たり図柄であり、特図低確率普図低確率状態である。これら特図Eおよび特図Fはいずれも、2Rであるとともに、時短状態に移行しない状態である。特図Gは第1小当たり図柄であり、特図Hは第2小当たり図柄であり、何れも特図低確率普図低確率状態である。ここにいう小当たりは、2R時短無し大当たりと同じものに相当する。すなわち、この特図G、特図Hは特図Fと同じ状態であるが、両者では装飾図柄表示装置208に表示される演出が異なり、あえて、同じ状態でも特図G、特図Hと特図Fを設けておくことで、遊技の興趣を高めている。また、特図Iは第1はずれ図柄であり、特図Jは第2はずれ図柄であり、遊技者に付与する利益量が相対的に小さな利益量になる図柄である。なお、本実施形態のパチンコ機100には、15R特別大当たり図柄として特図A以外の図柄も用意されており、15R大当たり図柄等の他の図柄についても同様である。図5bは装飾図柄の一例を示したものである。本実施形態の装飾図柄には、装飾1~装飾10の10種類がある。第1特図始動口230または第2特図始動口232に球が入賞したこと、すなわち、第1特図始動口230に球が入球したことを第1始動口センサが検出したこと、あるいは第2特図始動口232に球が入球したことを第2始動口センサが検出したことを条件にして、装飾図柄表示装置208の左図柄表示領域208a、中図柄表示領域208b、右図柄表示領域208cの各図柄表示領域に、装飾1→装飾2→装飾3→装飾9→装飾10→装飾1→の順番で表示を切り替える装飾図柄の変動表示を行う。そして、特図Bの15R大当たりを報知する場合には、図柄表示領域208a~208cに15R大当たりに対応する、同じ装飾図柄が3つ並んだ図柄組合せ例えば装飾1-装飾1-装飾1や装飾2-装飾2-装飾2等を停止表示する。特図Aの15R特別大当たりを報知する場合には、同じ奇数の装飾図柄が3つ並んだ図柄組合せ例えば装飾3-装飾3-装飾3や装飾7-装飾7-装飾7等を停止表示する。また、特図Eの隠れ確変と称される2R大当たり、特図Fの突然通常と称される2R大当たり、あるいは特図Gの第1小当たり、特図Hの第2小当たりを報知する場合には、装飾1-装飾2-装飾3を停止表示する。さらに、特図Cの突然確変と称される2R大当たり、あるいは特図Dの突然時短と称される2R大当たりを報知する場合には、装飾1-装飾3-装飾5を停止表示する。一方、特図Iの第1はずれ、特図Jの第2はずれを報知する場合には、図柄表示領域208a~208cに同図bに示す図柄組合せ以外の図柄組合せを停止表示する。図5cは普図の停止表示図柄の一例を示したものである。本実施形態の普図の停止表示態様には、当たり図柄である普図Aと、外れ図柄である普図Bの2種類がある。普図始動口228を球が通過したことを上述のゲートセンサが検出したことに基づいて、普通図柄表示装置210は、7個のセグメントの全点灯と、中央の1個のセグメントの点灯を繰り返す普図の変動表示を行う。そして、普図変動遊技の当選を報知する場合には普図Aを停止表示し、普図変動遊技の外れを報知する場合には普図Bを停止表示する。この同図cにおいても、図中の白抜きの部分が消灯するセグメントの場所を示し、黒塗りの部分が点灯するセグメントの場所を示している。<主制御部の基本回路>次に、上述の主制御部300の基本回路302について詳細に説明する。図6は、主制御部300から基本回路302の主要部のみを抜き出して示した図である。主制御部300の基本回路302は、主制御部300全体の制御を行うCPU304と、CPU304が実行する制御プログラムやCPU304が参照する各種データを記憶するためのROM306と、CPU304が一時的にデータを記憶するためのRAM308と、を有している。<主制御部のCPUの内蔵レジスタ>CPU304は、カウンタ回路、タイマ回路、シリアル通信回路、乱数回路、演算回路、リセット/割込みコントローラ等を制御するための制御レジスタのほか、CPU304が制御プログラムを実行する際に使用するレジスタなどの内蔵レジスタを備える。内蔵レジスタには、本発明の特徴点の一つであるTレジスタ特殊レジスタと、汎用レジスタと、プログラムカウンタPC、命令レジスタ等が含まれる。汎用レジスタの種類は特に限定されないが、本実施形態では、Iレジスタ、Aレジスタ、Fレジスタ、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタの8ビットレジスタを備えており、BレジスタとCレジスタ、DレジスタとEレジスタ、HレジスタとLレジスタは、それぞれ、16ビット長の演算が可能なBCレジスタ、DEレジスタ、HLレジスタの16ビットレジスタペアレジスタとしても機能するように構成されている。また、本実施形態では、内蔵デバイスが出力する割込みベクタ所定のデバイスから読み込んだ割込みベクタの値を下位8ビット、Iレジスタ割込みベクタレジスタ、インタラプトレジスタの内容を上位8ビットとした合計16ビットのアドレスを、割込処理のアドレスとして読み込んで、後述する割込処理に分岐ジャンプするように構成している。例えば、Iレジスタの値が00H、割込みベクタの値が60Hのときに割込処理の要求が発生した場合には、0060H上位バイトがIレジスタの00H、下位バイトが割込みベクタの60Hで示されるアドレスに記憶された値例えば、12Hを下位バイト、続く0061Hで示されるアドレスに記憶された値例えば、04Hを上位バイトとする2バイトのアドレス例えば、0412HがPCにロードされ、このアドレスを先頭アドレスとする割込処理に分岐ジャンプするように構成している。Fレジスタは、命令が実行されると、その実行結果に従ってFレジスタ内のビット7から順にSフラグサインフラグ、Zフラグゼロフラグ、SZフラグセカンドゼロフラグ、Hフラグハーフキャリフラグ、ビット3空きビット、P/Vフラグパリティ/オーバーフローフラグ、Nフラグサブトラクトフラグ、Cフラグキャリーフラグの各フラグが、1または0に変化したり、あるいは変化しなかったりする。SZフラグは、Zフラグが変化する命令ではZフラグ同様に変化するとともに、Z80互換命令の全てのLD命令、全ての16ビット算術演算命令INC命令、DEC命令も含む、ローテートシフト命令のRLCA命令、RLA命令、RRCA命令、RRA命令、INA,n命令で変化する。なお、16ビット演算命令のADC命令、SBC命令は、Zフラグが変化し、他の命令ではZフラグは変化せず、16ビット演算命令の全てでSZフラグは変化する。また、INA,n命令は、SZフラグが変化し、Zフラグが変化しない。Fレジスタ内のSZフラグや空きビットの位置は上記したビット以外のビットであってもよい。なお、後述する特殊命令の場合にSZフラグが変化しないようにしてもよい。また、本実施形態では、A、F、B、C、D、E、H、Lの各汎用レジスタ主レジスタに対応する補助レジスタ裏レジスタとして、A ́、F ́、B ́、C ́、D ́、E ́、H ́、L ́の各汎用レジスタを備えているが、特殊レジスタであるTレジスタのみ補助レジスタを備えていない。よって、Tレジスタの使用用途は限定され、Tレジスタの使用頻度は汎用レジスタに比べて低くなるため、不用意にTレジスタの値が書き換えられてしまうような事態Tレジスタの内容が破壊されてしまうような事態を未然に防止できる場合がある。なお、補助レジスタの値は各種命令によって直接読み書きすることができず、特殊な交換命令EX命令、EXX命令によって主レジスタの値と補助レジスタの値を交換することのみが許されている。ここでは、説明の便宜上、レジスタの値をPUSH命令POP命令等の命令で変更し易いレジスタを汎用レジスタとしたが、これに限らず、AレジスタアキュムレータとFレジスタフラグレジスタなど特別な役割を持つレジスタを汎用レジスタに含めなくてもよい。また、ここでは、TレジスタをCPU304に内蔵する例を示したが、例えば、CPU304の外部に設けてもよいし、CPU304とは別体のRAM308の一部に設けてもよい。すなわち、Tレジスタは、制御プログラムを記憶するための記憶手段本実施形態ではROM306と物理的に異なる場所に設けられていることが好ましい。さらには、Tレジスタに後述する特定の値を書き込む処理を行う制御部と、ROM306から制御プログラムを読み出して遊技制御を行う制御部と、が異なることが好ましい。制御部を異ならせることで、制御プログラムの改造と特定の値の不正取得の両方を行うことを困難にすることができるためである。<主制御部のCPUのメモリ空間とI/O空間>次に、図7を用いて、主制御部300のCPU304のメモリ空間とI/O空間について説明する。なお、同図aはCPU304のメモリマップを示した図であり、同図bはCPU304のI/Oマップを示した図である。主制御部300のCPU304は、上述の内蔵レジスタ、ROM306、RAM308などにアクセスするためのメモリ空間と、上述のI/O310との間で制御信号の入出力を行うためのI/O空間を有している。具体的には、同図aのメモリマップに示すように、主制御部300のROM306のアドレス/データ信号線は、メモリ空間のROM領域本実施形態では、0000H~2FFFHHは16進数を示す。以下、同じのうち、0000H~2FBFH。2FC0H~2FFFHはプログラム管理エリアに割り当てられ、CPU304は、このROM領域を指定してROM306からのデータの読み出しを行う。また、本実施形態では、ROM領域を第一領域~第八領域の8つの領域に分けて管理を行っており、第一領域は0000Hから始まる領域としている。また、内蔵レジスタのアドレス/データ信号線は、メモリ空間のレジスタエリア本実施形態では、FE00H~FEBFHに割り当てられ、CPU304は、このレジスタエリアを介して内蔵レジスタからのデータの読み出しやレジスタへのデータの書き込みを行う。また、RAM308のアドレス/データ信号線は、メモリ空間のRWM領域本実施形態では、F000H~F3FFHに割り当てられ、CPU304は、このRWM領域を指定してRAM308からのデータの読み出しやRAM308へのデータの書き込みを行う。なお、メモリ空間の他の領域本実施形態では、3000H~EFFFH、F4000H~FDFFH、FEC0H~FFFFHは非使用領域とされている。また、同図bのI/Oマップに示すように、主制御部300のI/O310は、I/O空間のワークエリア本実施形態では、00H~BFHに割り当てられ、CPU304は、このI/O空間を介して、I/O310との間で制御信号の入出力を行う。なお、I/O空間の他の領域本実施形態では、0C0H~FFHは非使用領域とされている。<初期化処理>次に、図8を用いて、主制御部300の初期化処理について説明する。なお、同図は初期化処理の流れを示すフローチャートである。上述したように、主制御部300には、電源が投入されると起動信号システムリセット信号を出力する起動信号出力回路リセット信号出力回路340を設けている。この起動信号を入力した基本回路302のCPU304は、後述するセキュリティモードまたはユーザモードに移行する前に、この初期化処理を実行する。具体的には、ステップS51では、CPU304に内蔵されたTレジスタに、特定の値本実施形態では、上述のRWM領域の先頭アドレス7E00Hの上位バイトであるF0Hを記憶する。ステップS52では、Tレジスタ以外の他のレジスタに初期値をセットした後にステップS53に進み、後述する主制御部メイン処理を実行する。なお、Tレジスタに記憶する特定の値はF0Hに限定されないことは言うまでもなく、例えば、上述のレジスタエリアの先頭アドレス本実施形態では2000Hの上位バイトである20HをTレジスタに記憶するように構成すれば、後述するRAM308へのアクセスと同様の原理で、内蔵レジスタへのアクセス効率を高めることができる場合がある。また、第一のタイミングではTレジスタにRWM領域の先頭アドレスの上位バイトを設定し、その後または、その前の第二のタイミングでTレジスタにレジスタエリアの先頭アドレスの上位バイトを設定するように構成してもよい。また、所定条件が成立している場合例えば、所定の端子にLレベルの信号が入力されている場合にはTレジスタにRWM領域の先頭アドレスの上位バイトを設定し、所定条件が成立していない場合には、Tレジスタにレジスタエリアの先頭アドレスの上位バイトを設定するように構成してもよい。また、この初期化処理において制御プログラムによらずに自動的にTレジスタにRWM領域の先頭アドレスの上位バイトを設定または/およびTレジスタにレジスタエリアの先頭アドレスの上位バイトを設定し、この初期化処理後に制御プログラム例えば、後述するステップS101の初期設定1処理、ステップS107の初期設定2処理、ステップS113の初期化処理などによって手動でTレジスタにレジスタエリアの先頭アドレスの上位バイトを設定または/およびTレジスタにRWM領域の先頭アドレスの上位バイトを設定するように構成してもよい。ここで、上述のリセット割込みには、システムリセット割込みシステムリセット端子に一定期間のリセット信号を入力するなど、外部イベントが要因となって行われるリセット割込みと、ユーザリセット割込みユーザリセット端子に一定期間のリセット信号を入力するなど、外部イベントが要因となって行われるリセット割り込みや、WDTのタイムアウトや指定エリア外のアクセスなど、内部イベントが要因となって行われるリセット割込みの2種類の割込みがある。システムリセット割込みによるリセットでは、制御レジスタや汎用レジスタを含む全ての内部回路が初期化され例えば、レジスタに応じた初期値例えばIレジスタに00Hがセットされる、ユーザリセット割込みによるリセットでは、内部回路の一部が初期化される。図9は、システムリセット後の起動処理のタイムチャートである。システムリセットXSRST端子に所定期間例えば、システムクロックの4周期分の期間以上のLレベルの信号が入力された後にHレベルの信号が入力された場合による初期化処理を実行した後は、所定条件が成立している場合例えば、所定の端子にLレベルの信号が入力されている場合はセキュリティモードに移行し、所定条件が成立していない場合はユーザモードに移行する。ここで、セキュリティモードは、ユーザプログラムの認証を行うモードである。具体的には、システムリセット入力時にユーザプログラムを基に計算された認証コードが正しいかどうかの再計算を行い、結果セキュリティチェックの結果がOK異常なしの場合、このモードを終了して自動的にユーザモードに移行可能とし、セキュリティチェックの結果がNG異常ありの場合、CPU304が停止するように構成している。なお、認証コードは、ROM書き込み時にユーザプログラム以下、制御プログラムと称する場合があるとともにROM306に書き込まれる。このセキュリティモードにおいてセキュリティチェックが終了した後、一定の期間の経過を待つ固定延長処理が終了したときにXRSTO端子からHレベルのリセット出力を出力し、その後、ランダムな期間の経過を待つランダム延長処理が終了した場合にユーザモードに移行するように構成されている。ユーザモードは、ROMのリセットアドレス上述のROM領域の第一領域の先頭アドレスである0000Hからユーザプログラムを実行するモードであり、後述する主制御部メイン処理が開始される。なお、本実施形態では、CPU304がユーザプログラムを実行する際に1回の処理1ステートで命令レジスタに読みこむデータのバイト長を1バイト8ビット長としているが、1ステート当りのデータ長は特に限定されず、例えば、16ビット長や32ビット長でもよい。また、本実施形態では、上述の初期化処理はセキュリティモードやユーザモードへの移行前に自動的に制御プログラムによらずに実行されるように構成しているが、セキュリティモードやユーザモードへの移行後に実行されるよう構成してもよい。また、リセットの種類ユーザリセット割込みの場合には割込み要因の種類によって、初期化処理の実行タイミングが異なるように構成してもよい。具体的には、直前に発生したリセット要因を管理するためのレジスタ内蔵レジスタのうちの一つであるを参照して、直前に発生したリセット要因が1システムリセットであるか否か、2WDTのタイムアウトによるユーザリセットであるか否か、3指定エリア外のアクセスによるユーザリセットであるか否か、を判定し、判定結果に応じて初期化処理の実行タイミングを決定するように構成してもよい。また、初期化処理でセットされる特定の値と初期値は、リセットの種類やレジスタの種類によって異なるように構成してもよい例えば、汎用レジスタはシステムリセットでもユーザリセットでも初期値として00Hがセットされ、Tレジスタはシステムリセット時は特定の値としてF0Hがセットされるがユーザリセット時は初期化されないように構成してもよい。また、セキュリティモードの時間は、設定した時間分だけ延長することも、ランダムな時間分だけ延長することも可能である。ランダムな時間分だけ延長することにより、不正行為者はユーザプログラムの開始タイミングが狙いにくくなる場合がある。また、ユーザリセット例えばWDTのタイムアウトによるリセットからユーザプログラムの実行開始までの時間をランダムな時間に設定可能な構成としてもよい。このような構成とすれば、ユーザプログラムの開始タイミングを狙った不正行為を未然に防止できる場合がある。<主制御部メイン処理>次に、図10を用いて、主制御部300のCPU304が実行する主制御部メイン処理について説明する。なお、同図は主制御部メイン処理の流れを示すフローチャートである。ステップS101では、初期設定1を行う。この初期設定1では、CPU304のスタックポインタSPへのスタック初期値の設定仮設定、割込マスクの設定、I/O310の初期設定、RAM308に記憶する各種変数の初期設定、WDT314への動作許可及び初期値の設定、Tレジチェック処理詳細は後述等を行う。なお、本実施形態では、WDT314に、初期値として32.8msに相当する数値を設定する。ステップS103では、WDT314のカウンタの値をクリアし、WDT314による時間計測を再始動する。ステップS105では、低電圧信号がオンであるか否か、すなわち、電圧監視回路338が、電源制御部660から主制御部300に供給している電源の電圧値が所定の値本実施形態では9v未満である場合に電圧が低下したことを示す低電圧信号を出力しているか否かを監視する。そして、低電圧信号がオンの場合CPU304が電源の遮断を検知した場合にはステップS103に戻り、低電圧信号がオフの場合CPU304が電源の遮断を検知していない場合にはステップS107に進む。なお、電源が投入された直後で未だ上記所定の値9Vに達しない場合にもステップS103に戻り、供給電圧がその所定の値以上になるまで、ステップS105は繰り返し実行される。ステップS107では、初期設定2を行う。この初期設定2では、後述する主制御部タイマ割込処理を定期毎に実行するための周期を決める数値をカウンタタイマ312に設定する処理、I/O310の所定のポート例えば試験用出力ポート、第1副制御部400への出力ポートからクリア信号を出力する処理、RAM308への書き込みを許可する設定等を行う。ステップS109では、電源の遮断前電断前の状態に復帰するか否かの判定を行い、電断前の状態に復帰しない場合主制御部300の基本回路302を初期状態にする場合には初期化処理ステップS113に進む。具体的には、最初に、電源基板に設けたRWMクリアスイッチ180を遊技店の店員などが操作した場合に送信されるRAMクリア信号がオン操作があったことを示すであるか否か、すなわちRAMクリアが必要であるか否かを判定し、RAMクリア信号がオンの場合RAMクリアが必要な場合には、基本回路302を初期状態にすべくステップS113に進む。一方、RAMクリア信号がオフの場合RAMクリアが必要でない場合には、RAM308に設けた電源ステータス記憶領域に記憶した電源ステータスの情報を読み出し、この電源ステータスの情報がサスペンドを示す情報であるか否かを判定する。そして、電源ステータスの情報がサスペンドを示す情報でない場合には、基本回路302を初期状態にすべくステップS113に進み、電源ステータスの情報がサスペンドを示す情報である場合には、RAM308の所定の領域例えば全ての領域に記憶している1バイトデータを初期値が0である1バイト構成のレジスタに全て加算することによりチェックサムを算出し、算出したチェックサムの結果が特定の値例えば0であるか否かチェックサムの結果が正常であるか否かを判定する。そして、チェックサムの結果が特定の値例えば0の場合チェックサムの結果が正常である場合には電断前の状態に復帰すべくステップS111に進み、チェックサムの結果が特定の値例えば0以外である場合チェックサムの結果が異常である場合には、パチンコ機100を初期状態にすべくステップS113に進む。同様に電源ステータスの情報がサスペンド以外の情報を示している場合にもステップS113に進む。ステップS111では、復電時処理を行う。この復電時処理では、電断時にRAM308に設けられたスタックエリアに記憶しておいたスタックポインタの値を読み出し、スタックポインタに再設定本設定する。また、後述するように、電断時にRAM308に設けられたレジスタ退避領域に記憶しておいた所定のレジスタの値を読み出し、これらのレジスタに再設定した後、割込許可EIの設定を行う。以降、CPU304が、再設定後のスタックポインタやレジスタに基づいて制御プログラムを実行する結果、パチンコ機100は電源断時の状態に復帰する。すなわち、電断直前にタイマ割込処理後述に分岐する直前に行ったステップS115内の所定の命令の次の命令から処理を再開する。本実施形態に係るCPU304は、PUSH命令として、PUSHTI命令、PUSHALL命令、PUSHGRP命令を備えている。PUSHTI命令は、T、Iレジスタに記憶されている値を上述のスタックエリアに退避させる命令であり、具体的には、PUSH命令実行時のスタックポインタをSPとした場合、PUSH命令実行時にTレジスタに記憶されている値を、SP-1で示されるアドレスに退避させ、PUSH命令実行時にIレジスタに記憶されている値を、SP-2で示されるアドレスに退避させる。また、PUSHALL命令は、PUSH命令実行時にT、I、A、F、B、C、D、E、H、L、IXH、IXL、IYH、IYLレジスタに記憶されている値を、この順番でスタックエリアに退避させる命令である。また、PUSHGRP命令は、PUSH命令実行時にA、F、B、C、D、E、H、Lレジスタに記憶されている値を、この順番でスタックエリアに退避させる命令である。また、CPU304は、POP命令として、POPTI命令、POPALL命令、POPGRP命令を備えている。POPTI命令は、スタックエリアに記憶されている値をT、Iレジスタに復帰させるRAM308の記憶領域からT、Iレジスタにデータをロードする命令であり、具体的には、POP命令実行時のスタックポインタをSPとした場合、POP命令実行時にSP-1で示されるアドレスに記憶されている値をTレジスタに復帰させ、POP命令実行時にSP-2で示されるアドレスに記憶されている値をIレジスタに復帰させる。また、POPALL命令は、POP命令実行時にスタックエリアに記憶されている値を、T、I、A、F、B、C、D、E、H、L、IXH、IXL、IYH、IYLレジスタに復帰させる命令である。また、PUSHGRP命令は、POP命令実行時にスタックエリアに記憶された値を、A、F、B、C、D、E、H、Lレジスタに復帰させる命令である。なお、Tレジスタをスタックエリアから復帰させるためには、POPTI命令を使用する必要があるが、Iレジスタを使用しない場合でも、Iレジスタにもスタックエリアの値が復帰されてしまうことになる。このように、Tレジスタをオペランドとする命令の汎用性を無くすことによって使い難くすることによって、Tレジスタをオペランドとする命令が多用されることを未然に防ぐことができ、Tレジスタの値が不用意に書き替ってしまうような事態Tレジスタの内容が破壊されてしまうような事態を回避できる場合がある。また、CPU304は、割込み要求の受付を許可する命令EI命令と、割込み要求の受付を禁止する命令DI命令を備えており、上述のPOPTI命令は、DI命令によって割込み要求の受付が禁止されている場合にのみ実行するように構成され、EI命令によって割込み要求の受付が許可されている場合に実行しないように構成されている。このように、割込み要求の受付が許可されている状態においてPOPTI命令の実行しないように構成すれば、POPTI命令の実行によって、割込みベクタレジスタやインタラプトレジスタとして機能するIレジスタに、スタックエリアから予期しない値が復帰されてしまうおそれがなく、割込み処理を確実に実行することで信頼性の高い遊技制御を行うことができる場合がある。また、CPU304は、上述の命令の他にも、8ビットロード転送命令、16ビットロード転送命令、スタック操作命令16ビットロード命令の一種、8ビット算術論理演算命令、16ビット算術論理演算命令、乗算除算命令、アキュムレータ操作命令、MPUコントロール命令、交換命令、ブロック転送命令、ブロックサーチ命令、ビット操作命令、ローテートシフト命令、無条件ジャンプ命令条件付きジャンプ命令、コール命令リターン命令、入出力命令、複合命令などを備えている。本実施形態では、電断時には、PUSHGRP命令によってT、Iレジスタを含まない、A、F、B、C、D、E、H、Lレジスタの値をスタックエリアに退避記憶させ、復電時には、POPGRP命令によってT、Iレジスタを含まない、A、F、B、C、D、E、H、Lレジスタの値をスタックエリアから復帰させるように構成しており、TレジスタについてはPUSHGRP命令による退避とPOPGRP命令による復帰の両方ができないように構成しているこれらの命令のオペランドとしてTレジスタが指定できないように構成している。また、本実施形態では、加算命令INC命令や減算命令DEC命令のオペランドとしてもTレジスタが指定できないように構成している。後述するように、TレジスタはRAM308へのアクセスにおいて重要な役割を果たす特殊レジスタであるが、コーディングミスなどによってTレジスタに予期しない値が設定されてしまうような事態を確実に回避することができ、安定した遊技制御が可能である。また、TレジスタについてはPUSH命令による退避とPOP命令による復帰の両方を行わないため、電断時や復帰時の処理を速めることができる場合がある。また、主制御部300における基本回路302に搭載されているRAM308には、送信情報記憶領域が設けられている。このステップS111では、その送信情報記憶領域に、復電コマンドをセットする。この復電コマンドは、電源断時の状態に復帰したことを表すコマンドであり、後述する、主制御部300のタイマ割込処理におけるステップS233において、第1副制御部400へ送信される。また、ステップS116では、RAMクリアの場合はRAMクリアした後に、RAMクリアしない場合は各レジスタへデータを復帰させた後に、WDT314の起動開始を行う。ステップS113では、初期化処理を行う。この初期化処理では、割込禁止DIの設定、スタックポインタへのスタック初期値の設定本設定、RAM308の全ての記憶領域の初期化などを行う。さらにここで、主制御部300のRAM308に設けられた送信情報記憶領域に正常復帰コマンドをセットする。この正常復帰コマンドは、主制御部300の初期化処理ステップS113が行われたことを表すコマンドであり、復電コマンドと同じく、主制御部300のタイマ割込処理におけるステップS233において、第1副制御部400へ送信される。また、ステップS114では、RAMクリアの場合はRAMクリアした後に、RAMクリアしない場合は各レジスタへデータを復帰させた後に、WDT314の起動開始を行う。ステップS115では、割込禁止の設定を行った後、基本乱数初期値更新処理を行う。この基本乱数初期値更新処理では、普図当選乱数カウンタ、および特図乱数値カウンタの初期値をそれぞれ生成するための2つの初期値生成用乱数カウンタと、普図タイマ乱数値、および特図タイマ乱数値それぞれを生成するための2つの乱数カウンタを更新する。例えば、普図タイマ乱数値として取り得る数値範囲が0~100とすると、RAM308に設けた普図タイマ乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が101であれば0を元の乱数カウンタ記憶領域に記憶する。他の初期値生成用乱数カウンタ、乱数カウンタもそれぞれ同様に更新する。なお、初期値生成用乱数カウンタは、後述するステップS207でも更新する。主制御部300は、所定の周期ごとに開始するタイマ割込処理を行っている間を除いて、ステップS115の処理を繰り返し実行する。<Tレジチェック処理>図11aは、初期設定1で行うTレジチェック処理の流れを示すフローチャートであり、同図bは、Tレジチェック処理のプログラムリストの一例である。このTレジチェック処理のステップS131では、Tレジスタの値をAレジスタにセットしLDA,T、次のステップS132では、Aレジスタの値が特定の値F0Hに一致するか否かを判定しSUBF0H、JPZ,SEIJYOU、一致しない場合異常の場合;Aレジスタの値から特定の値F0Hを減算した値が0以外の値となりZフラグが0になった場合にはステップS133に進み、一致した場合正常の場合;Aレジスタの値から特定の値F0Hを減算した値が0となりZフラグが1になった場合には、Tレジスタの値が正常であると判定してTレジチェック処理を終了し、後続の処理に進む。ステップS133では、Tレジスタの値が異常であると判定してTレジスタに特定の値F0Hをセットした後にLDT,F0H、Tレジチェック処理を終了して後続の処理に進む。なお、Tレジチェック処理は図11に示す処理に限定されるものではなく、例えば、図11に示すような処理でもよい。図11aは、変形例に係るTレジチェック処理の流れを示すフローチャートであり、同図bは、変形例に係るTレジチェック処理のプログラムリストの一例である。この変形例に係るTレジチェック処理では、上記ステップS133の処理に替えて、ステップS135のエラー処理を行うように構成している。具体的には、ステップS132においてAレジスタの値が特定の値F0Hに一致しないと判定した場合異常の場合;Aレジスタの値から特定の値F0Hを減算した値が0以外の値となりZフラグが0になった場合にはステップS135に進みエラー処理を行うSUBF0H、JPNZ,moError。このエラー処理の内容は特に限定されないが、例えば、無限ループに入って後続の主制御部メイン処理を実行しないように構成したり、後続の主制御部メイン処理において液晶表示装置やスピーカなどを用いてエラーを報知したりすることが考えられる。<LD命令>次に、主制御部300が備えるLD命令について説明する。LD命令LDOP1,OP2は、第1オペランドOP1で示されるレジスタに、第2オペランドOP2で示されるレジスタに記憶された値または、第2オペランドOP2で示されるイミディエイト値即値または直値ともいう。以下同じを記憶するための命令である。例えば、上述のTレジチェック処理の実行前にTレジスタにF0Hが記憶されている状態でLDA,Tの命令を実行した場合、Aレジスタには第2オペランドで示されるTレジスタに記憶された値、すなわちF0Hが記憶される。また、LDA,F0Hの命令を実行した場合にも、Aレジスタには第2オペランドで示されるイミディエイト値、すなわちF0Hが記憶される。一方、第1オペランドOP1をTレジスタとするLD命令では、第2オペランドはイミディエイト値に限定されており、第2オペランドにレジスタを設定することは禁止されている機械語にアセンブルされる過程でエラーとなりアセンブルすることができない。したがって、上述のTレジチェック処理で説明したように、第2オペランドをイミディエイト値とするLD命令先の例ではLDT,F0Hのプログラミングコーディングは認められるが、第2オペランドにレジスタを設定するLD命令例えばLDT,Aのプログラミングコーディングは認められない。このように、第1オペランドOP1をTレジスタとするLD命令では、Tレジスタに対して直値でデータを転送するよう構成されているので、セットしているデータを確認し易くなる場合がある。また、Tレジスタに対して他のレジスタを介してデータを転送できないように構成されているので、Tレジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。図13はプログラムリストからLD命令のみを抜き出して示した図である。この例では、5つのLD命令を使用しているが、例えば、4のLD命令LDB,Aの実行後にBレジスタに記憶される値についてデバッグでトレースを行う場合を考える。この場合、LD命令LDB,Aの第2オペランドであるAレジスタについて、プログラムリストを遡ってトレースすることが必要であるが、例えば、LDAという検索キーでプログラムリストの検索を行った場合、1のLD命令LDA,Bに加えて3のLD命令LDA,Hがヒットすることになる。すなわち、第1オペランドにAレジスタを設定したLD命令は、第2オペランドにレジスタを設定することと、第2オペランドをイミディエイト値とすることの両方が認められているため使用頻度が高く、コーディングの見直し作業や、デバッグ例えば、Aレジスタのトレースなどの効率を低下させる一因となり得る。なお、ここでは、最も利用頻度が高いAレジスタについて説明したが、Tレジスタを除く他のレジスタを利用した場合にも同様のことが言える。一方、第1オペランドにTレジスタを設定したLD命令は、第2オペランドにレジスタを設定することが禁止され、第2オペランドをイミディエイト値とすることのみが認められているため、Aレジスタを利用したLD命令よりも相対的に使用頻度が低く、コーディングの見直し作業や、デバッグ例えば、Tレジスタのトレースなどの効率を高めることが可能となり、制御プログラムの開発効率が向上する場合がある。<主制御部タイマ割込処理>次に、図14を用いて、主制御部300のCPU304が実行する主制御部タイマ割込処理について説明する。なお、同図は主制御部タイマ割込処理の流れを示すフローチャートである。主制御部300は、所定の周期本実施形態では約2msに1回でタイマ割込信号を発生するカウンタタイマ312を備えており、このタイマ割込信号を契機として主制御部タイマ割込処理を所定の周期で開始する。ステップS201では、タイマ割込開始処理を行う。このタイマ割込開始処理では、CPU304の各レジスタの値をスタック領域に一時的に退避する処理などを行う。ステップS203では、WDT314のカウント値が初期設定値本実施形態では32.8msを超えてWDT割込が発生しないように処理の異常を検出しないように、WDTを定期的に本実施形態では、主制御部タイマ割込の周期である約2msに1回リスタートを行う。ステップS205では、入力ポート状態更新処理を行う。この入力ポート状態更新処理では、I/O310の入力ポートを介して、上述の前面枠扉開放センサや内枠開放センサや下皿満タンセンサ、各種の球検出センサを含む各種センサ320の検出信号を入力して検出信号の有無を監視し、RAM308に各種センサ320ごとに区画して設けた信号状態記憶領域に記憶する。球検出センサの検出信号を例にして説明すれば、前々回のタイマ割込処理約4ms前で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた前回検出信号記憶領域から読み出し、この情報をRAM308に各々の球検出センサごとに区画して設けた前々回検出信号記憶領域に記憶し、前回のタイマ割込処理約2ms前で検出した各々の球検出センサの検出信号の有無の情報を、RAM308に各々の球検出センサごとに区画して設けた今回検出信号記憶領域から読み出し、この情報を上述の前回検出信号記憶領域に記憶する。また、今回検出した各々の球検出センサの検出信号を、上述の今回検出信号記憶領域に記憶する。また、ステップS205では、上述の前々回検出信号記憶領域、前回検出信号記憶領域、および今回検出信号記領域の各記憶領域に記憶した各々の球検出センサの検出信号の有無の情報を比較し、各々の球検出センサにおける過去3回分の検出信号の有無の情報が入賞判定パターン情報と一致するか否かを判定する。一個の遊技球が一つの球検出センサを通過する間に、約2msという非常に短い間隔で起動を繰り返すこの主制御部タイマ割込処理は何回か起動する。このため、主制御部タイマ割込処理が起動する度に、上述のステップS205では、同じ遊技球が同じ球検出センサを通過したことを表す検出信号を確認することになる。この結果、上述の前々回検出信号記憶領域、前回検出信号記憶領域、および今回検出信号記領域それぞれに、同じ遊技球が同じ球検出センサを通過したことを表す検出信号が記憶される。すなわち、遊技球が球検出センサを通過し始めたときには、前々回検出信号無し、前回検出信号有り、今回検出信号有りになる。本実施形態では、球検出センサの誤検出やノイズを考慮して、検出信号無しの後に検出信号が連続して2回記憶されている場合には、入賞があったと判定する。図4に示す主制御部300のROM306には、入賞判定パターン情報本実施形態では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報が記憶されている。このステップS205では、各々の球検出センサにおいて過去3回分の検出信号の有無の情報が、予め定めた入賞判定パターン情報本実施形態では、前々回検出信号無し、前回検出信号有り、今回検出信号有りであることを示す情報と一致した場合に、一般入賞口226、可変入賞口234、第1特図始動口230、および第2特図始動口232への入球、または普図始動口228の通過があったと判定する。すなわち、これらの入賞口226、234やこれらの始動口230、232、228への入賞があったと判定する。例えば、一般入賞口226への入球を検出する一般入賞口センサにおいて過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致した場合には、一般入賞口226へ入賞があったと判定し、以降の一般入賞口226への入賞に伴う処理を行うが、過去3回分の検出信号の有無の情報が上述の入賞判定パターン情報と一致しなかった場合には、以降の一般入賞口226への入賞に伴う処理を行わずに後続の処理に分岐する。なお、主制御部300のROM306には、入賞判定クリアパターン情報本実施形態では、前々回検出信号有り、前回検出信号無し、今回検出信号無しであることを示す情報が記憶されている。入賞が一度あったと判定した後は、各々の球検出センサにおいて過去3回分の検出信号の有無の情報が、その入賞判定クリアパターン情報に一致するまで入賞があったとは判定せず、入賞判定クリアパターン情報に一致すれば、次からは上記入賞判定パターン情報に一致するか否かの判定を行う。ステップS207およびステップS209では、基本乱数初期値更新処理および基本乱数更新処理を行う。これらの基本乱数初期値更新処理および基本乱数更新処理では、上記ステップS115で行った初期値生成用乱数カウンタの値の更新を行い、次に主制御部300で使用する、普図当選乱数値、特図1乱数値、および特図2乱数値をそれぞれ生成するための2つの乱数カウンタを更新する。例えば、普図当選乱数値として取り得る数値範囲が0~100とすると、RAM308に設けた普図当選乱数値を生成するための乱数カウンタ記憶領域から値を取得し、取得した値に1を加算してから元の乱数カウンタ記憶領域に記憶する。このとき、取得した値に1を加算した結果が101であれば0を元の乱数カウンタ記憶領域に記憶する。また、取得した値に1を加算した結果、乱数カウンタが一周していると判定した場合にはそれぞれの乱数カウンタに対応する初期値生成用乱数カウンタの値を取得し、乱数カウンタの記憶領域にセットする。例えば、0~100の数値範囲で変動する普図当選乱数値生成用の乱数カウンタから値を取得し、取得した値に1を加算した結果が、RAM308に設けた所定の初期値記憶領域に記憶している前回設定した初期値と等しい値例えば7である場合に、普図当選乱数値生成用の乱数カウンタに対応する初期値生成用乱数カウンタから値を初期値として取得し、普図当選乱数値生成用の乱数カウンタにセットすると共に、普図当選乱数値生成用の乱数カウンタが次に1周したことを判定するために、今回設定した初期値を上述の初期値記憶領域に記憶しておく。また、普図当選乱数値生成用の乱数カウンタが次に1周したことを判定するための上述の初期値記憶領域とは別に、特図乱数生成用の乱数カウンタが1周したことを判定するための初期値記憶領域をRAM308に設けている。なお、本実施形態では特図1の乱数値を取得するためのカウンタと特図2の乱数値を取得するためのカウンタとを別に設けたが、同一のカウンタを用いてもよい。ステップS211では、演出乱数更新処理を行う。この演出乱数更新処理では、主制御部300で使用する演出用乱数値を生成するための乱数カウンタを更新する。ステップS213では、タイマ更新処理を行う。このタイマ更新処理では、普通図柄表示装置210に図柄を変動停止表示する時間を計時するための普図表示図柄更新タイマ、第1特別図柄表示装置212に図柄を変動停止表示する時間を計時するための特図1表示図柄更新タイマ、第2特図表示装置214に図柄を変動停止表示する時間を計時するための特図2表示図柄更新タイマ、所定の入賞演出時間、所定の開放時間、所定の閉鎖時間、所定の終了演出期間などを計時するためのタイマなどを含む各種タイマを更新する。ステップS215では、入賞口カウンタ更新処理を行う。この入賞口カウンタ更新処理では、入賞口226、234や始動口230、232、228に入賞があった場合に、RAM308に各入賞口ごと、あるいは各始動口ごとに設けた賞球数記憶領域の値を読み出し、1を加算して、元の賞球数記憶領域に設定する。また、ステップS217では、入賞受付処理を行う。この入賞受付処理では、第1特図始動口230、第2特図始動口232、普図始動口228および可変入賞口234への入賞があったか否かを判定する。ここでは、ステップS203における入賞判定パターン情報と一致するか否かの判定結果を用いて判定する。第1特図始動口230へ入賞があった場合且つRAM308に設けた対応する保留数記憶領域が満タンでない場合、カウンタ回路318の当選用カウンタ値記憶用レジスタから値を特図1当選乱数値として取得するとともに特図1乱数値生成用の乱数カウンタから値を特図1乱数値として取得して対応する乱数値記憶領域に格納する。第2特図始動口232へ入賞があった場合且つRAM308に設けた対応する保留数記憶領域が満タンでない場合、カウンタ回路318の当選用カウンタ値記憶用レジスタから値を特図2当選乱数値として取得するとともに特図2乱数値生成用の乱数カウンタから値を特図2乱数値として取得して対応する乱数値記憶領域に格納する。普図始動口228へ入賞があった場合且つRAM308に設けた対応する保留数記憶領域が満タンでない場合、普図当選乱数値生成用の乱数カウンタから値を普図当選乱数値として取得して対応する乱数値記憶領域に格納する。可変入賞口234へ入賞があった場合には、可変入賞口用の入賞記憶領域に、可変入賞口234に球が入球したことを示す情報を格納する。ステップS219では、払出要求数送信処理を行う。なお、払出制御部600に出力する出力予定情報および払出要求情報は、例えば1バイトで構成しており、ビット7にストローブ情報オンの場合、データをセットしていることを示す、ビット6に電源投入情報オンの場合、電源投入後一回目のコマンド送信であることを示す、ビット4~5に暗号化のための今回加工種別0~3、およびビット0~3に暗号化加工後の払出要求数を示すようにしている。ステップS221では、普図状態更新処理を行う。この普図状態更新処理は、普図の状態に対応する複数の処理のうちの1つの処理を行う。例えば、普図変動表示の途中上述する普図表示図柄更新タイマの値が1以上における普図状態更新処理では、普通図柄表示装置210を構成する7セグメントLEDの点灯と消灯を繰り返す点灯消灯駆動制御を行う。この制御を行うことで、普通図柄表示装置210は普図の変動表示普図変動遊技を行う。また、普図変動表示時間が経過したタイミング普図表示図柄更新タイマの値が1から0になったタイミングにおける普図状態更新処理では、当りフラグがオンの場合には、当たり図柄の表示態様となるように普通図柄表示装置210を構成する7セグメントLEDの点灯消灯駆動制御を行い、当りフラグがオフの場合には、外れ図柄の表示態様となるように普通図柄表示装置210を構成する7セグメントLEDの点灯消灯駆動制御を行う。また、主制御部300のRAM308には、普図状態更新処理に限らず各種の処理において各種の設定を行う設定領域が用意されている。ここでは、上記点灯消灯駆動制御を行うとともに、その設定領域に普図停止表示中であることを示す設定を行う。この制御を行うことで、普通図柄表示装置210は、当り図柄図5cに示す普図Aおよび外れ図柄図5cに示す普図Bいずれか一方の図柄の確定表示を行う。さらにその後、所定の停止表示期間例えば500m秒間、その表示を維持するためにRAM308に設けた普図停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により、確定表示された図柄が所定期間停止表示され、普図変動遊技の結果が遊技者に報知される。また、普図変動遊技の結果が当りであれば、後述するように、普図当りフラグがオンされる。この普図当りフラグがオンの場合には、所定の停止表示期間が終了したタイミング普図停止時間管理用タイマの値が1から0になったタイミングにおける普図状態更新処理では、RAM308の設定領域に普図作動中を設定するとともに、所定の開放期間例えば2秒間、第2特図始動口232の羽根部材232aの開閉駆動用のソレノイド332に、羽根部材232aを開放状態に保持する信号を出力するとともに、RAM308に設けた羽根開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。また、所定の開放期間が終了したタイミング羽根開放時間管理用タイマの値が1から0になったタイミングで開始する普図状態更新処理では、所定の閉鎖期間例えば500m秒間、羽根部材の開閉駆動用のソレノイド332に、羽根部材を閉鎖状態に保持する信号を出力するとともに、RAM308に設けた羽根閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。また、所定の閉鎖期間が終了したタイミング羽根閉鎖時間管理用タイマの値が1から0になったタイミングで開始する普図状態更新処理では、RAM308の設定領域に普図非作動中を設定する。さらに、普図変動遊技の結果が外れであれば、後述するように、普図外れフラグがオンされる。この普図外れフラグがオンの場合には、上述した所定の停止表示期間が終了したタイミング普図停止時間管理用タイマの値が1から0になったタイミングにおける普図状態更新処理でも、RAM308の設定領域に普図非作動中を設定する。普図非作動中の場合における普図状態更新処理では、何もせずに次のステップS223に移行するようにしている。ステップS223では、普図関連抽選処理を行う。この普図関連抽選処理では、普図変動遊技および第2特図始動口232の開閉制御を行っておらず普図の状態が非作動中、且つ、保留している普図変動遊技の数が1以上である場合に、上述の乱数値記憶領域に記憶している普図当選乱数値に基づいた乱数抽選により普図変動遊技の結果を当選とするか、不当選とするかを決定する当り判定をおこない、当選とする場合にはRAM308に設けた当りフラグにオンを設定する。不当選の場合には、当りフラグにオフを設定する。また、当り判定の結果に関わらず、次に上述の普図タイマ乱数値生成用の乱数カウンタの値を普図タイマ乱数値として取得し、取得した普図タイマ乱数値に基づいて複数の変動時間のうちから普図表示装置210に普図を変動表示する時間を1つ選択し、この変動表示時間を、普図変動表示時間として、RAM308に設けた普図変動時間記憶領域に記憶する。なお、保留している普図変動遊技の数は、RAM308に設けた普図保留数記憶領域に記憶するようにしており、当り判定をするたびに、保留している普図変動遊技の数から1を減算した値を、この普図保留数記憶領域に記憶し直すようにしている。また当り判定に使用した乱数値を消去する。次いで、特図1および特図2それぞれについての特図状態更新処理を行うが、最初に、特図2についての特図状態更新処理特図2状態更新処理を行うステップS225。この特図2状態更新処理は、特図2の状態に応じて、次の8つの処理のうちの1つの処理を行う。例えば、特図2変動表示の途中上述の特図2表示図柄更新タイマの値が1以上における特図2状態更新処理では、第2特別図柄表示装置214を構成する7セグメントLEDの点灯と消灯を繰り返す点灯消灯駆動制御を行う。この制御を行うことで、第2特別図柄表示装置214は特図2の変動表示特図2変動遊技を行う。また、コマンド設定送信処理ステップS233で回転開始設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶してから処理を終了する。また、主制御部300のRAM308の当否判定結果記憶領域には、15R大当りフラグ、2R大当たりフラグ、第1小当たりフラグ、第2小当たりフラグ、第1はずれフラグ、第2はずれフラグ、特図確率変動フラグ、および普図確率変動フラグそれぞれのフラグが用意されている。特図2変動表示時間が経過したタイミング特図2表示図柄更新タイマの値が1から0になったタイミングで開始する特図2状態更新処理では、15R大当りフラグはオン、特図確率変動フラグもオン、普図確率変動フラグもオンの場合には図5aに示す特図A、15R大当りフラグはオン、特図確率変動フラグはオフ、普図確率変動フラグはオンの場合には特図B、2R大当りフラグはオン、特図確率変動フラグもオン、普図確率変動フラグもオンの場合には特図C、2R大当りフラグはオン、特図確率変動フラグはオフ、普図確率変動フラグはオンの場合には特図D、2R大当りフラグはオン、特図確率変動フラグもオン、普図確率変動フラグはオンの場合には特図E、2R大当りフラグはオン、特図確率変動フラグはオフ、普図確率変動フラグもオフの場合には特図F、第1小当たりフラグがオンの場合には特図G、第2小当たりフラグがオンの場合には特図H、第1はずれフラグがオンの場合には特図I、第2はずれフラグがオンの場合には特図Iそれぞれの態様となるように、第2特別図柄表示装置214を構成する7セグメントLEDの点灯消灯駆動制御を行い、RAM308の設定領域に特図2停止表示中であることを表す設定を行う。この制御を行うことで、第2特別図柄表示装置214は、15R特別大当たり図柄特図A、15R大当たり図柄特図B、突然確変図柄特図C、突然時短図柄特図D、隠れ確変図柄特図E、突然通常図柄特図F、第1小当たり図柄特図G、第2小当たり図柄特図H、第1はずれ図柄特図I、および第2はずれ図柄特図Jのいずれか一つの図柄の確定表示を行う。さらにその後、所定の停止表示期間例えば500m秒間その表示を維持するためにRAM308に設けた特図2停止時間管理用タイマの記憶領域に停止期間を示す情報を設定する。この設定により、確定表示された特図2が所定期間停止表示され、特図2変動遊技の結果が遊技者に報知される。また、RAM308に設けられた時短回数記憶部に記憶された時短回数が1以上であれば、その時短回数から1を減算し、減算結果が1から0となった場合は、特図確率変動中詳細は後述でなければ、時短フラグをオフする。さらに、大当り遊技中特別遊技状態中にも、時短フラグをオフする。また、コマンド設定送信処理ステップS233で回転停止設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶するとともに、変動表示を停止する図柄が特図2であることを示す特図2識別情報を、後述するコマンドデータに含める情報としてRAM308に追加記憶してから処理を終了する。また、特図2変動遊技の結果が大当りであれば、後述するように、大当りフラグがオンされる。この大当りフラグがオンの場合には、所定の停止表示期間が終了したタイミング特図2停止時間管理用タイマの値が1から0になったタイミングにおける特図2状態更新処理では、RAM308の設定領域に特図2作動中を設定するとともに、所定の入賞演出期間例えば3秒間すなわち装飾図柄表示装置208による大当りを開始することを遊技者に報知する画像を表示している期間待機するためにRAM308に設けた特図2待機時間管理用タイマの記憶領域に入賞演出期間を示す情報を設定する。また、コマンド設定送信処理ステップS233で入賞演出設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶する。また、所定の入賞演出期間が終了したタイミング特図2待機時間管理用タイマの値が1から0になったタイミングで開始する特図2状態更新処理では、所定の開放期間例えば29秒間、または可変入賞口234に所定球数例えば10球の遊技球の入賞を検出するまで可変入賞口234の扉部材234aの開閉駆動用のソレノイド332に、扉部材234aを開放状態に保持する信号を出力するとともに、RAM308に設けた扉開放時間管理用タイマの記憶領域に開放期間を示す情報を設定する。また、コマンド設定送信処理ステップS233で大入賞口開放設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶する。また、所定の開放期間が終了したタイミング扉開放時間管理用タイマの値が1から0になったタイミングで開始する特図2状態更新処理では、所定の閉鎖期間例えば1.5秒間可変入賞口234の扉部材234aの開閉駆動用のソレノイド332に、扉部材234aを閉鎖状態に保持する信号を出力するとともに、RAM308に設けた扉閉鎖時間管理用タイマの記憶領域に閉鎖期間を示す情報を設定する。また、コマンド設定送信処理ステップS233で大入賞口閉鎖設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶する。また、この扉部材の開放閉鎖制御を所定回数本実施例では15ラウンドか2ラウンド繰り返し、終了したタイミングで開始する特図2状態更新処理では、所定の終了演出期間例えば3秒間すなわち装飾図柄表示装置208による大当りを終了することを遊技者に報知する画像を表示している期間待機するように設定するためにRAM308に設けた演出待機時間管理用タイマの記憶領域に演出待機期間を示す情報を設定する。また、普図確率変動フラグがオンに設定されていれば、この大当たり遊技の終了と同時に、RAM308に設けられた時短回数記憶部に時短回数100回をセットするともに、RAM308に設けられた時短フラグをオンする。なお、その普図確率変動フラグがオフに設定されていれば、時短回数記憶部に時短回数をセットすることもなく、また時短フラグをオンすることもない。ここにいう時短とは、特図変動遊技における大当りを終了してから、次の大当りを開始するまでの時間を短くするため、パチンコ機が遊技者にとって有利な状態になることをいう。この時短フラグがオンに設定されていると、普図高確率状態である。普図高確率状態では普図低確率状態に比べて、普図変動遊技に大当りする可能性が高い。また、普図高確率状態の方が、普図低確率状態に比べて普図変動遊技の変動時間および特図変動遊技の変動時間は短くなる。さらに、普図高確率状態では普図低確率状態に比べて、第2特別始動口232の一対の羽根部材232aの1回の開放における開放時間が長くなりやすい。加えて、普図高確率状態では普図低確率状態に比べて、一対の羽根部材232aは多く開きやすい。また、上述のごとく、時短フラグは、大当り遊技中特別遊技状態中にはオフに設定される。したがって、大当たり遊技中には、普図低確率状態が維持される。これは、大当たり遊技中に普図高確率状態であると、大当たり遊技中に可変入賞口234に所定の個数、遊技球が入球するまでの間に第2特図始動口232に多くの遊技球が入球し、大当たり中に獲得することができる遊技球の数が多くなってしまい射幸性が高まってしまうという問題があり、これを解決するためのものである。さらに、コマンド設定送信処理ステップS233で終了演出設定送信処理を実行させることを示す所定の送信情報を上述の送信情報記憶領域に追加記憶する。また、所定の終了演出期間が終了したタイミング演出待機時間管理用タイマの値が1から0になったタイミングで開始する特図2状態更新処理では、RAM308の設定領域に特図2非作動中を設定する。さらに、特図2変動遊技の結果が外れであれば、後述するように、はずれフラグがオンされる。このはずれフラグがオンの場合には、上述した所定の停止表示期間が終了したタイミング特図2停止時間管理用タイマの値が1から0になったタイミングにおける特図2状態更新処理でも、RAM308の設定領域に特図2非作動中を設定する。特図2非作動中の場合における特図2状態更新処理では、何もせずに次のステップS227に移行するようにしている。続いて、特図1についての特図状態更新処理特図1状態更新処理を行うステップS227。この特図1状態更新処理では、特図1の状態に応じて、上述の特図2状態更新処理で説明した各処理を行う。この特図1状態更新処理で行う各処理は、上述の特図2状態更新処理で説明した内容の特図2を特図1と読み替えた処理と同一であるため、その説明は省略する。なお、特図2状態更新処理と特図1状態更新処理の順番は逆でもよい。ステップS225およびステップS227における特図状態更新処理が終了すると、今度は、特図1および特図2それぞれについての特図関連抽選処理を行う。ここでも先に、特図2についての特図関連抽選処理特図2関連抽選処理を行いステップS229、その後で、特図1についての特図関連抽選処理特図1関連抽選処理を行うステップS231。これらの特図関連抽選処理についても、主制御部300が特図2関連抽選処理を特図1関連抽選処理よりも先に行うことで、特図2変動遊技の開始条件と、特図1変動遊技の開始条件が同時に成立した場合でも、特図2変動遊技が先に変動中となるため、特図1変動遊技は変動を開始しない。また、装飾図柄表示装置208による、特図変動遊技の大当り判定の結果の報知は、第1副制御部400によって行われ、第2特図始動口232への入賞に基づく抽選の抽選結果の報知が、第1特図始動口230への入賞に基づく抽選の抽選結果の報知よりも優先して行われる。ステップS233では、コマンド設定送信処理を行い、各種のコマンドが第1副制御部400に送信される。なお、第1副制御部400に送信する出力予定情報は例えば16ビットで構成しており、ビット15はストローブ情報オンの場合、データをセットしていることを示す、ビット11~14はコマンド種別本実施形態では、基本コマンド、図柄変動開始コマンド、図柄変動停止コマンド、入賞演出開始コマンド、終了演出開始コマンド、大当りラウンド数指定コマンド、復電コマンド、FRAMクリアコマンドなどコマンドの種類を特定可能な情報、ビット0~10はコマンドデータコマンド種別に対応する所定の情報で構成している。具体的には、ストローブ情報は上述のコマンド送信処理でオン、オフするようにしている。また、コマンド種別が図柄変動開始コマンドの場合であればコマンドデータに、15R大当りフラグや2R大当たりフラグの値、特図確率変動フラグの値、特図関連抽選処理で選択したタイマ番号などを示す情報を含み、図柄変動停止コマンドの場合であれば、15R大当りフラグや2R大当たりフラグの値、特図確率変動フラグの値などを含み、入賞演出コマンドおよび終了演出開始コマンドの場合であれば、特図確率変動フラグの値などを含み、大当りラウンド数指定コマンドの場合であれば特図確率変動フラグの値、大当りラウンド数などを含むようにしている。コマンド種別が基本コマンドを示す場合は、コマンドデータにデバイス情報、第1特図始動口230への入賞の有無、第2特図始動口232への入賞の有無、可変入賞口234への入賞の有無などを含む。また、上述の回転開始設定送信処理では、コマンドデータにRAM308に記憶している、15R大当りフラグや2R大当たりフラグの値、特図確率変動フラグの値、特図1関連抽選処理および特図2関連抽選処理で選択したタイマ番号、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。上述の回転停止設定送信処理では、コマンドデータにRAM308に記憶している、15R大当りフラグや2R大当たりフラグの値、特図確率変動フラグの値などを示す情報を設定する。上述の入賞演出設定送信処理では、コマンドデータに、RAM308に記憶している、入賞演出期間中に装飾図柄表示装置208各種ランプ418スピーカ120に出力する演出制御情報、特図確率変動フラグの値、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。上述の終了演出設定送信処理では、コマンドデータに、RAM308に記憶している、演出待機期間中に装飾図柄表示装置208各種ランプ418スピーカ120に出力する演出制御情報、特図確率変動フラグの値、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。上述の大入賞口開放設定送信処理では、コマンドデータにRAM308に記憶している大当りラウンド数、特図確率変動フラグの値、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。上述の大入賞口閉鎖設定送信処理では、コマンドデータにRAM308に記憶している大当りラウンド数、特図確率変動フラグの値、保留している第1特図変動遊技または第2特図変動遊技の数などを示す情報を設定する。また、このステップS233では一般コマンド特図保留増加処理も行われる。この一般コマンド特図保留増加処理では、コマンドデータにRAM308の送信用情報記憶領域に記憶している特図識別情報特図1または特図2を示す情報、予告情報事前予告情報、偽事前予告情報、または事前予告無情報のいずれかを設定する。第1副制御部400では、受信した出力予定情報に含まれるコマンド種別により、主制御部300における遊技制御の変化に応じた演出制御の決定が可能になるとともに、出力予定情報に含まれているコマンドデータの情報に基づいて、演出制御内容を決定することができるようになる。ステップS235では、外部出力信号設定処理を行う。この外部出力信号設定処理では、RAM308に記憶している遊技情報を、情報出力回路336を介してパチンコ機100とは別体の情報入力回路350に出力する。ステップS237では、デバイス監視処理を行う。このデバイス監視処理では、ステップS205において信号状態記憶領域に記憶した各種センサの信号状態を読み出して、所定のエラーの有無、例えば前面枠扉開放エラーの有無または下皿満タンエラーの有無などを監視し、前面枠扉開放エラーまたは下皿満タンエラーを検出した場合に、第1副制御部400に送信すべき送信情報に、前面枠扉開放エラーの有無または下皿満タンエラーの有無を示すデバイス情報を設定する。また、各種ソレノイド332を駆動して第2特図始動口232や、可変入賞口234の開閉を制御したり、表示回路324、326、330を介して普通図柄表示装置210、第1特別図柄表示装置212、第2特別図柄表示装置214、各種状態表示部328などに出力する表示データを、I/O310の出力ポートに設定する。また、払出要求数送信処理ステップS219で設定した出力予定情報を出力ポートI/O310を介して第1副制御部400に出力する。ステップS239では、低電圧信号がオンであるか否かを監視する。そして、低電圧信号がオンの場合電源の遮断を検知した場合にはステップS243に進み、低電圧信号がオフの場合電源の遮断を検知していない場合にはステップS241に進む。ステップS241では、タイマ割込終了処理を行う。このタイマ割込終了処理では、ステップS201で一時的に退避した各レジスタの値を元の各レジスタに設定したり、割込許可の設定などを行い、その後、主制御部メイン処理に復帰する。一方、ステップS243では、復電時に電断時の状態に復帰するための特定の変数やスタックポインタを復帰データとしてRAM308の所定の領域に退避し、入出力ポートの初期化等の電断処理を行い、その後、主制御部メイン処理に復帰する。<第1副制御部400の処理>次に、図15を用いて、第1副制御部400の処理について説明する。なお、同図aは、第1副制御部400のCPU404が実行するメイン処理のフローチャートである。同図bは、第1副制御部400のストローブ割込み処理のフローチャートである。同図cは、第1副制御部400のタイマ変数更新割込処理のフローチャートである。同図dは、第1副制御部400の画像制御処理のフローチャートである。まず、同図aのステップS301では、各種の初期設定を行う。電源投入が行われると、まずS301で初期化処理が実行される。この初期化処理では、入出力ポートの初期設定や、RAM408内の記憶領域の初期化処理等を行う。ステップS303では、タイマ変数が10以上か否かを判定し、タイマ変数が10となるまでこの処理を繰り返し、タイマ変数が10以上となったときには、ステップS305の処理に移行する。ステップS305では、タイマ変数に0を代入する。ステップS307では、コマンド処理を行う。第1副制御部400のCPU404は、主制御部300からコマンドを受信したか否かを判別する。ステップS309では、演出制御処理を行う。例えば、S307で新たなコマンドがあった場合には、このコマンドに対応する演出データをROM406から読み出す等の処理を行い、演出データの更新が必要な場合には演出データの更新処理を行う。ステップS311では、チャンスボタンの押下を検出していた場合、ステップS309で更新した演出データをチャンスボタンの押下に応じた演出データに変更する処理を行う。ステップS313では、S309で読み出した演出データの中にVDP434への命令がある場合には、この命令をVDP434に出力する詳細は後述。ステップS315では、S309で読み出した演出データの中に音源IC416への命令がある場合には、この命令を音源IC416に出力する。ステップS317では、S309で読み出した演出データの中に各種ランプ418への命令がある場合には、この命令を駆動回路420に出力する。ステップS319では、S309で読み出した演出データの中に遮蔽装置246への命令がある場合には、この命令を駆動回路432に出力する。ステップS321では、S309で読み出した演出データの中に第2副制御部500に送信する制御コマンドがある場合には、この制御コマンドを出力する設定を行い、S303へ戻る。次に、同図bを用いて、第1副制御部400のコマンド受信割込処理について説明する。このコマンド受信割込処理は、第1副制御部400が、主制御部300が出力するストローブ信号を検出した場合に実行する処理である。コマンド受信割込処理のステップS401では、主制御部300が出力したコマンドを未処理コマンドとしてRAM408に設けたコマンド記憶領域に記憶する。次に、同図cを用いて、第1副制御部400のCPU404によって実行する第1副制御部タイマ割込処理について説明する。第1副制御部400は、所定の周期本実施例では2msに1回でタイマ割込を発生するハードウェアタイマを備えており、このタイマ割込を契機として、タイマ割込処理を所定の周期で実行する。第1副制御部タイマ割込処理のステップS501では、第1副制御部メイン処理におけるステップS303において説明したRAM408のタイマ変数記憶領域の値に、1を加算して元のタイマ変数記憶領域に記憶する。従って、ステップS303において、タイマ変数の値が10以上と判定されるのは20ms毎2ms×10となる。第1副制御部タイマ割込処理のステップS503では、ステップS319で設定された第2副制御部500への制御コマンドの送信や、演出用乱数値の更新処理等を行う。次に、同図dを用いて、第1副制御部400のメイン処理におけるステップS313の画像制御処理について説明する。同図は、画像制御処理の流れを示すフローチャートを示した図である。ステップS601では、画像データの転送指示を行う。ここでは、CPU404は、まず、VRAM436の表示領域Aと表示領域Bの描画領域の指定をスワップする。これにより、描画領域に指定されていない表示領域に記憶された1フレームの画像が装飾図柄表示装置208に表示される。次に、CPU404は、VDP434のアトリビュートレジスタに、位置情報等テーブルに基づいてROM座標ROM406の転送元アドレス、VRAM座標VRAM436の転送先アドレスなどを設定した後、ROM406からVRAM436への画像データの転送開始を指示する命令を設定する。VDP434は、アトリビュートレジスタに設定された命令に基づいて画像データをROM406からVRAM436に転送する。その後、VDP436は、転送終了割込信号をCPU404に対して出力する。ステップS603では、VDP434からの転送終了割込信号が入力されたか否かを判定し、転送終了割込信号が入力された場合はステップS605に進み、そうでない場合は転送終了割込信号が入力されるのを待つ。ステップS605では、演出シナリオ構成テーブルおよびアトリビュートデータなどに基づいて、パラメータ設定を行う。ここでは、CPU404は、ステップS601でVRAM436に転送した画像データに基づいてVRAM436の表示領域AまたはBに表示画像を形成するために、表示画像を構成する画像データの情報VRAM436の座標軸、画像サイズ、VRAM座標配置座標などをVDP434に指示する。VDP434はアトリビュートレジスタに格納された命令に基づいてアトリビュートに従ったパラメータ設定を行う。ステップS607では、描画指示を行う。この描画指示では、CPU404は、VDP434に画像の描画開始を指示する。VDP434は、CPU404の指示に従ってフレームバッファにおける画像描画を開始する。ステップS609では、画像の描画終了に基づくVDP434からの生成終了割込み信号が入力されたか否かを判定し、生成終了割込み信号が入力された場合はステップS611に進み、そうでない場合は生成終了割込み信号が入力されるのを待つ。ステップS611では、RAM408の所定の領域に設定され、何シーンの画像を生成したかをカウントするシーン表示カウンタをインクリメント1して処理を終了する。<第2副制御部500の処理>次に、図16を用いて、第2副制御部500の処理について説明する。なお、同図aは、第2副制御部500のCPU504が実行するメイン処理のフローチャートである。同図bは、第2副制御部500のコマンド受信割込処理のフローチャートである。同図cは、第2副制御部500のタイマ割込処理のフローチャートである。まず、同図aのステップS701では、各種の初期設定を行う。電源投入が行われると、まずS701で初期化処理が実行される。この初期化処理では、入出力ポートの初期設定や、RAM508内の記憶領域の初期化処理等を行う。ステップS703では、タイマ変数が10以上か否かを判定し、タイマ変数が10となるまでこの処理を繰り返し、タイマ変数が10以上となったときには、ステップS705の処理に移行する。ステップS705では、タイマ変数に0を代入する。ステップS707では、コマンド処理を行う。第2副制御部500のCPU504は、第1副制御部400のCPU404からコマンドを受信したか否かを判別する。ステップS709では、演出制御処理を行う。例えば、S707で新たなコマンドがあった場合には、このコマンドに対応する演出データをROM506から読み出す等の処理を行い、演出データの更新が必要な場合には演出データの更新処理を行う。ステップS711では、第1副制御部400からの遊技盤用ランプ532や遊技台枠用ランプ542への命令がある場合には、この命令をシリアル通信制御回路520に出力する。ステップS713では、第1副制御部400からの演出可動体224への命令がある場合には、この命令を駆動回路516に出力し、S703に戻る。次に、同図bを用いて、第2副制御部500のコマンド受信割込処理について説明する。このコマンド受信割込処理は、第2副制御部500が、第1副制御部400が出力するストローブ信号を検出した場合に実行する処理である。コマンド受信割込処理のステップS801では、第1副制御部400が出力したコマンドを未処理コマンドとしてRAM508に設けたコマンド記憶領域に記憶する。次に、同図cを用いて、第2副制御部500のCPU504によって実行する第2副制御部タイマ割込処理について説明する。第2副制御部500は、所定の周期本実施例では2msに1回でタイマ割込を発生するハードウェアタイマを備えており、このタイマ割込を契機として、タイマ割込処理を所定の周期で実行する。第2副制御部タイマ割込処理のステップS901では、第2副制御部メイン処理におけるステップS703において説明したRAM508のタイマ変数記憶領域の値に、1を加算して元のタイマ変数記憶領域に記憶する。従って、ステップS703において、タイマ変数の値が10以上と判定されるのは20ms毎2ms×10となる。第2副制御部タイマ割込処理のステップS903では、演出用乱数値の更新処理等を行う。<主制御部のROM>次に、図17を用いて、主制御部300のROM306に記憶されるデータの種類について説明する。なお、同図は、上述のROM306に記憶されるデータの一例を示した図である。ROM306の記憶領域に対応するROM領域本実施形態では、0000H~2FFFHの16Kバイト領域は、ROM制御領域本実施形態では、0000H~0BB0H、非使用領域本実施形態では、0BB1H~0FFFH、ROMデータ領域本実施形態では、1FFFH~18FDHおよびその他領域本実施形態では、18FEH~2FFFHで構成されている。このROM制御領域に対応するROM306の記憶領域には、CPU304が実行する複数種類の命令それぞれに対応する命令データオペコードやCPU304がそれぞれの命令を実行するために必要な補足データオペランドによって構成される制御プログラム用のデータ単に、制御プログラムデータと称する場合があるが記憶され、非使用領域に対応するROM306の記憶領域には、特定値本実施形態では、00Hが一律に記憶され、ROMデータ領域に対応するROM306の記憶領域には、上記の制御プログラムによって参照される参照データ例えば、上述の各種抽選データが記憶されている。また、その他領域に対応するROM306の記憶領域には、制御プログラムを管理するための管理データ例えば、制御プログラムデータの最終アドレスを示すデータなどが記憶されている。なお、本実施形態では、ROM領域の各々のアドレスに対応するROM306の記憶領域には、1バイト8ビットのデータが記憶可能であり、上述の各データ命令データ、補足データ、参照データ、管理データが1バイトを超えるバイト数例えば、2バイトのデータである場合には、ROM制御領域の連続する複数のアドレスに対応するROM306の記憶領域に1バイト毎に分割して記憶している。また、制御プログラムは、複数のサブルーチンによって構成されており、後述するCALL命令やEXESUBEXECUTESUBROUTINE命令などによってサブルーチンの先頭アドレスに移動して、当該サブルーチンを順次実行することが可能になっている。ところで、遊技台の分野では、制御プログラムの検査効率化の観点から、制御プログラムデータを記憶する記憶領域を制限する必要があり、本実施形態では、上述の通りROM制御領域を0000H~0BB0Hに制限している。また、不正改造の抑止の観点から、制御プログラムデータ間に非使用領域や非使用のデータを設けないようにROM制御領域の若いアドレスに詰めて制御用プログラムデータを記憶する必要があるため、開発段階で非使用となった制御プログラムデータの記憶領域を埋めるために別の制御プログラムデータを分割して割り当てるなどの作業が発生し、結果としてサブルーチンを呼び出す制御プログラムデータが多数必要となってくる。さらに、制御プログラムの開発効率を向上させるためや、制御プログラムのデバッグ作業等のメンテナンス作業を簡便にするためにもサブルーチンを多用しているため、サブルーチンを呼び出す制御プログラムデータが多数必要となってくる。このような開発環境の中で遊技の興趣を高めることを可能にするためには、ROM制御領域に対応するROM306の記憶領域に記憶されている従来の制御プログラムデータ例えば、上述のサブルーチンを呼び出す制御プログラムデータを圧縮し、ROM制御領域に対応するROM306の記憶領域に新しい制御プログラムデータを追加することが可能な記憶領域を確保することが必要となってくる。特に、所定の周期例えば、10ms毎に所定の処理を実行するタイマ割込み処理を実行するための制御プログラムには、複数の遊技制御処理のうちランダムに発生する複数の外部情報各センサの変化等を検出する処理例えば、入力ポート状態更新処理ステップS205や外部情報の検出結果に基づいた処理例えば、デバイス監視処理ステップS237など多くのサブルーチンを呼び出すための制御プログラムデータが含まれているため、このタイマ割込み処理を実行するための制御プログラムに含まれるサブルーチンを呼び出す制御プログラムデータの圧縮が必要となってくる。また、安定した遊技制御をおこなえるようにするためには、上述のタイマ割込み処理を重点的に安定化させなければならない。具体的には、コーディングミスを抑止すること、所定の周期例えば、10ms毎に所定の処理を実行させるためにリアルタイム性を確保するために処理速度を向上させることなどが必須となるため、サブルーチンを呼び出す制御プログラムに関する工夫が必要となる詳細は後述する。<主制御部の命令データ>次に、主制御部300の命令データについて説明する。図18は、主制御部300の命令データの構成の一例を示した図である。また、図19aは、主制御部300の命令データの上位ビットと下位ビットを示した図であり、同図bは、命令データテーブルの一例を示した図である。主制御部300の命令データは、例えば、命令データが1バイト8ビットのデータによって構成される場合には、最大で256パターン定義することが可能である。なお、定義された命令データはROM306に記憶されているものではなく、CPU304にハード的に組み込まれているものである。また、1バイトの命令データについて、各々を上位4ビットと下位4ビットによって分類分けすると、上記パターンと命令データの関係性は、図19bに示される通りとなる。例えば、INCBCBCレジスタを1つ加算する命令に使用されるINC命令データは、上位ビット0H0000B、下位ビット3H0011Bに割り当てられ、DECBBレジスタを1つ減算する命令に使用されるDEC命令データは、上位ビット0H0000B、下位ビット5H0101Bに割り当てられている。なお、1バイト長で定義可能な256パターンの命令データを上回るパターン数の命令データを割り当てる方法として、例えば、上記1バイトで定義される256パターンのうち1パターンに対してさらに新たな1バイトで定義される256パターンを対応付けることで最大511パターン255パターン1バイトの命令データ256パターン2バイトの命令データの命令データを定義する方法があるが、拡張した命令データは、2バイトのデータによって構成されるため、この命令を使用すると、上述の1バイトの命令データを使用するよりもROM制御領域に対応するROM306の記憶領域を圧迫してしまう。そこで、本実施形態では、図19bの太線で囲った領域、すなわち、上位ビット1H0001Bと下位ビット8H1000B~FH1111Bの組合せと、上位ビット3H0011Bと下位ビット8H1000B~FH1111Bの組合せからなる領域を、後述するEXESUB命令を割り当てるための特別な領域としている。このように、従来、命令データが割り当てられていない、または、割り当てられていた命令データが削除された空き領域を特別な領域として利用することで、限られたハードウェア資源例えば、1バイトで定義可能なパターン256パターンを有効利用することができ、命令データによるROM制御領域に対応するROM306の記憶領域の圧迫を抑制することができる。また、命令データは、アセンブル後の機械語のチェックを簡便にするためにも役割ごとにグループ化一の上位ビットに対して連続する複数の下位ビットの組合せからなる領域、または、一の下位ビットに対して連続する複数の上位ビットの組合せからなる領域に、同系統の役割を持つ命令データを割り当てるして命令データテーブルに割り当てている例えば、上位ビット8H1000Bと下位ビット0H0000B~7H0111Bの組合せで定義される部分におけるADD命令。近年では、チップの開発負担を軽減するため、従来の命令データテーブルに割り当てている命令データの削減、または削減した命令データを割り当てていた部分への新たな命令データを追加するなどしてチップの開発を行う。このため、アセンブル後の機械語のチェックを簡便にしつつも、データ圧縮のために命令データを新たに追加する際には、追加する同系統の命令データをグループにして割り当てていく必要があり、本実施形態では、EXESUB命令をグループにして特別な領域に割り当てることで解決を図っている。さらに、小分けされた特別な領域に対して新たな命令データを効率良く割り当てるためには、追加する命令データのグループを小分けのグループにして割り当てていく必要があり、本実施形態では、さらに、EXESUB命令を小分けのグループにして小分けされた特別な領域に割り当てることで解決を図っている。<CALL命令>次に、上述の制御プログラムの一つであるCALL命令について説明する。図20は、CALL命令によるアドレスの移動の一例を概念的に示したものであり、図21は、CALL命令の命令データと補足データの一例を示したである。例えば、実行中の制御プログラムのアドレスが0700Hで、移動先のサブルーチンの先頭アドレスが03FFHの場合には、図20の符号Xで示すように、両者の相対アドレス移動元のアドレスと移動先のアドレスの差は、0301H=0700H-03FFHであり、この相対アドレスは2バイトのデータで表現可能である。ここで、この制御プログラムをCALL命令によって表現すると、図21aに示すように、CALL命令を示す1バイトの命令データと移動先のアドレスを示す2バイトの補足データで合計3バイトの制御プログラムデータが必要となる。また、実行中の制御プログラムのアドレスが0700Hで、移動先のサブルーチンの先頭アドレスが075FHの場合には、図20の符号Yで示すように、両者の相対アドレスは、005FH=075FH-03FFHであり、この相対アドレスは1バイトのデータで表現可能である。この場合であっても、この制御プログラムをCALL命令によって表現すると、図21bに示すように、CALL命令を示す1バイトの命令データと移動先のアドレスを示す2バイトの補足データで合計3バイトの制御プログラムデータが必要である。すなわち、CALL命令を実行するための制御プログラムは、移動先のアドレス2バイトで定義可能な記憶領域0000H~FFFFH内の任意のアドレスに関わらず、3バイトの制御プログラムデータが必要となる。なお、CALL命令を実行する際にCPU304は、具体的に、PCレジスタプログラムカウンタに記憶されているデータ2バイトをスタックエリアに記憶させる処理を実行した後に、CALL命令を実行するための補足データ移動先のサブルーチンの先頭アドレスを示すデータ2バイトをPCレジスタプログラムカウンタに記憶させる処理サブルーチンの先頭アドレスに移動を実行することで、サブルーチンを呼び出すことが可能となる。<EXESUB命令>次に、上述の制御プログラムの一つであるEXESUB命令について説明する。図22aは、EXESUB命令の構成の一例を示した図であり、同図bは、図19bの空き領域に対してEXESUB命令を割り当てた命令データテーブルを示した図である。EXESUB命令は、上述のCALL命令同様にサブルーチンを呼び出すことが可能となる命令という点では同じであるが、命令データ/補足データの構造および制御プログラムデータに必要な記憶容量が異なる詳細は後述する。<EXESUB命令/命令データ>EXESUB命令の命令データは、本実施形態では、最上位ビット7MSBから最下位ビット0LSBの順番で、ビット7の0固定値、ビット6の0固定値、ビット5のα可変値、ビット4の1固定値、ビット3の1固定値、ビット2のβ可変値、ビット1のγ可変値、ビット0のδ可変値の合計8ビット1バイトで構成されている。すなわち、EXESUB命令は上述の可変値を変えることによって定義されるパターン2の4乗=16パターンの命令データとなる。なお、ビット5のα、ビット2のβ、ビット1のγおよびビット0のδの合計4ビットのデータであるmは、0H~FHの数値範囲を表現可能であり、呼び出すサブルーチンの先頭アドレスを識別可能な識別情報バイナリ形式の一部である。また、EXESUB命令の命令データは、上述の通り、命令データテーブルのうちの同図bに示す太線で囲った領域、すなわち、上位ビット1H0001Bと下位ビット8H1000B~FH1111Bの組合せと、上位ビット3H0011Bと下位ビット8H0111B~FH1111Bの組合せからなる空き領域従来、命令データが割り当てられていない、または、割り当てられていた命令データが削除された領域に割り当てられる。なお、上述の通り、EXESUB命令の命令データが、可変値のビットと可変値のビットの間に、固定値のビットが入るように構成されていることにより、EXESUB命令の命令データをグループ化しつつ、上述の空き領域に割り当てることが可能になる。よって、EXESUB命令データの機械語のチェックを簡便となり、コーディングミスを抑制することができる。さらに、上述の通り、EXESUB命令の命令データが、1または複数の固定値のビット例えば、上記のビット4、ビット3を挟んで上位にある可変値のビット数例えば、1上記のビット5と比較して当該固定値のビットを挟んで下位にある可変値のビット数例えば、3上記のビット2、ビット1、ビット0が大きくなる記憶容量が大きくなるように構成されていることにより、EXESUB命令の命令データをグループ化しつつも、きめ細かく上述の空き領域に割り当てることが可能になる。よって、限られたハードウェア資源例えば、1バイトで定義可能なパターン256パターンを有効利用することができ、命令データの圧縮によるROM制御領域に対応するROM306の記憶領域に記憶されている従来の制御プログラムデータの圧縮が可能となる。なお、1または複数の固定値のビットを挟んで下位にある可変値のビット数と比較して当該固定値を挟んで上位にある可変値のビット数が大きくなる記憶容量が大きくなるように構成した場合であっても、上述の効果を奏する。なお、上述の可変値α、β、γおよびδとEXESUB命令の命令データのビット7~0の対応関係は上述の対応関係に限らず、例えば、ビット4に可変値αを対応させ、同様に、ビット2に可変値β、ビット1に可変地γ、ビット0に可変値δを対応させてもよく、上述した対応関係であればよい。さらに、命令データを構成する可変値α、β、γおよびδの順序は、任意の順序としてもよいが、上述の順序上位ビットから順にα、β、γ、δ、すなわち、後述するアドレスmnのmを上位ビットからα、β、γ、δの順に並べることで定義可能になる順序とすることで、EXESUB命令データの機械語のチェックを簡便となり、コーディングミスを抑制することができる。<EXESUB命令/補足データ>EXESUB命令の補足データは、本実施形態では、00H~FFHの数値範囲を示す8ビットのデータであるnで構成されている。よって、EXESUB命令は、命令データに含まれる4ビットのデータであるmと、8ビットの補足データであるnを、この順番で並べてmを上位、nを下位として構成される合計12ビットのアドレスmnによって定義可能なアドレス領域0000H~0FFFに先頭アドレスを持つサブルーチンを呼び出すことができる命令となる。すなわち、nは呼び出すサブルーチンの先頭アドレスを識別可能な識別情報バイナリ形式から、当該識別情報の一部mを除いた情報の少なくとも一部である。<EXESUB命令/サブルーチンの呼び出し>図23は、EXESUB命令によるアドレスの移動の一例を概念的に示した図である。本実施形態では、m4ビットのデータは、同図aに示すように、ROM領域のアドレス0000H~0FFFHのうち、上位1バイトの下位4ビット0H~FHを示し、n8ビットのデータは、同図bに示すように、上位アドレスmによって表現される100H単位の記憶領域0m00H~0mFFH:m=0H~FHを1ブロックとしたときに、当該1ブロック内のアドレス00H~FFHを示す値である。なお、移動先のアドレスを設定可能なアドレス領域を、nまたはmのいずれのデータを上位アドレスのデータとして定義しても、後述する制御プログラムデータの削減の効果は得られるが、上述の通り、命令データに含まれるmを上位アドレスのデータとして定義することで、図23aに示すように、アドレス領域に対してEXESUB命令の命令データをグループ化して対応付けることができ、コーディングミスを抑制することができる。また、EXESUB命令の命令データは、呼び出すサブルーチンの先頭アドレスの一部を構成するデータであるmを含んで構成されていることから、移動先のアドレスデータを間違ってしまった場合であっても、間違ってしまったデータが命令データに含まれていれば、制御プログラムの実行が停止されるため、コーディングミスを抑制することができる。図24は、EXESUB命令によるサブルーチンの先頭アドレスの呼び出しの一例を示したものであり、図25は、EXESUB命令の命令データと補足データの一例を示した図である。例えば、実行中の制御プログラムのアドレスが0700Hで、移動先のサブルーチンの先頭アドレスが03FFHの場合を挙げる。この制御プログラムをCALL命令で表現すると、上述の通り、図24の符号Xで示す両者の相対アドレス移動元のアドレスと移動先のアドレスの差は、0301H=0700H-03FFHであり、この相対アドレスは2バイトのデータで表現可能であり、1バイトの命令データと2バイトの補足データで合計3バイトの制御プログラムデータが必要である。一方、この制御プログラムをEXESUB命令で表現すると、移動先のアドレスへの移動は概念的にXで示すものとなり、この相対アドレスは、1バイトのデータで表現可能な00FFH=03FFH-0300Hとなる。すなわち、EXESUB命令は、図25aに示すように、00011011Bで表される1バイトの命令データと、11111111Bで表される1バイトの補足データで合計2バイトの制御プログラムデータが必要となる。また、実行中の制御プログラムのアドレスが0700Hで、呼び出し先のサブルーチンの先頭アドレスが075FHの場合を挙げる。この場合は、この制御プログラムがCALL命令またはEXESUB命令のいずれで表現する場合であっても、上述の通り、図24の符号Yで示すように、両者の相対アドレスは、1バイトで表現可能な005FH=0C5FH-0C00Hであり、この相対アドレスは1バイトのデータで表現可能であるが、この制御プログラムをCALL命令で表現すると、1バイトの命令データと2バイトの補足データで合計3バイトの制御プログラムデータが必要となる。一方、この制御プログラムをEXESUB命令で表現すると、図25bに示すように、00011111Bで表される1バイトの命令データと、01011111Bで表される1バイトの補足データの合計2バイトの制御プログラムデータが必要となり、上述のCALL命令よりも、1命令当りのデータを1バイト削減することができる。よって、EXESUB命令を実行するための制御プログラムは、移動先のアドレス12ビットで定義可能な記憶領域0000H~0FFFH内の任意のアドレスに関わらず、2バイトの制御プログラムデータが必要となり、上述のCALL命令よりも、1命令当りの制御プログラムデータを1バイト削減することができる。すなわち、サブルーチンを呼び出す制御プログラムに上述のEXESUB命令を用いることで、従来のサブルーチンを呼び出す制御プログラム例えば、CALL命令を圧縮することができ、ROM制御領域に対応するROM306の記憶領域に記憶されている従来の制御プログラムデータを圧縮することが可能となる。なお、EXESUB命令を実行する際にCPU304は、具体的に、PCレジスタプログラムカウンタに記憶されているデータ2バイトをスタックエリアに記憶させる処理を実行した後に、EXESUB命令を実行するための補足データ移動先のサブルーチンの先頭アドレスを示すデータ2バイトをPCレジスタプログラムカウンタに記憶させる処理サブルーチンの先頭アドレスに移動を実行することで、サブルーチンを呼び出すことが可能となる。また、サブルーチンを呼び出す制御プログラムに上述のEXESUB命令を用いることで、上述制御プログラムの圧縮に起因して従来例えば、CALL命令よりもサブルーチンを呼び出す制御プログラムの処理速度を向上させるステート数を少なくすることができる。さらに、上述のように、ROM領域は、上述のEXESUB命令によって呼び出すことができる領域本実施形態では、0000H~0FFFHに対応するROM306の記憶領域に、全ての制御プログラムデータが記憶されるようにROM制御領域本実施形態では、0000H~0BB1Hを設け、少なくとも、上述のEXESUB命令によって呼び出すことができる領域本実施形態では、0000H~0FFFHから、制御プログラムデータが記憶されているROM制御領域本実施形態では、0000H~0BB1Hを除いた領域本実施形態では、0BB1H~0FFFHを、非使用領域となるように構成されるとともに、非使用領域の後にROMデータ領域が続くように構成されている。このようにROM領域を構成した遊技台において、サブルーチンを呼び出す制御プログラムに上述のEXESUB命令を用いるROM制御領域に対応するROM306の記憶領域にEXESUB命令の制御プログラムデータを記憶することで、CPU304が制御プログラムデータおよび非使用データを除くデータを命令データとして直接読み込むことがないため、補足データのコーディングミスによるCPU304の誤作動を防止できる場合がある。<制御プログラムの一例>図26は、上述の主制御部タイマ割込処理の制御プログラムの一例を示したプログラムリストである。なお、はEXESUB命令の補足データを示す。CPU304は、タイマ割込み処理を開始すると、まずWDTをリスタートする処理を実行し、所定の処理詳細は省略を実行し、その後、EXESUB命令1~19を用いて、それぞれ、以下のサブルーチンを読み出す処理を実行する。入力ポート状態更新処理、基本乱数初期値更新処理、基本乱数更新処理、演出乱数更新処理、タイマ更新処理、入賞口カウンタ更新処理、入賞受付処理、払出要求数送信処理、普図状態更新処理、普図関連抽選処理特図先読み制御処理、特図2状態更新処理、特図1状態更新処理、特図2関連抽選処理、特図1関連抽選処理、コマンド設定送信処理、外部出力信号設定処理、デバイス監視処理、を実行し、その他の処理詳細は省略を実行する。なお、詳細は省略するが、上述のEXESUB命令1~19によって呼び出されるサブルーチンの先頭アドレスはROM制御領域本実施形態では、0000H~0BB0Hに含まれている。このように、タイマ割込み処理におけるサブルーチンを呼び出す制御プログラムに上述のEXESUB命令を用いるROM制御領域のうちタイマ割り込み処理の領域に対応するROM306の記憶領域にEXESUB命令の制御プログラムデータを記憶することで、タイマ割込み処理を安定化させることができる。ところで、遊技台の開発では、一般的に従来の制御プログラムの一部を変更削除や追加などすることで新たな遊技台を開発している。特に、遊技制御の安定化を図るためにできるだけ制御プログラムの変更は避けることが望まれる。よって、ROM領域例えば、タイマ割込み処理の領域におけるサブルーチンを呼び出す制御プログラムすべてに、上述のEXESUB命令を用いる必要はなく、必要例えば、上述の制御プログラムデータの圧縮の要求の有無に応じて適宜用いればよい。さらに、上述のEXESUB命令は、従来の1バイトの命令データと2バイトの補足データで構成される3バイト命令の制御プログラムデータ例えば、CALL命令を、1バイトの命令データと1バイトの補足データで構成される2バイト命令の制御プログラムデータに圧縮した制御プログラムであるが、命令データと補足データで構成される制御プログラムを圧縮する制御プログラムであればよい。すなわち、EXESUB命令は、呼び出すサブルーチンの先頭アドレスを識別可能な識別情報バイナリ形式の一部を含んで構成される命令データと、当該識別情報から当該命令データに含まれた識別情報を除いた情報の少なくとも一部で構成される補足データとで構成される制御プログラムであればよく、さらに言えば、上述の命令データおよび補足データそれぞれが、CPU304が一回の処理で読み込むデータ長例えば、8ビットの整数倍であればよい。<ROM制御領域の変形例>図27は、ROM領域が、上述のEXESUB命令EXESUBmnによって呼び出すことができる領域本実施形態では、0000H~0FFFHよりも、制御プログラムデータが記憶されているROM制御領域本実施形態では、0000H~11B8Hが広くなるように構成されている場合を示した図である。また、図28aおよびbは、EXESUB命令EXESUBmnによって呼び出すことができるサブルーチンの先頭アドレスの領域を拡張した場合の一例を示した図である。例えば、図27に示すように、ROM制御領域本実施形態では、0000H~11B8Hが、EXESUB命令EXESUBmnで呼び出すことができるサブルーチンの先頭アドレスの領域本実施形態では、0000H~0FFFHより広い場合、ROM制御領域は、EXESUB対象領域本実施形態では、0000H~0FFFHと、EXESUB非対象領域例えば、1000H~11B8Hで構成されることとなる。この場合、EXESUB非対象領域に対応するアドレスを先頭アドレスに持つサブルーチンを呼び出す命令に上述のCALL命令を用いて補ったとしても、上述の通り、遊技の興趣を高めることを可能にしつつ、安定した遊技制御を実現することは可能である。しかし、図28に示すように、EXESUB命令EXESUBmnによって呼び出すことができるサブルーチンの先頭アドレスの領域を拡張することで、上述の効果をより高めることが可能になる。具体的な手段としては、図28aおよびbに示すように、後述する可変値σを用いて、EXESUB命令EXESUBmnに要する記憶容量を維持しつつ、EXESUB命令EXESUBmnの命令データを拡張するものである。なお、以下は、同図に新たに追加した可変値σについて説明することとする。可変値σは、EXESUB命令後述のEXESUBmnを拡張するために用いられ、図28aに示すように、EXESUB命令後述のEXESUBmnの命令データ本実施形態では、8ビットのビット6を構成する値であり、呼び出すサブルーチンの先頭アドレスを示すアドレスmnのうちmの値に応じて変化するものである。また、命令データテーブルには、図28bに示すように、可変値σによって拡張されたEXESUB命令EXESUBmnが、同図bに示す太線で囲った領域、すなわち、上位ビット5H0101Bと下位ビット8H1000Bおよび9H1001Bの組合せからなる空き領域に割り当てられている。ここで、mは、図22aで示したmと同一の役割を持つデータであるが、上述のmがビット5のα、ビット2のβ、ビット1のγおよびビット0のδの合計4ビットのデータであったのに対して、mはビット6のσ、ビット5のα、ビット2のβ、ビット1のγおよびビット0のδの合計5ビットのデータである点が異なり、mは、00H~11Hの数値範囲を表現可能なデータであり、呼び出すサブルーチンの先頭アドレスを識別可能な識別情報バイナリ形式の一部である。このように、上述のEXESUB命令EXESUBmnの命令データのビット6に可変値σを設けたEXESUB命令EXESUBmnを用いて、アドレスmnによって定義可能なアドレス領域000H~FFFを拡張アドレスmnによって定義可能なアドレス領域を0000H~11FFHにすることで、上述のEXESUB非対象領域に対応するアドレスを先頭アドレスに持つサブルーチンをEXESUB命令EXESUBmnを用いて呼び出すことができる。なお、上述の可変値σ、α、β、γおよびδとEXESUB命令EXESUBmnの命令データのビット7~0の対応関係は上述の対応関係に限らず、例えば、ビット5に可変値σを対応させ、同様に、ビット4に可変値α、ビット2に可変値β、ビット1に可変地γ、ビット0に可変値δを対応させてもよく、図22を用いて説明した対応関係と同じであればよい。さらに、命令データを構成する可変値σ、α、β、γおよびδの順序は、任意の順序としてもよいが、上述の順序上位ビットから順にσ、α、β、γ、δ、すなわち、後述するアドレスmnのmを上位ビットからσ、α、β、γ、δの順に並べることで定義可能になる順序とすることで、EXESUB命令データの機械語のチェックを簡便となり、コーディングミスを抑制することができる。このように、上述のROM制御領域例えば、0000H~11B8Hに対応させて上述のEXESUB命令EXESUBmnの命令データを設けることで、ROM制御領域に対応するROM306の記憶領域に記憶されている従来の制御プログラムデータの圧縮が可能となる。さらに、上述のように、ROM領域は、上述のEXESUB命令EXESUBmnによって呼び出すことができる領域本実施形態では、0000H~11FFHよりも、制御プログラムデータが記憶されているROM制御領域を除いた領域本実施形態でところで、図17および図27で示したように、制限されたROM制御領域の中でも開発された遊技台ごとに設けられたROM制御領域が異なる場合があるが、このような遊技台それぞれに対して、上述のEXESUBmnまたはEXESUBmnそれぞれを命令データとして備えているCPUを使い分けて開発を行うことは、開発工数およびコストの観点からも無駄であるとともに、コーディングミスの原因ともなり、安定した遊技制御の実現を困難にしてしまうこととなる。よって、図17で示したROM制御領域を持つ遊技台であっても、EXESUB命令にEXESUBmnを用いた方が望ましい。この場合であっても、EXESUBmnによって呼び出すことができる領域本実施形態では、0000H~11FFHよりも、制御プログラムデータが記憶されているROM制御領域本実施形態では、0000H~0BB1Hが狭くなるように構成されているため、少なくとも、上述のEXESUBmnによって呼び出すことができる領域から、制御プログラムデータが記憶されているROM制御領域を除いた領域本実施形態では、0BB1H~11FFHを、非使用領域で構成するとともに、非使用領域の後にROMデータ領域が続くように構成すればよい。<特図状態更新処理、普図状態更新処理>次に、図29を用いて、上述の特図2状態更新処理ステップS225、特図1状態更新処理ステップS227、普図状態更新処理ステップS221の制御プログラムの一部について説明する。なお、同図aは特図2状態更新処理および特図1状態更新処理の制御プログラムの一部を抜き出したものであり、同図bは普図状態更新処理の制御プログラムの一部を抜き出したものである。例えば、同図aに示す特図状態更新処理では、まず最初に、LDL,Low.vbTokuzuStatusの命令を実行することによって、同図dにおいてvbTokuzuStatusとして定義されたアドレスこの例では、RAM308に設けた特図ステータス用記憶領域を示すアドレスであるF060Hの下位バイトこの例では、60HをLレジスタに記憶する。続いて、JPmoReadMemoryの命令を実行することによって、同図cに示すmoReadMemoryメモリ読出し処理に移動し、当該処理を実行する。このメモリ読み出し処理では、まず最初にLDH,F0Hの命令を実行することによってHレジスタにF0Hを記憶した後、LDA,HLの命令を実行することによってHLレジスタで示されるアドレスこの例では、F060Hの内容この例では、特図ステータスをAレジスタに記憶する。続いて、ANDAの命令を実行した後に、読み出し元の特図状態更新処理に戻る。なお、同図bに示す普図状態更新処理も共通のサブルーチンであるmoReadMemoryメモリ読出し処理を利用することによって、RAM308の普図ステータス用記憶領域に記憶された普図ステータスの読みだしを行う、このように、同図cに示す従来のメモリ読出し処理を利用した場合には、LDH,F0Hという命令により、特図ステータス用記憶領域や普図ステータス用記憶領域のアドレスの上位F0Hが解析され、不正行為を誘発するおそれがある。このため、本実施形態では、同図cに示す従来のメモリ読出し処理に替えて、同図eに示すメモリ読出し処理を採用する。この本実施形態に係るメモリ読出し処理では、LDA,Tの命令を実行することによって、Tレジスタの値をAレジスタに記憶するが、上述のように、Tレジスタには特定の値F0Hが記憶されているため、AレジスタにはF0Hが記憶される。以降の処理は従来の処理と同様であるが、イミディエイト値を利用する代わりにTレジスタを利用しているため、特図ステータス用記憶領域や普図ステータス用記憶領域のアドレスの上位F0Hが解析されるおそれが少なく、不正行為を未然に防止できる場合がある。また、イミディエイト値を利用した場合には、例えば、F0HをF1Hと間違って入力するなど、コーディングミスの可能性が高くなるが、Tレジスタを利用すればコーディングミスを未然に防止できる場合がある。図30は、図29cに示す従来のメモリ読出し処理の機械語と、図29eに示す本実施形態に係るメモリ読出し処理の機械語と、を比較した図である。従来のメモリ読出し処理における1行目のLDH,F0H命令をアセンブルした場合、機械語は26F0HとなりF0Hを含むため、従来のメモリ読出し処理では、特図ステータス用記憶領域や普図ステータス用記憶領域のアドレスの上位F0Hが解析されてしまうおそれがある。一方、本実施形態のメモリ読出し処理における1行目のLDA,T命令をアセンブルした場合、機械語はED01HとなりF0Hを含まないため、本実施形態のメモリ読出し処理では、特図ステータス用記憶領域や普図ステータス用記憶領域のアドレスの上位F0Hが解析されるおそれが極めて低く、不正行為を未然に防止できる場合がある。<特図1関連抽選処理>次に、図31を用いて、上述の主制御部タイマ割込処理における特図1関連抽選処理について説明する。なお、同図は、特図1関連抽選処理の流れを示すフローチャートである。ステップS1001では、特別図柄乱数移行処理を行う。この特別図柄乱数移行処理では、一次記憶した乱数値を、RAM308に設けた特別図柄関連抽選乱数の格納領域に移行記憶する。ステップS1002では、特別図柄当り抽選処理を行う。この特別図柄当り抽選処理では、上述の特図乱数値特図1乱数値、特図2乱数値と、ROM306に予め記憶している特別図柄抽選データを比較する抽選を行い、当該抽選結果に応じて、上述の15R大当りフラグ、2R大当たりフラグ、第1小当たりフラグ、第2小当たりフラグ、第1はずれフラグ、第2はずれフラグ、特図確率変動フラグ、および普図確率変動フラグなどを設定し、特別図柄遊技状態を変動中に設定する。ステップS1003では、表示図柄抽選処理を行う。この表示図柄抽選処理では、RAM308に記憶している表示図柄判定乱数と、ROM306に予め記憶している表示図柄抽選データを比較する抽選を行い、当該抽選結果に応じて、15R特別大当たり図柄特図A、15R大当たり図柄特図B、突然確変図柄特図C、突然時短図柄特図D、隠れ確変図柄特図E、突然通常図柄特図F、第1小当たり図柄特図G、第2小当たり図柄特図H、第1はずれ図柄特図I、および第2はずれ図柄特図Jのいずれか一つの図柄を設定する。ステップS1004では、特別図柄変動時間抽選処理を行う詳細は後述する。ステップS1005では、特別図柄変動時間設定処理を行う。この特別図柄変動時間設定処理では、上記ステップS1004の特別図柄変動時間抽選処理で取得した変動パターンパターン番号に応じたタイマを特別図柄変動タイマとして設定記憶する。ステップS1006では、特別図柄保留内情報移行処理を行う。この特別図柄保留内情報移行処理では、特別図柄保留内情報を変動順が先の格納領域に移行記憶した後に処理を終了する。<主制御部のデータテーブルと変数記憶領域>次に、図32および図33を用いて、主制御部300のROM306に記憶されるデータテーブルの一部と、RAM308に設けられる変数記憶領域の一部について説明する。<テーブル選択用テーブル>図32aは、テーブル選択用テーブルの一例を示した図であり、図33は、主制御部300のROM306に記憶されるデータテーブルの定義の一部と、RAM308に設けられる変数格納領域の定義の一部を示したプログラムリストの一例である。図32aに示すテーブル選択用テーブルには、後述する第1変動パターン選択テーブルが記憶されるROM306のアドレスを示す飛先アドレスが、特図変動遊技の保留数毎に0個用~3個用の4つに区分けされて記憶されている。具体的には、ROMデータ領域のアドレス1600H~1601Hに対応するROM306の2バイトの記憶領域には、保留数が0の場合に参照する第1変動パターン選択テーブルの飛先アドレスとして174FHが記憶されている1600DEFB174FH。また、ROMデータ領域のアドレス1602H~1603Hに対応するROM306の2バイトの記憶領域には、保留数が1の場合に参照する第1変動パターン選択テーブルの飛先アドレスとして174FHが記憶されている1602DEFB174FH。また、ROMデータ領域のアドレス1604H~1605Hに対応するROM306の2バイトの記憶領域には、保留数が2の場合に参照する第1変動パターン選択テーブルの飛先アドレスとして174FHが記憶されている1604DEFB174FH。また、ROMデータ領域のアドレス1606H~1607Hに対応するROM306の2バイトの記憶領域には、保留数が3の場合に参照する第1変動パターン選択テーブルの飛先アドレスとして1755Hが記憶されている1606DEFB1755H。<第1変動パターン選択テーブル>図32bは、第1変動パターン選択テーブルの一例を示した図である。この第1変動パターン選択テーブルには、当該テーブルのアドレスと、後述する第2変動パターン選択テーブルが記憶されたアドレスとの差オフセットと、乱数の個数が記憶されている。具体的には、ROMデータ領域のアドレス1750Hに対応するROM306の1バイトの記憶領域には、オフセットとしてAEHが記憶されているとともに、このアドレスに連続する1751Hに対応するROM306の1バイトの記憶領域には、乱数の個数として20が記憶され1750HDEFBAEH,20、以降のROMデータ領域のアドレス1752H~1759Hに対応するROM306の記憶領域には、図32bおよび図33に示すように、1バイト長のオフセットと、1バイト長の乱数の個数が交互に連続して記憶されている。なお、第1変動パターン選択テーブルにおいて乱数の個数は10進数で示している。<第2変動パターン選択テーブル>図32cは、第2変動パターン選択テーブルの一例を示した図である。この第2変動パターン選択テーブルには、パターン番号と、乱数の個数が記憶されている。具体的には、ROMデータ領域のアドレス1800Hに対応するROM306の1バイトの記憶領域には、パターン番号として01Hが記憶されているとともに、このアドレスに連続する1801Hで示される1バイトの領域には、乱数の個数として255が記憶され1800HDEFB01H,255、以降のROMデータ領域のアドレス1802H~180FHに対応するROM306の記憶領域には、図32cおよび図33に示すように、1バイト長のパターン番号と、1バイト長の乱数の個数が交互に連続して記憶されている。なお、第2変動パターン選択テーブルにおいて乱数の個数は10進数で示している。<変数記憶領域>図32dは、RWM領域のアドレスF040H~F042Hに対応するRAM308の記憶領域に設けられる保留数記憶領域、乱数1記憶領域、乱数2記憶領域を示した図である。RWM領域のアドレスF040Hに対応するRAM308の1バイトの記憶領域には保留数記憶領域が設けられF040vbHoryuuSP1DEFS1、この保留数記憶領域には保留数が記憶される。また、アドレスF041Hに対応するRAM308の1バイトの記憶領域には乱数1記憶領域が設けられF041vbRndHendou1DEFS1、この乱数1記憶領域には乱数1が記憶される。また、アドレスF042Hに対応するRAM308の1バイトの記憶領域には乱数2記憶領域が設けられF042vbRndHendou2DEFS1、この乱数2記憶領域には乱数2が記憶される。<特別図柄変動時間抽選処理>次に、図34および図35を用いて、上述の特図1関連抽選処理における特別図柄変動時間抽選処理について説明する。なお、図34は、特別図柄変動時間抽選処理の流れを示すフローチャートであり、図35は、特別図柄変動時間抽選処理のプログラムリストの一例である。ステップS1101では、演出用乱数取得処理を行う。この演出用乱数取得処理では、上述の特図1関連抽選処理で取得した特図1乱数値0~255を、上述の乱数値1記憶領域RWM領域のアドレスF041Hに記憶し、上述の特図2関連抽選処理で取得した特図2乱数値0~255を、上述の乱数値2記憶領域RWM領域のアドレスF042Hに記憶する。次のステップS1102では、上述のテーブル選択用テーブル図32aの先頭アドレス本実施形態では、1600Hを、HLレジスタに転送するLDHL,tableSelectTable。これにより、HLレジスタに1600Hが記憶される。次のステップS1103では、上述の保留数記憶領域RWM領域のアドレスF040Hに記憶された保留数を、Aレジスタに転送するLDTA,40H。ここで、LDTA、n:イミディエイト値命令は、図36に示すように、Tレジスタを上位、イミディエイト値を下位で示すアドレスのデータをAレジスタにロードする命令である。本実施形態では、TレジスタにF0Hを記憶しているため、LDTA,40H命令を実行した場合、TレジスタF0Hを上位、イミディエイト値40Hを下位で示すアドレスF040Hのデータ、すなわち保留数記憶領域に記憶された保留数がAレジスタにロード転送される。例えば、保留数記憶領域に記憶された保留数が2の場合には、Aレジスタに02Hがロード転送される。次のステップS1104では、Aレジスタの値にAレジスタの値を加算するADDA,A。先の例では、Aレジスタの値02HにAレジスタの値02Hを加算することによってAレジスタに04Hが記憶される。次のステップS1105では、HLレジスタにAレジスタの値を加算するADDTWOONEHL,A。詳細は後述するが、ADDTWOONE命令ADDTWOONEHL,Aは、HLレジスタに記憶された2バイト長の値に、Aレジスタに記憶された1バイト長の値を加算するための命令である。先の例では、HLレジスタ1600HにAレジスタの値04Hを加算することによってHLレジスタに1604Hが記憶される。次のステップS1106では、HLレジスタが示すアドレスの値をDEレジスタに転送するLDTWODE,HL。ここで、LDTWODE,HL命令は、図36に示すように、HLレジスタが示すアドレスのデータをDEレジスタにロードする命令である。先の例では、HLレジスタが示すアドレス1604Hの値174FHをDEレジスタに転送することによってDEレジスタには174FHが記憶される。次のステップS1107では、DEレジスタの値とHLレジスタの値を交換するEXDE,HL。先の例では、DEレジスタの値174FHとHLレジスタの値1604Hを交換することによって、HLレジスタには174FHが記憶され、DEレジスタには1604Hが記憶される。次のステップS1108では、上述の乱数1記憶領域に記憶された乱数1特別図柄変動時間判定乱数1をAレジスタに転送するLDTA,41H。本実施形態では、TレジスタにF0Hを記憶しているため、LDTA,41H命令を実行した場合、TレジスタF0Hを上位、イミディエイト値41Hを下位で示すアドレス7E41Hのデータ、すなわち乱数1記憶領域に記憶された乱数1がAレジスタにロード転送される。例えば、乱数1記憶領域に記憶された乱数1が250の場合には、Aレジスタに250が記憶される。次のステップS1109では、HLレジスタの値で示されるアドレスの次の連続した2つのアドレスに格納された値をBCレジスタに転送するINCTENSOUBC,HL。詳細は後述するが、INCTENSOUBC,HL命令は、HLレジスタに記憶された2バイト長の値に1を加算し、加算後のHLレジスタの値で示されるアドレスに記憶された1バイト長の値を、BCレジスタのうちの下位のCレジスタに記憶した後に、HLレジスタに記憶された2バイト長の値にさらに1を加算し、加算後のHLレジスタの値で示されるアドレスに記憶された1バイト長の値を、BCレジスタのうちの上位のBレジスタに記憶するための命令である。先の例では、HLレジスタに記憶された2バイト長の値174FHに1を加算し、加算後のHLレジスタの値1750Hで示されるアドレスに記憶された1バイト長の値AEHを、BCレジスタのうちの下位のCレジスタに記憶した後に、HLレジスタに記憶された2バイト長の値にさらに1を加算し、加算後のHLレジスタの値1751Hで示されるアドレスに記憶された1バイト長の値20を、BCレジスタのうちの上位のBレジスタに記憶する。次のステップS1110では、Aレジスタの値からBレジスタの値を減算するSUBB。先の例では、Aレジスタの値250からBレジスタの値20を減算する。次のステップS1111では、ステップS1110の減算の結果、キャリーが発生したか否か、すなわち減算の結果が負の値になったかどうかを判定し、該当する場合にはステップS1112に進み、該当しない場合には該当するまでステップS1109~S1111の処理を繰り返し実行するJPNC,LOOP01。先の例では、ステップS1109~S1111の処理を3回繰り返すことによってキャリーが発生し、ステップS1112に進む際には、Bレジスタの値が8、Cレジスタ値がB0H、HLレジスタの値が1755Hになる。次のステップS1112では、HLレジスタの値にCレジスタの値を加算するADDTWOONE。先の例では、HLレジスタの値1755HにCレジスタの値B0Hを加算することによってHLレジスタには1805Hが記憶される。次のステップS1113では、上述の乱数2記憶領域本実施形態では、F042Hに記憶された乱数2特別図柄変動時間判定乱数2をAレジスタに転送するLDTA,42H。本実施形態では、TレジスタにF0Hを記憶しているため、LDTA,42H命令を実行した場合、TレジスタF0Hを上位、イミディエイト値42Hを下位で示すアドレス7E42Hのデータ、すなわち乱数2記憶領域に記憶された乱数2がAレジスタにロード転送される。例えば、乱数2が148の場合には、Aレジスタに148が記憶される。次のステップS1114では、HLレジスタの値で示されるアドレスの次の連続した2つのアドレスに格納された値をBCレジスタに転送するINCTENSOUBC,HL。先の例では、HLレジスタに記憶された2バイト長の値1805Hに1を加算し、加算後のHLレジスタの値1806Hで示されるアドレスに記憶された1バイト長の値04Hを、BCレジスタのうちの下位のCレジスタに記憶した後に、HLレジスタに記憶された2バイト長の値にさらに1を加算し、加算後のHLレジスタの値1807Hで示されるアドレスに記憶された1バイト長の値128を、BCレジスタのうちの上位のBレジスタに記憶する。次のステップS1115では、Aレジスタの値からBレジスタの値を減算するSUBB。先の例では、Aレジスタの値148からBレジスタの値128を減算する。次のステップS1116では、ステップS1115の減算の結果、キャリーが発生したか否か、すなわち減算の結果が負の値になったかどうかを判定し、該当する場合にはステップS1117に進み、該当しない場合には該当するまでステップS1114~S1116の処理を繰り返し実行するJPNC,LOOP02。先の例では、ステップS1114~S1116の処理を2回繰り返すことによってキャリーが発生し、ステップS1117に進む際には、Bレジスタの値が32、Cレジスタの値が05H、HLレジスタの値が1809Hになる。ステップS1117では、その他の処理を行った後に処理を終了する。<主制御部の特殊命令>次に、図36および図37を用いて、主制御部300が備える特殊命令について説明する。なお、図36は、主制御部300が備える命令の一部と、その説明を示した図である。また、図37aは、主制御部300の命令データの上位ビットと下位ビットを示した図であり、同図bは、命令データテーブルの一例を示した図である。<特殊命令/LDT命令>特殊命令の一つであるLDTA、n:イミディエイト値命令は、上述のとおり、Tレジスタを上位、イミディエイト値を下位で示すアドレスのデータをAレジスタにロードする命令であり、例えば、上述の特別図柄変動時間抽選処理のステップS1103では、LDTA、40H命令を実行することによって、TレジスタF0Hを上位、イミディエイト値40Hを下位で示すアドレスF040Hのデータ、すなわち保留数記憶領域に記憶された保留数をAレジスタにロード転送している。また、図示はしないが、主制御部300は、さらに、Aレジスタに記憶されたデータを、Tレジスタを上位、イミディエイト値を下位で示すアドレスにロードするためのLDTn:イミディエイト値,A命令を備えている。一方、Tレジスタを上位、汎用レジスタ例えば、Hレジスタを下位で示すアドレスのデータをAレジスタにロードする命令例えば、LDTA,Hのような命令や、Aレジスタに記憶されたデータを、Tレジスタを上位、汎用レジスタ例えば、Hレジスタを下位で示すアドレスにロードするための命令例えば、LDTH,Aのような命令は備えていない。すなわち、LDT命令によって指定可能なアドレスの下位バイトは、イミディエイト値に限定されており、汎用レジスタを指定することは禁止されている機械語にアセンブルされる過程でエラーとなりアセンブルすることができない。このため、LDT命令では、プログラムリストの確認などを行う際にアドレスの確認が容易となる上に、Tレジスタの値アドレスの上位バイトを不用意に変更することができなくなる結果、コーディングミスや不具合の発生を減少させることができる場合がある。<特殊命令/LDTWO命令>特殊命令の一つであるLDTWOOP1,OP2命令は、上述のとおり、第2オペランドOP2で示される2つのレジスタが示すアドレスのデータを第1オペランドOP1で示される2つのレジスタにロードする命令であり、LDTWOOP2,OP1命令は、第2オペランドOP2で示される2つのレジスタが示すアドレスに第1オペランドOP1で示される2つのレジスタのデータをロードする命令であり、例えば、上述の特別図柄変動時間抽選処理のステップS1106では、LDTWODE,HL命令を実行することによって、HLレジスタが示すアドレス1604Hの値174FHをDEレジスタにロード転送してDEレジスタには174FHを記憶している。OP2がHLレジスタではないBCレジスタまたはDEレジスタである場合、OP1がBCレジスタ、DEレジスタ、HLレジスタ、IXレジスタ、IYレジスタとなり、OP2がHLレジスタである場合のみ、OP1がBCレジスタ、DEレジスタ、HLレジスタ、ACレジスタ、AEレジスタ、BDレジスタ、IXレジスタ、IYレジスタとなる。LDTWO命令は、AレジスタやHLレジスタを保護するのに適している。また、LDTWO命令では、必要なステート数は14ステート、必要なバイト数は2バイトである。一方、従来の命令によってLDTWO命令と同様の処理を行う場合には、図36に示すように、必要なステート数は14ステート=464、必要なバイト数は3バイト=111である。したがって、HLレジスタが示すアドレスのデータをDEレジスタにロードする場合にLDTWO命令を使用すれば、制御プログラムの処理時間を短縮して制御負担を軽減することができる上に、プログラムコード量を削減することができ、メモリ容量が制限されているROMの記憶領域を有効に利用することができる場合がある。また、遊技性を高めるためにプログラムコードが増えたとしても、プログラム容量の増加や処理速度の低下を抑止できる場合がある。また、プログラム容量を削減することによって、開発者のコーディングミスやチェックミスを減らし、デバッグが容易で開発効率を高めることが可能となることに加えて、遊技台として適正な機能を有するか否かを外部機関が確認する際にも、確認作業のミスを防止でき、遊技者が安心して遊技を行うことができる遊技台を提供できる場合がある。<特殊命令/ADDTWOONE命令>特殊命令の一つであるADDTWOONE命令ADDTWOONEOP1,OP2は、第1オペランドOP1で示される2つのレジスタに記憶された2バイト長の値に、第2オペランドOP2で示されるレジスタに記憶された1バイト長の値または、第2オペランドOP2で示される1バイト長のイミディエイト値を加算するための命令である。ADDTWOONE命令の命令コードの上位1バイトは固定値この例ではEDHとし、下位バイトは、命令データテーブルの上位ビット4H0100Bと下位ビット0H0000B~2H0010Bの組合せと、命令データテーブルの上位ビット4H0100Bと下位ビット4H0100B~7H0001B、9H1001Hの組合せに割り当てている。このように、従来は空き領域とされていた命令の領域を利用することで、限られたハードウェア資源を有効利用することができる上に、空き領域に不正な命令隠し命令を埋め込むような不正行為を未然に防止することができ、遊技の公平性を担保できる場合がある。なお、本実施形態では、特殊命令の命令コードを2バイト長としているが、命令コードのバイト長は特に限定されず、例えば1バイト長でもよい。また、ADDTWOONE命令のうちの特定の命令例えば、ADDTWOONEHL,A命令のみ、他のADDTWOONE命令よりも命令コードが短く例えば、1バイト長てもよい。また、ADDTWOONEOP1,A命令のうちの特定の命令例えば、ADDTWOONEHL,A命令のみ、他のADDTWOONE命令よりも命令コードが短く例えば、1バイト長てもよい。この場合、該命令の利便性を高めることができる。ADDTWOONEHL,C命令を例に挙げると、第1オペランドで示されるペアレジスタHLに記憶された2バイト長の値に、第2オペランドで示されるCレジスタに記憶された1バイト長の値を加算する場合に使用される命令であり、例えば、上述の特別図柄変動時間抽選処理のステップS1112では、ADDTWOONEHL,Cを実行することによって、HLレジスタに記憶された2バイト長の値1755Hに、Cレジスタに記憶された1バイト長の値B0Hを加算することによって、HLレジスタの値を1805Hに更新している。なお、ADDTWOONE命令ADDTWOONEOP1,OP2は、キャリーが発生し難いが、HLレジスタに記憶された2バイト長の値例えば、FF01HにCレジスタに記憶された1バイト長の値例えば、FFHを加算する場合には、キャリーが発生する。すなわち、ADDTWOONE命令ADDTWOONEOP1,OP2を実行後にキャリーが発生する場合には、HレジスタがFFHであると判断することができる。また、ADDTWOONEHL,C命令では、必要なステート数は8ステート、必要なバイト数は2バイトである。一方、従来の命令によってADDTWOONEHL,C命令と同様の処理を行う場合には、図36に示すように、必要なステート数は22ステート=44104、必要なバイト数は6バイト=1131である。したがって、HLレジスタに記憶された2バイト長の値にCレジスタに記憶された1バイト長の値を加算する場合にADDTWOONEHL,C命令を使用すれば、制御プログラムの処理時間を短縮して制御負担を軽減することができる上に、プログラムコード量を削減することができ、メモリ容量が制限されているROMの記憶領域を有効に利用することができる場合がある。また、遊技性を高めるためにプログラムコードが増えたとしても、プログラム容量の増加や処理速度の低下を抑止できる場合がある。また、プログラム容量を削減することによって、開発者のコーディングミスやチェックミスを減らし、デバッグが容易で開発効率を高めることが可能となることに加えて、遊技台として適正な機能を有するか否かを外部機関が確認する際にも、確認作業のミスを防止でき、遊技者が安心して遊技を行うことができる遊技台を提供できる場合がある。また、従来CPUに実行可能に備えられている8ビット演算命令では、ADDA,E命令のように、加算結果SUBA,E命令の場合は減算結果をAレジスタに入れるしかなかったが、ADDTWOONE命令を実行してADDTWOONEHL,E命令とすることでADDL,Eを可能にしており、Aレジスタを使用せずに温存することができる使用用途が広いAレジスタを他の命令で使用することが可能となる結果、プログラム容量を削減できる場合がある。また、LDH,00H命令を実行してHレジスタに00Hを転送した後に、ADDTWOONEHL,E命令を実行してLレジスタにEレジスタの値を加算してSRLH命令を実行してLレジスタが桁あふれしたかどうかをキャリーフラグが立ったか否かで確認することでAレジスタを使用せずに温存することができる使用用途が広いAレジスタを他の命令で使用することが可能となる結果、プログラム容量を削減できる場合がある。すなわち、ADDA,L命令は実行可能であり、ADDL,A命令は実行不可能であるが、ADDTWOONEHL,A命令を実行可能にした命令セットを備えたことにより、命令セットにおける命令数を1つ増やすだけで、8ビット演算の加算結果を格納可能なレジスタを増やすことができるとともに、16ビット-8ビット演算も可能にしており、命令セットを1命令増やすだけで2つの機能を実現可能としている。換言すると、加算命令特定のレジスタペア←特定のレジスタペア特定のレジスタを命令セットに含むとともに、特定のレジスタペアの下位側のレジスタを8ビット演算のアキュムレータとは異なるレジスタとした。従来では、命令セットにおける命令数を増やしたくなかったため、16ビット演算と8ビット演算しか搭載せず、さらに16ビットのアキュムレータは複数のレジスタペアのうちの特定レジスタペアのみとし、8ビットのアキュムレータは複数のレジスタのうちの特定レジスタのみとしていたが、上記構成により、少ない命令数の増加で複数の機能を実現することができる。また、HLレジスタが0か否かを確認するために従来では、LDA,H命令でHレジスタの値をAレジスタに転送した後にORA,L命令を実行後に0フラグが立つか否かでHLレジスタが0か否かを確認していた。すなわち、8ビット演算を実行して0か否かを確認しているため、8ビット演算のアキュムレータこの場合はAレジスタを使用してしまっていた。しかし、ADDTWOONEHL,n00H命令後に0フラグが立つか否かを確認することによってAレジスタを使用しないで済む。すなわち、ADDTWOONEHL,n命令は、16ビットレジスタペアに8ビットの直値を加算する機能と、16ビットレジスタペアが0か否かを確認する機能と、Aレジスタを温存する機能とを備えている。また、命令に直値を使用しているので、プログラムソースの可読性を向上できる。<特殊命令/INCTENSOU命令>特殊命令の一つであるINCTENSOU命令INCTENSOUOP1,OP2は、第2オペランドOP2で示される2つのレジスタに記憶された2バイト長の値に1を加算し、加算後の2つのレジスタの値で示されるアドレスに記憶された1バイト長の値を、第1オペランドOP1で示される2つのレジスタのうちの下位のレジスタに記憶した後に、第2オペランドOP2で示される2つのレジスタに記憶された2バイト長の値にさらに1を加算し、加算後の2つのレジスタの値で示されるアドレスに記憶された1バイト長の値を、第1オペランドOP1で示される2つのレジスタのうちの上位のレジスタに記憶するための命令である。INCTENSOU命令の命令コードの上位1バイトは固定値この例ではEDHとし、下位バイトは、命令データテーブルの上位ビット1H0001Bと下位ビット8H1000B~9H10001Bの組合せと、命令データテーブルの上位ビットDH1101Bと下位ビット4H0100B~6H0110Bの組合せに割り当てている。本例では、第1オペランドOP1にアキュムレータを含む機械命令のコードを連番例えば、INCTENSOUAC,HL命令のコードがEDD4H、INCTENSOUAE,HLのコードがEDD5Hにしている。また、第1オペランドOP1にアキュムレータを含む命令のうちの特定のINCTENSOU命令の機械命令のコード例えば、INCTENSOUAE,HL命令のコードがEDD5Hと、第1オペランドOP1にアキュムレータを含まない命令のうちの特定のINCTENSOU命令の機械命令のコード例えば、INCTENSOUBD,HL命令のコードがEDD6Hを連番にしている。また、第1オペランドOP1にアキュムレータを含まずペアレジスタを含む命令のうちの複数のINCTENSOU命令の機械命令のコード例えば、INCTENSOUBC,HL命令のコードがED18H、INCTENSOUDE,HL命令のコードがED19Hと、第1オペランドOP1にアキュムレータを含まない命令のうちの特定のINCTENSOU命令の機械命令のコード例えば、INCTENSOUBD,HL命令のコードがEDD6Hとを離れた番号にしている。このように、従来は空き領域とされていた命令の領域を利用することで、限られたハードウェア資源を有効利用することができる上に、空き領域に不正な命令隠し命令を埋め込むような不正行為を未然に防止することができ、遊技の公平性を担保できる場合がある。INCTENSOUBC,HL命令を例に挙げると、第2オペランドで示されるペアレジスタHLに記憶された2バイト長の値に1を加算し、加算後のペアレジスタHLの値で示されるアドレスHLに記憶された1バイト長の値を、第1オペランドで示されるペアレジスタBCのうちの下位のレジスタCに記憶した後に、第2オペランドで示されるペアレジスタHLに記憶された2バイト長の値にさらに1を加算し、加算後のペアレジスタHLの値で示されるアドレスHLに記憶された1バイト長の値を、第1オペランドで示されるペアレジスタBCのうちの上位のレジスタBに記憶するための命令である。INCTENSOU命令は、HLレジスタの値で示されるアドレスの次以降のアドレスに格納されている値をレジスタに転送するのに適している。また、INCTENSOU命令は、該命令実行後にHLレジスタに記憶された値が示すアドレスに格納された値に基づいて該命令を繰り返すか否かの判断処理を行う場合、繰り返すと判断した場合には該命令でHLレジスタにプラス1することでHLレジスタに記憶された値が示すアドレスを次のアドレスにできるために該命令を使用するのに適している。例えば、上述の特別図柄変動時間抽選処理のステップS1109では、INCTENSOUBC,HLを実行することによって、HLレジスタに記憶された2バイト長の値174FHに1を加算し、加算後のHLレジスタの値1750Hで示されるアドレスに記憶された1バイト長の値AEHを、BCレジスタのうちの下位のCレジスタに記憶した後に、HLレジスタに記憶された2バイト長の値にさらに1を加算し、加算後のHLレジスタの値1751Hで示されるアドレスに記憶された1バイト長の値20を、BCレジスタのうちの上位のBレジスタに記憶している。また、INCTENSOUBC,HL命令では、必要なステート数は14ステート、必要なバイト数は2バイトである。一方、従来の命令によってINCTENSOU命令と同様の処理を行う場合には、図36に示すように、必要なステート数は26ステート=6767、必要なバイト数は4バイト=1111である。したがって、HLレジスタの値で示されるアドレスの次の連続した2つのアドレスに格納された値をBCレジスタに転送する場合にINCTENSOUBC,HL命令を使用すれば、制御プログラムの処理時間を短縮して制御負担を軽減することができる上に、プログラムコード量を削減することができ、メモリ容量が制限されているROMの記憶領域を有効に利用することができる場合がある。また、遊技性を高めるためにプログラムコードが増えたとしても、プログラム容量の増加や処理速度の低下を抑止できる場合がある。特に、本実施形態では、ステップS1109~S1111のループ処理、またはステップS1114~S1116のループ処理においてINCTENSOU命令を繰り返し実行することになるため、処理速度の短縮の効果が高い。また、プログラム容量を削減することによって、開発者のコーディングミスやチェックミスを減らし、デバッグが容易で開発効率を高めることが可能となることに加えて、遊技台として適正な機能を有するか否かを外部機関が確認する際にも、確認作業のミスを防止でき、遊技者が安心して遊技を行うことができる遊技台を提供できる場合がある。<特殊命令/TENSOUINC命令>特殊命令の一つであるTENSOUINC命令TENSOUINCOP1,OP2は、第2オペランドOP2で示される2つのレジスタの値で示されるアドレスに記憶された1バイト長の値を、第1オペランドOP1で示される2つのレジスタのうちの下位のレジスタに記憶し、第2オペランドOP2で示される2つのレジスタに記憶された2バイト長の値に1を加算した後に、第2オペランドOP2で示される2つのレジスタの値で示されるアドレスに記憶された1バイト長の値を、第1オペランドOP1で示される2つのレジスタのうちの上位のレジスタに記憶し、第2オペランドOP2で示される2つのレジスタに記憶された2バイト長の値にさらに1を加算するための命令である。TENSOUINC命令の命令コードの上位1バイトは固定値この例ではEDHとし、下位バイトは、命令データテーブルの上位ビット1H0001Bと下位ビット6H0110B~7H0111Bの組合せと、命令データテーブルの上位ビットDH1101Bと下位ビット0H0000B~2H0010Bの組合せに割り当てている。本例では、第1オペランドOP1にアキュムレータを含む機械命令のコードを連番例えば、TENSOUINCAC,HL命令のコードがEDD0H、TENSOUINCAE,HLのコードがEDD1Hにしている。また、第1オペランドOP1にアキュムレータを含む命令のうちの特定のTENSOUINC命令の機械命令のコード例えば、TENSOUINCAE,HL命令のコードがEDD1Hと、第1オペランドOP1にアキュムレータを含まない命令のうちの特定のTENSOUINC命令の機械命令のコード例えば、TENSOUINCBD,HL命令のコードがEDD2Hを連番にしている。また、第1オペランドOP1にアキュムレータを含まずペアレジスタを含む命令のうちの複数のTENSOUINC命令の機械命令のコード例えば、TENSOUINCBC,HL命令のコードがED16H、TENSOUINCDE,HL命令のコードがED17Hと、第1オペランドOP1にアキュムレータを含まない命令のうちの特定のTENSOUINC命令の機械命令のコード例えば、TENSOUINCBD,HL命令のコードがEDD2Hとを離れた番号にしている。また、TENSOUINC命令とINCTENSOU命令は、同一の第1オペランドOP1の命令はTENSOUINC命令のほうがINCTENSOU命令よりも番号が若い例えば、TENSOUINCBC,HL命令のコードがED16H、INCTENSOUBC,HL命令のコードがED18H。また、第1オペランドOP1にアキュムレータを含むTENSOUINC命令の機械命令のコード例えば、TENSOUINCAC,HL命令のコードがEDD0Hと、第1オペランドOP1にアキュムレータを含むINCTENSOU命令の機械命令のコード例えば、INCTENSOUAC,HL命令のコードがEDD4Hとは離れた番号、および/またはTENSOUINC命令とINCTENSOU命令以外の命令の機械命令のコード例えば、コードEDD3Hの前後にしている。TENSOUINCBC,HL命令を例に挙げると、第2オペランドで示されるペアレジスタHLの値で示されるアドレスHLに記憶された1バイト長の値を、第1オペランドで示されるペアレジスタBCのうちの下位のレジスタCに記憶し、第2オペランドで示されるペアレジスタHLに記憶された2バイト長の値に1を加算した後に、第2オペランドで示されるペアレジスタHLの値で示されるアドレスHLに記憶された1バイト長の値を、第1オペランドで示されるペアレジスタBCのうちの上位のレジスタBに記憶し、第2オペランドで示されるペアレジスタHLに記憶された2バイト長の値にさらに1を加算するための命令である。TENSOUINC命令は、HLレジスタの値で示されるアドレス以降のアドレスに格納されている値をレジスタに転送するのに適している。また、TENSOUINC命令は、該命令を実行後にBレジスタの値が0か否かで該命令を繰り返すか否かの判断処理を行う場合、繰り返すと判断した場合には判断前にHLレジスタにプラス1されているために該命令を使用するのに適している。また、繰り返し処理を行わない場合にもTENSOUINC命令後はHLレジスタの値をプラス1した状態で次の処理を行うことができるので該命令を使用するのに適している。また、TENSOUINCBC,HL命令では、必要なステート数は14ステート、必要なバイト数は2バイトである。一方、従来の命令によってTENSOUINC命令と同様の処理を行う場合には、図36に示すように、必要なステート数は26ステート=7676、必要なバイト数は4バイト=1111である。したがって、HLレジスタの値で示されるアドレスと次のアドレスに格納された値をBCレジスタに転送する場合にTENSOUINCBC,HL命令を使用すれば、制御プログラムの処理時間を短縮して制御負担を軽減することができる上に、プログラムコード量を削減することができ、メモリ容量が制限されているROMの記憶領域を有効に利用することができる場合がある。また、遊技性を高めるためにプログラムコードが増えたとしても、プログラム容量の増加や処理速度の低下を抑止できる場合がある。また、プログラム容量を削減することによって、開発者のコーディングミスやチェックミスを減らし、デバッグが容易で開発効率を高めることが可能となることに加えて、遊技台として適正な機能を有するか否かを外部機関が確認する際にも、確認作業のミスを防止でき、遊技者が安心して遊技を行うことができる遊技台を提供できる場合がある。なお、INCTENSOU命令とTENSOUINC命令は、CPUに両方実行可能に備えるようにしても良いし、何れか一方のみ実行可能に備えるようにしてもよい。<特殊命令/CPT命令>特殊命令の一つであるCPTA,n:イミディエイト値命令は、Aレジスタの内容と、Tレジスタを上位、イミディエイト値を下位で示すアドレスのデータを比較する命令であり、例えば、TレジスタにF0Hが記憶された状態でCPTA,40Hを実行した場合、Aレジスタの内容と、Tレジスタを上位、イミディエイト値を下位で示すアドレスF040Hのデータが比較される。<特殊命令/ADDONETWO命令>特殊命令の一つであるADDONETWO命令ADDONETWOOP1,OP2は、第1オペランドOP1で示されるレジスタに記憶された1バイト長の値に、第2オペランドOP2で示される2つのレジスタに記憶された2バイト長の値または、第2オペランドOP2で示される2バイト長のイミディエイト値を加算するための命令である。ADDONETWO命令の命令コードの上位1バイトは固定値この例ではEDHとし、下位バイトは、命令データテーブルの上位ビット4H0100Bと下位ビットAH1010Bの組合せに割り当てている。このように、従来は空き領域とされていた命令の領域を利用することで、限られたハードウェア資源を有効利用することができる上に、空き領域に不正な命令隠し命令を埋め込むような不正行為を未然に防止することができ、遊技の公平性を担保できる場合がある。なお、ADDONETWO命令ADDONETWOOP1,OP2は、キャリーが発生し易く、Aレジスタに記憶された1バイト長の値例えば、00HにHLレジスタに記憶された2バイト長の値例えば、0100Hを加算する場合には、キャリーが発生する。すなわち、Hレジスタが00H以外である場合にADDONETWO命令ADDONETWOOP1,OP2を実行することでキャリーを発生させることができる。なお、ADDTWOONE命令とADDONETWO命令は、CPUに両方備えるようにしても良いし、何れか一方のみ備えるようにしてもよい。<特殊命令/SUBTWOONE命令>特殊命令の一つであるSUBTWOONE命令SUBTWOONEOP1,OP2は、第1オペランドOP1で示される2つのレジスタに記憶された2バイト長の値から、第2オペランドOP2で示されるレジスタに記憶された1バイト長の値または、第2オペランドOP2で示される1バイト長のイミディエイト値を減算するための命令である。SUBTWOONE命令の命令コードの上位1バイトは固定値この例ではEDHとし、下位バイトは、命令データテーブルの上位ビット4H0100Bと下位ビット8H1000Bの組合せに割り当てている。このように、従来は空き領域とされていた命令の領域を利用することで、限られたハードウェア資源を有効利用することができる上に、空き領域に不正な命令隠し命令を埋め込むような不正行為を未然に防止することができ、遊技の公平性を担保できる場合がある。なお、SUBTWOONE命令SUBTWOONEOP1,OP2は、キャリーが発生し難いが、HLレジスタに記憶された2バイト長の値例えば、0001HからAレジスタに記憶された1バイト長の値例えば、FFHを減算する場合には、キャリーが発生する。すなわち、SUBTWOONE命令SUBTWOONEOP1,OP2を実行後にキャリーが発生する場合には、Hレジスタが00Hであると判断することができる。<データテーブルの変形例>次に、図38を用いて、上述のデータテーブルの変形例について説明する。なお、同図は、テーブル選択用テーブル、第1変動パターン選択テーブル、および第2変動パターン選択テーブルの変形例を示した図であり、上記図32に相当する図である。同図bに示す第1変動パターン選択テーブルでは、上記図32bに示す第1変動パターン選択テーブルに対して、乱数の個数の項目を乱数の上限の項目に変更している。また、同図cに示す第2変動パターン選択テーブルでは、上記図32cに示す第2変動パターン選択テーブルに対して、乱数の個数の値を変更している。<特別図柄変動時間抽選処理の変形例>次に、図39を用いて、上記図34に示す特別図柄変動時間抽選処理の変形例について説明する。なお、同図は、変形例に係る特別図柄変動時間抽選処理の流れを示すフローチャートである。この変形例に係る特別図柄変動時間抽選処理では、上記図34に示す特別図柄変動時間抽選処理のINCTENSOUBC,HL命令を用いたステップS1109の処理やステップS1114の処理を、INCTENSOUAC,HL命令を用いたステップS1150の処理やステップS1152の処理に変更するとともに、ステップS1151、S1153において、上述のCPT命令を利用している。具体的には、ステップS1150では、HLレジスタの値で示されるアドレスの次の連続した2つのアドレスに格納された値をACレジスタに転送するINCTENSOUAC,HL。例えば、HLレジスタの値が174FHの場合には、HLレジスタの値で示されるアドレスの次の連続した2つのアドレス1750H、1751Hに格納された値をACレジスタに転送することによって、Aレジスタに19を、CレジスタにAEHを記憶する。次のステップS1151では、CPTA,41Hを実行することによって、Aレジスタの内容と、TレジスタF0Hを上位、イミディエイト値41Hを下位で示すアドレスF041Hのデータ、すなわち、上述の乱数1記憶領域に記憶された乱数1と、を比較するAレジスタの値から乱数1を減算する。次のステップS1154では、ステップS1151の比較減算の結果、キャリーが発生しないか否か、すなわち減算の結果が正の値になったかどうかを判定し、該当する場合にはステップS1112に進み、該当しない場合には該当するまでステップS1150~S1151の処理を繰り返し実行する。また、ステップS1152では、HLレジスタの値で示されるアドレスの次の連続した2つのアドレスに格納された値をACレジスタに転送するINCTENSOUAC,HL。例えば、HLレジスタの値が17FFHの場合には、HLレジスタの値で示されるアドレスの次の連続した2つのアドレス1800H、1801Hに格納された値をACレジスタに転送することによって、Aレジスタに255を、Cレジスタに01Hを記憶する。次のステップS1153では、CPTA,42Hを実行することによって、Aレジスタの内容と、TレジスタF0Hを上位、イミディエイト値42Hを下位で示すアドレスF042Hのデータ、すなわち、上述の乱数2記憶領域に記憶された乱数2を比較するAレジスタの値から乱数2を減算する。次のステップS1155では、ステップS1153の比較減算の結果、キャリーが発生しないか否か、すなわち減算の結果が正の値になったかどうかを判定し、該当する場合にはステップS1117に進み、該当しない場合には該当するまでステップS1152~S1153の処理を繰り返し実行する。<初期設定処理>次に、図40および図41を用いて、上述の主制御部メイン処理の初期設定2ステップS107で実行される初期設定処理について説明する。なお、図40aは、ROM306に記憶される初期設定データテーブルの一例を示した図であり、同図bは、初期設定処理後のRAM308の記憶領域の一部を示した図であり、同図cは、初期設定処理の流れを示すフローチャートである。また、図41は、初期設定処理のプログラムリストの一例である。ステップS1201では、上述のTENSOUINC命令TENSOUINCBD,HLによって、HLレジスタの値で示されるアドレスHLに記憶された1バイト長の値を、BDレジスタのうちの下位のDレジスタに記憶し、HLレジスタに記憶された2バイト長の値に1を加算した後に、HLレジスタの値で示されるアドレスHLに記憶された1バイト長の値を、BCレジスタのうちの上位のBレジスタに記憶し、HLレジスタに記憶された2バイト長の値にさらに1を加算する。例えば、HLレジスタに、同図aに示す初期設定データテーブルの先頭アドレスである100DHを設定した場合には、DレジスタにはF0Hが、Bレジスタには3が記憶される。次のステップS1202では、上述のTENSOUINC命令TENSOUINCAE,HLによって、HLレジスタの値で示されるアドレスHLに記憶された1バイト長の値を、AEレジスタのうちの下位のEレジスタに記憶し、HLレジスタに記憶された2バイト長の値に1を加算した後に、HLレジスタの値で示されるアドレスHLに記憶された1バイト長の値を、AEレジスタのうちの上位のAレジスタに記憶し、HLレジスタに記憶された2バイト長の値にさらに1を加算する。例えば、先の例では、Eレジスタには、100FHに記憶されている値である17Hが、Aレジスタには、1010に記憶されている値である01Hが記憶され、HLレジスタの値は1011Hに更新される。次のステップS1203では、Aレジスタの値をDEレジスタの値で示されるアドレスDEに記憶する。先の例では、Aレジスタの値である01Hを、DEレジスタの値で示されるアドレスであるRAM308の7E17Hに記憶する同図b参照。次のステップS1204では、Bレジスタの値から1を減算し、減算結果が0になるまでステップS1202~S1203の処理を繰り返し実行しステップS1202の処理のアドレスまで相対ジャンプして処理を実行し、減算結果が0になった場合にはステップS1205に進む。先の例では、Bレジスタが2の場合には、ステップS1202の処理により、Eレジスタには、1011Hに記憶されている値である20Hが、Aレジスタには、1012Hに記憶されている値である16Hが記憶され、HLレジスタの値は1013Hに更新され、ステップS1203の処理により、Aレジスタの値である16Hを、DEレジスタの値で示されるアドレスであるRAM308のF020Hに記憶する同図b参照。また、Bレジスタが1の場合には、ステップS1202の処理により、Eレジスタには、1013Hに記憶されている値である3AHが、Aレジスタには、1014Hに記憶されている値である06Hが記憶され、HLレジスタの値は1015Hに更新され、ステップS1203の処理により、Aレジスタの値である06Hを、DEレジスタの値で示されるアドレスであるRAM308のF03AHに記憶する同図b参照。なお、上記F017H、F020H、F03AHに記憶する遊技設定遊技制御に用いる各種情報としては、例えば電源ステータス、払出制御コマンド加工種別、表示器表示ステータスなどが挙げられ、また、遊技設定の数は、複数でもよいし、1つのみでもよい。また、初期設定処理moDataSetは、処理開始時のHLレジスタの値を異ならせることによりHLレジスタに設定するアドレスを、初期設定データテーブルとは異なる他のテーブルの先頭アドレスなどに設定することにより、複数の処理から呼び出し可能な例えば、HLレジスタを引数として呼び出し可能な汎用的なデータ設定処理モジュールとして扱ってもよい。この場合、プログラム容量の削減や処理速度の向上を図ることができる。この初期設定処理では、ステップS1201、S1202でTENSOUINC命令を使用しているため、ステート数を従来の26ステートから14ステートに削減することができ、処理時間を短縮することができる上に、バイト数を従来の4バイトから2バイトに削減することができ、プログラム容量を削減することができる。特に、この例では、ステップS1202~S204のループ処理においてTENSOUINC命令を繰り返し実行することになるため、処理速度の短縮の効果が高い。また、TENSOUINC命令の中でも、Aレジスタアキュムレータと他のレジスタのペアをオペランドとする命令本実施形態では、TENSOUINCAC,HL、TENSOUINCAE,HLは、Aレジスタの値を変更すると同時に、ペアレジスタ本実施形態では、BCレジスタとDEレジスタの上位バイトのレジスタ本実施形態では、BレジスタとDレジスタを固定しつつ、ペアレジスタの下位バイトのレジスタ本実施形態では、CレジスタとEレジスタの値だけを変更することができるため、従来よりも高度なプログラミングが可能で、プログラム容量の削減や処理速度の向上を図ることができる。また、TENSOUINC命令の中でも、第1のペアレジスタ本実施形態では、BCレジスタの上位バイトのレジスタ本実施形態では、Bレジスタと、第2のペアレジスタ本実施形態では、DEレジスタの上位バイトのレジスタ本実施形態では、Dレジスタのペアをオペランドとする命令本実施形態では、TENSOUINCBD,HLは、第1のペアレジスタと第2のペアレジスタの上位バイトのレジスタの値のみを変更することができるため、従来よりも高度なプログラミングが可能で、プログラム容量の削減や処理速度の向上を図ることができる。また、TENSOUINC命令の中でも、オペランドにBレジスタを含む命令本実施形態では、TENSOUINCBC,HL、TENSOUINCBD,HLを利用し、かつ、上述の初期設定処理のステップS1202~S1204のループ処理のように、Bレジスタによってループ処理の回数を判定するように構成すれば、ループ処理のプログラム容量の削減や処理速度の向上を図ることができる。なお、CPU304は、TENSOUINC命令とINCTENSOU命令両方を実行可能であり、遊技制御プログラムは第一の命令によるテーブルサーチと第二の命令によるテーブルサーチの両方を実行するようにしてもよい。テーブルサーチは一般的な用語どおりの意味としてもよく、例えば、一または複数の行と一または複数の列から構成されたテーブル例えば、図32、図38の第1変動パターン選択テーブル第2変動パターン選択テーブル、図40の初期設定データテーブルから対応する行を探し出し、その行の一または複数の列の値を取り出す処理を示してもよいし、探し出した行のテーブル内の行の位置例えば行番号を導出する処理としてもよい。同様に対応する列を探し出し、その列の一または複数の行の値を取り出す処理を示すものとしてもよいし、探し出した列のテーブル内の列の位置例えば列番号を導出する処理としてもよい。ここで対応する行を探し出す処理は、探している一または複数の値が、テーブル内の特定の行における一または複数の特定の列の値と一致または関係する場合に、当該特定の行を対応する行とするような処理としてもよい。対応する列を探し出す処理も同様としてもよい。<主制御部の第2特殊命令>次に、主制御部300が備える第2特殊命令について説明する。図42aは、主制御部300が備える第2特殊命令の一部を示した図である。<第2特殊命令/CPRT命令演算リターン命令>第2特殊命令の一つであるCPRTZr命令または、CPRTZrr命令は、オペランドrが示すレジスタまたは、オペランドrrが示すペアレジスタrrに格納されたアドレスに記憶された値から0を減算し、Zフラグが1にセットされる状態の場合減算結果が0の場合。以下、同じに、スタックポインタPCが示すスタック領域SPに記憶されたデータをプログラムカウンタPCの下位アドレスに、また、スタックポインタPCが示すスタック領域SP1に記憶されたデータをプログラムカウンタPCの上位アドレスにそれぞれロード復帰した後にスタックポインタPCを2つ加算してからZフラグを1にセットし、Zフラグが0にクリアされる状態の場合減算結果が0以外の場合。以下、同じに、後続の処理のアドレスをプログラムカウンタPCにセットしてからZフラグを0にクリアする命令である。なお、プログラムカウンタPCをセットするタイミングとZフラグを0にクリアするタイミングは、逆でもよいし、同時でもよい。また、CPRTNZr命令または、CPRTNZrr命令は、オペランドrが示すレジスタまたは、オペランドrrが示すペアレジスタrrに格納されたアドレスに記憶された値から0を減算し、Zフラグが0にクリアされる状態の場合に、スタックポインタPCが示すスタック領域SPに記憶されたデータをプログラムカウンタPCの下位アドレスに、また、スタックポインタPCが示すスタック領域SP1に記憶されたデータをプログラムカウンタPCの上位アドレスにそれぞれロード復帰した後にスタックポインタPCを2つ加算してからZフラグを0にクリアし、Zフラグが1にセットされる状態の場合に、後続の処理のアドレスをプログラムカウンタPCにセットしてからZフラグを1にセットする命令である。なお、オペランドrが示すレジスタとしては、B、C、D、E、H、Lレジスタなどが挙げられ、オペランドrrが示すペアレジスタとしては、BC、DE、HLなどが挙げられる次のCPJR命令も同様。<第2特殊命令/CPJR命令演算ジャンプ命令>第2特殊命令の一つであるCPJRZr、e命令または、CPJPZrr、e命令は、オペランドrが示すレジスタまたは、オペランドrrが示すペアレジスタrrに格納されたアドレスに記憶された値から0を減算し、Zフラグが1にセットされる状態の場合にプログラムカウンタPCeeは127~-128の数値が示すアドレスにジャンプしてからZフラグを1にセットし、Zフラグが0にクリアされる状態の場合に、後続の処理のアドレスをプログラムカウンタPCにセットしてからZフラグを0にクリアする命令である。また、CPJRNZr、e命令または、CPJPNZrr、e命令は、オペランドrが示すレジスタまたは、オペランドrrが示すペアレジスタに記憶された値から0を減算し、Zフラグが0にクリアされる状態の場合にプログラムカウンタPCeeは127~-128の数値が示すアドレスにジャンプしてからZフラグを0にクリアし、Zフラグが1にセットされる状態の場合に、後続の処理のアドレスをプログラムカウンタPCにセットしてからZフラグを1にセットする命令である。また、CPJRCr、n、e命令または、CPJRCrr、n、e命令は、オペランドrが示すレジスタまたは、オペランドrrが示すペアレジスタrrに格納されたアドレスに記憶された値からn8ビット長のイミディエイト値を減算し、Cフラグが1にセットされる状態の場合減算結果が0の場合。以下、同じに、プログラムカウンタPCeeは127~-128の数値が示すアドレスにジャンプしてからCフラグを1にセットし、Cフラグが0にクリアされる状態の場合減算結果が0以外の場合。以下、同じに、後続の処理のアドレスをプログラムカウンタPCにセットしてからCフラグを0にセットする命令である。また、CPJRNCr、n、e命令または、CPJRNCrr、n、e命令は、オペランドrが示すレジスタまたは、オペランドrrが示すペアレジスタrrに格納されたアドレスに記憶された値からn8ビット長のイミディエイト値を減算し、Cフラグが0にクリアされる状態の場合に、プログラムカウンタPCeeは127~-128の数値が示すアドレスにジャンプしてからCフラグを0にクリアし、Cフラグが1にセットされる状態の場合に、後続の処理のアドレスをプログラムカウンタPCにセットしてからCフラグを1にセットする命令である。図42bは、第2特殊命令を実行する前後のフラグレジスタの状態を示した図である。主制御部300は、Sフラグ、Zフラグ、SZフラグ、Hフラグ、、P/Vフラグ、Nフラグ、Cフラグを有する8ビットのフラグレジスタを備えている。このフラグレジスタに含まれるSフラグ、Zフラグ、SZフラグ、Hフラグ、Cフラグは、第2特殊命令の実行や、その他の算術論理演算命令の実行によって1にセットされるか0にクリアされる。<CPJR命令を用いた処理>次に、CPJR命令を用いた処理について説明する。図43は、CPJR命令を用いた処理の一例を示した図である。同図に示す第一のモジュールでは、処理Xを実行した後に、CPJR命令を実行し、所定条件が成立した場合に処理Zにジャンプする処理を行い、所定条件が成立しなかった場合に後続の処理Yを実行する処理を行う。ここで、所定条件が成立した場合とは、上述のCPJRZr、e命令または、CPJRZrr、e命令であれば、Zフラグが1にセットされる状態となった場合であり、上述のCPJPNZr、e命令または、CPJRNZrr、e命令であれば、Zフラグが0にクリアされる状態になった場合である。また、上述のCPJRCr、n、e命令または、CPJPCrr、n、e命令であれば、Cフラグが1にセットされる状態になった場合であり、CPJRNCr、n、e命令または、CPJPNCrr、n、e命令であれば、Cフラグが0にクリアされる状態になった場合である。また、CPJR命令の実行前に行われる処理Xにおけるフラグレジスタの内容が第1の内容αであった場合、CPJR命令の実行により、後続の処理Y、処理Zにおけるフラグレジスタの内容は第2の内容βに変化する。しかしながら、本実施形態では、CPJR命令の実行中にフラグレジスタの内容を参照しないことに加えて、CPJR命令の実行後の処理Y、処理Zでも、CPJR命令によって変化したフラグレジスタの内容を一切参照することなく処理を行うように構成している。このように、CPJR命令の実行中にフラグレジスタの内容を参照しないことに加えて、CPJR命令の実行によりフラグレジスタの内容を変化させるが、CPJR命令の実行後に行う所定の処理においてはフラグレジスタの内容を参照することなく処理を行うように構成すれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を無くすことができ、プログラムの解析を困難とし、不正なプログラムの改ざんを未然に防止できる場合がある。なお、この例では、CPJR命令の実行中にフラグレジスタの内容を参照しないように構成したが、CPJR命令の実行中にはフラグレジスタの内容を参照し、CPJR命令の実行後に行う所定の処理においてはCPJR命令の実行前に変化したフラグレジスタの内容を参照することなく処理を行うように構成しても、同様の効果を得ることができる場合がある以下、同様。図44aは、従来の命令を用いたプログラムの一例を示した図であり、同図bは、CPJR命令を用いたプログラムの一例である。例えば、Aレジスタの値が0であるか0以外であるかを判定し、Aレジスタの値が0の場合に所定の処理にジャンプするプログラムを組む場合、同図aに示す従来のプログラムでは、1-1に示すAND命令ANDAと、1-2に示すJR命令JRZ、ITmrRnwCtl020の2つの命令によって実現する必要があるが、同図bに示す本実施形態のプログラムでは、2-1に示す1つのCPJR命令CPJRZA、ITmrRnwCtl020だけで同一の処理を実現している。このように、所定条件が成立するか否かを判定し、所定条件が成立した場合に所定の処理にジャンプするプログラムを組む場合にCPJR命令を用いれば、従来よりもプログラムコードを減らすことができ、限られたメモリを有効に活用できる場合がある。また、同図bに示す本実施形態のプログラムでは、2-1に示すCPJR命令CPJRZA、ITmrRnwCtl020の実行後の処理Y、処理Zでは、CPJR命令によって変化したフラグレジスタの内容を一切参照することなく処理を行うように構成している。このように、CPJR命令の実行によりフラグレジスタの内容を変化させる一方で、CPJR命令の実行後に行う所定の処理においてはフラグレジスタの内容を参照することなく処理を行うように構成すれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を無くすことができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。なお、同図bに示す本実施形態のプログラムの処理Zに続く処理Vでは、CPJR命令の実行後に他の命令この例では、ORHL命令によって変化したフラグレジスタの内容この例では、Zフラグの内容に基づいた処理この例では、JR命令を行っている。このように、フラグレジスタの内容を参照しない処理Zとフラグレジスタの内容を参照する処理Vを連続させれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を複雑にすることができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。さらに、この例では、処理ZでLD命令ロード命令を実行しているが、LD命令は命令の実行後にZフラグを変化させずにSZフラグを変化させる命令の一つであるため、LDA、HL命令の実行後にはZフラグは変化しないが、SZフラグが変化する。一方、その後の処理VではJRZ、ITmrRnwCtL040を実行しているが、ここでは、処理ZのLDA、HL命令の実行によって変化していないZフラグを参照して分岐処理を行っている。このように、SZフラグとZフラグを含む複数のフラグの値を変化させる第1の命令例えば、CPJR命令を実行し、当該フラグを参照しない第2の命令例えば、DECA命令を実行し、ZフラグとSZフラグのうちいずれか一方のみが変化する第3の命令例えば、LD命令を実行し、変化しない方変化した方のフラグを参照する第4の命令例えば、JRZ命令を実行するように構成すれば、フラグレジスタの内容の変化とプログラムの実行の流れの関連性を複雑にすることができ、プログラムの解析を困難とし、不正なプログラムの解析を未然に防止できる場合がある。図45は、CPJR命令を用いた他の処理の一例を示した図である。同図に示す第一のモジュールでは、処理Xを実行した後に、CPJR命令を実行し、所定条件が成立した場合に、第一のモジュールとは異なる第二のモジュールにジャンプして処理Zを行い、所定条件が成立しなかった場合に後続の処理Yを実行している。このように、CPJR命令を用いて所定条件が成立した場合に所定の処理にジャンプするプログラムを組む場合には、同一のモジュール内の処理だけではなく、他のモジュールの処理にジャンプさせてもよい。図46は、上述の処理Vを含む、CPJR命令を用いた他の処理の一例を示した図である。同図に示す第二のモジュールでは、処理Zを実行した後に、算術論理演算命令を実行し、当該命令の実行によって変化したフラグレジスタの内容γに基づいて分岐処理を行っている。このように、CPJR命令の実行によって変化したフラグレジスタに基づいた処理は行わず、CPJR命令以外の命令を、前記プログラムによらずに、前記第一レジスタに設定してもよい。このような構成とすれば、RAMのデータを読み書きする場合には、第一のレジスタをRAMの上位アドレスを示す値として固定することで、RAMの下位アドレスだけを指定すればよく、プログラムコード量の削減や処理速度の向上を実現することが可能となる上に、第一のレジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。また、プログラムを書き換えただけでは遊技を思い通りに制御することができないため、プログラムの書き換えによる不正行為を効果的に防止できる場合がある。特に、CPUのユーザによって設定されたユーザプログラムを実行可能なユーザモードと、該ユーザプログラムを実行不可能な非ユーザモード例えば、セキュリティモードと、を備え、該非ユーザモードにおいて前記特定の値を第一レジスタに設定すれば、特定の値が他の値に改ざんされたり、特定の値が読みだされたりするような不正行為を未然に防止できる場合がある。また、前記RAMは、第一エリア例えば、7E00H~7EFFHのワークエリアまたは、I/OマップドI/O方式でアクセス可能なエリアと第二エリア例えば、7FE0H~7FFFHのスタックエリアまたは、メモリマップドI/O方式でアクセス可能なエリアを有して構成されており、前記特定の値は、前記第一エリアの上位アドレスF0Hを示す値であってもよい。このような構成とすれば、RAMの第一エリアのデータを読み書きする場合には、第一のレジスタをRAMの第一エリアの上位アドレスを示す値として固定することで、RAMの第一エリアの下位アドレスだけを指定すればよく、プログラムコード量の削減や処理速度の向上を実現することが可能となる上に、第一のレジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。また、第一エリアの上位アドレスを固定することによって、第一エリアの読み書きを行うつもりが誤って第二エリアの読み書きを行ってしまうようなミスを未然に防止できる場合がある。また、本実施形態に係るパチンコ機100またはスロットマシン1100は、遊技の進行を中心とした遊技制御を行うCPU例えば、CPU304またはCPU1304と、前記遊技制御に用いるデータを記憶する記憶手段と、を備えた遊技台であって、前記記憶手段は、前記CPUが実行するプログラムを記憶するROM例えば、ROM306またはROM1306と、前記CPUが前記遊技制御を行う際に用いるデータを一時記憶可能なRAM例えば、RAM308またはRAM1308と、を少なくとも有し、前記CPUは、前記遊技制御を開始する前例えば、電源投入後、主制御部300のCPU304がユーザプログラム制御プログラムを実行する前、システムリセット後、主制御部300のCPU304がユーザプログラム制御プログラムを実行する前、セキュリティモードに移行した直後、セキュリティチェックの結果がOKとなってユーザモードに移行した直後、システムリセットによる初期化処理の期間中などに、前記RAMの先頭アドレスのうちの上位アドレスを示す特定の値例えば、F0Hを、前記プログラムによらずに、特定レジスタ例えば、ROM306とは別体のCPU304に内蔵されたTレジスタに設定することを特徴とする遊技台である。本実施形態に係るパチンコ機100またはスロットマシン1100によれば、RAMのデータを読み書きする場合には、特定レジスタをRAMの上位アドレスを示す値として固定することで、RAMの下位アドレスだけを指定すればよく、プログラムコード量の削減や処理速度の向上を実現することが可能となる上に、特定レジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。また、プログラムを書き換えただけでは遊技を思い通りに制御することができないため、プログラムの書き換えによる不正行為を効果的に防止できる場合がある。特に、CPUのユーザによって設定されたユーザプログラムを実行可能なユーザモードと、該ユーザプログラムを実行不可能な非ユーザモード例えば、セキュリティモードと、を備え、該非ユーザモードにおいて前記特定の値を第一レジスタに設定すれば、特定の値が他の値に改ざんされたり、特定の値が読みだされたりするような不正行為を未然に防止できる場合がある。また、前記CPUは、非特定レジスタ例えば、Aレジスタ、Fレジスタ、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタ、およびこれらの裏レジスタをさらに備えるとともに、前記特定レジスタに前記非特定レジスタを介してデータを転送する命令例えばLDT,A命令のように、TレジスタにAレジスタを介してデータを転送する命令を備えず、前記特定レジスタに直値によりデータを設定する命令例えば、LDT,F0H命令を備えてもよい。このような構成とすれば、特定レジスタに対して直値でデータを転送するよう構成されているので、セットしているデータを確認し易くなる場合がある。また、特定レジスタに対して他のレジスタを介してデータを転送できないように構成されているので、特定レジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。また、特定レジスタは直値によるデータの転送のみが認められているため、レジスタを介したデータの転送と直値によるデータの転送の両方が認められている他のレジスタよりも相対的に使用頻度が低くなる。このため、コーディングの見直し作業や、デバッグ例えば、Tレジスタのトレースなどの効率を高めることが可能となる。また、前記CPUは、前記特定レジスタに直値によりデータを転送する命令に基づいて、前記特定レジスタに前記特定の値を転送することができるようにしてもよい。このような構成とすれば、ループ処理などで汎用レジスタの空きがなくなった場合に臨時的に特定レジスタを使用した後に、初期値に戻すことができ、利便性を高めることができる。また、前記CPUは、前記RAMから前記特定レジスタにデータを転送する命令に基づいて、前記特定レジスタに前記特定の値を転送例えば、POPTI命令による転送することができるように構成してもよい。このような構成とすれば、特定レジスタを特定の処理に使用することが可能となり、特定レジスタの利便性を高めることができる場合がある。また、前記RAMは、第一エリア例えば、7E00H~7EFFHのワークエリアまたは、I/OマップドI/O方式でアクセス可能なエリアと第二エリア例えば、7FE0H~7FFFHのスタックエリアまたは、メモリマップドI/O方式でアクセス可能なエリアを有して構成されており、前記特定の値は、前記第一エリアの上位アドレスF0Hを示す値であってもよい。このような構成とすれば、RAMの第一エリアのデータを読み書きする場合には、特定レジスタをRAMの第一エリアの上位アドレスを示す値として固定することで、RAMの第一エリアの下位アドレスだけを指定すればよく、プログラムコード量の削減や処理速度の向上を実現することが可能となる上に、特定レジスタの値を不用意に変更することができなくなる結果、コーディングミスの発生を減少させることができる場合がある。また、第一エリアの上位アドレスを固定することによって、第一エリアの読み書きを行うつもりが誤って第二エリアの読み書きを行ってしまうようなミスを未然に防止できる場合がある。また、前記CPUは、所定の割込み条件が成立したことに基づいて実行される割込み処理例えば、主制御部メイン処理を実行可能であるとともに、電源投入後、最初の前記割込み処理を実行する前に、前記特定レジスタに前記特定の値が設定されているかを判定する処理例えば、Tレジチェック処理を実行してもよい。なお、電源投入後、最初の前記割込み処理を実行する前の例としては、他にも、電源投入後、主制御部メイン処理のステップS105の低電圧状態の確認前や、電源投入後、主制御部メイン処理のステップS109の電断前の状態に復帰する否かの確認前や、電源投入後、第1副制御部の立ち上りの確認前などを挙げることができる。また、判定する処理の結果に応じて、上記図11に示すように、特定レジスタに特定の値を設定したり、上記図12に示すように、エラー処理を実行してもよい。このような構成とすれば、特定レジスタの値を確認することで遊技台が正常動作をしているか否かを判断できる場合がある。また、本実施形態に係るパチンコ機100またはスロットマシン1100は、複数のアドレスそれぞれで示される記憶領域例えば、ROM領域に制御プログラムデータを含む複数種類のデータ例えば、非使用データや参照データを記憶したROM例えば、ROM306と、前記ROMに記憶された前記制御プログラムデータに基づいて所定の周期毎に実行される割込み処理例えば、主制御部タイマ割込み処理を含む複数種類の遊技制御処理を実行するCPU例えば、CPU304と、を備え、前記ROMは、1又は複数の前記制御プログラムデータであって、前記CPUが実行する複数種類の命令それぞれに対応した命令データオペコードと、1又は複数の前記制御プログラムデータであって、前記CPUが該命令を実行するために必要な補足データオペランドと、を記憶し、該命令データであって、特定のアドレス例えば、サブルーチンの先頭のアドレスを識別可能にする特定識別情報例えば、サブルーチンの先頭のアドレスをバイナリ形式で表現した情報の一部である第1の識別情報を示す第1のアドレスデータ例えば、mおよび該第1のアドレスデータと異なる別データ例えば、EXESUB命令の命令データからmを除いたデータで構成され、該特定のアドレスで示される記憶領域に記憶されたデータを前記CPUに読み込ませる特定命令例えば、EXESUB命令に対応した特定命令データ例えば、EXESUB命令の命令データと、該補足データであって、該特定識別情報から該第1の識別情報を除いた情報のうちの少なくとも一部である第2の識別情報を示す第2のアドレスデータ例えば、nで構成され、前記CPUが該特定命令を実行するために必要な特定補足データと、を前記割込み処理で実行される命令に対応するように例えば、ROM制御領域のうちタイマ割り込み処理の領域に対応するROM306の記憶領域タイマ割込み処理に対応したアドレスで示される記憶領域に記憶していることを特徴とする遊技台である。本実施形態に係るパチンコ機100またはスロットマシン1100によれば、命令データに含まれる第1のアドレスデータmを上位アドレスのデータとして定義することで、アドレス領域に対して命令データをグループ化して対応付けることができ、コーディングミスを抑制することができる場合がある。また、命令データは、呼び出すサブルーチンの先頭アドレスの一部を構成するデータを含んで構成されていることから、移動先のアドレスデータを間違ってしまった場合であっても、間違ってしまったデータが命令データに含まれていれば、制御プログラムの実行が停止される場合があるため、コーディングミスを抑制することができる場合がある。また、従来のサブルーチンを呼び出す制御命令例えば、CALL命令を圧縮することができ、ROM制御領域に対応するROM306の記憶領域に記憶されている従来の制御プログラムデータを圧縮することが可能となる。また、制御プログラムの圧縮に起因して従来例えば、CALL命令よりもサブルーチンを呼び出す制御プログラムの処理速度を向上させるステート数を少なくすることができる場合がある。また、前記ROMは、少なくとも前記第1の識別情報、前記第2の識別情報の順序に定義することにより前記特定のアドレスを識別可能にする前記特定識別情報例えば、mnのうち、前記第1の識別情報を示す前記第1のアドレスデータおよび前記別データで構成される前記特定命令データと、該特定識別情報のうち前記第2の識別情報を示す前記第2のアドレスデータで構成される前記特定補足データと、を前記割込み処理で実行される命令に対応するように記憶してもよい。このような構成とすれば、命令データは、呼び出すサブルーチンの先頭アドレスの一部を構成するデータを含んで構成されていることから、移動先のアドレスデータを間違ってしまった場合であっても、間違ってしまったデータが命令データに含まれていれば、制御プログラムの実行が停止されるため、コーディングミスを抑制することができる場合がある。また、前記ROMは、少なくとも前記第1のアドレスデータの一部である第1の構成データ例えば、EXESUB命令の命令データのビット7、前記別データの少なくとも一部である第2の構成データ例えば、EXESUB命令の命令データのビット6~3、前記第1のアドレスデータから該第1の構成データを除いた第3の構成データ例えば、EXESUB命令の命令データのビット2~0の順序で構成された前記特定命令データをを前記割込み処理で実行される命令に対応するように記憶してもよい。このような構成とすれば、命令データをグループ化しつつも、きめ細かく命令データテーブルの空き領域に割り当てることが可能になる。よって、限られたハードウェア資源例えば、1バイトで定義可能なパターン256パターンを有効利用することができ、命令データの圧縮によるROM制御領域に対応するROMの記憶領域に記憶されている従来の制御プログラムデータの圧縮が可能となる。また、前記第3の構成データ例えば、EXESUB命令の命令データのビット2~0が前記第1の構成データ例えば、EXESUB命令の命令データのビット7と比較してデータ容量が大きくなる、または、前記第1の構成データが前記第3の構成データと比較してデータ容量が大きくなる例えば、3ビットに対して1ビットように構成された前記特定命令データを前記割込み処理で実行される命令に対応するように記憶してもよい。このような構成とすれば、命令データをグループ化しつつも、きめ細かく命令データテーブルの空き領域に割り当てることが可能になる。よって、限られたハードウェア資源例えば、1バイトで定義可能なパターン256パターンを有効利用することができ、命令データの圧縮によるROM制御領域に対応するROMの記憶領域に記憶されている従来の制御プログラムデータの圧縮が可能となる。また、前記ROMは、前記特定命令の実行により前記CPUが読み込み可能なデータが記憶されている特定の記憶領域例えば、0000H~0FFFHや0000H~11FFHに全ての前記制御プログラムデータを記憶するとともに、該特定の記憶領域から前記制御プログラムデータが記憶された制御記憶領域例えば、ROM制御領域に対応するROM306の記憶領域を除いた記憶領域例えば、非使用領域に対応するROM306の記憶領域の全てに前記遊技制御処理の実行に使用されない非使用データ例えば、00Hを記憶するようにしてもよい。このような構成とすれば、CPU304が非使用データおよび制御プログラムデータを除くデータ例えば、参照データや管理データを直接命令データとして読み込まれることがないため、補足データのコーディングミスによるCPU304の誤作動を防止できる場合がある。また、前記ROMは、複数のアドレスそれぞれで示される記憶領域に特定のデータ長例えば、1バイト8ビットで表される複数種類のデータを記憶するものであり、前記CPUは、前記ROMの記憶された一のアドレスに示される記憶領域に記憶されたデータを一処理毎に読み込むことで前記割込み処理を含む複数種類の遊技制御処理を実行するものであり、前記ROMは、さらに、前記特定のデータ長の2以上の整数倍である第1のデータ長例えば、2バイト16ビットで表現される前記特定のアドレスを識別可能な前記特定識別情報の一部である前記第1の識別情報を示す前記第1のアドレスデータおよび前記別データで構成される前記特定命令データと、該第1のデータ長よりも前記特定のデータ長の整数倍のデータ長だけ短い第2のデータ長例えば、1バイト8ビットで表現される前記第2のアドレスデータで構成される前記特定補足データと、を前記割込み処理で実行される命令に対応するように記憶してもよい。このような構成とすれば、命令データをグループ化しつつも、きめ細かく命令データテーブルの空き領域に割り当てることが可能になる。よって、限られたハードウェア資源例えば、1バイトで定義可能なパターン256パターンを有効利用することができ、命令データの圧縮によるROM制御領域に対応するROMの記憶領域に記憶されている従来の制御プログラムデータの圧縮が可能となる。また、本実施形態に係るパチンコ機100またはスロットマシン110は、複数の制御プログラムデータで構成される制御プログラムを記憶しているROM例えば、ROM306と、前記制御プログラムに基づいて遊技制御を実行するCPU例えば、CPU304と、を備え、前記ROMは、前記複数の制御プログラムデータのうち、第1のデータ例えば、EXESUB命令EXESUBmnの命令データにおける、ビット6およびビット7、第2のデータ例えば、EXESUB命令EXESUBmnの命令データにおける、ビット5α、第3のデータ例えば、EXESUB命令EXESUBmnの命令データにおける、ビット3およびビット4、第4のデータ例えば、EXESUB命令EXESUBmnの命令データにおける、ビット0δ、ビット1γ、ビット2β、第5のデータ例えば、EXESUB命令EXESUBmnの命令データにおける、補足データnを含んで構成された特定の制御プログラムデータEXESUB命令EXESUBmnの命令データを、少なくとも、該第2のデータ、該第3のデータ、該第4のデータ、順番に並べて例えば、アドレスの若い順番記憶するものであり、前記CPUは、前記特定の制御プログラムデータを読み込んだ場合に、前記第1および第3のデータを用いて特定される第1の命令例えば、サブルーチンの先頭のアドレスを呼び出す命令と、前記第2のデータ、前記第4のデータおよび前記第5のデータを用いて特定される第2の命令例えば、呼び出すサブルーチンの先頭アドレスを特定する命令と、で特定される特定命令例えば、EXESUB命令を所定周期で実行される割込処理例えば、タイマ割込み処理中に実行することを特徴とする遊技台とも言える。なお、前記ROMは、前記第1のデータと前記第2のデータの間、前記第2のデータと前記第3のデータの間および前記第3のデータと前記第4のデータの間のうち少なくともいずれか1つのデータ間に別のデータを含んで構成される前記特定の制御プログラムデータを記憶するものであってもよいが、前記ROMは、前記第1のデータ、前記第2のデータ、前記第3のデータおよび前記第4のデータでのみで構成される前記特定の制御プログラムデータを記憶するものであると、よりアセンブル後の機械語のチェックが簡便になり、コーディングミスを抑制することができる。また、前記第1のデータ、前記第2のデータ、第3のデータおよび前記第4のデータを合わせたデータ長と、前記第4のデータのデータ長を同一のデータ長例えば、1バイト8ビット長としてもよい。さらに、前記CPUが一度に読み込むデータのデータ長と前記第4のデータのデータ長を同一のデータ長としても良い。また、本実施形態に係るパチンコ機100またはスロットマシン1100は、プログラムデータおよび一時的なデータを記憶する記憶手段例えば、ROM306、RAM308またはROM1306、RAM1308と、前記記憶手段に記憶されているデータを用いて遊技の進行を中心とした遊技制御を行う主制御部例えば、主制御部300または、主制御部1300と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部例えば、第1副制御部400、第2副制御部500または、第1副制御部1400、第2副制御部1500と、を備えた遊技台であって、前記主制御部は、第一のビット長例えば、8ビット長からなる複数のレジスタ例えば、Aレジスタ、Fレジスタ、Bレジスタ、Cレジスタ、Dレジスタ、Eレジスタ、Hレジスタ、Lレジスタ、Tレジスタを有し、前記第一のビット長の倍のビット長である第二のビット長例えば、16ビット長の演算が可能なレジスタの組み合わせである前記複数のレジスタ例えば、BCレジスタ、DEレジスタ、HLレジスタのうちの第一のレジスタと第二のレジスタ例えば、HレジスタとLレジスタに格納された値によって示される前記記憶手段における第一のアドレス例えば、1750H、および該第一のアドレスと連続する第二のアドレス例えば、1751Hに格納された第一の値例えば、AEHと第二の値例えば、19を、前記複数のレジスタのうちの第三のレジスタ例えば、Cレジスタと第四のレジスタ例えば、Aレジスタにそれぞれ転送する所定の命令例えば、INCTENSOUAC,HL命令を備え、該所定の命令を前記遊技制御例えば、特別図柄変動時間抽選処理において実行し、前記第三のレジスタと前記第四のレジスタは、前記第二のビット長の演算が可能なレジスタの組み合わせBCレジスタ、DEレジスタ、HLレジスタとは異なることを特徴とする遊技台である。なお、第一のアドレスと連続する第二のアドレスは第一のアドレスよりも大きなアドレスに限定されず、第一のアドレスよりも小さなアドレスでもよく、先の例では、第一アドレスが1750H、第二アドレスが174FHでもよい。本実施形態に係るパチンコ機100またはスロットマシン1100によれば、1回の命令によって、連続して配置されたアドレスに格納された2つのデータを、レジスタペアを構成しない2種類のレジスタに格納することができるため、プログラム容量を削減することができ、遊技性を向上させるためのプログラムに容量を割り当てることができ、遊技の興趣を高めることが可能となる。また、処理時間を短縮でき、安定した遊技制御を行うことができる場合がある。また、プログラム容量を削減することでプログラムが見やすくなり、コーディングミスやバグの発生を抑制できる場合がある。また、第三のレジスタと第四のレジスタとはレジスタペアではないため、16ビット演算処理を行う場合にプログラムを注意して作成することができ、コーディングミスやバグの発生を抑制できる場合がある。また、前記第三のレジスタと前記第四のレジスタの少なくとも何れかは、前記第二のビット長の演算が可能なレジスタの組み合わせを構成してもよい例えば、Bレジスタは、16ビット長の演算が可能なレジスタペアであるBCレジスタを構成する。このような構成とすれば、16ビット演算を行うレジスタペアの一方のレジスタの値を固定にすることができ、所定の命令前に設定した一方のレジスタの値を退避することなく所定の命令後の処理で使用することができプログラム容量を削減することができる場合がある。また、16ビット演算処理を行う場合にプログラムを注意して作成することができ、コーディングミスやバグの発生を抑えることができる場合がある。また、前記第三のレジスタと前記第四のレジスタの少なくとも何れかは、前記第二のビット長の演算が可能なレジスタの組み合わせの上位レジスタであってもよい例えば、Bレジスタは、16ビット長の演算が可能なレジスタペアであるBCレジスタの上位レジスタである。このような構成とすれば、16ビット演算を行うレジスタペアの上位8ビットの値を変更することができ、レジスタペアで示されるアドレスの上位を変更して所定の命令後の処理で使用することができる場合がある。例えば、第三のレジスタと第四のレジスタの各々を違う処理に利用例えば、一方をINCTENSOU命令で利用し、他方をループ処理の回数をカウントするためのカウンタとして利用することができ、数の限られたレジスタを有効に活用することができる。また、16ビット演算処理を行う場合にプログラムを注意して作成することができ、コーディングミスやバグの発生を抑えることができる場合がある。また、前記所定の命令は、前記第一のレジスタと前記第二のレジスタのうちの下位レジスタの値に所定値加算する処理例えば、HLレジスタに2を加算する処理を含んでいてもよい。このような構成とすれば、所定の命令終了後に所定のアドレスから所定値加算されたアドレスの値をレジスタに設定した状態で次の処理を行うことができ、例えば、アドレスを1加算する命令を所定値回実行するようなプログラムに比べ、プログラム容量を削減できる場合がある。また、前記第一のアドレスは、前記所定の命令を実行する前の前記第一のレジスタと前記第二のレジスタに格納された値によって示されるアドレス例えば、174FHの次のアドレス例えば、1750Hであってもよい。このような構成とすれば、繰り返し処理の際に最初にアドレスを指定することができ、繰り返し処理を抜けた際には所定の命令前のアドレスから所定値加算されたアドレスの値をレジスタに設定した状態で次の処理を行うことができる。特に、2種類のデータを交互に記憶したデータテーブルを利用する場合には、データテーブルから所望のデータを素早く読みだすことが可能となる。また、本実施形態に係るパチンコ機100またはスロットマシン1100は、プログラムデータおよび一時的なデータを記憶する記憶手段例えば、ROM306、RAM308またはROM1306、RAM1308と、前記記憶手段に記憶されているデータを用いて遊技の進行を中心とした遊技制御を行う主制御部例えば、主制御部300または、主制御部1300と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部例えば、第1副制御部400、第2副制御部500または、第1副制御部1400、第2副制御部1500と、を備えた遊技台であって、前記主制御部は、第一のビット長例えば、8ビット長の値を記憶可能な第一のレジスタ例えば、Cレジスタおよび前記第一のビット長の整数倍の第二のビット長例えば、16ビット長の値を記憶可能な第二のレジスタ例えば、HLレジスタを含む複数のレジスタ例えば、BCレジスタ、DEレジスタ、HLレジスタを有し、前記第二のレジスタの値に前記第一のレジスタの値を加算して前記第二のレジスタに格納する所定の命令例えば、ADDTWOONEHL,C命令を備え、該所定の命令を前記遊技制御例えば、特別図柄変動時間抽選処理において実行することを特徴とする遊技台である。なお、第二のレジスタは、第一のビット長の整数倍の第二のビット長の値を記憶可能であればよく、例えば、第一のレジスタのビット長が4ビットである場合には4の倍数4、8、12、...をビット長とするレジスタでもよく、第一のレジスタのビット長が16ビットである場合には16の倍数16、32、64、...をビット長とするレジスタでもよい。本実施形態に係るパチンコ機100またはスロットマシン1100によれば、桁上がり処理を別途行う必要がないため、プログラム容量を削減することができ、遊技性を向上させるためのプログラムに容量を割り当てることができ、遊技の興趣を高めることが可能となる。また、処理時間を短縮でき、安定した遊技制御を行うことができる場合がある。また、プログラム容量を削減することでプログラムが見やすくなり、コーディングミスやバグの発生を抑制できる場合がある。さらに、ビット長が異なるレジスタ同士の加算演算を行うことができるため、例えば、従来は16ビット長のレジスタペアを2つ使用して行っていた加算演算を、16ビット長のレジスタペアと8ビット長のレジスタで行うことができる場合があり、数の限られたレジスタを有効に活用することができる。また、前記第一のレジスタ例えば、Cレジスタは、第二のビット長の演算が可能なレジスタ例えば、BCレジスタの組み合わせの下位レジスタであってもよい。このような構成とすれば、レジスタペアの上位8ビットの値を固定にすることができ、16ビット演算処理を行う場合にプログラムを注意して作成することができ、コーディングミスやバグの発生を抑制できる場合がある。また、レジスタペアの上位レジスタと下位レジスタの各々を違う処理に利用例えば、一方をADDTWOONE命令で利用し、他方をループ処理の回数をカウントするためのカウンタとして利用することができ、数の限られたレジスタを有効に活用することができる。また、前記主制御部は、前記第二のレジスタ例えば、HLレジスタに格納された値によって示される所定のアドレスに基づく連続する2つのアドレスに格納された第一の値と第二の値を、前記複数のレジスタのうちの前記第一のレジスタ例えば、Cレジスタと第三のレジスタ例えば、Bレジスタにそれぞれ転送する所定の第二の命令例えば、INCTENSOUBC,HL命令を備え、該所定の第二の命令を実行した後、前記所定の命令を行ってもよい。このような構成とすれば、連続する2つのアドレスに格納された値の何れかを第一レジスタに加算することで、所定のアドレスに関連したアドレスを示す値を第一レジスタに設定した状態で次の処理を行うことができ、プログラム容量を削減できる場合がある。また、前記主制御部は、前記所定の第二の命令を実行した後に所定の判定処理例えば、上記ステップS1110~S1111に示すような、Bレジスタ第三のレジスタから特定の値RAMの所定記憶領域に記憶された値などを減算してキャリーが発生するか否かを判定する処理を行い、該所定の判定処理の結果が所定の値のときに例えば、キャリーが発生したときに前記所定の命令を行ってもよい。このような構成とすれば、所定の判定処理の結果が所定の値のときに、所定のアドレスに関連したアドレスを示す値を第一レジスタに設定した状態で次の処理を行うことができ、プログラム容量を削減できる場合がある。また、前記主制御部は、前記所定の命令を行った後、再度前記所定の第二の命令と前記所定の判定処理を実行してもよい例えば、上記ステップS1109でINCTENSOU命令を実行し、上記ステップS1112でADDTWOONE命令を実行した後に、上記ステップS1114でINCTENSOU命令を再度実行し、上記ステップS1116でBレジスタから特定の値を減算してキャリーが発生するか否かを判定する。このような構成とすれば、例えば、2段階抽選の2回目のテーブルアドレスを設定することができ、2段階抽選のプログラムを見やすく作ることができ、コーディングミスやバグの発生を抑制できる場合がある。また、本実施形態に係るパチンコ機100またはスロットマシン1100は、遊技制御を行うCPUを有する主制御部例えば、主制御部300または、主制御部1300と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部例えば、第1副制御部400、第2副制御部500または、第1副制御部1400、第2副制御部1500と、を備えた遊技台であって、前記CPUは、所定のフラグ例えば、Zフラグ、SZフラグを備え、前記主制御部は、第一の処理と第二の処理の間に実行される処理であって、前記第一の処理において第一の内容であった前記フラグの内容を、前記第二の処理の開始前に第二の内容に変化させる第三の処理を実行し、前記第二の処理は、前記第三の処理の実行結果が所定の結果である場合に行われる処理であって、前記第二の内容に変化した前記フラグを参照しない処理例えば、CPRT命令、CPJR命令であることを特徴とする遊技台である。本実施形態に係るパチンコ機100またはスロットマシン1100によれば、フラグの内容の変化とプログラムの実行の流れの関連性を無くすことができ、プログラムの解析を困難とし、不正なプログラムの改ざんを未然に防止できる場合がある。このため、安定した遊技制御をおこなうことができ、遊技の公平性を担保することができる場合がある。また、前記第三の処理は、前記第一の内容であった前記フラグを参照しない処理であってもよい。このような構成とすれば、フラグの内容の変化とプログラムの実行の流れの関連性を無くすことができ、プログラムの解析を困難とし、不正なプログラムの改ざんを未然に防止できる場合がある。このため、安定した遊技制御をおこなうことができ、遊技の公平性を担保することができる場合がある。また、本実施形態に係るパチンコ機100またはスロットマシン1100は、遊技制御を行うCPUを有する主制御部例えば、主制御部300または、主制御部1300と、前記主制御部の遊技制御に基づいて遊技の演出制御を行う副制御部例えば、第1副制御部400、第2副制御部500または、第1副制御部1400、第2副制御部1500と、を備えた遊技台であって、前記CPUは、記憶手段例えば、ROM306、RAM308、レジスタ、プログラムカウンタの所定領域へのアクセスが規制された命令例えば、RES命令、RST命令を備え、前記命令を前記遊技制御において実行することを特徴とする遊技台である。本実施形態に係るパチンコ機100またはスロットマシン1100によれば、所定領域のアクセスを禁止することができるため、所定領域を保護することができ、所定領域の内容が予期しない数値に変化して不具合を起こすような事態を未然に防止できる場合がある。また、前記命令は、前記所定領域を除いた領域のうち予め定められた特定領域へのアクセスが可能な命令であってもよい。このような構成とすれば、所定領域のアクセスを禁止しつつ、同時に特定領域の内容を読み書きすることができるため、所定領域の内容を保護することができるとともに、プログラム設計の自由度を低下させることがない。また、前記CPUは、前記所定領域へのアクセスが可能な命令をさらに備えてもよい。このような構成とすれば、所定領域のアクセスを禁止しつつ、同時に特定領域の内容を読み書きすることができるため、所定領域の内容を保護することができるとともに、プログラム設計の自由度を低下させることがない。また、前記命令を、前記記憶手段の所定領域にジャンプすることができないように構成すれば、不正プログラムを組み込んでユーザプログラムの先頭アドレスにジャンプさせるユーザプログラムを先頭アドレスから開始させて不正に初期状態とするような行為を未然に防止できる場合がある。なお、本発明に係る遊技台は、上述のパチンコ機100やスロットマシン1100に限定されない。したがって、例えば、上記実施形態では、リトルエンディアンのCPUの例を示したが、ビッグエンディアンのCPUに適用することもできる。また、8ビットCPUに限定されず、16ビットCPU、32ビットCPU等にも適用できる。また、命令の名称は上記実施形態で示した名称に限定されるものではない。また、主制御部300のCPU304または、主制御部1300のCPU1304に適用した例を示したが、他の制御部のCPUに適用してもよい。また、記憶手段は、ROM、RAMに限定されず、他の記憶手段を適用してもよい。また、図74aに示す、紙幣投入口2002に紙幣を投入し、ベット2004およびスタート2006操作に基づいて抽選を実行し、抽選結果を抽選結果表示装置2008で表示し、当選時には特典コイン数を残クレジット数に加算し、キャッシュアウト2009が選択された場合には、レシート発行機2010から残クレジット数に対応するコードが記載されたレシートを発行するカジノマシン2000に本発明を適用してもよい。また、アレンジボール遊技機や、じゃん球遊技機、スマートボール等に適当してもよい。また、同図bに示すように、本発明の構成を含む制御部を備えている携帯電話機3000、同図cに示すように、本発明の構成を含む制御部を備えているポータブルゲーム機4000、本発明の構成を含む制御部を備えている家庭用テレビゲーム機5000、に本発明を適用してもよい。より具体的には、同図bにおける携帯電話機3000は、遊技者によって操作される操作部と、ゲームに関するデータを携帯電話回線を通して取得するデータ取得部と、取得したゲームに関するデータを記憶する記憶部と、記憶部に記憶したデータと操作部の操作とに基づいてゲームの制御を行う、本発明の構成を含む制御部と、を備えている。また、同図cにおけるポータブルゲーム機4000は、遊技者によって操作される操作部と、ゲームに関するデータを所定の記憶媒体DVD等から取得するデータ取得部と、取得したゲームに関するデータを記憶する記憶部と、記憶部に記憶したデータと操作部の操作とに基づいてゲームの制御を行う、本発明の構成を含む制御部と、を備えている。また、同図cにおける家庭用テレビゲーム機5000は、遊技者によって操作される操作部と、ゲームに関するデータを所定の記憶媒体DVD等から取得するデータ取得部と、取得したゲームに関するデータを記憶する記憶部と、記憶部に記憶したデータと操作部の操作とに基づいてゲームの制御を行う、本発明の構成を含む制御部を備えている。さらには、同図dに示すように、本発明の構成を含む制御部を備えるデータサーバ6000に適用してもよい。このデータサーバ6000からインターネット回線を介して同図dに示す家庭用テレビゲーム機5000に本発明の構成を含むプログラムコードをダウンロードするような場合がある。また、パチンコ機等の実機の動作を家庭用ゲーム機用として擬似的に実行するようなゲームプログラムにおいても、本発明を適用することができる。また、本発明に係る遊技台は、封入式遊技機に適用することもできる。また、主制御部、第1副制御部、および第2副制御部をワンチップで構成してもよいし、主制御部と第1副制御部で双方向の通信が可能に構成してもよい。また、主制御部と第1副制御部で双方向の通信を可能とする一方で、第1副制御部から第2副制御部への通信は一方向の通信としてもよい。また、本発明の実施の形態に記載された作用および効果は、本発明から生じる最も好適な作用および効果を列挙したに過ぎず、本発明による作用および効果は、本発明の実施の形態に記載されたものに限定されるものではない。また、実施例に記載した複数の構成のうち、1つの構成に記載している内容を、他の構成に適用することでより遊技の幅を広げられる場合がある。"