JP2009022548A - Game machine - Google Patents

Game machine Download PDF

Info

Publication number
JP2009022548A
JP2009022548A JP2007189242A JP2007189242A JP2009022548A JP 2009022548 A JP2009022548 A JP 2009022548A JP 2007189242 A JP2007189242 A JP 2007189242A JP 2007189242 A JP2007189242 A JP 2007189242A JP 2009022548 A JP2009022548 A JP 2009022548A
Authority
JP
Japan
Prior art keywords
value
timer interrupt
interrupt
remaining time
initial value
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.)
Withdrawn
Application number
JP2007189242A
Other languages
Japanese (ja)
Inventor
Tetsuo Fukaya
哲雄 深谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GINZA KK
Original Assignee
GINZA KK
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by GINZA KK filed Critical GINZA KK
Priority to JP2007189242A priority Critical patent/JP2009022548A/en
Publication of JP2009022548A publication Critical patent/JP2009022548A/en
Withdrawn legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To solve the following problem: by repeating the same processing as remaining time processing, inconveniences occur to processing results or cyclicity is ruined by interrupt timing of CH0 interrupt for starting a user program from a reset address being delayed. <P>SOLUTION: A CH1 interrupt of lower priority is generated before the CH0 interrupt in a 4ms cycle is generated, processing to be performed after the CH1 interrupt is switched to partial initial value counter update processing of shorter time for processing that can be finished before CH0 interrupt from all initial value counter update processing before the CH1 interrupt, and CH0 interrupt occurs after the processing is over, so that cyclicity of CH0 interrupt is maintained correctly. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明はパチンコ機などに代表される遊技機における所定周期で加算更新される循環カウンタを用いた大当たり抽選手段に関しての、循環カウンタが1巡する周期から大当たり値を割り出すような不正を防ぐために考案された所定周期内で実行されるユーザープログラムとしての主タイマ割込み処理の残余時間を利用した循環カウンタ初期値の更新処理の改良に関するものである。   The present invention relates to a jackpot lottery means using a circulation counter that is added and updated in a predetermined cycle in a gaming machine represented by a pachinko machine, etc., to prevent fraud such as calculating a jackpot value from a cycle of the circulation counter. The present invention relates to an improvement of the updating process of the initial value of the cyclic counter using the remaining time of the main timer interrupt process as a user program executed within a predetermined period.

たとえばパチンコ機においては、遊技盤面に設けられた始動口を遊技球が通過したことを検知し、それを契機として遊技制御装置において4ms毎に+1ずつカウントアップされているカウンタから数値を抽選し、その抽選値と予め設定してある大当たり値とが合致すると、大当たりとして、多くの賞球の払い出しが期待できる、特定遊技状態となるよう構成されている。このカウンタは、例えば、0から299までの範囲で一割込みに1カウント更新されている。一方、所定の大当たり確率で特定遊技状態である大当たりとするための判定基準である大当たり値は、例えば、大当たり確率が1/300のであれば、0から299までの範囲の中の「7」とするように固定的に設定されており、300回の割込みに1回の割合で出現し、その後も一定周期で出現してくる。そのため1200msの整数倍のタイミングでリズムを取り始動口に遊技球を通過させたり、遊技盤の裏面に備えられている遊技制御基板に不正な基板を装着するなどして、大当たり値の出現タイミングを割り出し、人為的に大当たりを発生させる不正行為が行われた。   For example, in a pachinko machine, it is detected that a game ball has passed through a start port provided on the game board surface, and triggered by that, a numerical value is drawn from a counter that is incremented by +1 every 4 ms in the game control device, When the lottery value matches the jackpot value set in advance, it is configured to be in a specific gaming state in which a lot of prize balls can be expected as a jackpot. For example, this counter is updated by 1 count per interrupt in the range from 0 to 299. On the other hand, if the jackpot value is 1/300, the jackpot value that is a criterion for determining the jackpot that is the specific gaming state with a predetermined jackpot probability is “7” in the range from 0 to 299, for example. It is fixedly set so that it appears once every 300 interrupts, and then appears at a constant period. Therefore, by taking a rhythm at a timing that is an integral multiple of 1200 ms, letting the game ball pass through the start port, or mounting an illegal board on the game control board provided on the back of the game board, etc. An illegal act that was determined and artificially generated a jackpot was carried out.

このことから一定の大きさの循環カウンタを規則的に循環させるだけでは、乱数を発生させて抽出することの代替手段として不適切だということが判明した。そこで1回の循環は今まで通り4ms毎に1カウントし、カウンタ一周後の新たな循環の始まりの値を変えることで、周期性を失わせ、より乱数らしい循環カウンタとなり、カウンタ周期のタイミングを合わせるような不正は防止することができるようになった。この判定値循環カウンタ1周ごとの始まりの値(初期値)を不特定にするために用いる初期値循環カウンタは、当然判定循環カウンタと同じ300サイズで構成され、判定値循環カウンタが4msの一割込毎に+1ずつ歩進するのに対して、初期値循環カウンタは一割込の中での制御プログラムが実行終了し、4msが経過するまでの待ち時間である余り時間に更新を繰り返し続けるものとした。この余り時間は遊技の進行によって、制御内容が変化することから常に変化する時間であり、これによって初期値の更新度合いも割込み毎に歩進される値が変わり常に不定なものとなり、判定値循環カウンタを周期性・規則性の乏しいより乱数に近いものにすることができた。(たとえば特許文献1参照)   From this, it has been found that it is inappropriate to generate and extract random numbers simply by regularly circulating a circulation counter of a certain size. Therefore, one cycle is counted once every 4 ms as before, and by changing the value of the start of a new cycle after one round of the counter, the periodicity is lost, and the cycle counter is more like a random number. It is now possible to prevent fraud such as matching. The initial value circulation counter used to unspecified the starting value (initial value) for each round of the judgment value circulation counter is naturally configured with the same 300 size as the judgment circulation counter, and the judgment value circulation counter is 4 ms. In contrast to incrementing by +1 for each interrupt, the initial value circulation counter repeats the update in the extra time, which is the waiting time until 4 ms elapses after the execution of the control program within one interrupt. It was supposed to be. This extra time is a time that always changes because the content of the control changes as the game progresses, and as a result, the degree of update of the initial value also changes the value that is incremented for each interrupt, and is always indefinite. It was possible to make the counter closer to a random number than the one with poor periodicity and regularity. (For example, see Patent Document 1)

特開1999−70252JP 1999-70252 特開2000−262719JP 2000-262719 A 特開2000−167191JP 2000-167191 A 特開2002−78875JP 2002-78875 A

しかしながらこの一割込み間隔の中で行われる様々なプログラム処理の余り時間に初期値を更新し続ける処理は、判定値循環カウンタのように所定周期毎に必ず一回のみ処理されるものではなく、時間がある限り続けられ、次の割込みが発生するとその時点で処理を打ち切るというものである。そのため初期値循環カウンタの数値が記憶されている領域から読み出しカウントアップして再び書き込むこの処理の途中で打ち切ることになると、再読み出しされた時に循環カウンタのサイズの範囲外の数値となっているような不適切なデータに置き換わる場合がある。このような不都合に対して上記特許文献2では、不適切なデータとなった場合は適切な数値に置き換えることが開示されている。しかし置き換えるには常に適切か不適切かの判定が必要となる。また特許文献2と特許文献3では、2バイトデータの書き込み順を制御することで、初期値の数値が循環カウンタのサイズを超えた数値になることは無くなると示されている。しかしそれでもデータを書き込むなど数値を動かしている途中の処理はそのままであり不適切な数値が置き換わってしまう可能性をすべて排除したとは言い難い。これに対して上記特許文献4では、初期値更新処理は完結させるようにするため、更新処理の先頭に割込み禁止を設定し、その更新処理が終了後割込み許可を設定している。しかしこれは一定間隔で割込みを実行しようとしているにも係わらず、新たな初期値カウンタの更新処理が開始されれば、終了するまで肝心の割込み処理を待たせることになり、本来4msごとという一定間隔で割込みが発生するべきものが4ms+αで発生せざるを得ず、開始タイミングの周期性が損なわれるだけでなく、初期値カウンタの更新処理の進み具合に応じて+αとなる時間の長さが異なり、1回の割込みにおけるプログラム実行時間が不定なものになっている。元々が次の割込み発生までの残余時間を有効利用するためだった初期値カウンタの更新処理が、一定であるはずの割込み間隔時間を不定なものとし、4msに実行開始となる制御プログラムの実行開始タイミングまでもばらつかせてしまっており、本末転倒した状態となっている。   However, the process of continuing to update the initial value during the remaining time of various program processes performed during this one interrupt interval is not always performed only once every predetermined period like the judgment value circulation counter. Is continued as long as there is, and when the next interrupt occurs, the processing is aborted at that point. For this reason, if the value of the initial value circulation counter is read out from the area in which it is stored and then aborted in the middle of this process, it will be out of the range of the size of the circulation counter when it is read again. May be replaced with inappropriate data. With respect to such inconvenience, Patent Document 2 discloses that when inappropriate data is obtained, it is replaced with an appropriate numerical value. However, it is always necessary to determine whether the replacement is appropriate or inappropriate. Patent Document 2 and Patent Document 3 indicate that the numerical value of the initial value does not become a numerical value exceeding the size of the circulation counter by controlling the writing order of 2-byte data. However, it is still difficult to say that it eliminates all the possibility of improper numerical values being replaced, as is the process of moving the numerical values, such as writing data. On the other hand, in Patent Document 4, in order to complete the initial value update process, interrupt prohibition is set at the head of the update process, and interrupt permission is set after the update process is completed. However, despite the fact that interrupts are being executed at regular intervals, if a new initial value counter update process is started, the essential interrupt process will be waited until it is finished, which is essentially every 4 ms. What must be interrupted at intervals must be generated at 4ms + α, not only the periodicity of the start timing is impaired, but also the length of time that becomes + α according to the progress of the update processing of the initial value counter. In contrast, the program execution time in one interrupt is indefinite. The initial value counter update process, which was originally intended to make effective use of the remaining time until the next interrupt occurrence, makes the interrupt interval time, which should be constant, indefinite, and starts the execution of the control program that starts at 4 ms. Even the timing has been varied, and it has fallen to the end.

本発明は、残余時間中に実行する残余時間処理を同じ内容の繰り返し処理とすることに由来する上記問題点を解決するためになされたものであり、その目的は、所定周期内で実行されるユーザープログラムとしての主タイマ割込み処理の残余時間を利用した残余時間処理が終了するタイミングを主タイマ割込みが発生するよりも前になるように残余時間処理内容を切り換え、主タイマ割込みが所定の周期で正しく等間隔で発生するようにすることにある。   The present invention has been made in order to solve the above-mentioned problems caused by the remaining time processing executed during the remaining time being the same content repetition processing, and the object thereof is executed within a predetermined period. The remaining time processing content is switched so that the remaining time processing using the remaining time of the main timer interrupt processing as a user program ends before the main timer interrupt is generated. It is to make it generate | occur | produce correctly at equal intervals.

