JP3986046B2 - 遊技機 - Google Patents
遊技機 Download PDFInfo
- Publication number
- JP3986046B2 JP3986046B2 JP2001352912A JP2001352912A JP3986046B2 JP 3986046 B2 JP3986046 B2 JP 3986046B2 JP 2001352912 A JP2001352912 A JP 2001352912A JP 2001352912 A JP2001352912 A JP 2001352912A JP 3986046 B2 JP3986046 B2 JP 3986046B2
- Authority
- JP
- Japan
- Prior art keywords
- counter
- sub
- interrupt
- value
- processing
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Pinball Game Machines (AREA)
Description
【発明の属する技術分野】
本発明は、パチンコ機、アレンジボール機、雀球遊技機、回胴式遊技機などの遊技機に関し、特に、タイマ割込み処理に弊害を与えることなく、大当たり状態の発生タイミングを予測不能にした遊技機に関するものである。
【0002】
【従来の技術】
パチンコ機などの弾球遊技機は、遊技盤に設けた図柄始動口と、複数個の図柄を所定時間変動させた後に停止させる図柄表示手段と、開閉板を開閉駆動する大入賞手段などを備えて構成されている。そして、図柄始動口に設けられた検出スイッチが遊技球の通過を検出すると、図柄表示手段が表示図柄を所定時間変動させ、その後、特別図柄が整列して停止すると、大入賞手段が機能して遊技者に有利な利益状態を発生させるようにしている。
【0003】
この種の遊技機では、大当り用カウンタCTをソフトウェア的に実現すると共に、大当り確率が1/Nの場合、大当り用カウンタCTを0〜N−1の数値範囲内で循環動作させる一方、その数値範囲内の一つを大当り当選値Hitに設定するようにしている。そして、図柄始動口に設けられた検出スイッチが遊技球の通過を検出した場合には、その時の大当り用カウンタCTの値を取得して大当り当選値Hitと比較し、一致する場合にはその後の利益状態へと移行させている。なお、この大当り用カウンタCTは、電源投入後の初期処理によってゼロクリアされた後、所定周期ごとに発せられる割込み信号に応答してインクリメント(+1)処理などによって更新されている。
【0004】
ところで、大当り当選値Hitは、遊技機を入手してプログラムを解析するだけで把握できる。従って、仮に、上記のような構成の遊技機に違法回路を取付けて電源投入後の割込み信号をカウントすれば、大当り用カウンタCTの値が大当り当選値Hitに一致する大当りタイミングが分ることになる。しかも、この大当りタイミングは、その後もN個目の割込み信号に対応して規則的に到来するので、この大当りタイミングに合わせて図柄始動口の検出スイッチのON信号を違法回路で発生させれば、任意に大当り状態を実現できることになる。
【0005】
そこで、このような違法行為に対処するために、大当り用カウンタCTの他にサブカウンタSUBを用いることで、大当り用カウンタCTの値を不規則なものにすることが試みられている。この場合、サブカウンタSUBは、0〜N−1の数値範囲を0から始めて循環動作する。また、大当り用カウンタCTは、0〜N−1の数値範囲を、サブカウンタSUBで決まる初期値STARTから始めて循環動作する。
【0006】
そして、大当り用カウンタCTが数値範囲Nを一周すると、その時のサブカウンタ値SUBを取得して、それを新たな初期値SUBとして再び循環動作を繰り返すのである。このようにして大当り用カウンタCTの初期値STARTをランダムに変更すれば、大当りタイミングがN個目の割込み信号に対応して規則的に到来することがなくなり、不正行為の排除に大きな効果がある。
【0007】
【発明が解決しようとする課題】
しかしながら、上記構成のサブカウンタSUBは、通常、メインルーチンの無限ループ処理中と、その無限ループ処理中に生じるタイマ割込み処理中の双方で更新されている。そのため、無限ループ処理におけるサブカウンタSUBの更新中にタイマ割込みがかかると、割込み処理において更新した後のサブカウンタが、無限ループ処理に復帰した後、再び同じ更新処理を重複して行ってしまう場合があった。このような重複処理は、乱数発生の一様性という観点からは好ましいものではない。
【0008】
ここで、サブカウンタの更新処理中は、タイマ割込みを禁止する対策が考えられるが、単にタイマ割込みを禁止するだけでは、本来、一定時間毎に実行されるべき割込み処理に時間的ずれが生じる可能性があり、この点が大きな問題である。例えば、割込み処理プログラム中には、割込みの回数によって計時処理を行っている処理もあり、サブカウンタの更新のためにタイマ割込み信号が読み落とされたり、割込み処理の開始が不規則に前後したのでは、計時処理の正確性が阻害されることになる。
【0009】
本発明は、上記の問題点に鑑みてなされたものであって、一定時間毎に開始される割込み処理に弊害を与えることなく、サブカウンタによって生成される数値列にも発生一様性を確保するよう改善された遊技機を提供することを課題とする。
【0010】
【課題を解決するための手段】
上記課題を解決するため、本発明は、無限ループ状に繰り返し実行されるメイン処理部と、前記メイン処理部の実行中に所定時間毎の周期的な割込みにより実行される割込み処理部とを有し、前記割込み処理部と前記メイン処理部の少なくとも一方で更新されるメインカウンタの値に基づいて遊技者に有利な状態を発生させるか否かを決定する遊技機であって、前記メインカウンタが所定の数値範囲を一回ないし複数回循環する毎に、前記メインカウンタの次回の循環動作の初期値を決定する初期値変更処理を設け、初期値変更処理は、前記メイン処理部において、DI命令とEI命令とに挟まれた単一の命令によって割込み禁止状態で更新され、且つ前記割込み処理部でも更新される8ビット長のサブカウンタの値に基づいて実行され、この実行結果から前記初期値が決定され、前記割込み処理を開始させる割込み信号のパルス幅(PW)は、前記メイン処理部において前記DI命令によってCPUが割込み禁止状態に設定された後、前記サブカウンタの更新処理を終えて前記EI命令によってCPUが割込み許可状態に設定されるまでの時間(τ)より長く設定されている。
【0011】
本発明では、割込み禁止状態でサブカウンタが更新されるので、割込み処理中に、サブカウンタの更新処理を追加して行っても発生する数値列の発生一様性が特に害されない。また割込み処理を開始させる割込み信号のパルス幅(PW)は、前記メイン処理部においてCPUが割込み禁止状態に設定された後、前記サブカウンタの更新処理を終えて割込み許可状態に設定されるまでの時間(τ)より長く設定されているのが好適である。このような実施態様の場合には、割込み信号が読み落とされるおそれがない。
【0012】
また、サブカウンタのビット長を8ビット以下に設定しておけば更新処理を極限的に短時間に終えることができ、実質的にタイマ割込み処理を待たせることがなくなり、タイマ割込み処理に全く弊害を与えない。なお、サブカウンタのビット長が短くても、メインカウンタの初期値を変更する際に、メインカウンタとサブカウンタの加減算で対処すれば、初期値を十分ランダムなものとすることができる。
【0013】
【発明の実施の形態】
以下、本発明の遊技機を実施例に基づいて更に詳細に説明する。図1は、実施例に係るパチンコ機の全体構成を図示したブロック図である。
【0014】
図示のパチンコ機は、遊技動作を中心的に制御する主制御基板1と、液晶ディスプレイ8の動作を制御する図柄制御基板2と、音声的に遊技動作を盛上げる音声制御基板3と、ランプ類を点滅動作させて遊技動作を盛上げるランプ制御基板4と、遊技球を払出す払出制御基板5と、払出制御基板5に制御されて遊技球を発射する発射制御基板7と、AC24Vを受けて装置各部に直流電圧を供給する電源基板6とを中心に構成されている。
【0015】
主制御基板1、図柄制御基板2、音声制御基板3、ランプ制御基板4、払出制御基板5は、Z80CPU相当品を内蔵したワンチップマイコンを備えるコンピュータ回路で構成されており、サブ制御基板2〜5は、主制御基板1からの制御コマンドに基づいて個別的な制御動作を実現している。
【0016】
図2は、主制御基板1の回路構成を示すブロック図である。図示の通り、主制御基板1は、ワンチップマイコンからなるCPU回路1aと、CPU動作クロックCLKの整数倍の周波数であるクロック信号Φ0を発生するシステムクロック発生部1bと、CPUからのアドレス信号に基づき各部のチップセレクト信号を生成するデコード回路1cと、CPUからのデータを出力するための出力ポート回路1dと、外部データをCPUが取り込むための入力ポート回路1eと、各サブ制御基板2〜5に制御コマンドを出力する出力駆動回路1fと、遊技盤各部のスイッチ類のON/OFF状態を入力するスイッチ入力回路1gとを中心に構成されている。
【0017】
図3〜図5は、主制御基板1の制御プログラムを示すフローチャートである。主制御基板1の制御プログラムは、電源投入後に実行され通常は無限ループ処理(ST6〜ST9)で終わるシステムリセット処理プログラム(図3)と、所定時間毎に起動されるタイマ割込み処理(Maskable Interrupt禁止可能割込み)プログラム(図4)と、電源電圧が所定値を下回るとNMI(Non Maskable interrupt)信号によって駆動されてCPUのレジスタ値をバックアップするNMI処理プログラム(不図示)とで構成されている。
【0018】
以下、図3を参照しつつシステムリセット処理プログラム(メインルーチン)について説明する。このメインルーチンが開始されるのは、停電状態からの復旧時のように初期化スイッチ85がOFF状態で電源がON状態になる場合と、パチンコホールの開店時のように、初期化スイッチ85がON状態で電源がON状態になる場合とがある。
【0019】
図3に示すメインルーチンでは、最初に、Z80CPUは、自らを割込み禁止状態に設定し、Z80CPUコアを含むワンチップマイコンの各部を初期設定する(ST1)。また、CPUは自らを割込みモード2に設定した後(ST2)、RAMクリア信号の値を判定する(ST3)。RAMクリア信号とは、RAM領域を初期設定するか否かを示す信号であって、初期化スイッチ85のON/OFF状態に対応した値を有している。今、パチンコホールの開店時であって、初期化スイッチ85がON状態で電源投入されたと仮定すると、ステップST3の判定がYesとなり、RAMのワークエリアが初期化され、その他のRAM領域がゼロクリアされると共に、CPUが割込み許可状態(EI)に設定される(ST5)。そして、その後は無限ループ状の乱数発生処理が行われる(ST6〜ST9)。
【0020】
乱数発生処理では、先ず、外れ図柄用カウンタの更新が行われる(ST6)。この外れ図柄用カウンタは、図4の特別図柄処理(ST34)における大当り判定処理の判定によって外れ状態となった場合に、どのような態様の外れゲームを演出するかを決定するためのカウンタである。次に、CPUは、自らを割込み禁止状態にした後(ST7)サブカウンタSUBの値を更新する。この実施例では、サブカウンタSUBは8ビット長のソフトウェアカウンタであり(具体的にはSUB番地の内容がカウンタ値を意味する)、インクリメント処理によって数値範囲0〜255を循環動作している。
【0021】
インクリメント処理によるサブカウンタSUBの更新処理が終われば、CPUは自らを割込み許可状態にして無限ループ状にステップST6〜ST9の処理を繰り返す(ST9)。このように、この実施例では、サブカウンタSUBの更新中は割込み禁止状態に設定されているので、図4に示すタイマ割込みによって更新中のSUB番地の値が影響を受けることがない。
【0022】
以下、説明をステップST3の処理に戻すと、停電状態からの復旧時のように、初期化スイッチ85がOFF状態であった場合には、ステップST3の判定に続いて、バックアップフラグBFLの内容が判定される(ST4)。バックアップフラグBFLとは、NMI処理において退避されていたバックアップデータが、元の状態に復帰されているか否かを示すデータであり、この実施例では、不図示のNMI割込み処理においてバックアップフラグBFLが5AHとされ、図3のステップST15の処理においてゼロクリアされるようになっている。
【0023】
今、停電状態からの復旧時であれば、図3のステップST4の判定において、バックアップフラグBFLの内容が5AHとなる。そこで、次にCPUは、RAMのSP記憶エリアから読み出した16ビットデータをCPUのスタックポインタSPに書き込む(ST10)。次に、停電時のNMI処理においてバックアップされていたRAMエリアのデータを読み出して、バックアップ復帰コマンドを作成する(ST11〜ST13)。
【0024】
ここで払出制御基板用のバックアップ復帰コマンド作成処理(ST11)とは、エラー信号を再チェックして、遊技機の現状に合わせた制御コマンドを払出制御基板5に出力するための準備動作を意味する。例えば、停電前に上皿が満杯であるエラー状態であった場合、バックアップデータによってエラー状態が保存されているが、停電によって遊技者が遊技球を回収する可能性も高いので、改めてエラー信号の現状を確認しているのである。
【0025】
また、図柄制御基板用やランプ制御基板用のバックアップ復帰コマンド作成処理(ST12、ST13)とは、停電前の遊技機が、大当り状態であった場合や、当選確率が増加しているいわゆる確変状態であった場合もあるので、そのような場合には、動作状態に合わせた液晶ディスプレイ8の背景色を設定したり、効果音を発生できるようにするための処理である。
【0026】
ステップST11〜ST13の処理が終われば、CPUはPOP命令を実行して、スタックエリアからAFレジスタを除く各レジスタ(BC,DE,HL)の値を復帰させる(ST14)。この処理によって、停電時からの復帰処理は一応完了するので、そのことを示すべくバックアップフラグBFLをゼロクリアする(ST15)。最後に、停電前が割込み禁止状態であったか否かをチェックして(ST16,ST17)、AFレジスタをスタックエリアから復帰させた後(ST18,ST20)、割込み禁止状態のままで処理を終えるか(ST19)、或いは、割込み許可状態に戻して処理を終える(ST21,ST22)。なお、ステップST19,ST22のRET命令が実行されることによって、スタック領域にPUSH処理されていた中断時のPC(プログラムカウンタ)の値が復元され、停電等により中断されていた処理が再開されることになる。
【0027】
図4は、図3に示すメインルーチンの無限ループ処理(ST6〜ST9)の間に2msec毎に生じるタイマ割込みINT(Maskable Interrupt禁止可能割込み)の割込み処理プログラムの内容を示すフローチャートである。タイマ割込みが生じると、各レジスタの内容はスタック領域に退避され、乱数作成処理、スイッチ入力管理処理、エラー管理処理などが行われる(ST30)。
【0028】
ここで、乱数作成処理とは、普通図柄処理ST33や特別図柄処理ST34での抽選動作で使用される当り用カウンタRGや大当たり用カウンタCTの更新処理を意味する。また、乱数作成処理には、ステップST8で更新したサブカウンタSUBの更なる更新処理も含んでいる。なお、この実施例では、サブカウンタSUBと当り用カウンタRGは単純なインクリメント処理によって更新されているが、大当たり用カウンタ(メインカウンタ)CTの更新処理については図5に基づいて後述する。
【0029】
スイッチ入力管理処理とは、ゲートや電動チューリップなどを遊技球が通過したか否かの判定であり、遊技球が通過していれば、スイッチ入力がONとなり、このスイッチ入力ONを条件に、普通図柄処理ST33や特別図柄処理ST34において、カウンタRG,CTを用いて当り抽選や大当り抽選が行われることになる。なお、エラー管理処理は、機器内部に異常が生じていないかの判定である。
【0030】
以上のような内容のステップST30の処理が終われば、処理分けカウンタの値が判定されて、ST32〜ST36のうちの該当する処理が行われる。上記したエラー管理やスイッチ管理は、短い時間間隔で繰り返し行うべきであるが、一方、パチンコゲームの演出に係わる処理は遊技者のニーズに応じて複雑高度化するため、ある程度以上の処理時間を要することになる。そこで、この実施例では、全ての遊技制御動作を1回の割込み処理で完了させのではなく、5種類の処理に区分し、区分された各処理を割込み毎に分担して実行するようにしている。そのため、0〜4の範囲で循環動作する処理分けカウンタを設けて、処理分けカウンタの値に応じた処理を行うようにしている。
【0031】
具体的に説明すると、処理分けカウンタが0の場合には大入賞口の開放などに関する処理を行い(ST32)、処理分けカウンタが1の場合には当り状態(電動チューリップの開放)か否かに関する普通図柄処理を行い(ST33)、処理分けカウンタが2の場合には大当り状態か否かに関する処理を行っている(ST34)。例えば、ゲート通過スイッチがON状態であれば、普通図柄処理ST33において、当りカウンタRGを用いた普通当りか否かの当否判定が行われ、図柄始動口の通過スイッチがON状態であれば、特別図柄処理34において、大当りカウンタCTを用いた大当り判定が行われる。
【0032】
また、処理分けカウンタが3の場合には、電動チューリップや大入賞口の開閉タイミングに関係するタイマ管理処理や、主制御基板から各制御基板に伝送されるコマンド作成処理が行われる(ST35)。処理分けカウンタが4の場合には、情報出力やエラー表示コマンドの作成処理が行われる(ST36)。
【0033】
ステップST32〜ST36の何れかの処理が終わると、処理分けカウンタの値が更新された後(ST37)、生成されているコマンドが各サブ制御基板に出力される(ST38)。また、各レジスタの値が復帰されると共に割込み許可状態に変更されて、割込み処理ルーチンからメインルーチンに戻る(ST39)。
【0034】
図5は、ステップST30の乱数作成処理のうち、大当り用カウンタ(メインカウンタ)CTの更新処理を中心に具体的に図示したものである。なお、この例では大当り確率は1/300とし、大当り用カウンタCTは、数値範囲MAX(=300)を0〜299の間で循環的にインクリメントされることにする。図5に示す通り、最初に大当り用カウンタCTの値がインクリメントされ(ST60)、大当り用カウンタCTの数値範囲MAX(=300)を超えたか否か判断される(ST61)。そして、大当り用カウンタCTの値がMAX=300に一致すると、大当り用カウンタCTの値が0に書き換えられる(ST62)。
【0035】
次に、大当り用カウンタCTの値が、今回の循環動作の初期値STARTと一致するか否かが判定される(ST63)。ここで、大当り用カウンタCTの値が今回の循環動作の初期値STARTに一致すれば、カウンタの一巡動作が完了したことを意味する。そこで、ステップST8及びステップST59の処理によって更新されているサブカウンタSUBの値を取得して、初期値変数STARTにサブカウンタ値SUBを加算して、その結果を新たな初期値変数STARTとして再設定する(ST64)。
【0036】
ところで、このままでは、サブカウンタ値SUBを加算して得られた新たな初期値STARTが、大当り用カウンタの最大数値MAXを超えるおそれがある。そこで、新たな初期値STARTが、最大数値MAX未満か否かが判定される(ST65)。そして、もし初期値STARTが最大数値MAX以上の場合には、初期値STARTから最大数値MAXを差し引いた値を、新たな初期値STARTに再設定する(ST66)。そして、大当り用カウンタCTのカウンタ値を新たな初期値STARTに書き換える(ST67)。
【0037】
例えば、電源投入時の初期値STARTが0であれば、0→1→2…→298→299のように、大当り用カウンタCTが数値範囲(MAX)を一巡するが、ステップST63〜ST67の処理によって、これ以降の循環動作の初期値STARTが、その時のサブカウンタの値SUBに基づいて変更される。
【0038】
初期値変更用のサブカウンタの値SUBは、ステップST8及びステップST59の処理において順次更新されるが、このサブカウンタ値が例えば48であったとする。この場合、新たな初期値STARTは、現在の初期値(START)0にサブカウンタ値(SUB)48を加えた48に書き換えられる(ST64)。そして、これ以降は、大当り用カウンタCTは、48→49→…→299→0→1→…→46→47のようにインクリメントされつつ、数値範囲(MAX)を一巡することになる。
【0039】
なお、本実施例においては、大当り用カウンタ値CTが数値範囲を一巡した場合には、その時点のサブカウンタ値SUBを加算した値を、新たな初期値STARTに設定した例について説明したが、サブカウンタ値SUBを加算するのではなく、減算した値を新たな初期値STARTに設定してもよい。この場合、例えば現在の初期値START=100で、大当り用カウンタCTが一巡して、現在の初期値100へ戻ってきた場合を考える。そして、その時点のサブカウンタ値SUBが48だったとする。この場合、大当り用カウンタCTには、現在の初期値100からサブカウンタ値48を引いた52に書き換えられる。そして、これ以降は、大当り用カウンタCTは、52→53→…→299→0→1→…→50→51のようにインクリメントされつつ、数値範囲を一巡することになる。なお、初期値変更のために、現在の初期値STARTからサブカウンタ値SUBを引いた際に0未満になった場合には、MAXをプラスして数値範囲内の数値に変換するのは勿論である。
【0040】
このように、大当り用カウンタCTが数値範囲内を一周すると、その時のサブカウンタ値SUBを加算するか或いは減算して、以降の循環動作の初期値STARTとするのである。このようにサブカウンタSUBは、大当り用カウンタCTの値を偏移させる際の偏差を与えるだけであるから、大当り用カウンタと同じ数値範囲を循環させる必要はなく、この実施例のように8ビット長のソフトウェアカウンタとすることができる。
【0041】
従って、サブカウンタSUBの更新は、単なるインクリメント命令だけで足り、更新処理が極限的に簡素化される。本実施例のようにZ80CPUを使用する場合には、▲1▼LD HL,SUB ▲2▼INC(HL)の命令だけで更新処理を終えることができ、数値範囲を越えたか否かの判定や、数値範囲を超えた場合の数値変換処理が全く不要となる。
【0043】
ところで、サブカウンタSUBは、図3の無限ループ処理(ST6〜ST9)において循環的にインクリメントされているが、そのようなインクリメント処理中にも、所定周期(2mS)で図5の割込み処理プログラムが起動される。そこで、ステップST8のサブカウンタ値SUBのインクリメント処理を、特に割込み禁止状態で行う本実施例の意義について、図6を参照しつつ具体的に確認する。
【0044】
先ず、本実施例とは異なり、サブカウンタSUBのインクリメント処理(ST8)を割込み許可状態で行う場合を考える。この場合、CPUは、まずメモリに格納された現在のサブカウンタSUBの値をAレジスタに転送する(ST40)。次に、そのAレジスタの値をインクリメントして(ST41)、その結果をサブカウンタSUBへ転送して、更新処理を完了する(ST42)。
【0045】
ところが、このようなサブカウンタSUBの更新処理は、図3のシステムリセット処理プログラムの無限ループ内だけでなく、その無限ループ処理中に所定周期で起動される図5のタイマ割込み処理プログラムにおいても行われる。従って、仮に、無限ループ内の乱数作成処理(ST8)の途中にタイマ割込み処理が入ると、重複した命令が繰り返し行われる不都合がある。
【0046】
例えば、図6の右下ボックス内に示すように、サブカウンタ値SUBが16であるとした場合において、ステップST8の更新処理にてメモリからサブカウンタSUBの値(=16)がAレジスタに転送された際に、図4のタイマ割込みが発生した場合について考える。この場合、タイマ割込みのサブカウンタの更新処理(図5のST59)においては、再びメモリからAレジスタにサブカウンタSUBの値(=16)を転送し、そのAレジスタをインクリメントした後、そのAレジスタの内容をメモリに格納して、メインの無限ループ処理に復帰させる。なお、この時点の初期値カウンタSUBは17となっている。
【0047】
そして、ステップST8の更新処理に復帰すると、当然ながら割込発生前の処理の続きを行うことになる。この例では、割込み発生前に、サブカウンタSUBの値(=16)をAレジスタに転送していたので、その続きの処理として、サブカウンタSUBのインクリメント処理を続行することになる。つまり、Aレジスタの値16をインクリメントした後のAレジスタの内容(=17)をメモリに格納することになる。これにより、サブカウンタ値が17に書き換えられることになる。
【0048】
ところが、このような処理では、サブカウンタSUBに同一内容のインクリメント処理が2回続けて重複して行われることになる。図7(c)はこの関係を図示したものである。サブカウンタSUBの値が・・・→15→16と増加し、次に17に更新されようとしているタイミングで割込みがかかったため(カッコつき17の位置で更新完了の予定であった)サブカウンタSUBは割込み処理プログラムのステップST59において17に更新された後、メインルーチンのステップST8において同じ17に更新されている。
【0049】
このように、無限ループ処理内でのサブカウンタの更新処理(ST8)とタイマ割込み処理内でのサブカウンタの更新処理(ST59)とが重複すると、同じ数値が二度現われることになり、その結果、発生する数値列が乱数としての発生一様性が損なわれるおそれがある。そこで、この実施例では、無限ループ状のサブカウンタの更新処理(ST8)に先だって、割込み禁止を行う一方(ST7)、乱数作成処理の直後に、割込み許可を行っている(ST9)。
【0050】
本実施例では、このような構成を採るので、図7(d)に示すように、サブカウンタSUBの値が16から17に更新されようとしているタイミングで割込みがかかっても、割込み処理が後回しとなり、サブカウンタSUBが16から17に更新された後に、タイマ割込みの処理が開始されることになる。その結果、タイマ割込み後のサブカウンタ更新処理(ST59)においてサブカウンタSUBは17から18に更新され、発生する数値列の一様性が確保される。
【0051】
但し、メインルーチンにおけるサブカウンタの更新処理(ST8)を割込み禁止状態で行うため、タイマ割込みの時間間隔が不正確なものとなる点は否定できない。そのため、サブカウンタの更新に係わる処理(ステップST7〜ST9)は、極力、短時間で終わらせるべきであり、8ビット構成のサブカウンタSUBを採用する本実施例はその意味でも有効性が高い。
【0052】
また、CPUの割込み端子に供給する割込みパルスのパルス幅PWは、上記したサブカウンタの更新に係わる処理(ステップST7〜ST9)の処理時間τに基づいて、PW>τに設定されている。これは、もしPW<τであると、割込み禁止状態で割込み信号を受けた場合、図7(a)に示すように、割込み許可状態となった時には、割込み信号が非活性レベル(Lレベル)に戻っていて割込み信号を読み落とす可能性があるからである。
【0053】
本実施例では、例えば、▲1▼DI ▲2▼INC (HL) ▲3▼EIの3つの命令によってサブカウンタの更新に係わる処理(ステップST7〜ST9)を完了させることができるので、本来、一定時間毎に開始されるべきタイマ割込み処理に殆ど影響を与えず、要するに、タイマ割込み処理の計時機能を阻害することがない。しかも、割込み信号のパルス幅PWは、上記▲1▼〜▲3▼に要する時間τより長く設定されているので(図7(b)参照)、CPUが割込み信号の読み落とすこともない。
【0054】
続いて、上記の弾球遊技機について更に追加的に説明する。図8は、本実施例のパチンコ機22を示す斜視図であり、図9は、同パチンコ機22の側面図である。
【0055】
図8に示すパチンコ機22は、島構造体に着脱可能に装着される矩形枠状の木製の外枠23と、外枠23に固着されたヒンジHを介して開閉可能に枢着される前枠24とで構成されている。なお、このパチンコ機22は、カード式球貸し機21に電気的に接続された状態で、パチンコホールの島構造体の長さ方向に複数個が配設されている。
【0056】
ヒンジHを介して外枠23に枢着される前枠24には、遊技盤25が裏側から着脱自在に装着され、この遊技盤25の前側に対応して、窓部を有するガラス扉26と前面板27とが夫々開閉自在に枢着されている。前面板27には発射用の遊技球を貯留する上皿28が装着され、前枠24の下部には、上皿28から溢れ出し又は抜き取った遊技球を貯留する下皿29と、発射手段30の発射ハンドル31とが設けられている。
【0057】
発射手段30は、回動操作可能な発射ハンドル31と、この発射ハンドル31の回動角度に応じた打撃力で打撃槌32(図11)により遊技球を発射させる発射モータなどを備えている。上皿28の右部には、カード式球貸し機21に対する球貸し操作用の操作パネル33が設けられ、この操作パネル33には、カード残額を3桁の数字で表示するカード残額表示部33aと、所定金額分の遊技球の球貸しを指示する球貸しスイッチ33bと、ゲーム終了時にカードの返却を指令する返却スイッチ33cとが設けられている。
【0058】
図10に示すように、遊技盤25には、金属製の外レールと内レールとからなるガイドレール35がほぼ環状に設けられ、このガイドレール35の内側の遊技領域25aには、カラーの液晶ディスプレイ(LCDモニタ)8、検出スイッチを備える図柄始動口(図柄始動手段兼入賞手段)37、開閉式入賞手段(大入賞手段)38、複数の普通入賞手段39(上段の普通入賞手段39以外に、開閉式入賞手段38の左右両側部に6つの普通入賞手段39)、2つのゲート40(通過口)が夫々所定の位置に配設されている。
【0059】
液晶ディスプレイ8は、変動図柄を表示するとともに背景画像や各種のキャラクタの動画などを表示する第1図柄表示手段42(可変表示装置)として機能する。第1図柄表示手段42は、背景画やキャラクタをアニメーション的に表示するとともに、左右方向に並ぶ3個(左、中、右)の図柄表示部42a〜42cを有し、図柄始動口37に遊技球が入賞することを条件に、各図柄表示部42a〜42cの表示図柄が所定時間だけ変動表示(スクロール表示)され、図柄始動口37への遊技球の入賞タイミングに応じた抽選結果に基づいて決定される停止図柄パターンで停止する。
【0060】
液晶ディスプレイ8の直ぐ上側に、普通入賞手段39と第2図柄表示手段43とが設けられている。第2図柄表示手段43は1個の普通図柄を表示する普通図柄表示部を有し、ゲート40を通過した遊技球が検出されたとき、普通図柄表示部(可変表示装置)の表示図柄が所定時間だけ変動し、遊技球のゲート40通過時点において抽選された抽選用乱数値により決定される停止図柄を表示して停止するようになっている。図柄始動口37は、開閉自在な左右1対の開閉爪37aを備えた電動式チューリップであり、第2図柄表示手段43の変動後の停止図柄が当り図柄を表示した場合に、開閉爪37aが所定時間だけ開放されて入賞し易くなっている。
【0061】
開閉式入賞手段38は前方に開放可能な開閉板38aを備え、第1図柄表示手段42の変動後の停止図柄が「777」などの当り図柄のとき、「大当り」と称する特別遊技が開始され、開閉板38aが前側に開放される。この開閉式入賞手段38の内部に特定領域38bがあり、この特定領域38bを入賞球が通過すると、特別遊技が継続される。ここで、特別遊技状態が遊技者に有利な第1状態に相当する。
【0062】
開閉式入賞手段38の開閉板38aが開放された後、所定時間が経過し、又は所定数(例えば10個)の遊技球が入賞して開閉板38aが閉じるときに、遊技球が特定領域38bを通過していない場合には特別遊技が終了するが、特定領域38bを通過していれば最大で例えば16回まで特別遊技が継続され、遊技者に有利な状態に制御される。
【0063】
前枠24の裏側には、図11に示すように、遊技盤25を裏側から押さえる裏機構板50が着脱自在に装着され、この裏機構板50には開口部50aが形成され、その上側に賞球タンク53と、これから延びるタンクレール54とが設けられ、このタンクレール54に接続された払出手段55が裏機構板50の側部に設けられ、裏機構板50の下側には払出手段(払出モータ)55に接続された通路ユニット56が設けられている。払出手段55から払出された遊技球は通路ユニット56を経由して上皿排出口28a(図8)から上皿8に払出される。
【0064】
裏機構板50の開口部50aには、遊技盤25の裏側に装着された裏カバー57と、入賞手段37〜39に入賞した遊技球を排出する入賞球排出樋(不図示)とが夫々嵌合されている。この裏カバー57に装着されたケース58の内部に主制御基板1が配設され、その前側に図柄制御基板2が配設されている(図9)。主制御基板1の下側で、裏カバー57に装着されたケース61aの内部にランプ制御基板4が設けられ、このケース61aに隣接するケース61bの内部に音声制御基板3が設けられている。
【0065】
これらケース61a,61bの下側で裏機構板50に装着されたケース64の内部には、電源基板6と払出制御基板5が夫々設けられている。この電源基板6には、図11に示すように、電源スイッチ80と初期化スイッチ85とが配置されている。これら両スイッチ80,85に対応する部位はケース64が切欠かれ、両スイッチ80,85の各々を指で同時に操作可能になっている。
【0066】
また、発射手段30の後側に装着されたケース67の内部には、発射制御基板7が設けられている。これら制御基板1〜7は夫々独立の基板であり、電源基板6と発射制御基板7を除く制御基板1〜5には、ワンチップマイコンを備えるコンピュータ回路が搭載されており、主制御基板1と他の制御基板2〜5とは、複数本の信号線でコネクタを介して電気的に接続されている。
【0067】
以上、本発明について具体的に説明したが、具体的な記載内容は特に本発明を限定するものではない。例えば、上記実施例では、基本的には大当り用カウンタCTが数値範囲を一周すると、その初期値を変更したが、数値範囲を複数回循環してから初期値を変更しても良い。
【0068】
また、上記の実施例はサブカウンタSUBの値を加減算することで、大当り用カウンタの初期値を変更するものであったが、これに代えて、ローテーション処理を用いても良い。すなわち、大当り用カウンタCTを特定ビット長のデータとし、この大当り用カウンタCTが一周すると、その時のサブカウンタSUB(例えば3ビットデータ)の値分だけ、大当り用カウンタCTのビットをローテーションさせるのである。なお、大当り用カウンタの値のローテーションは、右方向に行ってもよいし、左方向に行うようにしてもよい。大当り用カウンタ値の循環初期値をビットローテーションにより変更する場合には、初期値の偏差を大きくできる。
【0069】
【発明の効果】
以上説明したように、本発明によれば、一定時間毎に開始される割込み処理に弊害を与えることなく、サブカウンタによって生成される数値列にも発生一様性を確保するよう改善された遊技機を実現できる。
【図面の簡単な説明】
【図1】実施例に係るパチンコ機の全体構成を示すブロック図である。
【図2】主制御基板の構成を示すブロック図である。
【図3】主制御基板におけるシステムリセット処理を示すフローチャートである。
【図4】主制御基板におけるタイマ割込み処理を示すフローチャートである。
【図5】大当り用カウンタの更新処理を示すフローチャートである。
【図6】システムリセット処理とタイマ割込み処理におけるサブカウンタの更新処理を示すフローチャートである。
【図7】割込み信号とサブカウンタの更新処理との関係を説明する図面である。
【図8】実施例に係るパチンコ機の斜視図である。
【図9】図8のパチンコ機の側面図である。
【図10】図8のパチンコ機の遊技盤の正面図である。
【図11】図8のパチンコ機の背面図である。
【符号の説明】
ST6〜ST9 メイン処理部
ST30〜ST39 割込み処理部
CT メインカウンタ(大当り用カウンタ)
ST63〜ST67 初期値変更処理
START 初期値
Claims (2)
- 無限ループ状に繰り返し実行されるメイン処理部と、前記メイン処理部の実行中に所定時間毎の周期的な割込みにより実行される割込み処理部とを有し、
前記割込み処理部と前記メイン処理部の少なくとも一方で更新されるメインカウンタの値に基づいて遊技者に有利な状態を発生させるか否かを決定する遊技機であって、
前記メインカウンタが所定の数値範囲を一回ないし複数回循環する毎に、前記メインカウンタの次回の循環動作の初期値を決定する初期値変更処理を設け、
初期値変更処理は、前記メイン処理部において、DI命令とEI命令とに挟まれた単一の命令によって割込み禁止状態で更新され、且つ前記割込み処理部でも更新される8ビット長のサブカウンタの値に基づいて実行され、この実行結果から前記初期値が決定され、
前記割込み処理を開始させる割込み信号のパルス幅(PW)は、前記メイン処理部において前記DI命令によってCPUが割込み禁止状態に設定された後、前記サブカウンタの更新処理を終えて前記EI命令によってCPUが割込み許可状態に設定されるまでの時間(τ)より長く設定されていることを特徴とする遊技機。 - 前記サブカウンタの循環範囲は、前記メインカウンタの循環範囲より狭く設定されている請求項1に記載の遊技機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001352912A JP3986046B2 (ja) | 2001-11-19 | 2001-11-19 | 遊技機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001352912A JP3986046B2 (ja) | 2001-11-19 | 2001-11-19 | 遊技機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003144659A JP2003144659A (ja) | 2003-05-20 |
JP3986046B2 true JP3986046B2 (ja) | 2007-10-03 |
Family
ID=19165026
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001352912A Expired - Fee Related JP3986046B2 (ja) | 2001-11-19 | 2001-11-19 | 遊技機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3986046B2 (ja) |
-
2001
- 2001-11-19 JP JP2001352912A patent/JP3986046B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2003144659A (ja) | 2003-05-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4112242B2 (ja) | 遊技機 | |
JP3941931B2 (ja) | 遊技機 | |
JP3934884B2 (ja) | 遊技機 | |
JP4405959B2 (ja) | 遊技機 | |
JP4024235B2 (ja) | 遊技機 | |
JP3939527B2 (ja) | 遊技機 | |
JP2006346484A (ja) | 遊技機 | |
JP4414971B2 (ja) | 遊技機 | |
JP4044746B2 (ja) | 遊技機 | |
JP3612053B2 (ja) | 遊技機 | |
JP3986046B2 (ja) | 遊技機 | |
JP4308214B2 (ja) | 弾球遊技機 | |
JP2003093660A (ja) | 遊技機 | |
JP3917389B2 (ja) | 弾球遊技機 | |
JP4024233B2 (ja) | 遊技機 | |
JP4446645B2 (ja) | 遊技機 | |
JP2003144729A (ja) | 遊技機 | |
JP3872696B2 (ja) | 遊技機 | |
JP4024234B2 (ja) | 遊技機 | |
JP4056501B2 (ja) | 遊技機の異常リセット判定方法 | |
JP2002282507A (ja) | 弾球遊技機 | |
JP2003190480A (ja) | 遊技機 | |
JP2003010409A (ja) | 遊技機 | |
JP2003000840A (ja) | 遊技機 | |
JP2004209149A (ja) | 遊技機 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20060602 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060704 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060901 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070320 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070511 |
|
A911 | Transfer of reconsideration by examiner before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20070525 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20070612 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20070709 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 3986046 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100720 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110720 Year of fee payment: 4 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120720 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120720 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130720 Year of fee payment: 6 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |