JP2008080005A - Game machine - Google Patents
Game machine Download PDFInfo
- Publication number
- JP2008080005A JP2008080005A JP2006265858A JP2006265858A JP2008080005A JP 2008080005 A JP2008080005 A JP 2008080005A JP 2006265858 A JP2006265858 A JP 2006265858A JP 2006265858 A JP2006265858 A JP 2006265858A JP 2008080005 A JP2008080005 A JP 2008080005A
- Authority
- JP
- Japan
- Prior art keywords
- counter
- value
- main board
- address
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Pinball Game Machines (AREA)
Abstract
Description
本発明は、遊技機に関し、特に、命令を高速に実行する遊技機に関する。 The present invention relates to a gaming machine, and more particularly to a gaming machine that executes instructions at high speed.
パチンコ機に代表される遊技機に対しては、各種不正改造を防止するための対策が講じられている(例えば、特許文献1参照。)。一般に、パチンコ機における大当りは、遊技球たるパチンコ球がその始動口に入ると、即ち入賞すると、そのときにおける大当りカウンタの値に基づいて判定される。この大当りカウンタの値を外部より観測されにくくすることにより、大当りの狙い撃ち等の防止が可能である。
しかしながら、大当りカウンタは、一般に2ms〜4msの割り込みにつき1ずつカウントアップしていき、最大値に達すると0にリセットされる。このため、このような大当りカウンタの挙動を捕捉することにより、大当り時にパチンコ球が始動口に入賞するような狙い撃ちや、不正改造を防止する必要がある。 However, the jackpot counter is generally incremented by 1 for every 2 ms to 4 ms interrupt, and is reset to 0 when the maximum value is reached. For this reason, by capturing the behavior of such a big hit counter, it is necessary to prevent aiming or illegal modification such that the pachinko ball wins the start opening at the time of the big hit.
本発明は、このような状況に鑑みてなされたものであり、不正遊技や、主基盤に対する不正改造を防止することができる遊技機を提供することを目的とする。 The present invention has been made in view of such a situation, and an object of the present invention is to provide a gaming machine that can prevent unauthorized gaming and unauthorized modification to the main base.
上記目的を達成するために、本発明に係る遊技機は、Z80用の命令セットを用いて作成されたプログラムにより遊技機の遊技機能を司る主制御基盤を備える遊技機であって、前記主制御基盤は、前記プログラムを記憶するメモリと、前記プログラムを実行するCPUとを備え、前記プログラムは、前記メモリの0000H番地に格納され、前記遊技機に対する電源投入時に作動を開始し、前記遊技機に対する初期化処理を実行するとともに、割り込みが発生した際の割り込み先アドレスに関するアドレスを割り込みレジスタに設定する電源投入時初期化モジュールと、一定時間間隔ごとに発生する割り込み時に作動し、前記電源投入時初期化モジュール実行時に前記割り込みレジスタに設定された前記アドレスにより定められる前記割り込み先アドレスをプログラム開始アドレスとし、少なくとも、大当り遊技を実行するか否かを決定するための大当りカウンタの値を更新する大当りカウンタ値更新サブモジュールと、始動口への遊技球の入賞検知結果に基づいて前記大当りカウンタの値を取得する大当りカウンタ値取得サブモジュールと、取得された前記大当りカウンタの値に基づいて、大入賞口が開制御される大当り遊技を実行するか否かを判定する大当り遊技判定サブモジュールと、前記大当り遊技判定サブモジュールで大当り遊技を実行すると判定された場合に大当り遊技を実行する大当り遊技実行サブモジュールとを含むタイマ割り込み時モジュールと、先の割り込みにより作動した前記タイマ割り込み時モジュールの動作終了から、次の割り込みにより作動する前記タイマ割り込み時モジュールの動作開始までの間に繰返し作動する残余時間作動モジュールとを含み、前記残余時間作動モジュールは、予め定められたカウンタの値を更新するカウンタ値更新サブモジュールを含み、前記カウンタ値更新サブモジュールは、RST命令の呼び先である前記メモリの2進数表現をした場合に1を含む番地に格納され、前記予め定められたカウンタの値を更新するサブルーチンと、前記サブルーチンを呼び出すRST命令とを含む。
In order to achieve the above object, a gaming machine according to the present invention is a gaming machine comprising a main control base that controls a gaming function of a gaming machine by a program created using an instruction set for Z80, wherein the main control The base includes a memory for storing the program and a CPU for executing the program. The program is stored at
これによって、先の割り込みにより作動した前記タイマ割り込み時モジュールの動作終了から次の割り込みにより作動する前記タイマ割り込み時モジュールの動作開始までの間に、予め定められたカウンタの値を更新するサブルーチンを、RST命令を用いて繰返し呼び出すことができる。RST命令は、CALL命令に比べて、プログラムを高速に呼び出すことが可能である。このため、CALL命令を用いた場合に比べて、カウンタの値を高速かつ多くの回数更新することができる。よって、不正者は、外部からカウンタの値の推測を行うことが困難となり、不正者による不正改造を防止することができる。なお、RST命令については、本発明に係る実施の形態において詳細に説明する。 Thus, a subroutine for updating a predetermined counter value from the end of the operation of the timer interrupt module operated by the previous interrupt to the start of the operation of the timer interrupt module operated by the next interrupt, It can be called repeatedly using the RST instruction. The RST instruction can call a program at a higher speed than the CALL instruction. Therefore, the counter value can be updated many times at a higher speed than when the CALL instruction is used. Therefore, it is difficult for an unauthorized person to estimate the counter value from the outside, and unauthorized modification by the unauthorized person can be prevented. The RST instruction will be described in detail in the embodiment according to the present invention.
また、サブルーチンは、メモリの2進数表現をした場合に1を含む番地、すなわち0000H番地以外の番地に格納されている。Z80では、電源投入時に実行される電源投入時初期化モジュールは、0000H番地に格納される。また、0000H番地以外のRST命令の呼び先の番地は、0000H番地から8番地おきに連続する0008H番地、0010H番地、0018H番地、0020H番地、0028H番地、0030H番地、0038H番地に限定される。通常は、電源投入時初期化モジュールは、数十バイト以上あるモジュールである。このため、RST命令の呼び先である各番地には、電源投入時初期化モジュールが配置されるのが一般的である。
Further, the subroutine is stored in an address including 1 when expressed in a binary number in the memory, that is, an address other than 0000H. In Z80, the power-on initialization module executed at power-on is stored at
しかし、本願発明では、上述した0000H番地以外のRST命令の呼び先の番地に、電源投入時初期化モジュールではなく、残余時間作動モジュールの一部であるカウンタ値更新のためのサブルーチンを配置している。このように、不正者が電源初期化モジュールが配置されていると考えるであろうメモリ領域にカウンタ値更新のためのサブルーチンを配置している。よって、不正者によるカウンタ更新のためのサブルーチンの発見を困難にし、不正改造自体をあきらめさせることが可能となる。
However, in the present invention, a subroutine for updating the counter value, which is a part of the remaining time operation module, is arranged at the address of the call destination of the RST instruction other than the
また、一般的なプログラム構成では、サブルーチンの呼び出しは、CALL命令を使用して行なわれる。なぜならば、CALL命令を使用することにより、プログラマは、プログラムの作成や変更を容易に行なえるという利点があるからである。ところが、サブルーチンの呼び出しにCALL命令が一般的に利用されるということは、言い換えれば、不正者は、CALL命令を中心にプログラムを解析するということである。また、CALL命令では、サブルーチンの呼び先が即値アドレスで記述されている。このため、CALL命令でサブルーチンの呼び出しを記述したプログラムは、不正者によるカウンタ値更新のためのサブルーチンの格納番地の発見を容易にし、プログラムの改竄や、再構築がされやすいという問題を含んでいる。 In a general program structure, a subroutine is called using a CALL instruction. This is because the use of the CALL instruction has an advantage that the programmer can easily create or change a program. However, the fact that the CALL instruction is generally used for calling a subroutine means that an unauthorized person analyzes a program centering on the CALL instruction. In the CALL instruction, the callee of the subroutine is described by an immediate address. For this reason, a program in which a subroutine call is described by a CALL instruction makes it easy for an unauthorized person to find a storage address of a subroutine for updating a counter value, and includes a problem that the program is easily altered or reconstructed. .
この問題に対して、本願発明では、CALL命令ではなく、RST命令を用いてサブルーチンの呼び出しを行なっている。RST命令は、CALL命令とは異なり、サブルーチンが格納されている番地を即値アドレスで指定するものではない。このため、サブルーチンを即値アドレスを用いたCALL命令で呼び出す場合と比較し、不正者は、容易にサブルーチンが格納されている番地を知ることができない。よって、不正者は、遊技機に対する不正改造をあきらめざるを得なくなる。 For this problem, in the present invention, a subroutine is called using an RST instruction instead of a CALL instruction. Unlike the CALL instruction, the RST instruction does not specify an address where a subroutine is stored by an immediate address. For this reason, compared with the case where a subroutine is called with a CALL instruction using an immediate address, an unauthorized person cannot easily know the address where the subroutine is stored. Therefore, the unauthorized person is forced to give up unauthorized modification of the gaming machine.
以上の次第であり、上述の遊技機では、不正遊技や、主基盤に対する不正改造を防止することができる。 Depending on the above, in the above-described gaming machine, it is possible to prevent unauthorized gaming and unauthorized modification to the main base.
なお、RST命令は1バイトで済むので、仮に不正改造が行われたとしても、プログラマは、カウンタ更新制御の不正改造の発見を容易に行うことが可能である。 Since the RST instruction only needs 1 byte, the programmer can easily find the unauthorized modification of the counter update control even if the unauthorized modification is performed.
また、RST命令は1バイトで済むので、CALL命令を用いた場合に比べて、プログラムのサイズが小さくなるという利点もある。 Further, since only one byte is required for the RST instruction, there is an advantage that the program size is reduced as compared with the case where the CALL instruction is used.
なお、本発明は、このような遊技機として実現することができるだけでなく、その制御方法やプログラム、そのプログラムを格納する記憶媒体としても実現することができる。 Note that the present invention can be realized not only as such a gaming machine but also as a control method, a program thereof, and a storage medium storing the program.
以下、本発明の実施の形態における遊技機について図面を参照しながら説明する。
図1は、本発明の実施の形態における遊技機の斜視図である。
Hereinafter, a gaming machine according to an embodiment of the present invention will be described with reference to the drawings.
FIG. 1 is a perspective view of a gaming machine according to an embodiment of the present invention.
本実施の形態における遊技機10は、図1(a)に示されるように、パチンコ機として構成されており、外枠11、前枠12、窓枠13、および窓枠13に覆われた遊技盤などを備えている。また、遊技機10の背面には、図1(b)に示されるように、液晶ディスプレイなどの表示制御を行なう表示サブ基盤21、各種遊技音の出力制御を行なう音サブ基盤22、入賞時における遊技機10の動作等を含む遊技機10の主要な動作を制御する主基盤(主制御装置)23、パチンコ球(遊技球)の払い出し動作を制御する払出基盤24、各基盤等に電源を供給する電源基盤25等の各種基盤が例えば透明ケースに収納された状態で取り付けられている。
As shown in FIG. 1A, the
具体的に、外枠11は、パチンコホールの台島に設置されており、図1に示すように、前後面が開口するように四角筒状に形成されている。前枠12は、外枠11の前端面に左側辺部の垂直な軸を中心に回動可能に装着されている。また、この前枠12の前面下部には、上面が開口する下皿14と、上面が開口する上皿15とが固定されている。
Specifically, the
下皿14の右端周辺にはハンドル台16が固定されており、ハンドル台16には発射ハンドル19が回動自在に装着されている。この発射ハンドル19の後方には発射モータが固定されており、発射モータの回転軸には打球槌が連結されている。この発射モータは打球槌の駆動源に相当するものであり、発射ハンドル19が回動操作されたときには発射モータに駆動電源が与えられ、打球槌が駆動することに基づいて上皿15内のパチンコ球を上皿15内から弾き出す。
A
窓枠13は前枠12の前面に装着されている。この窓枠13は円形孔状の窓部17を有し、窓部17の内周面には透明なガラス窓17aが固定されている。この窓枠13の左上隅部および右上隅部の裏面には、遊技音を出力するスピーカ18が固定されている。また、窓枠13には複数の装飾LEDが固定されている。
The
上述の遊技盤は、前枠12の後面に装着されている。以下、この遊技盤について図2を用いて説明する。
The above-mentioned game board is mounted on the rear surface of the
図2は、遊技盤の正面図である。
この遊技盤30は、上述のように前枠12の後面に装着されており、窓枠13のガラス窓17aに前方から覆われている。
FIG. 2 is a front view of the game board.
The
この遊技盤30は、遊技板31、レールセット32、始動口33、大入賞口34、扉34a、一般入賞口35、本物特図表示器(図柄表示装置)36、演出表示器(演出表示装置)37、および保留ランプ38を備えている。
The
遊技板31は、遊技盤30の有する各構成部材を固定するための板である。
レールセット32は、この遊技板31の前面に固定されて、この遊技板31上に、パチンコ球の発射通路31aと遊技領域31bとを形成する。遊技領域31bには複数の障害釘39が打ち込まれている。
The
The
上述の打球槌が弾いたパチンコ球は、発射通路31aを通して遊技領域31b内に放出される。そして、遊技領域20内に放出されたパチンコ球は障害釘39に当りながら遊技領域20内を落下する。
The pachinko ball played by the hitting ball basket is released into the
始動口33は、遊技領域31b内に固定され、上面が開口するポケット状に形成されている。また、この始動口33内には、センサである始動口スイッチが固定されており、始動口スイッチは、始動口33内にパチンコ球が入賞したことを検出する。さらに、この始動口33には、一対の片33aが回動自在に取り付けられている。この一対の片33aは、始動口ソレノイドのプランジャに機械的に連結されており、そのプランジャの動作に応じて、互いの先端側が離れたり近づいたりするように回動する。つまり、この一対の片33aは始動口33を開閉し、開いたときには、パチンコ球は始動口33に入賞し易くなり、閉じたときには、パチンコ球は始動口33に入賞し難くなる。
The
一般入賞口35は、始動口33と同様、上面が開口するポケット状に形成されている。そして、この一般入賞口35内には、センサである一般入賞口スイッチが固定されており、一般入賞口スイッチは、一般入賞口35内にパチンコ球が入賞したことを検知する。
The general winning
大入賞口34は、遊技領域31b内に前面が開口するように形成されている。そして、扉34aは、この大入賞口34を開閉するように装着されている。この扉34aは、大入賞口ソレノイドのプランジャに機械的に連結されており、そのプランジャの動作に応じて、大入賞口34を開閉する。また、この大入賞口34内には、センサである大入賞口スイッチが固定されており、大入賞口スイッチは、パチンコ球が大入賞口34内に入賞したことを検出する。
The
本物特図表示器36は、遊技領域31b内に固定され、7セグメント型のLEDとドット形のLEDとから構成されている。このような本物特図表示器36は、各セグメントやドットを発光させることにより、例えば、「0」〜「9」の数字などの図柄、および、ドットが付された数字などの図柄を表示する。以下、この本物特図表示器36により表示される図柄を本物特図(特別図柄)という。
The real
即ち、本物特図表示器36は、ハズレや、確率変動の伴わない大当り(通常当り)、確率変動を伴う大当り(確変当り)など遊技結果を本物特図により正確に表示する。
In other words, the real
保留ランプ38は、遊技領域31b内に4つ固定されている。これらの4つの保留ランプ38は、点灯個数に応じて、始動口33に入賞したパチンコ球の判定処理の待ち状況を通知する。
Four
演出表示器37は、本物特図表示器36に比べて大きな表示領域を有するカラーの液晶ディスプレイから構成されている。
The
このような演出表示器37は、3つの数字を変動させて表示することにより、遊技結果の表示の演出を行なうとともに、3つの数字を停止して表示することにより、遊技結果を演出として遊技者に報知する。なお、このような遊技結果の演出には、物語風のアニメーション画像などが使用される。また、演出表示器37に表示される3つの数字を、以下、装飾図柄という。
Such an
図3は、本実施の形態における遊技機10のブロック図である。
始動口スイッチ40は、上述のように、始動口33内にパチンコ球が入賞したことを検出し、その検出結果、つまり入賞したことを示す始動口入賞信号を主基盤23に出力する。
FIG. 3 is a block diagram of the
As described above, the
始動口ソレノイド43は、主基盤23からの制御に応じて、始動口33に取り付けられた一対の片33aを回動させる。
The
一般入賞口スイッチ49は、上述のように、一般入賞口35内にパチンコ球が入賞したことを検出し、その検出結果、つまり入賞したことを示す一般入賞口入賞信号を主基盤23に出力する。
As described above, the general winning
大入賞口スイッチ41は、上述のように、大入賞口34内にパチンコ球が入賞したことを検出し、その検出結果、つまり入賞したことを示す大入賞口入賞信号を主基盤23に出力する。
As described above, the big winning
大入賞口ソレノイド42は、主基盤23からの制御に応じて、扉34aを回動せる。
主基盤23は、始動口スイッチ40と一般入賞口スイッチ49と大入賞口スイッチ41との検出結果に基づいて、大入賞口ソレノイド42、始動口ソレノイド43、保留ランプ38、本物特図表示器36、払出基盤24、および統合サブ基盤44を制御する。
The special
Based on the detection results of the
このような主基盤23は、CPU(Central Processing Unit)23a、ROM(Read Only Memory)23b、RAM(Random Access Memory)23c、およびI/O部23dを備えている。
The
I/O部23dは、本物特図表示器36、始動口スイッチ40、一般入賞口スイッチ49、大入賞口スイッチ41、大入賞口ソレノイド42、始動口ソレノイド43、統合サブ基盤44、保留ランプ38、および払出基盤24と、CPU23aとの間の入出力処理を行なう。
The I /
ROM23bは、CPU23aの制御プログラムや本物特図に関する図柄データを格納し、RAM23cは、CPU23aのワークメモリとして機能する。このROM23bは、完全ハズレやリーチハズレなどの複数種のハズレに対応付けられた本物特図「1」と、確変当りに対応付けられた複数種の本物特図「2」、「3」、「4」、「5」と、通常当りに対応付けられた複数種の本物特図「6」、「7」、「8」、「9」とをそれぞれ記憶している。
The
CPU23aは、ROM23bから制御プログラムを読み出して、RAM23cを使用しながら、その制御プログラムに基づく動作を実行する。つまり、CPU23aは、I/O部23dを介して、始動口スイッチ40と一般入賞口スイッチ49と大入賞口スイッチ41との検出結果を取得し、その検出結果に基づいて、大入賞口ソレノイド42、始動口ソレノイド43、保留ランプ38、本物特図表示器36、払出基盤24、および統合サブ基盤44を制御する。なお、CPU23aには、メンテナンス性や内容確認の容易性等を考慮して、Zylog社のZ80が使用される。
The
払出モータ47は、例えばステッピングモータとして構成されており、払出基盤24からの指示に応じた個数のパチンコ球を賞球として上皿15に払い出す。
The
払出球確認センサ46は、上皿15に賞球として払い出されたパチンコ球を検出して、検出結果を払出基盤24に出力する。
The payout
払出基盤24は、主基盤23からの制御および払出球確認センサ46の検出結果に応じて、払出モータ47を駆動する。
The
払出基盤24は、CPU24a、ROM24b、RAM24c、およびI/O部24dを備えている。
The
I/O部24dは、主基盤23、払出球確認センサ46および払出モータ47と、CPU24aとの間の入出力処理を行なう。
The I /
ROM24bは、CPU24aの制御プログラムやデータを格納し、RAM24cは、CPU24aのワークメモリとして機能する。
The ROM 24b stores control programs and data for the
CPU24aは、ROM24bから制御プログラムを読み出して、RAM24cを使用しながら、その制御プログラムに基づく動作を実行する。つまり、CPU24aは、I/O部24dを介して、主基盤23からの制御信号と払出モータ47の検出結果とを取得し、その制御信号と検出結果とに基づいて、払出モータ47を制御する。
The
表示サブ基盤21は、統合サブ基盤44からの制御に応じて、演出表示器37に装飾図柄を表示させるものであって、CPU21a、ROM21b、RAM21c、およびI/O部21dを備えている。
The
I/O部21dは、統合サブ基盤44および演出表示器37と、CPU21aとの間の入出力処理を行なう。
The I /
ROM21bは、CPU21aの制御プログラムや装飾図柄に関する図柄データを格納し、RAM21cは、CPU21aのワークメモリとして機能する。
The
CPU21aは、ROM21bから制御プログラムを読み出して、RAM21cを使用しながら、その制御プログラムに基づく動作を実行する。つまり、CPU21aは、I/O部21dを介して、統合サブ基盤44からの制御信号を取得し、その制御信号に応じた図柄データをROM21bから読み出す。そして、CPU21aは、制御信号に応じた態様でその図柄データの示す装飾図柄を演出表示器37に表示させる。
The
音サブ基盤22は、統合サブ基盤44からの制御に応じて、スピーカ18に遊技音を出力させるものであって、CPU22a、ROM22b、RAM22c、およびI/O部22dを備えている。
The sound sub-board 22 is for causing the
I/O部22dは、統合サブ基盤44およびスピーカ18と、CPU22aとの間の入出力処理を行なう。
The I /
ROM22bは、CPU22aの制御プログラムや遊技音に関する音データを格納し、RAM22cは、CPU22aのワークメモリとして機能する。 The ROM 22b stores control data for the CPU 22a and sound data relating to game sounds, and the RAM 22c functions as a work memory for the CPU 22a.
CPU22aは、ROM22bから制御プログラムを読み出して、RAM22cを使用しながら、その制御プログラムに基づく動作を実行する。つまり、CPU22aは、I/O部22dを介して、統合サブ基盤44からの制御信号を取得し、その制御信号に応じた音データをROM22bから読み出す。そして、CPU22aは、その音データの示す遊技音をスピーカ18に出力させる。
The CPU 22a reads a control program from the ROM 22b, and executes an operation based on the control program while using the RAM 22c. That is, the CPU 22a acquires a control signal from the
LEDサブ基盤45は、統合サブ基盤44からの制御に応じて、装飾LED48を発光させるものであって、CPU45a、ROM45b、RAM45c、およびI/O部45dを備えている。ここで、装飾LED48は、遊技盤30周辺の窓枠13の内側に、装飾用として複数個配置されている。
The LED sub board 45 causes the
I/O部45dは、統合サブ基盤44および装飾LED48と、CPU45aとの間の入出力処理を行なう。
The I / O unit 45d performs input / output processing between the
ROM45bは、CPU45aの制御プログラムや、装飾LED48の発光態様に関する装飾データを格納し、RAM45cは、CPU45aのワークメモリとして機能する。
The ROM 45b stores a control program for the CPU 45a and decoration data related to the light emission mode of the
CPU45aは、ROM45bから制御プログラムを読み出して、RAM45cを使用しながら、その制御プログラムに基づく動作を実行する。つまり、CPU45aは、I/O部45dを介して、統合サブ基盤44からの制御信号を取得し、その制御信号に応じた装飾データをROM45bから読み出す。そして、CPU45aは、その装飾データの示す態様で装飾LED48を発光させる。
The CPU 45a reads a control program from the ROM 45b, and executes an operation based on the control program while using the RAM 45c. That is, the CPU 45a acquires a control signal from the
統合サブ基盤44は、主基盤23らの指示に応じて、表示サブ基盤21、音サブ基盤22およびLEDサブ基盤45を制御するものであって、CPU44a、ROM44b、RAM44c、およびI/O部44dを備えている。
The integrated sub-board 44 controls the
I/O部44dは、主基盤23、表示サブ基盤21、音サブ基盤22およびLEDサブ基盤45と、CPU44aとの間の入出力処理を行なう。
The I / O unit 44d performs input / output processing between the
ROM44bは、CPU44aの制御プログラムを格納し、RAM44cは、CPU44aのワークメモリとして機能する。
The
CPU44aは、ROM44bから制御プログラムを読み出して、RAM44cを使用しながら、その制御プログラムに基づく動作を実行する。つまり、CPU44aは、I/O部44dを介して、主基盤23からの制御信号を取得し、その制御信号に基づいて、さらに、表示サブ基盤21、音サブ基盤22およびLEDサブ基盤45を制御する。
The
図4は、主基盤23の動作を説明するための図である。
主基盤23は、0から199までの数値をカウントする大当りカウンタと、0から7までの数値をカウントする最終停止図柄カウンタと、0から99までの数値をカウントする変動パターンカウンタとを有する。また、主基盤23は、0から199までの数値をカウントする大当りカウンタ用初期値カウンタと、0から7までの数値をカウントする最終停止図柄カウンタ用初期値カウンタとを有する。
FIG. 4 is a diagram for explaining the operation of the
The
大当りカウンタおよび最終停止図柄カウンタはそれぞれ、例えば4msごとに1ずつ増加するようにカウントを行なって、そのカウントされた値が最大値に達するとその値を0にリセットする。また、変動パターンカウンタは、上記各カウンタとは独立に、1つずつ増加するようにカウントを行なって、そのカウントされた値が最大値に達するとその値を0にリセットする。 The big hit counter and the final stop symbol counter each count so as to increase by 1 every 4 ms, for example, and reset the value to 0 when the counted value reaches the maximum value. In addition, the variation pattern counter counts so as to increase by 1 independently of each counter, and resets the value to 0 when the counted value reaches the maximum value.
また、大当りカウンタ用初期値カウンタは、後述する処理により1ずつ増加するようにカウントを行って、そのカウントされた値が最大値に達するとその値を0にリセットする。さらに、変動パターンカウンタ用初期値カウンタは、後述する処理により1ずつ増加するようにカウントを行って、そのカウントされた値が最大値に達するとその値を0にリセットする。 The initial value counter for the big hit counter counts so as to increase by 1 by a process described later, and resets the value to 0 when the counted value reaches the maximum value. Further, the initial value counter for the variation pattern counter counts so as to increase by 1 by a process described later, and resets the value to 0 when the counted value reaches the maximum value.
なお、大当りカウンタの初期値は、大当りカウンタ用初期値カウンタの値により決定される。なお、大当りカウンタは円弧状のカウンタである。 The initial value of the big hit counter is determined by the value of the big value counter initial value counter. The big hit counter is an arc-shaped counter.
図5は、大当りカウンタの基本動作を示す図である。同図に示すように、大当りカウンタは、0から199までの数値をカウンタした後、再度0から199までの数値をカウントする。 FIG. 5 is a diagram showing the basic operation of the big hit counter. As shown in the figure, the big hit counter counts numerical values from 0 to 199 and then counts numerical values from 0 to 199 again.
ただし、大当りカウンタの初期値は、大当りカウンタ用初期値カウンタの値により決定される。このため、図6に示すように、例えば、初期値がx1と決定された場合には、大当りカウンタはx1から(x1−1)までをカウントする。すなわち、x1から199までカウントした後、カウントした値を0にリセットし、0から(x1−1)までカウントする。大当りカウンタは、(x1−1)までのカウントが終了した時点で初期値を大当りカウンタ用初期値カウンタの値に設定しなおす。例えば、大当りカウンタ用初期値カウンタの値がx2である場合には、大当りカウンタは、初期値をx2に設定する。大当りカウンタは、x2から199までカウントした後、カウントした値を0にリセットし、0から(x2−1)までカウントする。このように、大当りカウンタの初期値の更新は、大当りカウンタが一周分の値をカウントするたびに行われる。ここで、x1=0の場合には、(x1−1)=199とする。x2についても同様である。 However, the initial value of the big hit counter is determined by the value of the initial value counter for the big hit counter. Therefore, as shown in FIG. 6, for example, when the initial value is determined to be x1, the big hit counter counts from x1 to (x1-1). That is, after counting from x1 to 199, the counted value is reset to 0 and counted from 0 to (x1-1). The big hit counter resets the initial value to the value of the big hit counter initial value counter when the count up to (x1-1) is completed. For example, when the value of the initial value counter for the big hit counter is x2, the big hit counter sets the initial value to x2. The jackpot counter counts from x2 to 199, resets the counted value to 0, and counts from 0 to (x2-1). As described above, the initial value of the big hit counter is updated every time the big hit counter counts the value for one round. Here, when x1 = 0, (x1-1) = 199. The same applies to x2.
再度、図4を用いて、主基盤23の動作を説明する。主基盤23は、パチンコ球が始動口33に入賞したタイミング、すなわち始動口スイッチ40がパチンコ球を検出したタイミングにおける、上述の大当りカウンタ、最終停止図柄カウンタ、および変動パターンカウンタの値に基づいて、そのパチンコ球に対する大当り判定と、最終停止図柄、変動パターン、および演出時間の決定とを行なう。ここで、最終停止図柄とは、大当りやハズレなどの遊技結果を統合サブ基盤44に対して指示するための図柄であり、変動パターンとは、演出表示器37に表示される装飾図柄の変動開始から停止までの変動のパターンであり、演出時間とは、その変動が行われている時間である。つまり、変動パターンは演出時間を一意に示し、その変動パターンによって演出時間が特定される。
The operation of the
例えば、主基盤23は、通常時には、大当りカウンタの値が7以外であれば、遊技結果がハズレであると判定し、大当りカウンタの値が7であれば、遊技結果が大当りであると判定する。また、主基盤23は、確率変動時(確変時)には、大当りカウンタの値が7,17,27,37,47以外であれば、遊技結果がハズレであると判定し、大当りカウンタの値が7,17,27,37,47であれば、遊技結果が大当りであると判定する。つまり、大当りの確率は、通常時には、1/200であるところ、確率変動時には、1/40に上昇する。
For example, in the normal state, the
主基盤23は、ハズレと判定したときには、最終停止図柄カウンタの値にかかわらず、最終停止図柄を「123」に決定する。一方、大当りと判定したときには、主基盤23は、最終停止図柄カウンタの値が0または1であれば最終停止図柄を「111」と決定し、最終停止図柄カウンタの値が2または3であれば最終停止図柄を「222」と決定し、最終停止図柄カウンタの値が4または5であれば最終停止図柄を「333」と決定し、最終停止図柄カウンタの値が6または7であれば最終停止図柄を「444」と決定する。
When determining that the
ここで、主基盤23は、最終停止図柄が「111」または「333」である場合には、その大当りは確率変動を伴う当り(確変当り)として扱い、最終停止図柄が「222」または「444」である場合には、その大当りは確率変動を伴わない当り(通常当り)として扱う。
Here, when the final stop symbol is “111” or “333”, the
さらに、主基盤23は、例えば、最終停止図柄が「123」である場合に、変動パターンカウンタの値が0から32までの値であれば、変動パターンとして「P1」と、演出時間として「T1」とを決定し、変動パターンカウンタの値が33から65までの値であれば、変動パターンとして「P2A」と、演出時間として「T2」とを決定し、変動パターンカウンタの値が66から99までの値であれば、変動パターンとして「P2B」と、演出時間として「T3」とを決定する。ここで、例えば、演出時間「T1」は10秒であり、演出時間「T2」は40秒であり、演出時間「T3」は50秒である。また、主基盤23は、例えば、最終停止図柄が「111」である場合に、変動パターンカウンタの値が0から15までの値であれば、変動パターンとして「P3A」と、演出時間として「T4」とを決定し、変動パターンカウンタの値が16から31までの値であれば、変動パターンとして「P4A」と、演出時間として「T5」とを決定し、変動パターンカウンタの値が32から65までの値であれば、変動パターンとして「P3B」と、演出時間として「T6」とを決定し、変動パターンカウンタの値が66から99までの値であれば、変動パターンとして「P4B」と、演出時間として「T7」とを決定する。ここで、例えば、演出時間「T4」=演出時間「T2」+a、演出時間「T5」=演出時間「T2」+b、演出時間「T6」=演出時間「T3」+a、演出時間「T7」=演出時間「T3」+b、およびa<bの関係が成立する。
Further, for example, when the final stop symbol is “123” and the value of the variation pattern counter is a value from 0 to 32, the
主基盤23は、このように決定された最終停止図柄および変動パターンを、統合サブ基盤44に通知する。
The
なお、図4に示すような各カウンタに対応する情報は、主基盤23のROM23bに格納されており、主基盤23のCPU23aは、このような情報をROM23bから読み出すことにより上述のよう動作を実行する。
Note that information corresponding to each counter as shown in FIG. 4 is stored in the
ここで、本実施の形態における主基盤23の動作について図7から図16を用いて説明する。
Here, the operation of the
図7は、主基盤23の基本動作を示すフローチャートである。
主基盤23は、電源が投入されると、まず、各種の初期化処理を実行する(ステップS1)。その後、主基盤23は、バックアップ復帰が有るか否かを判別し(ステップS2)、有ると判別したときには(ステップS2のY)、バックアップ復帰処理を実行する(ステップS3)。
FIG. 7 is a flowchart showing the basic operation of the
When the power is turned on, the
次に、主基盤23は、割り込みを禁止にセットし(ステップS4)、大当りカウンタ用初期値カウンタ更新サブ処理を実行する。すなわち、主基盤23は、大当りカウンタ用初期値カウンタの値を更新する(ステップS5)。また、主基盤23は、最終停止図柄カウンタ用初期値カウンタ更新サブ処理を実行する。すなわち、主基盤23は、最終停止図柄カウンタ用初期値カウンタの値を更新する(ステップS6)。さらに、主基盤23は、変動パターンカウンタ更新サブ処理を実行する。すなわち、主基盤23は、変動パターンカウンタの値を更新する(ステップS7)。その後、主基盤23は、割り込みを許可にセットし(ステップS8)、ステップS4からの処理を繰返し実行する。
Next, the
図8は、大当りカウンタ用初期値カウンタ更新サブ処理(図7のステップS5)の詳細な動作を示すフローチャートである。 FIG. 8 is a flowchart showing the detailed operation of the big hit counter initial value counter update sub-process (step S5 in FIG. 7).
主基盤23は、大当りカウンタ用初期値カウンタの値が最大値になっているか否かを判別する(ステップS501)。ここで、最大値になっていると判別したときには(ステップS501のY)、主基盤23は、大当りカウンタ用初期値カウンタの値を0にリセットする(ステップS502)。一方、最大値になっていないと判別したときには(ステップS501のN)、主基盤23は、大当りカウンタ用初期値カウンタの値に1を加算してその大当りカウンタ用初期値カウンタの値を更新する(ステップS503)。
The
図9は、最終停止図柄カウンタ用初期値カウンタ更新サブ処理(図7のステップS6)の詳細な動作を示すフローチャートである。 FIG. 9 is a flowchart showing detailed operations of the final stop symbol counter initial value counter update sub-process (step S6 in FIG. 7).
主基盤23は、最終停止図柄カウンタ用初期値カウンタの値が最大値になっているか否かを判別する(ステップS601)。ここで、最大値になっていると判別したときには(ステップS601のY)、主基盤23は、最終停止図柄カウンタ用初期値カウンタの値を0にリセットする(ステップS602)。一方、最大値になっていないと判別したときには(ステップS601のN)、主基盤23は、最終停止図柄カウンタ用初期値カウンタの値に1を加算してその最終停止図柄カウンタ用初期値カウンタの値を更新する(ステップS603)。
The
図10は、変動パターンカウンタ更新サブ処理(図7のステップS7)の詳細な動作を示すフローチャートである。 FIG. 10 is a flowchart showing the detailed operation of the variation pattern counter update sub-process (step S7 in FIG. 7).
主基盤23は、変動パターンカウンタの値が最大値になっているか否かを判別する(ステップS701)。ここで、最大値になっていると判別したときには(ステップS701のY)、主基盤23は、変動パターンカウンタの値を0にリセットする(ステップS702)。一方、最大値になっていないと判別したときには(ステップS701のN)、主基盤23は、変動パターンカウンタの値に1を加算してその変動パターンカウンタの値を更新する(ステップS703)。
The
図11は、主基盤23の割り込み動作を示すフローチャートである。
主基盤23は、図7に示す基本動作を実行しているときに、例えば4msごとに割り込み動作を実行する。この割り込み動作は、Z80CTCによるモード2割り込みである。
FIG. 11 is a flowchart showing the interrupt operation of the
The
具体的に、主基盤23は、割り込み動作を開始すると、まず、カウンタ更新サブ処理を実行する。即ち、主基盤23は、大当りカウンタおよび最終停止図柄カウンタのそれぞれの値を更新する(ステップS11)。
Specifically, when starting the interrupt operation, the
次に、主基盤23は、始動口入賞サブ処理を実行する。即ち、主基盤23は、始動口33にパチンコ球が入賞したことに基づいて、大当りカウンタおよび最終停止図柄カウンタのそれぞれの値を保留エリアに格納する(ステップS12)。そして、主基盤23は、大当り判定の処理(大当り判定サブ処理)を実行し(ステップS13)、払出モータ47にパチンコ球を賞球として払い出させるための賞球払出サブ処理を実行し(ステップS14)、大当り遊技を行なうための大当り遊技サブ処理を実行する(ステップS15)。
Next, the main board |
ここで、大当り遊技は、演出表示器37に大当りを示す確定停止図柄が停止表示されたときに開始される。この大当り遊技は、大入賞口34の扉34aを開放し、大入賞口34内にパチンコ球が入賞することを許容する遊技者有利の状態を発生させるものである。このとき、大入賞口34は、上限個のパチンコ球が入賞する個数条件または開放時間が上限値に達する時間条件が満足されるまで開放される。この大入賞口34の個数条件および時間条件を基準とする開放動作は、大当りラウンドと称されるものであり、個数条件および時間条件のいずれかが満足されたときには大当りラウンドが再開される。この大当りラウンドの繰返し回数には上限値が設定されており、大当りラウンドの繰返し回数が上限値に到達したときには大当り遊技が無条件に終了する。
Here, the big hit game is started when the fixed stop symbol indicating the big hit is stopped and displayed on the
図12は、カウンタ更新サブ処理(図11のステップS11)の詳細な動作を示すフローチャートである。 FIG. 12 is a flowchart showing the detailed operation of the counter update sub-process (step S11 in FIG. 11).
主基盤23は、図11に示すステップS11のカウンタ更新サブ処理を実行するときには、まず、大当りカウンタの値が最大値になっているか否かを判別する(ステップS21)。ここで、主基盤23は、最大値になっていると判別したときには(ステップS21のY)、大当りカウンタの値を0にリセットし(ステップS22)、最大値になっていないと判別したときには(ステップS21のN)、大当りカウンタの値に1を加算してその大当りカウンタの値を更新する(ステップS23)。
When executing the counter update sub-process of step S11 shown in FIG. 11, the
次に、主基盤23は、最終停止図柄カウンタの値が最大値になっているか否かを判別する(ステップS24)。ここで、主基盤23は、最大値になっていると判別したときには(ステップS24のY)、最終停止図柄カウンタの値を0にリセットし(ステップS25)、最大値になっていないと判別したときには(ステップS24のN)、最終停止図柄カウンタの値に1を加算してその最終停止図柄カウンタの値を更新する(ステップS26)。
Next, the main board |
図13は、始動口入賞サブ処理(図11のステップS12)の詳細な動作を示すフローチャートである。 FIG. 13 is a flowchart showing detailed operations of the start opening prize sub-process (step S12 in FIG. 11).
主基盤23は、図11に示すステップS12の始動口入賞サブ処理を実行するときには、まず、始動口スイッチ40から始動口入賞信号が出力されたか否かを判別する(ステップS31)。ここで、主基盤23は、出力されていないと判別したときには(ステップS31のN)、始動口入賞サブ処理を終了する。
When executing the start opening prize sub-process in step S12 shown in FIG. 11, the
一方、主基盤23は、出力されたと判別したときには(ステップS31のY)、大当りカウンタの値を取得するとともに(ステップS32)、最終停止図柄カウンタの値を取得する(ステップS33)。
On the other hand, when the
そして、主基盤23は、各カウンタの値を取得した後、保留最大フラグがオンになっているか否かを判別する(ステップS35)。ここで、保留最大フラグとは、上記各カウンタの値を記憶するための領域(以下、保留エリアという)に空き容量があるか否かを示すフラグである。つまり、保留最大フラグがオンのときには、その保留最大フラグは、保留エリアに空き容量がなく、新たな上記各カウンタの値を記憶することができないことを示し、保留最大フラグがオフのときには、その保留最大フラグは、保留エリアに空き容量があり、新たな上記各カウンタの値を記憶することができることを示す。また、保留エリアは、例えば、FIFO(First-In First-Out)の方式で扱われ、5組の上記各カウンタの値を記憶することができる程度の容量を有する。
Then, after acquiring the value of each counter, the
主基盤23は、ステップS35で保留最大フラグがオンになっていると判別すると(ステップS35のY)、ステップS32〜S33で取得した各カウンタの値を保留エリアに格納することなく、始動口入賞サブ処理を終了する。一方、主基盤23は、保留最大フラグがオフになっていると判別すると(ステップS35のN)、ステップS32〜S33で取得した各カウンタの値を、保留エリアの最後尾に格納する(ステップS36)。このとき、主基盤23は、保留エリアの先頭の0番地に1組のカウンタの値が格納されていれば、この値に基づく大当り判定サブ処理などの処理を直ぐに実行する。また、主基盤23は、保留エリアの先頭の0番地から1番地までに2組のカウンタの値が格納されていれば、1番地にある1組のカウンタの値に対する処理を保留し、保留ランプ38を1つ点灯させる。同様に、主基盤23は、保留エリアの先頭の0番地から2番地までに3組のカウンタの値が格納されていれば、1番地から2番地にある2組のカウンタの値に対する処理を保留し、保留ランプ38を2つ点灯させる。さらに同様に、主基盤23は、保留エリアの先頭の0番地から3番地までに4組のカウンタの値が格納されていれば、1番地から3番地にある3組のカウンタの値に対する処理を保留し、保留ランプ38を3つ点灯させ、保留エリアの先頭の0番地から4番地までに5組のカウンタの値が格納されていれば、1番地から4番地にある4組のカウンタの値に対する処理を保留し、保留ランプ38を4つ点灯させる。
When determining that the hold maximum flag is turned on in step S35 (Y in step S35), the
主基盤23は、ステップS36の処理が終了すると、保留エリアに空き容量があるか否か、つまり、保留エリアがその最大容量まで使用されているか否かを判別する(ステップS37)。ここで、主基盤23は、使用されていると判別したときには(ステップS37のY)、保留最大フラグをオンにして(ステップS38)、始動口入賞サブ処理を終了する。一方、主基盤23は、使用されていないと判別したときには(ステップS37のN)、保留最大フラグをオンにすることなく、始動口入賞サブ処理を終了する。
When the process of step S36 ends, the
図14〜図16は、大当り判定サブ処理(図11のステップS13)の詳細な動作を示すフローチャートである。 14 to 16 are flowcharts showing detailed operations of the big hit determination sub-process (step S13 in FIG. 11).
主基盤23は、図11に示すステップS13の大当り判定サブ処理を実行するときには、まず、変動表示指示フラグがオンになっているか否かを判別する(ステップS41)。なお、この変動表示指示フラグは、演出表示器37の装飾図柄の変動が行なわれているか否かを示すフラグである。つまり、変動表示指示フラグがオンのときには、その変動表示指示フラグは装飾図柄が現在のところ変動していることを示し、変動表示指示フラグがオフのときには、その変動表示指示フラグは装飾図柄が現在のところ変動していないことを示す。
When executing the jackpot determination sub-process in step S13 shown in FIG. 11, the
主基盤23は、変動表示指示フラグがオンになっていると判別したときには(ステップS41のY)、さらに、変動時間タイマによる計測時間が最大時間に達したか否かを判別する(ステップS42)。つまり、主基盤23は、変動時間タイマによって、演出表示器37の装飾図柄が変動している時間を計測しており、その計測時間が、予め設定されている最大時間(演出時間)に達したか否かを判別する。
When determining that the variation display instruction flag is on (Y in step S41), the
ここで、主基盤23は、最大時間に達していないと判別したときには(ステップS42のN)、大当り判定サブ処理を終了する。一方、主基盤23は、最大時間に達したと判別したときには(ステップS42のY)、変動停止コマンド(変動停止信号)を統合サブ基盤44に送信して、装飾図柄の変動を停止するように指示する(ステップS43)。このときさらに、主基盤23は、計測処理をしていた変動時間タイマを停止させてリセットし(ステップS44)、変動表示指示フラグをオフに設定する(ステップS45)。そしてさらに、主基盤23は、本物特図表示器36に、先に決定された本物特図を確定表示させる(ステップS46)。つまり、本物特図は、装飾図柄と同様に変動しており、主基盤23は、ステップS46で、先に決定された本物特図を停止して本物特図表示器36に表示させる。そして、主基盤23は大当り判定サブ処理を終了する。
Here, when the
また、主基盤23は、ステップS41で変動表示指示フラグがオンになっていないと判別したときには(ステップS41のN)、さらに、大当り遊技フラグがオンになっているか否かを判別する(ステップS47)。なお、この大当り遊技フラグは、大当り遊技が行なわれているか否かを示すフラグであり、オンのときには、大当り遊技が行なわれていることを示し、オフのときには、大当り遊技がおこなわれていないことを示す。
When determining that the variable display instruction flag is not turned on in Step S41 (N in Step S41), the
ここで、主基盤23は、大当り遊技フラグがオンのときには(ステップS47のY)、大当り判定サブ処理を終了し、大当り遊技フラグがオフのときには(ステップS47のN)、さらに、保留エリアに1組のカウンタの値が格納されているか否かを判別する(ステップS48)。
Here, when the big hit game flag is on (Y in step S47), the
ここで、主基盤23は、格納されていないと判別したときには(ステップS48のN)、大当り判定サブ処理を終了し、格納されていると判別したときには(ステップS48のY)、保留エリアの先頭の0番地に格納されている1組のカウンタの値を読出して削除し、保留エリアに格納されている他のデータの番地が1つ小さい番地に移るように、他のデータの領域をシフトする(ステップS49)。
Here, when it is determined that the
そして、主基盤23は、ステップS49で読み出した1組のカウンタの中の大当りカウンタの値に基づいて、大当りかハズレかを判定する(ステップS50)。つまり、主基盤23は、電源投入時などの通常時には、大当りカウンタの値が7以外であればハズレと判定し、大当りカウンタの値が7であれば大当りと判定する。また、主基盤23は、確率変動時には、大当りカウンタの値が7,17,27,37,47以外であればハズレと判定し、大当りカウンタの値が7,17,27,37,47の何れかであれば大当りと判定する。
Then, the
ここで、主基盤23は、当りと判定したときには(ステップS50のY、図15参照)、ステップS49で読み出した1組のカウンタの中の最終停止図柄カウンタの値に基づいて、最終停止図柄を決定してこれを設定する(ステップS51)。さらにこのとき、主基盤23は、ステップS51で決定した最終停止図柄に基づいて、最終的に停止して表示させるべき本物特図を決定してこれを設定する(ステップS52)。そしてさらに、主基盤23は、大当り遊技フラグをオンに設定する(ステップS53)。
Here, when it is determined that the
次に、主基盤23は、ステップS51で決定した最終停止図柄が確率変動の図柄であるか否かを判別する(ステップS54)。例えば、主基盤23は、最終停止図柄が「111」または「333」であれば、その最終停止図柄が確率変動の図柄であると判別し、最終停止図柄が「222」または「444」であれば、その最終停止図柄が確率変動の図柄でないと判別する。
Next, the main board |
ここで、主基盤23は、確率変動の図柄でないと判別したときには(ステップS54のN)、大当りテーブルを通常タイプのテーブルに設定し(ステップS55)、確率変動の図柄であると判別したときには(ステップS55のY)、大当りテーブルを確変タイプのテーブルに設定する(ステップS56)。なお、大当りテーブルとは、大当りカウンタの値と大当りまたはハズレとを対応付けたテーブルであって、通常タイプと確変タイプとがある。通常タイプの大当りテーブルは、大当りカウンタの値「7」と「大当り」とを対応付け、大当りカウンタの値「7以外の0から199までの値」と「ハズレ」とを対応付けている。確変タイプの大当りテーブルは、大当りカウンタの値「7,17,27,37,47」と「大当り」とを対応付け、大当りカウンタの値「7,17,27,37,47以外の0から199までの値」と「ハズレ」とを対応付けている。そして、通常タイプの大当りテーブルが設定されているときは、上述の通常時を示し、確変タイプの大当りテーブルが設定されているときには、上述の確率変動時を示す。
Here, when it is determined that the
主基盤23は、ステップS55,S56で大当りテーブルを設定すると、ステップS49で読み出した1組のカウンタの中から、変動パターンカウンタの値を取得し(ステップS57)、その取得した変動パターンカウンタと選択テーブルとに基づいて、変動パターンを選択して決定する(ステップS58)。なお、選択テーブルは、例えば、図4に示すように構成されたテーブルである。
When the
次に、主基盤23は、ステップS51で決定した最終停止図柄を統合サブ基盤44に指示するための最終停止図柄情報と、ステップS58で決定した変動パターンを統合サブ基盤44に指示するための変動パターンコマンドとを、統合サブ基盤44に送信する(ステップS59)。さらに、主基盤23は、本物特図表示器36に対して本物特図の変動を開始させる(ステップS60)。
Next, the
そして、主基盤23は、変動時間タイマの最大時間に、ステップS58で選択された変動パターンの演出時間を設定するとともに(ステップS61)、変動時間タイマによる計測を開始させる(ステップS62)。
Then, the
さらに、主基盤23は、変動表示指示フラグをオンにするとともに(ステップS63)、保留最大フラグがオンになっていれば、その保留最大フラグをオフに変更する(ステップS64)。
Further, the
また、主基盤23は、図14のステップS50でハズレと判定したときには(ステップS50のN、図16参照)、最終停止図柄を「123」に決定してこれを設定する(ステップS65)。さらにこのとき、主基盤23は、最終的に停止して表示させるべき本物特図を「1」に決定してこれを設定する(ステップS66)。
Further, when the
そして、主基盤23は、ステップS49で読み出した1組のカウンタの中から、変動パターンカウンタの値を取得し(ステップS67)、その取得した変動パターンカウンタと選択テーブルとに基づいて、変動パターンを選択して決定する(ステップS68)。
Then, the
次に、主基盤23は、ステップS65で決定した最終停止図柄「123」を統合サブ基盤44に指示するための最終停止図柄情報と、ステップS68で決定した変動パターンを統合サブ基盤44に指示するための変動パターンコマンドとを、統合サブ基盤44に送信する(ステップS69)。さらに、主基盤23は、本物特図表示器36に対して本物特図の変動を開始させる(ステップS70)。
Next, the
そして、主基盤23は、変動時間タイマの最大時間に、ステップS68で選択された変動パターンの演出時間を設定するとともに(ステップS71)、変動時間タイマによる計測を開始させる(ステップS72)。
The
さらに、主基盤23は、変動表示指示フラグをオンにするとともに(ステップS73)、保留最大フラグがオンになっていれば、その保留最大フラグをオフに変更する(ステップS64、図15参照)。
Further, the
図17は、主基盤23のROM23bに格納されているCPU23aが実行するプログラムの配置の一例を示す図である。
FIG. 17 is a diagram illustrating an example of the arrangement of programs executed by the
上述したように、主基盤23のCPU23aは図7〜図16に示した処理を実行する。このため、これらの処理を実現するためのプログラムが、ROM23bに格納される。
As described above, the
例えば、図17に示すように、ROM23bの0000H番地から0007番地には、図7に示した主基盤23の基本動作のプログラムの前半部分が格納されている。なお、このプログラムの最後には、基本動作のプログラムの後半部分(L1番地)へジャンプするための命令「JR L1」が挿入されているものとする。0000H番地に基本動作のプログラムを格納しているのは、電源投入時には、一般的に0000H番地からプログラムが読み込まれ、処理が開始されるからである。
For example, as shown in FIG. 17, the first half of the basic operation program of the
また、ROM23bの0008H番地から000FH番地には、図8に示した大当りカウンタ用初期値カウンタ更新サブ処理のプログラムが格納されている。さらに、ROM23bの0010H番地から0017H番地には、図9に示した最終停止図柄カウンタ用初期値カウンタ更新サブ処理のプログラムが格納されている。さらにまた、ROM23bの0018H番地から001FH番地には、図10に示した変動パターンカウンタ更新サブ処理のプログラムが格納されている。これらの0008H番地から001FH番地に格納されているプログラムは、主基盤23の割り込み処理が終了してから次の割り込みが発生するまでの間に呼び出されるサブルーチンである。
In addition, the program of the big hit counter initial value counter update sub-process shown in FIG. 8 is stored in
また、ROM23bの0020H番地以降には、図11〜図16に示した主基盤23の割り込み処理のプログラムが格納されている。その後の、ROM23bのL1番地以降には、図7に示した主基盤23の基本動作プログラムの後半部分(0000H番地から0008番地に格納されなかった部分)が格納されている。
In addition, after the
CPU23aには、上述したようにZ80が使用される。Z80には、特定のアドレス(0000H番地、0008H番地、0010H番地、0018H番地、0020H番地、0028H番地、0030H番地および0038H番地)に格納されたサブルーチン(プログラム)を呼び出すための命令として、「RST命令」が用意されている。このため、ROM23bの0008H番地から格納されている大当りカウンタ用初期値カウンタ更新サブ処理のプログラム、0010H番地から格納されている最終停止図柄カウンタ用初期値カウンタ更新サブ処理のプログラムおよび0018H番地から格納されている変動パターンカウンタ更新サブ処理のプログラムは、それぞれRST命令を用いて呼び出されるものとする。なお、それぞれのプログラムの最後にはRET命令が挿入されており、RET命令を実行後には、当該プログラムを呼び出したRST命令の次の番地の命令が実行される。
As described above, Z80 is used for the
「RST命令」とは、2進数表現にて8ビット(1バイト)で形成され、命令が実行されると現在のプログラムカウンタの値をスタックに格納した後、プログラムカウンタの値を限られた特定値に書換え可能で、該特定値を前記8ビット内の所定の3ビット内に2進数で収納し、残りの5ビットにて2進数で当該命令自身を形成している命令のことである。 "RST instruction" is formed by 8 bits (1 byte) in binary notation, and when the instruction is executed, the current program counter value is stored in the stack, and then the program counter value is limited. This is an instruction that can be rewritten to a value, and the specific value is stored in binary in the predetermined 3 bits in the 8 bits, and the instruction itself is formed in binary by the remaining 5 bits.
図18は、RST命令を2進数表現した図である。
同図に示すように、最上位ビットのビット番号を「0」、最下位ビットのビット番号を「7」とした場合に、ビット番号「2」〜「4」の3ビットで特定値を示す。すなわち、特定値は、RST命令が呼び出し可能なサブルーチンの先頭アドレスの値(0000H、0008H、0010H、0018H、0020H、0028H、0030Hおよび0038H)である。
FIG. 18 is a diagram representing the RST instruction in binary number.
As shown in the figure, when the bit number of the most significant bit is “0” and the bit number of the least significant bit is “7”, the specific value is indicated by 3 bits of bit numbers “2” to “4”. . That is, the specific value is the value of the top address (0000H, 0008H, 0010H, 0018H, 0020H, 0028H, 0030H, and 0038H) of a subroutine that can be called by the RST instruction.
すなわち、2進数表現で「11000111」、「11001111」、「11010111」、「11011111」、「11100111」、「11101111」、「11110111」および「11111111」で示されるRST命令が呼び出し可能なサブルーチンの先頭アドレスは、それぞれ、「0000H」、「0008H」、「0010H」、「0018H」、「0020H」、「0028H」、「0030H」および「0038H」である。 That is, the top address of a subroutine that can call an RST instruction represented by “11000111”, “11001111”, “11010111”, “11011111”, “11100111”, “11101111”, “11110111”, and “11111111” in binary representation Are “0000H”, “0008H”, “0010H”, “0018H”, “0020H”, “0028H”, “0030H”, and “0038H”, respectively.
図19および図20は、RST命令によるサブルーチンの呼び出し処理を説明するための図である。 FIG. 19 and FIG. 20 are diagrams for explaining subroutine calling processing by an RST instruction.
図19に示すような、メモリ中のプログラム配置において、メインプログラムmain()とサブルーチンsub()とを考え、メインプログラムmain()中より、RST命令を用いて、サブルーチンsub()を呼び出すものとする。サブルーチンsub()の先頭アドレスは、RST命令で呼び出し可能な8つのアドレスのうちのいずれかである。図19では、サブルーチンsub()の先頭アドレスを「0018H」としている。 In the program arrangement in the memory as shown in FIG. 19, the main program main () and the subroutine sub () are considered, and the subroutine sub () is called from the main program main () using the RST instruction. To do. The head address of the subroutine sub () is one of eight addresses that can be called by the RST instruction. In FIG. 19, the head address of the subroutine sub () is “0018H”.
図20は、メインプログラムmain()とサブルーチンsub()との関係を示している。 FIG. 20 shows the relationship between the main program main () and the subroutine sub ().
すなわち、図20(a)に示すように、メインプログラムmain()の先頭からRST命令までの命令が実行される(S302)。RST命令の実行により、サブルーチンsub()が呼び出され、実行される(S304)。サブルーチンsub()中のRET命令(サブルーチンの呼び出し元に戻る命令)が実行されることにより、メインプログラムmain()中のRST命令の次の命令から順次、命令実行が行なわれる(S306)。 That is, as shown in FIG. 20A, instructions from the head of the main program main () to the RST instruction are executed (S302). By execution of the RST instruction, the subroutine sub () is called and executed (S304). By executing the RET instruction in the subroutine sub () (instruction for returning to the subroutine caller), instruction execution is sequentially performed from the instruction next to the RST instruction in the main program main () (S 306).
図20(a)に示したRST命令によるサブルーチン呼び出しについて、図20(b)〜図20(d)を用いて、より詳細に説明する。ここで、メインプログラムmain()内で最初に実行される命令のアドレスを「a」とし、RST命令の次にある、すなわちサブルーチンsub()から戻ってきたときに最初に実行される命令のアドレスを「b」とする。また、サブルーチンsub()内で最初に実行される命令のアドレスを「c」とする。 The subroutine calling by the RST instruction shown in FIG. 20A will be described in more detail with reference to FIGS. 20B to 20D. Here, the address of the first instruction executed in the main program main () is “a”, and the address of the instruction first executed after returning from the subroutine sub () after the RST instruction. Is “b”. Also, the address of the instruction executed first in the subroutine sub () is “c”.
図20(b)に示すように、プログラムカウンタPCには、「a」がセットされている。CPU23aは、アドレス「a」に格納されている命令から順に、プログラムカウンタPCの値を1つずつ増やしながら、命令を実行していく(S302)。命令実行の過程でRST命令が読み込まれるが、その際のプログラムカウンタPCは、RST命令の次の命令の格納アドレスである「b」を格納している。
As shown in FIG. 20B, “a” is set in the program counter PC. The
図20(c)に示すように、CPU23aは、RST命令のための処理として、プログラムカウンタPCの値「b」をスタックにいれ、ジャンプ先のアドレス「c」をプログラムカウンタPCに入れる。そして、アドレス「c」に格納されている命令から順に、プログラムカウンタPCの値を1つずつ増やしながら命令を実行していく(S304)。やがて、RET命令にたどり着く。
As shown in FIG. 20C, as processing for the RST instruction, the
図20(d)に示すように、RET命令が読み込まれたとき、プログラムカウンタPCはその次の命令のアドレスを指しているが、この値は無視される。CPU23aは、RET命令のための処理として、スタックの値をプログラムカウンタPCに格納する。その結果、プログラムカウンタPCには戻り先のアドレスである「b」が入る。CPU23aは、アドレス「b」に格納されている命令から順に、プログラムカウンタの値を1つずつ増やしながら、命令を実行していく(S306)。
As shown in FIG. 20D, when the RET instruction is read, the program counter PC points to the address of the next instruction, but this value is ignored. The
なお、Z80には、サブルーチンを呼び出すための命令として、その他に、「CALL命令」が用意されている。CALL命令は、絶対アドレスを指定することにより、当該アドレスに格納されたサブルーチンを呼び出すことができる。 In addition, “CALL instruction” is prepared in Z80 as an instruction for calling a subroutine. By specifying an absolute address, the CALL instruction can call a subroutine stored at the address.
なお、図21に示すように、CALL命令の命令サイズは3バイトであり、命令実行時に必要なサイクル数は5サイクルである。これに対して、RST命令の命令サイズは1バイトであり、命令実行時に必要なサイクル数は3サイクルであり、CALL命令と比較して、命令サイズも小さく、かつ高速処理が可能である。 As shown in FIG. 21, the instruction size of the CALL instruction is 3 bytes, and the number of cycles required for executing the instruction is 5 cycles. On the other hand, the instruction size of the RST instruction is 1 byte, and the number of cycles required for executing the instruction is 3 cycles. The instruction size is small compared to the CALL instruction and high-speed processing is possible.
上述したように、図11に示したモード2割り込み処理は4msごとに発生し、ステップS11〜S15までの処理が実行されるが、これらの処理の実行後、次のモード2割り込み処理が発生するまでの時間(以下、「残余時間」という。)では、図7に示したステップS4〜S8の処理が繰返し実行されることとなる。この残余時間では、RST命令を用いて、大当りカウンタ用初期値カウンタ更新サブ処理(図7のステップS5、図8)のプログラム、最終停止図柄カウンタ用初期値カウンタ更新サブ処理(図7のステップS6、図9)のプログラムおよび変動パターンカウンタ更新サブ処理(図7のステップS7、図10)のプログラムの呼び出しが繰返し行われる。
As described above, the
なお、モード2割り込みが発生した際の割り込み先アドレスである0020Hは、割り込みレジスタであるIレジスタに設定されている。このIレジスタの値の設定は、図7に示した基本処理の途中で行われる。
Note that 0020H which is an interrupt destination address when a
以上説明したように、本発明の実施の形態によると、モード2割り込み処理の残余時間に、RST命令を用いて、大当りカウンタ用初期値カウンタ更新サブ処理のプログラム、最終停止図柄カウンタ用初期値カウンタ更新サブ処理のプログラムおよび変動パターンカウンタ更新サブ処理のプログラムの呼び出しが繰返し行われる。RST命令は、CALL命令に比べて、プログラムを高速に呼び出すことが可能である。このため、残余時間の間にこれら3つのプログラムを呼び出す回数を、CALL命令を用いた場合に比べて、増加させることができる。これにより、残余時間の間に、大当りカウンタ用初期値カウンタ、最終停止図柄カウンタ用初期値カウンタおよび変動パターンカウンタの値を高速かつ多くの回数更新することができる。このように、残余時間の間に各種カウンタ更新を多くの回数することが可能になる。よって、外部からカウンタの値の推測を行うことが困難となり、不正改造が困難となる。
As described above, according to the embodiment of the present invention, the program for the initial value counter update sub-process for the big hit counter, the initial value counter for the final stop symbol counter, using the RST instruction for the remaining time of the
また、RST命令は1バイトで済むので、CALL命令を用いた場合に比べて、プログラムのサイズを小さくすることができる。 Further, since the RST instruction only needs 1 byte, the program size can be reduced as compared with the case where the CALL instruction is used.
さらに、RST命令は1バイトで済むので、仮に不正改造が行われたとしても、カウンタ更新制御の不正改造の発見を容易に行うことが可能である。 Furthermore, since only one byte is required for the RST instruction, it is possible to easily find illegal modification of counter update control even if unauthorized modification is performed.
さらにまた、ROM23bの0000H番地には、電源投入時に実行される主基盤23の基本動作のプログラムが格納されている。このため、各種カウンタ更新のプログラムをROM23bのプログラム内に埋没させることができる。このため、どこにカウンタ更新のプログラムがあるのかの発見が困難であり、不正改造自体をあきらめさせることも可能となる。
Furthermore, a program for basic operation of the
[発明の効果]
本発明の遊技機によると、不正遊技や、主基盤に対する不正改造を防止することができるという作用効果を奏する。
[The invention's effect]
According to the gaming machine of the present invention, there is an effect that it is possible to prevent unauthorized gaming and unauthorized modification to the main base.
本発明は、不正遊技や、主基盤に対する不正改造を防止することができるという効果を奏し、例えば、パチンコ機などに適用することができる。 The present invention has an effect of preventing illegal games and unauthorized modifications to the main base, and can be applied to, for example, a pachinko machine.
10 遊技機、 11 外枠、 12 前枠、 13 窓枠、 14 下皿、
15 上皿、 16 ハンドル台、 17 窓部、 18 スピーカ、
19 発射ハンドル、 21 表示サブ基盤、 22 音サブ基盤、 23 主基盤、
23a CPU、 23b ROM、 24 払出基盤、 36 本物特図表示器、
37 演出表示器、 38 保留ランプ、 40 始動口スイッチ、
41 大入賞口スイッチ、 42 大入賞口ソレノイド、 43 始動口ソレノイド
10 gaming machines, 11 outer frame, 12 front frame, 13 window frame, 14 lower plate,
15 upper plate, 16 handle base, 17 window, 18 speaker,
19 launch handle, 21 display sub-base, 22 sound sub-base, 23 main base,
23a CPU, 23b ROM, 24 payout base, 36 special figure display,
37 production indicator, 38 hold lamp, 40 start switch,
41 grand prize opening switch, 42 grand prize opening solenoid, 43 start opening solenoid
Claims (1)
前記主制御基盤は、
前記プログラムを記憶するメモリと、
前記プログラムを実行するCPU(Central Processing Unit)とを備え、
前記プログラムは、
前記メモリの0000H番地に格納され、前記遊技機に対する電源投入時に作動を開始し、前記遊技機に対する初期化処理を実行するとともに、割り込みが発生した際の割り込み先アドレスに関するアドレスを割り込みレジスタに設定する電源投入時初期化モジュールと、
一定時間間隔ごとに発生する割り込み時に作動し、前記電源投入時初期化モジュール実行時に前記割り込みレジスタに設定された前記アドレスにより定められる前記割り込み先アドレスをプログラム開始アドレスとし、少なくとも、大当り遊技を実行するか否かを決定するための大当りカウンタの値を更新する大当りカウンタ値更新サブモジュールと、始動口への遊技球の入賞検知結果に基づいて前記大当りカウンタの値を取得する大当りカウンタ値取得サブモジュールと、取得された前記大当りカウンタの値に基づいて、大入賞口が開制御される大当り遊技を実行するか否かを判定する大当り遊技判定サブモジュールと、前記大当り遊技判定サブモジュールで大当り遊技を実行すると判定された場合に大当り遊技を実行する大当り遊技実行サブモジュールとを含むタイマ割り込み時モジュールと、
先の割り込みにより作動した前記タイマ割り込み時モジュールの動作終了から、次の割り込みにより作動する前記タイマ割り込み時モジュールの動作開始までの間に繰返し作動する残余時間作動モジュールとを含み、
前記残余時間作動モジュールは、予め定められたカウンタの値を更新するカウンタ値更新サブモジュールを含み、
前記カウンタ値更新サブモジュールは、
RST命令の呼び先である前記メモリの2進数表現をした場合に1を含む番地に格納され、前記予め定められたカウンタの値を更新するサブルーチンと、
前記サブルーチンを呼び出すRST命令とを含む
ことを特徴とする遊技機。 A gaming machine having a main control base that controls a gaming function of a gaming machine by a program created using an instruction set for Z80,
The main control board is
A memory for storing the program;
CPU (Central Processing Unit) that executes the program,
The program is
Stored at address 0000H of the memory, starts operation when the gaming machine is powered on, executes initialization processing for the gaming machine, and sets an address related to an interrupt destination address when an interrupt occurs in an interrupt register A power-on initialization module;
Operates at interrupts that occur at regular time intervals, and executes at least a jackpot game with the interrupt destination address determined by the address set in the interrupt register when the initialization module is turned on as the program start address A jackpot counter value update submodule for updating the value of the jackpot counter for determining whether or not, and a jackpot counter value acquisition submodule for acquiring the value of the jackpot counter based on the winning detection result of the game ball at the start port And, based on the acquired value of the jackpot counter, the jackpot game determination submodule for determining whether or not to execute the jackpot game in which the bonus winning opening is controlled, and the jackpot game determination submodule A jackpot game run that executes a jackpot game if it is determined to run And a timer interrupt when the module including a blanking module,
A remaining time operation module that operates repeatedly from the end of the operation of the timer interrupt module operated by the previous interrupt to the start of the operation of the timer interrupt module operated by the next interrupt,
The remaining time operation module includes a counter value update submodule for updating a predetermined counter value;
The counter value update submodule includes:
A subroutine for updating a value of the predetermined counter stored in an address including 1 when the binary representation of the memory to which the RST instruction is called is expressed;
And a RST instruction for calling the subroutine.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006265858A JP2008080005A (en) | 2006-09-28 | 2006-09-28 | Game machine |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006265858A JP2008080005A (en) | 2006-09-28 | 2006-09-28 | Game machine |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008080005A true JP2008080005A (en) | 2008-04-10 |
Family
ID=39351442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006265858A Pending JP2008080005A (en) | 2006-09-28 | 2006-09-28 | Game machine |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008080005A (en) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009261759A (en) * | 2008-04-28 | 2009-11-12 | Okumura Yu-Ki Co Ltd | Pachinko game machine |
JP2014030459A (en) * | 2012-07-31 | 2014-02-20 | Daito Giken:Kk | Game machine |
JP2014030455A (en) * | 2012-07-31 | 2014-02-20 | Daito Giken:Kk | Game machine |
JP2014030458A (en) * | 2012-07-31 | 2014-02-20 | Daito Giken:Kk | Game machine |
JP2015033618A (en) * | 2014-10-07 | 2015-02-19 | 株式会社大都技研 | Game machine |
JP2015033619A (en) * | 2014-10-07 | 2015-02-19 | 株式会社大都技研 | Game machine |
JP2015042275A (en) * | 2014-10-07 | 2015-03-05 | 株式会社大都技研 | Game machine |
JP2016105776A (en) * | 2016-01-07 | 2016-06-16 | 株式会社大都技研 | Game machine |
JP2016105775A (en) * | 2016-01-07 | 2016-06-16 | 株式会社大都技研 | Game machine |
JP2016120295A (en) * | 2016-01-07 | 2016-07-07 | 株式会社大都技研 | Game machine |
JP2017086779A (en) * | 2015-11-17 | 2017-05-25 | 株式会社三共 | Game machine |
JP2018057580A (en) * | 2016-10-05 | 2018-04-12 | 株式会社平和 | Game machine |
-
2006
- 2006-09-28 JP JP2006265858A patent/JP2008080005A/en active Pending
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009261759A (en) * | 2008-04-28 | 2009-11-12 | Okumura Yu-Ki Co Ltd | Pachinko game machine |
JP2014030459A (en) * | 2012-07-31 | 2014-02-20 | Daito Giken:Kk | Game machine |
JP2014030455A (en) * | 2012-07-31 | 2014-02-20 | Daito Giken:Kk | Game machine |
JP2014030458A (en) * | 2012-07-31 | 2014-02-20 | Daito Giken:Kk | Game machine |
JP2015033618A (en) * | 2014-10-07 | 2015-02-19 | 株式会社大都技研 | Game machine |
JP2015033619A (en) * | 2014-10-07 | 2015-02-19 | 株式会社大都技研 | Game machine |
JP2015042275A (en) * | 2014-10-07 | 2015-03-05 | 株式会社大都技研 | Game machine |
JP2017086779A (en) * | 2015-11-17 | 2017-05-25 | 株式会社三共 | Game machine |
JP2016105776A (en) * | 2016-01-07 | 2016-06-16 | 株式会社大都技研 | Game machine |
JP2016105775A (en) * | 2016-01-07 | 2016-06-16 | 株式会社大都技研 | Game machine |
JP2016120295A (en) * | 2016-01-07 | 2016-07-07 | 株式会社大都技研 | Game machine |
JP2018057580A (en) * | 2016-10-05 | 2018-04-12 | 株式会社平和 | Game machine |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2008080005A (en) | Game machine | |
JP2008080004A (en) | Game machine | |
JP5977417B1 (en) | Amusement stand | |
JP2017029332A (en) | Game machine | |
JP2007044380A (en) | Game machine | |
JP2011200423A (en) | Game machine | |
JP2019024615A (en) | Game machine | |
JP2019024613A (en) | Game machine | |
JP2017077390A (en) | Game machine | |
JP2008061749A (en) | Game machine | |
JP5272520B2 (en) | Game machine | |
JP2004290443A (en) | Game machine | |
JP2006333969A (en) | Game machine | |
JP2004243037A (en) | Game machine | |
JP5753478B2 (en) | Game machine | |
JP2007222241A (en) | Game machine | |
JP4788386B2 (en) | Game machine | |
JP6413120B2 (en) | Amusement stand | |
JP4184995B2 (en) | Pachinko machine | |
JP2007319351A (en) | Game machine | |
JP4726562B2 (en) | Game machine | |
JP2011125378A (en) | Game machine | |
JP2008061750A (en) | Game machine | |
JP2008029605A (en) | Game machine | |
JP4504992B2 (en) | Game machine |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20090729 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20090818 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20091215 |