上記目的を達成するため、請求項1の発明においては、所定周期で発生する主タイマ割込み毎にリセットアドレスから開始実行されるユーザープログラムとしての主タイマ割込み処理の内、遊技を制御するためのプログラムである遊技制御処理と、前記主タイマ割込み処理の内、前記遊技制御処理が終了した後、新たな主タイマ割込みが発生するまでの残余時間中に実行される残余時間処理と、前記遊技制御処理の中の1つのサブルーチン処理として前記主タイマ割込み毎に1回のみ実行される処理であって、第1の記憶領域に記憶された前回判定値を呼び出し、当該前回判定値に1を加算した第1の加算値が、所定の上限値を超えた場合には0を新たな判定値とし、所定の上限値を超えない場合には当該第1の加算値をそのまま新たな判定値として前記第1の記憶領域に戻す判定値加算更新処理と、前記遊技制御処理の中の1つのサブルーチン処理として前記主タイマ割込み毎に1回のみ実行される処理であって、前記新たな判定値が、第3の記憶領域に記憶された開始値と一致する場合には、その時点で第2の記憶領域に記憶されている初期値を新たな開始値として第3の記憶領域に記憶する開始値記憶処理と、第2の記憶領域に記憶された前回初期値を呼び出し、当該前回初期値に1を加算した第2の加算値が、所定の上限値を超えた場合には0を新たな初期値とし、所定の上限値を超えない場合には当該第2の加算値をそのまま新たな初期値として前記第2の記憶領域に戻す初期値加算更新処理とを実行するコンピュータと、該コンピュータが実行するユーザープログラムが記録されたROMと、前記第1の記憶領域と前記第2の記憶領域と前記第3の記憶領域とを少なくとも具備してなるRAMと、を備えた遊技機であって、前記コンピュータが、前記残余時間中に、前記主タイマ割込みよりも優先度の低い従タイマ割込みを発生させる従タイマ割込み発生処理と、前記従タイマ割込みが発生したことにより、前記従タイマ割込みが発生するまでに実行していた残余時間処理よりも実行するに要する時間が短く、従タイマ割込みが発生してから前記主タイマ割込みが発生するまでの残余時間内で実行可能な別残余時間処理を選択する残余時間処理選択処理とを実行すると共に、前記従タイマ割込みが発生するまでに実行する前記残余時間処理を当該処理の実行中には前記従タイマ割込みを受け付けない従割込み禁止残余時間処理として実行し、前記残余時間処理選択処理が選択した別残余時間処理を実行した後、前記主タイマ割込みが発生するまで前記主タイマ割込みの発生待ち状態とすることを特徴とする。   In order to achieve the above object, according to the first aspect of the present invention, a program for controlling a game in a main timer interrupt process as a user program started and executed from a reset address for each main timer interrupt generated at a predetermined cycle. A game control process, a remaining time process executed during a remaining time until a new main timer interrupt is generated after the game control process is completed, and the game control process. Is a process that is executed only once for each main timer interrupt as a subroutine process, and calls the previous determination value stored in the first storage area and adds 1 to the previous determination value. When the addition value of 1 exceeds a predetermined upper limit value, 0 is set as a new determination value. When the addition value of 1 does not exceed the predetermined upper limit value, the first addition value is used as a new determination value as it is. A determination value addition update process to be returned to the first storage area, and a process executed only once for each main timer interrupt as one subroutine process in the game control process, the new determination value Is the same as the start value stored in the third storage area, the initial value stored in the second storage area at that time is stored as a new start value in the third storage area. Value storage processing and the previous initial value stored in the second storage area are called, and when the second addition value obtained by adding 1 to the previous initial value exceeds a predetermined upper limit value, 0 is newly set. A computer for executing an initial value addition update process for returning to the second storage area as a new initial value as the initial value when the predetermined upper limit value is not exceeded; and User program to be executed A gaming machine comprising: a recorded ROM; and a RAM including at least the first storage area, the second storage area, and the third storage area, wherein the computer includes the computer During the remaining time, a slave timer interrupt generation process for generating a slave timer interrupt having a lower priority than the master timer interrupt, and the slave timer interrupt is generated by the occurrence of the slave timer interrupt. The remaining time processing selection process that selects a different remaining time process that can be executed within the remaining time from the occurrence of the sub timer interrupt to the occurrence of the main timer interrupt. And executing the remaining time processing executed until the secondary timer interrupt occurs while the secondary timer interrupt is not accepted during execution of the processing. It is executed as a stop remaining time process, and after executing another remaining time process selected by the remaining time process selection process, it waits for the generation of the main timer interrupt until the main timer interrupt is generated.

また、請求項2の発明においては、前記コンピュータが前記従タイマ割込みが発生するまでに実行していた残余時間処理としての内容が、複数種類の初期値を全て順に更新する複数初期値加算更新処理であるとともに、前記従タイマ割込みの発生により前記残余時間処理選択処理にて選択する別残余時間処理としての内容が、前記複数初期値加算更新処理で更新される複数種類の初期値のうち特定の初期値についてのみ更新する一部初期値加算更新処理であることを特徴とする。   According to a second aspect of the present invention, a plurality of initial value addition update processing in which the contents as the remaining time processing executed by the computer until the slave timer interrupt occurs are updated in order for all of the plurality of types of initial values. And the content as another remaining time process selected in the remaining time process selection process by the occurrence of the sub timer interrupt is a specific one of a plurality of types of initial values updated in the plurality of initial value addition update processes. It is a partial initial value addition update process in which only the initial value is updated.

また、請求項3の発明においては、前記コンピュータが前記従タイマ割込みの発生により前記残余時間処理選択処理において選択する別残余時間処理としての内容が、前記遊技制御処理に属する1つのサブルーチン処理であって、前記従タイマ割込みが発生するまでの前記遊技制御処理の実行期間中には実行されず、前記従タイマ割込みが発生してから前記主タイマ割込みが発生するまでの残余時間内ではじめて実行される処理であることを特徴とする。   According to a third aspect of the present invention, the content as another remaining time processing selected in the remaining time processing selection processing by the occurrence of the sub timer interrupt is one subroutine processing belonging to the game control processing. Thus, it is not executed during the execution period of the game control process until the slave timer interrupt is generated, and is executed for the first time within the remaining time after the slave timer interrupt is generated until the master timer interrupt is generated. The process is characterized by the following.

また、請求項4の発明においては、前記コンピュータが前記従タイマ割込みの発生により前記残余時間処理選択処理において選択する別残余時間処理としての内容が、遊技状態に応じて異なる実行プログラム内容であることを特徴とする。
According to a fourth aspect of the present invention, the contents of the different remaining time process selected in the remaining time process selection process by the occurrence of the slave timer interrupt are different execution program contents depending on the gaming state. It is characterized by.

請求項1の発明においては、所定周期でユーザープログラムとしての主タイマ割込み処理をリセットアドレスから開始させる主タイマ割込みが発生するより前に従タイマ割込みを発生させることで、主タイマ割込み発生までの残余時間を一定範囲内の時間として把握可能とし、従タイマ割込みの発生までに実行していた残余時間処理内容を、把握可能となった一定範囲内の時間で実行可能となる別処理内容に切り換えることで、時系列的には当該別処理が終了後に主タイマ割込みが発生するため、主タイマ割込みの発生タイミング、例えば4msのような周期性が正しく維持される。また、従タイマ割込みの発生までに実行していた残余時間処理は、処理が終了するまで割込み禁止状態としているので、当該処理で実行すると定められた内容全てを終了させられるので、実行途中で割込みが発生したために処理を打ち切って不適切なデータに置き換わるなどのトラブルが発生することもない。また、別残余時間処理は、処理実行中に割込みが発生する可能性がないよう時間調整されたものであるので、処理プログラムの最初と最後に割込みの禁止命令や解除命令を設ける必要がなく、所要時間がそれだけでも短縮可能となり、従タイマ割込みの発生タイミングへの制限が緩やかになる。つまり、残余時間中に実行される処理は、従タイマ割込みまでに開始されたものは全ての処理が完了するように支援され、従タイマ割込み後に開始されるものは主タイマ割込み前には完了するように時間調整された内容の別処理が選択され、かつ実行後に僅かばかりの時間を余して主タイマ割込みの発生待ち状態となるので、所定の周期性が損なわれないだけでなく、従タイマ割込みの発生タイミングはプログラムによって容易に変更可能となるので、残余時間を無駄なく時間消化が行われるように処理内容の設定・時間配分が可能となる。すなわち、主タイマ割込みを所定の周期で正しく等間隔で発生することを可能とした。   According to the first aspect of the present invention, by generating a timer interrupt prior to the generation of a main timer interrupt that starts main timer interrupt processing as a user program at a predetermined cycle from a reset address, the remaining time until the main timer interrupt is generated The time can be grasped as a time within a certain range, and the remaining time processing content that was executed before the occurrence of the slave timer interrupt is switched to another processing content that can be executed within the certain time range that can be grasped. Thus, since the main timer interrupt occurs after the separate processing is completed in time series, the generation timing of the main timer interrupt, for example, the periodicity such as 4 ms is correctly maintained. In addition, the remaining time processing that has been executed before the occurrence of the slave timer interrupt is disabled until the processing is completed. Therefore, troubles such as discontinuing processing and replacing it with inappropriate data do not occur. Also, because the remaining time processing is time adjusted so that there is no possibility that an interrupt will occur during processing execution, it is not necessary to provide an interrupt prohibition instruction or release instruction at the beginning and end of the processing program, The required time can be shortened by itself, and the restriction on the generation timing of the slave timer interrupt becomes loose. In other words, the processing executed during the remaining time is supported so that all processing started before the sub timer interrupt is completed, and the processing started after the sub timer interrupt is completed before the main timer interrupt. In this way, another process of the time-adjusted content is selected, and a little time is left after execution so that the main timer interrupt is awaited. Since the interrupt generation timing can be easily changed by a program, it is possible to set the processing contents and distribute the time so that the remaining time can be consumed without waste. In other words, the main timer interrupt can be generated correctly at regular intervals with a predetermined period.

請求項2の発明においては、従タイマ割込み発生前には複数種類の初期値を全て順に更新し、主タイマ割込み発生までの時間が迫った従タイマ割込み発生後には、それらの初期値の中の特定の初期値のみを更新することで処理時間の短縮を図り、限られた時間内で処理を終了させ、主タイマの割込み待ち状態を確実なものとする。遊技の内容を決定するために多くのカウンタが用いられ、ランダムさを確保するために「初期値」が利用されているが、特定の初期値としては、遊技者が獲得する利得に関わるカウンタに係る初期値であるのが望ましく、より具体的には、大当たりか否か、大当たり確率が変動するか否か、或いは、大入賞口の開放ラウンド数や大当たり後の遊技状態と関わる大当たり図柄をいずれにするかなどを決定するカウンタの初期値の更新頻度を増すようにできる。   According to the second aspect of the invention, all of the initial values are sequentially updated before the occurrence of the sub timer interrupt, and after the sub timer interrupt occurs, the time until the occurrence of the main timer interrupt is reached. By updating only a specific initial value, the processing time is shortened, the processing is completed within a limited time, and the interrupt waiting state of the main timer is ensured. Many counters are used to determine the contents of the game, and an “initial value” is used to ensure randomness. However, as a specific initial value, a counter related to the gain gained by the player is used. This initial value is desirable, and more specifically, whether or not the jackpot, whether the jackpot probability fluctuates, or the number of rounds of the big winning opening and the jackpot symbol related to the game state after the jackpot It is possible to increase the frequency of updating the initial value of the counter that determines whether or not to set.

請求項3の発明においては、従タイマ割込みを主タイマ割込みの所定時間前に発生するお知らせと捉え、残余時間処理を全て、余った時間で不定回数実行される処理とするのではなく、あたかも閉会の辞の如く、主タイマ割込み処理の〆として、従来は残余時間処理前に実行されてきた遊技制御処理に属するサブルーチン処理を主タイマ割込み処理の最後に配することができる。つまり、従タイマ割込みを残余時間内での区切りではなく、主タイマ割込みで規定された時間内の区切りと利用することもできる。別残余時間処理としては、例えば、当該主タイマ割込み処理での処理結果に基づくエラー情報含む情報を島設備やホールコンピュータ等の外部に出力する出力処理の中で、適宜選択されたサブルーチン処理があげられる。   In the third aspect of the invention, the sub timer interrupt is regarded as a notification that occurs a predetermined time before the main timer interrupt, and the remaining time processing is not performed as an indefinite number of times in the remaining time, but as if it was closed. As a trap of the main timer interrupt process, a subroutine process belonging to the game control process that has been executed before the remaining time process can be arranged at the end of the main timer interrupt process. That is, the sub timer interrupt can be used not as a break within the remaining time but as a break within the time defined by the main timer interrupt. Another remaining time process is, for example, a subroutine process appropriately selected in the output process for outputting information including error information based on the processing result in the main timer interrupt process to the outside of the island facility or the hall computer. It is done.

請求項4の発明においては、遊技状態に応じて残余時間処理内容の変更・切り換えを行うことで、遊技状態に応じて遊技者が抱く関心事に適応した処理を行うことができる。例えば、通常遊技時には大当たりとなるか否かに遊技者の関心が集まるが、確変遊技時には大当たりが発生することはほぼ約束されており、遊技者の関心は、大当たりとなるか否かではなく、まずは確変が継続するか否かであり、機種によってはより出玉の多い大当たりになるか否かということもあるが、機種毎の遊技者の関心事の変化に即応し、関心事に係る別残余時間処理の内容で対応することができる。
In the invention of claim 4, by changing / switching the remaining time processing contents in accordance with the gaming state, it is possible to perform processing adapted to the interest of the player in accordance with the gaming state. For example, the player's interest is focused on whether or not it will be a jackpot during normal games, but it is almost promised that a jackpot will occur during probability-changing games, and the player's interest is not whether or not a jackpot, First of all, it is whether or not the probability change will continue, and depending on the model, it may be whether or not it will be a big hit with more balls, but in response to changes in the player's interest for each model, This can be dealt with by the content of the remaining time processing.

