(57)【要約】【課題】プログラム容量がむやみに増大することを防止する。【解決手段】遊技機制御用プログラムは、複数種類のメインモジュールから構成される主制御プログラムと、共通サブモジュールから構成される共通サブルーチンプログラムとを含んでいる。共通サブルーチンプログラム内の各共通サブモジュールは、主制御プログラムにおける複数のモジュールから共通に呼び出されて実行される。各共通サブモジュールは、ＲＳＴ命令内でＲＯＭにおけるプログラムアドレスよりもデータサイズの小さいパラメータにて指定される複数の特定アドレスのうちのいずれかに記憶されている。ＣＰＵは、主制御プログラムを実行中に、随所でＲＳＴ命令により共通サブルーチンプログラム内の共通サブモジュールを呼び出して実行する。【選択図】  図５
2004229938.tif 000002
【特許請求の範囲】
【請求項１】
遊技者が所定の遊技を行い、遊技における特定条件の成立に応じて遊技者にとって有利な特定遊技状態に制御可能な遊技機であって、
遊技機制御用プログラムに従って遊技機に設けられた遊技用装置を制御する制御手段と、
前記遊技機制御用プログラムを記憶するプログラム記憶手段、とを備え、
前記遊技機制御用プログラムは、複数種類のメインモジュールと、メインモジュールから呼び出されて実行される複数種類のサブモジュールとを含み、
前記複数種類のサブモジュールのうちで複数のメインモジュールから共通に呼び出されて実行される共通サブモジュールは、前記プログラム記憶手段における複数の特定アドレスのいずれかに記憶され、
前記遊技機制御用プログラムに含まれるメインモジュールは、前記制御手段が前記共通サブモジュールを呼び出して実行するときに、前記プログラム記憶手段におけるプログラムアドレスよりもデータサイズが小さいパラメータにて特定アドレスを指定し、該指定された特定アドレスに記憶されたサブモジュールを呼び出す命令を用いる、
ことを特徴とする遊技機。
【請求項２】
前記プログラム記憶手段にて複数の特定アドレスとして設定可能なアドレスは、所定の記憶容量分隔てたアドレスごとに定められ、
前記共通サブモジュールは、プログラム容量が前記所定の記憶容量以下である、
ことを特徴とする請求項１に記載の遊技機。
【請求項３】
前記プログラム記憶手段にて複数の特定アドレスとして設定可能なアドレスは、所定の記憶容量分隔てたアドレスごとに定められ、
前記共通サブモジュールのプログラム容量が前記所定の記憶容量を越えるときには、
前記共通サブモジュールを、前記特定アドレスに記憶され、プログラム容量が前記所定の記憶容量以下である前段サブモジュールと、前記特定アドレス以外のモジュール設定アドレスへ記憶され、前記前段サブモジュールにおける前記モジュール設定アドレスへの分岐命令により、前記特定アドレスに記憶された前段サブモジュールに続いて実行される後段サブモジュールと、に分割した、
ことを特徴とする請求項１に記載の遊技機。
【請求項４】
前記複数の特定アドレスとして設定可能なアドレスは、前記プログラム記憶手段の先頭アドレスから所定の記憶容量分隔てたアドレスごとに設けられている、ことを特徴とする請求項１、２又は３に記載の遊技機。
【請求項５】
前記プログラム記憶手段は、前記メインモジュールに含まれる所定のプログラムモジュールを前段メインモジュールと後段メインモジュールとに分割して記憶するとともに、前段メインモジュールを先頭アドレスから特定アドレスよりも前方の領域に記憶し、後段メインモジュールを特定アドレスよりも後方の領域に記憶する、
ことを特徴とする請求項１から４のいずれか１項に記載の遊技機。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パチンコ遊技機等の遊技機に関し、詳しくは、遊技者が所定の遊技を行い、遊技における特定条件の成立に応じて遊技者にとって有利な特定遊技状態に制御可能な遊技機に関する。
【０００２】
【従来の技術】
パチンコ遊技機等の遊技機では、遊技者が所定の遊技を行うために、例えば可変表示装置や普通可変入賞球装置（始動入賞口）、特別可変入賞球装置（大入賞口）、装飾ランプ、スピーカあるいは払出装置などといった、各種の遊技用装置が電気部品として備え付けられている。一般に、こうした遊技用装置の動作は、マイクロコンピュータシステムが備えるＣＰＵ等によって制御される。ＣＰＵは、各遊技用装置の制御を司る主制御プログラムと主制御プログラムの随所において呼び出される多数のサブルーチンとを含む遊技機制御用プログラムに従って動作する。遊技機制御用プログラムは、マイクロコンピュータシステムにおけるＲＯＭに格納される。ＣＰＵは、主制御プログラムにおけるメインモジュールの途中で、例えばＣＡＬＬ命令により、サブモジュールとして構成されたサブルーチンをコール（呼出）して実行するようにしている（例えば、特許文献１）。
【０００３】
【特許文献１】
特開２００１−２０４９２９号公報（例えば、第１０頁）
【０００４】
ここで、ＣＡＬＬ命令は１バイトの演算コードと２バイトのアドレス部（オペランド）を含んだ３バイトの命令であり、指定したアドレスのサブルーチンを呼び出す。そして、呼び出されたサブルーチン内の命令を順次実行し、サブルーチン内のリターン命令により、リターンアドレスに復帰する。このように、従来では、サブルーチンコールに直接アドレス形式のＣＡＬＬ命令を用いるのが一般的であり、サブルーチンコールを設けるごとに、例えば３バイトのプログラム容量を費やしていた。
【０００５】
【発明が解決しようとする課題】
パチンコ遊技機等にあっては、種々の事情によってプログラム容量に制約が設けられている。その一方で、遊技機における遊技をよりおもしろく演出しようとするとプログラム容量は増加し、プログラム容量が制約値を越えてしまうことがある。また、より一般的に、プログラム容量が増大すると、ＲＯＭなどの記憶装置として記憶容量の大きなものが必要になり、例えば遊技機全体の製造コストが増加するなどの問題が生じる。このため、パチンコ遊技機等の遊技機においては、プログラム容量をむやみに増加させないための工夫が求められている。
【０００６】
この発明は上記実状に鑑みてなされたものであり、特にメインモジュールからサブモジュールを呼び出して実行する際に必要となるデータ容量を節減することで、全体としてプログラム容量をむやみに増加させることのない遊技機を提供することを目的とする。
【０００７】
【課題を解決するための手段】
上記目的を達成するため、本願の請求項１に記載の遊技機は、遊技者が所定の遊技を行い、遊技における特定条件の成立に応じて遊技者にとって有利な特定遊技状態に制御可能な遊技機であって、遊技機制御用プログラム（例えば遊技制御プログラム１２０など）に従って遊技機に設けられた遊技用装置を制御する制御手段（例えばＣＰＵ１０３など）と、前記遊技機制御用プログラムを記憶するプログラム記憶手段（例えばＲＯＭ１０１など）、とを備え、前記遊技機制御用プログラムは、複数種類のメインモジュール（例えば主制御プログラム１２１に含まれる遊技制御メイン処理モジュール１３１など）と、メインモジュールから呼び出されて実行される複数種類のサブモジュール（例えば共通サブルーチンプログラム１２２に含まれるポインタ設定処理モジュール１５１など）とを含み、前記複数種類のサブモジュールのうちで複数のメインモジュールから共通に呼び出されて実行される共通サブモジュール（例えばデータセット処理モジュール１５７など）は、前記プログラム記憶手段における複数の特定アドレス（例えばＲＯＭ１０１の０００８Ｈ番地、００１０Ｈ番地、００１８Ｈ番地、００２０Ｈ番地、００２８Ｈ番地、００３０Ｈ番地、及び００３８Ｈ番地など）のいずれかに記憶され、前記遊技機制御用プログラムに含まれるメインモジュールは、前記制御手段が前記共通サブモジュールを呼び出して実行するときに、前記プログラム記憶手段におけるプログラムアドレスよりもデータサイズが小さいパラメータにて特定アドレスを指定し、該指定された特定アドレスに記憶されたサブモジュールを呼び出す命令（例えばＲＳＴ命令）を用いる。なお、遊技機制御用プログラムは、例えば、遊技の進行を制御するために実行される遊技制御プログラムのほか、表示状態が変化可能な可変表示装置や演出用の装飾ランプ及びスピーカなどを用いた遊技の演出を制御するために実行される演出制御プログラム、払出装置を用いた遊技球の払い出しを制御するために実行される払出制御プログラムなど、遊技機に設けられた遊技用の各種装置を制御するためのプログラムであってもよい。また、制御手段は、遊技の進行を制御する遊技制御手段のほか、可変表示装置の表示制御を行う表示制御手段や、払出装置の制御を行う払出制御手段などであってもよい。
【０００８】
請求項１に記載の遊技機によれば、遊技機制御用プログラムに含まれるメインモジュールは、複数の特定アドレスのいずれかに記憶された共通サブモジュールを制御手段が呼び出して実行するときに、プログラムアドレスよりもデータサイズが小さいパラメータにて特定アドレスを指定して呼び出しを指示する命令を用いる。これにより、サブモジュールの呼び出しに使用するデータ容量を節減することができ、全体としてプログラム容量がむやみに増加することを防止できる。
【０００９】
また、本発明に係る遊技機は、遊技者が所定の遊技を行い、遊技における特定条件の成立に応じて遊技者にとって有利な特定遊技状態に制御可能な遊技機であって、遊技機制御用プログラム（例えば遊技制御プログラム１２０など）に従って遊技機に設けられた遊技用装置を制御する制御手段（例えばＣＰＵ１０３など）と、前記遊技機制御用プログラムを記憶するプログラム記憶手段（例えばＲＯＭ１０１など）、とを備え、前記遊技機制御用プログラムは、複数種類のメインモジュール（例えば主制御プログラム１２１に含まれる遊技制御メイン処理モジュール１３１など）と、メインモジュールから呼び出されて実行される複数種類のサブモジュール（例えば共通サブルーチンプログラム１２２に含まれるポインタ設定処理モジュール１５１など）とを含み、前記プログラム記憶手段は、複数の特定アドレス（例えばＲＯＭ１０１の０００８Ｈ番地、００１０Ｈ番地、００１８Ｈ番地、００２０Ｈ番地、００２８Ｈ番地、００３０Ｈ番地、及び００３８Ｈ番地など）のいずれかを先頭アドレスとして、前記遊技機制御用プログラムに含まれる複数種類のサブモジュールのうちで複数のメインモジュールから共通に呼び出されて実行される共通サブモジュール（例えばデータセット処理モジュール１５７など）を記憶する共通サブモジュール記憶手段（例えばＲＯＭ１０１においてデータセット処理モジュール１５７を記憶する領域など）を含み、前記遊技機制御用プログラムに含まれるメインモジュールは、前記制御手段が前記共通サブモジュール記憶手段に記憶された共通サブモジュールを呼び出して実行するときに、前記プログラム記憶手段におけるプログラムアドレスよりもデータサイズが小さいパラメータにて特定アドレスを指定し、該指定された特定アドレスに記憶されたサブモジュールを呼び出す命令（例えばＲＳＴ命令）を用いてもよい。この構成によれば、遊技機制御用プログラムに含まれるメインモジュールは、複数の特定アドレスのいずれかを先頭アドレスとする共通サブモジュール記憶手段に記憶された共通サブモジュールを制御手段が呼び出して実行するときに、プログラムアドレスよりもデータサイズが小さいパラメータにて特定アドレスを指定して呼び出しを指示する命令を用いる。これにより、サブモジュールの呼び出しに使用するデータ容量を節減することができ、全体としてプログラム容量をむやみに増加させることがない。
【００１０】
請求項２に記載の遊技機においては、前記プログラム記憶手段にて複数の特定アドレスとして設定可能なアドレスは、所定の記憶容量（例えば８バイト）分隔てたアドレス（例えば０００８Ｈ番地）ごとに定められ、前記共通サブモジュールは、プログラム容量が前記所定の記憶容量以下である。これにより、特定アドレスの設定に制約があるときでも、データ容量が節減された命令を用いて可能な限り数多くのサブモジュールを呼び出すことができ、遊技機制御用プログラム全体におけるプログラム容量がむやみに増大することを防止できる。
【００１１】
請求項３に記載の遊技機においては、前記プログラム記憶手段にて複数の特定アドレスとして設定可能なアドレスは、所定の記憶容量（例えば８バイト）分隔てたアドレス（例えば０００８Ｈ番地）ごとに定められ、前記共通サブモジュールのプログラム容量が前記所定の記憶容量を越えるときには、前記共通サブモジュールを、前記特定アドレスに記憶され、プログラム容量が前記所定の記憶容量以下である前段サブモジュール（例えば図１１に示す前段サブモジュールＳＵＢ＿１＿ＦＨＡＬＦ）と、前記特定アドレス以外のモジュール設定アドレス（例えばＲＯＭ１０１の００５０番地）へ記憶され、前記前段サブモジュールにおける前記モジュール設定アドレスへの分岐命令（例えばＪＲ命令）により、前記特定アドレスに記憶された前段サブモジュールに続いて実行される後段サブモジュール（例えば図１１に示す後段サブモジュールＳＵＢ＿１＿ＳＨＡＬＦ）と、に分割した。これにより、特定アドレスの設定における制約にかかわらず、データ容量が節減された命令を用いてプログラム容量が比較的大きなサブモジュールを呼び出すことができるとともに、データ容量を節減した命令を用いて呼び出すことができるモジュールの数が減ってしまうことを防止できる。
【００１２】
請求項４に記載の遊技機においては、前記複数の特定アドレスとして設定可能なアドレスは、前記プログラム記憶手段の先頭アドレス（例えばＲＯＭ１０１の００００Ｈ番地）から所定の記憶容量分隔てたアドレス（例えば０００８Ｈ番地）ごとに設けられている。これにより、機種ごとに大きく変更される部分がプログラム記憶手段の後方に配置されることとなり、機種ごとのプログラムの改変が容易になる。
【００１３】
請求項５に記載の遊技機においては、前記メインモジュールに含まれる所定のプログラムモジュールを前段メインモジュール（例えば遊技制御メイン処理モジュールの前半部分１３１Ａ）と後段メインモジュール（例えば遊技制御メイン処理モジュールの後半部分１３１Ｂ）とに分割して記憶するとともに、前段メインモジュールを先頭アドレス（例えばＲＯＭ１０１における００００Ｈ番地）から特定アドレス（例えばＲＯＭ１０１における０００８Ｈ番地）よりも前方の領域に記憶し、後段メインモジュールを特定アドレスよりも後方の領域（例えばＲＯＭ１０１における００７８Ｈ番地〜００ＥＢＨ番地の領域）に記憶する。これにより、データ容量が節減された命令を用いて呼び出すことができるモジュールの数を減らすことなく、プログラム容量が比較的大きなメインモジュールを記憶することができ、プログラムを記憶する領域を有効に利用することができる。なお、プログラム記憶手段により前段メインモジュールと後段メインモジュールとに分割して記憶されるプログラムモジュールは、例えば、遊技機の電源投入時に実行されて遊技の進行を制御するためのメイン処理モジュールなどであってもよい。
【００１４】
また、前記制御手段は、電源投入時に、前記プログラム記憶手段の先頭アドレスに記憶されたプログラムモジュールを実行することにより、遊技機に設けられた遊技用装置の制御を開始してもよい。より具体的には、前記制御手段は、遊技の進行を制御する遊技制御手段を含み、前記遊技制御手段は、電源投入時に、前記プログラム記憶手段の先頭アドレスに記憶されたプログラムモジュールを実行することにより、遊技の制御を開始してもよい。前記複数の特定アドレスは、前記プログラム記憶手段の先頭アドレス付近のアドレスとして設定されていてもよい。前記プログラム記憶手段の先頭アドレスに記憶されたプログラムモジュールは、前記遊技機制御用プログラムのメインモジュールに含まれ、前記制御手段が遊技機に設けられた遊技用装置の制御を開始するときに初期設定を行うためのプログラムモジュールであってもよい。さらに、前記メインモジュールに含まれる所定のプログラムモジュールを、前記プログラム記憶手段の先頭アドレスに記憶され、プログラム容量が所定容量以下である前段メインモジュールと、前記特定アドレス以外のプログラムモジュール設定アドレスへ記憶され、前記前段メインモジュールにおける前記プログラムモジュール設定アドレスへの分岐命令により、前記先頭アドレスに記憶された前段メインモジュールに続いて実行される後段メインモジュールと、に分割してもよい。
【００１５】
【発明の実施の形態】
以下、図面を参照しつつ、本発明の一実施形態を詳細に説明する。
図１は、本実施例におけるパチンコ遊技機の正面図であり、主要部材の配置レイアウトを示す。本実施例におけるパチンコ遊技機としては、プリペイドカードによって球貸しを行うカードリーダ（ＣＲ：Ｃａｒｄ  Ｒｅａｄｅｒ）式の第１種パチンコ遊技機や、スロットマシン等の遊技機である。
【００１６】
また、パチンコ遊技機等の弾球遊技機であっても、例えば、第２種あるいは第３種に分類されるパチンコ遊技機や、一般電役機、又はパチコンと呼ばれる確率設定機能付き弾球遊技機等であっても構わない。さらには、プリペイドカードによって球貸しを行うＣＲ式パチンコ遊技機だけではなく、現金によって球貸しを行うパチンコ遊技機にも適用可能である。
【００１７】
パチンコ遊技機（遊技機）１は、大別して、遊技盤面を構成する遊技盤（ゲージ盤）２と、遊技盤２を支持固定する遊技機用枠（台枠）３とから構成されている。
【００１８】
遊技盤２にはガイドレールによって囲まれた、ほぼ円形状の遊技領域が形成されている。遊技領域のほぼ中央位置には、可変表示装置４が設けられ、この可変表示装置４の下側には、特別図柄の変動を許容する始動機能を有する普通可変入賞球装置６が配置されている。普通可変入賞球装置６の下側には、特別可変入賞球装置（大入賞口）７が配置されている。また、可変表示装置４の上部には、普通図柄表示器５が配置されている。
【００１９】
可変表示装置４は、複数の変動表示部により識別情報としての図柄を変動表示するＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）モジュール等を備えて構成され、例えば、普通可変入賞球装置６に遊技球が入賞することが実行条件となる特図ゲームにおいて、数字、文字、図柄等から構成される３つの表示図柄（特別図柄）の変動表示を開始し、一定時間が経過すると、左、右、中の順で表示図柄を確定する。可変表示装置４には、普通可変入賞球装置６に入った有効入賞球数すなわち始動記憶数を表示する４つの始動記憶表示エリアが設けられていてもよい。
【００２０】
普通図柄表示器５は、発光ダイオード（ＬＥＤ）等を備えて構成され、所定の通過部材を遊技球が通過することが実行条件となる普通図ゲームにおいて、点灯、点滅、発色などが制御され、所定の当りパターンで表示が行われると、「普通図当り」状態となり、普通可変入賞球装置６を構成する電動チューリップの可動翼片を所定時間が経過するまで傾動制御する。
【００２１】
普通可変入賞球装置６は、ソレノイド２２（図３）によって垂直（通常開放）位置と傾動（拡大開放）位置との間で可動制御される一対の可動翼片を有するチューリップ型役物として構成される。
【００２２】
特別可変入賞球装置７は、ソレノイド２３（図３）によって入賞領域を開成・閉成制御する開閉板を備える。この開閉板は、通常時には閉成し、普通可変入賞球装置６への遊技球の入賞に基づいて可変表示装置４による特図ゲームが行われた結果、特定遊技状態となった場合に、ソレノイド２３によって入賞領域を所定期間（例えば、２９秒）あるいは所定個数（例えば、１０個）の入賞球が発生するまで開成（開成サイクル）する状態となるように設定され、その開成している間に遊技盤２の表面を落下する遊技球を受け止める。そして、この開成サイクルを最高１６回繰り返すことができるようになっている。特別可変入賞球装置７に入賞した遊技球は、入賞口スイッチなどの検出部により検出される。入賞球の検出に応答し、後述する主基板１１と払出制御基板１５（図２、図３）とにより、所定数の賞球の払い出しが行われる。
【００２３】
また、遊技盤２の遊技領域には、上記した構成以外にも、装飾ランプを内蔵した風車やアウト口等が設けられている。また、遊技領域の外側の左右上部には、効果音を発する２つのスピーカ８Ｌ、８Ｒが設けられている。遊技領域の外周には、点灯又は点滅する遊技効果ランプ９が設けられている。遊技領域外側の右下部には、遊技者が遊技球を発射させるために操作する打球操作ハンドル（操作ノブ）２０が設けられている。
【００２４】
さらに、図１には、パチンコ遊技機１に隣接して設置され、プリペイドカードが挿入されることによって球貸しを可能にするプリペイドカードユニット（以下、カードユニットという）５０も示されている。カードユニットには、使用可能状態であるか否かを示す使用可表示ランプ、カードユニットがいずれの側のパチンコ遊技機１に対応しているのかを示す連結台方向表示器、カードユニット内にカードが投入されていることを示すカード投入表示ランプ、記録媒体としてのカードが挿入されるカード挿入口、およびカード挿入口の裏面に設けられているカードリーダライタの機構を点検する場合にカードユニット５０を開放するためのカードユニット錠などが設けられている。
【００２５】
図２は、パチンコ遊技機１の背面図である。パチンコ遊技機１の背面には、電源基板１０、主基板１１、演出制御基板１２、音声制御基板１３、ランプ制御基板１４、払出制御基板１５、情報端子基板１６といった主要基板が、それぞれ適所に配設されている。
【００２６】
図３は、主基板１１を中心としたシステム構成例を示すブロック図である。なお、図３には、電源基板１０、演出制御基板１２、払出制御基板１５、情報端子基板１６も示されている。
【００２７】
電源基板１０は、パチンコ遊技機１内の各回路に所定の電源電圧を供給するものである。この電源基板１０には、ＡＣ２４Ｖの電源の供給を受けるための電源コードが接続されている。
【００２８】
主基板１１は、演出制御基板１２、払出制御基板１５、及び情報端子基板１６と配線接続されている。また、主基板１１には、普通可変入賞球装置６や特別可変入賞球装置７、その他の入賞口への入賞を検出する各入賞口スイッチ７０からの配線が、接続されている。
【００２９】
主基板１１には、遊技制御用マイクロコンピュータ１００、スイッチ回路１１０、ソレノイド回路１１１、定期リセット回路１１２等が搭載されている。遊技制御用マイクロコンピュータ１００は、例えば１チップマイクロコンピュータであり、ゲーム制御用のプログラム等を記憶するＲＯＭ１０１、ワークメモリとして使用されるＲＡＭ１０２、プログラムに従って制御動作を行うＣＰＵ１０３及びＩ／Ｏポート１０４を含んでいる。遊技制御用マイクロコンピュータ１００は、特図ゲームにおいて用いる乱数の生成機能や、演出制御基板１２及び払出制御基板１５に対し、それぞれ指令情報の一例となる制御コマンドを出力して送信する機能、ホールの管理コンピュータに対し、情報端子基板１６を介して各種情報を出力する機能などを備えている。
【００３０】
図４は、ＲＯＭ１０１に格納される遊技制御プログラム１２０の一構成例を示すブロック図である。遊技制御プログラム１２０は、複数種類のメインモジュールから構成される主制御プログラム１２１と、複数種類の共通サブモジュールから構成される共通サブルーチンプログラム１２２とを含んでいる。共通サブルーチンプログラム１２２内の各共通サブモジュールは、主制御プログラム１２１における複数のモジュールから共通に呼び出されて実行される
【００３１】
この実施の形態において、主制御プログラム１２１は、複数種類のメインモジュールとして、遊技制御メイン処理モジュール１３１と、タイマ割込処理モジュール１３２と、初期化コマンド処理モジュール１３３と、スイッチ処理モジュール１３４と、判定用乱数更新処理モジュール１３５と、表示用乱数更新処理モジュール１３６と、特別図柄プロセス処理モジュール１３７と、普通図柄プロセス処理モジュール１３８と、特別図柄コマンド制御処理モジュール１３９と、普通図柄コマンド制御処理モジュール１４０と、情報出力処理モジュール１４１と、賞球処理モジュール１４２と、ソレノイド出力処理モジュール１４３と、電源断処理モジュール１４４とを含んでいる。
【００３２】
遊技制御メイン処理モジュール１３１は、前段メインモジュールとなる前半部分１３１Ａと、後段モジュールとなる後半部分１３１Ｂとからなり、電源投入時などにおける初期化処理の実行を制御する。タイマ割込処理モジュール１３２は、定期的に実行されて遊技の進行を制御するための各処理を呼び出す。初期化コマンド処理モジュール１３３は、電源投入後の遊技状態復旧処理やＲＡＭ１０２の初期設定において遊技制御メイン処理モジュール１３１から呼び出され、主基板１１からサブ側の各制御基板（演出制御基板１２、音声制御基板１３、ランプ制御基板１４、及び払出制御基板１５）に初期化を指示するコマンドを送信するための設定を行う。
【００３３】
スイッチ処理モジュール１３４は、各入賞口スイッチ７０からの検出信号を取り込む。判定用乱数更新処理モジュール１３５は、各種の判定用乱数として用いられる各カウンタのカウント値を更新する。表示用乱数更新処理モジュール１３６は、各種の表示用乱数として用いられる各カウンタのカウント値を更新する。
【００３４】
特別図柄プロセス処理モジュール１３７は、可変表示装置４に表示される特別図柄を所定の順序で制御するための設定を行う。普通図柄プロセス処理モジュール１３８は、普通図柄表示器５を所定の順序で制御するための設定を行う。特別図柄コマンド制御処理モジュール１３９は、主基板１１から演出制御基板１２に特別図柄の制御内容を指定するための表示制御コマンドを送信する。普通図柄コマンド制御処理モジュール１４０は、主基板１１から演出制御基板１２に普通図柄表示器５の制御内容を指定するための表示制御コマンドを送信する。
【００３５】
情報出力処理モジュール１４１は、主基板１１から情報端子基板１６に各種情報の出力を指示するためのコマンドを送信する。賞球処理モジュール１４２は、主基板１１から払出制御基板１５に、入賞球の検出に基づく所定数の賞球払出を指示するための払出制御コマンドを送信する。ソレノイド出力処理モジュール１４３は、ソレノイド回路１１１を介してソレノイド２２、２３のオン／オフ制御を行う。電源断処理モジュール１４４は、停電等による電源断時に、ＲＡＭ１０２のバックアップや、定期リセット回路１１２、Ｉ／Ｏポート１０４のディセーブル設定などを行う。
【００３６】
また、この実施の形態において、共通サブルーチンプログラム１２２は、共通サブモジュールとして、ポインタ設定処理モジュール１５１と、ゼロ判定処理モジュール１５２と、２バイト・１バイト加算処理モジュール１５３と、２バイトロード処理モジュール１５４と、２バイトストア処理モジュール１５５と、状態チェック処理モジュール１５６と、データセット処理モジュール１５７とを含んでいる。
【００３７】
ポインタ設定処理モジュール１５１は、ＣＰＵ１０３にてポインタとして機能する所定のレジスタ（具体的には、ＨＬレジスタ）に、アドレスを示すデータを設定する。ゼロ判定処理モジュール１５２は、ＣＰＵ１０３における所定の１６ビットレジスタ（具体的には、ＢＣレジスタ）の値が００００Ｈ（添字“Ｈ”は、１６進数であることを示す）であるか否かを判定する。２バイト・１バイト加算処理モジュール１５３は、ＣＰＵ１０３にて、所定の１６ビットレジスタ（具体的には、ＨＬレジスタ）の値に、所定の８ビットレジスタ（具体的には、Ａレジスタ）の値を加算する。
【００３８】
２バイトロード処理モジュール１５４は、ＣＰＵ１０３にてポインタとして機能する所定のレジスタ（具体的には、ＨＬレジスタ）により指定されるアドレスと、その次のアドレスとに格納された２バイトのデータを、所定の１６ビットレジスタ（具体的には、ＢＣレジスタ）にロードする。２バイトストア処理モジュール１５５は、ＣＰＵ１０３にてポインタとして機能する所定のレジスタ（具体的には、ＨＬレジスタ）により指定されるアドレスと、その次のアドレスとに対して、所定の１６ビットレジスタ（具体的には、ＢＣレジスタ）に格納された２バイトデータをストアする。
【００３９】
状態チェック処理モジュール１５６は、可変表示装置４における特別図柄の変動表示の変動時間を通常よりも短縮する機能（時短機能）が作動しているか否かを判定する。データセット処理モジュール１５７は、ＣＰＵ１０３にてポインタとして機能する所定のレジスタ（具体的には、ＨＬレジスタ）により指定される設定用テーブルを用いて、その設定用テーブルにて指定されるＲＡＭ１０２の設定先アドレスに、設定用テーブルにて指定される設定値データをストアする。
【００４０】
図５は、ＲＯＭ１０１におけるアドレスマップの一例を示す図である。図５に示すように、共通サブルーチンプログラム１２２に含まれる共通サブモジュールは、０００８Ｈ番地〜００４２Ｈ番地の領域に記憶されている。ここで、ポインタ設定処理モジュール１５１、ゼロ判定処理モジュール１５２、２バイト・１バイト加算処理モジュール１５３、２バイトロード処理モジュール１５４、２バイトストア処理モジュール１５５、及び状態チェック処理モジュール１５６は、いずれもプログラムサイズが８バイト以下となっている。
【００４１】
すなわち、ポインタ設定処理モジュール１５１は、ＲＯＭ１０１における０００８Ｈ番地以降の領域に記憶されている。ゼロ判定処理モジュール１５２は、ＲＯＭ１０１における００１０Ｈ番地以降の領域に記憶されている。２バイト・１バイト加算処理モジュール１５３は、ＲＯＭ１０１における００１８Ｈ番地以降の領域に記憶されている。２バイトロード処理モジュール１５４は、ＲＯＭ１０１における００２０Ｈ番地以降の領域に記憶されている。２バイトストア処理モジュール１５５は、ＲＯＭ１０１における００２８Ｈ番地以降の領域に記憶されている。状態チェック処理モジュール１５６は、ＲＯＭ１０１における００３０Ｈ番地以降の領域に記憶されている。データセット処理モジュール１５７は、ＲＯＭ１０１における００３８Ｈ番地以降の領域に記憶されている。
【００４２】
また、遊技制御メイン処理モジュール１３１は、その前半部分１３１Ａが００００Ｈ番地〜０００７Ｈ番地の領域に記憶されており、後半部分１３１Ｂが００７８Ｈ番地〜００ＥＢＨ番地の領域に記憶されている。その他、主制御プログラム１２１に含まれるメインモジュールは、ＲＯＭ１０１において通常領域となる００４３Ｈ番地以降の領域に記憶され、分岐命令や３バイトのＣＡＬＬ命令などを用いて分岐あるいは呼出可能に設定されている。
【００４３】
ＣＰＵ１０３には、予め定められた特定アドレスを指定してサブルーチンを呼び出し可能な１バイトのＲＳＴ命令が用意されている。図６は、ＣＰＵ１０３に用意されたＲＳＴ命令の演算コードを示す図である。図６（Ａ）に示すように、ＲＳＴ命令の演算コードは、第０ビットから第７ビットまでで構成され、その第３ビットから第５ビット以外の全てのビットが常に“１”となるように定められている。そして、ＲＳＴ命令の演算コードにおける第３ビットから第５ビットは、図６（Ｂ）に示すように、サブルーチン呼出による飛び先アドレスである指定アドレスに対応して決められている。すなわち、ＲＯＭ１０１におけるアドレス００００Ｈ番地、０００８Ｈ番地、００１０Ｈ番地、００１８Ｈ番地、００２０Ｈ番地、００２８Ｈ番地、００３０Ｈ番地、及び００３８Ｈ番地は、１バイトのＲＳＴ命令により指定される特定アドレスとして、予め定められている。このように、ＲＯＭ１０１におけるプログラムアドレスは、その先頭アドレスから所定アドレス（具体的には、０００８Ｈ番地）ごとに、８つの特定アドレスとして設定可能である。
【００４４】
ここで、ＲＯＭ１０１におけるプログラムアドレスは、２バイト構成であるのに対して、ＲＳＴ命令にて特定アドレスを指定するパラメータ（オペランド）は、第３ビットから第５ビットまでの３ビットである。すなわち、ＲＳＴ命令は、ＲＯＭ１０１におけるプログラムアドレスよりもデータサイズが小さいパラメータにて特定アドレスを指定し、その指定された特定アドレスに記憶されたサブルーチンを呼び出す命令として定められている。こうした１バイトのＲＳＴ命令を用いることで、ＣＰＵ１０３は、遊技制御メイン処理モジュールの前半部分１３１Ａ、共通サブルーチンプログラム１２２に含まれる各共通サブモジュール１５１〜１５７を、呼び出すことができる。
【００４５】
図３に示すスイッチ回路１１０には、各入賞口スイッチ７０からの検出信号が入力される。スイッチ回路１１０は、その検出信号を取り込んで、遊技制御用マイクロコンピュータ１００に伝達する。
【００４６】
ソレノイド回路１１１は、遊技制御用マイクロコンピュータ１００からの指令に従って各ソレノイド２２、２３を駆動する。ソレノイド２２は、普通可変入賞球装置６の可動翼片に連結されている。ソレノイド２３は、特別可変入賞球装置７の開閉板に連結されている。
【００４７】
定期リセット回路１１２は、ＣＴＣ（カウンタ／タイマ回路）などの周辺ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）を備えて構成される。定期リセット回路１１２は、遊技制御用マイクロコンピュータ１００のＣＰＵ１０３による設定に従って、定期的（例えば、２ミリ秒ごと）にＣＰＵ１０３へ割込要求信号を送出し、タイマ割込処理モジュール１３２の先頭からの実行を要求する。
【００４８】
演出制御基板１２は、主基板１１から受信した制御コマンドに従って演出制御を行うためのものである。具体的には、演出制御基板１２は、可変表示装置４の表示制御や、遊技領域の外周に設けられた遊技効果ランプ９を含んだランプ・ＬＥＤ７１及び普通図柄表示器５の点灯制御を行う。また、演出制御基板１２は、演出用ソレノイド・モータ７２を駆動制御するとともに、スピーカ８Ｌ、８Ｒからの音発生を制御する。
【００４９】
演出制御基板１２は、スピーカ８Ｌ、８Ｒからの音発生を制御するために、音声制御基板１３と配線接続されている。音声制御基板１３には、スピーカ８Ｌ、８Ｒを駆動する駆動回路等が搭載されている。また、演出制御基板１２は、ランプ・ＬＥＤ７１を点灯制御するために、ランプ制御基板１４と配線接続されている。ランプ制御基板１４には、装飾用に用いられるランプ・ＬＥＤ７１を駆動するための駆動回路が搭載されている。なお、演出制御基板１２、音声制御基板１３及びランプ制御基板１４は、それぞれ独立した基板として、例えば、パチンコ遊技機１の裏面において、１つのボックスに収容された状態で設置されてもよい。さらに、演出制御基板１２、音声制御基板１３及びランプ制御基板１４を、まとめて１つの基板として構成してもよい。
【００５０】
払出制御基板１５は、遊技制御用マイクロコンピュータ１００の制御下に、各入賞口スイッチ７０が入賞球を検出するごとに、一定数の賞球の払い出しを払出装置２１に指示する。また、払出制御基板１５は、カードユニット５０からの球貸し要求に従って、一定数の遊技球の払い出しを払出装置２１に指示する。払出装置２１は、払出制御基板１５の制御下に、遊技球の払い出しを行う。情報端子基板１６は、各種遊技関連情報を外部に出力するためのものである。
【００５１】
次に、本実施例のパチンコ遊技機１の動作について説明する。図７は、主基板１１に搭載された遊技制御用マイクロコンピュータ１００が実行する遊技制御メイン処理を示すフローチャートである。パチンコ遊技機１に対する電源が投入されると、遊技制御用マイクロコンピュータ１００にてＣＰＵ１０３がＲＯＭ１０１の００００Ｈ番地から命令を読み出して遊技制御メイン処理モジュールの前半部分１３１Ａを実行することで、遊技制御メイン処理が開始される。遊技制御メイン処理モジュールの前半部分１３１Ａは、図５に示すように、ＲＯＭ１０１の先頭アドレス００００Ｈ番地から、特定アドレス０００８Ｈ番地よりも前方の領域に記憶されている。
【００５２】
遊技制御メイン処理を開始すると、ＣＰＵ１０３は、まず、割込禁止に設定し（ステップＳ１０１）、続いて、割込モードを割込モード２に設定する（ステップＳ１０２）。この実施の形態におけるＣＰＵ１０３には、マスク可能な割込み（ＩＮＴ）のモードとして、以下の３種類のモードが用意されている。なお、割込許可状態でマスク可能な割込みが発生すると、ＣＰＵ１０３は、自動的に割込禁止状態に設定するとともに、プログラムカウンタの内容をスタックにセーブする。
【００５３】
割込モード０：割込要求を行った内蔵デバイスが、１バイトのＲＳＴ命令または３バイトのＣＡＬＬ命令を、ＣＰＵ１０３との間を接続するデータバス上に送出する。ＣＰＵ１０３は、ＲＳＴ命令に対応したアドレス又はＣＡＬＬ命令で指定されるアドレスから順次命令を実行する。リセット時には、ＣＰＵ１０３は自動的に割込モード０となる。従って、割込モード１又は割込モード２を使用する場合には、初期設定の段階で割込モード１又は割込モード２に設定するための処理を実行する必要がある。
【００５４】
割込モード１：割込みが受け付けられると、ＣＰＵ１０３が常にＲＯＭ１０１のアドレス００３８Ｈ番地を飛び先アドレスとして、そのアドレスから順次命令を実行するモードである。
【００５５】
割込モード２：ＣＰＵ１０３における８ビットの所定のレジスタ（具体的には、Ｉレジスタ）が格納している値を上位アドレスとし、内蔵デバイスから割込ベクタとして出力される最下位ビットが０の１バイトデータを下位アドレスとして割込ベクタテーブルを参照することにより、割込処理の実行アドレスを特定するモードである。
【００５６】
ＣＰＵ１０３は、割込モード２に設定することで、主基板１１の内蔵デバイスからの割込要求に対応した割込処理を実行することができ、また、ＲＯＭ１０１における任意のアドレスに割込処理を設置することが可能になる。さらに、割込モード１とは異なり、割込発生要因ごとに異なる割込処理を容易に用意しておくことができる。
【００５７】
ステップＳ１０２に続いて、ＣＰＵ１０３は、スタックポインタにスタックポインタ指定アドレスを設定する（ステップＳ１０３）。そして、所定の無条件分岐命令（例えば、ＪＲ命令等）により、遊技制御メイン処理モジュールの後半部分１３１Ｂへ分岐する（ステップＳ１０４）。遊技制御メイン処理モジュールの後半部分１３１Ｂは、図５に示すように、例えばＲＯＭ１０１における００７８Ｈ番地〜００ＥＢＨ番地の領域に記憶されている。この領域は、ＲＳＴ命令により指定される特定アドレスよりも後方の領域として設けられている。
【００５８】
遊技制御メイン処理モジュールの後半部分１３１Ｂへ分岐した後、ＣＰＵ１０３は、主基板１１の内蔵デバイスである定期リセット回路１１２に設けられたＣＴＣやＰＩＯ（パラレル入出力ポート）のレジスタ設定を行う（ステップＳ１０５）。例えば、ＣＴＣに対して、割込ベクタを設定する。
【００５９】
続いて、ＣＰＵ１０３は、例えばＲＡＭ１０２に設けられたバックアップフラグ領域をチェックするなどして（ステップＳ１０６）、前回の電源断時にＲＡＭ１０２の全部又は一部について所定のデータ保護処理によるバックアップがなされたか否かを判別する（ステップＳ１０７）。パチンコ遊技機１では、不測の電源断が生じたときに、ＲＡＭ１０２に記憶されたデータの全部又は一部を保護するためのデータ保護処理が行われる。このようなデータ保護処理が行われていた場合には、バックアップありと判別される。
【００６０】
ステップＳ１０７にてバックアップありと判別したとき（ステップＳ１０７；Ｙｅｓ）、ＣＰＵ１０３は、バックアップデータのチェックとしてパリティチェックを行い、チェック結果が正常であるか否かを判別する（ステップＳ１０８）。チェック結果が正常であれば（ステップＳ１０８；Ｙｅｓ）、主基板１１の内部状態とサブ側の各制御基板（演出制御基板１２、音声制御基板１３、ランプ制御基板１４、及び払出制御基板１５）の制御状態を電源断時の状態に戻すための遊技状態復旧処理を実行する（ステップＳ１０９）。その後、ステップＳ１１１に進む。
【００６１】
ステップＳ１０７にてバックアップなしと判別したときや（ステップＳ１０７；Ｎｏ）、ステップＳ１０８にてチェック結果が正常ではなかったとき（ステップＳ１０８；Ｎｏ）、ＣＰＵ１０３は、ＲＡＭ１０２のクリアや、所定の作業領域に対する初期設定などを行う（ステップＳ１１０）。
【００６２】
続いて、ＣＰＵ１０３は、ステップＳ１１１において、タイマ割込のための設定を行う。具体的には、定期リセット回路１１２に設けられたＣＴＣに対して、ＣＴＣが備える複数のチャネルのうちの１つ（具体的には、第０チャネルから第３チャネルのうちの第３チャネル）に割込許可を与えてタイマモードで動作させるとともに、当該チャネルのカウント初期値を指定する。これにより、以後、所定時間（例えば２ミリ秒）ごとに定期リセット回路１１２から割込要求信号がＣＰＵ１０３へ送出され、ＣＰＵ１０３は定期的にタイマ割込処理を実行することができる。
【００６３】
この後、ＣＰＵ１０３は、定期リセット回路１１２からの割込要求信号によるタイマ割込が発生したか否かを監視するためのループ処理に移行する。このループ処理では、割込禁止に設定した後（ステップＳ１１２）、表示用乱数更新処理モジュール１３６による表示用乱数更新処理（ステップＳ１１３）や判定用乱数更新処理モジュール１３５による判定用乱数更新処理（ステップＳ１１４）が実行され、判定用乱数処理が完了すると、割込許可に設定する（ステップＳ１１５）。
【００６４】
図８は、遊技制御メイン処理モジュールの後半部分１３１ＢにおいてＲＡＭ１０２のクリアや初期設定を行うプログラム部分を示す説明図である。図８に示すプログラム部分は、上述したステップＳ１１０にてＣＰＵ１０３により実行される。図８において、Ｌ＿ＩＮＩＴ＿ＲＡＭは、プログラムの先頭アドレスに対応したラベルである。
【００６５】
図８に示すプログラムでは、始めに、ＲＡＭ１０２における作業領域の先頭から、ブロック転送により作業領域全体にわたりクリアデータがセットされる。Ｌ＿ＩＮＩＴ＿ＲＡＭにおける“ＬＤ”は、第１の引数として指定されるレジスタに、第２の引数として設定されるデータをセットする命令である。従って、Ｌ＿ＩＮＩＴ＿ＲＡＭでは、まず、“ＬＤ  ＨＬ，７Ｆ００Ｈ”という命令により、ＣＰＵ１０３にてポインタとして機能するＨＬレジスタに、ＲＡＭ１０２における作業領域の先頭アドレス７Ｆ００Ｈ番地がセットされる。続いて、“ＬＤ  ＤＥ，７Ｆ０１Ｈ”という命令により、ＣＰＵ１０３における１６ビットレジスタであるＤＥレジスタに７Ｆ０１Ｈがセットされ、“ＬＤ  ＢＣ，００ＦＦＨ”という命令により、同じくＣＰＵ１０３における１６ビットレジスタであるＢＣレジスタに００ＦＦＨがセットされる。
【００６６】
図８に示すプログラムにおける“ＸＯＲ”は、引数として指定されるレジスタの値とＣＰＵ１０３における８ビットレジスタであるＡレジスタの値との排他的論理和を演算する命令である。ここで、同一の値の排他的論理和は０となる。従って、Ｌ＿ＩＮＩＴ＿ＲＡＭでは、“ＸＯＲ  Ａ”という命令により、ＣＰＵ１０３におけるＡレジスタにクリアデータがセットされることとなる。続いて、“ＬＤ  （ＨＬ），Ａ”という命令により、ＨＬレジスタにより指定されるアドレスにＡレジスタの値がロードされる。
【００６７】
図８に示すプログラムにおける“ＬＤＩＲ”は、ブロック転送命令であり、ＨＬレジスタを転送元アドレス、ＤＥレジスタを転送先アドレス、ＢＣレジスタを転送バイト数として、上位アドレス方向のメモリブロックを転送する。こうして、ＲＡＭ１０２における作業領域にクリアデータがセットされ、作業領域の初期化が完了する。
【００６８】
続いて、“ＬＤ  ＨＬ，１０１ＥＨ”という命令によりＨＬレジスタに初期化時設定テーブルのアドレス１０１ＥＨ番地が設定された後、１バイトのＲＳＴ命令によりデータセット処理モジュール１５７を呼び出す。データセット処理モジュール１５７は、図５に示すように、特定アドレスの１つである００３８Ｈ番地以降に記憶され、ＲＳＴ命令による呼び出しが可能に設定されている。
【００６９】
図９は、データセット処理モジュール１５７のプログラムを示す説明図である。図９に示すように、このデータセット処理モジュール１５７では、設定用テーブルにて指定された設定先アドレスに設定値データをストアする動作が、そのテーブルで指定された処理数だけ繰り返し実行される。そして、ＲＥＴ命令によりスタックポインタに格納されているアドレスをプログラムカウンタにセットすることで、呼出元のプログラムアドレスに復帰する。
【００７０】
データセット処理モジュール１５７は、例えばステップＳ１０９の遊技状態復旧処理など、ＣＰＵ１０３が実行するメインモジュールとしての主制御プログラム１２１の随所で呼び出される。アドレスが２バイト構成で表現される場合には、ＣＡＬＬ命令などでは少なくとも３バイト必要である。しかし、ＲＳＴ命令は一般に１バイトである。よって、共通サブルーチンプログラム１２２を呼び出す命令としてＲＳＴ命令を用いれば、ＲＯＭ１０１の容量が節減される。
【００７１】
図７に示す遊技制御メイン処理を実行したＣＰＵ１０３は、定期リセット回路１１２からの割込要求信号を受信して割込要求を受け付けると、図１０に示すタイマ割込処理の実行を開始する。
【００７２】
タイマ割込処理を開始すると、ＣＰＵ１０３は、電源断処理モジュール１４４を呼び出して所定の電源断処理を実行することにより、電源基板１０から供給される電源電圧が低下したときなどに所定のデータ保護処理等を実行可能とする（ステップＳ１２１）。続いて、スイッチ処理モジュール１３４を呼び出して所定のスイッチ処理を実行することにより、各入賞口スイッチ７０から入力される検出信号の状態を判定する（ステップＳ１２２）。
【００７３】
次に、ＣＰＵ１０３は、判定用乱数更新処理モジュール１３５による判定用乱数更新処理（ステップＳ１２３）と、表示用乱数更新処理モジュール１３６による表示用乱数更新処理（ステップＳ１２４）とを、順次実行する。そして、特別図柄プロセス処理モジュール１３７を呼び出して、特別図柄プロセス処理を実行する（ステップＳ１２５）。特別図柄プロセス処理では、遊技状態に応じてパチンコ遊技機１を所定の順序で制御するための特別図柄プロセスフラグに従って該当する処理が選択されて実行される。特別図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。
【００７４】
また、ＣＰＵ１０３は、普通図柄プロセス処理モジュール１３８のプログラムに従って、普通図柄プロセス処理を実行する（ステップＳ１２６）。普通図柄プロセス処理では、普通図柄表示器５を所定の順序で制御するための普通図柄プロセスフラグに従って該当する処理が選択されて実行される。普通図柄プロセスフラグの値は、遊技状態に応じて各処理中に更新される。さらに、特別図柄コマンド制御処理モジュール１３９による特別図柄コマンド制御処理（ステップＳ１２７）と、普通図柄コマンド制御処理モジュール１４０による普通図柄コマンド制御処理（ステップＳ１２８）とを、順次実行する。これにより、ＣＰＵ１０３は、主基板１１から演出制御基板１２に対して表示制御コマンドを送ることにより、可変表示装置４の表示制御や普通図柄表示器５の点灯制御を指示する。
【００７５】
続いて、ＣＰＵ１０３は、情報出力処理モジュール１４１のプログラムに従って所定の情報出力処理を実行することにより、各種出力データをＩ／Ｏポート１０４に含まれる各出力ポートに出力する（ステップＳ１２９）。この情報出力処理では、主基板１１から情報端子基板１６に、大当り情報、始動情報、確率変動情報などをホール管理用コンピュータに対して出力する指令の送出も行われる。
【００７６】
また、ＣＰＵ１０３は、賞球処理モジュール１４２のプログラムに従って所定の賞球処理を実行することにより、各入賞口スイッチ７０から入力された検出信号に基づく賞球数の設定などを行い、払出制御基板１５に対して制御コマンドを出力可能とする（ステップＳ１３０）。さらに、ソレノイド出力処理モジュール１４３を呼び出して所定のソレノイド出力処理を実行することにより、所定の条件が成立したときに普通可変入賞球装置６における可動翼片や特別可変入賞球装置７における開閉板の開閉駆動を行う（ステップＳ１３１）。
【００７７】
こうした複数種類のメインモジュールから構成される主制御プログラム１２１の実行中には、上述したデータセット処理モジュール１５７のほかにも、共通サブルーチンプログラム１２２に含まれる共通サブモジュールが随所で呼び出されて実行される。この共通サブモジュールの呼び出しは、１バイトのＲＳＴ命令により行うことができるので、主制御プログラム１２１において各共通サブモジュールを呼び出す箇所が多くなればなるほど、ＲＯＭ１０１におけるデータ容量節減の効果が大きくなり、全体としてプログラム容量をむやみに増加させることがない。
【００７８】
なお、共通サブルーチンプログラム１２２に含まれる共通サブモジュールのうちで、２つの特定アドレス間の領域に記憶される共通サブモジュール（ポインタ設定処理モジュール１５１、ゼロ判定処理モジュール１５２、２バイト・１バイト加算処理モジュール１５３、２バイトロード処理モジュール１５４、２バイトストア処理モジュール１５５、及び状態チェック処理モジュール１５６）は、いずれもプログラムサイズが８バイト以下となっているものとした。これに対して、共通サブモジュールのプログラムサイズが８バイトよりも大きいときには、その共通サブモジュールを前段サブモジュールと後段サブモジュールとに分割し、前段サブモジュールのプログラムサイズが８バイト以下となるように設定すればよい。そして、ＲＯＭ１０１において、前段サブモジュールの先頭アドレスが複数の特定アドレスのうちのいずれかとなるように記憶し、後段サブモジュールを特定アドレスよりも後方の領域に記憶する。また、前段モジュール内には後段サブモジュールへ分岐するための命令を設定しておくことで、ＣＰＵ１０３は、前段サブモジュールに続いて後段サブモジュールの命令を実行することができる。
【００７９】
図１１は、共通サブルーチンプログラム１２２に含まれる共通サブモジュールＳＵＢ＿１のプログラムサイズが８バイトよりも大きいときのＲＯＭ１０１における記憶内容の例を示す図である。図１１に示す例では、共通サブモジュールＳＵＢ＿１を、前段サブモジュールＳＵＢ＿１＿ＦＨＡＬＦと、後段サブモジュールＳＵＢ＿１＿ＳＨＡＬＦとに分割し、前段サブモジュールＳＵＢ＿１＿ＦＨＡＬＦの先頭アドレスが特定アドレスの１つである０００８Ｈ番地となるように記憶されている。他方、後段サブモジュールＳＵＢ＿１＿ＳＨＡＬＦは、特定アドレスよりも後方の領域にて、例えば００５０Ｈ番地が先頭アドレスとなるように記憶されている。そして、前段サブモジュールＳＵＢ＿１＿ＦＨＡＬＦには、相対ジャンプ命令であるＪＲ命令が設定されている。これにより、前段サブモジュールＳＵＢ＿１＿ＦＨＡＬＦを実行したＣＰＵ１０３は、後段サブモジュールＳＵＢ＿１＿ＳＨＡＬＦへ無条件に分岐し、前段サブモジュールＳＵＢ＿１＿ＦＨＡＬＦに続いて後段サブモジュールＳＵＢ＿１＿ＳＨＡＬＦの命令を実行することができる。
【００８０】
以上説明したように、この発明によれば、主制御プログラム１２１に含まれるメインモジュールから共通サブルーチンプログラム１２２に含まれる共通サブモジュールを呼び出して実行するときに、１バイトのＲＳＴ命令が用いられる。このＲＳＴ命令では、ＲＯＭ１０１におけるプログラムアドレスよりもデータサイズが小さいパラメータにて特定アドレスが指定される。このような１バイトのＲＳＴ命令を用いることで、共通サブルーチンプログラム１２２に含まれる共通サブモジュールを呼び出して実行する際に必要となるデータ容量を節減することができ、全体としてプログラム容量をむやみに増加させることがない。
【００８１】
また、ＲＯＭ１０１において特定アドレスとして設定可能なアドレスは、ＲＯＭ１０１の先頭アドレス００００Ｈから所定アドレス、具体的には、０００８Ｈ番地ごとに定められている。そして、２つの特定アドレス間の領域に記憶される共通サブモジュール（ポインタ設定処理モジュール１５１、ゼロ判定処理モジュール１５２、２バイト・１バイト加算処理モジュール１５３、２バイトロード処理モジュール１５４、２バイトストア処理モジュール１５５、及び状態チェック処理モジュール１５６）は、いずれもプログラムサイズが所定容量以下、具体的には、８バイト以下となっている。これにより、特定アドレスの設定に制約があるときでも、データ容量が節減されたＲＳＴ命令を用いて可能な限り数多くの共通サブモジュールを呼び出すことができ、遊技制御プログラム１２０全体におけるプログラム容量がむやみに増大することを防止できる。また、例えば主制御プログラム１２１に含まれる各メインモジュールといった、機種ごとに大きく変更される部分がＲＯＭ１０１における特定アドレスよりも後方の領域に記憶されることとなり、機種ごとのプログラムの改変が容易になる。
【００８２】
他方、共通サブルーチンプログラム１２２に含まれる共通サブモジュールのプログラムサイズが所定容量、具体的には８バイト、よりも大きいときには、図１１に例示するように、その共通サブモジュールを前段サブモジュールと後段サブモジュールとに分割し、前段サブモジュールのプログラムサイズを所定容量以下とする。そして、前段サブモジュールの先頭アドレスが複数の特定アドレスのうちのいずれかとなるようＲＯＭ１０１に記憶し、前段モジュール内に後段サブモジュールへ分岐するための命令を設定しておく。これにより、ＣＰＵ１０３は、前段サブモジュールに続いて後段サブモジュールの命令を実行することができ、特定アドレスの設定における制約にかかわらず、データ容量が節減されたＲＳＴ命令を用いてプログラムサイズが比較的大きな共通サブモジュールを呼び出すことができるとともに、ＲＳＴ命令を用いて呼び出すことができるモジュールの数が減ってしまうことを防止できる。
【００８３】
さらに、遊技制御メイン処理モジュール１３１については、前半部分１３１Ａと後半部分１３１Ｂとに分割し、前半部分１３１ＡをＲＯＭ１０１の先頭アドレス００００Ｈ番地から次の特定アドレス０００８Ｈ番地までの領域に記憶する。そして、遊技制御メイン処理モジュールの後半部分については、複数の特定アドレスが定められた領域よりも後方の領域に記憶する。これにより、ＲＳＴ命令を用いて呼び出すことができるモジュールの数を減らすことなく、プログラム容量が比較的大きなメインモジュールを記憶することができ、ＲＯＭ１０１を効率よく利用して、遊技制御プログラム１２０全体におけるプログラム容量がむやみに増大することを防止できる。
【００８４】
図１及び図２に示した装置構成、図３及び図４に示すブロック構成や、図７及び図１０に示すフローチャートの構成は、発明の趣旨を逸脱しない範囲で任意に変更及び修正が可能である。また、遊技制御メイン処理モジュールやデータセット処理モジュールなどのプログラムも、図８及び図９に示すものに限定されず、プログラムアドレスよりもデータサイズが小さいパラメータにて特定アドレスを指定する命令を用いてサブモジュールを呼び出す任意のプログラムに変更可能である。
【００８５】
また、上記実施の形態では、主基板１１にて、ＣＰＵ１０３が遊技の進行を制御するために実行する遊技制御プログラム１２０について説明したが、本発明はこれに限定されるものではなく、演出制御基板１２に搭載されたＣＰＵ等が可変表示装置４などを用いて遊技における演出を制御するために実行するプログラムや、払出制御基板１５に搭載されたＣＰＵ１１１等が払出装置２１を用いた遊技球の払い出しを制御するために実行するプログラムなどにも適用することができる。演出制御基板１２に搭載されたＣＰＵ等が実行するプログラムは、同じく演出制御基板１２に搭載されたＲＯＭ等に記憶されればよい。
【００８６】
さらに、パチンコ遊技機１の動作をシミュレーションするゲーム機などにも本発明を適用することができる。本発明を実現するためのプログラム及びデータは、コンピュータ装置等に対して、着脱自在の記録媒体により配布・提供される形態に限定されるものではなく、予めコンピュータ装置等の有する記憶装置にプリインストールしておくことで配布される形態を採っても構わない。さらに、本発明を実現するためのプログラム及びデータは、通信処理部を設けておくことにより、通信回線等を介して接続されたネットワーク上の、他の機器からダウンロードすることによって配布する形態を採っても構わない。
【００８７】
そして、ゲームの実行形態も、着脱自在の記録媒体を装着することにより実行するものだけではなく、通信回線等を介してダウンロードしたプログラム及びデータを、内部メモリ等にいったん格納することにより実行可能とする形態、通信回線等を介して接続されたネットワーク上における、他の機器側のハードウェア資源を用いて直接実行する形態としてもよい。さらには、他のコンピュータ装置等とネットワークを介してデータの交換を行うことによりゲームを実行するような形態とすることもできる。
【００８８】
【発明の効果】
以上説明したように本発明は、以下に示す効果を有する。
【００８９】
請求項１に記載の遊技機によれば、遊技制御プログラムに含まれるメインモジュールは、複数の特定アドレスのいずれかに記憶された共通サブモジュールを制御手段が呼び出して実行するときに、プログラムアドレスよりもデータサイズが小さいパラメータにて特定アドレスを指定して呼び出しを指示する命令を用いる。これにより、サブモジュールの呼び出しに使用するデータ容量を節減することができ、全体としてプログラム容量がむやみに増加することを防止できる。
【００９０】
請求項２に記載の遊技機においては、複数の特定アドレスとして設定可能なアドレスが所定の記憶容量分隔てたアドレスごとに定められ、共通サブモジュールは、プログラム容量が所定の記憶容量以下であるので、特定アドレスの設定に制約があるときでも、データ容量が節減された命令を用いて可能な限り数多くのサブモジュールを呼び出すことができ、遊技制御プログラム全体におけるプログラム容量がむやみに増大することを防止できる。
【００９１】
請求項３に記載の遊技機においては、共通サブモジュールのプログラム容量が所定の記憶容量を越えるときには、共通サブモジュールを、特定アドレスに記憶されてプログラム容量が所定の記憶容量以下である前段サブモジュールと、特定アドレス以外のモジュール設定アドレスへ記憶された後段サブモジュールとに分割した。そして、前段サブモジュールにおけるモジュール設定アドレスへの分岐命令により、前段サブモジュールに続いて後段サブモジュールが実行されるようにした。従って、特定アドレスの設定における制約にかかわらず、データ容量が節減された命令を用いてプログラム容量が比較的大きなサブモジュールを呼び出すことができるとともに、データ容量を節減した命令を用いて呼び出すことができるモジュールの数が減ってしまうことを防止できる。
【００９２】
請求項４に記載の遊技機においては、複数の特定アドレスとして設定可能なアドレスがプログラム記憶手段の先頭アドレスから所定の記憶容量分隔てたアドレスごとに設けられているので、機種ごとに大きく変更される部分がプログラム記憶手段の後方に配置されることとなり、機種ごとのプログラムの改変が容易になる。
【００９３】
請求項５に記載の遊技機においては、メインモジュールに含まれる所定のプログラムモジュールにおける前段メインモジュールを、プログラム記憶手段の先頭アドレスから特定アドレスよりも前方の領域に記憶し、後段メインモジュールを特定アドレスよりも後方の領域に記憶する。これにより、データ容量が節減された命令を用いて呼び出すことができるモジュールの数を減らすことなく、プログラム容量が比較的大きなメインモジュールを記憶することができ、プログラムを記憶する領域を有効に利用することができる。
【図面の簡単な説明】
【図１】本発明の実施形態におけるパチンコ遊技機の正面図である。
【図２】本発明の実施形態におけるパチンコ遊技機の背面図である。
【図３】主基板を中心としたシステム構成例を示すブロック図である。
【図４】遊技制御プログラムの一構成例を示すブロック図である。
【図５】ＲＯＭにおけるアドレスマップの一例を示す図である。
【図６】ＣＰＵに用意されたＲＳＴ命令の演算コードを示す図である。
【図７】遊技制御メイン処理を示すフローチャートである。
【図８】遊技制御メイン処理モジュールにおける所定のプログラム部分を示す説明図である。
【図９】データセット処理モジュールのプログラムを示す説明図である。
【図１０】タイマ割込処理を示すフローチャートである。
【図１１】共通サブモジュールのプログラムサイズが所定容量よりも大きいときのＲＯＭにおける記憶内容の例を示す図である。
【符号の説明】
１  …  パチンコ遊技機（遊技機）
２  …  遊技盤（ゲージ盤）
３  …  遊技機用枠（台枠）
４  …  可変表示装置
５  …  普通図柄表示器
６  …  普通可変入賞球装置（始動入賞口）
７  …  特別可変入賞球装置（大入賞口）
８Ｌ、８Ｒ  …  スピーカ
９  …  ランプ
１０  …  電源基板
１１  …  主基板
１２  …  演出制御基板
１３  …  音声制御基板
１４  …  ランプ制御基板
１５  …  払出制御基板
１６  …  情報端子基板
２０  …  操作ノブ
２１  …  払出装置
５０  …  カードユニット
７０  …  各入賞口スイッチ
７１  …  ランプ・ＬＥＤ
７２  …  演出用ソレノイド・モータ
１００  …  遊技制御用マイクロコンピュータ
１０１  …  ＲＯＭ
１０２  …  ＲＡＭ
１０３  …  ＣＰＵ
１０４  …  Ｉ／Ｏ
１１０  …  スイッチ回路
１１１  …  ソレノイド回路
１１２  …  定期リセット回路
１２０  …  遊技制御プログラム
１２１  …  主制御プログラム
１２２  …  共通サブルーチンプログラム
１３１  …  遊技制御メイン処理モジュール
１３１Ａ  …  遊技制御メイン処理（前半部分）
１３１Ｂ  …  遊技制御メイン処理（後半部分）
１３２  …  タイマ割込処理モジュール
１３３  …  初期化コマンド処理モジュール
１３４  …  スイッチ処理モジュール
１３５  …  判定用乱数更新処理モジュール
１３６  …  表示用乱数更新処理モジュール
１３７  …  特別図柄プロセス処理モジュール
１３８  …  普通図柄プロセス処理モジュール
１３９  …  特別図柄コマンド制御処理モジュール
１４０  …  普通図柄コマンド制御処理モジュール
１４１  …  情報出力処理モジュール
１４２  …  賞球処理モジュール
１４３  …  ソレノイド出力処理モジュール
１４４  …  電源断処理モジュール
１５１  …  ポインタ設定処理モジュール
１５２  …  ゼロ判定処理モジュール
１５３  …  ２バイト・１バイト加算処理モジュール
１５４  …  ２バイトロード処理モジュール
１５５  …  ２バイトストア処理モジュール
１５６  …  状態チェック処理モジュール
１５７  …  データセット処理モジュール
【図１】
2004229938.tif 000003
【図２】
2004229938.tif 000004
【図３】
2004229938.tif 000005
【図４】
2004229938.tif 000006
【図５】
2004229938.tif 000007
【図６】
2004229938.tif 000008
【図７】
2004229938.tif 000009
【図８】
2004229938.tif 000010
【図９】
2004229938.tif 000011
【図１０】
2004229938.tif 000012
【図１１】
2004229938.tif 000013