以下、遊技機の一つであるパチンコ機における一実施例について説明する。図1は、パチンコ機に設けられる各種電装品とそれらを制御する制御基板における電源の接続経路と信号の接続経路を示す図である。中抜き矢印の示す方向が電源の接続方向を示し、黒矢印の示す方向が信号の接続先と送信方向で、一方向或いは双方向であるかをを示している。   Hereinafter, an embodiment of a pachinko machine that is one of the gaming machines will be described. FIG. 1 is a diagram illustrating various electrical components provided in a pachinko machine and power supply connection paths and signal connection paths in a control board that controls them. The direction indicated by the hollow arrow indicates the connection direction of the power supply, and the direction indicated by the black arrow indicates whether the signal connection destination and the transmission direction are unidirectional or bidirectional.

外部からの電源となるAC24V電源は、電源基板10にて5V、12V、32Vのパチンコ機で使用する所要の電圧に変換され、遊技球の球貸し外部装置であるCRユニットとの中継基板であるCR接続基板20と、遊技球の発射や賞球の払い出しに係る制御を行う払出制御基板30に接続される。遊技盤面に配置された各種スイッチからの入力信号に基づきパチンコ遊技としての全体の進行に係る遊技制御を行う主制御基板50は、払出制御基板30を介して電源供給を受け、演出中継端子板60を介してサブ基板である画像制御基板70、電飾音声制御基板80に電源を供給する。   The AC 24V power source, which is an external power source, is converted into a required voltage for use in a 5V, 12V, and 32V pachinko machine by the power source board 10 and is a relay board with a CR unit that is a ball lending external device for game balls. The CR connection board 20 is connected to a payout control board 30 that performs control related to the launch of game balls and the payout of prize balls. The main control board 50 that performs game control related to the overall progress as a pachinko game based on input signals from various switches arranged on the game board surface is supplied with power via the payout control board 30, and the effect relay terminal board 60. Power is supplied to the image control board 70 and the electrical sound control board 80, which are sub boards.

主制御基板50は、遊技盤中継端子板90を経由して、特別図柄の作動契機である始動口スイッチ91、大入賞口へ入賞した遊技球数を計数する大入賞口入賞スイッチ92、特別図柄に当たり図柄が得られると大入賞口を開放する大入賞口ソレノイド93、普通図柄の作動契機である普通図柄スイッチ94、普通図柄に当たり図柄が得られると普通電動役物を開放する普通電役ソレノイド95、普通電動役物へ入賞した遊技球を検出する普通電動役物スイッチ(図示せず)、図示しない一般入賞口へ入賞した遊技球を検出する入賞口スイッチ(図示せず)、普通図柄を変動表示する普通図柄表示基板96、特別図柄を変動表示する特別図柄表示基板97と接続されており、始動口スイッチ91、大入賞口入賞スイッチ92等、賞球の払い出し契機となるスイッチからの信号に基づき、払出制御基板30に賞球コマンドを送信して、賞球を払い出させる。   The main control board 50, via the game board relay terminal board 90, a start opening switch 91 which is the trigger for operating a special symbol, a large winning opening winning switch 92 for counting the number of game balls won to the big winning opening, a special symbol When a winning symbol is obtained, a large winning opening solenoid 93 that opens the winning symbol, a normal symbol switch 94 that triggers the normal symbol, and a normal electric solenoid 95 that releases a normal electric accessory when the normal symbol is obtained. , A normal electric accessory switch (not shown) for detecting a game ball won in a normal electric accessory, a winning opening switch (not shown) for detecting a game ball won in a general winning opening (not shown), and a normal symbol are changed. It is connected to a normal symbol display board 96 for displaying and a special symbol display board 97 for variably displaying special symbols. Based on the signal from the switch to the machine, by sending Shodama command to the payout control board 30, thereby paid the prize balls.

払出制御基板30は、発射ソレノイド31、球送りソレノイド32、扉開放スイッチ33、受け皿満杯スイッチ34、払出モータ35、賞球カウントスイッチ36と接続されており、主制御基板50からの賞球コマンドに基づき賞球の払い出しに係る制御を行うとともに、球貸し操作基板21に設けられたスイッチ操作により貸球の払い出しに係る制御を行う。さらに、ハンドル接続基板40を介して入力される発射停止スイッチ41、タッチスイッチ42からの信号に基づき遊技球の発射制御を行う。   The payout control board 30 is connected to a launch solenoid 31, a ball feed solenoid 32, a door opening switch 33, a saucer full switch 34, a payout motor 35, and a prize ball count switch 36, and receives a prize ball command from the main control board 50. Based on the control for the payout of the winning ball, the control for the payout of the ball is performed by a switch operation provided on the ball lending operation board 21. Furthermore, the launch control of the game ball is performed based on signals from the launch stop switch 41 and the touch switch 42 input via the handle connection board 40.

画像制御基板70は、主制御基板50からの送信コマンドに基づき、演出表示装置71における特別図柄表示基板97での特別図柄の変動開始に伴う演出画像を制御する。電飾音声制御基板80は、遊技者が操作する演出ボタン81、遊技の進行に合わせて点灯・点滅される各種の装飾LED82、効果音を発生するスピーカ83と接続され、主制御基板50からの送信コマンドに基づく電飾並びに発音による演出に係る制御を行う。   Based on the transmission command from the main control board 50, the image control board 70 controls the effect image that accompanies the start of variation of the special symbol on the special symbol display board 97 in the effect display device 71. The electric sound control board 80 is connected to an effect button 81 operated by the player, various decoration LEDs 82 that are lit / flashed as the game progresses, and a speaker 83 that generates sound effects. Control related to lighting and sound production based on the transmission command is performed.

図2は、主制御基板50に搭載されたマイクロプロセッサ100の内部ブロック図である。このマイクロプロセッサ100は、パチンコ機の制御に用いるために、システムリセット時にユーザープログラムの改ざんをチェックし、結果が正常でなければCPU110を停止するセキュリティチェック機能を有している。また、暴走を防ぐため、予め指定されたアドレス範囲外で命令が実行されるとリセットされる、指定エリア外走行禁止機能も付与されている。内蔵ROM120にはユーザプログラムやユーザプログラムを実行するために必要なデータが格納されており、SRAMの内蔵RAM130をユーザプログラムのワークエリアとして使用する。なお、5Vのバックアップ電源を供給することで、電源切断後も内蔵RAM130内のデータをバックアップすることができる。   FIG. 2 is an internal block diagram of the microprocessor 100 mounted on the main control board 50. The microprocessor 100 has a security check function for checking the tampering of the user program at the time of system reset and stopping the CPU 110 if the result is not normal in order to be used for controlling the pachinko machine. In addition, in order to prevent runaway, a function to prohibit running outside the designated area is provided, which is reset when a command is executed outside the address range designated in advance. The internal ROM 120 stores a user program and data necessary for executing the user program, and the internal RAM 130 of the SRAM is used as a work area for the user program. By supplying 5V backup power, the data in the internal RAM 130 can be backed up even after the power is turned off.

クロック回路140は、入力された外部クロックを分周し、CPU110と内部の各回路に供給する内部システムクロックを生成し、タイマ回路(CTC)150は、生成されたクロックをカウントするCH0、CH1、CH2、CH3の合計4個の独立したモードで動作できる8ビットカウンタを内蔵し、リセット/割込み制御回路160は、タイマ回路150からのCH0割込み要求、CH1割込み要求、或いは、各種リセット要求を制御する。ウォッチドッグタイマ170は、クロック回路140からのクロックに基づきタイムアウト時間を経過するとユーザーリセットを発生させるタイムアウト信号を出力する。その他、指定エリア外走行禁止機能のための指定エリア外走行禁止回路180、パラレル入出力ポート190、アドレスデコード回路200、外部インターフェース210、乱数発生回路220等が設けられている。   The clock circuit 140 divides the input external clock and generates an internal system clock to be supplied to the CPU 110 and internal circuits, and a timer circuit (CTC) 150 counts the generated clocks CH0, CH1, An 8-bit counter that can operate in a total of four independent modes of CH2 and CH3 is incorporated, and the reset / interrupt control circuit 160 controls the CH0 interrupt request, CH1 interrupt request, or various reset requests from the timer circuit 150. . The watchdog timer 170 outputs a time-out signal for generating a user reset when a time-out time elapses based on the clock from the clock circuit 140. In addition, a non-designated area travel prohibition circuit 180, a parallel input / output port 190, an address decoding circuit 200, an external interface 210, a random number generation circuit 220, etc. are provided for the non-designated area travel prohibition function.

次に、主制御基板50に搭載されたマイクロプロセッサ100に格納されているユーザープログラムとしての主タイマ割込み処理について説明する。なお、以下の説明において、主タイマ割込みをCH0割込み、主タイマ割込み処理をCH0割込み処理、従タイマ割込みをCH1割込み、従タイマ割込み処理をCH1割込み処理という。   Next, main timer interrupt processing as a user program stored in the microprocessor 100 mounted on the main control board 50 will be described. In the following description, the main timer interrupt is referred to as CH0 interrupt, the main timer interrupt process is referred to as CH0 interrupt process, the slave timer interrupt is referred to as CH1 interrupt, and the slave timer interrupt process is referred to as CH1 interrupt process.

パチンコ機に電源が投入されると、主制御基板50に搭載されたマイクロプロセッサ100のユーザープログラムに対してセキュリティチェックが行われた後、ユーザープログラムがスタートするが、まずは電源投入時のプログラム開始処理について、図3を参照して説明を行う。まず、スタックポインタ初期値をスタックポインタに設定し(S10)、割込みモードとして割込みモード2をセットし(S11)、RWMの書き込みが許可され(S12)、内蔵レジスタの初期設定(S13)が実行される。次に、RWMクリアスイッチが操作されているかの判定が行われ、操作されていなければ(S14がNo)、電源断正常の情報がRWMに保存されているかの判定へ進み、正常の情報が保存(S15がYES)されていれば、RWMのチェックサムを算出して、電源断時に保存したチェックサムと一致するかの判定へ進み、一致(S18がYES)していれば、電源断前の状態に復帰させるため、電源断時のスタックポインタを復帰(S20)させ、タイマ回路(CTC)からの割込み要求を起動させる。CTCタイマ割込みとして、優先順位の最も高いチャンネル0(CH0)からの割込み要求信号と、CH0よりは優先順位の低いチャンネル1(CH1)からの割込み要求信号が発生するように、それぞれのタイマを起動(S30,S40)させる。次いで、全ての使用レジスタを復帰(S50)させた後、CH0とCH1の割込みを許可(S60,S70)し、CH1からの割込み要求信号が発生していれば、CH1割込みフラグをON(S80)し、電源断前の番地へジャンプして、電源断前の状態に復帰させてプログラムの続きを実行させる。   When the power is turned on to the pachinko machine, the security check is performed on the user program of the microprocessor 100 mounted on the main control board 50, and then the user program starts. First, the program start process at power-on Will be described with reference to FIG. First, the stack pointer initial value is set in the stack pointer (S10), interrupt mode 2 is set as the interrupt mode (S11), RWM write is permitted (S12), and the internal register initialization (S13) is executed. The Next, it is determined whether or not the RWM clear switch is operated. If it is not operated (No in S14), the process proceeds to determination of whether or not power-off normal information is stored in the RWM, and normal information is stored. If (S15 is YES), the RWM checksum is calculated, and the process proceeds to the determination of whether or not it matches the checksum stored when the power is turned off. In order to return to the state, the stack pointer at the time of power-off is returned (S20), and an interrupt request from the timer circuit (CTC) is activated. Start each timer so that an interrupt request signal from channel 0 (CH0) with the highest priority and an interrupt request signal from channel 1 (CH1) with a lower priority than CH0 are generated as CTC timer interrupts. (S30, S40). Next, after all used registers are restored (S50), CH0 and CH1 interrupts are permitted (S60, S70). If an interrupt request signal is generated from CH1, the CH1 interrupt flag is turned ON (S80). Then, the program jumps to the address before turning off the power, returns to the state before turning off the power, and continues the program.

RWMクリアスイッチが操作されている(S14がYES),電源断正常の情報がRWMに保存されていない(S15がNO)、算出したチェックサムが電源断時に保存したチェックサムと一致しない(S18がNO)ならば、RWMの全領域を0クリア(S22)し、電源投入正常の情報を保存(S24)し、RWMに通常遊技中の初期値を設定した後、CH0タイマとCH1タイマを起動させた後、CH0とCH1の割込みを許可し、CH1からの割込み要求信号が発生していれば、CH1割込みフラグをON(S81)して、CH0の割込み要求が発生するまで待機する。   When the RWM clear switch is operated (YES in S14), information indicating that the power supply is normal is not stored in the RWM (S15 is NO), and the calculated checksum does not match the checksum stored when the power is turned off (S18 If NO, clear all areas of RWM to 0 (S22), save power-on normal information (S24), set the initial value during normal game in RWM, and start CH0 timer and CH1 timer After that, CH0 and CH1 interrupts are permitted, and if an interrupt request signal is generated from CH1, the CH1 interrupt flag is turned ON (S81), and the system waits until a CH0 interrupt request is generated.

次に、図4、図5を参照して、プログラム開始処理のサブルーチンのCH0タイマ起動処理とCH1タイマ起動処理について説明を行う。S32では、チャンネルCH0の8ビットの制御語をセットする。各ビットの値に応じた指示内容としては、ビット0=1 チャンネル制御語を指定、ビット1=1 チャンネルリセット、ビット2=1 時間定数設定あり、ビット3=0 時間定数をロードした後、タイマ起動、ビット4=1 クロックの立ち上がりでタイマ動作を起動、ビット5=1 プリスケーラ値256、ビット6=0 タイマモード、ビット7=1 割込み許可 が規定されている。チャンネル制御語をCH0タイマ回路制御レジスタにセット(S34)し、S36でロードしたCH0時間定数125をS38でCH0タイマ回路制御レジスタにセットして、CH0タイマ起動処理は終了する。同様に、CH1タイマ起動処理は、S42でチャンネルCH1の制御語をロードし、CH1タイマ回路制御レジスタにセット(S44)する。CH1時間定数123をロード(S46)し、CH1タイマ回路制御レジスタにセット(S48)して、CH1タイマ起動処理は終了する。   Next, the CH0 timer activation process and the CH1 timer activation process in the subroutine of the program start process will be described with reference to FIGS. In S32, an 8-bit control word for channel CH0 is set. Instruction contents according to the value of each bit include bit 0 = 1 channel control word, bit 1 = 1 channel reset, bit 2 = 1 time constant setting, bit 3 = 0 timer after loading time constant Start, bit 4 = 1 Start timer operation at the rising edge of the clock, bit 5 = 1 prescaler value 256, bit 6 = 0 timer mode, bit 7 = 1 interrupt enable. The channel control word is set in the CH0 timer circuit control register (S34), the CH0 time constant 125 loaded in S36 is set in the CH0 timer circuit control register in S38, and the CH0 timer activation process ends. Similarly, in the CH1 timer activation process, the control word of channel CH1 is loaded in S42 and set in the CH1 timer circuit control register (S44). The CH1 time constant 123 is loaded (S46), set in the CH1 timer circuit control register (S48), and the CH1 timer activation process ends.

ここで電源が落ちた場合の電源断発生時処理について図6を参照しながら説明をする。電源基板10の電圧監視回路(図示せず)が24V外部電源の電圧値が所定電圧への降圧を検出するとNMI割り込みが発生し、電源断発生時処理が実行される。まず、全使用レジスタの待避(S1001)、割り込み許可/禁止状態を保存(S1002)し、電源投入情報が正常データであるかを判定し、正常データのAAH(S1003がYES)であれば、スタックポインタを保存(S1004)し、電源断情報として55Hを保存(S1005)し、RAMのチェックサムを算出して保存(S1006)した後、RAMへの新たな書き込みを禁止(S1008)して、機能停止を待つ。電源投入情報が正常でなければ(S1003がNO)、電源投入時にRAMクリアして初期状態から開始させる電源断情報00Hを保存(S1007)してから、RAMへの新たな書き込みを禁止(S1008)し、機能停止を待つ。   Here, the processing at the occurrence of power interruption when the power is turned off will be described with reference to FIG. When a voltage monitoring circuit (not shown) on the power supply board 10 detects that the voltage value of the 24V external power supply has dropped to a predetermined voltage, an NMI interrupt is generated, and the process when the power supply is interrupted is executed. First, save all used registers (S1001), save the interrupt enable / disable state (S1002), determine whether the power-on information is normal data, and if normal data is AAH (S1003 is YES), stack The pointer is saved (S1004), 55H is saved as power-off information (S1005), the RAM checksum is calculated and saved (S1006), and new writing to the RAM is prohibited (S1008). Wait for the stop. If the power-on information is not normal (NO in S1003), the RAM is cleared when power is turned on and the power-off information 00H that starts from the initial state is saved (S1007), and new writing to the RAM is prohibited (S1008). And wait for the function to stop.

図7に基づき、4ms周期で発生するCH0割込みによって実行されるメインルーチンのCH0割込み処理を説明する。CH0割込み処理は、はじめにレジスタを待避(S90)させ、ウオッチドッグのクリア要求を設定(S91)した後、各サブルーチンの開始アドレスにジャンプする。CH1タイマ修正処理(S100)、入力処理(S200)、乱数カウンタ更新処理(S300)、普通図柄遊技処理(S400)、普通電動役物遊技処理(S500)、特別図柄1遊技処理(S600)、特別図柄2遊技処理(S650)、特別電動役物処理(S700,S750)、出力処理(S800)まで進んだ段階で、CH0割込み毎に実行対象となる制御プログラムは実行終了し、次のCH0割込みまでが残余時間を利用した残余時間処理の対象時間となる。この残余時間の大きさはプログラムの処理内容により変動するが、おおよそ1000μs〜2500μsとなる。この残余時間処理は残余時間の大きさによって実行する処理内容が変わり、CH1割込みが発生しておらず残余時間が十分に残されている場合は処理時間が長い全初期値カウンタ更新処理(S950)を実行し、全初期値カウンタ更新処理中にCH1割込みが発生しておれば、処理時間が短い一部初期値カウンタ更新処理(S920)を1回のみ実行し、CH0割込みが発生するのを待つ。   Based on FIG. 7, the CH0 interrupt process of the main routine executed by the CH0 interrupt generated at a cycle of 4 ms will be described. In the CH0 interrupt process, first, the register is saved (S90), a watchdog clear request is set (S91), and then jumps to the start address of each subroutine. CH1 timer correction process (S100), input process (S200), random number counter update process (S300), normal symbol game process (S400), normal electric equipment game process (S500), special symbol 1 game process (S600), special At the stage of progressing to the symbol 2 game process (S650), the special electric accessory process (S700, S750), and the output process (S800), the execution of the control program to be executed for each CH0 interrupt is completed, and until the next CH0 interrupt. Becomes the target time of the remaining time processing using the remaining time. The amount of the remaining time varies depending on the processing contents of the program, but is approximately 1000 μs to 2500 μs. This remaining time process changes depending on the size of the remaining time, and if the CH1 interrupt has not occurred and the remaining time is sufficient, the entire initial value counter update process having a long processing time (S950). If the CH1 interrupt has occurred during the all initial value counter update process, the partial initial value counter update process (S920) with a short processing time is executed only once and waits for the CH0 interrupt to occur. .

図8に示すCH1タイマ修正処理(S100)は、CH0割込みよりも優先順位の低いCH1割込みを、CH0割込みの所定時間前に発生させるように調整するための処理であり、CH0割込み処理がスタートしてから一定数のステート数によるプログラムが実行された後の最初の処理としてプログラミングされ、タイマが再起動されるまでの時間にバラツキがないよう工夫してある。まずCH1割込みフラグをOFF(S101)し、時間定数123をCH1タイマ回路制御レジスタにセット(S103)してメイン処理に戻ると、CH1タイマが起動される。この時間定数の値123は、後述するように、全初期値カウンタ更新処理(S950)に要する最長時間とCH1タイマ修正処理が開始されるまでの時間、及びCH1タイマ回路制御レジスタに時間定数をセットするまでの時間を加えた時間より大きくなるように設定されている。   The CH1 timer correction process (S100) shown in FIG. 8 is a process for adjusting a CH1 interrupt having a lower priority than the CH0 interrupt to occur before a predetermined time of the CH0 interrupt, and the CH0 interrupt process starts. The program is programmed as the first process after a program having a certain number of states is executed, so that there is no variation in the time until the timer is restarted. First, when the CH1 interrupt flag is turned off (S101), the time constant 123 is set in the CH1 timer circuit control register (S103) and the process returns to the main process, the CH1 timer is started. As will be described later, the time constant value 123 sets the maximum time required for the all initial value counter update process (S950), the time until the CH1 timer correction process is started, and the time constant in the CH1 timer circuit control register. It is set to be larger than the time that is added to the time until.

図9、図10に示す乱数カウンタ更新処理(S300)は、遊技の進行上用いられる4つの判定値、すなわち、4種類のカウンタ値を順次更新しており、それぞれの判定値に係る判定値加算更新処理と開始値記憶処理に対応している。特別当たりカウンタは、特別図柄表示基板97に表示される特別図柄を当たり図柄で確定表示するか否かを決定するために、例えば、0〜315の範囲の値で構成されるもので、CH0割込み毎に+1ずつ加算(S303)され、加算後の値が最大値の315より大きいか否かを比較(S304)し、大きくないとなれば加算値のままで、大きいとなれば加算値を0に戻す(S305)。 このS301〜S305までとS310とが、特別当たりカウンタを判定値とした場合の判定値加算更新処理に対応している。また、加算後の値が記憶されている特当初期値メモリの値と比較(S306)し、等しくなければ、その時点の特別当たりレジスタの値を特別当たりカウンタに格納(S310)する。等しい場合には、特当初期値カウンタの値を読み出し(S307)、その値を特当初期値メモリに書き込む(S309)とともに特別当たりカウンタに書き替え(S310)する。このS306〜S309が、開始値記憶処理に対応している。   The random number counter update process (S300) shown in FIG. 9 and FIG. 10 sequentially updates four determination values used in the progress of the game, that is, four types of counter values, and adds the determination values related to the respective determination values. It corresponds to update processing and start value storage processing. The special hit counter is configured with a value in the range of 0 to 315, for example, in order to determine whether or not the special symbol displayed on the special symbol display board 97 is confirmed and displayed as a hit symbol. +1 is added every time (S303), and it is compared whether or not the value after the addition is larger than the maximum value 315 (S304). (S305). Steps S301 to S305 and S310 correspond to determination value addition update processing when the special winning counter is used as a determination value. Further, the value after addition is compared with the stored value in the special initial value memory (S306), and if not equal, the value of the special hit register at that time is stored in the special hit counter (S310). If equal, the value of the special initial value counter is read (S307), and the value is written to the special initial value memory (S309) and rewritten to the special hit counter (S310). S306 to S309 correspond to the start value storing process.

次に、普通図柄表示基板96に表示される普通図柄を当たり図柄で確定表示するか否かを決定するための普通当たりカウンタは、例えば、0〜199の範囲の値で構成され、CH0割込み毎に+1ずつ加算(S313)され、加算後の値が最大値の199より大きいか否かを比較(S314)し、大きくないとなれば加算値のままで、大きいとなれば加算値を0に戻す(S315)。また、加算後の値が記憶されている普当初期値メモリの値と比較(S316)し、等しくなければ、その時点の普通当たりレジスタの値を普通当たりカウンタに格納(S320)する。等しい場合には、普当初期値カウンタの値を読み出し(S317)、その値を普当初期値メモリに書き込む(S319)とともに普通当たりカウンタに書き替え(S320)する。ここでも、S311〜S315とS320とが判定値加算更新処理に対応し、S316〜S319が開始値記憶処理に対応している。   Next, the normal hit counter for determining whether or not the normal symbol displayed on the normal symbol display board 96 is fixedly displayed as a hit symbol is configured with a value in the range of 0 to 199, for example, for each CH0 interrupt. Is added by 1 (S313), and it is compared whether or not the value after addition is larger than the maximum value of 199 (S314). If it is not larger, it remains as the added value, and if it is larger, the added value is set to 0. Return (S315). Further, the value after addition is compared with the stored value in the ordinary initial value memory (S316), and if not equal, the value of the ordinary hit register at that time is stored in the ordinary hit counter (S320). If they are equal, the value of the normal initial value counter is read (S317), and the value is written to the normal initial value memory (S319) and rewritten to the normal hit counter (S320). Again, S311 to S315 and S320 correspond to the determination value addition update process, and S316 to S319 correspond to the start value storage process.

次に、遊技球が始動口スイッチ91を通過したタイミングで取得された特別当たりカウンタの値が大当たり値である場合に、確率変動させるか否かを決定するための確変判定レジスタは、例えば、0〜499の範囲で構成され、CH0割込み毎に+1ずつ加算(S323)され、加算後の値が最大値の499より大きいか否かを比較(S324)し、大きくないとなれば加算値のままで、大きいとなれば加算値を0に戻す(S325)。また、加算後の値が記憶されている確変初期値メモリの値と比較(S326)し、等しくなければ、その時点の確変判定レジスタの値を確変判定カウンタに格納(S330)する。等しい場合には、確変初期値カウンタの値を読み出し(S327)、その値を確変初期値メモリに書き込む(S329)とともに確変判定カウンタに書き替え(S330)する。上記2種類の判定値の場合と同様、S321〜S325までとS330とが判定値加算更新処理に対応し、S326〜S329が開始値記憶処理に対応している。   Next, when the value of the special hit counter acquired at the timing when the game ball passes the start port switch 91 is a big hit value, the probability change determination register for determining whether or not the probability change is, for example, 0 499, and is incremented by +1 for each CH0 interrupt (S323), and whether the value after addition is larger than the maximum value of 499 is compared (S324). If it is larger, the added value is returned to 0 (S325). Further, the value after addition is compared with the value stored in the probability change initial value memory (S326), and if not equal, the value of the probability change determination register at that time is stored in the probability change determination counter (S330). If they are equal, the value of the probability variation initial value counter is read (S327), and the value is written to the probability variation initial value memory (S329) and rewritten to the probability variation determination counter (S330). As in the case of the two types of determination values, S321 to S325 and S330 correspond to the determination value addition update process, and S326 to S329 correspond to the start value storage process.

次に、遊技球が始動口スイッチ91を通過したタイミングで取得された特別当たりカウンタの値が大当たり値であって、かつ、同じタイミングで取得された確変判定カウンタの値が確率を変動させる値である場合に、確定表示させる特別図柄の大当たり図柄を決定するための当たり特図カウンタは、例えば、0〜119の範囲の値で構成されるもので、CH0割込み毎に+1ずつ加算(S333)され、加算後の値が最大値の119より大きいか否かを比較(S334)し、大きくないとなれば加算値のままで、大きいとなれば加算値を0に戻す(S335)。また、加算後の値が記憶されている特図初期値メモリの値と比較(S336)し、等しくなければ、その時点の当たり特図レジスタの値を当たり特図カウンタに格納(S340)する。等しい場合には、特図初期値カウンタの値を読み出し(S337)、その値を特図初期値メモリに書き込む(S339)とともに当たり特図カウンタに書き替え(S340)する。この場合も、S331〜S335までとS340とが判定値加算更新処理に対応し、S336〜S339が開始値記憶処理に対応している。   Next, the value of the special hit counter acquired at the timing when the game ball passes the start port switch 91 is a jackpot value, and the value of the probability variation determination counter acquired at the same timing is a value that changes the probability. In a certain case, the special symbol counter for determining the big bonus symbol of the special symbol to be fixedly displayed is composed of a value in the range of 0 to 119, for example, and is incremented by +1 for each CH0 interrupt (S333). Then, it is compared whether or not the value after addition is larger than the maximum value 119 (S334). If it is not larger, the added value remains as it is, and if it is larger, the added value is returned to 0 (S335). Further, the value after addition is compared with the value stored in the special figure initial value memory (S336), and if not equal, the value of the hit special figure register at that time is stored in the special figure counter (S340). If equal, the value of the special figure initial value counter is read (S337), and the value is written to the special figure initial value memory (S339) and rewritten to the hit special figure counter (S340). Also in this case, S331 to S335 and S340 correspond to the determination value addition update process, and S336 to S339 correspond to the start value storage process.

全初期値カウンタ更新処理(S950)は、乱数カウンタ更新処理(S300)内で使用される4種類の初期値全てを更新する処理であり、処理実行中にCH1割込みフラグが発生し、全初期値カウンタ更新処理終了後のCH1割込みフラグ確認(S900)でONであることが確認されるまでは、繰り返し実行される。そして、CH1割込みフラグ確認でONであれば、乱数カウンタ更新処理(S300)内で使用される4種類の初期値のうち、遊技への影響度合いの大きい特別当たりカウンタと確変判定カウンタに係る初期値のみを更新する一部初期値カウンタ更新処理を1回だけ実行してから、CH0割込みフラグの発生を待つ。   The all initial value counter update process (S950) is a process for updating all four types of initial values used in the random number counter update process (S300), and the CH1 interrupt flag is generated during the execution of the process. It is repeatedly executed until it is confirmed that the CH1 interrupt flag is confirmed (S900) after completion of the counter update process. If the CH1 interrupt flag confirmation is ON, among the four types of initial values used in the random number counter update process (S300), the initial values related to the special hit counter and the probability variation determination counter that have a large influence on the game. The partial initial value counter updating process for updating only the initial value is executed once, and then the generation of the CH0 interrupt flag is waited.

図11を用いて全初期値カウンタ更新処理(S950)の内容を説明する。初期値の更新中にCH1割込みフラグが発生しても無視するように、まずCH1割込みを禁止(S951)する。次に、特別当たりカウンタを+1ずつ加算して取り得る数値範囲を1巡した場合に、次のCH0割込み発生時の特別当たりカウンタ加算前の値として差し替えられるもので、特当初期値として取り得る数値範囲は特別当たりカウンタと必ず同じとなり、例えば特別当たりカウンタが0〜315であれば、特当初期値カウンタも0〜315となる。待避されている特当初期値カウンタの値をロードするために、アドレスをセット(S952)し、値を取り込んだ(S953)後、+1加算(S954)し、加算値が特当初期値として取り得る数値の最大値より大きいか否かを比較(S955)し、大きくないとなれば加算値のままで、大きいとなれば加算値を0に戻して(S956)特当初期値カウンタに戻す(S957)。ここまでの、S952〜S957までが特当初期値における初期値加算更新処理に対応する。   The contents of the all initial value counter update process (S950) will be described with reference to FIG. First, the CH1 interrupt is prohibited (S951) so that even if the CH1 interrupt flag is generated during the update of the initial value, it is ignored. Next, when the value range that can be obtained by adding the special hit counter by +1 is made one round, it can be replaced as the value before the special hit counter addition at the time of the next CH0 interrupt occurrence, and can be taken as a special initial value. The numerical value range is always the same as that of the special hit counter. For example, if the special hit counter is 0 to 315, the special initial value counter is also 0 to 315. In order to load the saved special initial value counter value, the address is set (S952), the value is taken in (S953), and +1 is added (S954), and the added value is taken as the special initial value. It is compared whether or not it is larger than the maximum value to be obtained (S955). If it is not larger, it remains as an added value, and if it is larger, the added value is returned to 0 (S956) and returned to the special initial value counter (S956). S957). Up to this point, S952 to S957 correspond to the initial value addition update processing with the special initial value.

次に、普通当たりカウンタの値が取り得る数値範囲0〜199と同じ数値範囲の値で構成される普当初期値カウンタの歩進について説明すると、待避されている普当初期値カウンタの値をロードするために、アドレスをセット(S958)し、値を取り込んだ(S959)後、+1加算(S960)し、加算値が普当初期値として取り得る数値の最大値より大きいか否かを比較(S961)し、大きくないとなれば加算値のままで、大きいとなれば加算値を0に戻して(S962)普当初期値カウンタに戻す(S963)。この、S958〜S963が普当初期値における初期値加算更新処理に対応する。   Next, a description will be given of the advance of the normal initial value counter configured with the same numerical value range as the numerical value range 0 to 199 that the normal hit counter value can take. To load, set the address (S958), fetch the value (S959), add +1 (S960), and compare whether the added value is larger than the maximum value that can be taken as a normal initial value (S961) If the value is not larger, the added value remains unchanged. If the value is larger, the added value is returned to 0 (S962) and returned to the ordinary initial value counter (S963). These S958 to S963 correspond to the initial value addition update process at the normal initial value.

次に、確変判定カウンタの値が取り得る数値範囲0〜119と同じ数値範囲の値で構成される確変初期値カウンタの歩進について説明すると、待避されている確変初期値カウンタの値をロードするために、アドレスをセット(S964)し、値を取り込んだ(S965)後、+1加算(S966)し、加算値が確変初期値として取り得る数値の最大値より大きいか否かを比較(S967)し、大きくないとなれば加算値のままで、大きいとなれば加算値を0に戻して(S968)確変初期値カウンタに戻す(S969)。同様に、S964〜S969が確変初期値における初期値加算更新処理に対応する。   Next, a description will be given of the step of the probability variation initial value counter configured with values in the same numerical value range as the value range of the probability variation determination counter that can be taken. The saved value of the probability variation initial value counter is loaded. Therefore, the address is set (S964), the value is taken in (S965), and then +1 is added (S966), and it is compared whether or not the added value is larger than the maximum value that can be taken as the initial value of probability change (S967). If it is not larger, the added value remains unchanged, and if it is larger, the added value is returned to 0 (S968) and returned to the probability variation initial value counter (S969). Similarly, S964 to S969 correspond to the initial value addition update process in the probability variation initial value.

次に、当たり特図カウンタの値が取り得る数値範囲0〜499と同じ数値範囲の値で構成される特図初期値カウンタの歩進について説明すると、待避されている特図初期値カウンタの値をロードするために、アドレスをセット(S970)し、値を取り込んだ(S971)後、+1加算(S972)し、加算値が特図初期値として取り得る数値の最大値より大きいか否かを比較(S973)し、大きくないとなれば加算値のままで、大きいとなれば加算値を0に戻して(S974)特図初期値カウンタに戻す(S975)。同様に、S970〜S975が特図初期値における、初期値加算更新処理に対応する。全ての初期値の更新が終了すると、CH1割込みを許可して、1回の全初期値カウンタ更新処理を終了する。以上のように全初期値カウンタ更新処理では、4種類の初期値に対する初期値加算更新処理が順に行われたことになる。   Next, the advance of the special figure initial value counter configured with values in the same numerical range as the numerical value range 0 to 499 that the value of the hit special figure counter can take will be described. Is loaded (S970), the value is taken in (S971), and then +1 is added (S972), and whether or not the added value is larger than the maximum value that can be taken as a special figure initial value is determined. The comparison is made (S973). If it is not larger, the added value remains unchanged. If it is larger, the added value is returned to 0 (S974) and returned to the special figure initial value counter (S975). Similarly, S970 to S975 correspond to the initial value addition update process in the special figure initial value. When all the initial values have been updated, the CH1 interrupt is permitted and the one-time all initial value counter updating process is completed. As described above, in the all initial value counter update process, the initial value addition update process for the four types of initial values is sequentially performed.

ここで全初期値カウンタ更新処理において、4種類の初期値の加算後の値全てがそれぞれの最大値を超えて0クリアされる処理が連続した場合が、プログラムを実行するに最大のステート数、228ステートを要することとなる。この全初期値カウンタ更新処理が最長の場合であっても、処理中にCH0割込みが発生しないようにするため、CH0割込みより先にCH1割込みを発生させることが必要となる。ちなみに通常の遊技制御処理が終了した後のCH0割込みが発生するまでの残余時間は1000μs〜2500μsであり、CH1割込みが通常の遊技制御の中で最後に実行されるサブルーチンの出力処理(S800)が終了する以前に発生することはない。   Here, in the all initial value counter update process, when all the values after addition of the four types of initial values exceed the respective maximum values and the process is cleared to 0, the maximum number of states for executing the program, 228 states are required. Even if this all initial value counter update process is the longest, it is necessary to generate the CH1 interrupt before the CH0 interrupt in order to prevent the CH0 interrupt from occurring during the process. Incidentally, the remaining time from the end of the normal game control process until the occurrence of the CH0 interrupt is 1000 μs to 2500 μs, and the subroutine output process (S800) in which the CH1 interrupt is executed last in the normal game control is performed. It does not occur before it ends.

CH1割込みは、CH0割込み処理の中ではじめに実行されるCH1タイマ修正処理でCH1タイマが起動されるため、CH0タイマが計時を開始してからCH1タイマが計時を開始するまでには遅れが生じる。その時間の大きさは、CH0割込み処理がスタートしてCH1割込み処理が開始されるまでが45ステート、CH1タイマ修正処理にてCH1タイマ回路制御レジスタに時間定数をセットされるまでが37ステートの計82ステート、時間換算すると10.25μsが相当する。   Since the CH1 timer is activated in the CH1 timer correction process that is executed first in the CH0 interrupt process, there is a delay between the CH1 timer starting the time measurement and the CH1 timer starting the time measurement. The amount of time is 45 states from the start of CH0 interrupt processing to the start of CH1 interrupt processing, and 37 states from the start of CH1 timer correction processing until the time constant is set in the CH1 timer circuit control register. It corresponds to 10.25 μs in terms of 82 states and time.

全初期値カウンタ更新処理が最長の場合に228ステート、これに計時開始の遅れである82ステートを加えた310ステートに対応する時間38.75μsが、CH0割込み前に全初期値カウンタ更新処理を新たに開始するに必要な時間となる。しかしCH0タイマもCH1タイマも共にプリスケーラ値256にセットされているため、CH0及びCH1タイマ起動処理内でセットされる時定数1が時間換算すると32μsに相当するため、時定数として1減じた124、即ち、32μsでは38.75μsより小さいので問題があり、時定数として2減じた123、即ち、64μs前であれば、遅れ分の10.25μsを差し引いた53.75μsで十分足りている。つまり、CH0割込みの時定数を125、CH1割込みの時定数を123とすれば、CH0割込みが発生する53.75μs前にCH1割込みが発生することとなる。   A time of 38.75 μs corresponding to 310 states including 228 states when the total initial value counter update processing is the longest, and 82 states that are a delay in the start of timing is added to the initial value counter update processing before the CH0 interruption. It will be time to start. However, since both the CH0 timer and the CH1 timer are set to the prescaler value 256, the time constant 1 set in the CH0 and CH1 timer activation processing corresponds to 32 μs in terms of time. That is, there is a problem because the time constant is smaller than 38.75 μs at 32 μs, and 53.75 μs obtained by subtracting 10.25 μs for the delay is sufficient if the time constant is 123, ie, 64 μs before. That is, if the CH0 interrupt time constant is 125 and the CH1 interrupt time constant is 123, the CH1 interrupt occurs 53.75 μs before the CH0 interrupt occurs.

図12を用いて、CH1割込みが発生してからCH0割込みが発生するまでの53.75μsの期間内に実行される一部初期値カウンタ更新処理(S920)の内容を説明する。ここでは既にCH1割込みは発生しているがCH0割込みが発生するまでには、CH1割込み直前に全初期値カウンタ更新処理が開始されてしまった場合が最も残時間が少ない場合となるが、それでも(64−38.75)μs、少なくとも25μsの時間が残されており、4種類の初期値全てを更新する時間は残されていないが、4種類の初期値の中で、より重要性の高い特当初期値と確変初期値の2種類だけの初期値を更新するに必要な最大ステート数110に当該サブルーチンアドレスへジャンプするに要するステート数17を加えた117ステート相当時間=14.625μsは十分に残し、処理後約10μsの間はCH0割込み待ち状態となり、CH0割込み時に処理を実行していることは確実に避けられている。   The contents of the partial initial value counter update process (S920) executed within a period of 53.75 μs from the occurrence of the CH1 interrupt to the occurrence of the CH0 interrupt will be described with reference to FIG. Here, the CH1 interrupt has already occurred, but until the CH0 interrupt occurs, the case where the all initial value counter update process has been started immediately before the CH1 interrupt is the case where the remaining time is the shortest. 64-38.75) μs, at least 25 μs of time is left, and no time is left to update all four types of initial values, but among the four types of initial values, more important features The time corresponding to 117 states, which is the maximum number of states 110 required to update only two types of initial values, the initial value and the probability variation initial value, plus the number of states 17 required to jump to the subroutine address is sufficiently 14.625 μs. The CH0 interrupt is waited for about 10 μs after the processing, and it is certainly avoided that the processing is executed at the time of the CH0 interrupt.

一部初期値カウンタ更新処理は、既にCH1割込みが発生してから実行されるものに限られているため、全初期値カウンタ更新処理とは異なり、CH1割込みを禁止したり許可する必要はなく、直ちに、待避されている特当初期値カウンタの値をロードするために、アドレスをセット(S921)し、値を取り込んだ(S922)後、+1加算(S923)し、加算値が特当初期値として取り得る数値の最大値より大きいか否かを比較(S924)し、大きくないとなれば加算値のままで、大きいとなれば加算値を0に戻して(S925)特当初期値カウンタに戻し(S926)、次に、待避されている確変初期値カウンタの値をロードするために、アドレスをセット(S927)し、値を取り込んだ(S928)後、+1加算(S929)し、加算値が特当初期値として取り得る数値の最大値より大きいか否かを比較(S930)し、大きくないとなれば加算値のままで、大きいとなれば加算値を0クリアして(S931)、その加算値を特当初期値カウンタに戻す(S932)。同様に、S921〜S926が特当初期値における、また、S927〜S932が確変初期値における、初期値加算更新処理に対応する。   Since the partial initial value counter update process is limited to the one that is executed after the CH1 interrupt has already occurred, unlike the all initial value counter update process, there is no need to prohibit or permit the CH1 interrupt. Immediately, in order to load the value of the saved special initial value counter, the address is set (S921), the value is taken in (S922), and +1 is added (S923). The added value is the special initial value. Is compared with the maximum value that can be taken as (S924). If it is not larger, the added value remains as it is, and if it is larger, the added value is returned to 0 (S925) in the special initial value counter. Return (S926), then, in order to load the saved value of the probability change initial value counter, the address is set (S927), the value is taken in (S928), and then +1 is added (S929) Then, it is compared whether or not the added value is larger than the maximum value that can be taken as a special initial value (S930). If it is not larger, the added value remains as it is, and if it is larger, the added value is cleared to 0 ( In step S931, the added value is returned to the special initial value counter (S932). Similarly, S921 to S926 correspond to the initial value addition update processing in the special initial value, and S927 to S932 correspond to the probability variation initial value.

なお、CH0割込み前にCH1割込みを発生させることによって、残余時間中に実行される残余時間処理の実行内容を切り換えることで、CH0割込みが発生するタイミングの周期性を損なわないようにするとの本願目的から逸脱しなければ、上記実施形態に限られるものではない。考え方の1つとしては、上記実施形態の捉え方を、CH1割込みの発生前後によって、全初期値カウンタ更新処理を実行する或いは一部初期値カウンタ更新処理を実行するというように実行する処理内容を差し替えたことに重きを置いて捉えれば、差し替えて実行される処理として満足しなければいけない条件は、CH1割込み後CH0割込みまでに終了することだけが求められており、処理の内容はどのようなものであっても構わない。   The purpose of the present application is to maintain the periodicity of the timing at which the CH0 interrupt occurs by switching the execution contents of the remaining time processing executed during the remaining time by generating the CH1 interrupt before the CH0 interrupt. Without departing from the above, the present invention is not limited to the above embodiment. One way of thinking is to interpret the content of the above embodiment as follows: before or after the occurrence of the CH1 interrupt, the processing contents to be executed such as executing all initial value counter update processing or partially executing initial value counter update processing. If we place importance on the replacement, the only condition that must be satisfied as the process to be executed is that the process must be completed by the CH0 interrupt after the CH1 interrupt. It doesn't matter.

CH0タイマとCH1タイマにおけるそれぞれのプリスケーラ値と時間定数をどのように設定するかが定まった段階、或いはプログラミングされた段階で、CH1割込みからCH0割込みまでの時間が確定しており、CH1割込み発生時に実行されていた処理が終了した後の実質残り時間も把握可能となるため、その時間内で実行可能となるように処理に要する所要時間には配慮する必要はあるものの、それまではCH1割込み前に実行されてきた通常制御処理の範疇に属する処理をCH1割込み後に定常的に配することもできるため、必ずしもCH0割込み直前に実行される処理が、残余時間処理と一括りに呼称され、通常の制御処理が終了した後のおまけ的な処理に限る必要がなくなる。   The time from the CH1 interrupt to the CH0 interrupt is determined at the stage where the setting of the prescaler value and time constant in the CH0 timer and the CH1 timer is determined or programmed, and when the CH1 interrupt occurs Since the actual remaining time after the processing that has been executed can be grasped, it is necessary to consider the time required for the processing so that it can be executed within that time, but until then, before the CH1 interrupt. Since the processing belonging to the category of the normal control processing that has been executed at the time can be steadily arranged after the CH1 interruption, the processing executed immediately before the CH0 interruption is always referred to collectively as the remaining time processing. It is not necessary to limit the process to an extra process after the control process is completed.

また、上記実施形態の捉え方をCH1割込みの発生まではループして同一の処理を繰り返し実行し、CH1割込みが発生したら、ループではなく順番に処理がCH0割込みまでに実行されるようにしていると捉えれば、CH1割込みの前後で実行される処理内容に相互関連性の有無は問われないことも明白である。例えば、図13に示すように、CH1割込みのタイミングを上記実施形態とは異ならせ、もっと早い段階で割り込ませ、CH1割込みまでは初期値の更新処理(S950)を行うが、CH1割込み後に、全ての関連する処理が終了した後外部へ関連情報を出力する出力処理(S1050)だけを、サブ基板へのコマンド送信等から切り離し、1回のCH0割込み処理の中で確実に実行されることさえ担保されれば、CH1割込み後に配される方が果たすべき役割からして合理的であり、残余時間の大きさが不確定である場合には考えることすらできないが、残余時間に1つの一里塚となるCH1割込みを発生させることでプログラミングの自由度は大きく高まる。なお、CH1割込み後に必ずしも何らかの処理を実行する必要もなく、割込み後は単にCH0の割込み待ちとしてももちろん構わない。   Further, the method of the above embodiment is looped until the occurrence of the CH1 interrupt, and the same processing is repeatedly executed. When the CH1 interruption occurs, the processing is executed in order not by the loop but by the CH0 interruption. From the above, it is clear that the processing contents executed before and after the CH1 interrupt are not related to each other. For example, as shown in FIG. 13, the CH1 interrupt timing is made different from that in the above embodiment, interrupted at an earlier stage, and the initial value update processing (S950) is performed until the CH1 interrupt. Only the output process (S1050) that outputs the related information to the outside after the related process is completed is separated from the command transmission to the sub-board, etc., and is guaranteed to be executed reliably in one CH0 interrupt process. If it is done, it is reasonable from the role to be played after the CH1 interruption, and even if the size of the remaining time is uncertain, it cannot be considered, but it becomes one milestone in the remaining time Generating the CH1 interrupt greatly increases the degree of freedom of programming. Note that it is not always necessary to execute any processing after the CH1 interrupt. Of course, it is possible to simply wait for the CH0 interrupt after the interrupt.

さらには、例えば、図14に示すように、CH1割込みまでのループ処理を全初期値更新処理(S950)とし、割込み後であってかつ通常時(S1100がNO)においては特別当たりカウンタの初期値更新処理(S1130)を1回のみ実行し、確率変動時(S1100がYES)においては、確変判定カウンタの初期値更新処理(S1160)を1回のみ実行するようにして遊技状態に応じて実行する処理を切り換えることを組み合わせることも可能である。もちろん、CH1割込みまでのループ処理も全初期値更新処理に限られることはなく、例えば、図15に示すように、CH1割込みまでは特当初期値更新処理(S1230)と確変判定初期値更新処理(S1260)とを順に実行し、CH1割込み後だけ遊技状態に応じて実行する処理を特当初期値更新処理(S1130)と確変判定初期値更新処理(S1160)とに切り換えることでも良く、このような構成によって、通常時では大当たりの発生に関心が集まり、確変時には大当たりが得られることはほぼ約束されているため、確変状態が継続されるかどうかに関心が集まるため、それぞれの関心事に関わる初期値を中心に更新することでよりランダム性の向上に寄与できることになる。なお、この場合、CH1割込みまでは2つの処理をセットされた一連の処理として実行し、CH1割込み後は遊技状態に対応したいずれか一つの処理を単独処理するようであるが、CH1割込みが発生までの処理においてはS951、S976と同様のCH1割込み禁止とCH1割込み許可がプログラムに加わっており、CH1割込み後ではそれらが除かれたプログラムになっており、内容にわずかな違いが求められる。   Further, for example, as shown in FIG. 14, the loop process up to the CH1 interrupt is the all initial value update process (S950), and the initial value of the special hit counter after the interrupt and at the normal time (S1100 is NO) The update process (S1130) is executed only once, and when the probability changes (YES in S1100), the initial value update process (S1160) of the probability variation determination counter is executed only once and executed according to the gaming state. It is also possible to combine the switching of processes. Of course, the loop process up to the CH1 interrupt is not limited to the all initial value update process. For example, as shown in FIG. 15, the special initial value update process (S1230) and the probability variation determination initial value update process until the CH1 interrupt. (S1260) may be executed in order, and the process executed according to the gaming state only after the CH1 interruption may be switched between the special initial value update process (S1130) and the probability variation determination initial value update process (S1160). With this structure, there is an interest in the occurrence of jackpots during normal times, and it is almost promised that jackpots will be obtained when there is a probability change. Updating with the initial value as the center can contribute to the improvement of randomness. In this case, until the CH1 interrupt, two processes are executed as a set of processes, and after the CH1 interrupt, it seems that any one process corresponding to the gaming state is processed independently, but a CH1 interrupt occurs. In the processes up to this point, the CH1 interrupt inhibition and the CH1 interruption permission similar to S951 and S976 are added to the program, and after the CH1 interruption, the program is removed, and a slight difference is required in the contents.

CH1割込み前後での処理内容を選択する際に、それぞれの処理における最短時間・最長時間によっては、上記実施例で用いたプリスケーラ値や時定数では効率よく配することができない恐れが生じるが、このプリスケーラ値や時定数も、さらにはシステムクロック数も開示した数値に拘ることなく、適切な値を選択するようにしても構わない。例えば、同じ8MHzのシステムクロックを用いたとしても、CH0割込みとCH1割込みとではプリスケーラ値を別の値として、より細かいタイミングでCH1割込みを発生させるようにする場合を例示すると、上記実施例においてはCH0タイマもCH1タイマもプリスケーラ値を256としたが、CH1タイマのプリスケーラ値を128とした場合のCH0割込み前に全初期値カウンタ更新処理を新たに開始するに必要な時間38.75μsを確保するためには、CH1割込みの時定数が1減じることによって16μsずつ割込みタイミングが早まるので、4msに対応する時定数250から3を減じた247がCH1割込みの時定数として選択される。しかし、この場合には、時定数3相当分の48μsから38.75μsを差し引いた時間として9.25μsしか残らず、その残時間では上記の一部初期値カウンタ更新処理の実行時間には足りないので、CH1割込み後はCH0割込み待ちとするか、一部初期値カウンタ更新処理を1つの初期値だけに限定した内容に変更することになる。   When selecting the processing contents before and after the CH1 interrupt, depending on the shortest time and the longest time in each processing, there is a possibility that the prescaler value and the time constant used in the above embodiment cannot be arranged efficiently. An appropriate value may be selected regardless of the disclosed prescaler value, time constant, and even the number of system clocks. For example, even when the same 8 MHz system clock is used, the CH1 interrupt is generated at a finer timing with different prescaler values for the CH0 interrupt and the CH1 interrupt. Both the CH0 timer and the CH1 timer have a prescaler value of 256. However, when the prescaler value of the CH1 timer is set to 128, the time required to newly start the all initial value counter update process is secured before the CH0 interruption. For this purpose, since the interrupt timing is advanced by 16 μs by reducing the time constant of the CH1 interrupt by 1, 247 obtained by subtracting 3 from the time constant 250 corresponding to 4 ms is selected as the time constant of the CH1 interrupt. However, in this case, only 9.25 μs remains as the time obtained by subtracting 38.75 μs from 48 μs corresponding to the time constant 3, and the remaining time is insufficient for the execution time of the partial initial value counter update process. Therefore, after the CH1 interrupt, the CH0 interrupt is waited, or the initial value counter update process is changed to a content limited to only one initial value.

CH0割込みより優先順位の低いCH1割込みを併用することによって、CH0割込みの定められた周期性を損なずにCH0割込み毎に1ずつ歩進させるだけでなく、歩進度合いが割込み毎にランダムなものとしたいカウンタ処理を行うに最適な残余時間を無駄なく有効に利用できる。また、CH0割込み発生タイミングよりどの程度先んじてCH1割込みを発生させる必要があるかによって、適宜CH1割込みに係るプリスケーラ値や時定数の組み合わせを選択することで、CH0割込みまでの残時間を調整することが容易に可能となるので、プログラミングの自由度も確保した状態でCH0割込みの周期性を維持できる。   By using together the CH1 interrupt having a lower priority than the CH0 interrupt, not only the CH0 interrupt is incremented by one without losing the defined periodicity of the CH0 interrupt, but also the degree of progress is random for each interrupt. It is possible to effectively use the remaining time optimal for performing the counter processing desired. Also, the remaining time until the CH0 interrupt can be adjusted by appropriately selecting the combination of the prescaler value and the time constant related to the CH1 interrupt depending on how much the CH1 interrupt needs to be generated before the CH0 interrupt generation timing. Therefore, the periodicity of the CH0 interrupt can be maintained with the degree of programming freedom secured.

ここで特許請求の範囲と発明を実施するための最良の形態との対応関係をまとめて説明をすると、主タイマ割込みはCH0割込み、主タイマ割込み処理はCH0割込み処理、遊技制御処理は、内容的にはS90〜S800が対応するが、本願においては変形例1での開示内容を踏まえてS900の前までに実行される処理を指す。判定値加算処理には、S301〜S305とS310、S311〜S315とS320、S321〜S325とS330、S331〜S335とS340が対応しており、開始値記憶処理には、S306〜S309、S316〜S319、S326〜S329、S336〜S339が対応しており、初期値加算更新処理には、S952〜S957、S958〜S963、S964〜S969、S970〜S975、S921〜S926、S927〜S932が対応している。また、残余時間処理と相対する別残余時間処理の組み合わせとしては、残余時間処理としての全初期値カウンタ更新処理と別残余時間処理としての一部初期値カウンタ更新処理が、変形例1では全初期値カウンタ更新処理と外部情報出力処理が、変形例2では全初期値カウンタ更新処理と特当初期値更新処理(或いは、確変判定初期値更新処理)が、変形例3では、特当初期値更新処理と確変判定初期値更新処理との一組が残余時間処理として、遊技状態に対応した特当初期値更新処理或いは確変判定初期値更新処理のいずれかが別残余時間処理として対応している。
また、従タイマ割込みはCH1割込み、従タイマ割込み発生処理はCH1タイマ修正処理S100、残余時間処理選択処理はS900、従割込み禁止残余時間処理はS976でCH1の割込みが許可されるまで割込みを禁止するS951、複数初期値加算更新処理は全初期値カウンタ更新処理S950、一部初期値加算更新処理はS920、S1160、S1130が該当する。
更に、第1の記憶領域、第2の記憶領域、第3の記憶領域、は、内蔵RAM130の情報格納エリア(ワークエリア)が該当する。
Here, the correspondence between the claims and the best mode for carrying out the invention will be described together. The main timer interrupt is CH0 interrupt, the main timer interrupt processing is CH0 interrupt processing, and the game control processing is content. Corresponds to S90 to S800, but in the present application, the processing executed before S900 is pointed out based on the disclosure of the first modification. The determination value addition processing corresponds to S301 to S305 and S310, S311 to S315 and S320, S321 to S325 and S330, and S331 to S335 and S340. , S326 to S329, S336 to S339, and S952 to S957, S958 to S963, S964 to S969, S970 to S975, S921 to S926, and S927 to S932 correspond to the initial value addition update processing. . Further, as a combination of another remaining time process opposite to the remaining time process, an all initial value counter update process as a remaining time process and a partial initial value counter update process as another remaining time process are used. The value counter updating process and the external information output process are all modified, the all-initial value counter updating process and the special initial value updating process (or the probability variation determination initial value updating process) in the second modification, and the special initial value updating in the third modification. One set of the process and the probability change determination initial value update process corresponds to the remaining time process, and either the special initial value update process corresponding to the gaming state or the probability change determination initial value update process corresponds to the remaining time process.
The slave timer interrupt is a CH1 interrupt, the slave timer interrupt generation process is a CH1 timer correction process S100, the remaining time process selection process is S900, and the slave interrupt prohibition remaining time process is disabled until the CH1 interrupt is permitted in S976. S951, multiple initial value addition update processing corresponds to all initial value counter update processing S950, and partial initial value addition update processing corresponds to S920, S1160, and S1130.
Furthermore, the first storage area, the second storage area, and the third storage area correspond to the information storage area (work area) of the internal RAM 130.

所定周期で加算更新される循環カウンタを用いた大当たり抽選手段を備えた遊技機において好適である。
It is suitable for a gaming machine equipped with a jackpot lottery means using a circulation counter that is added and updated at a predetermined period.

パチンコ機における電源と信号の接続経路を示した説明図である。It is explanatory drawing which showed the connection path | route of the power supply and signal in a pachinko machine. マイクロプロセッサ100の内部ブロックを示した説明図である。2 is an explanatory diagram showing an internal block of a microprocessor 100. FIG. プログラム開始処理の内容を示したフローチャートである。It is the flowchart which showed the contents of the program start processing. CH0タイマ起動処理の内容を示したフローチャートである。It is the flowchart which showed the content of the CH0 timer starting process. CH1タイマ起動処理の内容を示したフローチャートである。It is the flowchart which showed the content of the CH1 timer starting process. 電源断発生時処理の内容を示したフローチャートである。It is the flowchart which showed the content of the process at the time of power failure generation | occurrence | production. 遊技開始によるCH0割込み処理の内容を示したフローチャートである。It is the flowchart which showed the content of the CH0 interruption process by game start. CH1タイマ修正処理の内容を示したフローチャートである。It is the flowchart which showed the content of the CH1 timer correction process. 乱数カウンタ更新処理の内容を示したフローチャートである。It is the flowchart which showed the content of the random number counter update process. 乱数カウンタ更新処理の図9に続く内容を示したフローチャートである。FIG. 10 is a flowchart showing the contents following random number counter update processing in FIG. 9. FIG. 全初期値カウンタ更新処理の内容を示したフローチャートである。It is the flowchart which showed the content of all the initial value counter update processes. 一部初期値カウンタ更新処理の内容を示したフローチャートである。It is the flowchart which showed the content of the partial initial value counter update process. 変形例1におけるCH0タイマ起動処理の内容を示したフローチャートである。10 is a flowchart showing the contents of CH0 timer activation processing in Modification 1; 変形例2におけるCH0タイマ起動処理の内容を示したフローチャートである。10 is a flowchart showing the contents of a CH0 timer activation process in Modification 2. 変形例3におけるCH0タイマ起動処理の内容を示したフローチャートである。10 is a flowchart showing the contents of a CH0 timer activation process in Modification 3.

符号の説明Explanation of symbols

10 電源基板
30 払出制御基板
50 主制御基板
91 始動口スイッチ
100 主制御基板50に搭載されたマイクロプロセッサ
110 マイクロプロセッサ100に搭載されたCPU
120 マイクロプロセッサ100の内蔵ROM
130 マイクロプロセッサ100の内蔵RAM
10 Power Supply Board 30 Dispensing Control Board 50 Main Control Board 91 Start Port Switch 100 Microprocessor 110 Mounted on Main Control Board 50 CPU Mounted on Microprocessor 100
120 Built-in ROM of microprocessor 100
130 Built-in RAM of microprocessor 100

Claims (4)

所定周期で発生する主タイマ割込み毎にリセットアドレスから開始実行されるユーザープログラムとしての主タイマ割込み処理の内、遊技を制御するためのプログラムである遊技制御処理と、
前記主タイマ割込み処理の内、前記遊技制御処理が終了した後、新たな主タイマ割込みが発生するまでの残余時間中に実行される残余時間処理と、
前記遊技制御処理の中の1つのサブルーチン処理として前記主タイマ割込み毎に1回のみ実行される処理であって、第1の記憶領域に記憶された前回判定値を呼び出し、当該前回判定値に1を加算した第1の加算値が、所定の上限値を超えた場合には0を新たな判定値とし、所定の上限値を超えない場合には当該第1の加算値をそのまま新たな判定値として前記第1の記憶領域に戻す判定値加算更新処理と、
前記遊技制御処理の中の1つのサブルーチン処理として前記主タイマ割込み毎に1回のみ実行される処理であって、前記新たな判定値が、第3の記憶領域に記憶された開始値と一致する場合には、その時点で第2の記憶領域に記憶されている初期値を新たな開始値として第3の記憶領域に記憶する開始値記憶処理と、
第2の記憶領域に記憶された前回初期値を呼び出し、当該前回初期値に1を加算した第2の加算値が、所定の上限値を超えた場合には0を新たな初期値とし、所定の上限値を超えない場合には当該第2の加算値をそのまま新たな初期値として前記第2の記憶領域に戻す初期値加算更新処理とを実行するコンピュータと、
該コンピュータが実行するユーザープログラムが記録されたROMと、
前記第1の記憶領域と前記第2の記憶領域と前記第3の記憶領域とを少なくとも具備してなるRAMと、
を備えた遊技機であって、
前記コンピュータが、
前記残余時間中に、前記主タイマ割込みよりも優先度の低い従タイマ割込みを発生させる従タイマ割込み発生処理と、
前記従タイマ割込みが発生したことにより、前記従タイマ割込みが発生するまでに実行していた残余時間処理よりも実行するに要する時間が短く、従タイマ割込みが発生してから前記主タイマ割込みが発生するまでの残余時間内で実行可能な別残余時間処理を選択する残余時間処理選択処理とを実行すると共に、
前記従タイマ割込みが発生するまでに実行する前記残余時間処理を当該処理の実行中には前記従タイマ割込みを受け付けない従割込み禁止残余時間処理として実行し、
前記残余時間処理選択処理が選択した別残余時間処理を実行した後、前記主タイマ割込みが発生するまで前記主タイマ割込みの発生待ち状態とすることを特徴とする遊技機。
A game control process that is a program for controlling a game among main timer interrupt processes as a user program that is started and executed from a reset address for each main timer interrupt that occurs in a predetermined cycle;
Among the main timer interrupt processes, a remaining time process executed during a remaining time until a new main timer interrupt occurs after the game control process is completed,
This process is executed only once for each main timer interrupt as a subroutine process in the game control process, and the previous determination value stored in the first storage area is called, and 1 is set as the previous determination value. When the first addition value obtained by adding the value exceeds a predetermined upper limit value, 0 is set as a new determination value, and when the first addition value does not exceed the predetermined upper limit value, the first addition value is directly used as a new determination value. A determination value addition update process for returning to the first storage area as
As a subroutine process in the game control process, the process is executed only once for each main timer interrupt, and the new determination value matches the start value stored in the third storage area. In this case, a start value storage process for storing the initial value stored in the second storage area at that time as a new start value in the third storage area;
When the previous initial value stored in the second storage area is called and the second addition value obtained by adding 1 to the previous initial value exceeds a predetermined upper limit value, 0 is set as a new initial value, A computer that executes an initial value addition update process for returning the second addition value to the second storage area as a new initial value when the upper limit value of the second addition value is not exceeded,
A ROM in which a user program executed by the computer is recorded;
A RAM comprising at least the first storage area, the second storage area, and the third storage area;
A gaming machine equipped with
The computer is
A slave timer interrupt generation process for generating a slave timer interrupt having a lower priority than the master timer interrupt during the remaining time;
Due to the occurrence of the slave timer interrupt, the time required for execution is shorter than the remaining time processing executed until the slave timer interrupt occurs, and the master timer interrupt occurs after the slave timer interrupt occurs. A remaining time process selection process for selecting another remaining time process that can be executed within the remaining time until
The remaining time process executed until the slave timer interrupt occurs is executed as a slave interrupt prohibited residual time process that does not accept the slave timer interrupt during execution of the process,
A gaming machine, wherein after executing the remaining time processing selected by the remaining time processing selection processing, the main timer interrupt is awaited until the main timer interrupt is generated.
前記コンピュータが前記従タイマ割込みが発生するまでに実行していた残余時間処理としての内容が、複数種類の初期値を全て順に更新する複数初期値加算更新処理であるとともに、前記従タイマ割込みの発生により前記残余時間処理選択処理にて選択する別残余時間処理としての内容が、前記複数初期値加算更新処理で更新される複数種類の初期値のうち特定の初期値についてのみ更新する一部初期値加算更新処理であることを特徴とする請求項1に記載の遊技機。
The remaining time processing executed by the computer until the slave timer interrupt is generated is a plurality of initial value addition update processing for sequentially updating all types of initial values, and the generation of the slave timer interrupt. The content as the other remaining time process selected in the remaining time process selection process is updated only for a specific initial value among a plurality of types of initial values updated in the multiple initial value addition update process. The gaming machine according to claim 1, wherein the game machine is an addition update process.
前記コンピュータが前記従タイマ割込みの発生により前記残余時間処理選択処理において選択する別残余時間処理としての内容が、前記遊技制御処理に属する1つのサブルーチン処理であって、前記従タイマ割込みが発生するまでの前記遊技制御処理の実行期間中には実行されず、前記従タイマ割込みが発生してから前記主タイマ割込みが発生するまでの残余時間内ではじめて実行される処理であることを特徴とする請求項1に記載の遊技機。
The content as another remaining time process selected in the remaining time process selection process by the occurrence of the slave timer interrupt is one subroutine process belonging to the game control process, until the slave timer interrupt occurs The process is not executed during the execution period of the game control process, but is executed for the first time within the remaining time from the occurrence of the sub timer interrupt to the occurrence of the main timer interrupt. Item 1. A gaming machine according to Item 1.
前記コンピュータが前記従タイマ割込みの発生により前記残余時間処理選択処理において選択する別残余時間処理としての内容が、遊技状態に応じて異なる実行プログラム内容であることを特徴とする請求項1から請求項3に記載の遊技機。   2. The content of an execution program that is different as the remaining time processing selected by the computer in the remaining time processing selection processing upon occurrence of the sub timer interrupt is different depending on the gaming state. 3. The gaming machine according to 3.
JP2007189242A 2007-07-20 2007-07-20 Game machine Withdrawn JP2009022548A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007189242A JP2009022548A (en) 2007-07-20 2007-07-20 Game machine

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007189242A JP2009022548A (en) 2007-07-20 2007-07-20 Game machine

Publications (1)

Publication Number Publication Date
JP2009022548A true JP2009022548A (en) 2009-02-05

Family

ID=40394950

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007189242A Withdrawn JP2009022548A (en) 2007-07-20 2007-07-20 Game machine

Country Status (1)

Country Link
JP (1) JP2009022548A (en)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011167262A (en) * 2010-02-17 2011-09-01 Sophia Co Ltd Game machine
JP5067909B1 (en) * 2012-03-29 2012-11-07 サミー株式会社 Pachinko machine
JP5067911B1 (en) * 2012-03-29 2012-11-07 サミー株式会社 Pachinko machine
JP5067910B1 (en) * 2012-03-29 2012-11-07 サミー株式会社 Pachinko machine
JP2013202381A (en) * 2012-03-29 2013-10-07 Sammy Corp Pachinko game machine
JP2013202386A (en) * 2012-03-29 2013-10-07 Sammy Corp Pachinko game machine
JP2013202384A (en) * 2012-03-29 2013-10-07 Sammy Corp Pachinko game machine
JP2013202385A (en) * 2012-03-29 2013-10-07 Sammy Corp Pachinko game machine
JP2013202388A (en) * 2012-03-29 2013-10-07 Sammy Corp Pachinko game machine
JP2013202387A (en) * 2012-03-29 2013-10-07 Sammy Corp Pachinko game machine
JP2013202389A (en) * 2012-03-29 2013-10-07 Sammy Corp Pachinko game machine
JP2013202383A (en) * 2012-03-29 2013-10-07 Sammy Corp Pachinko game machine
JP2014097282A (en) * 2013-09-12 2014-05-29 Sammy Corp Pachinko game machine
JP2015016046A (en) * 2013-07-10 2015-01-29 サミー株式会社 Pachinko game machine
JP2015016045A (en) * 2013-07-10 2015-01-29 サミー株式会社 Pachinko game machine
JP2015016047A (en) * 2013-07-10 2015-01-29 サミー株式会社 Pachinko game machine
JP2015057098A (en) * 2014-10-29 2015-03-26 株式会社大都技研 Game machine
JP2015180400A (en) * 2015-07-16 2015-10-15 サミー株式会社 Pachinko game machine
JP2015180401A (en) * 2015-07-16 2015-10-15 サミー株式会社 Pachinko game machine
JP2015211897A (en) * 2015-07-16 2015-11-26 サミー株式会社 Pachinko game machine

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011167262A (en) * 2010-02-17 2011-09-01 Sophia Co Ltd Game machine
JP2013202389A (en) * 2012-03-29 2013-10-07 Sammy Corp Pachinko game machine
JP2013202383A (en) * 2012-03-29 2013-10-07 Sammy Corp Pachinko game machine
JP2013202387A (en) * 2012-03-29 2013-10-07 Sammy Corp Pachinko game machine
JP2013202381A (en) * 2012-03-29 2013-10-07 Sammy Corp Pachinko game machine
JP2013202386A (en) * 2012-03-29 2013-10-07 Sammy Corp Pachinko game machine
JP2013202384A (en) * 2012-03-29 2013-10-07 Sammy Corp Pachinko game machine
JP2013202385A (en) * 2012-03-29 2013-10-07 Sammy Corp Pachinko game machine
JP2013202388A (en) * 2012-03-29 2013-10-07 Sammy Corp Pachinko game machine
JP5067910B1 (en) * 2012-03-29 2012-11-07 サミー株式会社 Pachinko machine
JP5067909B1 (en) * 2012-03-29 2012-11-07 サミー株式会社 Pachinko machine
JP5067911B1 (en) * 2012-03-29 2012-11-07 サミー株式会社 Pachinko machine
JP2015016045A (en) * 2013-07-10 2015-01-29 サミー株式会社 Pachinko game machine
JP2015016046A (en) * 2013-07-10 2015-01-29 サミー株式会社 Pachinko game machine
JP2015016047A (en) * 2013-07-10 2015-01-29 サミー株式会社 Pachinko game machine
JP2014097282A (en) * 2013-09-12 2014-05-29 Sammy Corp Pachinko game machine
JP2015057098A (en) * 2014-10-29 2015-03-26 株式会社大都技研 Game machine
JP2015180400A (en) * 2015-07-16 2015-10-15 サミー株式会社 Pachinko game machine
JP2015180401A (en) * 2015-07-16 2015-10-15 サミー株式会社 Pachinko game machine
JP2015211897A (en) * 2015-07-16 2015-11-26 サミー株式会社 Pachinko game machine

Similar Documents

Publication Publication Date Title
JP2009022548A (en) Game machine
JP6666229B2 (en) Gaming machine
JP6135555B2 (en) Game machine
JP6303600B2 (en) Game machine
JP5101175B2 (en) Slot machine
JP2010184153A (en) Game machine
JP2012115552A (en) Game machine
JP6199780B2 (en) Bullet ball machine
JP2016171853A (en) Game machine
JP2015083072A (en) Game machine
JP2019030494A (en) Game machine
JP2011010996A (en) Game machine
JP2007054404A (en) Pachinko game machine
JP2011177562A (en) Game machine
JP2014133086A (en) Game machine
JP2010004981A (en) Pinball game machine
JP5562369B2 (en) Slot machine
JP5101177B2 (en) Slot machine
JP5101178B2 (en) Slot machine
JP2008302159A (en) Slot machine
JP5101176B2 (en) Slot machine
JP2005211221A (en) Game machine
JP5845550B2 (en) Slot machine
JP2019030493A (en) Game machine
JP2016171852A (en) Game machine

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20101005