[1.パチンコ機の全体構造]
本発明の一実施形態であるパチンコ機1について、図面を参照して詳細に説明する。まず、図1乃至図9を参照して本実施形態のパチンコ機1の全体構成について説明する。図1は本発明の一実施形態であるパチンコ機の正面図である。図2はパチンコ機の右側面図であり、図3はパチンコ機の平面図であり、図4はパチンコ機の背面図である。図5はパチンコ機を前から見た斜視図であり、図6はパチンコ機を後ろから見た斜視図である。図7は本体枠から扉枠3を開放させると共に、外枠2から本体枠4を開放させた状態で前から見たパチンコ機の斜視図である。図8はパチンコ機を扉枠3、遊技盤5、本体枠4、及び外枠2に分解して前から見た分解斜視図であり、図9はパチンコ機を扉枠3、遊技盤5、本体枠4、及び外枠2に分解して後ろから見た分解斜視図である。
本実施形態のパチンコ機1は、遊技ホールの島設備(図示しない)に設置される枠状の外枠2と、外枠2の前面を開閉可能に閉鎖する扉枠3と、扉枠3を開閉可能に支持していると共に外枠2に開閉可能に取付けられている本体枠4と、本体枠4に前側から着脱可能に取付けられると共に扉枠3を通して遊技者側から視認可能とされ遊技者によって遊技球が打込まれる遊技領域5aを有した遊技盤5と、を備えている。
パチンコ機1の外枠2は、図8及び図9等に示すように、上下に離間しており左右に延びている上枠部材10及び下枠部材20と、上枠部材10及び下枠部材20の両端同士を連結しており上下に延びている左枠部材30及び右枠部材40と、を備えている。上枠部材10、下枠部材20、左枠部材30、及び右枠部材40は、前後の幅が同じ幅に形成されている。また、上枠部材10及び下枠部材20の左右の長さに対して、左枠部材30及び右枠部材40の上下の長さが、長く形成されている。
また、外枠2は、左枠部材30及び右枠部材40の下端同士を連結し下枠部材20の前側に取付けられる幕板部材50と、上枠部材10の正面視左端部側に取付けられている外枠側上ヒンジ部材60と、幕板部材50の正面視左端側上部と左枠部材30とに取付けられている外枠側下ヒンジ部材70と、を備えている。外枠2の外枠側上ヒンジ部材60と外枠側下ヒンジ部材70とによって、本体枠4及び扉枠3が開閉可能に取付けられている。
パチンコ機1の扉枠3は、正面視の外形が四角形で前後に貫通している貫通口111を有した枠状の扉枠ベースユニット100と、扉枠ベースユニット100の前面下部に取付けられ遊技球を貯留可能な上皿201及び下皿202を有した皿ユニット200と、扉枠ベースユニット100の前面上部に取付けられるトップユニット350と、扉枠ベースユニット100の前面左部に取付けられる左サイドユニット400と、扉枠ベースユニット100の前面右部に取付けられる右サイドユニット450と、扉枠ベースユニット100の前面右下部に皿ユニット200を貫通して取付けられ上皿201に貯留された遊技球を遊技盤5の遊技領域内へ打込むために遊技者が操作可能なハンドルユニット500と、扉枠ベースユニット100の後面下部に取付けられ遊技領域内へ打ち損じた遊技球を受けて皿ユニット200の下皿202へ排出するファールカバーユニット520と、扉枠ベースユニット100の後面下部に取付けられ上皿201の遊技球を球発射装置680へ送るための球送りユニット540と、扉枠ベースユニット100の後面に取付けられ貫通口111を閉鎖するガラスユニット560と、ガラスユニット560の後面下部を覆う防犯カバー580と、を備えている。
パチンコ機1の本体枠4は、一部が外枠2の枠内に挿入可能とされると共に遊技盤5の外周を支持可能とされた枠状の本体枠ベース600と、本体枠ベース600の正面視左側の上下両端に取付けられ外枠2の外枠側上ヒンジ部材60及び外枠側下ヒンジ部材70に夫々回転可能に取付けられると共に扉枠3の扉枠側上ヒンジ部材140及び扉枠側下ヒンジ部材150が夫々回転可能に取付けられる本体枠側上ヒンジ部材620及び本体枠側下ヒンジ部材640と、本体枠ベース600の正面視左側面に取付けられる補強フレーム660と、本体枠ベース600の前面下部に取付けられており遊技盤5の遊技領域5a内に遊技球を打込むための球発射装置680と、本体枠ベースの正面視右側面に取付けられており外枠2と本体枠4、及び扉枠3と本体枠4の間を施錠する施錠ユニット700と、本体枠ベース600の正面視上辺及び左辺に沿って後側に取付けられており遊技者側へ遊技球を払出す逆L字状の払出ユニット800と、本体枠ベース600の後面下部に取付けられている基板ユニット900と、本体枠ベース600の後側に開閉可能に取付けられ本体枠ベース600に取付けられた遊技盤5の後側を覆う裏カバー980と、を備えている。
裏カバー980の内部には、パチンコ機1で行われる遊技の進行にかかる制御を行う主制御ユニット1300が設けられる。主制御ユニット1300には役物比率表示器1317が設けられる。役物比率表示器1317は、例えば、4桁の7セグメントLEDによって構成される。液晶表示装置によって役物比率表示器1317を構成してもよい。なお、役物比率表示器1317を主制御ユニット1300ではなく、払出制御基板ユニット950に設けられてもよい。
また、役物比率を表示する表示装置を別に設けず、液晶表示装置1600、3114、244に役物比率を表示してもよい。この場合、液晶表示装置1600、3114、244のいずれかに役物比率を常時表示すると、役物比率を遊技者に報知でき、遊技者がパチンコ機の調子を確認できてよい。
役物比率は、後述するように、役物獲得球数÷総獲得球数で計算でき、例えば役物比率の数値が高い(例えば、90%)のパチンコ機は、大当たりによって多くの賞球が得られているので、調子がよいといえる。一方、役物比率の数値が低い(例えば、10%)のパチンコ機は、大当たり遊技が少なく、大当たり中の賞球が少ないので、調子が悪いといえる。したがって、遊技者は、役物比率の数値を考慮して、遊技するパチンコ機を選択できる。
遊技者に役物比率を報知する態様として、役物比率の数値をメイン液晶表示装置1600に表示してもよい。例えば、役物比率が70%以上の場合は赤色で数値を表示し、枠ランプを赤点灯または点滅し、69%~30%の場合は緑色で数値を表示し、枠ランプを緑点灯または点滅する。役物比率の数値は、装飾図柄と間違えないような態様で表示するとよい。例えば、変動していないときの装飾図柄の表示位置と重ならない位置に表示したり、役物比率を示す数字の大きさを装飾図柄より小さくするなどの態様で表示するとよい。表示態様は何段階に分けてもよい。
また、役物比率の数値によってメイン液晶表示装置1600に表示される装飾図柄の態様を変えて、役物比率を遊技者に報知してもよい。例えば、役物比率が70%以上の場合は赤色で装飾図柄を表示し、枠ランプを赤点灯または点滅し、69%~30%の場合は緑色で装飾図柄を表示し、枠ランプを緑点灯または点滅する。表示態様は何段階に分けてもよい。
また、扉枠3に備わる液晶表示装置244に表示してもよい。その際、上述した表示態様を変えてもよいし、役物比率だけでなく、他の情報とともに表示してもよい。他の情報とは、大当たり回数や大当たりの連続回数(所謂、連チャン回数)や持ち球数、残り残金などである。
また、役物比率に限らず、後述する連続役物比率やベース値などを、前述したように態様を変化させて表示してもよい。役物比率、連続役物比率、ベース値は、各々表示態様を変えてもよい。
主制御ユニット1300は、図13に示すように、一度閉めたら破壊せずに開けることができない構造で封印された透明の樹脂製の主制御基板ボックス1320に封入されており、プリント基板上に配置された部品を外部から見ることができる。さらに、例えば、裏カバー980が透明な樹脂で形成されている場合、パチンコ機1の裏面側から主制御ユニット1300を見ることができ、主制御ユニット1300に設けられる役物比率表示器1317をパチンコ機1の裏面側から見ることができる。役物比率表示器1317を主制御基板ボックス1320内に封入することによって、遊技機1の射幸性を低く見せるための役物比率表示器1317の不正な改造を防止でき、遊技機1の正確な射幸性を表示できる。
なお、裏カバー980が不透明な樹脂で形成されている場合、役物比率表示器1317の位置の裏カバー980に穴を開けたり、役物比率表示器1317の位置を透明にすることによって、パチンコ機1の裏面側から役物比率表示器1317を見られるようにしてもよい。
また、裏カバー980が透明な樹脂で形成されている場合でも、役物比率表示器1317の位置の裏カバー980の表面を平坦に形成したり、裏カバー980を薄く形成することによって、役物比率表示器1317をパチンコ機1の裏面側から見やすくしてもよい。
パチンコ機1の裏面下方には、アウト口1111や入賞口2001、2005、2006などを経由して遊技領域5aから流出した遊技球を集合し、パチンコ機1の外部に排出する排出口が設けられている。なお、排出口から排出された遊技球は、島設備を通じて球タンク802に供給される。本実施例のパチンコ機1には、排出口から排出される遊技球を検出する排出球センサ3060を設ける。
図13に示すように、主制御ユニット1300には役物比率表示スイッチ1318が設けられる。主制御基板ボックス1320には、役物比率表示スイッチ1318が操作可能な穴が設けられる。役物比率表示スイッチ1318の近傍のプリント基板上又は主制御基板ボックス1320に、役物比率の表示を操作するためのスイッチであることを表示(印刷、刻印、シールなど)するとよい。なお、役物比率表示スイッチ1318は、役物比率表示器1317の近くに設けることが望ましいが、主制御ユニット1300ではなくても、操作が容易な場所であれば、他の基板(例えば、演出制御基板4700、電源装置4112)や筐体4100や前面部材4200に設けてもよい。周辺制御ユニット1500や、主制御ユニット1300とは別体で設けられた中継基板や、枠側の電源基板ボックス930内の電源基板や、払出制御基板ユニット950に設けられてもよい。また、後述するように、役物比率表示スイッチ1318はRAMクリアスイッチと兼用してもよい。役物比率表示スイッチ1318を遊技者が操作できない位置に設けることで、遊技者が誤って操作することを防止できる。
本体枠4の払出ユニット800は、本体枠ベース600の後側に取付けられる逆L字状の払出ユニットベース801と、払出ユニットベース801の上部に取付けられており上方へ開放された左右に延びた箱状で図示しない島設備から供給される遊技球を貯留する球タンク802と、球タンク802の下側で払出ユニットベース801に取付けられており球タンク802内の遊技球を正面視左方向へ誘導する左右に延びたタンクレール803と、払出ユニットベース801における正面視左側上部の後面に取付けられタンクレール803からの遊技球を蛇行状に下方へ誘導する球誘導ユニット820と、球誘導ユニット820の下側で払出ユニットベース801から着脱可能に取付けられており球誘導ユニット820により誘導された遊技球を払出制御基板ユニット950に収容された払出制御基板951(図17を参照)からの指示に基づいて一つずつ払出す払出装置830と、払出ユニットベース801の後面に取付けられ払出装置830によって払出された遊技球を下方へ誘導すると共に皿ユニット200における上皿201での遊技球の貯留状態に応じて遊技球を通常放出口又は満タン放出口の何れかから放出させる上部満タン球経路ユニット850と、払出ユニットベース801の下端に取付けられ上部満タン球経路ユニット850の通常放出口から放出された遊技球を前方へ誘導して前端から扉枠3の貫通球通路526へ誘導する通常誘導路及び満タン放出口から放出された遊技球を前方へ誘導して前端から扉枠3の満タン球受口530へ誘導する満タン誘導路を有した下部満タン球経路ユニット860と、を備えている。
本体枠4の基板ユニット900は、本体枠ベース600の後側に取付けられる基板ユニットベース910と、基板ユニットベース910の正面視左側で本体枠ベース600の後側に取付けられ内部に低音用のスピーカ921を有したスピーカユニット920と、基板ユニットベース910の後側で正面視右側に取付けられ内部に電源基板が収容されている電源基板ボックス930と、スピーカユニット920の後側に取付けられており内部にインターフェイス制御基板が収容されているインターフェイス制御基板ボックス940と、電源基板ボックス930及びインターフェイス制御基板ボックス940に跨って取付けられており内部に遊技球の払出しを制御する払出制御基板951が収容された払出制御基板ユニット950と、を備えている。
パチンコ機1の遊技盤5は、図8及び図9等に示すように、遊技球が打込まれる遊技領域5aの外周を区画し球発射装置680から発射された遊技球を遊技領域5aの上部に案内する外レール1001及び内レール1002を有した前構成部材1000と、前構成部材1000の後側に取付けられると共に遊技領域5aの後端を区画する平板状の遊技パネル1100と、遊技パネル1100の後側の下部に取付けられており上方に開放された箱状の基板ホルダ1200と、基板ホルダ1200の後側に取付けられておりパチンコ機1の遊技を制御するための主制御基板1310を有している主制御ユニット1300と、遊技パネル1100の前側で遊技領域5a内に取付けられ遊技領域5a内に打込まれた遊技球を受入可能な複数の入賞口を有した表ユニット(図示は省略)と、基板ホルダ1200の上側で遊技パネル1100の後側に取付けられている裏ユニット3000と、を備えている。
本実施形態のパチンコ機1は、上皿201に遊技球を貯留した状態で、遊技者がハンドルレバー504を回転操作すると、球発射装置680によってハンドルレバー504の回転角度に応じた強さで遊技球が遊技盤5の遊技領域5a内へ打込まれる。そして、遊技領域5a内に打込まれた遊技球が、図示しない入賞口に受入れられると、受入れられた入賞口に応じて、所定数の遊技球が払出装置830によって上皿201に払出される。この遊技球の払出しによって遊技者の興趣を高めることができるため、上皿201内の遊技球を遊技領域5a内へ打込ませることができ、遊技者に遊技を楽しませることができる。
[2.遊技盤の全体構成]
次に、パチンコ機1の遊技盤5の全体構成について、図10乃至図16を参照して詳細に説明する。図10は、遊技盤の正面図である。図11は遊技盤を右前から見た斜視図であり、図12は遊技盤を左前から見た斜視図であり、図13は遊技盤を後ろから見た斜視図である。また、図14は遊技盤を主な構成毎に分解して前から見た分解斜視図であり、図15は遊技盤を主な構成毎に分解して後ろから見た分解斜視図である。更に、図16は、遊技盤における前構成部材及び表ユニットを遊技領域内の前後方向の略中央で切断した正面図である。
本実施形態の遊技盤5は、遊技者がハンドルユニット500のハンドルレバー504を操作することで遊技球が打込まれる遊技領域5aを有している。また、遊技盤5は、遊技領域5aの外周を区画し外形が正面視略四角形状とされた前構成部材1000と、前構成部材1000の後側に取付けられており遊技領域5aの後端を区画する板状の遊技パネル1100と、遊技パネル1100の後側下部に取付けられている基板ホルダ1200と、基板ホルダ1200の後面に取付けられており遊技球を遊技領域5a内へ打込むことで行われる遊技内容を制御する主制御基板1310(図17を参照)を有している主制御ユニット1300と、を備えている。遊技パネル1100の前面において遊技領域5a内となる部位には、遊技球と当接する複数の障害釘が所定のゲージ配列で植設されている(図示は省略)。
また、遊技盤5は、主制御基板1310からの制御信号に基づいて遊技状況を表示し前構成部材1000の左下隅に遊技者側へ視認可能に取付けられている機能表示ユニット1400と、遊技パネル1100の後側に取付けられている周辺制御ユニット1500と、正面視において遊技領域5aの中央に配置されており所定の演出画像を表示可能なメイン液晶表示装置1600と、遊技パネル1100の前面に取付けられる表ユニット2000と、遊技パネル1100の後面に取付けられる裏ユニット3000と、を更に備えている。裏ユニット3000の後面にメイン液晶表示装置1600が取付けられていると共に、メイン液晶表示装置1600の後面に周辺制御ユニット1500が取付けられている。
遊技パネル1100は、外周が枠状の前構成部材1000の内周よりもやや大きく形成されていると共に透明な平板状のパネル板1110と、パネル板1110の外周を保持しており前構成部材1000の後側に取付けられると共に後面に裏ユニット3000が取付けられる枠状のパネルホルダ1120と、を備えている。
表ユニット2000は、遊技領域5a内に打込まれた遊技球を受入可能に常時開口している複数の一般入賞口2001と、複数の一般入賞口2001とは遊技領域5a内の異なる位置で遊技球を受入可能に常時開口している第一始動口2002と、遊技領域5a内の所定位置に取付けられており遊技球の通過を検知するゲート部2003と、遊技球がゲート部2003を通過することにより抽選される普通抽選結果に応じて遊技球の受入れが可能となる第二始動口2004と、第一始動口2002又は第二始動口2004への遊技球の受入れにより抽選される第一特別抽選結果又は第二特別抽選結果に応じて遊技球の受入れが何れかにおいて可能となる第一大入賞口2005及び第二大入賞口2006と、を備えている。第二大入賞口2006は、遊技球が流通する一つの流路に配置された第二上大入賞口2006aと第二下大入賞口2006bとの二つの大入賞口により構成されている(図16を参照)。
また、表ユニット2000は、遊技領域5a内の左右方向中央でアウト口1111の直上に取付けられており第一始動口2002及び第一大入賞口2005を有している始動口ユニット2100と、始動口ユニット2100の正面視左方で内レール1002に沿って取付けられており三つの一般入賞口2001を有しているサイドユニット下2200と、サイドユニット下2200の正面視左端上方に取付けられているサイドユニット上2300と、遊技領域5a内の略中央に取付けられており一つの一般入賞口2001、ゲート部2003、第二始動口2004、及び第二大入賞口2006を有している枠状のセンター役物2500と、を備えている。
裏ユニット3000は、パネルホルダ1120の後面に取付けられ前方が開放されている箱状で後壁に四角い開口部3010aを有している裏箱3010と、裏箱3010内の所定位置に配置されており表ユニット2000の一般入賞口2001に受入れられた遊技球を検知する複数の一般入賞口センサ3015と、裏箱3010の後面に取付けられておりメイン液晶表示装置1600を着脱可能に取付けるためのロック機構3020と、裏箱3010内の正面視右端に取付けられておりセンター役物2500の一般入賞口2001や第二始動口2004に受入れられた遊技球を排出するための右球通路ユニット3030と、裏箱3010内の正面視右下隅の前端付近に取付けられておりセンター役物2500の第二大入賞口2006や第二アウト口2543cに受入れられた遊技球を排出するための右下球通路ユニット3035と、を備えている。
また、裏ユニット3000は、裏箱3010の後面に取付けられている上中継基板3040と、上中継基板3040の後側を覆う上中継基板カバー3041と、裏箱3010の後面に回動可能に取付けられている箱状の演出駆動基板ボックス3042と、演出駆動基板ボックス3042内に収容されている演出駆動基板3043と、裏箱3010の後面に取付けられているパネル中継基板3044と、パネル中継基板3044の後側を覆うパネル中継基板カバー3045と、を備えている。
更に、裏ユニット3000は、裏箱3010内の前端で正面視左辺側の上下方向中央から上寄りに取付けられている裏左中装飾ユニット3050と、裏箱3010内における開口部3010aの下方で裏箱3010の後壁付近に取付けられている裏下後可動演出ユニット3100と、裏箱3010内における開口部3010aの上方で正面視左側に取付けられている裏上左可動演出ユニット3200と、裏箱3010内で開口部3010aの正面視左側に取付けられている裏左可動演出ユニット3300と、裏箱3010内における開口部3010aの上方で左右方向中央から正面視右端までにかけて取付けられている裏上中可動演出ユニット3400と、裏箱3010内における開口部3010aの下方で裏下後可動演出ユニット3100の前方に取付けられている裏下前可動演出ユニット3500と、を備えている。
[2-1.前構成部材]
次に、前構成部材1000について、主に図14及び図15を参照して説明する。前構成部材1000は、正面視の外形が略正方形とされ、内形が略円形状に前後方向へ貫通しており、内形の内周によって遊技領域5aの外周を区画している。この前構成部材1000は、正面視で左右方向中央から左寄りの下端から時計回りの周方向へ沿って円弧状に延び正面視左右方向中央上端を通り過ぎて右斜め上部まで延びた外レール1001と、外レール1001に略沿って前構成部材1000の内側に配置され正面視左右方向中央下部から正面視左斜め上部まで円弧状に延びた内レール1002と、内レール1002の下端の正面視右側で遊技領域5aの最も低くなった位置に形成されており後方へ向かって低くなるように傾斜しているアウト誘導部1003と、を備えている。
また、前構成部材1000は、アウト誘導部1003の正面視右端から前構成部材1000の右辺付近まで右端側が僅かに高くなるように直線状に傾斜している右下レール1004と、右下レール1004の右端から前構成部材1000の右辺に沿って外レール1001の上端の下側まで延びており上部が前構成部材1000の内側へ湾曲している右レール1005と、右レール1005の上端と外レール1001の上端とを繋いでおり外レール1001に沿って転動して来た遊技球が当接する衝止部1006と、を備えている。
また、前構成部材1000は、内レール1002の上端に回動可能に軸支され、外レール1001との間を閉鎖するように内レール1002の上端から上方へ延出した閉鎖位置と正面視時計回りの方向へ回動して外レール1001との間を開放した開放位置との間でのみ回動可能とされると共に閉鎖位置側へ復帰するように図示しないバネによって付勢された逆流防止部材1007を、備えている。
レール1001、1002の出口付近(望ましくは、逆流防止部材1007を通過した直後)の遊技盤5の裏面側には、遊技領域5aに打ち込まれた遊技球を検出する発射球センサ1020を設ける。例えば、発射球センサ1020は、磁気センサで構成し、逆流防止部材1007を通過して遊技領域5aに流入した遊技球を検出すると、信号を出力する。なお、発射球センサ1020は、遊技領域内で遊技球が必ず通過する位置に設けてもよい。遊技盤5における発射球センサ1020の位置を固定化することによって、複数機種間で仕様を共通化でき、製造現場での検査やホールでの設置後検査が容易になる。
また、レール1001、1002の出口付近などの遊技領域5aの上流に設けた発射球センサ1020は、入賞口センサが遊技球の入賞を検出する前にアウト球を検出する。すなわち、アウト球、賞球の順で遊技球を検出するので、アウト球として計数されていない遊技球に起因した賞球を検出せず、正確にベース値を計算できる。
[2-2.遊技パネル]
次に、遊技パネル1100について、主に図14及び図15を参照して説明する。遊技パネル1100は、外周が枠状の前構成部材1000の内周よりもやや大きく形成されていると共に透明な合成樹脂で形成されている平板状のパネル板1110と、パネル板1110の外周を保持しており前構成部材1000の後側に取付けられると共に後面に裏ユニット3000が取付けられる枠状のパネルホルダ1120と、を備えている。遊技パネル1100のパネル板1110は、遊技領域5a内において最も低い位置となる部位に前後に貫通しているアウト口1111が形成されている。また、パネル板1110には、前後に貫通しており表ユニット2000を取付けるための開口部1112が複数形成されている。
遊技パネル1100のパネルホルダ1120は、パネル板1110を後側から着脱可能に保持している。また、パネルホルダ1120は、裏ユニット3000を取付けるための取付孔と、位置決め孔とが後面に複数形成されている。
遊技パネル1100を前構成部材1000の後側に取付けた状態では、前構成部材1000のアウト誘導部1003の後側にパネル板1110のアウト口1111が開口した状態となる。これにより、遊技領域5aの下端へ流下した遊技球が、アウト誘導部1003によって後側のアウト口1111へ誘導され、アウト口1111を通って遊技パネル1100の後側へ排出される。
[2-3.基板ホルダ]
次に、基板ホルダ1200について、図11乃至図15を参照して説明する。基板ホルダ1200は、上方及び前方が開放された横長の箱状に形成されており、底面が左右方向中央へ向かって低くなるように傾斜している。この基板ホルダ1200は、遊技盤5に組立てた状態では、遊技パネル1100の後側に取付けられている裏ユニット3000の下部を下側から覆うことができる。これにより、アウト口1111を通って遊技パネル1100の後側へ排出された遊技球、及び、表ユニット2000及び裏ユニット3000から下方へ排出された遊技球、を全て受けることができ、底面に形成された排出部1201(図14を参照)から下方へ排出させることができる。
[2-4.主制御基板ユニット]
次に、主制御ユニット1300について、図11乃至図15、及び図17を参照して説明する。主制御ユニット1300は、基板ホルダ1200の後面に着脱可能に取付けられている。この主制御ユニット1300は、遊技内容及び遊技球の払出し等を制御する主制御基板1310と、主制御基板1310を収容しており基板ホルダ1200に取付けられる主制御基板ボックス1320と、を備えている。
主制御基板ボックス1320は、複数の封印機構を備えており、一つの封印機構を用いて主制御基板ボックス1320を閉じると、次に、主制御基板ボックス1320を開けるためにはその封印機構を破壊する必要があり、主制御基板ボックス1320の開閉の痕跡を残すことができる。従って、開閉の痕跡を見ることで、主制御基板ボックス1320の不正な開閉を発見することができ、主制御基板1310への不正行為に対する抑止力が高められている。
[2-5.機能表示ユニット]
次に、機能表示ユニット1400について、図10乃至図12を参照して説明する。機能表示ユニット1400は、図示するように、遊技領域5aの外側で前構成部材1000の左下隅に取付けられている。この機能表示ユニット1400は、遊技盤5をパチンコ機1に組立てた状態で、扉枠3の貫通口111を通して前方(遊技者側)から視認することができる(図1を参照)。この機能表示ユニット1400は、主制御基板1310からの制御信号に基づき複数のLEDを用いて、遊技状態(遊技状況)や、普通抽選結果や特別抽選結果等を表示するものである。
機能表示ユニット1400は、詳細な図示は省略するが、遊技状態を表示する一つのLEDからなる状態表示器と、ゲート部2003に対する遊技球の通過により抽選される普通抽選結果に基づいて二つのLEDを点滅制御することにより普通図柄を変動表示した後にこれら二つのLEDを普通抽選結果に応じた点灯態様で表示させる普通図柄表示器と、ゲート部2003に対する遊技球の通過に係る普通図柄の変動表示のうち未だ変動表示の開始条件が成立していない変動表示の個数である保留数を表示する二つのLEDからなる普通保留表示器と、第一始動口2002への遊技球の受入れ(始動入賞の発生)により抽選された第一特別抽選結果に基づいて八つのLEDを点滅制御することにより第一特別図柄を変動表示した後にこれら八つのLEDを第一特別抽選結果に応じた点灯態様で表示させる第一特別図柄表示器と、第一始動口2002への遊技球の受入れに係る第一特別図柄の変動表示のうち未だ変動表示の開始条件が成立していない変動表示の個数である保留数を表示する二つのLEDからなる第一特別保留数表示器と、第二始動口2004への遊技球の受入れ(始動入賞の発生)により抽選された第二特別抽選結果に基づいて八つのLEDを点滅制御することにより第二特別図柄を変動表示した後にこれら八つのLEDを第二特別抽選結果に応じた点灯態様で表示させる第二特別図柄表示器と、第二始動口2004への遊技球の受入れに係る第二特別図柄の変動表示のうち未だ変動表示の開始条件が成立していない変動表示の個数である保留数を表示する二つのLEDからなる第二特別保留数表示器と、第一特別抽選結果又は第二特別抽選結果が「大当り」等の時に、第一大入賞口2005や第二大入賞口2006の開閉パターンの繰返し回数(ラウンド数)を表示する二つのLEDからなるラウンド表示器と、を主に備えている。
この機能表示ユニット1400では、備えられているLEDを、適宜、点灯、消灯、及び、点滅、等させることにより、保留数や図柄等を表示することができる。
[2-6.周辺制御ユニット]
次に、周辺制御ユニット1500について、図13及び図15を参照して説明する。周辺制御ユニット1500は、裏ユニット3000の裏箱3010の後面に取付けられている。周辺制御ユニット1500は、主制御基板1310からの制御信号に基づいて遊技者に提示する演出を制御する周辺制御基板1510(図17を参照)と、周辺制御基板1510を収容している周辺制御基板ボックス1520と、を備えている。周辺制御基板1510は、発光演出、サウンド演出、及び可動演出、等を制御するための周辺制御部1511と、演出画像を制御するための液晶表示制御部1512と、を備えている(図17を参照)。
[2-7.メイン液晶表示装置]
次に、メイン液晶表示装置1600について、図10乃至図16を参照して説明する。メイン液晶表示装置1600は、正面視において遊技領域5aの中央に配置されており、遊技パネル1100の後側に裏ユニット3000の裏箱3010を介して取付けられている。詳述すると、メイン液晶表示装置1600は、裏箱3010の後壁の略中央の後面に対して、着脱可能に取付けられている。このメイン液晶表示装置1600は、遊技盤5を組立てた状態で、枠状のセンター役物2500の枠内を通して、前側(遊技者側)から視認することができる。このメイン液晶表示装置1600は、白色LEDをバックライトとしたフルカラーの表示装置であり、静止画像や動画を表示することができる。
メイン液晶表示装置1600は、図14及び図15に示すように、正面視左側面から外方へ突出している二つの左固定片1601と、正面視右側面から外方へ突出している右固定片1602と、を備えている。このメイン液晶表示装置1600は、液晶画面を前方へ向けた状態で、後述する裏箱3010の枠状の液晶取付部内の正面視左内周面に開口している二つの固定溝3010cに、裏箱3010の斜め後方から二つの左固定片1601を挿入した上で、右固定片1602側を前方へ移動させて、右固定片1602をロック機構3020の開口部内に挿入し、ロック機構3020を下方へスライドさせることにより、裏箱3010に取付けられる。
[2-8.表ユニットの全体構成]
次に、表ユニット2000について、主に図10乃至図12、図14乃至図16を参照して説明する。遊技盤5の表ユニット2000は、遊技パネル1100のパネル板1110に、前方から取付けられており、前端がパネル板1110の前面よりも前方へ突出していると共に、後端が開口部1112を貫通してパネル板1110の後面よりも後方へ突出している。本実施形態の表ユニット2000は、遊技領域5a内に打込まれた遊技球を受入可能としており常時開口している複数の一般入賞口2001と、複数の一般入賞口2001とは遊技領域5a内の異なる位置で遊技球を受入可能に常時開口している第一始動口2002と、遊技領域5a内の所定位置に取付けられており遊技球の通過を検知するゲート部2003と、遊技球がゲート部2003を通過することにより抽選される普通抽選結果に応じて遊技球の受入れが可能となる第二始動口2004と、第一始動口2002又は第二始動口2004への遊技球の受入れにより抽選される第一特別抽選結果又は第二特別抽選結果に応じて何れかにおいて遊技球の受入れが可能となる第一大入賞口2005及び第二大入賞口2006と、を備えている。
複数(ここでは四つ)の一般入賞口2001は、三つが遊技領域5a内の下部に配置されており、残りの一つが遊技領域5a内における正面視右上付近に配置されている。第一始動口2002は、遊技領域5a内の左右方向中央でアウト口1111の直上に配置されている。ゲート部2003は、遊技領域5a内における正面視右上で衝止部1006の略直下に配置されている。第二始動口2004は、ゲート部2003の直下から正面視右寄りに配置されている。上述した複数の一般入賞口2001のうち遊技領域5a内の正面視右上付近に配置されている一般入賞口2001は、第二始動口2004の直上に配置されている。第一大入賞口2005は、第一始動口2002とアウト口1111との間に配置されている。第二大入賞口2006は、第一始動口2002の正面視右方で第一大入賞口2005よりも上方に配置されている。
表ユニット2000における第二大入賞口2006は、図16に示すように、遊技球が流通する一つの流路に沿って配置された第二上大入賞口2006aと第二下大入賞口2006bとにより構成されている。第二大入賞口2006は、第二上大入賞口2006aが遊技領域5a内における正面視右下付近に配置されており、第二下大入賞口2006bが第二上大入賞口2006aの正面視左側で下方に配置されている。
また、表ユニット2000は、遊技領域5a内の左右方向中央でアウト口1111の直上に取付けられており第一始動口2002及び第一大入賞口2005を有している始動口ユニット2100と、始動口ユニット2100の正面視左方で内レール1002に沿って取付けられており三つの一般入賞口2001を有しているサイドユニット下2200と、サイドユニット下2200の正面視左端上方に取付けられているサイドユニット上2300と、遊技領域5a内の略中央に取付けられており一つの一般入賞口2001、ゲート部2003、第二始動口2004、及び第二大入賞口2006を有している枠状のセンター役物2500と、を備えている。
[2-8a.始動口ユニット]
次に、表ユニット2000の始動口ユニット2100について、説明する。始動口ユニット2100は、遊技領域5a内において、左右方向中央の下端部付近でアウト口1111の直上に配置されており、パネル板1110に前方から取付けられている。この始動口ユニット2100は、第一始動口2002及び第一大入賞口2005を有している。
始動口ユニット2100は、パネル板1110の前面に取付けられ左右に延びた矩形状で前後に貫通している第一大入賞口2005を有した平板状のユニットベース2101と、ユニットベース2101における第一大入賞口2005の上方で左右方向略中央の上部から前方へ突出しており第一始動口2002を形成している球受部2102と、ユニットベース2101の後側に取付けられており第一始動口2002に受入れられた遊技球を下方へ誘導する球誘導部2103と、球誘導部2103に取付けられており第一始動口2002に受入れられた遊技球を検知する第一始動口センサ2104と、第一大入賞口2005を閉鎖するようにユニットベース2101の後面に取付けられている第一アタッカユニット2110と、を備えている。
始動口ユニット2100の第一アタッカユニット2110は、第一大入賞口2005を後方から閉鎖するようにユニットベース2101の後面に取付けられ前端が第一大入賞口2005と略同じ大きさで前方に開放されている箱状のユニットケース2111と、第一大入賞口2005を開閉可能にユニットケース2111の前端で下辺が回動可能に支持されている横長矩形状で平板状の第一大入賞口扉部材2112と、ユニットケース2111内に取付けられており第一大入賞口扉部材2112を開閉駆動させる第一アタッカソレノイド2113と、ユニットケース2111内に取付けられており第一大入賞口2005に受入れられた遊技球を検知する第一大入賞口センサ2114と、ユニットケース2111の上面に取付けられており第一始動口センサ2104、第一アタッカソレノイド、及び第一大入賞口センサ2114と主制御基板1310との接続を中継する始動口ユニット中継基板2115と、ユニットケース2111の下部に取付けられており第一大入賞口2005を発光装飾させるための始動口ユニット装飾基板(図示は省略)と、を備えている。
第一始動口2002を形成している球受部2102は、遊技球を一度に一つのみ受入可能な大きさで上方に向かって開口している。ユニットベース2101を貫通している第一大入賞口2005は、遊技球を一度に複数(例えば、4個~6個)受入可能な大きさで前方に向かって開口している。
始動口ユニット2100は、球受部2102により形成されている第一始動口2002が上方に向かって開口しており、第一始動口2002に受入れられた遊技球を、球誘導部2103によりユニットベース2101の後側で下方へ誘導し、第一始動口センサ2104に検知させた後に、第一アタッカユニット2110を貫通して下方へ排出させることができる。本実施形態では、第一始動口センサ2104が二つ備えられており、主制御基板1310では、所定の時間範囲内で二つの第一始動口センサ2104が遊技球を検知すると、第一始動口2002に遊技球が受入れられたと判断するようになっている。これにより、第一始動口2002への不正な工具の挿入による不正行為を検知することができる。
始動口ユニット2100では、ユニットベース2101の後面に第一アタッカユニット2110を取付けることにより、第一アタッカユニット2110の第一大入賞口扉部材2112が、ユニットベース2101に開口している第一大入賞口2005内に後方から挿入されて、第一大入賞口2005を閉鎖している。この第一大入賞口扉部材2112は、第一大入賞口2005を閉鎖している直立した状態で、下辺の左右両端部がユニットケース2111によって回動可能に取付けられており、上辺が前方且つ下方へ移動するように回動させることで第一大入賞口2005を閉状態から開状態とすることができる。
第一アタッカユニット2110の第一大入賞口扉部材2112は、通常の状態(第一アタッカソレノイド2113が非通電の状態)では直立して、第一大入賞口2005を閉鎖している。そして、第一アタッカソレノイド2113が遊技状態に応じて通電されると、上辺が前方且つ下方へ移動するように第一大入賞口扉部材2112が回動して、上辺が下辺よりもやや上方へ位置した状態となる。つまり、第一大入賞口扉部材2112が、第一大入賞口2005の下辺から前方へ向かって高くなるように傾斜した状態となる。
この状態で第一大入賞口2005の前方を遊技球が流下して第一大入賞口扉部材2112に当接すると、第一大入賞口扉部材2112の傾斜により遊技球の流通方向が下方から後方へと変化し、第一大入賞口2005に受入れられてユニットケース2111内に進入することとなる。そして、第一大入賞口2005に受入れられた遊技球は、第一大入賞口センサ2114により検知された後に、ユニットケース2111の下面から下方へ排出される。
[3.制御構成]
次に、パチンコ機1の各種制御を行う制御構成について、図17を参照して説明する。図17は、パチンコ機の制御構成を概略的に示すブロック図である。パチンコ機1の主な制御構成は、図示するように、遊技盤5に取付けられる主制御基板1310及び周辺制御基板1510と、本体枠4に取付けられる払出制御基板951と、から構成されており、夫々の制御が分担されている。主制御基板1310は、遊技動作(遊技の進行)を制御する。周辺制御基板1510は、主制御基板1310からのコマンドに基いて遊技中の各種演出装置を制御する周辺制御部1511と、周辺制御部1511からのコマンドに基いてメイン液晶表示装置1600や上皿液晶表示装置244等での演出画像の表示を制御する液晶表示制御部1512と、を備えている。払出制御基板951は、遊技球の払出し等を制御する払出制御部952と、ハンドルレバー504の回転操作による遊技球の発射を制御する発射制御部953と、を備えている。
[3-1.主制御基板]
遊技の進行を制御する主制御基板1310は、各種処理プログラムや各種コマンドを記憶するROM1313や一時的にデータを記憶するRAM1312等が内蔵されるマイクロプロセッサである主制御MPU1311と、入出力デバイス(I/Oデバイス)としての主制御I/Oポート1314と、各種検出スイッチからの検出信号が入力される主制御入力回路1315と、各種ソレノイドを駆動するための主制御ソレノイド駆動回路1316と、主制御MPU1311に内蔵されているRAMに記憶された情報を完全に消去するためのRAMクリアスイッチと、を備えている。主制御MPU1311は、その内蔵されたROMやRAMのほかに、その動作(システム)を監視するウォッチドックタイマや不正を防止するための機能等も内蔵されている。
主制御基板1310の主制御MPU1311は、第一始動口2002に受入れられた遊技球を検出する第一始動口センサ2104、第二始動口2004に受入れられた遊技球を検出する第二始動口センサ2551、一般入賞口2001に受入れられた遊技球を検出する一般入賞口センサ3015、ゲート部2003を通過した遊技球を検知するゲートセンサ2547、第一大入賞口2005に受入れられた遊技球を検知する第一大入賞口センサ2114、第二大入賞口2006としての第二上大入賞口2006a及び第二下大入賞口2006bに受入れられた遊技球を検知する第二上大入賞口センサ2554及び第二下大入賞口センサ2557、排出球センサ3060、発射球センサ1020及び遊技領域5a内における不正な磁気を検知する磁気検出センサ、等からの検出信号が夫々主制御I/Oポート1314を介して入力される。
主制御MPU1311は、これらの検出信号に基づいて、主制御I/Oポート1314から主制御ソレノイド駆動回路に制御信号を出力することにより、始動口ソレノイド2550、第一アタッカソレノイド2113、第二上アタッカソレノイド2553、及び第二下アタッカソレノイド2556に駆動信号を出力したり、主制御I/Oポート1314から機能表示ユニット1400の第一特別図柄表示器、第二特別図柄表示器、第一特別図柄記憶表示器、第二特別図柄記憶表示器、普通図柄表示器、普通図柄記憶表示器、遊技状態表示器、ラウンド表示器、等に駆動信号を出力したりする。
なお、本実施形態おいて、第一始動口センサ2104、第二始動口センサ2551、ゲートセンサ2547、第一大入賞口センサ2114、第二上大入賞口センサ2554、及び第二下大入賞口センサ2557には、非接触タイプの電磁式の近接スイッチを用いているのに対して、一般入賞口センサ3015には、接触タイプのON/OFF動作式のメカニカルスイッチを用いている。これは、遊技球が、第一始動口2002や第二始動口2004に頻繁に入球すると共に、ゲート部2003を頻繁に通過するため、第一始動口センサ2104、第二始動口センサ2551、及びゲートセンサ2547による遊技球の検出も頻繁に発生する。このため、第一始動口センサ2104、第二始動口センサ2551、及びゲートセンサ2547には、耐久性が高く寿命の長い近接スイッチを用いている。また、遊技者にとって有利となる有利遊技状態(「大当り」遊技、等)が発生すると、第一大入賞口2005や第二大入賞口2006が開放(又は、拡大)されて遊技球が頻繁に入球するため、第一大入賞口センサ2114、第二上大入賞口センサ2554、及び第二下大入賞口センサ2557による遊技球の検出も頻繁に発生する。このため、第一大入賞口センサ2114、第二上大入賞口センサ2554、及び第二下大入賞口センサ2557にも、耐久性が高く寿命の長い近接スイッチを用いている。これに対して、遊技球が頻繁に入球しない一般入賞口2001には、一般入賞口センサ3015による検出も頻繁に発生しない。このため、一般入賞口センサ3015には、近接スイッチより寿命が短いメカニカルスイッチを用いている。
また、主制御MPU1311は、遊技に関する各種情報(遊技情報)及び払出しに関する各種コマンド等を払出制御基板951に送信したり、この払出制御基板951からのパチンコ機1の状態に関する各種コマンド等を受信したりする。更に、主制御MPU1311は、メイン液晶表示装置1600等で実行される遊技演出の制御に関する各種コマンド及びパチンコ機1の状態に関する各種コマンドを、主制御I/Oポート1314を介して周辺制御基板1510の周辺制御部1511に送信したりする。なお、主制御MPU1311は、払出制御基板951からパチンコ機1の状態に関する各種コマンドを受信すると、これらの各種コマンドを整形して周辺制御部1511に送信する。
主制御基板1310には、電源基板ボックス930内の電源基板から各種電圧が供給されている。この主制御基板1310に各種電圧を供給する電源基板は、電源遮断時にでも所定時間、主制御基板1310に電力を供給するためのバックアップ電源としての電気二重層キャパシタ(以下、単に「キャパシタ」と記載する。)を備えている。このキャパシタにより主制御MPU1311は、電源遮断時にでも電源断時処理において各種情報をRAM1312に記憶することができる。この記憶した各種情報は、電源投入時に主制御基板1310のRAMクリアスイッチが操作されると、RAM1312から完全に消去(クリア)される。このRAMクリアスイッチの操作信号(検出信号)は、払出制御基板951にも出力される。
また、主制御基板1310には、停電監視回路が設けられている。この停電監視回路は、電源基板から供給される各種電圧の低下を監視しており、それらの電圧が停電予告電圧以下となると、停電予告として停電予告信号を出力する。この停電予告信号は、主制御I/Oポート1314を介して主制御MPU1311に入力される他に、払出制御基板951等にも出力されている。
主制御基板1310には、パチンコ機1の裏面側から視認可能な位置に役物比率表示器1317が取り付けられる。役物比率表示器1317は、主制御MPU1311が計算した役物比率を表示する。
また、主制御基板1310には、役物比率表示スイッチ1318が設けられる。役物比率表示スイッチ1318は、モーメンタリ動作をする押ボタンスイッチで構成するとよいが、他の形式のスイッチでもよい。役物比率表示スイッチ1318を操作すると、役物比率表示器1317に役物比率を表示する。なお、役物比率表示器1317は常時、役物比率を表示し、役物比率表示スイッチ1318の操作によって表示内容を切り替えてもよい。
図18は、主制御MPU1311内の構成を示す図である。
主制御MPU1311は、CPU13111、RAM1312、ROM1313、乱数発生回路13112、パラレル入力ポート13113、シリアル通信回路13114、タイマ回路13115、割込コントローラ13116、外部バスインターフェイス13117、クロック回路13118、照合用ブロック13119、固有情報13120、演算回路13121及びリセット回路13122を有する。
CPU13111は、ROM1313に記憶されたプログラムを実行する。RAM1312は、プログラム実行時に必要なデータを記憶する。
主制御MPU1311には、一つ以上の乱数発生回路13112が設けられている。乱数発生回路13112は、変動表示ゲームの結果(第一特別抽選結果、第二特別抽選結果)の抽選結果や変動表示ゲームの演出内容を決定するための乱数を提供する。乱数発生回路13112は、例えば、主制御MPU1311に供給されるクロック周期(又は、該クロック周期を分周した信号)のタイミングで更新した乱数を出力する、いわゆるハード乱数生成手段である。乱数発生回路13112が生成するハード乱数は、特別図柄の当たりの抽選や、特別図柄変動表示ゲームの当たり図柄の抽選や、普通図柄の当たりの抽選に用いられる。
パラレル入力ポート13113は、主制御入力回路1315を経由して各種検出スイッチからの検出信号が入力されるポートである。
シリアル通信回路13114は、主制御I/Oポート1314を介して、遊技演出の制御に関する各種コマンド及びパチンコ機1の状態に関する各種コマンドを周辺制御基板1510の周辺制御部1511と送受信する。また、シリアル通信回路13114は、主制御I/Oポート1314を介して、遊技に関する各種情報(遊技情報)及び遊技球の払い出しに関する各種コマンド等を払出制御基板951と送受信する。さらに、シリアル通信回路13114は、役物比率を表示するためのデータを役物比率表示器1317に送信する。シリアル通信回路13114の詳細な構成は、図20を参照して後述する。
タイマ回路13115は、タイマ割り込みや各種時間制御のためのタイマである。割込コントローラ13116は、CPU13111に対する各種の割り込み(一般割り込み、ソフトウェアでマスク不可能なNMI)を制御する。すなわち、割込コントローラ13116が割り込みを検出した場合、割り込みの種類毎に定められたベクターテーブルを参照し、ベクターテーブルに設定されたアドレスにジャンプする。
外部バスインターフェイス13117は、主制御MPU1311の内部バスを外部のデバイスと接続するためのインターフェイスである。外部バスインターフェイス13117からは、I/Oリクエスト(IORQ)、リード(RD)、ライト(WR)、16ビットのアドレス(A0~A15)、8ビットのデータ(D0~D7)が入出力できる。
クロック回路13118は、入力された外部クロック信号(例えば、32MHz)から主制御MPU1311の内部クロックを生成する。また、クロック回路13118は、入力されたクロック信号に、設定された数の分周をして、CLKO端子から外部に出力する。例えば、役物比率表示器1317のドライバ回路13171(図28参照)に供給するクロック信号を出力してもよい。
照合用ブロック13119は、ROM1313が不正に改造されていないかを所定のコードを用いて照合する機能ブロックである。固有情報13120は、主制御MPU1311に固有のIDであり、チップの製造時に書き換え不能に書き込まれている。
演算回路13121は、ROM1313に記録されたプログラムによらない演算機能を提供する。この演算機能は、チップの製造時に固定的に書き込まれている。
リセット回路13122は、指定外走行禁止回路、ウォッチドッグタイマ及びユーザリセット機能を有する。指定外走行禁止回路は、ROM1313の所定外のアドレスにCPU13111がアクセスした場合、不正なプログラムによるアクセスであると推定し、主制御MPU1311の動作をリセットする。ウォッチドッグタイマは、所定のタイマ時間が経過した際にタイムアウト信号を出力し、主制御MPU1311の動作をリセットする。ユーザリセット機能は、SRST端子に入力されたリセット信号によって、主制御MPU1311の動作をリセットする。
図19は、演算回路13121の詳細な構成を示すブロック図である。
演算回路13121は、演算結果についてプログラムによらない演算機能を提供するものであり、乗算回路131211及び除算回路131215を有する。
乗算回路131211は、所定ビット数(例えば、16ビット)の二つの値を乗じて、32ビットの積を出力する演算回路であり、乗算関数によって入力値(乗数、被乗数)を積に変換して出力する変換回路として機能する。
主制御MPU1311のCPU13111は、乗算入力レジスタA131212及び乗算入力レジスタB131213に16ビット以下の乗数及び被乗数を格納する。乗算回路131211は、二つの16ビットの乗算入力レジスタ131212、131213に格納された値を所定のタイミングで読み出し、二つの値を乗じた結果を乗算結果レジスタ131214に格納する。CPU13111は、乗算結果レジスタ131214から乗算結果を取得する。乗算入力レジスタ131212、131213への値の書き込みから乗算結果レジスタ131214への演算結果の格納までは、所定の時間(例えば1クロック)で完了するように構成されており、CPU13111は、乗算入力レジスタ131212、131213に値を格納して、所定のクロック数が経過した後に、乗算結果レジスタ131214を参照して乗算結果を取得できる。
除算回路131215は、所定ビット数(例えば、32ビット)の被除数を所定ビット数(例えば、32ビット)の除数で割って、32ビットの商と32ビットの剰余を出力する演算回路であり、除算関数によって入力値(除数、被除数)を商及び剰余変換して出力する変換回路として機能する。
主制御MPU1311のCPU13111は、除算入力レジスタA131216に32ビット以下の被除数を格納し、除算入力レジスタB131217に32ビット以下の除数を格納する。除算回路131215は、二つの32ビットの除算入力レジスタ131216、131217の両方に値が格納されことを検出すると、格納された値を所定のタイミングで読み出し、被除数を除数で割った結果である商を除算結果レジスタA131218に格納し、剰余を除算結果レジスタB131219に格納する。また、除算回路131215は、除算入力レジスタ131216、131217に格納された値を読み込むと、読み込んだ値を消去し、当該レジスタをクリアするとよい。また、除算回路131215は、スタート命令が入力されたタイミングで、除算入力レジスタ131216、131217に格納された値を読み出し、除算結果を除算結果レジスタ131218、131219に格納してもよい。この場合、除算入力レジスタ131216、131217に格納された値を、読み込みタイミングで消去しなくてもよい。また、除算入力レジスタ131216、131217は、既に値が格納されていても(格納されている値をクリアせずに)、さらに、値を上書き可能でもよい。
CPU13111は、除算結果レジスタ131218、131219から除算結果を取得する。除算入力レジスタ131216、131217への値の書き込みから除算結果レジスタ131218、131219への演算結果の格納までは、所定の時間(例えば32クロック)で完了するように構成されており、CPU13111は、除算入力レジスタ131216、131217に値を格納して、所定のクロック数が経過した後に、除算結果レジスタ131218、131219をそれぞれ参照して商及び剰余を取得できる。
本実施例のパチンコ機1では、後述するように、ベース値を計算するために除算処理が必要であり、CPU13111がプログラムを実行する除算は複数の乗算及び減算で実行されるので相当の時間がかかるものである。このため、タイマ割込み処理毎にベース計算処理を実行するのは困難であり、遅滞ないベース値の表示は困難であった。これに対し、演算回路13121を用いて除算処理を行うことによって、ベース値の計算に必要な時間を短縮でき、一つのタイマ割込み処理において複数回ベース値を計算できる(図75、図80参照)。また、演算回路13121の除算入力レジスタ131216、131217への値の書き込みから除算結果レジスタA131218からの演算結果の読み出しまでの間、CPU13111は除算処理のために占有されないので、他の処理を実行でき、タイマ割込み処理中のベース算出処理を効率的に実行できる。
図20は、シリアル通信回路13114の構成を示す図である。
シリアル通信回路13114は、四つのデータ送受信回路を有しており、各データ送受信回路が1チャネル分のデータを所定のデバイスと送受信する。なお、図20では、データ送信回路のみを図示し、データ受信回路(例えば、1チャネル分が実装)の説明は省略する。
本実施例の遊技機では、シリアル通信回路13114は、前述したように、周辺制御基板1510との通信に使用されるチャネル0、払出制御基板951との通信に使用されるチャネル1、役物比率表示器1317のドライバ回路13171との通信に使用されるチャネル2の三つのチャネルが使用され、チャネル3は未使用である。
シリアル通信回路13114は、データレジスタ3141、送信データレジスタ3142、パリティ生成回路3143、送信用シフトレジスタ3144、コマンドステータスレジスタ3145、通信設定レジスタ3146、送信トリガ設定レベルレジスタ3147、ボーレートレジスタ3148及びボーレート生成回路3149を有する。
CPU13111から入力されたデータは、データレジスタ3141に格納された後、送信データレジスタ3142に格納される。送信データレジスタ3142は、所定の容量(例えば、64バイト)のFIFOで構成される。送信データレジスタ3142は、パリティ生成回路3143がデータの送信単位毎に生成した誤り検出符号を、送信すべきデータに付加し、送信用シフトレジスタ3144に格納する。
ボーレート生成回路3149は、クロック回路13118から供給されるクロック信号から、ボーレートレジスタ3148に設定されたレートでデータを送信するための送信用クロック信号を生成する。そして、送信用シフトレジスタ3144は、送信用クロック信号に従って、データを送信する。
コマンドステータスレジスタ3145は、送信状態を確認するために参照されるレジスタである。
通信設定レジスタ3146は、データの送信を制御するためのコマンドを格納する。送信トリガ設定レベルレジスタ3147は、送信データレジスタ3142のFIFOが割り込みを発生させるデータ量を制御するための閾値を格納する。ボーレートレジスタ3148は、データの送信レートを規定するためのボーレートの設定を格納する。通信設定レジスタ3146、送信トリガ設定レベルレジスタ3147及びボーレートレジスタ3148は、図21のステップS28において初期設定として、4チャネルの各々について設定される。
以下、これらの設定について詳しく説明する。通信設定レジスタには、各チャネルの通信フォーマットが設定される。具体的には、FIFOの使用の有無(FIFOモード、ノーマルモード)、ストップビットのビット数、パリティ(パリティを使用するか、偶数パリティか奇数パリティか)を設定する。例えば、周辺制御基板1510との通信に使用されるチャネル0及び払出制御基板951との通信に使用されるチャネル1では、FIFOモード、ストップビット=1ビット、偶数パリティを意味する1×××1010Bを設定し、役物比率表示器1317のドライバ回路13171との通信に使用されるチャネル2では、FIFOモード、ストップビット=1ビット、パリティ未使用を意味する1×××1000Bを設定する。
FIFOモードでは、送信データレジスタ3142のFIFOを使用してデータを送信する。また、遊技機はノイズが多い環境にあることから、主制御基板1310の外に高速でデータを送信する際は、パリティを設定することが望ましい。
役物比率表示器1317は主制御基板1310に実装されるので、通信用の電線を経由する他の基板との通信と比較し、ノイズの影響は少ない。また、送受信するデータ量が少ないので、通信速度は低くてよく、パリティを使用する必要性は乏しい。なお、役物比率表示器1317のドライバ回路13171と主制御MPU1311との間で信号を伝達するパターンに沿って(例えば、プリント基板の表面又は内層に設けられた信号線の左右及び/又は厚み方向に隣接する層)にグランドパターンを設け、グランドパターンによるシールド効果によって、当該信号伝達パターンに重畳するノイズを低減できる。
送信トリガ設定レベルレジスタ3147は、送信データレジスタ3142のFIFOが割り込みを発生させるデータ量を定める。具体的には、送信データレジスタ3142のFIFOに格納されている送信データの量が設定したバイト数より小さい場合、各チャンネルに対応したステータスレジスタの所定ビットがセットされる。ステータスレジスタの当該ビットを判定することによって、送信データレジスタ3142のFIFOに空きがあるか否かを確認でき、送信データレジスタ3142のFIFOに格納されたデータの送信タイミングを判定できる。
なお、送信FIFOに異常があるかを判定するために、ステータスレジスタの当該ビットを利用できる。例えば、送信データレジスタ3142のFIFOに所定の期間データが書き込まれない場合でも、ステータスレジスタの当該ビットがセットされない場合、送信データレジスタ3142のFIFOに空きが生じていないことから、送信データレジスタ3142のFIFOからデータが送信されていないと判定して、エラー処理(例えば、エラー報知)を実行してもよい。
ボーレートレジスタ3148は、データ送信レートを定める。例えば、周辺制御基板1510との通信に使用されるチャネル0では19200bpsを設定し、払出制御基板951との通信に使用されるチャネル1では1200bpsを設定し、役物比率表示器1317のドライバ回路13171との通信に使用されるチャネル2では1200bpsを設定する。
このように、各チャネルで送信されるデータによって送信レートを変えている。これは、遊技機の内部は遊技球が転動しており、遊技機の電子回路はノイズの影響を受けやすい環境下にある。このため、遊技者に付与される利益に直接関係する出球を制御するためのデータは確実に送信されるように、低速で払出制御基板951にデータを送信する。一方、周辺制御基板1510は、送信されるデータ量が多く、出球に関係がないので、高いレートでデータを送信する。また、周辺制御基板1510は、受信したコマンドが異常かを検証しており、異常であると判定した場合、周辺制御基板1510を動作させない又は異常処理(例えば、通信エラー報知)を実行し、コマンドの再送を要求する。そして、再送されたコマンドが正常であると判定された場合、該正常コマンドを用いて周辺制御基板1510の状態が復旧される。このため、周辺制御基板1510との通信は、高いレートでデータを送信できる。さらに、周辺制御基板1510との通信レートを低くすると、始動口の入賞から図柄の変動開始までの遅延を遊技者が認識できるようになり、興趣を低下させる可能性がある。
役物比率表示器1317のドライバ回路13171との通信は、高いレート(周辺制御基板1510とのデータ送信レートである19200bps)でも、低いレート(払出制御基板951とのデータ送信レートである1200bps)でもよい。また、役物比率表示器1317のドライバ回路13171との通信は、高いレート(周辺制御基板1510とのデータ送信レートである19200bps)と低いレート(払出制御基板951とのデータ送信レートである1200bps)との間のレートを採用してもよい。これは、データ送信レートを高くすると、役物比率表示器1317のドライバ回路13171のトランジスタのスイッチングノイズ等により他の回路に誤動作を起こさせる可能性がある。一方、ノイズにより送信されたデータに異常が生じても、送信データが更新されない限りタイマ割込みごとに同じデータを再送し、再送されたコマンドが正常であれは、役物比率表示器1317の表示内容は正常に戻るので、送信レートを極端に低速にする必要はないためである。
コマンドステータスレジスタ3145は、送信状態を確認するために参照されるレジスタであり、例えば、各ビットは以下のように定義される。
ビット7:SnTC 送信完了を示すフラグであり、0は送信中、1は送信完了を示す。ビット6:SnTDBE ノーマルモード(FIFOを使用しない通信モード)においては、送信データエンプティを示すフラグであり、0は送信用シフトレジスタに未転送、1は送信用シフトレジスタに転送済みを示す。すなわち、送信データレジスタ3142から送信用シフトレジスタ3144にデータが転送され、送信データレジスタ3142に送信データが格納されていない状態になると、セットされる。
SnTFTL FIFOモードにおいては、送信FIFOトリガレベルを示すフラグであり、0は送信データレジスタ3142のFIFOに格納されている送信データの量がトリガレベル以上、1は送信データレジスタ3142のFIFOに格納されている送信データの量がトリガレベル未満を示す。すなわち、送信データレジスタ3142のFIFOに格納されている送信データの量が、送信トリガレベル設定レジスタに設定されたバイト数より少ないときにセットされる。このため、FIFOモードでの通信時には、当該ビットが1であることを確認した後、送信データレジスタ3142のFIFOにデータを書き込む。
ビット5~2:未使用(0固定)
ビット1:SnTCL 送信バッファ、ブレークコード送信をクリアし、送信データを空にして、又は送信FIFOトリガレベルを(SnTFL)を設定するためのビットであり、外部から書き込まれる。例えば、バッファの内容を強制的にクリアする場合、当該ビットに1をセットする。より具体的には、FIFOにコマンドを書き込んだが、なんらかの事情(例えば、異常発生)によって、書き込んだコマンドの送信を中止する場合に使用される。なお、ビット1が設定されても、送信用シフトレジスタのデータはクリアされない。
以上に説明した構成で、シリアル通信回路13114は、調歩同期通信(非同期通信)が可能であるが、図示しない同期通信用のクロック信号を出力する。この場合、通信相手方(役物比率表示器1317のドライバ回路13171)に供給するクロック信号は、クロック回路13118ではなく、シリアル通信回路13114から出力される。シリアル通信回路13114の各送受信回路は、少なくとも一つのチャネルが設定によって同期通信が可能でもよく、調歩同期用シリアル通信回路と同期通信用シリアル通信回路とを別に設けてもよい。
また、図示を省略したが、シリアル通信回路13114は、同期通信時に使用されるデータ取り込みタイミングを示す信号(LOAD)を出力する。
[3-2.払出制御基板]
図17に戻って、パチンコ機の制御構成の説明を続ける。遊技球の払出し等を制御する払出制御基板951は、詳細な図示は省略するが、払出しに関する各種制御を行う払出制御部952と、発射ソレノイド682による発射制御を行うとともに、球送りソレノイド551による球送り制御を行う発射制御部953と、パチンコ機1の状態を表示するエラーLED表示器と、エラーLED表示器に表示されているエラーを解除するためのエラー解除スイッチと、球タンク802、タンクレール803、球誘導ユニット820、及び払出装置830内の遊技球を、パチンコ機1の外部へ排出して球抜き動作を開始するための球抜きスイッチと、を備えている。
[3-2a.払出制御部]
払出制御基板951における払出しに関する各種制御を行う払出制御部952は、詳細な図示は省略するが、各種処理プログラムや各種コマンドを記憶するROMや一時的にデータを記憶するRAM等が内蔵されるマイクロプロセッサである払出制御MPUと、I/Oデバイスとしての払出制御I/Oポートと、払出制御MPUが正常に動作しているか否かを監視するための外部WDT(外部ウォッチドックタイマ)と、払出装置830の払出モータ834に駆動信号を出力するための払出モータ駆動回路と、払出しに関する各種検出スイッチからの検出信号が入力される払出制御入力回路と、を備えている。払出制御MPUには、その内蔵されたROMやRAMのほかに、不正を防止するため機能等も内蔵されている。
払出制御部952の払出制御MPUは、主制御基板1310からの遊技に関する各種情報(遊技情報)及び払い出しに関する各種コマンドを払出制御I/Oポートを介してシリアル方式で受信したり、主制御基板1310からのRAMクリアスイッチの操作信号(検出信号)が払出制御I/Oポートを介して入力されたりする他に、満タン検知センサ535からの検出信号が入力されたり、球切れ検知センサ827、払出検知センサ842、及び羽根回転検知センサ840からの検出信号が入力される。
払出装置830の球切れ検知センサ827、払出検知センサ842、及び羽根回転検知センサ840からの検出信号は、払出制御入力回路に入力され、払出制御I/Oポートを介して払出制御MPUに入力される。
また、本体枠4に対する扉枠3の開放を検出する扉枠開放スイッチ、及び外枠2に対する本体枠4の開放を検出する本体枠開放スイッチからの検出信号は、払出制御入力回路に入力され、払出制御I/Oポートを介して払出制御MPUに入力される。
また、ファールカバーユニット520の満タン検知センサ535からの検出信号は、払出制御入力回路に入力され、払出制御I/Oポートを介して払出制御MPUに入力される。
払出制御MPUは、払出モータ834を駆動するための駆動信号を、払出制御I/Oを介して払出モータ834に出力したり、パチンコ機1の状態をエラーLED表示器に表示するための信号を、払出制御I/Oポートを介してエラーLED表示器に出力したり、パチンコ機1の状態を示すためのコマンドを、払出制御I/Oポートを介して主制御基板1310にシリアル方式で送信したり、実際に払出した遊技球の球数を払出制御I/Oポートを介して外部端子板784に出力したりする。この外部端子板784は、遊技ホール側に設置されたホールコンピュータに接続されている。このホールコンピュータは、パチンコ機1が払出した遊技球の球数やパチンコ機1の遊技情報等を把握することにより遊技者の遊技を監視している。外部端子板784から出力する信号のうち主制御基板1310が生成する信号は、主制御基板1310から払出制御基板951を経由して外部端子板784から出力する。なお、主制御基板1310が生成する信号を、払出制御基板951を経由せずに外部端子板784から出力してもよい。
エラーLED表示器は、セグメント表示器であり、英数字や図形等を表示してパチンコ機1の状態を表示している。エラーLED表示器が表示して報知する内容としては、次のようなものがある。例えば、図形「-」が表示されているときには「正常」である旨を報知し、数字「0」が表示されているときには「接続異常」である旨(具体的には、主制御基板1310と払出制御基板951との基板間の電気的な接続に異常が生じている旨)を報知し、数字「1」が表示されているときには「球切れ」である旨(具体的には、球切れ検知センサ827からの検出信号に基づいて払出装置830内に遊技球がない旨)を報知し、数字「2」が表示されているときには「球がみ」である旨(具体的には、羽根回転検知センサ840からの検出信号に基づいて払出装置830の払出通路において払出羽根と遊技球とがかみ合って払出羽根が回転困難となっている旨)を報知し、数字「3」が表示されているときには「計数スイッチエラー」である旨(具体的には、払出検知センサ842からの検出信号に基づいて払出検知センサ842に不具合が生じている旨)を報知し、数字「5」が表示されているときには「リトライエラー」である旨(具体的には、払出し動作のリトライ回数が予め設定された上限値に達した旨)を報知し、数字「6」が表示されているときには「満タン」である旨(具体的には、満タン検知センサ535からの検出信号に基づいてファールカバーユニット520内に貯留された遊技球で満タンである旨)を報知し、数字「7」が表示されているときには「CR未接続」である旨(払出制御基板951からCRユニットまでに亘るいずれかにおいて電気的な接続が切断されている旨)を報知し、数字「9」が表示されているときには「ストック中」である旨(具体的には、まだ払出していない遊技球の球数が予め定めた球数に達している旨)を報知している。
球貸ボタンからの遊技球の球貸要求信号、及び返却ボタンからのプリペイドカードの返却要求信号は、CRユニットに入力される。CRユニットは、球貸要求信号に従って貸し出す遊技球の球数を指定した信号を、払出制御基板951にシリアル方式で送信し、この信号が払出制御I/Oポートで受信されて払出制御MPUに入力される。またCRユニットは、貸出した遊技球の球数に応じて挿入されたプリペイドカードの残度を更新するとともに、その残度を表示部に表示するための信号を出力し、この信号が表示部に入力されて表示される。
[3-2b.発射制御部]
発射ソレノイド682による発射制御と、球送りソレノイド551による球送制御と、を行う発射制御部953は、詳細に図示は省略するが、発射に関する各種検出スイッチからの検出信号が入力される発射制御入力回路と、定時間毎にクロック信号を出力する発振回路と、このクロック信号に基づいて遊技球を遊技領域5aに向かって打ち出すための発射基準パルスを出力する発射タイミング制御回路と、この発射基準パルスに基づいて発射ソレノイド682に駆動信号を出力する発射ソレノイド駆動回路と、発射基準パルスに基づいて球送りソレノイド551に駆動信号を出力する球送りソレノイド駆動回路と、を備えている。発射タイミング制御回路は、発振回路からのクロック信号に基づいて、1分当たり100個の遊技球が遊技領域5aに向かって打ち出されるよう発射基準パルスを生成して発射ソレノイド駆動回路に出力するとともに、発射基準パルスを所定数倍した球送基準パルスを生成して球送りソレノイド駆動回路に出力する。
ハンドルユニット500関係では、ハンドルレバー504に手のひらや指が触れているか否かを検出する接触検知センサ509、及び遊技者の意志によって遊技球の打ち出しを強制的に停止するか否かを検出するストップボタンからの検出信号は、発射制御入力回路に入力された後に、発射タイミング制御回路に入力される。またCRユニットとCRユニット接続端子板とが電気的に接続されると、CR接続信号として発射制御入力回路に入力され、発射タイミング制御回路に入力される。ハンドルレバー504の回転位置に応じて遊技球を遊技領域5aに向かって打ち出す強度を電気的に調節するハンドル操作センサ507からの信号は、発射ソレノイド駆動回路に入力される。
この発射ソレノイド駆動回路は、ハンドル操作センサ507からの信号に基づいて、ハンドルレバー504の回転位置に見合う打ち出し強度で遊技球を遊技領域5aに向かって打ち出すための駆動電流を、発射基準パルスが入力されたことを契機として、発射ソレノイド682に出力する。一方、球送りソレノイド駆動回路は、球送基準パルスが入力されたことを契機として、球送りソレノイド551に一定電流を出力することにより、皿ユニット200の上皿201に貯留された遊技球を球送りユニット540内に1球受入れ、その球送基準パルスの入力が終了したことを契機として、その一定電流の出力を停止することにより受入れた遊技球を球発射装置680側へ送る。このように、発射ソレノイド駆動回路から発射ソレノイド682に出力される駆動電流は可変に制御されるのに対して、球送りソレノイド駆動回路から球送りソレノイド551に出力される駆動電流は一定に制御されている。
なお、払出制御基板951に各種電圧を供給する電源基板は、電源遮断時にでも所定時間、主制御基板1310に電力を供給するためのバックアップ電源としてのキャパシタを備えている。このキャパシタにより払出制御MPUは、電源遮断時にでも電源断時処理において各種情報を払出制御基板951のRAMに記憶することができる。この記憶した各種情報は、電源投入時に主制御基板1310のRAMクリアスイッチが操作されると、払出制御基板951のRAMから完全に消去(クリア)される。
[3-3.周辺制御基板]
周辺制御基板1510は、図17に示すように、主制御基板1310からのコマンドに基づいて演出制御を行う周辺制御部1511と、この周辺制御部1511からの制御データに基づいてメイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244の描画制御を行う液晶表示制御部1512と、を備えている。
[3-3a.周辺制御部]
周辺制御基板1510における演出制御を行う周辺制御部1511は、詳細な図示は省略するが、マイクロプロセッサとしての周辺制御MPUと、各種処理プログラムや各種コマンドを記憶する周辺制御ROMと、高音質の演奏を行う音源ICと、この音源ICが参照する音楽及び効果音等の音情報が記憶されている音ROMと、を備えている。
周辺制御MPUは、パラレルI/Oポート、シリアルI/Oポート等を複数内蔵しており、主制御基板1310から各種コマンドを受信すると、この各種コマンドに基づいて、遊技盤5の各装飾基板に設けられたカラーLED等への点灯信号、点滅信号又は階調点灯信号を出力するための遊技盤側発光データをランプ駆動基板用シリアルI/Oポートから演出駆動基板3043に送信したり、遊技盤5に設けられた各種演出ユニットを作動させる駆動モータへの駆動信号を出力するための遊技盤側駆動データを遊技盤装飾駆動基板用シリアルI/Oポートから演出駆動基板3043に送信したり、扉枠3に設けられた加振装置242や扉右下駆動モータ272等の電気的駆動源への駆動信号を出力するための扉側駆動データと、扉枠3の各装飾基板に設けられたカラーLED等への点灯信号、点滅信号又は階調点灯信号を出力するための扉側発光データと、から構成される扉側駆動発光データを枠装飾駆動基板用シリアルI/Oポートから扉枠3側に送信したり、メイン液晶表示装置1600や上皿液晶表示装置244に表示させる画面を示す制御データ(表示コマンド)を液晶制御部用シリアルI/Oポートから液晶表示制御部1512に送信したり、するほかに、音ROMから音情報を抽出するための制御信号(音コマンド)を音源ICに出力したりする。
遊技盤5に設けられた各種演出ユニットの位置を検出するための各種位置検出センサからの検出信号は、裏箱の後面に取付けられた演出駆動基板3043を介して周辺制御MPUに入力されている。また、扉枠3に設けられた演出操作ユニット220のタッチパネル246、演出ボタン押圧センサ258からの検出信号は、周辺制御MPUに入力されている。
また周辺制御MPUは、液晶表示制御部1512が正常に動作している旨を伝える信号(動作信号)が液晶表示制御部1512から入力されており、この動作信号に基づいて液晶表示制御部1512の動作を監視している。
音源ICは、周辺制御MPUからの制御データ(音コマンド)に基づいて音ROMから音情報を抽出し、扉枠3や本体枠4等に設けられたスピーカ921等から各種演出に合せた音楽及び効果音等が流れるように制御を行う。なお、周辺制御基板1510が収容された周辺制御基板ボックス1520から後方へ突出しているボリュームを回転操作することで、音量を調整することができるようになっている。本実施形態では、扉枠3側の複数のスピーカと本体枠4の低音用のスピーカ921とに、音情報としての音響信号(例えば、2chステレオ信号、4chステレオ信号、2.1chサラウンド信号、或いは、4.1chサラウンド信号、等)を送ることで、従来よりも臨場感のある音響効果(音響演出)を提示することができる。
なお、周辺制御部1511は、周辺制御MPUに内蔵された内蔵WDT(ウォッチドックタイマ)のほかに、図示しない、外部WDT(ウォッチドックタイマ)も備えており、周辺制御MPUは、内蔵WDTと外部WDTとを併用して自身のシステムが暴走しているか否かを診断している。
この周辺制御MPUから液晶表示制御部1512に出力される表示コマンドはシリアル入出力ポートにより行われ、本実施形態では、ビットレート(単位時間あたりに送信できるデータの大きさ)として19.2キロ(k)ビーピーエス(bits per second、以下、「bps」と記載する)が設定されている。一方、周辺制御MPUから裏箱の後面に取付けられた演出駆動基板3043に出力される、初期データ、扉枠側点灯点滅コマンド、遊技盤側点灯点滅コマンド、可動体駆動コマンド、表示コマンドと異なる複数のシリアル入出力ポートにより行われ、本実施形態では、ビットレートとして250kbpsが設定されている。
この演出駆動基板3043は、受信した扉枠側点灯点滅コマンドに基いた点灯信号又は点滅信号を、扉枠3に備えられた各装飾基板のLEDに出力したり、受信した遊技盤側点灯点滅コマンドに基いた点灯信号又は点滅信号を遊技盤5に備えられた各装飾基板のLEDに出力したりする。
また、演出駆動基板3043は、受信した駆動コマンドに基いた駆動信号を、扉枠3に備えられた加振装置242及び扉右下駆動モータ272や、遊技盤5に備えられた各駆動モータ等に出力したりする。
[3-3b.周辺制御部の各種制御処理]
まず、周辺制御部電源投入時処理について、図60を参照して説明する。パチンコ機1に電源が投入されると、図17に示した周辺制御部1511の周辺制御MPU(図示省略)は、図60に示すように、周辺制御部電源投入時処理を行う。この周辺制御部電源投入時処理が開始されると、演出制御プログラムが周辺制御MPUの制御の下、初期設定処理を行う(ステップS1000)。この初期設定処理では、演出制御プログラムが、周辺制御MPU自身を初期化する処理と、ホットスタート/コールドスタートの判定処理と、リセット後のウェイトタイマを設定する処理等を行う。周辺制御MPUは、まず自身を初期化する処理を行うが、この周辺制御MPUを初期化する処理にかかる時間は、マイクロ秒(μs)オーダーであり、極めて短い時間で周辺制御MPUを初期化することができる。これにより、周辺制御MPUは、割り込み許可が設定された状態となることによって、例えば、後述する周辺制御部コマンド受信割り込み処理において、主制御基板1310から出力される、遊技演出の制御に関するコマンドやパチンコ機1の状態に関するコマンド等の各種コマンドを受信することができる状態となる。
ステップS1000に続いて、演出制御プログラムは現在時刻情報取得処理を行う(ステップS1002)。この現在時刻情報取得処理では、RTC制御部から、年月日を特定するカレンダー情報と時分秒を特定する時刻情報とを取得して、周辺制御RAMに、現在のカレンダー情報としてカレンダー情報記憶部にセットするとともに、現在の時刻情報として時刻情報記憶部にセットする。
ステップS1002に続いて、演出制御プログラムは、Vブランク信号検出フラグVB-FLGに値0をセットする(ステップS1006)。このVブランク信号検出フラグVB-FLGは、後述する周辺制御部定常処理を実行するか否かを決定するためのフラグであり、周辺制御部定常処理を実行するとき値1、周辺制御部定常処理を実行しないとき値0にそれぞれ設定される。Vブランク信号検出フラグVB-FLGは、周辺制御MPUからの画面データを受け入れることができる状態である旨を伝えるVブランク信号が入力されたことを契機として実行される後述する周辺制御部Vブランク信号割り込み処理において値1がセットされるようになっている。このステップS1006では、Vブランク信号検出フラグVB-FLGに値0をセットすることによりVブランク信号検出フラグVB-FLGを一度初期化している。
ステップS1006に続いて、演出制御プログラムは、Vブランク信号検出フラグVB-FLGが値1であるか否かを判定する(ステップS1008)。このVブランク信号検出フラグVB-FLGが値1でない(値0である)ときには、再びステップS1008に戻ってVブランク信号検出フラグVB-FLGが値1であるか否かを繰り返し判定する。このような判定を繰り返すことにより、周辺制御部定常処理を実行するまで待機する状態となる。
ステップS1008でVブランク信号検出フラグVB-FLGが値1であるとき、つまり周辺制御部定常処理を実行するときには、まず定常処理中フラグSP-FLGに値1をセットする(ステップS1009)。この定常処理中フラグSP-FLGは、周辺制御部定常処理を実行中であるとき値1、周辺制御部定常処理を実行完了したとき値0にそれぞれセットされる。
ステップS1009に続いて、演出制御プログラムは1ms割り込みタイマ起動処理を行う(ステップS1010)。この1ms割り込みタイマ起動処理では、後述する周辺制御部1msタイマ割り込み処理を実行するための1ms割り込みタイマを起動するとともに、この1ms割り込みタイマが起動して周辺制御部1msタイマ割り込み処理が実行された回数をカウントするための1msタイマ割り込み実行回数STNに値1をセットして1msタイマ割り込み実行回数STNの初期化も行う。この1msタイマ割り込み実行回数STNは周辺制御部1msタイマ割り込み処理で更新される。
ステップS1010に続いて、演出制御プログラムは、ランプデータ出力処理を行う(ステップS1012)。このランプデータ出力処理では、演出制御プログラムが図87に示したランプ駆動基板4170へのDMAシリアル連続送信を行う。ここでは、周辺制御MPUの周辺制御DMAコントローラを利用してランプ駆動基板用シリアルI/Oポート連続送信を行う。
ステップS1012に続いて、演出制御プログラムは、演出操作ユニット監視処理を行う(ステップS1014)。この演出操作ユニット監視処理では、後述する周辺制御部1msタイマ割り込み処理における演出操作ユニット情報取得処理において、演出操作ユニット220に設けられた各種検出スイッチ258からの検出信号に基づいて操作ボタン220Cの操作等を取得した各種情報に基づいて、操作ボタン220Cの操作有無を監視し、操作ボタン220Cの操作の状態を遊技演出に反映するか否かを適宜決定する。
ステップS1014に続いて、演出制御プログラムは、表示データ出力処理を行う(ステップS1016)。この表示データ出力処理では、後述する表示データ作成処理で音源内蔵VDPの内蔵VRAM上に生成した1画面分(1フレーム分)の描画データを音源内蔵VDPが遊技盤側装飾基板3053及び扉枠側装飾基板233に出力する。これにより、遊技盤側装飾基板3053及び扉枠側装飾基板233にさまざまな画面が描画される。
ステップS1016に続いて、演出制御プログラムは、音データ出力処理を行う(ステップS1018)。この音データ出力処理では、演出制御プログラムが、後述する音データ作成処理で音源内蔵VDPに設定された音楽及び効果音等の音データをスピーカ921に出力したり、音楽及び効果音のほかに報知音や告知音の音データをスピーカ921に出力したりする。
ステップS1018に続いて、演出制御プログラムはスケジューラ更新処理を行う(ステップS1020)。このスケジューラ更新処理では、演出制御プログラムが周辺制御RAMにセットされた各種スケジュールデータを更新する。例えば、スケジューラ更新処理では、画面生成用スケジュールデータを構成する時系列に配列された画面データのうち、先頭の画面データから何番目の画面データを音源内蔵VDPに出力するのかを指示するために、ポインタを更新する。
またスケジューラ更新処理では、発光態様生成用スケジュールデータを構成する時系列に配列された発光データのうち、先頭の発光データから何番目の発光データを各種LEDの発光態様とするのかを指示するために、ポインタを更新する。
またスケジューラ更新処理では、音生成用スケジュールデータを構成する時系列に配列された、音楽や効果音等の音データ、報知音や告知音の音データを指示する音指令データのうち、先頭の音指令データから何番目の音指令データを音源内蔵VDPに出力するのかを指示するために、ポインタを更新する。
またスケジューラ更新処理では、電気的駆動源スケジュールデータを構成する時系列に配列されたモータやソレノイド等の電気的駆動源の駆動データのうち、先頭の駆動データから何番目の駆動データを出力対象とするのかを指示するために、ポインタを更新する。
ステップS1020に続いて、演出制御プログラムは、受信コマンド解析処理を行う(ステップS1022)。この受信コマンド解析処理では、演出制御プログラムが、遊技盤側装飾基板3053から送信された情報や、主制御基板1310から送信された各種コマンドであって、後述する周辺制御部コマンド受信割り込み処理(コマンド受信手段)において受信した各種コマンドの解析を行う(コマンド解析手段)。
ステップS1022に続いて、演出制御プログラムが警告処理を行う(ステップS1024)。この警告処理では、さらに、演出制御プログラムが、上述のようにステップS1022の受信コマンド解析処理で解析したコマンドに、所定の報知表示に区分される各種コマンドが含まれているときには、各種異常報知を実行するための異常表示態様に設定されている、画面生成用スケジュールデータ、発光態様生成用スケジュールデータ、音生成用スケジュールデータ、及び電気的駆動源スケジュールデータ等を、周辺制御部1511の周辺制御ROM又は周辺制御RAMから抽出して周辺制御RAMにセットする。なお、警告処理では、複数の異常が同時に発生した場合には、予め登録した優先度の高い順から異常報知から行われ、その異常が解決して残っている他の異常報知に自動的に遷移するようになっている。これにより、一の異常が発生した後であってその異常を解決する前に他の異常が発生して一の異常が発生しているという情報を失うことなく、複数の異常を同時に監視することができる。
またさらに、この警告処理では、電源投入時から所定時間が経過した後に、演出制御プログラムが、上述した受信コマンド解析処理(ステップS1022)において解析したコマンドが、図90に示した状態表示に区分される各種コマンド、例えばエラー解除ナビコマンド(第2のエラー解除コマンド)である場合、演出動作に伴う通常の演出態様とは異なる態様に制御することにより、例えば、遊技盤側装飾基板3053(演出装置)、扉枠側装飾基板233(演出装置)、ランプ(演出装置)を用いて視覚的に外部に警告したり、スピーカを用いて聴覚的に外部に警告する(エラー報知手段)。このようにすると、悪意のある遊技者が、遊技状態であるにも拘わらず払出制御基板951の操作スイッチを操作することにより主制御基板1310にエラー解除ナビコマンドを入力しようと試行した際に、パチンコ機1が外部に警告を行う構成となっているため、遊技の進行に影響を及ぼしかねない主制御基板1310に対する不正行為が抑止されるようになる。
次に、上述したステップS1024に続いて、演出制御プログラムはRCT取得情報更新処理を行う(ステップS1026)。このRTC取得情報更新処理では、演出制御プログラムが、ステップS1002の現在時刻情報取得処理で取得して周辺制御RAMにセットした、カレンダー情報記憶部に記憶されたカレンダー情報と時刻情報記憶部に記憶された時刻情報とを更新する。このRCT取得情報更新処理により、時刻情報記憶部に記憶される時刻情報である時分秒が更新され、この更新される時刻情報に基づいてカレンダー情報記憶部に記憶されるカレンダー情報である年月日が更新される。
ステップS1026に続いて、演出制御プログラムはランプデータ作成処理を行う(ステップS1028)。このランプデータ作成処理では、この演出制御プログラムが、ステップS1020のスケジューラ更新処理においてポインタが更新されて、発光態様生成用スケジュールデータを構成する時系列に配列された発光データのうち、そのポインタが指示する発光データに基づいて、遊技盤5に設けた各種装飾基板の複数のLEDへの点灯信号、点滅信号、又は階調点灯信号を出力するための遊技盤側発光データSL-DATを、周辺制御部1511の周辺制御ROM又は周辺制御RAMから抽出して作成するとともに、周辺制御RAMにセットするとともに、扉枠3に設けた各種装飾基板の複数のLEDへの点灯信号、点滅信号又は階調点灯信号を出力するための扉側発光データSTL-DATを、周辺制御部1511の周辺制御ROM又は周辺制御RAMから抽出して作成して、周辺制御RAMにセットする。
ステップS1028に続いて、演出制御プログラムは表示データ作成処理を行う(ステップS1030)。この表示データ作成処理では、演出制御プログラムが、ステップS1020のスケジューラ更新処理においてポインタが更新されて、画面生成用スケジュールデータを構成する時系列に配列された画面データのうち、そのポインタが示す画面データを、周辺制御部1511の周辺制御ROM又は周辺制御RAMから抽出して音源内蔵VDPに出力する。音源内蔵VDPは、周辺制御MPUから画面データが入力されると、この入力された画面データに基づいて液晶及び音制御ROM1512bからキャラクタデータを抽出してスプライトデータを作成して遊技盤側装飾基板3053及び扉枠側装飾基板233に表示する1画面分(1フレーム分)の描画データを内蔵VRAM上に生成する。
ステップS1030に続いて、演出制御プログラムは音データ作成処理を行う(ステップS1032)。この音データ作成処理では、演出制御プログラムが、ステップS1020のスケジューラ更新処理においてポインタが更新されて、音生成用スケジュールデータを構成する時系列に配列された音指令データのうち、そのポインタが指示する音指令データを、周辺制御部1511の周辺制御ROM又は周辺制御RAMから抽出して音源内蔵VDPに出力する。音源内蔵VDPは、周辺制御MPUから音指令データが入力されると、液晶及び音制御ROMに記憶されている音楽や効果音等の音データを抽出して内蔵音源を制御することにより、音指令データに規定された、トラック番号に従って音楽及び効果音等の音データを組み込むとともに、出力チャンネル番号に従って使用する出力チャンネルを設定する。
ステップS1032に続いて、演出制御プログラムはバックアップ処理を行う(ステップS1034)。このバックアップ処理では、演出制御プログラムが、周辺制御MPUと外付けされる周辺制御RAMに記憶されている内容を、バックアップ第1エリアと、バックアップ第2エリアと、にそれぞれコピーしてバックアップするとともに、周辺制御MPUと外付けされる周辺制御SRAMに記憶されている内容を、バックアップ第1エリアと、バックアップ第2エリアと、にそれぞれコピーしてバックアップする。
ステップS1034に続いて、WDTクリア処理を行う(ステップS1036)。このWDTクリア処理では、周辺制御内蔵WDT1511afと、周辺制御外部WDT1511eと、にクリア信号を出力して周辺制御MPUにリセットがかからないようにしている。
ステップS1036に続いて、演出制御プログラムが、周辺制御部定常処理の実行完了として定常処理中フラグSP-FLGに値0をセットし(ステップS1038)、再びステップS1006に戻り、Vブランク信号検出フラグVB-FLGに値0をセットして初期化し、後述する周辺制御部Vブランク信号割り込み処理においてVブランク信号検出フラグVB-FLGに値1がセットされるまで、ステップS1008の判定を繰り返し行う。つまりステップS1008では、Vブランク信号検出フラグVB-FLGに値1がセットされるまで待機し、ステップS1008でVブランク信号検出フラグVB-FLGが値1であると判定されると、ステップS1009~ステップS1038の処理を行い、再びステップS1006に戻る。このように、ステップS1008でVブランク信号検出フラグVB-FLGが値1であると判定されると、ステップS1009~ステップS1038の処理を行うようになっている。ステップS1009~ステップS1038の処理を「周辺制御部定常処理」という。
この周辺制御部定常処理は、演出制御プログラムが、まずステップS1009で周辺制御部定常処理を実行中であるとして定常処理中フラグSP-FLGに値1をセットすることから開始し、ステップS1010で1ms割り込みタイマ起動処理を行い、ステップS1012、ステップS1014、・・・、そしてステップS1036の各処理を行って最後にステップS1038において周辺制御部定常処理の実行完了として定常処理中フラグSP-FLGに値0をセットすると、完了することとなる。周辺制御部定常処理は、ステップS1008でVブランク信号検出フラグVB-FLGが値1であるときに実行される。このVブランク信号検出フラグVB-FLGは、上述したように、周辺制御MPUからの画面データを受け入れることができる状態である旨を伝えるVブランク信号が音源内蔵VDPから入力されたことを契機として実行される後述する周辺制御部Vブランク信号割り込み処理において値1がセットされるようになっている。本実施形態では、遊技盤側装飾基板3053及び扉枠側装飾基板233のフレーム周波数(1秒間あたりの画面更新回数)として、上述したように、概ね秒間30fpsに設定しているため、Vブランク信号が入力される間隔は、約33.3ms(=1000ms÷30fps)となっている。つまり、周辺制御部定常処理は、約33.3msごとに繰り返し実行されるようになっている。
次に、図61に示した、周辺制御部1511の周辺制御MPUからの画面データを受け入れることができる状態である旨を伝えるVブランク信号が液晶表示制御部1512の音源内蔵VDPから入力されたことを契機として実行する周辺制御部Vブランク信号割り込み処理について説明する。この周辺制御部Vブランク信号割り込み処理が開始されると、周辺制御部1511の周辺制御MPUは、図61に示すように、定常処理中フラグSP-FLGが値0であるかを判定する(ステップS1045)。この定常処理中フラグSP-FLGは、上述したように、図60の周辺制御部電源投入時処理におけるステップS1009~ステップS1038の周辺制御部定常処理を実行中であるとき値1、周辺制御部定常処理を実行完了したとき値0にそれぞれセットされる。
ステップS1045で定常処理中フラグSP-FLGが値0でない(値1である)とき、つまり周辺制御部定常処理を実行中であるときには、そのままこのルーチンを終了する。一方、ステップS1045で定常処理中フラグSP-FLGが値0であるとき、つまり周辺制御部定常処理を実行完了したときには、Vブランク信号検出フラグVB-FLGに値1をセットし(ステップS1050)、このルーチンを終了する。このVブランク信号検出フラグVB-FLGは、上述したように、周辺制御部定常処理を実行するか否かを決定するためのフラグであり、周辺制御部定常処理を実行するとき値1、周辺制御部定常処理を実行しないとき値0にそれぞれ設定される。
次に、図60の周辺制御部電源投入時処理の周辺制御部定常処理におけるステップS1010で1ms割り込みタイマの起動により1ms割り込みタイマが発生するごとに繰り返し実行する周辺制御部1msタイマ割り込み処理について説明する。この周辺制御部1msタイマ割り込み処理が開始されると、周辺制御部1511の周辺制御MPUは、図62に示すように、1msタイマ割り込み実行回数STNが33回より小さいか否かを判定する(ステップS1100)。この1msタイマ割り込み実行回数STNは、上述したように、図60の周辺制御部電源投入時処理の周辺制御部定常処理におけるステップS1010の1ms割り込みタイマ起動処理で1ms割り込みタイマが起動して本ルーチンである周辺制御部1msタイマ割り込み処理が実行された回数をカウントするカウンタである。本実施形態では、遊技盤側装飾基板3053及び扉枠側装飾基板233のフレーム周波数(1秒間あたりの画面更新回数)として、上述したように、概ね秒間30fpsに設定しているため、Vブランク信号が入力される間隔は、約33.3ms(=1000ms÷30fps)となっている。つまり、周辺制御部定常処理は、約33.3msごとに繰り返し実行されるようになっているため、周辺制御部定常処理におけるステップS1010で1ms割り込みタイマを起動した後、次の周辺制御部定常処理が実行されるまでに、周辺制御部1msタイマ割り込み処理が32回だけ実行されるようになっている。具体的には、周辺制御部定常処理におけるステップS1010で1ms割り込みタイマが起動されると、まず1回目の1msタイマ割り込みが発生し、2回目、・・・、そして32回目の1msタイマ割り込みが順次発生することとなる。
ステップS1100で1msタイマ割り込み実行回数STNが33回より小さくないとき、つまり33回目の1msタイマ割り込みが発生してこの周辺制御部1msタイマ割り込み処理が開始されたときには、そのままこのルーチンを終了する。33回目の1msタイマ割り込みの発生が次回のVブランク信号の発生よりたまたま先行した場合には、本実施形態では、割り込み処理の優先順位として、周辺制御部1msタイマ割り込み処理の方が周辺制御部Vブランク割り込み処理と比べて高く設定されているものの、この33回目の1msタイマ割り込みによる周辺制御部1msタイマ割り込み処理の開始を強制的にキャンセルするようになっている。換言すると、本実施形態では、Vブランク信号が周辺制御基板1510のシステム全体を支配する信号であるため、33回目の1msタイマ割り込みの発生が次回のVブランク信号の発生よりたまたま先行した場合には、周辺制御部Vブランク割り込み処理を実行するために33回目の1msタイマ割り込みによる周辺制御部1msタイマ割り込み処理の開始が強制的にキャンセルさせられている。そして、Vブランク信号の発生により周辺制御部定常処理におけるステップS1010で1ms割り込みタイマを再び起動した後、新たに1回目の1msタイマ割り込みの発生による周辺制御部1msタイマ割り込み処理を開始するようになっている。
一方、ステップS1100で1msタイマ割り込み実行回数STNが33回より小さいときには、1msタイマ割り込み実行回数STNに値1だけ足す(インクリメントする、ステップS1102)。この1msタイマ割り込み実行回数STNに値1が足されることにより、図60の周辺制御部電源投入時処理の周辺制御部定常処理におけるステップS1010の1ms割り込みタイマ起動処理で1ms割り込みタイマが起動して本ルーチンである周辺制御部1msタイマ割り込み処理が実行された回数が1回分だけ増えることとなる。
ステップS1102に続いて、モータ及びソレノイド駆動処理を行う(ステップS1104)。このモータ及びソレノイド駆動処理では、周辺制御MPUと周辺制御RAMにセットされた電気的駆動源スケジュールデータを構成する時系列に配列されたモータやソレノイド等の電気的駆動源の駆動データのうち、ポインタが指示する駆動データに従って、各種モータやソレノイド等の電気的駆動源を駆動するとともに、時系列に規定された次の駆動データにポインタを更新し、このモータ及びソレノイド駆動処理を実行するごとに、ポインタを更新する。
ステップS1104に続いて、可動体情報取得処理を行う(ステップS1106)。この可動体情報取得処理では、遊技盤5に設けた各種検出スイッチからの検出信号が入力されているか否かを判定することにより各種検出スイッチからの検出信号の履歴情報(例えば、原位置履歴情報、可動位置履歴情報など。)を作成し、周辺制御RAMにセットする。この周辺制御RAMにセットされる各種検出スイッチからの検出信号の履歴情報から遊技盤5に設けた各種可動体の原位置や可動位置等を取得することができる。
ステップS1106に続いて、演出操作ユニット情報取得処理を行う(ステップS1108)。この演出操作ユニット情報取得処理では、演出操作ユニット220に設けられた各種検出スイッチからの検出信号が入力されているか否かを判定することにより各種検出スイッチからの検出信号の履歴情報(例えば、操作ボタン220Cの操作履歴情報など)を作成し、周辺制御RAMにセットする。この周辺制御RAMにセットされる各種検出スイッチからの検出信号の履歴情報から操作ボタン220Cの操作有無を取得することができる。
ステップS1108に続いて、描画状態情報取得処理を行う(ステップS1110)。この描画状態情報取得処理では、扉枠側装飾基板233の扉枠側演出用レシーバICから出力されるLOCKN信号の履歴情報を作成し、周辺制御RAMにセットする。LOCKN信号は、前述したように、扉枠側装飾基板233の扉枠側演出用レシーバICSDIC0が、周辺制御基板1510に備える扉枠側演出用トランスミッタIC1512dから受信した描画データが異常なデータであると判断すると、その旨を伝えるために出力する信号である。
ステップS1110に続いて、バックアップ処理を行い(ステップS1112)、このルーチンを終了する。このバックアップ処理では、周辺制御RAMに記憶されている内容を、バックアップ第1エリアと、バックアップ第2エリアと、にそれぞれコピーしてバックアップするとともに、周辺制御SRAMに記憶されている内容を、バックアップ第1エリアと、バックアップ第2エリアと、にそれぞれコピーしてバックアップする。
このように、周辺制御部1msタイマ割り込み処理では、1msという期間内において、演出の進行として上述したステップS1104~ステップS1108の演出に関する各種処理を実行している。これに対して、図60の周辺制御部電源投入時処理における周辺制御部定常処理では、約33.3msという期間内において、演出の進行として上述したステップS1012~ステップS1032の演出に関する各種処理を実行している。周辺制御部1msタイマ割り込み処理では、ステップS1100で1msタイマ割り込み実行回数STNが値33より小さくないとき、つまり33回目の1msタイマ割り込みが発生してこの周辺制御部1msタイマ割り込み処理が開始されたときには、そのままこのルーチンを終了するようになっているため、仮に、33回目の1msタイマ割り込みの発生が次回のVブランク信号の発生よりたまたま先行した場合でも、この33回目の1msタイマ割り込みによる周辺制御部1msタイマ割り込み処理の開始を強制的にキャンセルし、Vブランク信号の発生により周辺制御部定常処理におけるステップS1010で1ms割り込みタイマを再び起動した後、新たに1回目の1msタイマ割り込みの発生による周辺制御部1msタイマ割り込み処理を開始するようになっている。つまり、周辺制御部定常処理による演出の進行状態とタイマ割り込み制御である周辺制御部1msタイマ割り込み処理による演出の進行状態との整合性が崩れないようになっている。したがって、演出の進行状態を確実に整合させることができる。
また、上述したように、Vブランク信号が出力される間隔は、遊技盤側装飾基板3053及び扉枠側装飾基板233の液晶サイズによって多少変化するし、周辺制御MPUと音源内蔵VDPとが実装された周辺制御基板1510の製造ロットにおいてもVブランク信号が出力される間隔が多少変化する場合もある。本実施形態では、Vブランク信号が周辺制御基板1510のシステム全体を支配する信号であるため、33回目の1msタイマ割り込みの発生が次回のVブランク信号の発生よりたまたま先行した場合には、周辺制御部Vブランク割り込み処理を実行するために33回目の1msタイマ割り込みによる周辺制御部1msタイマ割り込み処理の開始が強制的にキャンセルさせられている。つまり本実施形態では、Vブランク信号が出力される間隔が多少変化する場合であっても、33回目の1msタイマ割り込みによる周辺制御部1msタイマ割り込み処理の開始を強制的にキャンセルすることによって、このVブランク信号が出力される間隔が多少変化することによる時間ズレを吸収することができるようになっている。
[3-4.液晶表示制御部]
次に、周辺制御基板1510におけるメイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244の描画制御を行う液晶表示制御部1512は、詳細な図示は省略するが、マイクロプロセッサとしての表示制御MPUと、各種処理プログラム、各種コマンド及び各種データを記憶する表示制御ROMと、メイン液晶表示装置1600や上皿液晶表示装置244を表示制御するVDP(Video Display Processorの略)と、メイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244に表示される画面の各種データを記憶する画像ROMと、この画像ROMに記憶されている各種データが転送されてコピーされる画像RAMと、を備えている。
この表示制御MPUは、パラレルI/Oポート、シリアルI/Oポート等を内蔵しており、周辺制御部1511からの制御データ(表示コマンド)に基づいてVDPを制御してメイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244の描画制御を行っている。なお、表示制御MPUは、正常に動作していると、その旨を伝える動作信号を周辺制御部1511に出力する。また表示制御MPUは、VDPから実行中信号が入力されており、この実行中信号の出力が16msごとに停止されたことを契機として、割り込み処理を行っている。
表示制御ROMは、メイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244に描画する画面を生成するための各種プログラムのほかに、周辺制御部1511からの制御データ(表示コマンド)と対応するスケジュールデータ、その制御データ(表示コマンド)と対応する非常駐領域転送スケジュールデータ等を複数記憶している。スケジュールデータは、画面の構成を規定する画面データが時系列に配列されて構成されており、メイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244に描画する画面の順序が規定されている。非常駐領域転送スケジュールデータは、画像ROMに記憶されている各種データを画像RAMの非常駐領域に転送する際に、その順序を規定する非常駐領域転送データが時系列に配列されて構成されている。この非常駐領域転送データは、スケジュールデータの進行に従ってメイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244に描画される画面データを、前もって、画像ROMから画像RAMの非常駐領域に各種データを転送する順序が規定されている。
表示制御MPUは、周辺制御部1511からの制御データ(表示コマンド)と対応するスケジュールデータの先頭の画面データを表示制御ROMから抽出してVDPに出力した後に、先頭の画面データに続く画面データを表示制御ROMから抽出してVDPに出力する。このように、表示制御MPUは、スケジュールデータに時系列に配列された画面データを、先頭の画面データから1つずつ表示制御ROMから抽出してVDPに出力する。
VDPは、表示制御MPUから出力された画面データが入力されると、この入力された画面データに基づいて画像RAMからスプライトデータを抽出してメイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244に表示する描画データを生成し、この生成した描画データを、メイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244に出力する。またVDPは、メイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244が、表示制御MPUからの画面データを受入れないときに、その旨を伝える実行中信号を表示制御MPUに出力する。なお、VDPは、ラインバッファ方式が採用されている。この「ラインバッファ方式」とは、メイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244の左右方向を描画する1ライン分の描画データをラインバッファに保持し、このラインバッファに保持した1ライン分の描画データを、メイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244に出力する方式である。
画像ROMには、極めて多くのスプライトデータが記憶されており、その容量が大きくなっている。画像ROMの容量が大きくなると、つまり、メイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244に描画するスプライトの数が多くなると、画像ROMのアクセス速度が無視できなくなり、メイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244に描画する速度に影響することとなる。そこで、本実施形態では、アクセス速度の速い画像RAMに、画像ROMに記憶されているスプライトデータを転送してコピーし、この画像RAMからスプライトデータを抽出している。なお、スプライトデータは、スプライトをビットマップ形式に展開する前のデータである基データであり、圧縮された状態で画像ROMに記憶されている。
ここで、「スプライト」について説明すると、「スプライト」とは、メイン液晶表示装置1600や上皿液晶表示装置244に、纏まった単位として表示されるイメージである。例えば、メイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244に、種々の人物(キャラクタ)を表示させる場合には、夫々の人物を描くためのデータを「スプライト」と呼ぶ。これにより、メイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244に複数人の人物を表示させる場合には、複数のスプライトを用いることとなる。また人物のほかに、背景を構成する家、山、道路等もスプライトであり、背景全体を1つのスプライトとすることもできる。これらのスプライトは、画面に配置される位置やスプライト同士が重なる場合の上下関係(以下、「スプライトの重ね合わせの順序」と記載する。)が設定されてメイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244に描画される。
なお、スプライトは縦横それぞれ64画素の矩形領域を複数張り合わせて構成されている。この矩形領域を描くためのデータを「スプライトキャラクタ」と呼ぶ。小さなスプライトの場合には1つのスプライトキャラクタを用いて表現することができるし、人物など比較的大きいスプライトの場合には、例えば横2×縦3などで配置した合計6個のスプライトキャラクタを用いて表現することができる。背景のように更に大きいスプライトの場合には更に多数のスプライトキャラクタを用いて表現することができる。このように、スプライトキャラクタの数及び配置は、スプライトごとに任意に指定することができるようになっている。
メイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244は、その正面から見て左から右に向かって順次、画素に沿った一方向に画素ごとの表示状態を設定する主走査と、その一方向と交差する方向に主走査を繰り返し行う副走査と、によって駆動される。メイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244は、液晶表示制御部1512から出力された1ライン分の描画データが入力されると、主走査としてメイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244の正面から見て左から右に向かって順次、1ライン分の画素にそれぞれ出力する。そして1ライン分の出力が完了すると、メイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244は、副走査として直下のラインに移行し、同様に次ライン分の描画データが入力されると、この次ライン分の描画データに基づいて主走査としてメイン液晶表示装置1600、サブ液晶表示装置3114や上皿液晶表示装置244の正面から見て左から右に向かって順次、1ライン分の画素にそれぞれ出力する。
[4.遊技内容]
次に、本実施形態のパチンコ機1による遊技内容について、主に図10、図16及び図17等を参照して説明する。本実施形態のパチンコ機1は、扉枠3の前面右下隅に配置されたハンドルユニット500のハンドルレバー504を遊技者が回転操作することで、皿ユニット200の上皿201に貯留された遊技球が、遊技盤5における外レール1001と内レール1002との間を通って遊技領域5a内の上部へと打ち込まれて、遊技球による遊技が開始される。遊技領域5a内の上部へ打ち込まれた遊技球は、その打込強さによってセンター役物2500の左側、或いは、右側の何れかを流下する。なお、遊技球の打込み強さは、ハンドルレバー504の回転量によって調整することができ、時計回りの方向へ回転させるほど強く打込むことができ、連続で一分間に最大100個の遊技球、つまり、0.6秒間隔で遊技球を打込むことができる。
また、遊技領域5a内には、適宜位置に所定のゲージ配列で複数の障害釘(図示は省略)が遊技パネル1100(パネル板1110)の前面に植設されており、遊技球が障害釘に当接することで、遊技球の流下速度が抑制されると共に、遊技球に様々な動きが付与されて、その動きを楽しませられるようになっている。また、遊技領域5a内には、障害釘の他に、遊技球の当接により回転する風車(図示は省略)が適宜位置に備えられている。
センター役物2500の上部へ打込まれた遊技球は、センター役物2500の前周壁部2512の外周面のうち、最も高くなった部位よりも正面視左側へ進入すると、図示しない複数の障害釘に当接しながら、センター役物2500よりも左側の領域を流下することとなる。そして、センター役物2500の左側の領域を流下する遊技球が、センター役物2500の前周壁部2512の外周面に開口しているワープ入口2520に進入すると、ワープ通路2521を通ってセンター役物2500の枠内に開口しているワープ出口2522から誘導路2523を通ってステージ2530に供給される。
ワープ出口2522からステージ2530に供給された遊技球は、ステージ2530上を転動して左右に行ったり来たりして、左右方向中央の中央誘導部2531、又は、その左右にあるサイド誘導部2532の何れかから後方に放出される。ステージ2530の中央誘導部2531から遊技球が遊技領域5a内に放出されと、この中央誘導部2531が第一始動口2002の直上に位置していることから、中央誘導部2531から放出された遊技球は、高い確率で第一始動口2002に受入れられる。この第一始動口2002に遊技球が受入れられると、主制御基板1310及び払出制御基板951を介して払出装置830から所定数(例えば、3個)の遊技球が、上皿201に払出される。
ステージ2530を転動している遊技球が、サイド誘導部2532から遊技領域5a内に放出されと、始動口ユニット2100へ向かって流下する。センター役物2500のステージ2530から遊技領域5a内に放出された遊技球は、始動口ユニット2100の第一始動口2002や、開状態の第一大入賞口2005等に受入れられる可能性がある。
ところで、センター役物2500の左側へ流下した遊技球が、ワープ入口2520に進入しなかった場合、サイドユニット上2300の棚部2302により左右方向中央側へ寄せられ、サイドユニット下2200の一般入賞口2001や第一始動口2002等に受入れられる可能性がある。そして、一般入賞口2001に遊技球が受入れられると、主制御基板1310及び払出制御基板951を介して払出装置830から所定数(例えば、10個)の遊技球が、上皿201に払出される。
一方、遊技領域5a内においてセンター役物2500の上部に打込まれた遊技球が、センター役物2500の前周壁部2512の外周面の最も高くなった部位よりも右側に進入する(打込まれる)と、右打遊技領域2540の右上流通空間2541内に進入する。この右上流通空間2541内には、図示は省略するが、複数の障害釘が植設されており、遊技球が障害釘に当接してその流下方向を様々に変化させながら流通する。この右上流通空間3541内には、上部にゲート部2003が、下部に一般入賞口2001と通常は第二始動口扉部材2549により閉鎖されている第二始動口2004が備えられている。
右上流通空間2541内を流下した遊技球は、その下流側の右流通路2542を通って右下流通空間2543内に進入する。この右下流通空間2543に進入した遊技球は、第二大入賞口2006として左右に並んだ第二上大入賞口2006aと第二下大入賞口2006bを閉鎖している第二上大入賞口扉部材2552と第二下大入賞口扉部材2555の上面が底面を形成している第二アタッカ通路2543aを通り、低くなっている正面視左側の放出板部2559の左端から遊技領域5a内に放出される。第二アタッカ通路2543aの下流端(放出板部2559)は、始動口ユニット2100の第一大入賞口2005へ遊技球が向かうように開口しており、第一大入賞口2005が開状態の時に、第二アタッカ通路2543aから遊技領域5a内に遊技球が放出されると、高い確率で遊技球が第一大入賞口2005に受入れられる。
この右流通路2542及び右下流通空間2543を流通する遊技球は、複数の減速リブ2546により、流通速度の増加が抑制されながら流下する。なお、ごくまれに、右下流通空間2543内において、第二アタッカ通路2543aの上流端付近で分岐している排出通路2543bに進入することがあり、排出通路2543bに進入した遊技球は遊技領域5a内に戻されることなく第二アウト口2543cから遊技盤5外に排出される。
右打して右上流通空間2541内に進入した遊技球が、ゲート部2003を通過してゲートセンサ2547により検知されると、主制御基板1310において予め決められている数値範囲で更新される普通乱数の中から一の普通乱数を取得し、この取得した普通乱数を予め決められた普通当り判定テーブルと照合することで普通抽選を行う。後述する時短制御を実行していない場合にこの普通抽選の結果が「普通当り」となると第二始動口扉部材2549が1回だけ正面視反時計回りの方向に回動して第二始動口2004を開状態とし、所定時間(この例では0.5秒)の間に亘り第二始動口2004への遊技球の受入れが可能となる。一方、時短制御を実行している場合には普通抽選にて「普通当り」として「第一普通当り」、「第二普通当り」、「第三普通当り」のいずれとなったかを抽選する。そして、時短制御を実行している場合に普通抽選の普通抽選結果が「第一普通当り」、「第二普通当り」、「第三普通当り」のいずれかとなると第二始動口扉部材2549が正面視反時計回りの方向へ回動して第二始動口2004を開状態とすることで所定期間に亘って第二始動口2004への遊技球の受入れが可能な状態とした後、正面視反時計回りの方向へ回動して第二始動口2004を閉状態とすることで第二始動口2004への遊技球の受入れが不可能な状態にする開閉制御を所定回数(この例では5回)に亘って繰り返す。なお、普通抽選の普通抽選結果が「第一普通当り」となった場合には第二始動口2004が遊技球の受入れを可能な状態とされる5回夫々の期間として「0.3秒」、「0.28秒」、「0.3秒」、「0.28秒」、「0.3秒」とされ、普通抽選の普通抽選結果が「第二普通当り」となった場合には第二始動口2004が遊技球の受入れを可能な状態とされる5回夫々の期間として「0.3秒」、「0.28秒」、「1.1秒」、「0.28秒」、「0.3秒」とされ、普通抽選の普通抽選結果が「第三普通当り」となった場合には第二始動口2004が遊技球の受入れを可能な状態とされる5回夫々の期間として「0.3秒」、「0.28秒」、「0.3秒」、「0.28秒」、「1.1秒」とされ、「第二普通当り」及び「第三普通当り」では「第一普通当り」よりも遊技者に有利(第二始動口2004への遊技球の受入れが容易)な当りとなっている。また、第二始動口2004に遊技球が受入れられると、主制御基板1310及び払出制御基板951を介して払出装置830から所定数(例えば、3個)の遊技球が、上皿201に払出される。
本実施形態では、ゲート部2003を遊技球が通過したことに基づいて機能表示ユニット1400の普通図柄表示器で行われる普通図柄の変動表示において、普通図柄の変動表示を開始してから普通図柄を停止表示するまで(普通抽選結果を示唆するまで)にある程度の時間を設定している(例えば、0.01~60秒、普通変動時間とも称す)。第二始動口2004では、普通変動時間の経過後に第二始動口扉部材2549が回動して開状態となる。なお、後述する時短制御の実行中には通常(時短制御を実行していない状態)よりも普通変動時間を短縮させる制御を実行するようになっている。また、第二始動口扉部材2549を回動して第二始動口2004を開状態とする開放時間については、遊技状態に応じて変化させるようにしても良く、例えば、時短制御を実行していない場合には時短制御を実行している場合に比べて、第二始動口2004の開放時間を長い時間に変更するようにしても良い。
また、遊技球がゲート部2003を通過してから普通図柄表示器に変動表示される普通図柄を停止表示するまで(普通抽選結果が示唆されるまで)の間に、新たな遊技球がゲート部2003を通過すると、普通図柄表示器にて新たに普通図柄の変動表示を開始することができないため、普通図柄の変動表示開始を、先の普通図柄の変動表示が終了するまで(普通抽選結果の示唆が終了するまで)保留するようにしている。具体的にはゲートセンサ2547によりゲート部2003を通過した遊技球を検知したことに基づいて主制御基板1310にて取得した普通乱数を記憶しておき、普通図柄の変動表示を開始できる状態になるまで普通図柄の変動表示開始を保留する。なお、主制御基板1310にて記憶可能な普通乱数の保留数は、4つまでを上限とし、それ以上については、ゲート部2003を遊技球が通過しても、保留せずに破棄している。これにより、保留が貯まることで遊技ホール側の負担の増加を抑制している。
本実施形態のパチンコ機1は、第一始動口2002に受入れられた遊技球が第一始動口センサ2104により検知されると、主制御基板1310において予め決められている数値範囲で更新される第一特別乱数の中から一の第一特別乱数を取得し、この取得した第一特別乱数を予め決められた大当り判定テーブルと照合することで遊技者に有利な有利遊技状態(例えば、「大当り」、「小当り」、等)を発生させる第一特別抽選結果の抽選が行われる。そして、抽選された第一特別抽選結果に基づいて第一特別図柄表示器の八つのLEDを所定の変動時間(例えば、0.1~360秒)に亘って点滅制御した後に第一特別抽選結果に応じた点灯態様で表示する(第一特別図柄を変動表示した後に第一特別抽選結果に応じた停止図柄を表示する)ことにより第一特別抽選結果を遊技者に示唆する。なお、第一始動口2002に遊技球が受入れられることで抽選される第一特別抽選結果には、「はずれ」、「小当り」、「2R大当り」、「8R大当り」、「10R大当り」があり、取得した第一特別乱数を大当り判定テーブルと照合することでこれらのうち何れであるかが判別され、さらには大当り遊技後に通常(低確率状態:本例では約395分の1の確率で大当りに当選する)よりも大当りに当選する確率(当選確率)を向上させる確率向上制御(高確率状態(確変状態ともいう):本例では約44分の1の確率で大当りに当選する)を実行するか否か(確変大当りか否か)と、少なくとも第一特別抽選結果がはずれの場合に通常よりも変動時間を短縮させる時短制御(時短状態)を実行するか否か(時短大当りか否か)及び時短制御を実行する期間(時短回数:特別図柄(第一特別打図柄及び第二特別図柄の変動回数))と、も判別されるようになっている。なお、「小当り」の当選確率は遊技状態に関わらず常に一定とされる(本例では約300分の1)。
また、第二始動口2004に受入れられた遊技球が第二始動口センサ2551により検知されると、主制御基板1310において予め決められている数値範囲で更新される第二特別乱数の中から一の第二特別乱数を取得し、この取得した第二特別乱数を予め決められた大当り判定テーブルと照合することで遊技者に有利な有利遊技状態(例えば、「大当り」、「小当り」、等)を発生させる第二特別抽選結果の抽選が行われる。そして、抽選された第二特別抽選結果に基づいて第二特別図柄表示器の八つのLEDを所定の変動時間(例えば、0.1~360秒)に亘って点滅制御した後に第二特別抽選結果に応じた点灯態様で表示する(第二特別図柄を変動表示した後に第二特別抽選結果に応じた停止図柄を表示する)ことにより第二特別抽選結果を遊技者に示唆する。なお、第二始動口2004に遊技球が受入れられることで抽選される第二特別抽選結果には、「はずれ」、「2R大当り」、「4R大当り」、「5R大当り」、「6R大当り」、「7R大当り」、「8R大当り」、「16R大当り」があり、取得した第二特別乱数を大当り判定テーブルと照合することでこれらのうち何れであるかが判別され、さらには大当り遊技後に通常(低確率状態:本例では約395分の1の確率で大当りに当選する)よりも大当りに当選する確率(当選確率)を向上させる確率向上制御(高確率状態(確変状態ともいう):本例では約44分の1の確率で大当りに当選する)を実行するか否か(確変大当りか否か)と、少なくとも第二特別抽選結果がはずれの場合に通常よりも変動時間を短縮させる時短制御(時短状態)を実行するか否か(時短大当りか否か)及び時短制御を実行する期間(時短回数:特別図柄(第一特別打図柄及び第二特別図柄の変動回数))と、も判別されるようになっている。
第一始動口2002及び第二始動口2004への遊技球の受入れにより抽選された特別抽選結果(第一特別抽選結果及び第二特別抽選結果)が、有利遊技状態を発生させる特別抽選結果の場合、所定の変動時間の経過後に特別図柄表示器(第一特別図柄表示器、第二特別図柄表示器)の8つのLEDを特別抽選結果に応じた点灯態様で表示させ、その後第一大入賞口2005及び第二大入賞口2006の何れが所定の開閉パターンで遊技球の受入れが可能な状態となる。第一大入賞口2005や第二大入賞口2006が開状態の時に、第一大入賞口2005や第二大入賞口2006に遊技球が受入れられると、主制御基板1310及び払出基板によって払出装置830から所定数(例えば、第一大入賞口2005に遊技球が受入れられた場合には11個、又は、第二大入賞口2006に遊技球が受入れられた場合には15個)の遊技球が、上皿201に払出される。従って、第一大入賞口2005や第二大入賞口2006が遊技球を受入可能としている時に、第一大入賞口2005や第二大入賞口2006に遊技球を受入れさせることで、多くの遊技球を払出させることができ、遊技者を楽しませることができる。
特別抽選結果が「小当り」や「2R大当り」の場合には、第一大入賞口2005が、所定短時間(例えば、0.2秒~0.6秒の間)の間、遊技球を受入可能な開状態となってから閉鎖する開閉パターンを複数回(例えば、2回)繰返す。一方、特別抽選結果が「4R大当り」、「5R大当り」、「6R大当り」、「7R大当り」、「8R大当り」、「10R大当り」、「16R大当り」の場合には、第一大入賞口2005又は第二大入賞口2006が、遊技球を受入可能な開状態となった後に、所定時間(例えば、約30秒)経過するか、或いは、第一大入賞口2005へ予め決められている個数(例えば、7個)の遊技球が受入れられるか又は第二大入賞口2006へ予め決められている個数(例えば、10個)の遊技球が受入れられるか、の何れかの条件が充足すると、遊技球を受入不能な閉状態とする開閉パターン(一回の開閉パターンを1ラウンドと称す)を、所定回数(所定ラウンド数)繰返す。例えば、「4R大当り」であれば4ラウンド、「5R大当り」であれば5ラウンド、「16R大当り」であれば16ラウンド、夫々繰返して、遊技者に有利な有利遊技状態を発生させる。また、特別抽選結果が「小当り」や「2R大当り」の場合に実行される開閉パターン(第一大入賞口2005が所定短時間(例えば、0.2秒~0.6秒の間)の間、遊技球を受入可能な開状態となってから閉鎖する開閉パターン)では実質的に第一大入賞口2005へ遊技球を入球させることは困難である。これに対して特別抽選結果が「4R大当り」、「5R大当り」、「6R大当り」、「7R大当り」、「8R大当り」、「10R大当り」、「16R大当り」の場合に実行される開閉パターン(第一大入賞口2005又は第二大入賞口2006が、遊技球を受入可能な開状態となった後に、所定時間(例えば、約30秒)経過するか、或いは、第一大入賞口2005へ予め決められている個数(例えば、7個)の遊技球が受入れられるか又は第二大入賞口2006へ予め決められている個数(例えば、10個)の遊技球が受入れられるか、の何れかの条件が充足すると、遊技球を受入不能な閉状態とする開閉パターン)では第一大入賞口2005又は第二大入賞口2006へ遊技球を入球させることは容易となっている。なお、特別抽選結果が「4R大当り」、「5R大当り」、「6R大当り」、「7R大当り」、「8R大当り」、「10R大当り」、「16R大当り」の場合には、上記第一大入賞口2005又は第二大入賞口2006が、遊技球を受入可能な開状態となった後に、所定時間(例えば、約30秒)経過するか、或いは、第一大入賞口2005へ予め決められている個数(例えば、7個)の遊技球が受入れられるか又は第二大入賞口2006へ予め決められている個数(例えば、10個)の遊技球が受入れられるか、の何れかの条件が充足すると、遊技球を受入不能な閉状態とする開閉パターンが実行されるラウンド数を実質的な特別抽選結果としてもよく、特別抽選結果として第一大入賞口2005へ予め決められている個数(例えば、7個)の遊技球が受入れられるか又は第二大入賞口2006へ予め決められている個数(例えば、10個)の遊技球が受入れられるか、の何れかの条件が充足すると、遊技球を受入不能な閉状態とする開閉パターンと特別抽選結果が「小当り」や「2R大当り」の場合に実行される開閉パターン(第一大入賞口2005が所定短時間(例えば、0.2秒~0.6秒の間)の間、遊技球を受入可能な開状態となってから閉鎖する開閉パターン)とを含む複数のラウンドを実行するものを設けるようにしてもよい。例えば、特別抽選結果として「実質4Rとする8R大当り」を設けて、第一大入賞口2005へ予め決められている個数(例えば、7個)の遊技球が受入れられるか又は第二大入賞口2006へ予め決められている個数(例えば、10個)の遊技球が受入れられるか、の何れかの条件が充足すると、遊技球を受入不能な閉状態とする開閉パターンを4回繰り返した後、特別抽選結果が「小当り」や「2R大当り」の場合に実行される開閉パターン(第一大入賞口2005が所定短時間(例えば、0.2秒~0.6秒の間)の間、遊技球を受入可能な開状態となってから閉鎖する開閉パターン)を4回繰り返すようにしてもよい。
ところで、本実施形態では第二大入賞口2006が、左右に並んだ第二上大入賞口2006aと第二下大入賞口2006bとで構成されており、第二大入賞口2006が用いられる「大当り」の場合、例えば、初めのラウンド(1R目)は第二上大入賞口2006aが開いて遊技球を受入可能とし、受入不能とする条件の充足により閉鎖されて、次に受入可能とするまでの間(インターバルの間)、第二下大入賞口2006bを開いて遊技球を受入可能とする次のラウンド(2R目)を開始させ、第二下大入賞口2006bが受入不能となると、その間にインターバルの期間が経過しているため、第二上大入賞口2006aを再び開いて遊技球を受入可能とする。そして、第二上大入賞口2006aと第二下大入賞口2006bとを、所定ラウンド数の消化まで交互に開閉させる。これにより、第二アタッカ通路2543a内では、「大当り」中は第二上大入賞口2006a及び第二下大入賞口2006bの何れかが遊技球を受入可能な状態となっているため、この状態で右打して第二アタッカ通路2543a内に遊技球を流通させると、その遊技球が必ず第二大入賞口2006に受入れられることとなり、遊技球の取りこぼしをなくして、遊技者を楽しませることができる。
また、本実施形態では上記した複数種類の大当りのうち一部の大当りでは、大当り当選時の遊技状態に応じて大当り遊技の終了後に上記時短制御を実行するか否かを異ならせている。例えば、非時短状態(時短制御を実行していない状態)で第一特別抽選結果が大当り遊技後に確率向上制御を実行しない8R通常大当りである場合には、大当り遊技後に時短制御を実行しない。一方、時短状態(時短制御を実行している状態)で第一特別抽選結果が8R通常大当りである場合には、大当り遊技後に時短制御を実行するようになっている。また、非時短状態(時短制御を実行していない状態)で第二特別抽選結果が大当り遊技後に確率向上制御を実行しない2R通常大当りである場合には、大当り遊技後に時短制御を実行しない。一方、時短状態(時短制御を実行している状態)で第二特別抽選結果が2R通常大当りである場合には、大当り遊技後に時短制御を実行するようになっている。また、低確率非時短状態(確率向上制御と時短制御との両方ともに実行していない状態:通常状態ともいう)で第一特別抽選結果及び第二特別抽選結果が大当り遊技後に確率向上制御を実行する2R確変大当りである場合には、大当り遊技後に時短制御を実行しない。一方、確率向上制御を実行しているか又は時短制御を実行している状態、即ち通常状態以外の状態で第一特別抽選結果及び第二特別抽選結果が大当り遊技後に確率向上制御を実行する2R確変大当りである場合には、大当り遊技後に時短制御を実行するようになっている。
本実施形態では、第一始動口2002への遊技球の受入れにより第一特別図柄表示器にて実行される第一特別図柄の変動表示と、第二始動口2004への遊技球の受入れにより第二特別図柄表示器にて実行される第二特別図柄の変動表示と、は同時に実行されず、いずれか一方のみを実行するようにしている。そのため、第一始動口2002への遊技球の受入れにより第一特別図柄表示器に変動表示される第一特別図柄を停止表示するまで(第一特別抽選結果が示唆されるまで)の間と第二始動口2004への遊技球の受入れにより第二特別図柄表示器に変動表示される第二特別図柄を停止表示するまで(第二特別抽選結果が示唆されるまで)の間に、第一始動口2002や第二始動口2004に新たな遊技球が受入れられると、第一特別図柄表示器や第二特別図柄表示器にて新たに第一特別図柄や第二特別図柄の変動表示を開始することができないため、特別図柄(第一特別図柄、第二特別図柄)の変動表示開始を先の特別図柄(第一特別図柄、第二特別図柄)の変動表示が終了するまで(第一特別抽選結果や第二特別抽選結果の示唆が完了するまで)保留するようにしている。具体的には、第一始動口センサ2104により第一始動口2002に受入れられた遊技球を検知したことに基づいて主制御基板1310にて取得した第一特別乱数と、第二始動口センサ2551により第二始動口2004に受入れられた遊技球を検知したことに基づいて主制御基板1310にて取得した第二特別乱数と、を記憶しておき、特別図柄(第一特別図柄、第二特別図柄)の変動表示を開始できる状態になるまで特別図柄(第一特別図柄、第二特別図柄)の変動表示開始を保留する。なお、主制御基板1310にて記憶可能な第一特別乱数及び第二特別乱数の保留数は夫々4つまでを上限とし、それ以上については、第一始動口2002及び第二始動口2004に遊技球が受入れられても保留せずに、破棄している。これにより、保留が貯まることで遊技ホール側の負担の増加を抑制している。また、主制御基板1310に記憶されている第一特別乱数及び第二特別乱数は、第二特別乱数の方を優先して消化させるようになっている。つまり、第一始動口2002及び第二始動口2004への遊技球の受入れタイミングに関わらず、第二特別乱数が記憶されて第二特別図柄の変動表示開始が保留されていれば、第一特別図柄よりも第二特別図柄の変動表示が優先して実行されるようになっている。
この特別抽選結果の示唆は、機能表示ユニット1400(第一特別図柄表示器、第二特別図柄表示器)とメイン液晶表示装置1600とで行われる(サブ液晶表示装置3114も用いても良い)。機能表示ユニット1400では、主制御基板1310によって直接制御されて特別抽選結果の示唆が行われる。機能表示ユニット1400での特別抽選結果の示唆は、特別図柄表示器(第一特別図柄表示器、第二特別図柄表示器)を構成する上記した八つのLEDを、点灯・消灯を繰返して所定時間点滅させ、その後に、所定の点灯態様で停止して、この停止時に点灯しているLEDの組み合わせによって特別抽選結果を示唆する。
一方、メイン液晶表示装置1600では、主制御基板1310からの制御信号(変動パターンコマンド、判定結果通知コマンド等)に基いて、周辺制御基板1510によって間接的に制御され、演出画像によって特別抽選結果の示唆が行われる。具体的には、メイン液晶表示装置1600において、複数の異なる図柄からなる一連の装飾図柄列が複数列(例えば、左装飾図柄・中装飾図柄・右装飾図柄の三列)表示された状態で各装飾図柄列の変動表示が開始され、その後に、順次停止表示され(本例では左装飾図柄→右装飾図柄→中装飾図柄の順に停止表示される)、最終的に全ての装飾図柄列が停止表示されると、停止表示された図柄の組合せによって抽出された特別乱数(第一特別乱数、第二特別乱数)の抽選結果が遊技者側に示唆されるようになっている。つまり、始動入賞発生時に取得した特別乱数(第一特別乱数、第二特別乱数)に基づく特別抽選結果(第一特別抽選結果、第二特別抽選結果)に応じて、複数の装飾図柄列が変動表示された後に特別抽選結果(第一特別抽選結果、第二特別抽選結果)を示唆するように停止表示される演出画像が表示されるようになっている。なお、第一特別図柄表示器に変動表示される第一特別図柄や第二特別図柄表示器に変動表示される第二特別図柄よりも、メイン液晶表示装置1600に表示される装飾図柄の方が大きく見易いため、一般的に遊技者はメイン液晶表示装置1600に表示された装飾図柄に注目することとなる。
なお、機能表示ユニット1400での特別抽選結果を示唆する時間(LEDの点滅時間(変動時間))と、メイン液晶表示装置1600での特別抽選結果を示唆する時間(図柄列が変動して確定画像が表示されるまでの時間)とは、異なっており、機能表示ユニット1400の方が短い時間に設定されている。
また、周辺制御基板1510では、メイン液晶表示装置1600による特別抽選結果を示唆するための演出画像の表示の他に、抽選された特別抽選結果に応じて、センター役物2500の装飾体、裏左中装飾ユニット3050、裏下後可動演出ユニット3100、裏上左可動演出ユニット3200、裏左可動演出ユニット3300、裏上中可動演出ユニット3400、及び裏下前可動演出ユニット3500、等を適宜用いて、発光演出、可動演出、表示演出、等を行うことが可能であり、各種の演出によっても遊技者を楽しませることができ、遊技者の遊技に対する興趣が低下するのを抑制することができる。
[5.主制御基板の各種制御処理]
次に、パチンコ遊技機1の遊技の進行に応じて、主制御基板1310によって実行される処理について説明する。具体的には、遊技機の電源投入時に実行されるシステム/ユーザリセット処理と、システム/ユーザリセット処理で起動されるタイマによって所定周期(本実施形態では、4ms)で実行されるタイマ割込み処理について説明する。
[5-1.初期化処理]
図21及び図22は、本発明の実施形態における主制御基板の初期化処理の手順を示すフローチャートである。
パチンコ遊技機1に電源が投入されると、主制御基板1310の主制御MPU1311が主制御プログラムを実行することによって初期化処理を行う。初期化処理が開始されると、主制御MPU1311は、まず、主制御MPU1311に内蔵されたRAM1312のプロテクトを書き込み許可に設定し、RAM1312への書き込みができる状態にする(ステップS10)。具体的には、RAMプロテクトレジスタに書き込み許可を示す”00H”を出力する。
続いて、主制御MPU1311は、内蔵されたウォッチドッグタイマを起動する(ステップS12)。具体的には、まず、ウォッチドッグタイマコントロールレジスタに、モード設定を示す”03H”を書き込み、さらに、ウォッチドッグタイマの起動を示す”03H”を書き込む。さらに、ウォッチドッグタイマをクリアして、リセットする(ステップS14)。
続いて、所定のウェイト時間が経過したかを判定する(ステップS16)。遊技機1の電源を投入してから所定電圧となるまでの間は電圧がすぐに上昇しないため、電源投入時から所定電圧に上がるまでの間に電圧が停電予告電圧より小さくなると、停電監視回路から停電予告信号が入力される。ウェイト処理では、所定の監視ウェイト値を設定し、ウォッチドッグタイマを起動させながら所定時間(例えば、200ミリ秒)処理を待機させる。
所定のウェイト時間が経過していれば、サブ基板(周辺制御基板1510など)が起動するために必要な時間が経過しているので、RAMクリアスイッチが操作されているかを判定する(ステップS18)。RAMクリアスイッチが操作されている場合、内蔵RAM1312のワークエリアにバックアップされているデータのうち役物比率算出用ワークエリア(役物比率算出用領域13128)以外の領域のデータを消去し(ステップS30)、ステップS24に進む。一方、RAMクリアスイッチが操作されていない場合、内蔵RAM1312にバックアップされているデータを消去せず、停電フラグが設定されているかを判定する(ステップS20)。停電フラグは、停電発生など、遊技機1の電源が正常な処理を経て遮断された場合にセットされるフラグである(図22のステップS56参照)。
その結果、停電フラグが設定されていなければ、内蔵RAM1312のワークエリアのデータは正しくない恐れがあるので、ワークエリアにバックアップされているデータ(役物比率算出用領域13128以外)を消去し(ステップS30)、ステップS24に進む。一方、停電フラグが設定されていれば、停電フラグをクリアし、前回の電源遮断時に計算されたチェックサムを用いて内蔵RAM1312のワークエリアにバックアップされているデータから算出したチェックサムとステップS48で記憶したチェックサムとを比較(検証)する(ステップS22)。
その結果、バックアップデータから算出されたチェックサムとステップS48で記憶したチェックサムとが一致しなければ、内蔵RAM1312のワークエリアのデータは正しくない恐れがあるので、ワークエリアにバックアップされているデータ(役物比率算出用領域13128以外)を消去し(ステップS30)、ステップS24に進む。一方、バックアップデータから算出されたチェックサムとステップS48で記憶したチェックサムとが一致すれば、内蔵RAM1312のワークエリアのデータは正しいので、ワークエリアにバックアップされているデータを消去せず、ステップS24に進む。
続いて、チェックコードを用いて役物比率算出用ワークエリア(役物比率算出用領域13128)が正常かを判定する(ステップS24)。異常であると判定された場合、役物比率算出用ワークエリアのデータは正しくない恐れがあるので、役物比率算出用ワークエリアに格納されているデータを消去する(ステップS26)。
なお、役物比率算出用領域13128に、1又は複数のバックアップ領域を設ける場合、最初に、チェックコードを用いてメイン領域を判定し、メイン領域が異常であると判定された場合、バックアップ領域1、2、Nの順で判定し、最初に正常であると判定されたバックアップ領域のデータをメイン領域に複製するとよい。その後、バックアップ領域のデータは消去しても、そのまま残してもよい。メイン領域が正常であると判定された場合、バックアップ領域のデータは消去しても、そのまま残してもよい。
役物比率算出用領域については、電源投入時によるチェックコードの判定結果とは別に役物比率算出用領域については、電源投入時によるチェックコードの判定結果とは別に、所定時間毎に役物比率算出用領域13128のデータを消去してもよい。また、所定の稼動量毎(例えば、所定の発射球数毎、所定の入賞球数毎、所定数の特別図柄変動表示ゲーム毎、所定数の特別図柄変動表示ゲームの大当り毎など)に役物比率算出用領域13128のデータを消去してもよい。
このように、本実施形態のパチンコ機では、内蔵RAM1312のワークエリアにバックアップされているデータを、データの種別毎に(遊技制御用データ13132と役物比率算出・表示用データ13136とを)異なる条件で消去する。すなわち、RAMクリアスイッチの操作によって、バックアップされた遊技制御用データ13132は消去されるが、バックアップされた役物比率算出・表示用データ13136は消去されない。RAMクリアスイッチの操作によって役物比率算出・表示用データ13136が消去できると、遊技機1が算出した役物比率を任意のタイミングで消去できる。このため、RAMクリアスイッチの操作によって、バックアップされた役物比率算出・表示用データ13136は消去されないようにして、遊技場の係員の操作による役物比率算出・表示用データ13136の消去を防止し、役物比率が異常な状態の隠蔽を防止できる。このため、役物比率が高い状態や低い状態へ改造された遊技機を容易に検出できる。
主制御MPU1311は、RAM作業領域の復電時設定又はRWM初期化処理が実行されると、主制御MPU1311(CPU13111)の各種設定レジスタに設定するための初期設定を実行する(ステップS28)。主制御MPU1311の初期設定では、まず、CTC(Counter/Timer Circuit)の初期設定を行い、割り込みを許可する。さらに、シリアル通信ポート及び試験信号出力ポートの初期設定を行う。ハードウェア乱数の生成回路を起動する。そして、周辺制御基板1510、払出制御基板951及び役物比率表示器1317との通信に使用するシリアル通信回路13114の設定を行う。さらに、シリアル通信回路13114の動作開始後に、役物比率表示器1317のドライバ回路13171の初期設定を行う。
続いて、主制御MPU1311は、周辺制御基板1510に送信するための電源投入時コマンドを設定する処理を実行する(ステップS32)。電源投入時コマンド作成処理では、遊技バックアップ情報から遊技情報を読み出して、遊技情報に応じた各種コマンドを主制御内蔵RAM1312の所定記憶領域に記憶する。電源投入時コマンドの生成は、電源投入時状態基準コマンドを基準コマンドデータとしてセットし、生成するコマンドに対応するコマンド加算データを加算する。
電源投入時のコマンドには、電源投入時状態バッファコマンドや特別図柄・電動役物動作番号コマンドが含まれる。電源投入時状態バッファコマンドは、電源断後の復帰時に遊技状態を通知するコマンドであり、特別抽選の当選確率及び普通電動役物の動作態様を通知する。一方、特別図柄・電動役物動作番号コマンドは、特別図柄の変動表示の実行状況を通知する。
その後、主制御MPU1311は、タイマ割込み処理をはじめとする割り込み処理の実行を許可する(ステップS34)。遊技機1の電源投入からステップS34までの処理により遊技機1の初期設定が完了する(初期設定手段)。
続いて、主制御MPU1311は、停電予告信号を取得し(ステップS36)、停電予告信号がONであるか否かを判定する(ステップS38)。停電予告信号がONでない場合(ステップS38の結果が「No」)、すなわち、乱数更新処理を実行する(ステップS40)。ステップS46の乱数更新処理では、主として特別抽選や普通抽選において当選判定を行うための乱数以外の乱数を更新する。なお、特別抽選や普通抽選において当選判定を行うための乱数の更新処理は、後述するタイマ割込み処理で実行される。停電予告信号が検出されるまでステップS36からステップS40までの処理を実行し、これらの処理を主制御側メイン処理とする(初期設定後通常手段)。
一方、停電予告信号を検出した場合には(ステップS38の結果が「Yes」)、主制御MPU1311は、電源断時処理を実行する(電断時設定手段)。電源断時処理では、停電発生前の状態に復帰させるためのデータをバックアップする処理を実行する。具体的には、まず、割込み処理の実行を禁止する(ステップS42)。これにより後述するタイマ割り込み処理が行われなくなり、主制御内蔵RAM1312への書き込みを防ぎ、遊技情報の書き換えを保護することができる。さらに、主制御MPU1311は、出力ポートをクリアして、各ポートからの出力によって制御される機器の動作を停止する(ステップS44)。具体的には、ソレノイド・停電クリア・ACK出力ポートに停電クリア信号OFFビットデータを設定する。なお、全ての出力ポートがクリアされなくてもよく、例えば、電力消費が大きいソレノイドやモータを制御するための出力ポートをクリアすればよい。これらの出力ポートをクリアすることによって、主基板側電源断時処理が終了するまでの時間の消費電力を低減し、主基板側電源断時処理を確実に終了できるようになる。
続いて、主制御MPU1311は、バックアップされるワークエリアに格納されたデータが正常に保持されたか否かを判定するためのチェックサムを計算する(ステップS46)。さらに、チェックサムの計算結果をRAM1312のチェックサムエリアに格納する(ステップS48)。このチェックサムはワークエリアにバックアップされたデータが正常かの判定に使用される。
続いて、役物比率算出用ワークエリア(役物比率算出用領域13128)のデータからチェックコード(例えば、チェックサム)算出する(ステップS50)。チェックコードが固定値である場合には、ステップS50においてチェックコードを算出する必要はない。なお、チェックコードは、主基板電源断時処理ではなく、役物比率算出・表示処理でデータの更新の都度、算出し、記憶してもよい。
続いて、算出したチェックコード(又は、チェックコードとして用いる所定値)を役物比率算出用領域13128の所定の領域に格納する(ステップS52)。
続いて、役物比率算出用ワーク(役物比率算出用領域13128)のメイン領域のデータを各バックアップ領域に複製する(ステップS54)。このとき、計算されたチェックコードも複製する。バックアップは、主基板側電源断時処理ではなく、役物比率算出・表示処理で適宜(例えば、データの更新の都度)、実行してもよい。
このように、役物比率の算出に使用するデータを、計算された(又は、所定値の)チェックコードと共にバックアップ領域に格納することによって、電源遮断時にも役物比率算出用のデータを保持し、長期間の稼動における役物比率を算出できる。
さらに、停電フラグとしてバックアップフラグエリアに正常にバックアップされたことを示す値を格納する(ステップS56)。これにより、遊技バックアップ情報の記憶が完了する。最後に、RAMプロテクトレジスタに書き込み禁止を示す”01H”を出力することでRAM1312の書き込みを禁止し(ステップS58)、停電から復旧するまでの間、待機する(無限ループ)。
[5-2.タイマ割込み処理]
次に、タイマ割込み処理について説明する。タイマ割込み処理は、図21及び図22に示した初期化処理において設定された割り込み周期(本実施形態では、4ms)ごとに繰り返し行われる。図23はタイマ割込み処理の一例を示すフローチャートである。
タイマ割込み処理が開始されると、主制御MPU1311は、主制御プログラムを実行することによって、まず、プログラムステータスワードのRBS(レジスタバンク選択フラグ)に1を設定し、レジスタを切り替える(ステップS70)。本実施形態における主制御基板1310には、バンク0とバンク1を有しており、タイマ割込み処理が実行されるたびに切り替えて使用される。
次に、主制御MPU1311は、スイッチ入力処理を実行する(ステップS74)。スイッチ入力処理では、主制御MPU1311の各種入力ポートの入力端子に入力されている各種信号を読み取り、入力情報として主制御内蔵RAM1312の入力情報記憶領域に記憶する。具体的には、一般入賞口などの入賞口に入球した遊技球を検出する各種センサからの検出信号、磁石を用いた不正行為を検出する磁気検出スイッチ3024からの検出信号、賞球制御処理で送信した賞球コマンドを払出制御基板951が正常に受信した旨を伝える払出制御基板951からの払主ACK信号などをそれぞれ読み取り、入力情報として入力情報記憶領域に記憶する。また、スイッチ入力処理では、排出球センサ3060や発射球センサ1020からの検出信号を読み取って、アウト球数を計数する。
続いて、主制御MPU1311は、タイマ更新処理を行う(ステップS76)。タイマ更新処理では、例えば、後述する特別図柄及び特別電動役物制御処理で決定される変動表示パターンに従って特別図柄表示器1185が点灯する時間、普通図柄及び普通電動役物制御処理で決定される普通図柄変動表示パターンに従って普通図柄表示器1189が点灯する時間のほかに、主制御基板1310(主制御MPU1311)が送信した各種コマンドを払出制御基板951が正常に受信した旨を伝える払主ACK信号が入力されているか否かを判定する際にその判定条件として設定されているACK信号入力判定時間等の時間管理を行う。具体的には、変動表示パターン又は普通図柄変動表示パターンの変動時間が5秒間であるときには、タイマ割り込み周期が4msに設定されているので、このタイマ減算処理を行うごとに変動時間を4msずつ減算し、その減算結果が値0になることで変動表示パターン又は普通図柄変動表示パターンの変動時間を正確に計測している。
続いて、主制御MPU1311は、乱数更新処理1を実行する(ステップS78)。乱数更新処理1では、大当り判定用乱数、大当り図柄用乱数、及び小当り図柄用乱数を更新する。またこれらの乱数に加えて、図に示したシステム/ユーザリセット処理(主制御側メイン処理)におけるステップS50の非当落乱数更新処理で更新される、大当り図柄用初期値決定用乱数、及び小当り図柄用初期値決定用乱数も更新する。
続いて、主制御MPU1311は、賞球制御処理を実行する(ステップS80)。賞球制御処理では、入力情報記憶領域から入力情報を読み出し、読み出した入力情報に基づいて払い出される遊技球(賞球)の数を計算し、主制御内蔵RAM1312に書き込む。また、賞球数の計算結果に基づいて、遊技球を払い出すための賞球コマンドを作成したり、主制御基板1310と払出制御基板951との基板間の接続状態を確認するためのセルフチェックコマンドを作成したりする。主制御MPU1311は、作成した賞球コマンドやセルフチェックコマンドを主払シリアルデータとして払出制御基板951に送信する。
続いて、主制御MPU1311は、現在の遊技状態を判定し、遊技価値として払い出される賞球数を現在の遊技状態に対応した領域に加算して、主制御内蔵RAM1312の役物比率算出用領域13128(図26参照)を更新する(ステップS81)。ステップS81の処理は、ステップS80で払い出されるべき賞球がない場合にはスキップでき、遊技機1の負荷を軽減できる。
続いて、主制御MPU1311は、枠コマンド受信処理を実行する(ステップS82)。払出制御基板951では、払出制御プログラムによって、状態表示に区分される1バイト(8ビット)の各種コマンド(例えば、枠状態1コマンド、エラー解除ナビコマンド、及び枠状態2コマンド)を送信する。一方、後述するように、払出制御プログラムによって、払出動作にエラーが発生した場合にエラー発生コマンドを出力したり、操作スイッチの検出信号に基づいてエラー解除報知コマンドを出力する。枠コマンド受信処理では、各種コマンドを払主シリアルデータとして正常に受信すると、その旨を払出制御基板951に伝える情報を、出力情報として主制御内蔵RAM1312の出力情報記憶領域に記憶する。また、主制御MPU1311は、払主シリアルデータとして正常に受信したコマンドを2バイト(16ビット)のコマンドに整形し(例えば、枠状態表示コマンド、エラー解除報知コマンドなど)、送信情報として上述した送信情報記憶領域に記憶する。また、賞球排出処理では、役物比率算出用領域13128の遊技状態により定められた記憶領域(図27参照)に賞球排出数を記録する。
役物比率算出用領域更新処理(ステップS81)は、賞球制御処理(ステップS80)の後で役物比率算出・表示処理(ステップS89)の前であれば、どの順序で実行してもよい。
続いて、主制御MPU1311は、不正行為検出処理を実行する(ステップS84)。不正行為検出処理では、賞球に関する異常状態を確認する。例えば、上述した入力情報記憶領域から入力情報を読み出し、大当り遊技状態でない場合にカウントスイッチによって大入賞口2005,2006に遊技球が入球していると検知されたとき等には、主制御プログラムは、異常状態として報知表示に区分される入賞異常表示コマンドを作成し、送信情報として上述した送信情報記憶領域に記憶する。
続いて、主制御MPU1311は、特別図柄及び特別電動役物制御処理を実行する(ステップS86)。特別図柄及び特別電動役物制御処理では、大当り用乱数値が主制御内蔵ROMに予め記憶されている当り判定値と一致するか否かを判定する。さらに、大当り図柄乱数値に基づいて確率変動状態に移行させるか否かを判定する。そして、確変移行条件が成立している場合には、その後、確率変動状態に移行させる一方、確変移行条件が成立していない場合には当該確率変動状態以外の遊技状態に移行させる。ここで、「確率変動状態」とは、上述した特別抽選の当選確率が通常遊技状態(低確率状態)と比較して相対的に高く設定された状態(高確率状態)をいう。
続いて、主制御MPU1311は、普通図柄及び普通電動役物制御処理を実行する(ステップS88)。普通図柄及び普通電動役物制御処理では、上述した入力情報記憶領域から入力情報を読み出し、ゲートスイッチ2352からの検出信号が入力端子に入力されていたか否かを判定する。検出信号が入力端子に入力されていた場合には、普通図柄当り判定用乱数を抽出し、主制御内蔵ROMに予め記憶されている普通図柄当り判定値と一致するか否かを判定する(「普通抽選」という)。そして、普通抽選による抽選結果に応じて第二始動口扉部材2549を開閉動作させるか否かを決定する。この決定により開閉動作をさせる場合、第二始動口扉部材2549が開放(又は、拡大)状態となることで始動入賞口2004に遊技球が受け入れ可能となる遊技状態となって遊技者にとって有利な遊技状態に移行させる。
続いて、主制御MPU1311は、役物比率表示スイッチ1318が操作されているかを判定し、役物比率表示スイッチ1318が操作されていれば、役物比率算出・表示処理(図24、図25)を呼び出し、役物比率算出用領域13128に格納された賞球数を参照して役物比率を算出する。そして、算出された役物比率を役物比率表示器1317に表示する(ステップS89)。このように、タイマ割込み処理において役物比率算出・表示処理を呼び出して、役物比率を算出することによって、直近のデータによる役物比率(遊技機1の射幸性)を確認できる。
なお、役物比率表示スイッチ1318が操作されているかにかかわらず、本体枠4が外枠2から開放したことを本体枠開放スイッチ(図示省略)が検出していれば、役物比率を表示してもよい。また、本体枠4が外枠2から開放したことを本体枠開放スイッチ(図示省略)が検出中に役物比率表示スイッチ1318が操作された場合に、役物比率表示器1317に役物比率を表示してもよい。役物比率表示スイッチ1318は、遊技盤の裏面側に設けられていることから、役物比率表示スイッチ1318が表示されていれば、通常、本体枠4が開放しており、遊技の進行が停止している。このように、遊技の進行が停止したタイミングで役物比率を算出すると、遊技中に役物比率の算出のための除算や減算によってCPUリソースを消費することがなく、CPUの負荷を軽減できる。
役物比率算出・表示処理の詳細は、図24、図25において後述する。また、役物比率の表示方法の具体例は後述する。なお、役物比率表示スイッチ1318が操作されていると、全ての種類の値(役物比率、連続役物比率、累計、総累計)を計算してもよいが、役物比率表示スイッチ1318の操作毎に、表示される値のみを計算してもよい。また、役物比率表示スイッチ1318が操作されているかにかかわらず役物比率を計算し、役物比率表示スイッチ1318が操作されていれば、算出された役物比率を役物比率表示器1317に表示してもよい。
なお、パチンコ機1が不正を検出して遊技を中止した場合でも、役物比率算出用領域更新処理(ステップS81)及び役物比率算出・表示処理(ステップS89)を実行する。不正が検出されたか否かにかかわらず、これらの処理を実行することによって、不正報知中でも役物比率を確認できる。
続いて、主制御MPU1311は、出力データ設定処理を実行する(ステップS90)。出力データ設定処理では、主制御MPU1311の各種出力ポートの出力端子から各種信号を出力する。例えば、出力情報に基づいて主制御MPU1311の所定の出力ポートの出力端子から、払出制御基板951からの各種コマンドを正常に受信したときには主払ACK信号を払出制御基板951に出力したり、大当り遊技状態であるときには大入賞口2005、2006の開閉部材2107の開閉動作を行うアタッカソレノイド(第一アタッカソレノイド2113、第二上アタッカソレノイド2553、第二下アタッカソレノイド2556)に駆動信号を出力したり、始動口(第二始動口扉部材2549)の開閉動作を行う始動口ソレノイド2550に駆動信号を出力したりするほかに、確率変動中情報出力信号、特別図柄表示情報出力信号、普通図柄表示情報出力信号、時短中情報出力情報、始動口入賞情報出力信号等の遊技に関する各種情報(遊技情報)信号を払出制御基板951に出力したりする。
また、出力データ設定処理では、スイッチ入力処理(ステップS74)で計数されたアウト球数に対応する信号を外部端子板784から出力する。例えば、所定のアウト球数(10個など)毎に外部端子板784から所定長のパルス信号を出力してもよい。
また、出力データ設定処理では、遊技機1に接続された検査装置に出力するための試験信号の設定を行う。試験信号には、例えば、遊技状態を示す信号や普通図柄、特別図柄の停止図柄を示す信号が含まれる(情報信号出力手段)。
続いて、主制御MPU1311は、周辺制御基板コマンド送信処理を実行する(ステップS92)。周辺制御基板コマンド送信処理では、上述した送信情報記憶領域からコマンドやデータなどの送信情報を読み出し、送信情報を主周シリアルデータとして周辺制御基板1510に送信する。送信情報には、本ルーチンであるタイマ割込み処理で作成した各種コマンドが記憶されている。主周シリアルデータは、1パケットが3バイトに構成されている。具体的には、主周シリアルデータは、1バイト(8ビット)の記憶容量を有するコマンドの種類を示すステータスと、1バイト(8ビット)の記憶容量を有する演出のバリエーションを示すモードと、ステータス及びモードを数値とみなしてその合計を算出したサム値と、から構成されており、このサム値は、送信時に作成されている。
最後に、主制御MPU1311は、ウォッチドックタイマクリアレジスタWCLに所定値(18H)をセットする(ステップS96)。ウォッチドックタイマクリアレジスタWCLに所定値がセットされることにより、ウォッチドックタイマクリアレジスタWCLがクリア設定される。また、最後に、主制御MPU1311は、レジスタバンクを切り替える(復帰する)。以上の処理が終了すると、タイマ割込み処理を終了し、割り込み前の処理に復帰する。
本実施例のパチンコ機1では、主制御MPU1311が、タイマ割込み処理において、役物比率や連続役物比率の計算処理を実行するが、払出制御部952の払出制御MPUが役物比率や連続役物比率の計算処理を実行してもよい。この場合、主制御基板1310から周辺制御基板1510の周辺制御部1511に役物比率や連続役物比率を表示するためのコマンドを送信してもよいし、払出制御部952から周辺制御部1511に役物比率や連続役物比率を表示するためのコマンドを送信してもよい。
[5-3.役物比率算出・表示処理]
図24及び図25は、役物比率算出・表示処理の一例を示すフローチャートである。役物比率算出・表示処理は、主制御MPU1311が実行する。なお、周辺制御基板1510の周辺制御部1511が役物比率算出・表示処理を実行してもよい。周辺制御部1511が役物比率を算出する場合、算出された役物比率はメイン液晶表示装置1600に表示してもよい。例えば、算出された役物比率が所定の範囲内(又は、範囲外)である場合、遊技における演出を変えてもよい。具体的には、役物比率が所定の閾値(基準値より小さい閾値)を超えている場合に、予告演出を変えて、通常の予告演出より興趣が高まる予告演出を行ってもよい。
まず、主制御MPU1311のRAM1312の役物比率算出用領域13128のメイン領域からチェックコードを算出し(ステップS140)、算出したチェックコードが、役物比率算出用領域13128に格納されているチェックコードと一致しているかを判定する(ステップS142)。算出したチェックコードと役物比率算出用領域13128に格納されているチェックコードとが一致していれば、メイン領域のデータは正常なので、役物比率算出処理を実行し、メイン領域のデータから役物比率及び連続役物比率を算出し、役物比率算出用領域13128に格納する(ステップS156)。具体的には、役物獲得球数÷総獲得球数で役物比率を計算し、連続役物獲得球数÷総獲得球数で連続役物比率を計算する。計算された役物比率及び連続役物比率の小数部分(小数点以下の値)は切り捨てるか、四捨五入するとよい。そして、ステップS160に進む。
なお、ステップS156において、役物比率算出用領域13128の役物比率及び/又は連続役物比率の更新毎に、更新された値をバックアップ領域に複製してもよい。
獲得球数が格納されるビット数が大きく、主制御MPU1311で演算可能なビット数が不足する場合、役物比率の演算において、獲得球数の下位ビットを省略して除算をして役物比率を算出してもよい。例えば、獲得球数の格納領域が32ビットであれば、0~42億9496万7295までの数値を記憶できる。しかし、主制御MPUが8ビットプロセッサであり、8又は16ビットの演算ができる場合、32ビットで格納された獲得球数のうち、値が1の最上位ビットから下の16ビットを取り出して演算用レジスタ(16ビット)に格納して除算するとよい。なお、獲得球数が演算に使用可能なビット数の最大値(16ビットの最大値である32767)以下である場合、下位16ビットを取り出して演算に使用すればよい。
また、総獲得球数を100で除して(小数点以下を切り捨てて)、被除数(割られる数)として用いて役物比率を計算すると、小数での計算を避けることができる。
また、役物比率の上限を99に設定し、役物比率の計算結果が100以上となった場合には99としてもよい。
一方、算出したチェックコードと役物比率算出用領域13128に格納されているチェックコードとが一致していなければ、メイン領域のデータは異常なので、バックアップ領域1のデータからの役物比率の算出を試みる。具体的には、役物比率算出用領域13128のバックアップ領域1からチェックコードを算出し(ステップS144)、算出したチェックコードが、役物比率算出用領域13128に格納されているチェックコードと一致しているかを判定する(ステップS146)。算出したチェックコードと役物比率算出用領域13128に格納されているチェックコードとが一致していれば、バックアップ領域1のデータは正常なので、バックアップ領域1のデータをメイン領域に複製し(ステップS148)、役物比率算出処理を実行し、メイン領域のデータから役物比率及び連続役物比率を算出する(ステップS156)。そして、ステップS160に進む。
一方、算出したチェックコードと役物比率算出用領域13128に格納されているチェックコードとが一致していなければ、バックアップ領域1のデータは異常なので、バックアップ領域2のデータからの役物比率の算出を試みる。具体的には、役物比率算出用領域13128のバックアップ領域2からチェックコードを算出し(ステップS150)、算出したチェックコードが、役物比率算出用領域13128に格納されているチェックコードと一致しているかを判定する(ステップS152)。算出したチェックコードと役物比率算出用領域13128に格納されているチェックコードとが一致していれば、バックアップ領域1のデータは正常なので、バックアップ領域2のデータをメイン領域に複製し(ステップS154)、役物比率算出処理を実行し、メイン領域のデータを読み出して役物比率及び連続役物比率を算出する(ステップS156)。そして、ステップS160に進む。
他にバックアップ領域があれば、同様に、当該バックアップ領域のデータが正常かを判定し、正常なバックアップ領域のデータから役物比率及び連続役物比率を算出する。
メイン領域及び全てのバックアップ領域のデータが異常であれば、役物比率算出用ワークエリア(役物比率算出用領域13128)を初期化し、異常を報知する(ステップS158)。
続いて、メイン領域からチェックコードを算出し(ステップS160)、算出したチェックコードを役物比率算出用領域13128に格納する(ステップS162)。役物比率算出・表示処理でチェックコードを算出するのは、主基板側電源断時処理の途中でリセットされた場合、停電フラグやチェックサムが算出されていないために、初期化処理においてRAM1312にバックアップされたデータが初期化されるが、役物比率算出・表示処理で定期的にチェックコードを算出して記憶すれば、パチンコ機の電源が再投入されても、役物比率算出用ワークエリア(役物比率算出用領域13128)のデータは消去されずに残すことができるためである。
続いて、バックアップ領域振り分けカウンタ値に1を加算して更新し(ステップS164)、バックアップ領域振り分けカウンタ値が奇数かを判定する(ステップS166)。バックアップ領域振り分けカウンタ値が奇数であれば、メイン領域のデータをバックアップ領域1に複製する(ステップS168)。一方、バックアップ領域振り分けカウンタ値が偶数であれば、メイン領域のデータをバックアップ領域2に複製する(ステップS170)。バックアップ領域振り分けカウンタ値によって、メイン領域のデータの複製先を振り分けて、一部のバックアップ領域のみにデータを書き込むことによって、異常な値が複数のバックアップ領域に書き込まれることを防止できる。
なお、3以上のバックアップ領域を設ける場合、バックアップ領域振り分けカウンタ値をバックアップ領域の数で除した余りによって、データを書き込むバックアップ領域を振り分ければよい。
続いて、算出された役物比率を役物比率表示器1317に表示する(ステップS172)。具体的には、算出した役物比率の種類と算出された値とを用いて、変換表(図示省略)を参照して、役物比率表示器1317の各桁に表示するデータを取得し、取得したデータを役物比率表示器1317のドライバ回路13171に送る。例えば、役物比率の種類が役物比率(累計)であれば、上2桁にA7を表示し、算出された役物比率が66%であれば、下2桁に66を表示する。
役物比率算出・表示処理の役物比率算出処理(ステップS156)は、役物比率算出用領域13128(すなわち、図27に示す役物比率算出用ワークエリア)から獲得球数のデータを読み出すが、役物比率算出用領域13128の獲得球数に関わる記憶領域にデータを書き込むことはできない。すなわち、後述するように、ステップS156、S172の処理を共通プログラムモジュールで構成した場合、当該共通プログラムモジュールは、役物比率算出用領域13128の獲得球数に関わる記憶領域にデータを書き込む権限がなく、算出した役物比率及び連続役物比率の記憶領域にはデータを書き込むことができる。
以上に説明したように、役物比率算出・表示処理において役物比率を算出するためのデータをバックアップ領域に複製するので、異常リセット等により、正常な停電処理が実行されなかった場合に、役物比率を算出するためのデータを保護できる。
なお、ステップS156、S172の処理は、遊技機の種類によらず共通であるため、一つ又は複数の共通プログラムモジュールで構成するとよい。この場合、メイン領域のチェックコード及びバックアップ領域のチェックコードが間違っていないかを判定する処理は、共通プログラムモジュールとは別に非共通側に構成するとよい。これは、データのチェック、バックアップ方法は機種ごとに異なるためである。しかし、データのチェック、バックアップ方法を機種間で共通化すれば、共通プログラムモジュールに配置してもよい。
[6.記憶領域の構成]
続いて、ROM1313に格納されたプログラム及びデータの配置について説明する。図26(A)は、主制御基板1310の主制御MPU1311に内蔵されたROM1313に格納されたプログラム(コード)及びデータの配置の一例を示す図である。
ROM1313には、遊技制御用コード13131、遊技制御用データ13132、デバッグ(検査機能)用コード13133、デバッグ(検査機能)用データ13134、役物比率算出・表示用コード13135及び役物比率算出・表示用データ13136を格納する領域が含まれている。本実施形態のROM1313には、遊技制御用コード13131及び遊技制御用データ13132などの遊技機1に関わるプログラムやデータを格納する遊技制御領域(第一記憶領域)と、デバッグ(検査機能)コード13133及びデバッグ(検査機能)データ13134などの、遊技機1のデバッグ(検査機能)に必要な信号の出力を目的として使用されるプログラムやデータを格納するデバッグ(検査機能)領域(第二記憶領域)と、役物比率算出・表示用コード13135及び役物比率算出・表示用データ13136などの、役物比率の算出を目的として使用されるプログラムを格納する役物比率算出領域(第三記憶領域)が割り当てられている。
なお、デバッグ(検査機能)領域には、遊技に直接関連しない目的のプログラムやデータが格納されており、例えば、遊技機1の遊技制御以外の遊技機1のデバック時のみに使用される各種機能検査信号を出力するためのコードが格納される。これらデバック用(検査機能)コードは、デバック用(検査機能)信号を出力するためのプログラムである。また、役物比率算出領域には、遊技の進行に直接関係しない、役物比率を算出する目的のプログラムが格納される。
また、遊技制御用コード13131は、主制御MPU1311によって実行される。また、遊技制御用コード13131は、RAM1312に対して適宜読み書きが可能であるが、遊技制御用コード13131で使用する遊技制御用領域13126に対しては、デバック(検査機能)用コードから読み出しのみが実行可能となるように構成されており、当該領域に対する書き込みが実行できないように構成されている。デバック(検査機能)用コードに基づく処理は、遊技制御用コード13131の実行中において、一方的に呼び出して実行することが可能であるが、デバック(検査機能)用コードから遊技制御用コード13131を呼び出して実行することができないように構成している。これにより、デバッグ(検査機能)用コード13133の独立性を高められるので、遊技制御用コード13131を変更した場合であってもデバッグ(検査機能)用コード13133の変更を最小限にとどめることができる。
また、役物比率算出・表示用コード13135は、遊技制御用コード13131から呼び出され(例えば、タイマ割込み処理のステップS89)、主制御MPU1311によって実行される。役物比率算出・表示用コードによって計算された役物比率は、RAM1312の役物比率算出用領域13128に格納される。このように、役物比率算出・表示用コード13135を遊技制御用コード13131と別に設計し、別の領域に格納することによって、役物比率算出・表示用コード13135の検査と遊技制御用コード13131の検査とを別に行うことができ、遊技機1の検査の手間を減少できる。また、役物比率算出・表示用コード13135を、機種に依存せず、複数の機種で共通に使用できる。
図26(B)は、役物比率算出用領域13128の詳細を示す図である。役物比率算出用領域13128は、役物比率の算出結果が格納されるメイン領域の他、メイン領域に格納されたデータの複製が格納されるバックアップ領域1及びバックアップ領域2とを設けてもよい。バックアップ領域は一つでも複数でもよい。各領域には、データの誤りを検出するためのチェックコードが付加される。チェックコードは、各領域のデータのチェックサムでも予め定めた値でもよい。チェックコードは、パチンコ機1の電源投入時に初期化処理で設定したり、役物比率算出・表示処理においてメイン領域のデータが更新される毎に設定したり、主制御側電源断時処理(図22のステップS50~ステップS54)において設定してもよい。特に、チェックコードが固定値である場合、初期化処理で正常と判定した又はデータを消去した際にチェックコードを初期化し、主制御側電源断時処理(図20のステップS50)において固定値をセットしてもよい。チェックコードは、停電フラグと兼用してもよい。すなわち、メイン領域のチェックコードに所定値が設定されていれば、停電フラグが設定されていると判定してもよい。また、停電フラグに所定値が設定されていれば、各領域のチェックコードが正しい値である(すなわち、各領域のデータが正常である)と判定してもよい。
なお、メイン領域が異常であると判定された場合にバックアップ領域が正常であるかを判定し、正常であると判定されたバックアップ領域のデータをメイン領域に複製してもよい(図21のステップS24)。また、主制御側電源断時処理において、メイン領域の値を各バックアップ領域に複製してもよい(図22のステップS54)。また、役物比率算出・表示処理において、メイン領域の値が更新される毎に、更新されたデータをバックアップ領域に複製してもよい(図25のステップS168、S170)。
メイン領域とバックアップ領域1との間、及びバックアップ領域1とバックアップ領域2との間には、未使用空間が設けられる。各領域の間に未使用空間を設けることによって、各領域のアドレスを遠ざけることができ、アドレスの上位桁で各領域を区別できる。
図27は、役物比率算出用領域13128における各データを格納するためのワークエリアの具体的な構造を示す図である。役物比率算出用領域13128の獲得球数のデータは、主制御MPU1311が時刻するタイマ割り込み処理(図23)において書き込まれ、役物比率算出・表示処理の役物比率算出処理(図24のステップS156)において読み出される。このように、役物比率算出・表示処理が役物比率算出用領域13128から獲得球数のデータを読み出し、タイマ割り込み処理(遊技制御プログラム)が役物比率算出用領域13128に獲得球数のデータを書き込むことによって、遊技制御プログラムと役物比率算出・表示処理を実行するプログラムとを完全に分けることができ、異なる仕様の遊技機でも役物比率算出・表示処理のためのプログラムを共通化できる。
なお、役物比率算出・表示処理の役物比率算出処理(図24のステップS156)は、算出した役物比率及び連続役物比率を役物比率算出用領域13128の役物比率及び連続役物比率の記憶領域に書き込む。算出された役物比率及び連続役物比率のデータは、役物比率を表示する際、役物比率算出・表示処理の役物比率表示処理(図25のステップS170)において読み出される。遊技制御プログラムは、役物比率算出用領域13128の役物比率及び連続役物比率の記憶領域にアクセスしない。
図27(A)は、最も簡単な方法のワークエリアの構造を示す。図27(A)に示すワークエリアの構造では、役物獲得球数、連続役物獲得球数、総獲得球数、役物比率及び連続役物比率を格納する。役物獲得球数は、動作中の役物(例えば、開放中の大入賞口2005、2006、第二始動口扉部材2549が開放中の第二始動口2004)への入賞による賞球数である。連続役物獲得球数は、役物が連続して動作中(例えば、大当りの連チャン中で入賞口が開放中)の役物への入賞による賞球数である。総獲得球数は、遊技者に払い出された全賞球数である。役物比率は、役物獲得球数÷総獲得球数で計算できる。連続役物比率は、連続役物獲得球数÷総獲得球数で計算できる。役物獲得球数、連続役物獲得球数、及び総獲得球数は、タイマ割込み処理のステップS81で更新され、役物比率及び連続役物比率は、タイマ割込み処理のステップS91で計算され、格納される。
図27(A)に示すワークエリアの構造のうち、役物獲得球数、連続役物獲得球数及び総獲得球数は、後述する図27(B)の総累計に相当し、各々3又は4バイトの記憶領域であり、10進数で16777215又は4294967295までの数値を記憶できる。これらのデータはデータに異常が生じない限り消去されないことから、長期間のデータを格納できるように大きな記憶領域を用意している。また、役物比率及び連続役物比率は、1バイトの記憶領域であり、10進数で255までの数値を記憶できる。
図27(B)は、リングバッファを用いたワークエリアの構造を示す。図27(B)に示すワークエリアの構造では、役物獲得球数、その他獲得球数、連続役物獲得球数、合計獲得球数、役物比率及び連続役物比率を格納する。また各データの記憶領域は、所定数の賞球毎にn個の記憶領域(例えば、賞球6000個毎にn=10個の記憶領域)を持つリングバッファによって構成されており、合計獲得球数が所定数(6000個)になると全てのデータの書き込みポインタが移動して、データが更新される記憶領域が変わる。そして、n番目の記憶領域に所定数の賞球分のデータが格納された後、書き込みポインタは1番目の記憶領域に移動し、1番目の記憶領域にデータを格納する。なお、合計獲得球数以外のデータ(役物獲得球数、発射球数、入賞球数、特別図柄変動表示ゲーム数、特別図柄変動表示ゲームの大当り回数など)が所定数となった場合に、書き込みポインタを移動してもよい。
なお、リングバッファの書き込みポインタ及び読み出しポインタは全てのデータに共通であり、所定の賞球数毎に全てのデータ列の書き込みポインタが移動する。また、書き込みポインタの移動に伴い、読み出しポインタも移動する。読み出しポインタは、書き込みポインタより一つ前の記憶領域を指す。これは、賞球6000個分の直近のデータを用いて役物比率を計算するためである。
各データの累計は、リングバッファのn個の記憶領域に格納されているデータの累計値であり、役物比率、連続役物比率の累計の値は各データの累計値から算出された値であり、リングバッファが一巡して、新たなデータを書き込むためにリングバッファの一つの記憶領域にクリアされると、当該クリアされた領域のデータを除外して累計値が計算される。各データの総累計は、過去に収集したデータの累計値であり、当該累計値から計算された役物比率、連続役物比率の総累計の値は各データの総累計値から算出された値であり、リングバッファが一巡して、新たなデータを書き込むためにリングバッファの一つの記憶領域にクリアされても、当該クリアされた領域のデータを含めて総累計値が計算される。
図27(B)に示すワークエリアの構造のうち、役物獲得球数、連続役物獲得球数、役物比率、連続役物比率は、図27(A)における説明と同じである。その他獲得球数は、役物以外(開閉しない入賞口、例えば一般入賞口2001)への入賞による賞球数である。合計獲得球数は、遊技者に払い出された全賞球数であり、この値が所定数になると書き込みポインタが移動する。役物獲得球数、その他獲得球数、連続役物獲得球数、及び合計獲得球数は、タイマ割込み処理のステップS81で書き込みポインタがある記憶領域のデータが更新され、役物比率及び連続役物比率は、タイマ割込み処理のステップS91で計算され、格納される。
図27(C)は、リングバッファを用いたワークエリアの構造を示す。図27(C)に示すワークエリアの構造では、図27(B)に示すものより詳細なデータを取得でき、普通電動役物獲得球数、特別電動役物獲得球数、始動口獲得球数、その他入賞口獲得球数、連続役物獲得球数、合計獲得球数、役物比率及び連続役物比率を格納する。また各データの記憶領域は、所定数の賞球毎にn個の記憶領域(例えば、賞球6000個毎に10個の記憶領域)を持つリングバッファによって構成されており、合計獲得球数が所定数(6000個)になると書き込みポインタが移動して、データが更新される記憶領域が変わる。そして、n番目の記憶領域に所定数の賞球分のデータが格納された後、書き込みポインタは1番目の記憶領域に移動し、1番目の記憶領域にデータを格納する。なお、合計獲得球数以外のデータ(特別電動役物獲得球数、発射球数、入賞球数、特別図柄変動表示ゲーム数、特別図柄変動表示ゲームの大当り回数など)が所定数となった場合に、書き込みポインタを移動してもよい。
各データの累計は、リングバッファのn個の記憶領域に格納されているデータの累計値であり、役物比率、連続役物比率の累計の値は各データの累計値から算出された値であり、リングバッファが一巡して、新たなデータを書き込むためにリングバッファの一つの記憶領域にクリアされると、当該クリアされた領域のデータを除外して累計値が計算される。各データの総累計は、過去に収集したデータの累計値であり、役物比率、連続役物比率の累計の値は各データの累計値から算出された値であり、リングバッファが一巡して、新たなデータを書き込むためにリングバッファの一つの記憶領域にクリアされても、当該クリアされた領域のデータを含めて総累計値が計算される。
図27(B)(C)に示すワークエリアの構造のうち、リングバッファ内の役物獲得球数、その他獲得球数、連続役物獲得球数、合計獲得球数、普通電動役物獲得球数、特別電動役物獲得球数、始動口獲得球数、その他入賞口獲得球数は、各々2バイトの記憶領域であり、10進数で65535までの数値を記憶できる。役物獲得球数、その他獲得球数、連続役物獲得球数、合計獲得球数、普通電動役物獲得球数、特別電動役物獲得球数、始動口獲得球数及びその他入賞口獲得球数の累計は、各々3バイトの記憶領域であり、10進数で16777215までの数値を記憶できる。累計は賞球6000個×n(n=10の場合は60000個の賞球)分のデータの合計であることから、大きな記憶領域を用意している。役物獲得球数、その他獲得球数、連続役物獲得球数、合計獲得球数、役物比率、連続役物比率、普通電動役物獲得球数、特別電動役物獲得球数、始動口獲得球数及びその他入賞口獲得球数の総累計は、各々3又は4バイトの記憶領域であり、10進数で16777215又は4294967295までの数値を記憶できる。総累計はデータに異常が生じない限り消去されないことから、長期間のデータを格納できるように、さらに大きな記憶領域を用意している。また、役物比率及び連続役物比率の累計及び総累計は、各々1バイトの記憶領域であり、10進数で255までの数値を記憶できる。
図27(C)に示すワークエリアの構造のうち、合計獲得球数、役物比率、連続役物比率は、図27(B)における説明と同じである。その他獲得球数は、役物以外(開閉しない入賞口)への入賞による賞球数である。普通電動役物獲得球数は、普通図柄による抽選の結果によって動作中の普通電動役物(第二始動口扉部材2549が開放中の第二始動口2004)への入賞により獲得される賞球数である。特別電動役物獲得球数は、特別図柄による抽選の結果によって動作中の特別電動役物(例えば、開放中の大入賞口2005、2006)への入賞による賞球数である。始動口獲得球数は、始動入賞口(第一始動口2002)への入賞により獲得される賞球数である。その他入賞口獲得球数は、役物ではなく(動作せず)、特別図柄の抽選の契機とならない入賞口(一般入賞口2001)への入賞により獲得される賞球数である。普通電動役物獲得球数、特別電動役物獲得球数、始動口獲得球数、その他入賞口獲得球数、連続役物獲得球数、及び合計獲得球数は、タイマ割込み処理のステップS81で書き込みポインタがある記憶領域のデータが更新され、役物比率及び連続役物比率は、タイマ割込み処理のステップS91で計算され、格納される。
図27(A)に示すデータ構造では、格納されている値が異常であると判定された場合に、初期化処理のステップS116で役物比率算出用領域13128のデータが消去されるが、他の契機でデータは消去されない。このため、所定期間(例えば、1日、1週間、1月など)毎に役物比率算出用領域13128のデータを消去してもよい。同様に、図25(B)(C)の総累計を所定期間毎に消去してもよい。
また、役物比率算出用領域13128のデータや、算出された役物比率が異常値である(例えば、役物比率が100%超、役物比率の算出結果が前回の算出値から大きく変化した、役物獲得球数>総獲得球数など)場合、当該異常値を消去してもよい。当該異常値だけでなく、役物比率算出用領域13128の全データを消去してもよい。また、役物比率算出用領域13128のデータや、算出された役物比率が異常値である場合、異常であることを報知してもよい。また、チェックコードを用いてバックアップ領域のデータを検査し、正常なバックアップ領域のデータをメイン領域に複製後に、再度役物比率を計算してもよい。
[7.役物比率表示器の構成]
図28は、役物比率表示器1317の構成を示す図である。
役物比率表示器1317は、ドライバ回路13171及び複数の7セグメントLED13172によって構成される。例えば、7セグメントLED13172は4桁で構成される。
ドライバ回路13171と7セグメントLED13172とは、一体として一つのパッケージに収容されるとよいが、両者が別のパッケージに収容されてもよい。
ドライバ回路13171と主制御MPU1311とは、3本の信号線(DATA、LOAD、CLOCK)によって接続される。
DATA線は、役物比率表示器1317に表示するデータや役物比率表示器1317の動作状態を設定する信号を転送し、主制御MPU1311のシリアル通信回路13114に接続される。LOAD線は、データの取り込みタイミングを示す信号を転送し、主制御MPU1311のシリアル通信回路13114に接続される。CLOCK線は、ドライバ回路13171の動作周期を規定するクロック信号を転送し、主制御MPU1311のシリアル通信回路13114に接続される。
ドライバ回路13171と7セグメントLED13172とは、4本の桁選択信号線IDIG-0~IDIG-3と、8本のセグメント点灯信号線ISEG-a~ISEG-Dpとで接続される。セグメント点灯信号線ISEG-a~ISEG-Dpは、7セグメントLED13172の各LED素子(7セグメント及び小数点)を点灯させる信号を伝達する。桁選択信号線IDIG-0~IDIG-3は、セグメント点灯信号線ISEG-a~ISEG-Dpで伝送される信号が、7セグメントLED13172のどの桁の信号かを示す制御信号を伝達する。なお、図示した信号(電流)の向きは7セグメントLED13172がアノードコモン型かカソードコモン型かで異なるが、アノードコモン型の例を図示した。
ドライバ回路13171のR-EXT端子には、7セグメントLED13172の各LED素子に流す電流値を定める抵抗13174が接続される。抵抗13174の抵抗値の変更によって、セグメントLED13172の各LED素子の発光輝度を変えることができる。
図29は、役物比率表示器1317のドライバ回路13171の構成を示す図である。
ドライバ回路13171は、16ビットシフトレジスタ3171、16ビットデータラッチ3172、8ビットデータラッチ3173A~D、8×4データセレクタ3174、デコーダ3175、2×8データセレクタ3176、定電流ドライバ3178、ドライバ3179、ラッチセレクタ・ロードパルス分配器3180、Digit-Limit制御部3181、デューティ比制御部3182、データセレクタ制御部3183、スタンバイモード制御部3184及び発振器3185を有する。
16ビットシフトレジスタ3171は、DATA IN端子に入力されたシリアルデータを取り込み、16ビット分のデータを保持し、パラレルデータとして16ビットデータラッチ3172に送る。なお、D15(MSB)~D12の4ビットは、ドライバ回路13171の動作モード(図35参照)を選択するためのデータであり、D11~D8の4ビットは動作モードと対応するレジスタを選択させるデータであり(図33参照)、D7~D0(LSB)は、その詳細設定のデータである。
16ビットデータラッチ3172は、LOAD信号のタイミングでデータをラッチし、D15~D8を各制御部(ラッチセレクタ・ロードパルス分配器3180、Digit-Limit制御部3181、デューティ比制御部3182、データセレクタ制御部3183、スタンバイモード制御部3184)に送り、D7~D0を8ビットデータラッチ3173A~Dに送る。
具体的には、図30に示すように、16ビットシフトレジスタ3171は、CLOCK信号の立ち上がりタイミングでDATA IN端子に入力されたシリアルデータを取り込み、データをシフトする。16ビットデータラッチ3172は、LOAD信号の立ち上がりタイミングで、16ビット分のデータをパラレルデータとして16ビットシフトレジスタ3171から取得し、データをラッチする。そして、D15~D8を各制御部(ラッチセレクタ・ロードパルス分配器3180、Digit-Limit制御部3181、デューティ比制御部3182、データセレクタ制御部3183、スタンバイモード制御部3184)に送る。また、16ビットデータラッチ3172は、LOAD信号の立ち下がりタイミングで、ラッチしたデータのうちD7~D0を8ビットデータラッチ3173A~Dに送る。
LOAD信号はラッチセレクタ・ロードパルス分配器3180にも入力される。ラッチセレクタ・ロードパルス分配器3180は、D15~D8を取得し、表示データ(D7~D0の8ビット)を格納する8ビットデータラッチ3173を選択する。具体的には、ロードレジスタ選択テーブル(図33参照)に示すように、D15~D8が00100010Bであれば、ラッチセレクタ・ロードパルス分配器3180は、データレジスタ0、すなわち、Digit-Aの8ビットデータラッチ3173Aがデータを格納するように、8ビットデータラッチ3173を選択する信号を送る。
8ビットデータラッチ3173は、7セグメントLED13172の数(表示桁数)だけ設けられており、ラッチセレクタ・ロードパルス分配器3180からの選択信号に従って、各7セグメントLEDに表示するためのデータを取り込み、保持する。8ビットデータラッチ3173は、保持したデータを8×4データセレクタ3174に送る。
8×4データセレクタ3174は、各8ビットデータラッチ3173A~Dから送られたデータを、予め定められた各桁の表示タイミングで選択し、デコーダ3175及び2×8データセレクタ3176に送る。
デコーダ3175は、キャラクタジェネレータデコードテーブル(図34参照)を用いて、入力されたデータを7セグメントLED13172に表示するキャラクタに変換し、各セグメントを点灯させるためのデータを生成する。生成されたデータは、2×8データセレクタ3176に入力される。
2×8データセレクタ3176は、デコード設定を参照して、デコーダを使用するモードに設定されている場合はデコーダ3175からのデータを選択し、デコーダを使用しないモードに設定されている場合は8×4データセレクタ3174からのデータを選択する。選択されたデータは、定電流ドライバ3178に入力される。
定電流ドライバ3178は、2×8データセレクタ3176からのデータを用いて、各セグメントを点灯させるための電流信号をデータ出力端子OUTa~OUTDpから出力する。定電流ドライバ3178から出力される電流は、前述したように、R-EXT端子に接続された抵抗の抵抗値によって制御される。
ドライバ3179は、7セグメントLED13172の各セグメントを点灯させるために定電流ドライバ3178から出力された電流のシンク電流を受け入れる。ドライバ3179が、端子DIG-0~DIG-3の電流吸い込みタイミングを制御することによって、どの7セグメントLED(桁)を表示するかが決まる。
Digit-Limit制御部3181は、ドライバ回路13171が制御する7セグメントLED13172の表示桁数を制御する。すなわち、ドライバ回路13171は、外部からの設定によって、点灯する桁数を1から4桁に制御できる。具体的には、D15~D8を00100001Bとし、D7~D0を××××0011Bとしたデータを入力することによって、Digit-Limit制御部3181の桁レジスタ(DIGITREGISTER)に4桁全てを使用する設定が書き込まれる。なお、×はH又はLのいずれのデータでもよいことを示し、入力データがHかLかは真理表には影響しない。
デューティ比制御部3182は、7セグメントLED13172を点灯させる際のデューティ比を制御する。すなわち、ドライバ回路13171は、外部からの設定によってデューティ比を制御でき、7セグメントLED13172が点灯する明るさを制御する。デューティ比制御部3182は、定電流ドライバ3178及びドライバ3179に送るタイミング信号のうち少なくとも一方のパルス幅を制御することによって、デューティ比を制御する。具体的には、D15~D8を00100000Bとし、D3~D0に任意のデータを入力することによって、デューティ比制御部3182のデューティレジスタ(DUTY REGISTER)に0/16~15/16の16段階のデューティ比の設定が書き込まれる。
データセレクタ制御部3183は、デコーダの設定を制御する。すなわち、ドライバ回路13171は、外部からの設定によってデコーダ3175を使用するか否かを制御する。具体的には、D15~D8を00100001Bとし、D7~D0を0001××××Bとしたデータを入力することによって、デコーダを使用する設定がデコードレジスタに書き込まれ、D7~D0を0000××××Bとしたデータを入力することによって、デコーダを使用しないNO DECODERの設定が書き込まれる。データセレクタ制御部3183は、デコーダを使用する設定がされている場合、2×8データセレクタ3176がデコーダ3175からのデータを選択するように制御し、デコーダを使用しない設定がされている場合、2×8データセレクタ3176が8×4データセレクタ3174からのデータを選択するように制御する。
スタンバイモード制御部3184は、スタンバイモードの設定、データクリアの設定を制御する。すなわち、ドライバ回路13171は、外部からの設定によってスタンバイモードに移行できる。具体的には、D15~D12を0100Bとし、D3~D0を0000Bとしたデータを入力することによって、スタンバイモードに設定できる。スタンバイモードでは、その時点での設定をそのまま維持し、7セグメントLED13172へ出力される電流を遮断して、ドライバ回路13171の消費電力を抑制する。
また、ドライバ回路13171は、外部からの設定によって、内部に保持された全てのデータをクリアできる。具体的には、D15~D12を0100Bとし、D3~D0を0001Bとしたデータを入力することによって、レジスタやラッチに保持された全てのデータをクリアして初期化する。
発振器3185は、ドライバ回路13171内で使用されるクロックを生成する。
図31は、主制御基板1310の実装例を示す図である。なお、本図において、主制御基板ボックス1320上の構成を実線で示し、主制御基板1310上の構成を点線で示す。
図31(A)は、実装例1の主制御基板ボックス1320を示す。主制御基板ボックス1320は、一度閉めたら破壊せずに開けることができない構造で封印可能に主制御基板1310を収容する透明の樹脂によって構成されおり、その表面には、主制御基板1310の型番表示(シール貼付、刻印、印刷など)や開封シールが貼付されている。開封シールは、主制御基板1310の封印を開封した履歴を記録するシールである。
図31(B)に示す実装例1は、(A)に示す主制御基板ボックス1320に主制御基板1310を収容した状態を示す。実装例1では、主制御基板1310上に主制御MPU1311が実装されている。なお、主制御基板1310の長手方向と主制御MPU1311の長手方向が同じ方向になるように、主制御MPU1311が実装されるとよい。
主制御基板1310は、主制御基板ボックス1320に封入され、主制御ユニット1300を構成している。主制御MPU1311は、不適切な改造がされていないことを外部から確認可能な位置に配置されている。また、主制御MPU1311は、その周囲に部品を配置しないことによって、不適切な改造がされていないことを外部から容易に確認できるように配置されている。
役物比率表示器1317は、主制御基板1310上で、外部から視認可能な位置に配置される。役物比率表示器1317に表示される数字の向きは、主制御MPU1311の型番表示や主制御基板ボックスに1320の型番表示と同一方向にするとよい。また、役物比率表示器1317の長手方向と主制御基板1310の長手方向と主制御MPU1311の長手方向が同じ方向になるように実装されるとよい。なお、主制御基板1310が横長の向きで遊技機に実装される場合には、役物比率表示器1317の長手方向や主制御MPU1311の長手方向と主制御基板1310の長手方向とが同じ向きになるように役物比率表示器1317や主制御MPU1311を実装するとよい。また、主制御基板1310が縦長の向きで遊技機に実装される場合には、役物比率表示器1317の長手方向や主制御MPU1311の長手方向と主制御基板1310の長手方向とが90度の向きになるように役物比率表示器1317や主制御MPU1311を実装するとよい。
また、主制御基板1310から信号線を引き出すためのコネクタCN1、CN2は、役物比率表示器1317と長手が揃う方向で、主制御基板1310の長辺に沿った端部(図では上側の長辺に沿った上端部であるが、下側の長辺に沿った下端部や、左右辺に沿った端部でもよい)に実装されるとよい。すなわち、コネクタCN1、CN2に接続される配線(ハーネス)が役物比率表示器1317と重なって、役物比率表示器1317の視認を妨げない位置に、コネクタCN1、CN2が配置されることが望ましい。
さらに、主制御基板ボックス1320の型番表示や主制御基板ボックス1320に貼付された開封シールは、主制御MPU及び役物比率表示器1317のいずれとも重ならない位置に貼付される。
このように役物比率表示器1317を実装することによって、役物比率表示器1317や主制御MPU1311の型番表示が正しい向きで表示され、これらの視認性を向上し、製造過程や、遊技場に設置後の検査においても、無理な姿勢を取ることなく、役物比率や主制御MPU1311の改造の有無を確認できる。
図31(C)に示す別の実装例では、主制御MPU1311の型番表示と役物比率表示器1317の数字表示の向きは同じ方向となるように実装されているが、主制御MPU1311以外の回路モジュール(例えばIC)の型番表示の向きが、主制御MPU1311の型番表示や役物比率表示器1317の数字表示の向きと異なる。また、主制御MPU1311以外の回路モジュールは、主制御基板ボックス1320の型番表示や主制御基板ボックス1320に貼付された開封シールと重なる位置に配置されてもよい。これは、主制御MPU1311以外の回路モジュールは、不正な改造を検査する際の重要性が低いので、主制御基板1310上に配置される向きを同じにする意義が薄いためである。
図32は、主制御MPU1311と役物比率表示器1317との位置関係を示す図である。
図32(A)に示すように、役物比率表示器1317のドライバ回路13171と7セグメントLED13172との間の信号線13173は、ノイズによる影響で、信号が不安定になる場合がある。このため、ドライバ回路13171と7セグメントLED13172とは可能な限り近づけて配置することが望ましい。
例えば、図示したように、ドライバ回路13171と7セグメントLED13172との距離(配線13173の長さL2)は、主制御MPU1311と役物比率表示器1317のドライバ回路13171との距離(配線13101の長さL1)より短くなるように配置する。すなわち、L1がL2より大きくなる。
また、前述したように、主制御MPU1311の周囲には、点線で示すように、不適切な改造がされていないことを外部から容易に確認するために、部品を配置しない。このため、配線長L1はある程度の長さになってしまうが、L2は可能な限り短くする。
なお、ドライバ回路13171と7セグメントLED13172とは、一つのパッケージに収容されても、別のパッケージに収容されてもよく、いずれの場合でも、L1がL2より大きくなるように実装される。
図32(B)は、別の実装例において、主制御MPU1311と役物比率表示器1317との位置関係を示す図であり、図32(C)は、図32(B)に示す実装例におけるプリント基板の断面図である。
図32(B)に示すように、主制御MPU1311と役物比率表示器1317のドライバ回路13171との間の信号線13101の両側にグランドパターン13102を設けている。さらに、プリント基板において、信号線13101の裏面及び内層には信号パターンを設けない禁止領域13106を設ける。禁止領域13106のプリント基板の裏面及び内層の少なくとも一方にガードパターンとしてのグランドパターン13107又は電源パターンを設けるとよい。
本実装例における他の信号線の配置を説明すると、例えば、発振器から主制御MPU1311にクロック信号を供給する信号線13103は、禁止領域13106を避けて(すなわち、信号線13103と信号線13101とが交差しないように)配置される。また、主制御MPU1311に接続される信号線13104は、スルーホール13105によって裏面又は内層に抜けるように配置してもよい。この場合も、信号線13104は禁止領域13106を避けて(すなわち、信号線13104と信号線13101とが交差しないように)配置される。
なお、主制御基板1310は、不正な改造を防止する観点から、一般的に、表面及び裏面にパターンを有し、内層を有さない二層基板で構成されるが、前述した実装例は、内層を有する(4層、6層などの)多層基板にも適用できる。
図33は、ドライバ回路13171のロードレジスタ選択テーブルを示す図である。
ロードレジスタ選択テーブルは、ドライバ回路13171に入力されたデータを格納するレジスタを決定するためのテーブルである。
本実施例のドライバ回路13171は、7個のレジスタを有する。デューティレジスタは、デューティ比制御部3182によって使用され、7セグメントLED13172を点灯するデューティ比が設定される。例えば、D15~D8が00100000Bである場合、D7~D0にセットされたデータは、デューティ比を設定するためのデータであり、デューティ比制御部3182のデューティレジスタに書き込まれる。
デコードレジスタは、データセレクタ制御部3183又はDigit-Limit制御部3181によって使用され、デコーダ3175の使用、すなわちデコードの有無及び表示桁数が設定される。デコードレジスタと桁数レジスタとを一つのレジスタとして構成してもよい。例えば、D15~D8が00100001Bである場合、D7~D0にセットされたデータは、デコードの有無を設定するためのデータ又は表示桁数を設定するためのデータであり、データセレクタ制御部3183のデコードレジスタ又はDigit-Limit制御部3181の桁レジスタに書き込まれる。
データレジスタは、8ビットデータラッチ3173A~Dによって使用され、7セグメントLED13172の各桁に表示するデータが設定される。例えば、D15~D8が00100010B~00100101Bである場合、D7~D0にセットされたデータは、7セグメントLEDを点灯するためのデータであり、8ビットデータラッチ3173A~D内のデータレジスタに書き込まれる。
以上に説明したレジスタに設定される、デューティ比、デコードの有無及び表示桁数は、役物比率を表示する都度設定する必要がなく、一度設定すればよいので、図21のステップS28において初期設定として設定される。なお、初期設定で1度のみ設定した場合には、初期設定後にノイズ等の影響で設定が変更される可能性があるため、所定条件(例えば、本体枠4の開放を検出するごと、切替ボタンが押下されるごと)に再設定してもよい。これにより、ノイズで設定が切り替わってしまっても、正しい表示を常に行うことができるようになる。
図34は、キャラクタジェネレータデコードテーブルを示す図である。キャラクタジェネレータデコードテーブルは、デコーダ3175が、入力データを7セグメントLED13172に表示するキャラクタのデータに変換するために使用される。キャラクタジェネレータデコードテーブルを用いることによって、数字や一部のアルファベットなどの文字を、字体を考えることなく表示できる。また、数字を表示する場合、D5~D0は表示される数字と一致するので、演算結果を変換することなくドライバ回路13171に入力して、7セグメントLED13172に表示できる。
なお、7セグメントLED13172の各桁の小数点の点灯はD6によって制御される。
図35は、ドライバ回路13171の状態遷移図であり、図36は、役物比率表示器1317の表示例を示す図である。
本実施例のドライバ回路13171には、五つの状態、すなわち、初期状態、データ入力済状態、LED点灯状態(0000)、LED点灯状態(入力データに応じた点灯)、LED点灯状態(全点灯)が準備されている。
この五つの状態を制御するために、ブランク、通常動作、レジスタ書込、全点灯、スタンバイのモード設定命令がある。ブランク命令は、定電流ドライバ3178の出力とドライバ3179の出力を遮断する。通常動作命令は、各設定の終了後に7セグメントLED13172の表示を行う。表示データを設定しないで通常動作命令を入力すると、7セグメントLED13172は全桁で数字の0を表示する。レジスタ書き込み命令は、使用桁数の設定、デューティ比の設定、デコーダの使用又は未使用の設定、表示データの入力を行う。D11~D8でデータを書き込むレジスタを選択し、D7~D0でレジスタへ設定する内容を入力する(図33参照)。全点灯命令はデータ側の定電流ドライバ3178の出力をオンにして、7セグメントLED13172の全セグメントを点灯する。スタンバイ命令には、パラメータによって二つに分かれ、スタンバイ状態に遷移するスタンバイ命令と、初期状態に遷移するクリア命令とがある。スタンバイ命令は、その時点での設定を維持し、定電流ドライバ3178及びドライバ3179の動作を停止し、7セグメントLED13172へ出力される電流を遮断して、ドライバ回路13171の消費電力を抑制する。また、クリア命令は、レジスタやラッチに保持された全てのデータをクリアして初期化し、表示も消灯する。
なお、ブランク命令も表示命令の一種であることから、本明細書において、「表示」は、7セグメントLEDの全点灯、一部のセグメントの点灯及び全消灯のいずれの状態も含むものである。
図36を参照して、前述した各状態における表示例を説明する。
遊技機の電源投入時は、ドライバ回路13171の初期設定が完了していない又は表示データが設定されていないため、初期状態(ALL BLANK)であり、図36(A)に示すように7セグメントLED13172の全セグメントが消灯する非点灯状態となる。また、本体枠4が閉鎖され遊技が可能な状態では、役物比率表示器1317を視認できないので、スタンバイモードに設定して、7セグメントLED13172を消灯し、遊技機の消費電力を低減するとよい。
そして、ドライバ回路13171に各種制御用のレジスタに制御用データを設定して初期設定が完了した後、表示データを入力すると、7セグメントLED13172に所定の表示をする。この所定の表示は、図36(B)に示すように、全桁に「-」を表示したり、全セグメントを点灯してもよい。この所定の表示によって、役物比率表示器1317の正常動作を確認できるようにするとよい。
また、本体枠4が開放された場合には、役物比率表示器1317が正常に動作していることを確認できるように、全桁に所定の表示をするとよい。例えば、図36(B)に示すように全桁に「-」を表示したり、全セグメントを点灯してもよい。
そして、役物比率表示スイッチ1318が操作され表示データがドライバ回路13171に入力されると、LED点灯状態(入力データに応じた点灯)となる。具体的には、役物比率表示状態となり、7セグメントLED13172の左2桁に表示内容を示すコードを表示し、右2桁に役物比率の数値を表示する。図36(C)に示す例では、「y175」が表示されており、役物比率1が75%であることを示している。なお、表示される役物比率が規定範囲外の異常値である場合、その旨を識別できる表示をするとよい。例えば、全桁(または、数字)を点滅して表示したり、小数点を点灯又は点滅させる。
さらに役物比率表示スイッチ1318が操作され表示データがドライバ回路13171に入力されると、7セグメントLED13172の表示内容が変更される。すなわち、別な種類の役物比率を表示する。この場合も、左2桁に表示内容を示すコードを、右2桁に役物比率の数値を表示する。図36(D)に示す例では、「y263」が表示されており、役物比率2が63%であることを示している。なお、この場合も、前述と同様に、表示される役物比率が規定範囲外の異常値である旨を識別できる表示をするとよい。役物比率のより具体的な表示例は、図37を用いて後述する。
そして本体枠4が閉鎖されると、役物比率表示器1317の正常動作を確認できる所定の表示を行い(図36(E))、所定時間(例えば、30秒)経過後、7セグメントLED13172を消灯し、遊技機の消費電力を低減するとよい。この役物比率非表示状態は、初期設定完了後と同じ態様であるが、異なる態様でもよく、役物比率表示と区別可能な態様であればよい。
図36(E)は、役物比率表示器1317や主制御MPU1311に異常があり、役物比率を表示できない場合の表示例である。小数点は点灯でも点滅でも、桁毎に異なる表示でもよい。また、異常表示は、図示したものと異なる態様でもよく、役物比率表示ができない状態であることを示すために正常な役物比率表示と区別可能な態様であればよい。
また、いずれかの状態において、全点灯命令を入力すると、7セグメントLED13172の全セグメントが点灯する。また、いずれかの状態において、ブランク命令又はスタンバイ命令を入力すると、データを保持したまま、7セグメントLED13172の全セグメントが消灯する。また、いずれかの状態において、データクリア命令を入力すると、レジスタやラッチに保持された全てのデータをクリアし、7セグメントLED13172の全セグメントを点灯して、初期状態に戻る。
[8.役物比率の表示]
次に、役物比率の算出及び表示の方法を説明する。
前述したように、役物比率は、主制御基板1310に設けられた役物比率表示器1317に表示される。前述したように、役物比率表示器1317は、例えば、4桁の7セグメントLEDや、液晶表示装置によって構成され、下2桁に役物比率の数値を表示し、上2桁に数値の種類を表示する。
また、2桁の7セグメントLEDで役物比率表示器1317を構成してもよい。この場合、役物比率の数値と当該数値の種類とを交互に表示するとよい。
役物比率の数値の表示態様は、役物比率と所定の基準値との比較結果によって異なる表示態様で表示してもよい。例えば、役物比率が所定の基準値を超えた場合に、数値を点滅させたり、色を変えたり(通常時は緑色で、基準超時は赤色など)して表示する。基準値との比較結果により表示態様を変えることによって、役物比率が異常であることを容易に認識できる。
役物比率表示器1317を、一つ又は複数のLEDランプで構成してもよい。役物比率表示器1317を一つのLEDランプで構成した場合、役物比率と所定の基準値との比較結果を異なる態様で表示する。例えば、役物比率が基準値より小さい場合は緑色、役物比率が基準値より大きい場合は赤色で表示する。また、役物比率が基準値より小さい場合は点灯、役物比率が基準閾値より大きい場合は点滅で表示する。
役物比率表示器1317を複数(例えば、10個)のLEDランプで構成した場合、一つのLEDランプを10%として役物比率を表示する。例えば、役物比率が70%以上80%未満であれば、7個のLEDを点灯させる。この場合、表示内容(役物比率か連続役物比率か、直近データ表示か中期データ表示かなど)によって、異なる表示態様(表示色)で表示してもよい。
また、総獲得球数が6000個より小さい場合、賞球データの収集期間が短く、役物比率の値が収束していない可能性があるため、異なる表示態様(表示色、点滅など)で表示してもよい。総獲得球数が閾値より少ない場合の表示態様と、前述した基準値を超えた場合の表示態様とは異なる態様とすることが望ましい。
役物比率表示器1317は、直近データ表示と中期データ表示と長期データ表示とを切り替えて表示してもよい。直近データ表示は、図27(B)(C)に示すリングカウンタにおいて、現在書き込み中の一つ前のカウンタ値を用いて計算した役物比率である。中期データ表示は、図27(B)(C)に示すリングカウンタにおいて、累計を用いて計算した役物比率である。長期データ表示は、図27(B)(C)に示すリングカウンタにおいて、総累計を用いて計算した役物比率である。
役物比率表示器1317を機能表示ユニット1400で兼用してもよい。機能表示ユニット1400は通常は主制御基板1310からの制御信号に基づいて遊技状況を表示するが、本体枠4が外枠2から開放したことを本体枠開放スイッチ(図示省略)が検出すると、主制御基板1310は、機能表示ユニット1400が役物比率を表示するように表示を切り替える。本体枠4の開放によって機能表示ユニット1400の表示を切り替えるが、遊技の進行は継続するとよい。遊技の進行を継続することによって、本体枠4が閉鎖すると役物比率表示から遊技状態の表示に迅速に切り替えることができる。例えば、特別図柄変動表示ゲーム中に本体枠4が開放すると役物比率が表示されるが、変動時間の経過前に本体枠4が閉鎖されると、残りの時間分の変動表示を行うことができる。機能表示ユニット1400に表示される特別図柄はメイン液晶表示装置1600に表示される装飾図柄と同期しているので、機能表示ユニット1400の特別図柄変動表示が停止するタイミングで装飾図柄が停止する。このため、機能表示ユニット1400が役物比率を表示しても、遊技者に違和感を与えないように構成できる。
役物比率表示器1317は、役物比率以外を表示してもよい。例えば、単位時間あたりの入賞口の種類毎の入賞数や払い出された賞球数を表示してもよい。単位時間は、1分、10分、1時間、10時間など、役物比率表示スイッチ1318の操作によって切り替えて表示するとよい。
役物比率表示器1317は、ベースを表示してもよい。ベースは、特賞中(大当り中)を除いた通常時の出玉率であり、セーフ球数÷アウト球数で計算できる。発射球数(アウト球数)は、発射球センサ1020によって検出する。前述したように、発射球センサ1020は、球発射装置から遊技領域5aに遊技球を導くレール1001、1002の出口(逆流防止部材1007)付近に設ける(図10、図16参照)。また、アウト球数を、排出球センサ3060によって検出してもよい。前述したように、排出球センサ3060は、遊技領域5aから流出した遊技球をパチンコ機1の外部に排出する排出口に設ける(図4参照)。また、遊技領域5aの下部に設けられるアウト口1111を通過する遊技球を検出するアウト口通過球センサ1021(図53参照)を設け、アウト口通過球センサ1021が検出した遊技球の数と、始動口センサ2104、2551が検出した遊技球の数と、各種入賞口センサ3015、2114、2554、2557が検出した遊技球の数との合計によって、アウト球数を検出してもよい。さらに、球発射装置680へ供給される遊技球を検出する発射供給球センサ(図示省略)と、球発射装置680から打ち出されたが遊技領域5aに到達しなかった遊技球(いわゆる、ファール球)を検出するファール球センサ(図示省略)とを設け、発射供給球センサが検出した球発射装置680へ供給された遊技球の数からファール球数を減じて、アウト球数(発射球数)を検出してもよい。
アウト球数は、前述したいずれかの方法で計数すればよい。すなわち、図示したセンサのうち、排出球センサ3060か発射球センサ1020のいずれかが設けられれば足りる。
また、セーフ球数は払い出した賞球数に等しい。また、ベースを、遊技状態毎(通常遊技中、電サポ中、確率変動中、時間短縮中)の出玉率と定義し、遊技状態毎のセーフ球数÷アウト球数で計算してもよい。役物比率表示器1317にベースを表示することによって、稼動中における出球性能の設計値からのズレを遊技機ごとにその場で確認できる。また、ホールコンを使用せずに出球性能を確認できるので、遊技場の立入検査時に遊技機毎の検査が容易になる。
役物比率表示器1317は、ベースの他の入賞や賞球に関する情報(一般入賞口2001への入賞数や当該入賞による賞球数、始動入賞口2002への入賞数や当該入賞による賞球数、大入賞口2005、2006への入賞数や当該入賞による賞球数など)を表示してもよい。
役物比率表示器1317は、常に役物比率を表示しても、役物比率表示スイッチ1318の操作によって役物比率を表示してもよい。例えば、押ボタンスイッチである役物比率表示スイッチ1318を押すと、役物比率の表示を開始し、所定時間表示した後に表示を消す。なお、本体枠4が外枠2から開放したことを本体枠開放スイッチ(図示省略)が検出中に役物比率表示スイッチ1318が操作されると、役物比率表示器1317に役物比率を表示してもよい。すなわち、本体枠開放中でなければ役物比率表示スイッチ1318が操作されても、役物比率表示器1317は役物比率を表示しない。
また、役物比率表示スイッチ1318の操作毎に、表示内容を変えてもよい。例えば、図37に示すように、役物比率表示スイッチ1318を1回操作すると、役物比率(累計)を意味するA7を上2桁に表示し、所定数(例えば、60000個)の賞球に対する役物比率を下2桁に表示する。役物比率表示スイッチ1318を、もう1回操作すると、上2桁の表示が連続役物比率(累計)を意味するA6に切り替わり、所定数(例えば、60000個)の賞球に対する連続役物比率を下2桁に表示してもよい(図37(B))。さらに、役物比率表示スイッチ1318を1回操作すると役物比率(賞球6000個)を意味するy7を上2桁に表示し、直近のデータによる役物比率を下2桁に表示(直近データ表示)をする(図37(C))。役物比率表示スイッチ1318を、もう1回操作すると、上2桁の表示が役物比率(累計)を意味するy6に切り替わり、所定数(例えば、60000個)の賞球に対する役物比率を下2桁に表示(中期データ表示)をしてもよい(図37(D))。
役物比率表示スイッチ1318は、独立したスイッチとして設けなくても、主制御基板1310又は周辺制御基板1510に設けられるRAMクリアスイッチと兼用してもよい。すなわち、当該スイッチは、電源投入時に操作されるとRAMクリアスイッチとして機能し、遊技機1の動作中に操作されると役物比率表示スイッチ1318として機能する。RAMクリアスイッチと役物比率表示スイッチ1318とを一つのスイッチに機能を集約することによって、遊技場の係員が操作するスイッチは一つとなり、経験が浅い係員による誤操作を減少できる。
以上のように、本実施形態によれば、稼働中の遊技機の役物比率を正確に計算でき、稼働中の遊技機の射幸性を確認できる。
また、賞球数のデータを役物比率算出・表示用データ13136として蓄積し、チェックコードが異常である場合に役物比率算出・表示用データ13136を消去するので、誤った役物比率の表示を避けることができる。
また、主制御MPU1311のRAM1312にバックアップされた遊技の進行に関係するデータの消去条件と別の条件で役物比率算出・表示用データ13136を消去するので、正確な賞球数のデータを保持し、正確な役物比率を計算できる。
また、RAMクリアスイッチの操作によっては役物比率算出・表示用データ13136を消去しないので、遊技場の係員の操作により、誤って役物比率算出・表示用データ13136を消去することがなく、役物比率算出・表示用データがRAMクリアスイッチの操作によって消去されないので、遊技場の係員の誤操作によって、当該データが消去されないように構成されている。また、遊技場が意図的に役物比率算出・表示用データを消去できないので、表示される役物比率の信頼性が高まり、役物比率が高い状態の隠蔽を防止できる。
[9.ベースの表示]
[9-1.ベースを表示する遊技機の基本構成]
ここまで、役物比率を計算し表示するパチンコ機の実施例を説明したが、次に、ベース値を計算し表示するパチンコ機の実施例を説明する。
以下に説明するパチンコ機では、前述したように、始動入賞口(第一始動口2002、第二始動口2004)に遊技球が入賞すると、乱数による抽選が行われ、特別図柄変動表示ゲームを実行する。特別図柄変動表示ゲームの変動パターン(変動時間)は、相対的に短い時間の変動パターン(10秒程度の通常変動パターン、保留数が多いときに選択されやすい2~5秒程度の短縮変動パターン)や、相対的に長い時間の変動パターン(1分を超えるスーパーリーチなどの変動パターン)がある。パチンコ機でベース値を計算する場合、ベース値の報知はエラーの報知より緊急性を要さないことから、特別図柄変動表示ゲームが次の変動表示ゲームに切り替わるタイミングで報知できる。しかし、変動表示時間が長い場合は、一つの特別図柄変動表示ゲームの終了を待たずに、所定の条件を満たしたときに(例えば、アウト球数(発射球数)や賞球数(払出球数)が変化した場合に)、ベース値を計算し表示を更新する方が望ましい。このため、本実施例のパチンコ機では、遊技中(例えば、特別図柄変動表示ゲーム中でも)に所定の条件を満たしたとき(例えば、アウト球数(発射球数)や賞球数(払出球数)が変化した場合)に、ベース値を計算し、表示する。次に、このような動作をするパチンコ機の具体的な構成を説明する。
図38は、ベース値を計算し表示するパチンコ機1の主制御基板1310の周辺の構成を示すブロック図である。
図38に示すパチンコ機1は、図17に示すパチンコ機1とほぼ同様の構成を有するが、符号1317で表される構成が、役物比率表示器ではなくベース表示器である。本実施例のパチンコ機1のベース表示器1317は、例えば、図4や図28に示すように、4桁の7セグメントLEDを使用してもよく、他の桁数(例えば、2桁)の7セグメントLEDを使用してもよい。
本実施例のパチンコ機1は、主制御MPU1311が実行するタイマ割込み処理(図23)の役物比率算出用領域更新処理(ステップS81)において、賞球数やアウト球数のデータを取得し、役物比率算出・表示処理(ステップS89)において、ベース値を計算して表示する。なお、以下の説明では、図23のステップS81の「役物比率算出用領域更新処理」を「ベース算出用領域更新処理」と読み替え、ステップS89の「役物比率算出・表示処理」を「ベース算出・表示処理」と読み替えて説明する。また、図26に示す「役物比率算出用領域13128」を「ベース算出用領域13128」と読み替え、「役物比率算出・表示用コード13135」を「ベース算出・表示用コード13135」と読み替え、「役物比率算出・表示用データ13136」を「ベース算出・表示用データ13136」と読み替えて説明する。
図39は、ベース算出用領域更新処理(ステップS81)の一例を示すフローチャートである。ベース算出用領域更新処理は、現在の遊技状態を判定し、遊技価値として払い出される賞球数を現在の遊技状態に対応した領域に加算して、主制御内蔵RAM1312のベース算出用領域13128を更新する。特に、図39に示すベース算出用領域更新処理は、タイマ割込み周期ごとに毎回ベース値を計算するために、賞球制御処理(ステップS80)で算出された賞球数を用いて総賞球数を直接更新し(ステップS814)、アウト球数を用いて総アウト球数を直接更新する(ステップS822)。
まず、遊技状態が特賞中であるかを判定する(ステップS810)。遊技状態が特賞中であるとは、大入賞口2005、2006が開放しており、遊技者が多くの賞球を獲得できる時間中であるが、大当り遊技のオープニングやエンディングの時間を含めてもよい。一つの大当り中で大入賞口2005、2006が開放と閉鎖を繰り返す場合、大入賞口の閉鎖から次の開放までの間(閉鎖インターバル)の時間を含んでもよい。すなわち、ステップS810における特賞中は、条件装置作動中を意味し、例えば、特別図柄変動表示ゲームの大当たり図柄の確定からエンディング終了までである。また、右打ち指示中の全ての時間を含んでもよい。
さらに、始動入賞口2002、2004においては、時短中、確変中(ST中)、電サポ中を特賞中に含めてもよい。さらに、時短中、確変中(ST中)、電サポ中以外の遊技状態において、始動入賞口2004の開放から閉鎖後の所定時間(例えば、始動入賞口に入賞した球がアウト球として検出されるまでに必要な数秒)までの間を特賞中に含めてもよい。
本実施例のパチンコ機1に設けられる電動作動役物は、ベース値の計算の観点から2種類に分けられる。前述したように、本実施例の遊技機における、大入賞口2005、2006に関する特賞中とは、条件装置作動中(例えば、特別図柄変動表示ゲームの大当たり図柄の確定からエンディング終了まで)であり、ベース値は特賞中以外の賞球およびアウト球数で計算されるので、大入賞口2005、2006への正常な(いわゆる大当り中の)入賞はベース値の算出に使用されない。一方、開閉部材を有する始動入賞口2004(いわゆる、電動チューリップ)は、特賞中以外(低確率時や非時短時)の入賞球および賞球がベース値の算出に使用される。つまり、電動作動役物のうち、一部の役物(大入賞口2005、2006)は、遊技状態(特賞中か否か)に関係なく、入賞球数および賞球数をベース値の計算に使用せず、他の役物(始動入賞口2004)は、入賞球数および賞球数をベース値の計算に使用するか使用しないかが、遊技状態(特賞中か否か)に応じて切り替えられることになる。
また、大入賞口2005、2006は、条件装置が作動しない場合でも(いわゆる小当たりとして)開放するときがある。一般的に小当りは時短中に発生し、短時間開放のため遊技球が入賞する可能性が低いので、ベース値の計算には影響しない。しかし、特賞中以外(通常時)に小当たりを発生させ、遊技球が入賞する可能性が高くなる時間だけ開放してもよい。この場合、特賞中以外に発生した小当りにおける大入賞口2005、2006への入賞球および賞球はベース値の計算に使用してもよい。このようにすると、特賞中以外の小当たりの発生確率を制御することによって、ベース値の期待値(設計値)を変更できる。すなわち、ベース値の規格に対し柔軟に対応できるパチンコ機を提供でき、設計の自由度を向上できる。
遊技状態が特賞中であれば、ベース値の計算に関係しない賞球であるため、賞球数やアウト球数を更新せずに、ベース算出用領域更新処理を終了する。一方、遊技状態が特賞中でなければ、賞球制御処理(ステップS80)で入力情報に基づいて算出された賞球数を取得する(ステップS811)。ベース算出用領域更新処理で取得する賞球数は、払い出しが決定した賞球数でもよい。また、作成済みの払出コマンドに対応する賞球数でもよい。また、送信済の払出コマンドに対応する賞球数でもよい。また、主制御基板1310が払出制御基板951に払出コマンドを送信し、払出制御基板951から受信確認(ACK)を受信した払出コマンドに対応する賞球数でもよい。さらに、主制御基板1310が払出制御基板951に払出コマンドを送信し、払出制御基板951から払出完了の報告を受けた賞球数(払出済み賞球数)でもよい。このバリエーションは図41から図44を用いて説明する。
そして、取得した賞球数を総賞球数に加算して、総賞球数を更新する(ステップS814)。なお、賞球があるかを判定し、賞球がなければ、総賞球数を更新する処理をスキップしてもよい。また、始動入賞口2002、2004に遊技球が入賞したが、保留が上限値であり、始動入賞口への入賞が保留されなかった場合でも賞球は払い出されるので、総賞球数が更新される。また、入賞口に遊技球が入賞しても賞球が発生しない遊技状態(例えば、特定のエラー発生時など)においては、当該入賞に起因する賞球が発生せず、取得する賞球数が0であるため、総賞球数は更新されない。総賞球数は、主制御内蔵RAM1312のベース算出用領域13128に設けられる総賞球数格納領域(図52参照)に記録される。すなわち、図39に示すベース算出用領域更新処理では、賞球数が計算される都度、ベース値の計算に用いられる総賞球数が更新される。
その後、アウト球数を取得し(ステップS818)、取得したアウト球数を総アウト球数に加算するように、総アウト球数を更新する(ステップS822)。アウト球数は、前述したように、発射球センサ1020や排出球センサ3060などによって検出され、ステップS74のスイッチ入力処理で、これらのセンサの検出信号を読み取って、センサの検出信号があればアウト球数=1を取得する。総アウト球数は、主制御内蔵RAM1312のベース算出用領域13128に設けられる総アウト球数格納領域(図52参照)に記録される。すなわち、図39に示すベース算出用領域更新処理では、アウト球が検出される都度、ベース値の計算に用いられる総アウト球数が更新される。このように、タイマ割込み処理ごとにベース算出処理を実行して、総アウト球数を更新し、ベース算出表示処理(図40)にてベース値を計算し表示するので、ベース値を遅滞なく表示でき、ベースが正常か異常かを遅滞なく判断できる。
なお、後述するベース算出用領域更新処理(図46)のステップS815からS817のように、賞球数に異常があるかを判定し、賞球数に異常があれば、異常報知コマンドを生成し、賞球異常報知用タイマをリセットしてもよい。さらに、ステップS824からS825のように、賞球異常報知用タイマがタイムアップしたかを判定し、賞球異常報知用タイマがタイムアップすると、賞球異常報知停止コマンドを生成し、賞球異常報知を停止してもよい。
本実施例のパチンコ機1では、主制御MPU1311が、タイマ割込み処理においてベース値の計算処理を実行するが、払出制御部952の払出制御MPUがベース値の計算処理を実行してもよい。この場合、主制御基板1310から周辺制御基板1510の周辺制御部1511にベースを報知するためのコマンドを送信してもよいし、払出制御部952から周辺制御部1511にベースを報知するためのコマンドを送信してもよい。
また、一つのタイマ割込み処理において、入賞口への入賞とアウト球との両方の情報を取得しても、賞球数を総賞球数(または、後述する実施例では賞球数バッファ)に加算し、アウト球数を総アウト球数(または、後述する実施例ではアウト球数バッファ)に加算する。また、一つのタイマ割込み処理において、複数の入賞口への入賞の情報を取得しても、複数の入賞による賞球数の合計を総賞球数(または、後述する実施例では賞球数バッファ)に加算する。このため、ベース値を正確に計算し、表示できる。例えば、賞球数が5個の入賞口の入賞口センサと賞球数が3個の入賞口の入賞口センサとへの入賞を検出した場合は、合計8個の賞球を総賞球数(または、賞球数バッファ)に加算する。
また、遊技球の発射が検出されている場合にのみ、賞球数を総賞球数(または、賞球数バッファ)に加算してもよい。すなわち、発射球センサ1020の検出から所定時間以内に検出した入賞に関する賞球数のみを総賞球数(または、賞球数バッファ)に加算してもよい。また、発射制御部953または球発射装置680の動作を検出し、発射制御部953または球発射装置680が動作している間(さらに、発射制御部953または球発射装置680が動作を停止してから所定時間(例えば、5秒)後まで)に検出した入賞に関する賞球数のみを総賞球数または賞球数バッファに加算してもよい。また、遊技者が発射ハンドルを操作している場合に、賞球数を総賞球数(または、賞球数バッファ)に加算してもよい。すなわち、ハンドルユニット500の接触検知センサ509に手のひらや指が触れていることが検出されている時間から所定時間(例えば、5秒)以内に検出した入賞に関する賞球数のみを総賞球数(または、賞球数バッファ)に加算してもよい。このようにすると、遊技球が発射されていない状態で賞球を検出する異常や不正行為による賞球のベース値への反映を防止でき、不正確なベース値の表示を防止できる。また、接触検知センサ509を用いると、遊技球の発射を検出するセンサを新たに設けなくてもよいので、パチンコ機1のコストの上昇を抑制できる。
図39に示すベース算出用領域更新処理では、特賞中の賞球数およびアウト球数を除外してベースを計算したが、特賞中でも一般入賞口及び始動入賞口への入賞による賞球数を計数し、大入賞口へ入賞した球数を除外してアウト球数を計数して、ベース値を計算してもよい。
図40は、ベース算出・表示処理(ステップS89)の一例を示すフローチャートである。図40に示すベース算出・表示処理では、毎回(タイマ割込み周期ごと)にベース値を計算する。
まず、総アウト球数が0であるかを判定する(ステップS902)。総アウト球数が0であれば、ベース値を計算できないので、ベース値を計算せず、ベース算出・表示処理を終了する。一方、総アウト球数が0でなければ、総賞球数を総アウト球数で除してベース値を計算する(ステップS903)。なお、総賞球数が0である場合はベース値として0が計算されるが、ベース値を計算しなくてもよい。さらに、異常なベース値が計算される場合(例えば、総賞球数が総アウト数より大きく、ベース値として1(100%)以上の値が計算される場合)、ベース値を計算しなくてもよい。ベース値を百分率で表す場合、総賞球数÷総アウト球数に100を乗じてベース値を計算する。具体的には、総賞球数に所定数(例えば100)を乗じて除算入力レジスタA131216に格納し、総アウト球数を除算入力レジスタB131217に格納する。
除算入力レジスタA131216に格納される総賞球数に乗じられる所定数は、計算されるベース値の桁数を制御する。例えば、この所定数を100とすれば、ベース値は100分率で1の位まで計算され、少数以下は計算されない。また、この所定数を10000とすれば、ベース値は100分率で小数2桁まで計算される。すなわち、演算回路から出力された商を100で除すると、小数2桁の100分率のベース値が計算できる。
そして、32クロック経過後に、除算結果レジスタA131218から商を読み出して、ベース値とする。なお、除算入力レジスタ131216、131217へのデータの書き込みから除算結果レジスタA131218からデータを読み出すまでの32クロックのウェイト時間には、主制御MPU1311は、処理を行わずに待機しても、他の処理を行ってもよい。例えば、除算入力レジスタ131216、131217へのデータの書き込みから除算結果レジスタA131218からデータを読み出すまでの間に大当たりの当落を判定する乱数を更新してもよい。より具体的には、乱数発生回路13112で生成されるハード乱数は、主制御MPU1311に供給されるクロック周期(又は、該クロック周期を分周した信号)のタイミングで更新されるので、該ウェイト時間にもハード乱数が更新される。
すなわち、本実施例の遊技機では、演算回路13121がベース演算処理を実行中においても、遊技にかかる他の処理を並行して実行可能となっている。遊技にかかる他の処理は、少なくとも、当落を判定するための乱数を更新する処理が含まれる。また、演算回路13121における演算(除算)処理中に、遊技の結果に影響を与える乱数の更新が1回以上行われる。
また、総アウト球数が0である場合、ベース値を計算しても、演算回路13121からの返り値はエラーとなるので、ベース算出用領域13128に格納しなくてよい。この場合、ベース表示器1317に表示されるベース値は更新されない。
その後、ベース報知コマンドを生成し(ステップS908)、遊技者やホール従業員にベースを報知する。ベース報知コマンドは、単にベース値を報知するものでも、ベース値の異常を報知するものでもよい。ベース値の異常とは、例えば、計算されたベース値が設計値(正常値)から所定の許容範囲を超えて大きくまたは小さくなった場合などである。なお、複数段階の許容範囲を設けてベース値の乖離の程度によって異常の程度を複数段階で判定してもよい。
ベースの報知は、様々な方法があり、以下に説明する方法の一つでも、二つ以上を組み合わせてもよい。例えば、ベース表示器(7セグメントLED)1317、液晶表示装置1600、3114、244などでベースの値を常時または所定のタイミングで報知してもよい。遊技者にベース値を報知すると、遊技者がパチンコ機の調子を確認できてよい。その際、役物比率で説明した表示態様をベース値に適用してもよい。ベースの値を報知する場合、計算されたベース値をパーセンテージ表記として、前述した表示器や表示装置に表示する。なお、小数点以下の値は切り捨て、四捨五入、切り上げのいずれでもよいし、液晶表示装置1600、3114、244など画像を表示可能な表示装置では、小数点以下第1位まで表示し、より詳細に表示してもよい。
7セグメントLEDで構成されるベース表示器1317にベース値を表示する場合、主制御MPU1311がベース表示器1317のドライバ回路13171に設けられた所定のレジスタに表示データを入力する。すなわち、主制御MPU1311は、ベース報知コマンドとして、ドライバ回路13171のレジスタに設定される表示データを生成する。より具体的には、主制御MPU1311は、図33、図34に示すように、D15~D8に数値を表示する桁を「データn設定」で指定し、D7~D0に表示内容を指定したデータを生成し、シフトレジスタ3171に書き込む。
また、液晶表示装置1600、3114、244にベース値を表示する場合、ベース値に所定の基準値(例えば、50%など)を設け、当該基準値を超えた場合は、表示態様を変更するとよい。例えば、数値を点滅させたり、色を変えたり(通常時は緑色で、基準超時は赤色など)して表示する。さらに、複数段階でベース値の表示態様を変えてもよい。具体的には、表示されるベース値が、30%以上、25%以上30%未満、20%以上25%未満、15%以上20%未満、10%以上15%未満、10%未満のように複数の段階に分けて、各段階で白、青、黄のように発光色を変えて表示してもよい。また、各段階で「調子いいね」「調子が下がってきてるよ」「やばいんじゃない」「ある意味凄いね」など、ベース値が低いときには自虐的なコメントを表示してもよい。ベース値が基準値を超えている場合、パチンコ機が想定とは異なる動作をしており、不正が行われている可能性がある。このため、赤色などの警告を示す態様による表示が望ましい。また、遊技の進行を停止しない程度の弱いエラーと同一又は同様の表示態様でもよい。ここで、同様とは、表示、ランプ、音の少なくとも一つが同じことを意味する。
また、各種ランプ、液晶表示装置、音などでベース値がどの範囲にあるか(ベース値が高いのか低いのか、異常値か正常値か、など)を報知してもよい。また、ベースが計算できず(ステップS902でYes)、かつ、過去に計算されたベース値がない場合、ベース報知不可を液晶表示装置に表示するためのベース報知コマンドを生成してもよい。報知コマンドを生成したサブ基板に送信することによって、サブ基板が制御する演出装置でベースの状態を報知することができるので、主基板で報知するより多種多様の報知ができ、主基板の負荷を軽減できる。また、ベース表示器1317に何も表示されていないときにベース表示不可を報知することによって、ベース表示器1317の故障と、表示するベース値がないこととを切り分けることができる。さらに、ベース値の異常を液晶表示装置に表示することによって、ベース表示器1317が設けられた遊技盤の裏面側を見ることなく、ベース値の異常を知ることができる。
機能表示ユニット1400がベース表示器1317を兼ねてもよい。この場合、機能表示ユニット1400の特定のLEDランプ(または7セグメントLED)を使用して常時報知するとよい。また、所定のタイミング(例えば、本体枠4の開放時、特別図柄変動表示ゲームが実行されていない間、特別図柄変動表示ゲームが終了したタイミング)で報知するとよい。
外部端子板784から遊技場に設置されたホールコンピュータにベースの情報を出力してもよい。この場合、後述するベース算出・表示処理(図47、図49など)のように、所定のタイミングで(所定の賞球数ごとに、所定のアウト球数ごとに)、ベースの情報を出力するとよい。
外部端子板784から出力するベースの情報は、算出されたベース値が所定の閾値に対して高いか低いかを表す2値(ハイ、ロー)の信号でもよい。また、算出されたベース値の概略を示す長さの信号を出力してもよい(例えば、ベース値が30%以上40%未満は、30ミリ秒のパルス)。また、算出されたベース値の概略を示す数の連続パルスを出力してもよい(例えば、ベース値が30%以上40%未満は、3個の連続パルス)。
なお、ベース値が更新されない場合でも、ベース報知コマンドを生成してもよく、ベース値が更新されない場合には、ベース報知コマンドを生成しなくてもよい。ベース報知コマンドを生成しなくても、ベース値の表示は継続される。
また、図56などで後述するように、計算されたベース値が異常であるかを判定し、ベース値の異常を報知するベース報知コマンドを生成し、遊技者やホール従業員にベースの異常を報知してもよい。
また、遊技者へのベースを報知するかを、遊技状態(遊技状況)に応じて決定してもよい。これは、ベース値を遊技者に常時報知すると、パチンコ機の本来の楽しみである特別図柄変動表示ゲームの演出に対する遊技者の注意が疎かになり、遊技者の意識が分散する可能性があるためである。
また、計算されたベース値に基づいて、実行中や今後実行される特別図柄変動表示ゲームの演出を変化させてもよい。例えば、複数の表示選択テーブルを準備し、ベース値によって異なる表示選択テーブル(図64~図68参照)から演出を選択するとよい。
また、特別図柄変動表示ゲーム中に、ベース値が所定の閾値(例えば、30%)を越えたり下回ることもある。このため、特別図柄変動表示ゲーム中に閾値を越えたり、下回ったときに、特別図柄変動表示ゲームの演出を変化させてもよい。ベース値が所定の閾値を超えて上昇したときと下降したときで、演出を同じ態様で変化させてもよいし、演出を異なる態様で変化させてもよい。
図41は、賞球数の更新タイミングとベース値の計算タイミングの一例を示す図である。図23に示すように、本実施例ではステップS81のベース算出用領域更新処理で賞球数を更新し、ステップS89のベース比率算出・表示処理でベース値を計算する。
このため、主制御MPU1311は、スイッチ入力処理(ステップS74)で遊技球の入賞を検出し、賞球制御処理(ステップS80)で入賞口毎に定められた賞球数を計算し、ベース算出用領域更新処理(ステップS81)で賞球数バッファを更新する。その後、ベース比率算出・表示処理(ステップS89)でベース値を更新し、出力データ設定処理(ステップS90)で払出制御基板951に払出コマンドを送信する。
払出制御基板951は、受信した払出コマンドをメモリに格納すると、払出コマンド受信確認を主制御基板1310に送信する。そして、払出制御基板951は、払出コマンドに従って賞球を払い出すと、球払出完了を主制御基板1310に通知する。なお、賞球制御処理(ステップS80)で計算された賞球数のうち未払出し賞球数は、主制御基板1310又は払出制御基板951でバックアップされる。払出制御基板951で未払出し賞球数をバックアップする場合、払出制御基板951が払出コマンド受信確認を主制御基板1310に送信する必要があるが、球払出完了を主制御基板1310に通知する必要はない。一方、主制御基板1310で未払出し賞球数をバックアップする場合、払出制御基板951が球払出完了を主制御基板1310に通知する必要があるが、払出コマンド受信確認を主制御基板1310に送信する必要はない。
以上に説明した実施例にかかるパチンコ機では、遊技中にベース値が遅滞なく計算され、遊技機の状態をリアルタイムで知ることができる。このため、遊技機の異常を早期に発見できる。例えば、ベース値が所定の閾値より低いまたは高いとベースが異常であると判定する場合、一つの特別図柄変動表示ゲーム中にベース値が複数回計算され、所定の閾値を跨いで上下して異常であると判定されても遊技を止めることなく、異常の判定にかかわらずベース値の計算処理は継続して実行する。例えば、特別図柄変動表示ゲームには、通常変動などの短時間のものや、リーチ変動などの長時間のものがあり、一つの特別図柄変動表示ゲームの開始から終了までの間にベース値を計算する条件を複数回満たした場合、その都度ベース値を計算し、その都度ベース値を更新して表示するとよい。これは、特別図柄変動表示ゲーム中のベース値の計算を制限すると(例えば、変動表示終了時に1回だけベース値を計算し更新する)、ベース値の計算タイミングによっては、ベース値の変化に長時間気が付かず、ホール運営に必要な情報が適切なタイミングで出力されず、ホールが迷惑を被る可能性があるからである。
また、発射された遊技球が始動入賞口や一般入賞口に入賞していなければ、ベース値が低下する。この状態では、遊技者は損をしているので、例えば、液晶で行われている演出に追加演出(例えば、ベース値の変化に関連しない当落に関する演出や、ベース値の変化に伴って現出する特定の演出)を付加したり、大当りの期待度が高い予告演出(ベース値の変化に関連しない演出のうち、次回予告演出などの期待度が高い予告演出や、ベース値の変化に伴って現出する特定の演出のうち期待度が高い予告演出(例えば、ベース値をレインボー表示で表示))を行ってもよい。これによって、遊技者は、始動口および一般入賞口に入賞しないことにより感じる不快感を軽減し、遊技を継続する動機づけを与えることができる。
一方、発射された遊技球の多くが始動入賞口や一般入賞口に入賞すれば(過去の入賞数の平均値より多く入賞すれば)、ベース値が上昇する。この状態では、大当り抽選の結果がはずれでも、遊技者には通常より多くの遊技球の払い出しを受けているため、遊技者のがっかり感は軽減される。変動表示ゲームの演出を、期待度が低い演出に変えてもよい。
[9-2.賞球数の更新タイミングとベース値の計算タイミングのバリエーション]
次に、図42から図44を用いて、賞球数の更新タイミングとベース値の計算タイミングのバリエーションを説明する。各バリエーションにおける賞球数の更新タイミング、ベース値の計算タイミングの概要は以下の通りである。
・図41:賞球数計算→賞球数更新→ベース値計算→払出コマンド送信
・図42:賞球数計算→賞球数更新→払出コマンド送信→ベース値計算
・図43:賞球数計算→払出コマンド送信→賞球数更新→ベース値計算
・図44:賞球数計算→払出コマンド送信→コマンド受信確認→賞球数更新→ベース値計算
・図45:賞球数計算→払出コマンド送信→払出完了通知→賞球数更新→ベース値計算
なお、上記図41から図44のバリエーションは、図39に示すベース算出用領域更新処理および図40に示すベース算出・表示処理だけでなく、後述するいずれのベース算出用領域更新処理およびベース算出・表示処理にも適用可能である。
図42に示す手順では、図23に示すタイマ割込み処理の手順と異なり、ベース算出用領域更新処理(ステップS81)は図示した位置で実行し、出力データ設定処理(ステップS90)の後にベース比率算出・表示処理(ステップS89)を実行する。
すなわち、主制御MPU1311は、スイッチ入力処理(ステップS74)で遊技球の入賞を検出し、賞球制御処理(ステップS80)で入賞口毎に定められた賞球数を計算し、ベース算出用領域更新処理(ステップS81)で総賞球数(または、後述する実施例では賞球数バッファ)を更新する。その後、出力データ設定処理(ステップS90)で払出制御基板951に払出コマンドを送信し、ベース比率算出・表示処理(ステップS89)でベース値を更新する。
払出制御基板951は、受信した払出コマンドをメモリに格納すると、払出コマンド受信確認を主制御基板1310に送信する。そして、払出制御基板951は、払出コマンドに従って賞球を払い出すと、球払出完了を主制御基板1310に通知する。前述したように、賞球制御処理(ステップS80)で計算された賞球数のうち未払出し賞球数を主制御基板1310又は払出制御基板951のいずれでバックアップするかによって、払出コマンド受信確認又は球払出完了のいずれかを省略してもよい。
図43に示す手順では、図23に示すタイマ割込み処理の手順と異なり、出力データ設定処理(ステップS90)の後にベース算出用領域更新処理(ステップS81)及びベース比率算出・表示処理(ステップS89)を実行する。
すなわち、主制御MPU1311は、スイッチ入力処理(ステップS74)で遊技球の入賞を検出し、賞球制御処理(ステップS80)で入賞口毎に定められた賞球数を計算し、出力データ設定処理(ステップS90)で払出制御基板951に払出コマンドを送信する。その後、ベース算出用領域更新処理(ステップS81)で、送信した払出コマンドに対応する賞球数で総賞球数(または、後述する実施例では賞球数バッファ)を更新し、ベース比率算出・表示処理(ステップS89)でベース値を更新する。なお、送信した払出コマンドに対応する賞球数ではなく、作成した払出コマンドに対応する賞球数で(払出コマンドが未送信であっても)賞球数バッファを更新してもよい。
払出制御基板951は、受信した払出コマンドをメモリに格納すると、払出コマンド受信確認を主制御基板1310に送信する。そして、払出制御基板951は、払出コマンドに従って賞球を払い出すと、球払出完了を主制御基板1310に通知する。前述したように、賞球制御処理(ステップS80)で計算された賞球数のうち未払出し賞球数を主制御基板1310又は払出制御基板951のいずれでバックアップするかによって、払出コマンド受信確認又は球払出完了のいずれかを省略してもよい。
なお、主制御MPU1311が、払出制御基板951からコマンド受信確認や球払出完了通知を受信するタイミングは、払出制御基板951の処理速度や払出装置830の動作速度によるので、ベース算出用領域更新処理(ステップS81)やベース比率算出・表示処理(ステップS89)との順序は問わない。
図44に示す手順では、図23に示すタイマ割込み処理の手順と異なり、払出制御基板951から払出コマンド受信確認を受信した後に、ベース算出用領域更新処理(ステップS81)及びベース比率算出・表示処理(ステップS89)を実行する。
すなわち、主制御MPU1311は、スイッチ入力処理(ステップS74)で遊技球の入賞を検出し、賞球制御処理(ステップS80)で入賞口毎に定められた賞球数を計算し、出力データ設定処理(ステップS90)で払出制御基板951に払出コマンドを送信する。
払出制御基板951は、受信した払出コマンドをメモリに格納すると、払出コマンド受信確認を主制御基板1310に送信する。
主制御MPU1311は、払出制御基板951から払出コマンド受信確認を受信すると、ベース算出用領域更新処理(ステップS81)で、コマンド受信確認を受信した払出コマンドに対応する賞球数で総賞球数(または、後述する実施例では賞球数バッファ)を更新し、ベース比率算出・表示処理(ステップS89)でベース値を更新する。
そして、払出制御基板951は、払出コマンドに従って賞球を払い出すと、球払出完了を主制御基板1310に通知する。なお、図44に示す手順では、停電発生時に未払出し賞球数のデータを消失しないため、払出制御基板951で未払出し賞球数のデータバックアップしている。このため、払出制御基板951から主制御基板1310へのコマンド受信確認は必要であるが、球払出完了通知は省略してもよい。
図45に示す手順では、図23に示すタイマ割込み処理の手順と異なり、払出制御基板951から球払出完了通知を受信した後に、ベース算出用領域更新処理(ステップS81)及びベース比率算出・表示処理(ステップS89)を実行する。
すなわち、主制御MPU1311は、スイッチ入力処理(ステップS74)で遊技球の入賞を検出し、賞球制御処理(ステップS80)で入賞口毎に定められた賞球数を計算し、出力データ設定処理(ステップS90)で払出制御基板951に払出コマンドを送信する。
払出制御基板951は、受信した払出コマンドをメモリに格納すると、払出コマンド受信確認を主制御基板1310に送信する。そして、払出制御基板951は、払出コマンドに従って賞球を払い出すと、球払出完了を主制御基板1310に通知する。
主制御MPU1311は、払出制御基板951から球払出完了通知を受信すると、ベース算出用領域更新処理(ステップS81)で、払い出しが完了した賞球数で総賞球数(または、後述する実施例では賞球数バッファ)を更新し、ベース比率算出・表示処理(ステップS89)でベース値を更新する。
なお、図44に示す手順では、停電発生時に未払出し賞球数のデータを消失しないため、主制御基板1310で未払出し賞球数のデータバックアップしている。このため、払出制御基板951から主制御基板1310への球払出完了通知は必要であるが、コマンド受信確認は省略してもよい。
以上に説明したように、本実施例のパチンコ機は、所定の条件が満たされた場合に、ベース値の計算に使用するパラメータである賞球数やアウト球数を更新する。例えば、図41や図42に示す処理では、スイッチ入力処理(ステップS74)で入賞口センサが遊技球の入賞を検出すると賞球数を更新する。また、図43に示す処理では、払い出しコマンドを送信すると賞球数を更新する。また、図44に示す処理では、払い出しコマンドの受信を確認すると賞球数を更新する。また、図45に示す処理では、賞球の払い出しが完了すると賞球数を更新する。
なお、本実施例のパチンコ機では、遊技状態が特賞中であるかの判定タイミングと賞球数の更新タイミングとのズレによって、特賞中の賞球数を正確に計数できない可能性がある。特に、入賞口への入賞から賞球数の更新までの時間が長い場合に問題が大きくなる。このため、特賞中の入賞にフラグを付し、当該入賞による賞球数、払出コマンド、受信確認および払出完了通知に当該フラグを引き継ぐ。そして、当該フラグを用いて、各段階で特賞中の賞球であるかを判定する。このようにすると、入賞口への入賞から賞球数の更新までの時間が長くても、特賞中の賞球数を正確に計数して更新できる。
また、本実施例のパチンコ機では、これらの契機で賞球数やアウト球数を更新して、ベース値を計算して表示する。すなわち、遊技機単体でベース値を知ることができるので、製造工程や検査工程での釘調整に必要な時間を短縮でき、効率良く遊技機を製造できる。
また、本実施例のパチンコ機では、パチンコ機が球切れ状態で賞球を払い出せない場合、主制御基板1310又は払出制御基板951が未払出球の数を保持する。
主制御基板1310が未払出球の数を保持する場合、スイッチ入力処理(ステップS74)で入賞口センサが遊技球の入賞を検出すると、入賞が検出された入賞口に対応する賞球数を未払出球数に加算する。なお、この未払出球数には、所定の上限を設けてもよいが、上限を設けなくてもよい。この場合、払い出される賞球数が計算される都度、ベース値を計算するための賞球数バッファまたは総賞球数を更新するとよい。また、主制御基板1310から払出制御基板951に払出コマンドの送信後に賞球数を更新してもよい。
一方、払出制御基板951が未払出球の数を保持する場合、スイッチ入力処理(ステップS74)で入賞口センサが遊技球の入賞を検出すると、入賞が検出された入賞口に対応する賞球数の払出コマンドを払出制御基板951に送信する。パチンコ機が球切れ状態で賞球を払い出せない場合でも払出コマンドが送信され、未払出球数は払出制御基板951で保持される。この場合、払出コマンドが送信される都度、ベース値を計算するための賞球数バッファまたは総賞球数を更新するとよい。
また、払出制御基板951が払出コマンドを受信すると、ベース値を計算するための賞球数を更新してもよい。なお、この賞球数には、所定の上限を設けてもよいが、上限を設けなくてもよい。また、実際に賞球が払い出される都度、ベース値を計算するための賞球数を更新してもよい。払出制御基板951はベース値を計算するための賞球数を主制御基板1310に送信し、主制御基板1310は、受信した賞球数を用いてベース値を計算する。
また、図47において後述するように、賞球数バッファ値と閾値Th1とを比較せずに、所定回数(例えば、10回)の入賞毎に、または、所定時間(例えば、5秒)毎に、ステップS891およびS892を実行してもよい。
以上に説明したように、ベース値を計算するための賞球数の更新は様々なタイミングで行うことができるが、賞球数を更新すると遅滞なくベース値を計算し、ベース表示器1317にリアルタイムに表示してもよいし、所定のタイミング(例えば、1分ごと)にベース値を計算し、表示してもよい。
[9-3.賞球数の更新とベース値の計算のタイミング]
次に、図46から図51を用いて、ベース算出用領域更新処理(ステップS81)、ベース算出表示処理(ステップS89)のバリエーションを説明する。各バリエーションにおけるベース値の計算タイミングの概要は以下の通りである。
・図39及び図40:タイマ割込み周期ごとに毎回ベース値を計算
・図46及び図47:所定賞球数ごとにベース値を計算
・図48及び図49:所定アウト球数ごとにベース値を計算
・図50及び図51:賞球数及びアウト球数の一方が所定数に達したらベース値が更新
図46は、ベース算出用領域更新処理(ステップS81)の別の一例を示すフローチャートである。図46に示すベース算出用領域更新処理は、賞球数が所定の条件を満たしたタイミングでベース値を計算するために、賞球数を賞球数バッファに記録する(ステップS813)。なお、図46において、前述したベース算出用領域更新処理(図39)と同じ部分には同じステップ番号を付し、その詳細の説明は省略する。
まず、遊技状態が特賞中であるかを判定する(ステップS810)。特賞中であるかの判定基準は図39で説明したものと同じものを用いることができる。遊技状態が特賞中であれば、ベース値の計算に関係しない賞球であるため、賞球数やアウト球数を更新せずに、ステップS824に進む。一方、遊技状態が特賞中でなければ、賞球制御処理(ステップS80)で入力情報に基づいて算出された賞球数を取得する(ステップS811)。
そして、賞球があるか、すなわち、取得した賞球数が1以上であるかを判定する(ステップS812)。その結果、賞球がなければ、賞球数を更新せずにステップS818に進む。一方、賞球があれば、取得した賞球数を賞球数バッファに加算する(ステップS813)。なお、賞球数バッファに加算する都度、外部端子板784から遊技場に設置されたホールコンピュータに賞球数を出力してもよいし、後述する賞球数が所定の閾値Th1以上となった場合に当該閾値Th1を外部端子板784からホールコンピュータに出力してもよい。ここで賞球数バッファは、ベース値を計算するために主制御内蔵RAM1312に設けられる領域であり、遊技機1が払い出す賞球数が一時的に格納される。
そして、賞球数に異常があるかを判定する(ステップS815)。例えば、賞球数の異常とは、特賞中以外の所定時間に多くの賞球(例えば、一般入賞口や始動入賞口の賞球数から考えて、1分間に10発以上の入賞に相当する賞球)が得られている場合などである。なお、複数段階の許容範囲を設けて賞球数の基準値からの乖離の程度によって異常の程度を複数段階で判定してもよい。また、賞球数に異常がある場合、ステップS813において、取得した賞球数を賞球数バッファに加算しなくてもよく、ステップS813において賞球数バッファに加算した賞球数を減算してもよい。
その結果、賞球数に異常があれば、異常報知コマンドを生成し(ステップS816)、遊技者やホール従業員に賞球が異常であることを報知する。異常の報知は、様々な方法があり、以下に説明する方法の一つでも、二つ以上を組み合わせてもよい。例えば、各種ランプ、液晶表示装置1600、3114、244、音などで賞球数の異常を報知してもよい。また、外部端子板784から遊技場に設置されたホールコンピュータに賞球数の異常を出力してもよい。さらに、当該異常と判定された賞球数をベース値の計算に使用しなくてもよい。この場合、遊技者に賞球を払い出してもよい。また、賞球数が異常と判定され且つ前述した報知手段(音、ランプ、LED、液晶表示装置、外部端子板784からの情報出力など)によって報知する場合、異常と判定された賞球数をベース値の計算に使用してもよい。さらに、遊技を一時的に停止してもよい。具体的には、主制御基板1310は、RAMクリアスイッチが操作されなくても、主制御内蔵RAM1312の全データを初期化し、周辺制御部1511のRAMの全データを初期化する。そして、初期状態で動作確認から遊技を開始する。遊技を停止する他の方法として、遊技を一旦停止(例えば、特別図柄の変動表示を停止)した後、エラー報知停止後に元の状態に復帰して遊技を再開する。このため、停電監視回路が電源電圧の低下を検出しなくても停電検知信号を出力し、主制御MPU1311は主制御内蔵RAM1312の全データをバックアップして、遊技を停止する。そして、エラー報知終了後に、主制御内蔵RAM1312のデータをバックアップ領域からリストアして、遊技を再開する。このとき、周辺制御部1511は、そのままの状態で、主制御基板1310からのコマンドを待つので、主制御基板1310の動作の再開によって、中断していた遊技を再開する。とはいえ、100個の遊技球(すなわち、アウト球)が遊技領域5aに発射され、全ての遊技球が一般入賞口や始動入賞口に入賞する可能性があるので、賞球数の異常を報知する態様は、通常のエラー(磁気センサエラーなど)より緊急度が低い、おとなしい態様(例えば、通常のエラー報知より小音量や低光量)が望ましい。また、表示時間も通常のエラーと同じか、短時間でもよい。場合によっては、報知時間を0秒にして報知しなくてもよい。
そして、賞球異常報知用タイマをリセットし(ステップS817)、賞球異常報知時間の計数を開始する。
その後、アウト球数を取得し(ステップS818)、取得したアウト球数を総アウト球数に加算するように、総アウト球数を更新する(ステップS822)。
その後、ステップS817で起動した賞球異常報知用タイマがタイムアップしたかを判定する(ステップS824)。そして、賞球異常報知用タイマがタイムアップすると、賞球異常報知停止コマンドを生成し、賞球異常報知を停止する(ステップS825)。なお、ステップS824では、所定時間だけ賞球異常を報知するためのタイマの時間によって報知の終了を判定したが、所定の発射球数だけ賞球異常を報知しするように報知の終了を判定してもよい。また、ホール従業員が確認するまで異常を報知し続けてもよい。
図46に示すベース算出用領域更新処理では、ステップS985で賞球数に異常があるかを判定したが、アウト球数を取得した後に、アウト球数との比較において賞球数に異常があるか(すなわち、ベース値に異常があるか)を判定してもよい。例えば、所定の時間においてアウト球数を超える賞球数が計数された場合や、一般入賞口や始動入賞口の賞球数から考えて、アウト球が高い割合(例えば、50%以上)で入賞している場合などである。
図47は、ベース算出・表示処理(ステップS89)の別の一例を示すフローチャートである。図47に示すベース算出・表示処理では、賞球数が所定の条件を満たすタイミングでベース値が更新される。なお、図47において、前述したベース算出・表示処理(図40)と同じ部分には同じステップ番号を付し、その詳細の説明は省略する。
まず、賞球数バッファに格納されている賞球数が予め定められている閾値Th1以上であるかを判定する(ステップS890)。賞球数バッファ値が所定の閾値Th1以上であるかの判定には様々な方法がとり得る。例えば、賞球数バッファ値と閾値Th1とを比較したり、賞球数の格納領域の所定のビットの値で判定してもよい(具体的には、賞球数の格納領域を8ビットで構成し、最上位ビットが1になればアウト球数が128以上であると判定できる)。またベース算出用領域更新処理(図46)で賞球数と閾値Th1とを比較した判定結果をフラグに記録し、ベース算出・表示処理(図47)では、当該フラグによって、賞球数バッファ値が所定の閾値Th1以上であるかを判定してもよい。
そして、賞球数バッファ値が閾値Th1より小さければ、ベース値を計算するタイミングではないので、ベース算出・表示処理を終了する。
一方、賞球数バッファ値が閾値Th1以上であれば、総賞球数に閾値Th1を加算し(ステップS891)、賞球数バッファから閾値Th1を減算する(ステップS892)。すなわち、所定の起点から計数した賞球数が所定の条件を満たす(賞球数バッファに格納された賞球数が閾値Th1以上となる)遊技状況であれば、当該賞球数の端数部分を残し(賞球数バッファから閾値Th1を減算した端数を賞球数バッファに残し)、他の部分をメモリに格納して(総賞球数に閾値Th1を加算し)、ベース値の計算に使用する処理を実行する。具体的には、閾値Th1が100個である場合に、賞球数バッファ値が99個であり、一般入賞口に入賞して5個の賞球が発生すると、賞球数バッファ値は104個となるが、100個を総賞球数に移動してベース値の計算に使用し、残り4個は賞球数バッファに残す。この場合、賞球数バッファに残された4個の賞球のカウントは、次に賞球数バッファ値が閾値Th1以上となった場合にベース値の計算に使用される。また、閾値Th1=100個で説明したが、1000個など他の数値でもよい。しかし、大当たりが得られてもベースが計算されないような大きな閾値Th1を設定すると、不正の発見が遅延する可能性があるので、閾値Th1は1回の大当たりで払い出される賞球数以下(複数種類の大当たり(例えば、4ラウンドと8ラウンドの大当たり)がある場合、大当たりの賞球数の最小値以下)に設定するとよい。また、早期に不正を発見する観点から、頻繁にベース値を更新するとよい。例えば、閾値Th1が100個ではなく10個の方が、頻繁にベース値が更新される点で好ましい。
なお、賞球数バッファ値と閾値Th1とを比較せずに、所定回数(例えば、10回)の入賞毎に、ステップS891およびS892を実行してもよい。さらに、賞球数バッファ値と閾値Th1とを比較せずに、所定時間(例えば、5秒)毎に、ステップS891およびS892を実行してもよい。この所定時間は、主制御MPU1311で動作するタイマで計測しても、RTC(リアルタイムクロック)の出力で計測してもよい。
その後、総アウト球数が0であるかを判定する(ステップS902)。総アウト球数が0であればベース値を計算できないので、ベース値を計算せず、ベース算出・表示処理を終了する。一方、総アウト球数が0でなければ、総賞球数を総アウト球数で除してベース値を計算する(ステップS903)。具体的には、総賞球数に所定数(例えば100)を乗じて除算入力レジスタA131216に格納し、総アウト球数を除算入力レジスタB131217に格納する。そして、32クロック経過後に、除算結果レジスタA131218から商を読み出して、ベース値とする。なお、総アウト球数が0である場合、ベース値を計算しても、演算回路13121からの返り値はエラー(又は、不定)となるので、ベース算出用領域13128に格納しなくてよい。この場合、ベース表示器1317に表示されるベース値は更新されない。
また、総アウト球数が0である場合の他、算出されるベース値が異常値となる場合に、ベース値を計算せず、ベース算出用領域13128を更新しなくてもよい。例えば、総アウト球数が総賞球数以下である場合、ベース値は100%以上となり、発射球数(アウト球)と同数以上の賞球が得られており、通常に遊技が行われている状態ではないので、除算入力レジスタ131216、131217に数値を格納せず、ベース値を計算しなくてもよい。また、ベース値を計算して、除算結果レジスタA131218から読み出した値が100%以上である場合、除算結果レジスタA131218から読み出した値でベース算出用領域13128を更新しなくてもよい。
また、ベース値の異常は、1500%を閾値として判定してもよい。入賞口に対する最大賞球数が15個であるパチンコ機の理論的なベース値の上限値は1500%なので、1500%を超えているベース値は、あり得ない値であり、遊技機が異常であると判定できる。この場合も、ベース値を計算しないくてもよい、又は、除算結果レジスタA131218から読み出した値でベース算出用領域13128を更新しなくてもよい。
また、ベース値の異常を判定する閾値は他の値でもよい。パチンコ機の通常の稼働におけるベース値の正常値(例えば、30%~50%)を定めて、当該正常値の範囲外であれば、除算結果レジスタA131218から読み出した値でベース算出用領域13128を更新せず、ベース値の表示を更新しなくてもよい。
以上にベース値を表示しない場合を説明したが、計算されたベース値が異常な値であっても、当該異常なベース値を表示してもよい。
なお、総賞球数と総アウト球数は、図52で後述するように、パチンコ機1が稼働を開始したときからの累計の数値であるが、総賞球数と総アウト球数を同じタイミングで(例えば、所定の賞球数毎、所定のアウト球数毎に)初期化してもよい。
その後、ベース報知コマンドを生成し(ステップS908)、遊技者やホール従業員にベースを報知する。
以上に説明したように、本実施例のパチンコ機は、賞球数を取得する毎に賞球数が異常でないかを判定するので、不正行為を早期に発見できる。これは、通常の遊技中では、一般入賞口2001や始動入賞口2002、2004に、高い確率で相当数の遊技球(例えば発射球数の50%)が入賞することはない。そこで、常に開口している入賞口(一般入賞口2001や始動入賞口2002、2004)への入賞の異常を判定し、報知する。
また、本実施例のパチンコ機では、賞球数が所定の条件を満たした場合にベース値を計算するので、適切なタイミングで正確なベース値を表示できる。
図46、図47に示す例では、賞球数が所定数の達したタイミングでベース値を計算するので、賞球毎にベース値を計算する場合より、ベース値の計算に要する演算量(例えば主制御MPU1311の負荷)を低減できる。なお、新たなベース値が計算されると、計算されたベース値を報知するためのベース報知コマンドが生成されて新たなベース値が報知されるが、それまでの間は従来のベース値が報知される。
図48は、ベース算出用領域更新処理(ステップS81)の別の一例を示すフローチャートである。図48に示すベース算出用領域更新処理は、アウト球数が所定の条件を満たしたタイミングでベース値を計算するために、アウト球数をアウト球数バッファに記録する(ステップS819)。なお、図48において、前述したベース算出用領域更新処理と同じ部分には同じステップ番号を付し、その詳細の説明は省略する。
まず、遊技状態が特賞中であるかを判定する(ステップS810)。特賞中であるかの判定基準は図39で説明したものと同じものを用いることができる。そして、特賞中以外の賞球数を取得し(ステップS811)、賞球があるかを判定する(ステップS812)。そして、ステップS812における判定の結果、賞球があれば、取得した賞球数を総賞球数に加算する(ステップS814)。すなわち、図48に示すベース算出用領域更新処理では、賞球数が計算される都度、ベース値の計算に用いられる総賞球数が更新される。
そして、賞球数に異常があるかを判定し(ステップS815)、賞球数に異常があれば、異常報知コマンドを生成し(ステップS816)、賞球異常報知用タイマをリセットする(ステップS817)。
その後、アウト球数を取得し(ステップS818)。取得したアウト球数をアウト球数バッファに加算する(ステップS819)。
その後、賞球異常報知用タイマがタイムアップしたかを判定し(ステップS824)、賞球異常報知用タイマがタイムアップすると、賞球異常報知停止コマンドを生成し、賞球異常報知を停止する(ステップS825)。
また、本実施例のパチンコ機では、所定の賞球数毎にベース値を計算する。このため、例えば、始動入賞口に遊技球が入賞して、先読み演出を発生させることが決定され、保留表示の表示態様を通常とは異なる態様(点滅表示や赤色保留など)で表示する場合に、遊技者は先読みされた保留に対応する特別図柄変動表示ゲームが大当りになることを期待するが、当該特別図柄変動表示ゲームがハズレであると、遊技者は落胆する。このような場合でも、本実施例のように、所定の賞球数毎にベース値を計算すると、前述したような遊技者の落胆を低減できる。これは、賞球発生タイミングよりベース値の計算が遅延するので、始動口に入賞したことによる賞球によって高くなったベース値が報知されるためである。すなわち、始動入賞口への入賞時に先読み演出を実行すると判定された場合でも、当該始動入賞口への入賞時に払い出される賞球数を加算しても上述した所定数(例えば、閾値Th1=100個)に達しない場合にはベース値は更新されない。つまり、遊技者に表示されるベース値は変化していない。しかし、賞球を得られたので、ベース値は上昇するはずである(表示桁数の関係で下位の数値しか変わらず、表示は変わらない場合がある)。このため、前述した先読み演出がはずれであっても、遊技者は、後にベース値が上昇する(すなわち、調子がよい)と思い、興趣の低下が抑制できる。換言すると、先読み演出を実行すると判定された場合でも、賞球バッファ値が所定数(閾値Th1)に達していない場合にはベース値が更新されない。また、先読み演出を実行すると判定された場合で且つ賞球バッファ値が所定数に達した場合には、次に賞球バッファ値が所定数に達するまで、ベース値の計算が遅延させてもよい。
なお、ベース値の計算を遅延させるか、遅滞なく計算するかを遊技者が選択できるようにしてもよい。例えば、遊技の開始時に操作ボタン220Cによって選択できるようにする。また、抽選によって、ベース値の計算タイミングを決定してもよい。また、先読み演出を行うことが決定されると、ベース値の計算の遅延を報知可能な演出を実行するとよい。なお、特別図柄変動表示ゲームの保留記憶が上限に到達している場合、始動入賞口に入賞しても大当たり抽選は実行されない。この場合でも、始動入賞口への入賞に伴い賞球が払い出されるので、当該賞球数は計数され、ベース値の計算に使用される。なお、特定のエラー時に、始動入賞口や一般入賞口に入賞しても、入賞がなかったと取り扱われて、賞球が払い出されない場合は、賞球数は計数されず、当該入賞によってはベース値は更新されない。
図49は、ベース算出・表示処理(ステップS89)の別の一例を示すフローチャートである。図49に示すベース算出・表示処理では、アウト球数が所定の条件を満たすタイミングでベース値が更新される。なお、図49において、前述したベース算出・表示処理と同じ部分には同じステップ番号を付し、その詳細の説明は省略する。
まず、アウト球数バッファに格納されているアウト球数が予め定められている閾値Th2以上であるかを判定する(ステップS895)。アウト球数バッファ値が所定の閾値Th2以上であるかの判定には様々な方法がとり得る。例えば、アウト球数と閾値Th2とを比較したり、アウト球数の格納領域の所定のビットの値で判定してもよい(具体的には、アウト球数の格納領域を8ビットで構成し、最上位ビットが1になればアウト球数が128以上であると判定できる)。またベース算出用領域更新処理(図48)でアウト球数と閾値Th2とを比較した判定結果をフラグに記録し、ベース算出・表示処理(図49)では、当該フラグによって、アウト球数が所定の閾値Th2以上であるかを判定してもよい。
そして、アウト球数バッファ値が閾値Th2より小さければ、ベース値を計算するタイミングではないので、ベース算出・表示処理を終了する。
一方、アウト球数バッファ値が閾値Th2以上であれば、総アウト球数に閾値Th2を加算し(ステップS899)、アウト球数バッファから閾値Th2を減算する(ステップS900)。なお、アウト球数バッファ値と閾値Th2とを比較せずに、所定時間(例えば、1分)毎に、ステップS899およびS900を実行してもよい。
その後、総賞球数を総アウト球数で除してベース値を計算する(ステップS903)。具体的には、総賞球数に所定数(例えば100)を乗じて除算入力レジスタA131216に格納し、総アウト球数を除算入力レジスタB131217に格納する。そして、32クロック経過後に、除算結果レジスタA131218から商を読み出して、ベース値とする。なお、総アウト球数が0である場合、ベース値を計算しても、演算回路13121からの返り値はエラーとなるので、ベース算出用領域13128に格納しなくてよい。この場合、ベース表示器1317に表示されるベース値は更新されない。
なお、総賞球数と総アウト球数は、パチンコ機1が稼働を開始したときからの累計の数値であるが、総賞球数と総アウト球数を同じタイミングで(例えば、所定の賞球数毎、所定のアウト球数毎に)初期化してもよい。
その後、ベース報知コマンドを生成し(ステップS908)、遊技者やホール従業員にベースを報知する。ベース報知コマンドは、単にベース値を報知するものでも、特定の演出でベース値を報知するものでも、ベース値の異常を報知するものでもよい。
以上に説明したように、本実施例のパチンコ機では、アウト球数(発射球数)が所定数に達する毎にベース値を更新し表示できる。このため、適切なタイミングでベース値を表示できる。また、面白さが追求された遊技機を提供できる。
また、賞球(入賞検出、払出コマンド送信、払出コマンド到達、賞球払出完了など)の都度、賞球数を総賞球数に加算する。これは、賞球数を加算する際に所定の条件を満たしているか(例えば、賞球に対応するアウト球があるか)を確認すると、ベース値を正しく計算できないおそれがあるためである。例えば、発射が所定時間(1分程度)行われなくても、遊技領域に配設された釘に遊技球が引っ掛かって生じる玉掛り(ぶどう)状態が解消し、遅れて入賞口に遊技球が入賞する場合があるからである。このため、アウト球の有無にかかわらず賞球数を更新することが望ましい。
アウト球数およびアウト球数バッファ値のいずれもが閾値Th2より小さい場合、アウト球数バッファ値が閾値Th2より小さい端数であることを表示したり、アウト球数バッファ値を表示してもよい。
図48、図49に示す例では、アウト球数が所定数の達したタイミングでベース値を計算するので、アウト球が検出される毎にベース値を計算する場合より、ベース値の計算に要する演算量(例えば主制御MPU1311の負荷)を低減できる。なお、新たなベース値が計算されると、計算されたベース値を報知するためのベース報知コマンドが生成されて新たなベース値が報知されるが、それまでの間は従来のベース値が報知される。
図50は、ベース算出用領域更新処理(ステップS81)の別の一例を示すフローチャートである。図50に示すベース算出用領域更新処理は、賞球数とアウト球数のいずれかが所定の条件を満たしたタイミングでベース値を計算するために、賞球数を賞球数バッファに記録し、アウト球数をアウト球数バッファに記録する。なお、図50において、前述したベース算出用領域更新処理と同じ部分には同じステップ番号を付し、その詳細の説明は省略する。
まず、遊技状態が特賞中であるかを判定する(ステップS810)。特賞中であるかの判定基準は図39で説明したものと同じものを用いることができる。そして、特賞中以外の賞球数を取得し(ステップS811)、賞球があるかを判定する(ステップS812)。そして、賞球があれば、取得した賞球数を賞球数バッファに加算する(ステップS813)。
そして、賞球数に異常があるかを判定し(ステップS815)、賞球数に異常があれば、異常報知コマンドを生成し(ステップS816)、賞球異常報知用タイマをリセットする(ステップS817)。
その後、アウト球数を取得し(ステップS818)、取得したアウト球数をアウト球数バッファに加算する(ステップS819)。
その後、賞球異常報知用タイマがタイムアップしたかを判定し(ステップS824)、賞球異常報知用タイマがタイムアップすると、賞球異常報知停止コマンドを生成し、賞球異常報知を停止する(ステップS825)。
図51は、ベース算出・表示処理(ステップS89)の別の一例を示すフローチャートである。図51に示すベース算出・表示処理では、賞球数とアウト球数のいずれかが所定の条件を満たすタイミングでベース値が更新される。なお、図51において、前述したベース算出・表示処理と同じ部分には同じステップ番号を付し、その詳細の説明は省略する。
まず、賞球数バッファに格納されている賞球数が予め定められている閾値Th1以上であるかを判定する(ステップS890)。賞球数バッファ値が閾値Th1より小さければ、総賞球数を更新するタイミングではないので、ステップS895に進む。一方、賞球数バッファ値が閾値Th1以上であれば、総賞球数に閾値Th1を加算し(ステップS891)、賞球数バッファから閾値Th1を減算する(ステップS892)。そして、総アウト球数にアウト球数バッファ値を加算し(ステップS893)、アウト球数バッファを0にする(ステップS894)。なお、賞球数バッファ値と閾値Th1とを比較せずに、所定回数の入賞毎や所定時間毎に、ステップS891からS894を実行してもよい。
その後、アウト球数バッファに格納されているアウト球数が予め定められている閾値Th2以上であるかを判定する(ステップS895)。アウト球数バッファ値が閾値Th2より小さければ、総アウト球数を更新するタイミングではないので、ステップS902に進む。一方、アウト球数バッファ値が閾値Th2以上であれば、総賞球数に賞球数バッファ値を加算し(ステップS897)、賞球数バッファを0にする(ステップS898)。そして、総アウト球数に閾値Th2を加算し(ステップS899)、アウト球数バッファから閾値Th2を減算する(ステップS900)。
その後、総アウト球数が0であるかを判定する(ステップS902)。総アウト球数が0であれば、ベース値を計算できないので、ベース算出・表示処理を終了する。一方、総アウト球数が0でなければ、総賞球数を総アウト球数で除してベース値を計算する(ステップS903)。具体的には、総賞球数に所定数(例えば100)を乗じて除算入力レジスタA131216に格納し、総アウト球数を除算入力レジスタB131217に格納する。そして、32クロック経過後に、除算結果レジスタA131218から商を読み出して、ベース値とする。なお、総アウト球数が0である場合、ベース値を計算しても、演算回路13121からの返り値はエラーとなるので、ベース算出用領域13128に格納しなくてよい。この場合、ベース表示器1317に表示されるベース値は更新されない。
その後、ベース報知コマンドを生成し(ステップS908)、遊技者やホール従業員にベースを報知する。ベース報知コマンドは、単にベース値を報知するものでも、ベース値の異常を報知するものでもよい。なお、ベース値を計算する毎にベース報知コマンドを生成しても、ベース値を計算してもベース報知コマンドを生成しなくてもよい。
図51に示すベース算出・表示処理では、総賞球数や総アウト球数が更新されなくても、毎回ベース値を計算している。すなわち、総賞球数および総アウト球数が更新されなければ、ベース値として同じ値が計算され、ベース値は同じ値を維持する。一方、総賞球数または総アウト球数が更新されれば、ベース値は違う値に更新される。
図52は、ベース算出用領域13128における各データを格納するためのワークエリアの具体的な構造を示す図である。
ベース算出用領域13128の総賞球数および総アウト球数のデータは、主制御MPU1311が実行するベース算出用領域更新処理およびベース算出・表示処理(図39、図46、図47、図48、図49、図51など)で書き込まれ、ベース算出・表示処理(図40、図47、図49、図51など)で読み出される。また、ベース算出用領域13128の賞球数バッファおよびアウト球数バッファのデータは、主制御MPU1311が実行するベース算出用領域更新処理(図46、図48、図50など)で書き込まれ、ベース算出・表示処理(図47、図49、図51など)で読み出される。このため、ベース算出用領域更新処理およびベース算出・表示処理をタイマ割込み処理(遊技制御プログラム)と分けて構成でき、異なる仕様の遊技機でも役物比率算出・表示処理のためのプログラムを共通化できる。
図52(A)は、最も簡単な方法のワークエリアの構造の一例を示す。図52(A)に示すワークエリアの構造では、賞球数バッファ、総賞球数、アウト球数バッファ、入賞球数バッファ、特定入賞球数バッファ、総アウト球数及びベースを格納する。賞球数バッファは、特賞中以外に遊技者に払い出された賞球数を一時的に格納し、賞球数が所定の条件を満たした場合(例えば、所定数の賞球ごと)にベースを計算するために用いられる。総賞球数は、特賞中以外に遊技者に払い出された全賞球数である。アウト球数バッファは、特賞中以外に遊技者が発射した遊技球数であり、アウト球数が所定の条件を満たした場合(例えば、所定数のアウト球ごと)にベースを計算するために用いられる。入賞球数バッファは、一般入賞口や始動入賞口に入賞した球数を一時的に格納する。特定入賞球数バッファは、特定の一般入賞口や始動入賞口に入賞した球数を一時的に格納する。入賞球数バッファは、アウト口通過球数によってアウト球数を計数する場合(図55、図56)に使用される。特定入賞球数バッファは、特定一般入賞口への入賞球数でアウト球数を補正する場合(図71、図72)に使用される。総アウト球数は、特賞中以外に遊技者が発射した全遊技球数である。ベースは、総賞球数÷総アウト球数×100で計算され、パーセンテージで表された数値であり、ベース算出・表示処理のステップS903で計算される。
図52(A)に示すワークエリアの構造のうち、総賞球数及び総アウト球数は、後述する図52(B)の総累計の各領域に相当し、各々3又は4バイトの記憶領域であり、10進数で16777215又は4294967295までの数値を記憶できる。これらのデータはデータに異常が生じない限り消去されないことから、長期間のデータを格納できるように大きな記憶領域を用意する。また、ベースは、後述する図52(B)のベースの総累計に相当する1バイトの記憶領域であり、10進数で255までの数値を記憶できる。なお、ベース値が小数で記録できる容量を割り当ててもよい。
図52(B)は、リングバッファを用いたワークエリアの構造の別の一例を示す。図52(B)に示すワークエリアの構造では、賞球数バッファ、総賞球数、アウト球数バッファ、入賞球数バッファ、特定入賞球数バッファ、総アウト球数及びベースを格納する。各データ項目は、図52(A)における説明と同じである。総賞球数および総アウト球数の記憶領域は、所定数の賞球毎(または、所定数のアウト球数毎、所定時間毎)にn個の記憶領域(例えば、賞球6000個毎にn=10個の記憶領域)を持つリングバッファによって構成されており、賞球数が所定数(6000個)になると全てのデータの書き込みポインタが移動して、データが更新される記憶領域が変わる。そして、n番目の記憶領域に所定数の賞球分のデータが格納された後、書き込みポインタは1番目の記憶領域に移動し、1番目の記憶領域にデータを格納する。なお、賞球数以外のデータ(アウト球数、所定時間など)が所定数となった場合に、書き込みポインタを移動してもよい。
なお、リングバッファの書き込みポインタ及び読み出しポインタは全てのデータに共通であり、所定の賞球数毎に全てのデータ列の書き込みポインタが移動する。また、書き込みポインタの移動に伴い、読み出しポインタも移動する。読み出しポインタは、書き込みポインタより一つ前の記憶領域を指す。これは、賞球6000個分の直近のデータを用いてベース値を計算するためである。
総賞球数及び総アウト球数の累計は、リングバッファのn個の記憶領域に格納されているデータの累計値であり、ベースの累計の値は総賞球数及び総アウト球数の累計値から算出された値であり、リングバッファが一巡して、新たなデータを書き込むためにリングバッファの一つの記憶領域がクリアされると、当該クリアされた領域のデータを除外して累計値が再計算される。各データの総累計は、過去に収集した全データの累計値であり、当該累計値から計算されたベースの総累計の値は各データの総累計値から算出された値であり、リングバッファが一巡して、新たなデータを書き込むためにリングバッファの一つの記憶領域がクリアされても、当該クリアされた領域の元のデータを含めて総累計値が計算される。
図52(B)に示すワークエリアの構造のうち、リングバッファ内の総賞球数、総アウト球数は、各々2バイトの記憶領域であり、10進数で65535までの数値を記憶できる。累計は賞球6000個×n(n=10の場合は60000個の賞球)分のデータの合計であることから、大きな記憶領域を用意する。総賞球数および総アウト球数の累計は、各々3又は4バイトの記憶領域であり、10進数で16777215又は4294967295までの数値を記憶できる。総累計はデータに異常が生じない限り消去されないことから、長期間のデータを格納できるように、さらに大きな記憶領域を用意する。また、ベースの累計及び総累計は、各々1バイトの記憶領域であり、10進数で255までの数値を記憶できる。なお、ベース値が小数で記録できる容量を割り当ててもよい。
図52(A)に示すデータ構造では、格納されているデータは消去されないので、所定期間(例えば、1日、1週間、1月など)毎にベース算出用領域13128のデータを消去してもよい。同様に、図52(B)の総累計を所定期間毎に消去してもよい。
また、ベース算出用領域13128のデータや、算出されたベース値が異常値である場合、当該異常値を消去してもよい。当該異常値だけでなく、ベース算出用領域13128の全データを消去してもよい。また、ベース算出用領域13128のデータや、算出されたベース値が異常であることを報知してもよい。また、チェックコードを用いてバックアップ領域のデータを検査し、正常なバックアップ領域のデータをメイン領域に複製後に、再度ベース値を計算してもよい。
[9-4.ベース値の表示]
前述したように計算されたベース値は、パチンコ機1の電源が投入されている間は表示し続けてもよいが、本体枠4が閉鎖され遊技が可能な状態では、ベース表示器1317を視認できないので、7セグメントLED13172を消灯し、遊技機の消費電力を低減してもよい。当然ながら、7セグメントLED13172の消灯中でも、ベース算出用領域更新処理(ステップS81)及びベース算出・表示処理(ステップS89)は実行される。
また、ベース表示器1317は、ベース値を常に表示しても、表示スイッチ1318の操作によってベース値を表示してもよい。例えば、押ボタンスイッチである表示スイッチ1318を押すと、ベース値の表示を開始し、所定時間表示した後に表示を消す。なお、本体枠4が外枠2から開放したことを本体枠開放スイッチ(図示省略)が検出中に表示スイッチ1318が操作されると、ベース表示器1317にベース値を表示してもよい。すなわち、本体枠4の開放中でなければ表示スイッチ1318が操作されても、ベース表示器1317は役物比率を表示しない。
また、本体枠4が開放された場合には、ベース表示器1317が正常に動作していることを確認できるように、全桁に所定の表示をするとよい。例えば、図36(B)に示すように全桁に「-」を表示したり、全セグメントを点灯してもよい。
そして本体枠4が閉鎖されると、ベース表示器1317の正常動作を確認できる所定の表示を行い(図36(E))、所定時間(例えば、30秒)経過後、7セグメントLED13172を消灯し、遊技機の消費電力を低減するとよい。このベース非表示状態は、初期設定完了後(図36(B))と同じ態様であるが、異なる態様でもよく、表示されるベース値と区別可能な態様であればよい。
ベース表示器1317を機能表示ユニット1400で兼用してもよい。機能表示ユニット1400は通常は主制御基板1310からの制御信号に基づいて遊技状況を表示するが、本体枠4が外枠2から開放したことを本体枠開放スイッチ(図示省略)が検出すると、主制御基板1310は、機能表示ユニット1400がベース値を表示するように表示を切り替える。本体枠4の開放によって機能表示ユニット1400の表示を切り替えても、遊技の進行は継続するとよい。遊技の進行を継続することによって、本体枠4が閉鎖するとベース表示から遊技状態の表示に迅速に切り替えることができる。例えば、特別図柄変動表示ゲーム中に本体枠4が開放するとベース値が表示されるが、変動時間の経過前に本体枠4が閉鎖されると、残りの時間分の変動表示を行うことができる。機能表示ユニット1400に表示される特別図柄はメイン液晶表示装置1600に表示される装飾図柄と同期しているので、機能表示ユニット1400の特別図柄変動表示が停止するタイミングで装飾図柄が停止する。このため、機能表示ユニット1400がベース値を表示しても、遊技者に違和感を与えないように構成できる。
また、本体枠4の閉鎖中でも、計算されたベース値(前述した実施例では、役物比率)をベース表示器(役物比率表示器)1317に表示してもよい。このようにすると、本体枠4を開けずにベース値(役物比率)を確認できるので、遊技機の稼働の低下を抑制できる。また、本体枠4が開放しているかの判定が不要である。また、パチンコ機が両側に設置される島設備では、片側のパチンコ機の本体枠4を開放すると、反対側に設置されたパチンコ機の裏面を見ることができる。このような遊技機において、片側のパチンコ機の本体枠4を開放することによって、背中合わせに設置された2台のパチンコ機のベース(役物比率)を確認できる。また、本体枠4の閉鎖中でもベース値を表示する場合、遊技者が認識できる形態で(例えば、特別図柄変動表示ゲームの演出を表示する表示装置や枠に取り付けられた表示装置などに)ベース値を表示するとよい。ベース値は、パチンコ機の調子を表すバロメータとして利用可能であり、遊技者が見る価値があるからである。主制御基板1310でベース値を計算する場合にはベース値を表示するための信号を主制御基板1310から周辺制御基板1510に送信すればよい。払出制御基板951でベース値を計算する場合にはベース値を表示するための信号を払出制御基板951から周辺制御基板1510に送信すればよい。また、ベース値を表示するための信号を中継基板を介して送信してもよい。
また、本実施例のパチンコ機では、省エネモードに移行してもベース表示器1317の光量(輝度)を変化させない。省エネモード中にベース表示器1317の光量を低下させると、開店時間以外にパチンコ機を調整する場合にベース表示器1317によるベース値の確認が困難になるからである。
具体的には、本実施例の遊技機は、いずれの入賞口にも遊技球が入賞せず、特別図柄変動表示ゲームの保留記憶が消化された後、所定時間が経過すると、待機状態になる。待機状態において、周辺制御部1511は、いわゆる通常変動で出力するBGMを継続して出力する。さらに、待機状態で所定時間(例えば、30秒)が経過するとデモ状態に移行する。デモ状態では、遊技機のモチーフが分かる動画を再生したり、遊技機の説明が行われたりする。さらに、デモ状態で所定時間(例えば、30秒)が経過すると省エネモードに移行する(なお、デモ状態と省エネモードとを区別しなくてもよい)。省エネモードでは、電力消費を抑制するために、周辺制御部1511が制御する液晶表示装置1600、3114、244や各種ランプの光量を低減する。しかし、主制御基板1310が制御する表示装置(機能表示ユニット1400やベース表示器1317)の消費電力は、パチンコ機全体の消費電力と比べて小さいので、これらの表示装置の光量を低減しなくてもよい。また、機能表示ユニット1400の光量を低減しなければ、空き台で遊技しようとする遊技者が前回の抽選の結果を容易に視認できる。
また、始動入賞口や一般入賞口に遊技球が入賞しなくても、遊技球が遊技領域に向けて発射されアウト球が検出されると、表示されているベース値が再計算され更新される可能性がある。遊技球が発射されアウト球数が増加しても賞球数が増えなければ、計算されるベース値は低下するが、リベンジに燃える遊技者もいる。
このような遊技者に、ベース表示器1317を兼ねた機能表示ユニット1400で遊技の状態を報知することによって、遊技の興趣を再興できる。すなわち、デモモードや省エネモードに移行しても、ベース値が表示される表示器の表示態様をデモモードや省エネモードに移行する前の光量を維持するか、光量を上昇させて、遊技者がベース値をきちんと確認できるようにするとよい。
このようにベース値が表示される表示器の光量の維持または上昇について説明したが、消費エネルギーの低減という観点を重視して、ベース値が表示される表示器の光量を下降または消灯してもよい。例えば、省エネモード中に所定の操作(発射を強制的に停止させる発射停止ボタン、現出される演出に変化を与える演出操作ボタン、RAMの内容をクリアするRAMクリアボタン、遊技機への電力の供給の有無を切り替える供給調整ボタンなどの遊技機に備わる操作手段の操作)を検出すると、ベース値が表示される表示器の光量を低減するとよい。さらに、省エネモード中に限らず、前述した所定の操作を行うと、省エネモード中に消費電力を低減するランプ等とベース値が表示される表示器との両方の光量を低減したり消灯してもよい。
ランプ等とベース値が表示される表示器との両方の光量を低減や消灯する場合、ベース値が表示される表示器より先に、省エネモード中に消費電力を低減するランプ等の光量を低減したり消灯してもよく、この場合、消費電力が大きいランプ等の光量を先に低減して消費電力を大きく減少させる効果を奏する。また、ベース値が表示される表示器をランプ等より先に、ベース値が表示される表示器の光量を低減したり消灯してもよく、この場合、省エネモード中でも遊技機の華やかさを維持する効果を奏する。また、省エネモード中に消費電力を低減するランプ等とベース値が表示される表示器とを同時に低減したり消灯してもよく、この場合、消費電力の低減量を大きくでき、省エネ効果が高い。なお、これらの説明における時間の前後(「先に」や「同時に」の意味)は、内部的な処理のタイミングの順序や、遊技者からの見た目の順序も含む。
また、ベース値の表示態様を複数段階に設定し、各段階の表示態様を変えてもよい。具体的には、表示されるベース値が、30%以上、25%以上30%未満、20%以上25%未満、15%以上20%未満、10%以上15%未満、10%未満のように複数の段階に分ける。ベース値を表示する表示器をマルチカラーLEDで構成して、各段階で白、青、黄のように発光色を変えて表示してもよい。また、ベース値を表示する表示器を液晶表示装置で構成して、各段階で「調子いいね」「調子が下がってきてるよ」「やばいんじゃない」「ある意味凄いね」など、ベース値が低いときには自虐的なコメントを表示してもよい。さらに、ベース値を表示する表示器の表示態様は変えずに、装飾図柄が表示されるメイン液晶表示装置1600に前述したようなコメントを付加する演出を実行してもよい。
[9-5.アウト口通過球数を用いるベース値の計算]
次に、図53から図56を用いて、ベース算出用領域更新処理(ステップS81)、ベース算出表示処理(ステップS89)のさらなるバリエーションを説明する。図54から図56で説明する処理では、入賞球数とアウト口通過球数を用いてアウト球数を計算し、ベース値を計算する。各バリエーションにおけるベース値の計算タイミングの概要は以下の通りである。
・図54及び図40:タイマ割込み周期ごとに毎回ベース値を計算
・図55及び図56:所定賞球数ごとおよび所定アウト球数ごとにベース値を計算
なお、所定賞球数ごとにベース値を計算するパターン、所定アウト球数ごとにベース値を計算するパターンの説明は省略するが、図54から図56を組み合わせることによって実現できる。
アウト球を、アウト口1111付近に設けたアウト口通過球センサ1021で検出すると、正確なアウト球数を計数できない問題がある。これは、遊技領域5aに向けて打ち出された遊技球は、アウト口1111の他、一般入賞口2001、始動入賞口2002、大入賞口2005、2006を経由して遊技領域5aから流出する。このため、アウト口通過球センサ1021では、遊技領域5aに向けて発射された遊技球の数を正確に計数できない。そこで、本実施例のパチンコ機では、入賞球数とアウト口通過球数を用いて正確にアウト球数を計算し、ベース値を正確に計算する。
図53は、遊技盤の別の一例を示す正面図である。
本実施例のパチンコ機の遊技盤は、図10に示す遊技盤と概ね同じ構造であるが、遊技領域5aの下部に設けられアウト口1111を通過して遊技領域5aから流出する遊技球(アウト口通過球数)を検出するアウト口通過球センサ1021を設ける。アウト口通過球センサ1021は、遊技者がアウト口1111を通して見える位置に設置するとよい。遊技者がアウト口1111を通して見える位置にアウト口通過球センサ1021を設置することによって、アウト球が計数されていること、すなわち、ベースが計算されていることを意識させることができる。
また、アウト口通過球センサ1021を、遊技領域5aからアウト口1111を通過して流下する遊技球が整列する集合樋など、遊技者から見ない位置に設置してもよい。遊技者が視認不可能な位置に設置すると、アウト球の計数を遊技者に意識させなくてよい。また、アウト口通過球センサ1021をアウト口1111の奥側に設けることによって、液晶表示装置や役物(可動体)を配置する場所を十分に確保でき、遊技盤5の設計の自由度を向上できる。また、遊技球の二重カウントを防止するため、アウト口通過球センサ1021を通過した遊技球が跳ね返らないように、アウト口通過球センサ1021を通過した遊技球が転動する転動面に傾斜をつけたり、曲面にするとよい。
図54は、ベース算出用領域更新処理(ステップS81)の別の一例を示すフローチャートである。図54に示すベース算出用領域更新処理は、タイマ割込み周期ごとにアウト口通過球数を用いてベース値を計算するために、賞球数、アウト口通過球数および入賞球数を取得する。なお、図54において、前述したベース算出用領域更新処理と同じ部分には同じステップ番号を付し、その詳細の説明は省略する。
まず、遊技状態が特賞中であるかを判定する(ステップS810)。特賞中であるかの判定基準は図39で説明したものと同じものを用いることができる。そして、特賞中以外の賞球数を取得し(ステップS811)、取得した賞球数を総賞球数に加算する(ステップS814)。すなわち、図54に示すベース算出用領域更新処理では、賞球数が計算される都度、ベース値の計算に用いられる総賞球数が更新される。なお、賞球があるかを判定し、賞球がなければ、総賞球数を更新する処理をスキップしてもよい。
その後、アウト口通過球数を取得し(ステップS818)、入賞球数を取得する(ステップS820)。そして、アウト口通過球数と入賞球数の和を総アウト球数に加算する(ステップS822)。すなわち、図54に示すベース算出用領域更新処理では、アウト球や入賞球が検出される都度、ベース値の計算に用いられる総アウト球数が更新される。
なお、前述したベース算出用領域更新処理(図46)のステップS815からS817のように、賞球数に異常があるかを判定し、賞球数に異常があれば、異常報知コマンドを生成し、賞球異常報知用タイマをリセットしてもよい。さらに、図46のステップS824からS825のように、賞球異常報知用タイマがタイムアップしたかを判定し、賞球異常報知用タイマがタイムアップすると、賞球異常報知停止コマンドを生成し、賞球異常報知を停止してもよい。
図54に示すベース算出用領域更新処理で総賞球数および総アウト球数を記録した後、図40に示すベース算出・表示処理によってベース値を計算できる。
図55は、ベース算出用領域更新処理(ステップS81)の別の一例を示すフローチャートである。図55に示すベース算出用領域更新処理は、賞球数とアウト球数のいずれかが所定の条件を満たしたタイミングでベース値を計算するために、賞球数を賞球数バッファに記録し、アウト口通過球数をアウト球数バッファに記録し、入賞球数を入賞球数バッファに記録する。なお、図55において、前述したベース算出用領域更新処理と同じ部分には同じステップ番号を付し、その詳細の説明は省略する。
まず、遊技状態が特賞中であるかを判定する(ステップS810)。特賞中であるかの判定基準は図39で説明したものと同じものを用いることができる。そして、特賞中以外の賞球数を取得し(ステップS811)、賞球があるかを判定する(ステップS812)。そして、賞球があれば、取得した賞球数を賞球数バッファに加算する(ステップS813)。
そして、賞球数に異常があるかを判定し(ステップS815)、賞球数に異常があれば、異常報知コマンドを生成し(ステップS816)、賞球異常報知用タイマをリセットする(ステップS817)。
その後、アウト口通過球数を取得し(ステップS818)、取得したアウト口通過球数をアウト球数バッファに加算する(ステップS819)。そして、入賞球数を取得し(ステップS820)、取得した入賞球数を入賞球数バッファに加算する(ステップS821)。
その後、賞球異常報知用タイマがタイムアップしたかを判定し(ステップS824)、賞球異常報知用タイマがタイムアップすると、賞球異常報知停止コマンドを生成し、賞球異常報知を停止する(ステップS825)。
図54に示すベース算出用領域更新処理では、取得したアウト口通過球数と入賞球数の和を一つの記憶領域(総アウト球数)に加算し、図55に示すベース算出用領域更新処理では、取得したアウト口通過球数と入賞球数を、別の記憶領域(アウト球数バッファ、入賞球数バッファ)に加算する。このように、アウト口通過球数と入賞球数を一つの記憶領域に記録しても、別の記憶領域に記録してもよい。
また、図55に示すベース算出用領域更新処理で、取得したアウト口通過球数と入賞球数を別の記憶領域に記録する場合、入賞口に入賞したときにアウト球数が1増えるので、アウト口通過球数の計数と入賞球数の計数が同時に(一つのタイマ割込み処理内で)実行されるが、アウト球数バッファと入賞球数バッファの両方を更新した後にベース値を計算する。その際、一つのタイマ割込み処理内でアウト球数バッファと入賞球数バッファの両方を更新できない場合に、アウト口通過球数を優先して計数するか、入賞球数を優先して計数するかを、適宜抽選によって決定するのではなく、予め定めておいたほうがよい。その際、賞球に関する処理を他の処理より優先すると、賞球の払出処理を迅速に実行できるが、遊技機の仕様に応じて適宜決定すればよい。
図56は、ベース算出・表示処理(ステップS89)の別の一例を示すフローチャートである。図56に示すベース算出・表示処理では、賞球数とアウト球数のいずれかが所定の条件を満たすタイミングでベース値が更新される。なお、図56において、前述したベース算出・表示処理と同じ部分には同じステップ番号を付し、その詳細の説明は省略する。
まず、賞球数バッファに格納されている賞球数が予め定められている閾値Th1以上であるかを判定する(ステップS890)。賞球数バッファ値が閾値Th1より小さければ、総賞球数を更新するタイミングではないので、ステップS896に進む。一方、賞球数バッファ値が閾値Th1以上であれば、総賞球数に閾値Th1を加算し(ステップS891)、賞球数バッファから閾値Th1を減算する(ステップS892)。そして、総アウト球数にアウト球数バッファ値を加算し(ステップS893)、アウト球数バッファを0にする(ステップS894)。なお、賞球数バッファ値と閾値Th1とを比較せずに、所定回数の入賞毎や所定時間毎に、ステップS891からS894を実行してもよい。
その後、アウト球数バッファに格納されているアウト口通過球数と入賞球数バッファに格納されている入賞球数との和が予め定められている閾値Th2以上であるかを判定する(ステップS896)。アウト口通過球数と入賞球数の合計が遊技領域に流入した遊技球の数でありアウト球数となる。判定の結果、計算されたアウト球数が閾値Th2より小さければ、総アウト球数を更新するタイミングではないので、ステップS902に進む。一方、計算されたアウト球数が閾値Th2以上であれば、総賞球数に賞球数バッファ値を加算し(ステップS897)、賞球数バッファを0にする(ステップS898)。そして、総アウト球数に閾値Th2を加算し(ステップS899)、入賞球数バッファを0に設定し、アウト球数バッファに入賞球数バッファ値を加算し、閾値Th2を減算する(ステップS901)。なお、アウト球数(アウト球数バッファ値+入賞球数バッファ値)と閾値Th2とを比較せずに、所定回数の入賞毎や所定時間毎に、ステップS896からS901を実行してもよい。
その後、総アウト球数が0であるかを判定する(ステップS902)。総アウト球数が0であれば、ベース値を計算できないので、ベース算出・表示処理を終了する。一方、総アウト球数が0でなければ、総賞球数を総アウト球数で除してベース値を計算する(ステップS903)。具体的には、総賞球数に所定数(例えば100)を乗じて除算入力レジスタA131216に格納し、総アウト球数を除算入力レジスタB131217に格納する。そして、32クロック経過後に、除算結果レジスタA131218から商を読み出して、ベース値とする。なお、総アウト球数が0である場合、ベース値を計算しても、演算回路13121からの返り値はエラーとなるので、ベース算出用領域13128に格納しなくてよい。この場合、ベース表示器1317に表示されるベース値は更新されない。
その後、ベース報知コマンドを生成し(ステップS908)、遊技者やホール従業員にベースを報知する。
図56に示すベース算出・表示処理では、総賞球数や総アウト球数が更新されなくても、毎回ベース値を計算している。すなわち、総賞球数および総アウト球数が更新されなければ、ベース値として同じ値が計算され、ベース値は同じ値を維持する。一方、総賞球数または総アウト球数が更新されれば、ベース値は違う値に更新される。
以上に説明したように本実施例のパチンコ機では、アウト口通過球数に入賞球数を加算してアウト球数を計算するので、アウト球数を正確に計数し、ベース値を正確に計算できる。さらに、遊技機の製造工程や検査工程において、ベース値を確認することによって、入賞口スイッチ、ベース表示器1317およびベース値を計算する処理が正常かを確認できる。
[9-6.ベースの異常の報知]
以上に説明した処理は、計算されたベース値を報知するためのコマンドを生成するものであるが、次に、ベース値の異常を判定し、該異常を報知する処理を説明する。
・図57:タイマ割込み周期ごとに毎回ベース値を計算
・図58:所定賞球数ごとおよび所定アウト球数ごとにベース値を計算
なお、所定賞球数ごとにベース値を計算するパターン、所定アウト球数ごとにベース値を計算するパターンの説明は省略するが、図57と図58を組み合わせることによって実現できる。
図57は、ベース算出・表示処理(ステップS89)の別の一例を示すフローチャートである。図57に示すベース算出・表示処理では、毎回(タイマ割込み周期ごと)にベース値を計算する。
まず、総アウト球数が0であるかを判定する(ステップS902)。総アウト球数が0であれば、ベース値を計算できないので、ベース値を計算せず、ベース算出・表示処理を終了する。一方、総アウト球数が0でなければ、総賞球数を総アウト球数で除してベース値を計算する(ステップS903)。具体的には、総賞球数に所定数(例えば100)を乗じて除算入力レジスタA131216に格納し、総アウト球数を除算入力レジスタB131217に格納する。そして、32クロック経過後に、除算結果レジスタA131218から商を読み出して、ベース値とする。なお、総アウト球数が0である場合、ベース値を計算しても、演算回路13121からの返り値はエラーとなるので、ベース算出用領域13128に格納しなくてよい。この場合、ベース表示器1317に表示されるベース値は更新されない。
その後、計算されたベース値が異常であるかを判定する(ステップS907)。ベース値の異常とは、例えば、計算されたベース値が設計値(正常値)から所定の許容範囲を超えて大きくまたは小さくなった場合などである。なお、複数段階の許容範囲を設けてベース値の乖離の程度によって異常の程度を複数段階で判定してもよい。そして、ベース値が異常であれば、ベース報知コマンドを生成し(ステップS908)、遊技者やホール従業員にベースを報知する。一方、ベース値が異常でなければ、ベース算出・表示処理を終了する。ベースの異常を報知する方法は、前述したベースの報知と同じ方法を採用できる。
例えば、以下に説明する方法の一つでも、二つ以上を組み合わせてもよい。具体的には、ベース表示器(7セグメントLED)1317、液晶表示装置1600、3114、244などでベース値の異常をで報知してもよい。遊技者にベース値の異常を報知すると、遊技者がパチンコ機の異常を確認できてよい。計算されたベース値をパーセンテージ表記として、前述した表示器や表示装置に表示して、ベース値の異常を報知してもよい。なお、小数点以下の値は切り捨て、四捨五入、切り上げのいずれでもよいし、液晶表示装置1600、3114、244など画像を表示可能な表示装置では、小数点以下第1位まで表示し、より詳細に表示してもよい。
また、液晶表示装置1600、3114、244にベース値を表示する場合、ベース値が異常である場合は、表示態様を変更するとよい。例えば、数値を点滅させたり、色を変えたり(通常時は緑色で、異常時は赤色など)して表示する。さらに、複数段階でベース値の表示態様を変えてもよい。具体的には、表示されるベース値が、30%以上、25%以上30%未満、20%以上25%未満、15%以上20%未満、10%以上15%未満、10%未満のように複数の段階に分けて、各段階で白、青、黄のように発光色を変えて表示してもよい。
また、各種ランプ、液晶表示装置、音などでベース値がどの範囲にあるか(ベース値が高いのか低いのか、異常値か正常値か、など)を報知してもよい。機能表示ユニット1400でベース値の異常を報知してもよい。また、外部端子板784から遊技場に設置されたホールコンピュータにベースの異常の情報を出力してもよい。
なお、図57に示すベース算出・表示処理は、例えば、図50、図55に示すような、賞球数やアウト球数が所定の条件を満たすタイミングで総賞球数や総アウト球数を更新するベース算出用領域更新処理と組み合わせて使用するとよい。
図58は、ベース算出・表示処理(ステップS89)の別の一例を示すフローチャートである。図58に示すベース算出・表示処理では、賞球数とアウト球数のいずれかが所定の条件を満たすタイミングでベース値が更新される。なお、図58において、前述したベース算出・表示処理と同じ部分には同じステップ番号を付し、その詳細の説明は省略する。
まず、賞球数バッファに格納されている賞球数が予め定められている閾値Th1以上であるかを判定する(ステップS890)。賞球数バッファ値が閾値Th1より小さければ、総賞球数を更新するタイミングではないので、ステップS895に進む。一方、賞球数バッファ値が閾値Th1以上であれば、総賞球数に閾値Th1を加算し(ステップS891)、賞球数バッファから閾値Th1を減算する(ステップS892)。そして、総アウト球数にアウト球数バッファ値を加算し(ステップS893)、アウト球数バッファを0にする(ステップS894)。なお、賞球数バッファ値と閾値Th1とを比較せずに、所定回数の入賞毎や所定時間毎に、ステップS891からS894を実行してもよい。
その後、アウト球数バッファに格納されているアウト球数が予め定められている閾値Th2以上であるかを判定する(ステップS895)。アウト球数バッファ値が閾値Th2より小さければ、総アウト球数を更新するタイミングではないので、ステップS902に進む。一方、アウト球数バッファ値が閾値Th2以上であれば、総賞球数に賞球数バッファ値を加算し(ステップS897)、賞球数バッファを0にする(ステップS898)。そして、総アウト球数に閾値Th2を加算し(ステップS899)、アウト球数バッファから閾値Th2を減算する(ステップS900)。
その後、総アウト球数が0であるかを判定する(ステップS902)。総アウト球数が0であれば、ベース値を計算できないので、ベース算出・表示処理を終了する。一方、総アウト球数が0でなければ、総賞球数を総アウト球数で除してベース値を計算する(ステップS903)。具体的には、総賞球数に所定数(例えば100)を乗じて除算入力レジスタA131216に格納し、総アウト球数を除算入力レジスタB131217に格納する。そして、32クロック経過後に、除算結果レジスタA131218から商を読み出して、ベース値とする。なお、総アウト球数が0である場合、ベース値を計算しても、演算回路13121からの返り値はエラーとなるので、ベース算出用領域13128に格納しなくてよい。この場合、ベース表示器1317に表示されるベース値は更新されない。
その後、計算されたベース値が異常であるかを判定する(ステップS907)。ベース値の異常とは、例えば、計算されたベース値が設計値(正常値)から所定の許容範囲を超えて大きくまたは小さくなった場合などである。なお、複数段階の許容範囲を設けてベース値の乖離の程度によって異常の程度を複数段階で判定してもよい。そして、ベース値が異常であれば、ベース報知コマンドを生成し(ステップS908)、遊技者やホール従業員にベースを報知する。一方、ベース値が異常でなければ、ベース算出・表示処理を終了する。
図58に示すベース算出・表示処理では、総賞球数や総アウト球数が更新されなくても、毎回ベース値を計算している。すなわち、総賞球数および総アウト球数が更新されなければ、ベース値として同じ値が計算され、ベース値は同じ値を維持する。一方、総賞球数または総アウト球数が更新されれば、ベース値は違う値に更新される。
なお、図58に示すベース算出・表示処理は、例えば、図39や図54に示すように、取得した賞球数やアウト球数を用いて直接、総賞球数や総アウト球数を更新するベース算出用領域更新処理と組み合わせて使用するとよい。
以上に説明したように、本実施例のパチンコ機では、計算されたベース値が異常である場合に当該異常を報知するので、遊技者は遊技機の状態を知ることができ、ホール従業員は遊技機への不正な操作の可能性を知ることができる。また、従来のエラー検出では発見できない遊技機の異常を検出し報知できる。
[9-7.ベースの変化の報知]
次に、計算されたベース値の変化を報知する遊技機の実施例を説明する。
パチンコ機で計算されるベース値は、当然ながら上下する。ベース値は遊技機の調子を表すため、遊技中の遊技者はベース値そのものの他、ベース値の変化を気にする。このため、遊技者へのベース値の変化の報知が望まれる。ベース値の上下の目安となる表示が出現すると、遊技者は安心して遊技を行うことができる。
図59は、ベース算出・表示処理(ステップS89)の別の一例を示すフローチャートである。図59に示すベース算出・表示処理では、現在のベース値と過去のベース値の履歴とを比較するために、計算されたベース値の履歴を記録する。なお、図59において、前述したベース算出・表示処理と同じ部分には同じステップ番号を付し、その詳細の説明は省略する。
まず、賞球数バッファに格納されている賞球数が予め定められている閾値Th1以上であるかを判定する(ステップS890)。賞球数バッファ値が閾値Th1より小さければ、総賞球数を更新するタイミングではないので、ステップS895に進む。一方、賞球数バッファ値が閾値Th1以上であれば、総賞球数に閾値Th1を加算し(ステップS891)、賞球数バッファから閾値Th1を減算する(ステップS892)。そして、総アウト球数にアウト球数バッファ値を加算し(ステップS893)、アウト球数バッファを0にする(ステップS894)。なお、賞球数バッファ値と閾値Th1とを比較せずに、所定回数の入賞毎や所定時間毎に、ステップS891からS894を実行してもよい。
その後、アウト球数バッファに格納されているアウト球数が予め定められている閾値Th2以上であるかを判定する(ステップS895)。アウト球数バッファ値が閾値Th2より小さければ、総アウト球数を更新するタイミングではないので、ステップS902に進む。一方、アウト球数バッファ値が閾値Th2以上であれば、総賞球数に賞球数バッファ値を加算し(ステップS897)、賞球数バッファを0にする(ステップS898)。そして、総アウト球数に閾値Th2を加算し(ステップS899)、アウト球数バッファから閾値Th2を減算する(ステップS900)。
その後、総アウト球数が0であるかを判定する(ステップS902)。総アウト球数が0であれば、ベース値を計算できないので、ベース算出・表示処理を終了する。一方、総アウト球数が0でなければ、総賞球数を総アウト球数で除してベース値を計算する(ステップS903)。具体的には、総賞球数に所定数(例えば100)を乗じて除算入力レジスタA131216に格納し、総アウト球数を除算入力レジスタB131217に格納する。そして、32クロック経過後に、除算結果レジスタA131218から商を読み出して、ベース値とする。なお、総アウト球数が0である場合、ベース値を計算しても、演算回路13121からの返り値はエラーとなるので、ベース算出用領域13128に格納しなくてよい。この場合、ベース表示器1317に表示されるベース値は更新されない。
その後、ベース値管理タイマがタイムアップしたかを判定する(ステップS904)。ベース値管理タイマがタイムアップしていなければ、ベース値をベース履歴に格納するタイミングではないので、ベース算出・表示処理を終了する。一方、ベース値管理タイマがタイムアップしていれば、ベース値をベース履歴に格納し(ステップS905)、ベース値管理タイマをリセットする(ステップS906)。
ベース値管理タイマは、所定時間(例えば、10分)毎にベース値を記録するために使用されるタイマで、ベース値管理タイマがタイムアップする毎に現在のベース値をベース履歴に格納する。ベース履歴は、ベース算出用領域13128に格納される。ベース履歴は、一つのみをベース算出用領域13128に格納しても、複数をベース算出用領域13128に格納してもよい。複数のベース履歴をベース算出用領域13128に格納する場合、ベース算出用領域13128にリングバッファを構成し、例えば所定時間×10個のベース値を格納してもよい。また、図52に示すように、ベース算出用領域13128に総賞球数と総アウト球数のリングバッファを構成し、例えば所定時間×n個の賞球数と総アウト球数を格納し、必要に応じてベース値を計算してもよい。
その後、ベース報知コマンドを生成し(ステップS908)、遊技者やホール従業員にベースを報知する。
図63は、表示選択処理の一例を示すフローチャートである。表示選択処理は、周辺制御部電源投入時処理(図60)の表示データ作成処理(ステップS1030)から呼び出される。
まず、周辺制御部1511のMPUは、ベース算出用領域13128に格納された特定のベース履歴(例えば、直近の過去のベース値)を選択し、選択されたベース履歴値が現在のベース値より小さいかを判定する(ステップS10301)。その結果、選択されたベース履歴値が現在のベース値より小さければ、ベース低下継続時間計測タイマを参照し、ベース値の低下開始から所定時間(例えば、30秒)が経過しているかを判定する(ステップS10302)。そして、ベースの低下開始から所定時間が経過していなければ、ベース低下中の演出テーブルを選択する(ステップS10303)。一方、ベースの低下開始から所定時間が経過していれば、ベース低下継続中の演出テーブルを選択する(ステップS10304)。
一方、選択されたベース履歴値が現在のベース値より小さくなければ(等しいまたは大きい)、ベース低下継続時間計測タイマをリセットし(ステップS10305)、ベース上昇中の表示選択テーブルを選択する(ステップS10306)。
以上に説明した表示選択処理では、ステップS10301において、現在のベース値がベース履歴値より小さいかを判定したが、現在のベース値とベース履歴値とを比較して、大きい、等しい、小さいを判定してもよい。ベース値は除算で求まることから一般的に小数値である。このため、所定の許容範囲(例えば、3%)を考慮してベース履歴値と現在のベース値とが等しいかを判定するとよい。
図64から図68は、表示選択テーブルの一例を示す図である。これらの表示選択テーブルは、始動入賞口への入賞を契機として(または、特別図柄変動表示ゲームの開始前に)選択された乱数によって、特別図柄変動表示ゲームの演出を選択するために用いられる。図64から図66に示す表示選択テーブル1はベース値の上昇中またはベース値に変化がない場合に選択され、図67、図68に示す表示選択テーブル2、3は、ベース値の低下中に選択される。特に、図68に示す表示選択テーブル3は、ベース値が低下し始めてから所定時間(例えば30秒)の経過後に選択される。
各表示選択テーブルは、演出番号、演出内容、変動時間、備考、振り分けの各項目を含む。演出番号は、表示選択テーブルで選択される演出を一意に識別するための識別子である。演出内容は、当該演出の名称である。変動時間は、当該演出により特別図柄の変動が開始してから終了するまでの時間である。備考は、当該演出の概要を設計者が理解可能なように記載した情報である。振り分けは、当該演出が選択される確率であり、65536を分母とした分子で定義されている。
図64に示す表示選択テーブル1(はずれ)は、大当り抽選の結果がはずれであって、ベース値の上昇中または変化がない場合に選択される、図65に示す表示選択テーブル1(当たり1)は、大当り抽選の結果が確変状態を導出しない通常大当りであって、ベース値の上昇中または変化がない場合に選択される。図66に示す表示選択テーブル1(当たり2)は、大当り抽選の結果が確変状態を導出する確変大当りであって、ベース値の上昇中または変化がない場合に選択される。
図67に示す表示選択テーブル2は、ベース値の低下中に選択される。また、図68に示す表示選択テーブル3は、ベース値が低下し始めてから所定時間(例えば30秒)が経過しても、ベース値が低下している場合に選択される。
図示するように、表示選択テーブル2、3には、図柄が変動しない演出であるフリーズ演出1、2が含まれており、高い確率でフリーズ演出が選択される。フリーズ演出は、演出決定後所定時間(例えば5秒)が経過すると表示される。
また、ベース値が低下し始めてから所定時間(例えば30秒)が経過しても、ベース値が低下している場合には、表示選択テーブル3を用いて演出を選択し、選択された演出に切り替えてもよい。
また、ベース値の変化を報知する特定の演出を表示するかを、遊技状態(遊技状況)に応じて決定してもよい。これは、ベース値の変化を遊技者に常時報知すると、パチンコ機の本来の楽しみである特別図柄変動表示ゲームの演出に対する遊技者の注意が疎かになり、遊技者の意識が分散する可能性があるためである。
例えば、特別図柄変動表示ゲームの実行中(大当たり抽選の結果が示されていない遊技状況)においては、特別図柄変動表示ゲームの演出を優先して実行し、変動中でないときは、ベース値の上昇時または下降時に特定の演出(ベース値の変化の目安となる演出)を表示するとよい。
当該特定の演出は、特別図柄変動表示ゲームが実行されない時間が所定時間継続したタイミングで表示するとよい。こでは、当該特定の演出を特別図柄変動表示ゲーム終了後直ちに表示すると、遊技者の緊張感が持続し、疲労が蓄積されるからである。当該特定の演出が表示されている状態で、始動入賞口に遊技球が入賞すると、当該特定の演出の表示を中止して、特別図柄変動表示ゲームの演出を実行する。これは、始動入賞口への入賞を契機に、大当たり抽選が行われ、特別図柄変動表示ゲームが開始するので、遊技者を特別図柄変動表示ゲームに注視させる方がよいためである。
当該特定の演出は、賞球数が所定数(閾値Th1)に達していない状況、または、アウト球数が所定数(閾値Th2)に達していない状況でも表示されるとよい。また、当該特定の演出を抽選の結果に応じて表示してもよいが、同一条件を満たせば必ず実行されるようにしてもよい。
また、当該特定の演出は、ベース値の上昇時には表示せず、ベース値の下降時にのみ表示するとよい。これは、ベース値の上昇を遊技者に報知すると、遊技者の期待が高まり、遊技者が期待する程度にベース値が上昇しなければ、期待とのギャップによって、遊技者は落胆する可能性がある。一方、ベース値の下降を遊技者に報知すると、ベース値を上昇させるべく闘争心を高める遊技者もいるためである。
また、本実施例では、ベース値の低下中とそれ以外(上昇中、定常中)で表示選択テーブルを変えたが、ベース値の低下中と定常中と上昇中との3状態に分けて表示選択テーブルを定義して、ベースの上昇中を遊技者に報知してもよい。この場合、所定の許容範囲(例えば、3%)を考慮してベース値が定常中か(ベース履歴値と現在のベース値とが等しいか)を判定するとよい。
また、当該特定の演出を特別図柄変動表示ゲーム中に表示してもよい。この場合、特別図柄変動表示ゲーム中に表示されたときより、特別図柄変動表示ゲーム中以外で表示されたときの方が、ベース値が下降するする可能性が高くなっている。
なお、始動入賞口へ遊技球が入賞せず、特別図柄変動表示ゲームが行われない状態では、通常、ベース値は低下する。また、特別図柄変動表示ゲームが所定時間行われなければ、メイン液晶表示装置1600にはデモ画面が表示される。
図69は、本実施例のパチンコ機の表示画面の一例を示す図である。
図69(A)は、ノーマルリーチの表示例であり、左図柄と右図柄とが7で停止しており、中図柄が変動している。図69(B)は、スペシャルリーチ1の表示例であり、画面左上に表示される左図柄と右図柄とが7で停止しており、中図柄が変動している。画面中央部では、遊技者と相手がじゃんけんで対戦しており、じゃんけんの結果によって中図柄が決定される。図69(C)は、スペシャルリーチ2の表示例であり、画面左上に表示される左図柄と右図柄とが7で停止しており、中図柄が変動している。画面中央部では、遊技者と相手が対戦しており、対戦の結果によって中図柄が決定される。
図69(D)は、フリーズ演出1の表示例であり、停止した装飾図柄が画面中央部に表示されており、装飾図柄の認識を邪魔しない位置(例えば、画面右下部)にベース値の低下を認識可能な表示をする。図69(E)は、フリーズ演出2の表示例であり、停止した装飾図柄が画面中央部に表示されており、装飾図柄の認識を邪魔しない位置(例えば、画面下部)にベース値の低下の継続を認識可能な表示をする。フリーズ演出において、ベース値の低下を示す表示は装飾図柄の認識を邪魔しない位置であれば任意の位置でよい。また、ベース値の低下を示す表示は装飾図柄と重なる位置に表示してもよい。例えば、表示画面の中央にポップアップする表示でもよい。
以上にベース値の変化の程度をメイン液晶表示装置1600に表示する例を説明したが、装飾ランプの点灯態様を変更してもよい。また、ベース値の上下の傾向ではなく、ベース値の変化を数値で表示してもよい。
表示されるベース値の変化は、所定時間前の時間区間で計算されたベース値と現在の時間区間で計算されたベース値との比較結果でも、所定時間前に計算されたベース値の総累計と最新のベース値の総累計との比較結果でもよい。
[9-8.特定の一般入賞口を考慮したベースの計算]
次に、特定の一般入賞口への入賞を考慮してベース値を正確に計算する処理を説明する。
パチンコ機では、遊技者は、大当たり中に遊技球が入賞しやすい状態となった特定の入賞口(例えば、開放状態となった大入賞口2005、2006)への入賞を狙って、遊技球の発射の強さを調整する。大当り中でも、いわゆる通常打ちと同じ箇所を狙って遊技球を発射させて大入賞口2005を狙ったり、発射の強さを最大まで強めた、いわゆる右打ちによって大入賞口2006を狙ったりする遊技のバリエーションがある。このようなバリエーションがある中で、大入賞口の下流に始動入賞口や一般入賞口を配置して、大入賞口からこぼれた球を拾うように遊技盤を設計することがある。
ここで、大当り中に右打ちさせるパチンコ機における、下流(下部)について詳しく説明する。大当り中には開放した大入賞口に遊技球を入賞させるため、遊技者は右打ちを行う。遊技領域に向けて発射された遊技球の多くは開放中の大入賞口2006に入賞する。前述したように、本実施例のパチンコ機は、図10や図16に示すように、大入賞口2005の右側に一般入賞口2001が設けられており、右打ちをした遊技球が開放中の大入賞口2006に入賞しなかったときに、この一般入賞口2001に入賞する。すなわち、大入賞口2005の右側の一般入賞口2001は、右打ちをした遊技球が開放中の大入賞口2006に入賞しなかったときにのみ入賞するといえる。
ベース値は100発の遊技球を遊技領域5aに向けて発射したときに、始動入賞口および一般入賞口への入賞によって払い出された賞球数(すなわち、100個のアウト球数に対して払い出された賞球数の割合)を示すため、遊技領域に流入したが始動口および一般入賞口に入賞する可能性が低い(大入賞口に入賞する可能性が高い)遊技球を発射球数(アウト球数)に計数すると、ベース値として計算したときに、実際のベース値と乖離することが想定される。
このため、本実施例では、大入賞口2005の右側の一般入賞口2001を特定の一般入賞口と定義し、特賞中に該特定の一般入賞口に入賞した球数をアウト球数から除外してベース値を計算する。
特定の一般入賞口を考慮してベース値を計算する遊技機の各バリエーションにおけるベース値の計算タイミングの概要は以下の通りである。
・図70及び図40:タイマ割込み周期ごとに毎回ベース値を計算
・図71及び図72:所定賞球数ごとおよび所定アウト球数ごとにベース値を計算
なお、所定賞球数ごとにベース値を計算するパターン、所定アウト球数ごとにベース値を計算するパターンの説明は省略するが、図70から図72を組み合わせることによって実現できる。
図70は、ベース算出用領域更新処理(ステップS81)の別の一例を示すフローチャートである。図70に示すベース算出用領域更新処理は、タイマ割込み周期ごとに特定の一般入賞口への入賞球数で補正されたアウト球数を用いてベース値を計算するために、賞球数、アウト球数および特定入賞球数を取得する。なお、図70において、前述したベース算出用領域更新処理と同じ部分には同じステップ番号を付し、その詳細の説明は省略する。
まず、遊技状態が特賞中であるかを判定する(ステップS810)。特賞中であるかの判定基準は図39で説明したものと同じものを用いることができる。そして、特賞中以外の賞球数を取得し(ステップS811)、取得した賞球数を総賞球数に加算する(ステップS814)。すなわち、図70に示すベース算出用領域更新処理では、賞球数が計算される都度、ベース値の計算に用いられる総賞球数が更新される。なお、賞球があるかを判定し、賞球がなければ、総賞球数を更新する処理をスキップしてもよい。
その後、アウト球数を取得し(ステップS818)、特定の一般入賞口への入賞球数(特定入賞球数)を取得する(ステップS820)。そして、アウト球数から特定入賞球数を減じた値を総アウト球数に加算する(ステップS822)。すなわち、図70に示すベース算出用領域更新処理では、アウト球や入賞球が検出される都度、ベース値の計算に用いられる総アウト球数が更新される。
なお、前述したベース算出用領域更新処理(図46)のステップS815からS817のように、賞球数に異常があるかを判定し、賞球数に異常があれば、異常報知コマンドを生成し、賞球異常報知用タイマをリセットしてもよい。さらに、図46のステップS824からS825のように、賞球異常報知用タイマがタイムアップしたかを判定し、賞球異常報知用タイマがタイムアップすると、賞球異常報知停止コマンドを生成し、賞球異常報知を停止してもよい。
図70に示すベース算出用領域更新処理で総賞球数および総アウト球数を記録した後、図40に示すベース算出・表示処理によってベース値を計算できる。
図71は、ベース算出用領域更新処理(ステップS81)の別の一例を示すフローチャートである。図71に示すベース算出用領域更新処理は、賞球数とアウト球数が所定の条件を満たしたタイミングでベース値を計算するために、賞球数を賞球数バッファに記録し、アウト球数をアウト球数バッファに記録する。なお、図71において、前述したベース算出用領域更新処理と同じ部分には同じステップ番号を付し、その詳細の説明は省略する。
まず、遊技状態が特賞中であるかを判定する(ステップS810)。特賞中であるかの判定基準は図39で説明したものと同じものを用いることができる。そして、特賞中以外の賞球数を取得し(ステップS811)、賞球があるかを判定する(ステップS812)。そして、賞球があれば、取得した賞球数を賞球数バッファに加算する(ステップS813)。
そして、賞球数に異常があるかを判定し(ステップS815)、賞球数に異常があれば、異常報知コマンドを生成し(ステップS816)、賞球異常報知用タイマをリセットする(ステップS817)。
その後、アウト球数を取得し(ステップS818)、取得したアウト球数をアウト球数バッファに加算する(ステップS819)。そして、入賞球数を取得し、取得した入賞球数にかかる入賞口が特定の一般入賞口であるかを判定し、特定の一般入賞口への入賞球数を取得する(ステップS820)。そして、取得した特定の一般入賞口への入賞球数を特定入賞球数バッファに加算する(ステップS823)。
その後、賞球異常報知用タイマがタイムアップしたかを判定し(ステップS824)、賞球異常報知用タイマがタイムアップすると、賞球異常報知停止コマンドを生成し、賞球異常報知を停止する(ステップS825)。
図72は、ベース算出・表示処理(ステップS89)の別の一例を示すフローチャートである。図72に示すベース算出・表示処理では、特定入賞球数バッファに記録された特定入賞球数を考慮してベース値を計算する。なお、図72において、前述したベース算出・表示処理と同じ部分には同じステップ番号を付し、その詳細の説明は省略する。
まず、賞球数バッファに格納されている賞球数が予め定められている閾値Th1以上であるかを判定する(ステップS890)。賞球数バッファ値が閾値Th1より小さければ、総賞球数を更新するタイミングではないので、ステップS895に進む。一方、賞球数バッファ値が閾値Th1以上であれば、総賞球数に閾値Th1を加算し(ステップS891)、賞球数バッファから閾値Th1を減算する(ステップS892)。そして、総アウト球数にアウト球数バッファ値を加算し(ステップS893)、アウト球数バッファを0にする(ステップS894)。なお、賞球数バッファ値と閾値Th1とを比較せずに、所定回数の入賞毎や所定時間毎に、ステップS891からS894を実行してもよい。
その後、アウト球数バッファに格納されているアウト口通過球数と入賞球数バッファに格納されている入賞球数との和が予め定められている閾値Th2以上であるかを判定する(ステップS895)。アウト口通過球数と入賞球数の合計が遊技領域に流入した遊技球の数でありアウト球数となる。判定の結果、計算されたアウト球数が閾値Th2より小さければ、総アウト球数を更新するタイミングではないので、ステップS902に進む。一方、計算されたアウト球数が閾値Th2以上であれば、総賞球数に賞球数バッファ値を加算し(ステップS897)、賞球数バッファを0にする(ステップS898)。そして、総アウト球数から特定入賞球数を減算し、閾値Th2を加算する(ステップS899)、入賞球数バッファを0に設定し、アウト球数バッファから閾値Th2を減算する(ステップS900)。
その後、総アウト球数が0であるかを判定する(ステップS902)。総アウト球数が0であれば、ベース値を計算できないので、ベース算出・表示処理を終了する。一方、総アウト球数が0でなければ、総賞球数を総アウト球数で除してベース値を計算する(ステップS903)。具体的には、総賞球数に所定数(例えば100)を乗じて除算入力レジスタA131216に格納し、総アウト球数を除算入力レジスタB131217に格納する。そして、32クロック経過後に、除算結果レジスタA131218から商を読み出して、ベース値とする。なお、総アウト球数が0である場合、ベース値を計算しても、演算回路13121からの返り値はエラーとなるので、ベース算出用領域13128に格納しなくてよい。この場合、ベース表示器1317に表示されるベース値は更新されない。
その後、計算されたベース値が異常であるかを判定する(ステップS907)。ベース値の異常とは、例えば、計算されたベース値が設計値(正常値)から所定の許容範囲を超えて大きくまたは小さくなった場合などである。なお、複数段階の許容範囲を設けてベース値の乖離の程度によって異常の程度を複数段階で判定してもよい。そして、ベース値が異常であれば、ベース報知コマンドを生成し(ステップS908)、遊技者やホール従業員にベースを報知する。一方、ベース値が異常でなければ、ベース算出・表示処理を終了する。
図72に示すベース算出・表示処理では、総賞球数や総アウト球数が更新されなくても、毎回ベース値を計算している。すなわち、総賞球数および総アウト球数が更新されなければ、ベース値として同じ値が計算され、ベース値は同じ値を維持し、総賞球数または総アウト球数が更新されれば、ベース値は違う値に更新される。なお、総賞球数および総アウト球数の一方が更新されたタイミングでベース値を計算してもよく、両方が更新されたタイミングでベース値を計算してもよい。
また、本実施例のパチンコ機では、遊技領域に流入したが始動口および一般入賞口に入賞する可能性が低い遊技球を除外してベース値を計算するので、実際のベース値との乖離が少ないベース値を正確に計算できる。
また、大当り中に右打ちするパチンコ機で大入賞口2006の下流に一般入賞口2001がある場合を説明したが、本実施例にかかる発明は、大当り中に通常打ちで大入賞口2005を狙うパチンコ機でも、大入賞口2005の下流に始動口または一般入賞口が配設されている遊技機にも適用できる。
また、遊技領域5aには、通常は遊技球を受け入れないが、大当たり抽選結果に応じて遊技球の受け入れが可能となる大入賞口2005、2006が配置されている。この大入賞口2005、2006への入賞による賞球をベース値の計算から除外してもよい。この場合、遊技球が始動入賞口2002、2004に入賞して特別図柄変動表示ゲームが開始し、特別図柄が確定してから大入賞口2005、2006が開放するまで(大当たりオープニング)から、大入賞口2005、2006が閉鎖してから次の特別図柄変動表示ゲームが開始するまで(大当たりエンディング)の間を特賞中として、検出されたアウト球をアウト球数から除外する。このようにすれば、図39などのステップS810で特賞中であるかを判定せずに特賞中の賞球数およびアウト球数を計数できる。なお、一つの大当たりで大入賞口2005、2006が開放と閉鎖を繰り返す場合、大入賞口2005、2006の閉鎖から次の開放までの間(閉鎖インターバル)の時間を特賞中に含めてもよい。すなわち、特賞中は、条件装置作動中を意味し、例えば、特別図柄変動表示ゲームの大当たり図柄の確定からエンディング終了までである。また、右打ち指示中の全ての時間を含んでもよい。さらに、始動入賞口2002、2004においては、時短中、確変中(ST中)、電サポ中を特賞中に含めてもよい。さらに、時短中、確変中(ST中)、電サポ中以外の遊技状態において、始動入賞口2004の開放から閉鎖後の所定時間(例えば、始動入賞口に入賞した球がアウト球として検出されるまでに必要な数秒)までの間を特賞中に含めてもよい。
また、遊技領域5aには、通常は遊技球を受け入れないが、普通図柄の抽選結果に応じて遊技球の受け入れが可能となる第二始動口2004が配置されている。この第二始動口2004への入賞による賞球をベース値の計算から除外してもよい。この場合、遊技球がゲート部2003を通過して普通図柄の抽選が行われ、普通図柄変動表示ゲームが開始し、普通図柄が確定してから開放するまで(オープニング)から、第二始動口2004が閉鎖してから次の普通図柄変動表示ゲームが開始するまで(エンディング)の間を特賞中として、検出されたアウト球をアウト球数から除外する。なお、第二始動口2004が普通図柄の抽選結果によって開放と閉鎖を繰り返す場合、第二始動口2004の閉鎖から次の開放までの間(閉鎖インターバル)の時間を特賞中に含めてもよい。このようにすると、時短中だけでなく、第二始動口2004への全ての入賞をベース値の計算から除外できる。
前述のようにすれば、図39などのステップS810で特賞中であるかを判定せずに特賞中(大当たり、時短など)以外の賞球数およびアウト球数を正確に計数できる。
このようにすると、遊技者が右打ちをしている間のアウト球数、賞球数を正確に除外し、ベース値を正確に計算できる。
また、パチンコ機によっては、大当り中でも時短中でもない状態(いわゆる通常状態)では左打ちで遊技を行い、大当り中または時短中は右打ちで遊技を行うことが推奨される。このような遊技機では、左打ち時に入賞する一般入賞口2001、第一始動口2002および右打ち時に入賞する一般入賞口2001、第二始動口2004が設けられている。このような遊技機において、遊技領域5aの左側から中央(左打ち時に遊技球が転動する領域)および遊技領域5aの右側(右打ち時に遊技球が転動する領域)における入賞口の数や配置、釘の配設位置によって、各入賞口への入球率が異なる。言い換えると左打ちのときのベース値と右打ちのときのベース値が異なる。
パチンコ機のベース値は、通常状態において遊技者が左打ちを行うことを想定して設定されている。ところが、前述した理由のように、左打ち時と右打ち時とでベース値が異なる場合(例えば、通常状態における右打ち時のベース値は左打ち時より低くなるように設計されている場合)、通常状態において遊技者が右打ちをすると、低いベース値が計算される。
ホールは、ベース値が低いパチンコ機は、異常があると考え点検をするか、出玉性能が悪い遊技機であると判断する。出玉性能が悪い(想定されるベースより低い)と判断されたパチンコ機においても、ホールは、遊技者が左打ちを行っていると判断するので、左打ち時のベースに作用する始動入賞口や一般入賞口の入球率を高める調整を行う。そして、異常がある釘を調整して、ベース値を高めるようにする。このように調整された遊技機で左打ちをすると、通常状態でも多くの賞球が得られる。換言すると少額で多くの抽選を受けられることになる。つまり、左打ち時のベースがホールが想定していたものと相違がなくても、ホールが勘違いして、左打ち時に入賞する始動口や一般入賞口の入球率を高める調整を行う。このような遊技者の悪意によってホールが不利益を被る可能性があることから、左打ち時のベース値と右打ち時のベース値とを正確に計算する必要がある。
ところで、時短中に右打ちを行うパチンコ機は、遊技状態によって開閉する第二始動口2004と、第二始動口2004を開放させるための普通図柄抽選を行うためのゲート部2003は、右打ち時に遊技球が転動する領域に配置されている。また、通常状態に右打ちしてゲート部2003を遊技球が通過した場合、普通図柄の抽選は行っても普図当選確率を極めて低くして第二始動口2004が開かないようにしたり、普通図柄抽選に当選しても第二始動口2004の開放時間を短くして、通常状態では第二始動口2004への入賞を困難にしている。
ここで、通常状態で右打ちした状態でベース値を高めるためには、第二始動口2004への入球率を高めることになる。しかし、一般に第一始動口2002より第二始動口2004は有利に設定されていることから、第二始動口2004への入球率を高めるとホールの利益を圧迫する。そこで、通常状態にゲート部2003を通過した遊技球を計数し、ベース値を計算する際に、ゲート部2003の通過球数を用いて補正したベース値を計算するとよい。
具体的には、通常状態においてゲート部2003を通過した遊技球数を特定入賞球数としてアウト球数(遊技領域5aに向けて打ち込まれた遊技球数)から減算する。アウト球数の減少によって、高いベースの計算値を得ることができる。例えば、相当数の遊技球がゲート部2003を通過した場合、には極めて高いベース値が計算されることになる。なお、補正処理の程度は、遊技機の設計値(性能)に基づいて、適宜決定すればよい。
さらに、ゲート部2003の通過を監視し、遊技球がゲート部2003を通過した場合(始動口に入賞せずに所定数(例えば、3個)の遊技球がゲート部2003を通過した場合などの条件をつけてもよい)、ゲート部2003を通過した後(または、前後)の所定時間または所定発射数において計数されたアウト球数をベース値の計算に使用しなくてもよい。このようにすると、より正確にベース値を計算できる。ゲート部2003の通過を検出すると、ベース値の計算結果に反映されないことを積極的に遊技者に報知せずに、「左打ちに戻してください」などの表示や音声を出力してもよい。また、ゲート部2003の通過の検出時に、右打ちがされていることをホールに報知してもよい。例えば、特定のランプを点灯させたり、点灯態様を変えたり、外部端子板784から遊技場に設置されたホールコンピュータに右打ち中であることを出力してもよい。
以上に説明したように、遊技領域5aの右側(右打ち時に遊技球が転動する領域)に設けられたゲート部2003の通過球数をアウト球数から除外することによって、通常状態で右打ち時のベース値を大きい値へ補正できる。このため、遊技者の遊技スタイルによるベースの計算値の変動を防止できる。
[9-9.ベース値の初期化]
パチンコ機1の稼働状況を確認するというベース値の役割を鑑みると、算出されたベース値は長期間保持されることが望ましい。また、算出されたベース値は容易に消去できないことが望ましい。このため、主制御MPU1311のRAM1312にバックアップされた遊技の進行に関係するデータの消去条件と別の条件でベース算出・表示用データ13136を消去する。これにより、正確な賞球数のデータを保持し、正確な役物比率を計算できる。
具体的には、RAMクリアスイッチの操作(第1の操作)によってはベース算出・表示用データ13136を消去しないが、主制御MPU1311に供給されるバックアップ電源を遮断し、かつパチンコ機1の電源の遮断する第2の操作によって、主制御MPU1311のRAM1312にバックアップされた全てのデータを消去できる。第2の操作は、この操作を実現する一つのスイッチを設けてもよいし、遊技店の従業員が主制御基板1310に供給されるバックアップ用の電源線のコネクタを抜去して、パチンコ機1の電源の遮断してもよい。
換言すると、主制御MPU1311のRAM1312を消去するために二つの操作が準備されており、第1の操作では遊技の進行に関係するデータのみを消去するが、第2の操作では算出されたベース値や遊技の進行に関係するデータを含む全てのデータを消去する。
このように構成することによって、遊技場の係員の誤操作によってベース算出・表示用データ13136が消去されないので、表示される役物比率の信頼性が高まり、役物比率が高い状態の隠蔽を防止できる。
[9-10.入賞異常を考慮したベースの計算]
図73、図74は、入賞異常を考慮したベース算出領域更新処理のフローチャートである。
パチンコ機1においては、前述したステップS815で判定される賞球数の異常の他、入賞異常が検出される場合がある。例えば、特別図柄変動表示ゲームで大当たりが導出されたことによる大入賞口2005、2006の開放中以外に入賞が検出された場合や、普通図柄変動表示ゲームで当たりが導出されたことによる始動入賞口2004の開放中以外に入賞が検出された場合は入賞異常である。すなわち、ステップS815で判定される賞球数の異常は、賞球数から検出される異常な動作であり、主に所定時間に多くの賞球が得られている場合である。一方、入賞異常は、入賞球数から検出される異常な動作であり、主に入賞不可能な状態における入賞や、所定時間に多くの入賞が検出される場合である。
この入賞異常にかかる入賞球はアウト球としてカウントされるので、この分を補正してベースを正確に計算することが望ましい。このため、入賞異常を考慮したベース算出領域更新処理では、検出した入賞異常にかかる入賞球数を減じるように総アウト球数を補正する。
なお、通常は大入賞口2005、2006や始動入賞口2004へは特賞中にのみ入賞するので、これらの入賞口への入賞球はベースを計算するためのアウト球として計数されることがなく、入賞異常を考慮する必要がない。
図73は、ベース算出用領域更新処理(ステップS81)の一例を示すフローチャートである。ベース算出用領域更新処理は、現在の遊技状態を判定し、遊技価値として払い出される賞球数を現在の遊技状態に対応した領域に加算して、主制御内蔵RAM1312のベース算出用領域13128を更新する。特に、図73に示すベース算出用領域更新処理は、図39に示すベース算出用領域更新処理と同様に、タイマ割込み周期ごとに毎回ベース値を計算するために、賞球制御処理(ステップS80)で算出された賞球数を用いて総賞球数を直接更新し(ステップS814)、アウト球数を用いて総アウト球数を直接更新する(ステップS822)。なお、図73において、前述したベース算出用領域更新処理と同じ部分には同じステップ番号を付し、その詳細の説明は省略する。
まず、遊技状態が特賞中であるかを判定する(ステップS810)。特賞中であるかの判定基準は図39で説明したものと同じものを用いることができる。
遊技状態が特賞中であれば、ベース値の計算に関係しない賞球であるため、賞球数やアウト球数を更新せずに、ベース算出用領域更新処理を終了する。一方、遊技状態が特賞中でなければ、賞球制御処理(ステップS80)で入力情報に基づいて算出された賞球数を取得する(ステップS811)。ベース算出用領域更新処理で取得する賞球数は、払い出しが決定した賞球数でもよい。また、作成済みの払出コマンドに対応する賞球数でもよい。また、送信済の払出コマンドに対応する賞球数でもよい。また、主制御基板1310が払出制御基板951に払出コマンドを送信し、払出制御基板951から受信確認(ACK)を受信した払出コマンドに対応する賞球数でもよい。さらに、主制御基板1310が払出制御基板951に払出コマンドを送信し、払出制御基板951から払出完了の報告を受けた賞球数(払出済み賞球数)でもよい。このバリエーションは図41から図44を用いて説明済みである。
そして、取得した賞球数を総賞球数に加算して、総賞球数を更新する(ステップS814)。なお、賞球があるかを判定し、賞球がなければ、総賞球数を更新する処理をスキップしてもよい。また、始動入賞口2002、2004に遊技球が入賞したが、保留が上限値であり、始動入賞口への入賞が保留されなかった場合でも賞球は払い出されるので、総賞球数が更新される。また、入賞口に遊技球が入賞しても賞球が発生しない遊技状態(例えば、特定のエラー発生時など)においては、当該入賞に起因する賞球が発生せず、取得する賞球数が0であるため、総賞球数は更新されない。総賞球数は、主制御内蔵RAM1312のベース算出用領域13128に設けられる総賞球数格納領域(図52参照)に記録される。すなわち、図73に示すベース算出用領域更新処理では、賞球数が計算される都度、ベース値の計算に用いられる総賞球数が更新される。
その後、アウト球数を取得する(ステップS818)。そして、入賞異常が検出されているかを判定する(ステップS826)。そして、異常と判定された入賞に対応する遊技球数を取得する(ステップS827)。具体的には、前述したように、特別図柄変動表示ゲームで大当たりが導出されたことにより生起する特賞中(条件装置作動中)以外に大入賞口2005、2006への入賞が検出された場合や、普通図柄変動表示ゲームで当たりが導出されたことによる開放中ではないのに始動入賞口2004への入賞が検出された場合は入賞異常であると判定する。
入賞異常にかかる入賞球が一つ検出されると入賞異常と判定してもよいし、入賞異常にかかる入賞球が所定数検出されると入賞異常と判定してもよい。また、入賞異常にかかる入賞球が連続して所定数検出されると入賞異常と判定してもよいし、入賞異常にかかる入賞球が所定の時間内に所定数検出されると入賞異常と判定してもよい。
そして、取得したアウト球数を総アウト球数に加算するように、総アウト球数を更新する(ステップS822)。アウト球数は、前述したように、発射球センサ1020や排出球センサ3060などによって検出され、ステップS74のスイッチ入力処理で、これらのセンサの検出信号を読み取って、取得する。このとき、取得したアウト球数から入賞異常にかかる入賞球数を減じた値を総アウト球数に加算してもよく、また、取得したアウト球数を総アウト球数に加算した後に、入賞異常にかかる入賞球数を総アウト球数から減じてもよい。総アウト球数は、主制御内蔵RAM1312のベース算出用領域13128に設けられる総アウト球数格納領域(図52参照)に記録される。すなわち、図73に示すベース算出用領域更新処理では、アウト球が検出される都度、ベース値の計算に用いられる総アウト球数が更新される。このように、タイマ割込み処理ごとにベース算出処理を実行して、総アウト球数を更新し、ベース算出表示処理(図40)にてベース値を計算し表示するので、ベース値を遅滞なく表示でき、ベース値が正常か異常かを遅滞なく判断できる。
なお、後述するベース算出用領域更新処理(図74)のステップS815からS817のように、賞球数に異常があるかを判定し、賞球数に異常があれば、異常報知コマンドを生成し、賞球異常報知用タイマをリセットしてもよい。さらに、ステップS824からS825のように、賞球異常報知用タイマがタイムアップしたかを判定し、賞球異常報知用タイマがタイムアップすると、賞球異常報知停止コマンドを生成し、賞球異常報知を停止してもよい。
本実施例のパチンコ機1では、主制御MPU1311が、タイマ割込み処理においてベース値の計算処理を実行するが、払出制御部952の払出制御MPUがベース値の計算処理を実行してもよい。この場合、主制御基板1310から周辺制御基板1510の周辺制御部1511にベースを報知するためのコマンドを送信してもよいし、払出制御部952から周辺制御部1511にベースを報知するためのコマンドを送信してもよい。
また、一つのタイマ割込み処理において、入賞口への入賞とアウト球との両方の情報を取得しても、賞球数を総賞球数(または、後述する実施例では賞球数バッファ)に加算し、アウト球数を総アウト球数(または、後述する実施例ではアウト球数バッファ)に加算する。また、一つのタイマ割込み処理において、複数の入賞口への入賞の情報を取得しても、複数の入賞による賞球数の合計を総賞球数(または、後述する実施例では賞球数バッファ)に加算する。このため、ベース値を正確に計算し、表示できる。例えば、賞球数が5個の入賞口の入賞口センサと賞球数が3個の入賞口の入賞口センサとへの入賞を検出した場合は、合計8個の賞球を総賞球数(または、賞球数バッファ)に加算する。
また、遊技球の発射が検出されている場合にのみ、賞球数を総賞球数(または、賞球数バッファ)に加算してもよい。すなわち、発射球センサ1020の検出から所定時間以内に検出した入賞に関する賞球数のみを総賞球数(または、賞球数バッファ)に加算してもよい。また、発射制御部953または球発射装置680の動作を検出し、発射制御部953または球発射装置680が動作している間(さらに、発射制御部953または球発射装置680が動作を停止してから所定時間(例えば、5秒)後まで)に検出した入賞に関する賞球数のみを総賞球数または賞球数バッファに加算してもよい。また、遊技者が発射ハンドルを操作している場合にのみ、賞球数を総賞球数(または、賞球数バッファ)に加算してもよい。すなわち、ハンドルユニット500の接触検知センサ509に手や指が触れていることが検出されている時間から所定時間(例えば、5秒)以内に検出した入賞に関する賞球数のみを総賞球数(または、賞球数バッファ)に加算してもよい。このようにすると、遊技球が発射されていない状態で賞球を検出する異常や不正行為による賞球のベース値への反映を防止でき、不正確なベース値の表示を防止できる。この場合、接触検知センサ509を用いると、遊技球の発射を検出するセンサを新たに設けなくてもよいので、パチンコ機1のコストの上昇を抑制できる。
図74は、ベース算出用領域更新処理(ステップS81)の別の一例を示すフローチャートである。図74に示すベース算出用領域更新処理は、アウト球数が所定の条件を満たしたタイミングでベース値を計算するために、アウト球数をアウト球数バッファに記録する(ステップS819)。なお、図74において、前述したベース算出用領域更新処理と同じ部分には同じステップ番号を付し、その詳細の説明は省略する。
まず、遊技状態が特賞中であるかを判定する(ステップS810)。特賞中であるかの判定基準は図39で説明したものと同じものを用いることができる。そして、特賞中以外の賞球数を取得し(ステップS811)、賞球があるかを判定する(ステップS812)。そして、ステップS812における判定の結果、賞球がなければ、賞球数を更新せずにステップS818に進む。一方、賞球があれば、賞球数に異常があるかを判定し(ステップS815)、賞球数に異常がなければ、取得した賞球数を総賞球数に加算する(ステップS814)。すなわち、図74に示すベース算出用領域更新処理では、賞球数が計算される都度、ベース値の計算に用いられる総賞球数が更新される。
一方、賞球数に異常があれば、異常報知コマンドを生成し(ステップS816)、賞球異常報知用タイマをリセットする(ステップS817)。
その後、アウト球数を取得し(ステップS818)。取得したアウト球数をアウト球数バッファに加算する(ステップS819)。そして、入賞異常が検出されているかを判定し(ステップS826)、異常と判定された入賞に対応する遊技球数を取得する(ステップS827)。
その後、賞球異常報知用タイマがタイムアップしたかを判定し(ステップS824)、賞球異常報知用タイマがタイムアップすると、賞球異常報知停止コマンドを生成し、賞球異常報知を停止する(ステップS825)。
図73、図74に示すベース算出領域更新処理では、入賞異常にかかる全ての入賞球数分アウト球を補正したが、特定の種類の入賞異常にかかる入賞球ではアウト球を補正して、他の特定の種類の入賞異常にかかる入賞球ではアウト球を補正しなくてもよい。例えば、入賞異常にかかる入賞球の種類によっては、当該入賞球に対する賞球を払い出すことや払い出さないことがある。この入賞異常に対して賞球を払い出すかは入賞口毎に定められているとよい。この場合、賞球が払い出されない入賞異常については、入賞球を総アウト球として計数せず、ベース値の計算に使用しないとよい。一方、賞球が払い出される入賞異常については、入賞球を総アウト球として計数し、払い出される賞球も総賞球数として計数して、ベース値の計算に使用するとよい。なお、賞球が払い出される入賞異常でも、入賞球を総アウト球として計数せず、払い出される賞球も総賞球数として計数せず、ベース値の計算に使用しなくてもよい。
例えば、遊技機の故障をメンテナンス(球詰まりの解除等)した結果、ホール従業員が手で始動入賞口に遊技球を入れて、遊技者が損しないように出球を補償することがあり、この場合は当該始動入賞口への入賞に対して賞球が払い出される。この始動入賞口への入賞は入賞異常として検出されるが、賞球が払い出される。このように賞球が払い出される場合は、ベース値に反映すべきなので、入賞異常と判定しないとよい。この場合、ベース値の計算に反映する入賞口(始動入賞口2002、2004)においては賞球を払い出し、入賞異常を判定せず、他の入賞口(大入賞口2005、2006)においては賞球を払い出さずに、入賞異常を判定するとよい。入賞異常を判定する入賞口は、入賞異常を判定しない入賞口より、入賞により払い出される賞球の数が少ないものである(始動入賞口は3個賞球、大入賞口は15個賞球)。このため、大入賞口において入賞異常を判定するが、始動入賞口において異常入賞を判定しなくても、不正行為に対する防御の観点からは、大きなセキュリティホールにはならない。このように、入賞異常を判定することによって、アウト球と賞球数との不整合を防止できる。特に、賞球を発生しない入賞異常にかかる入賞球数を用いてアウト球数を補正することによって、賞球数と当該賞球の原因となるアウト球とを整合させることができる。
前述したように様々な入賞口で入賞異常を判定できるが、パチンコ機への具体的な実装例について説明する。
まず、一般入賞口2001では入賞異常を判定せず、一般入賞口2001以外の入賞口(大入賞口2002、2004、始動入賞口2005、2006)で入賞異常を判定してもよい。一般入賞口は、複数の遊技球の同時入賞が困難であることから、不正行為に対する遊技機のセキュリティ耐性を向上しつつ、開閉する電動役物である大入賞口2002、2004や始動入賞口2005(合計3個)より数多く設けられている一般入賞口2001(合計4個)への入球によって遊技者に出球を補償できる。また、一般入賞口2001は、ホールの従業員が容易に識別できることから、パチンコ機1のメンテナンスや出球補償のための操作が容易である。ホールの従業員が一般入賞口2001を容易に識別できる理由としては、一般入賞口2001は遊技領域にまとめて(分かれた領域に)配置されることが多く、また、電動役物(大入賞口2002、2004、始動入賞口2005)と飾り部材(外観)が異なったりするためである。また、一般入賞口の1球の入賞に対する賞球数が少ない場合には、不正行為に対する遊技機のセキュリティ耐性が向上する効果がある。なお、特定の一般入賞口(例えば、左端)のみで入賞異常を判定せず、他の一般入賞口では入賞異常を判定してもよい。
また、賞球数が多い大入賞口2002、2004では入賞異常を判定せず、大入賞口2002、2004以外の入賞口(賞球数が少ない一般入賞口2001、始動入賞口2005、2006)で入賞異常を判定してもよい。大入賞口は、1球の入賞に対する賞球数が多いので、少ない入賞球でもベース値が大きく変化する。このため、パチンコ機の検査時にベース値の変化を容易に検査できて便利である。なお、特定の大入賞口(例えば、遊技球を手で入れやすい大入賞口2002)のみで入賞異常を判定せず、他の大入賞口(例えば、2004)では入賞異常を判定してもよい。
また、始動入賞口2005、2006では入賞異常を判定せず、始動入賞口2005、2006以外の入賞口(一般入賞口2001、大入賞口2002、2004)で入賞異常を判定してもよい。始動入賞口は、1球の入賞に対する賞球数が大入賞口より少ないので、ゴトに対する遊技機のセキュリティ耐性を向上しつつ、遊技者に出球を補償できる。なお、特定の始動入賞口(例えば、遊技盤の中央に設けられた始動入賞口2005は位置が分かりやすい)のみで入賞異常を判定せず、他の始動入賞口2006では入賞異常を判定してもよい。
さらに、大入賞口や始動入賞口においては、当該入賞口の開閉部材がパチンコ機の正面から視認可能な位置にある、すなわち、ホールの従業員が開閉部材を操作容易な入賞口では入賞異常を判定せず、当該入賞口の開閉部材がパチンコ機の正面から視認できない位置にある、すなわち、ホールの従業員が開閉部材を操作困難な入賞口では入賞異常を判定してもよい。例えば、閉状態で垂直に位置する開閉部材が斜め位置に傾斜することによって、開閉部材が遊技球を拾う構造の入賞口(いわゆる、電動チューリップ)ではホールの従業員が操作容易である。一方、閉状態では平板状部材で入賞口が塞がれており、該平板状部材が奥に引っ込むことによって、入賞口への入口が開く構造の入賞口(いわゆる、ベロチュー)ではホールの従業員が操作困難である。このようにすると、遊技者への出球補償に使用される入賞口に限定してセキュリティレベルを緩和するので、ホールの従業員に分かりやすく、かつ、遊技機のセキュリティ耐性を向上できる。
また、検出された入賞異常を報知してもよい。入賞異常の報知の方法は、前述した賞球数異常の報知の方法と同じでよい(例えば、外部端子板へのセキュリティ信号の出力、液晶等の表示装置への警告表示、遊技盤又は枠の装飾ランプの点灯や点滅、音声や効果音、警告音の出力など)が、入賞異常の報知は他の異常の報知より緩い報知にするとよい。具体的には、異常報知の時間が短かったり、異常を報知する文字が小さかったり、異常報知時にランプが点灯しなかったり、異常報知音を他の異常時の報知音の音量よりも小さく(抑制)するとよい。
また、入賞異常の報知では、入賞異常を検出してから所定時間の異常報知をし、当該所定時間中にさらに入賞異常を検出しても、当該所定時間を延長せずに、最初に設定された所定時間で報知を終了したり、報知の態様を変えるとよい。このように、入賞異常が所定の時間(例えば、数分間)連続して発生する場合、遊技者による不正行為ではなく、ホールが遊技機をメンテナンスしていると判断できる。このため、所定時間だけ入賞異常を報知して、その後は報知を継続しないようにすると、ホールによる遊技機のメンテナンス作業を妨害せず、作業効率を向上できる。また、所定時間後に報知の態様を変えることによって、遊技機のメンテナンス作業を妨害せず、正しく作業が継続して行われていることが分かる。具体的には、表示装置やランプによる報知は継続するが、音による報知を停止する(又は、音量を低下する)とよい。
纏めると、本実施例の遊技機は、入賞球数によってアウト球数を補正する補正手段を有し、該補正手段は、複数の入賞口を複数の種別(始動入賞口、大入賞口)に区分し、第1の種別の入賞口については、所定の条件の成立中(特賞中)以外に検出した入賞球に基づいてアウト球数を補正し、第2の種別の入賞口については、所定の条件の成立中(特賞中)以外に検出した入賞球に基づいてアウト球数を補正しない。これによって、前述したように、遊技機のメンテナンスによる遊技者への補償の際のアウト球数のズレを防止でき、アウト球数を正確に計算できる。また、遊技機の誤動作により異常なベース値が計算されることがあり、その調整(メンテナンス)としてベース値の調整が可能となる。これにより、正確なベース値を計算し、表示できる。
ここまで、入賞異常の検出や、入賞異常の検出の例外的な取り扱い(検出しない場合)について説明したが、入賞異常と判定される遊技球は、遊技において取得した賞球ではなく、パチンコ機のメンテナンス(ベース値の調整)に用いられる可能性が高いので、望ましくは、入賞異常を判定された入賞球はアウト球数に反映せず、ベース値の計算に使用しないとよい。
また、図73、図74に示すベース算出領域更新処理において検出された入賞異常を報知してもよい。例えば、タイマ割込み処理の不正行為検出処理(ステップS84)において、入賞異常を異常状態として入賞異常表示コマンドを作成し、周辺制御基板コマンド送信処理(ステップS92)において送信する。この入賞異常の報知は、入賞異常にかかる入賞球が一つ検出されると行ってもよいし、入賞異常にかかる入賞球が所定数検出されると行ってもよい。また、入賞異常にかかる入賞球が連続して所定数検出されると入賞異常の報知を行ってもよいし、入賞異常にかかる入賞球が所定の時間内に所定数検出されると入賞異常の報知を行ってもよい。
さらに、入賞異常の報知は、所定時間の経過後に終了してもよいし、次に当該入賞口が開放した(条件装置が作動した)場合に終了してもよい。
なお、入賞異常を報知しなくてもよい。
[9-11.演算回路の特性を生かしたベース値の算出処理]
本実施例のパチンコ機1では、ベース値を計算する除算処理を演算回路13121が行うので、CPU13111がプログラムによって除算を実行するより他の処理を妨げることなくベース値を計算できる。ここまで説明したベース算出処理は、この特性を生かしたものではなかった。
すなわち、ベース値の計算に関連し、前述したタイマ割込み処理(図23)では、スイッチ入力処理(ステップS74)において、排出球センサ3060や発射球センサ1020からの検出信号を読み取って、アウト球数を計数し、賞球制御処理(ステップS80)において、払い出される遊技球(賞球)の数を計算する。その後、ベース算出用領域更新処理(ステップS98)において、ベース算出用領域13128の賞球数とアウト球数を更新する。
その後、ベース算出・表示処理(ステップS89)において、ベース算出用領域13128に格納された賞球数とアウト球数を参照してベース値を算出し、算出されたベース値をベース表示器1317に表示する。
タイマ割込み処理は、所定時間毎に実行されるものであるところ、タイマ割込み毎に所定の処理が必ず終了する必要があるので、プログラムによる遅い除算処理では、時間がかかる処理をタイマ割込み処理に含める、すなわち、複数回のベース計算処理をタイマ割込み処理に含めるのは困難であった。一方、演算回路13121を用いて除算処理を行うことによって、ベース値の計算に必要な時間を短縮でき、一つのタイマ割込み処理において複数回ベース値を計算でき、遅滞なくベース値を表示できる。
また、演算回路13121の除算入力レジスタ131216、131217への値の書き込みから除算結果レジスタA131218からの演算結果の読み出しまでの間、CPU13111は除算処理のために占有されない。すなわち、被除数及び除数の入力タイミングから商の出力タイミングまでの32クロックのウェイト時間を有効に活用でき、この間に他の処理を行うことができる。換言すると、被除数及び除数の入力タイミングと商の出力タイミングとが別になるので、タイマ割込み処理におけるベース値計算処理の自由度が向上する。
図75は、演算回路の特性を生かしたタイマ割込み処理の一例を示すフローチャートである。図75に示すタイマ割込み処理は、ベース算出処理(ステップS97、S98)を除いて前述したタイマ割込み処理(図23)と同じなので、同一の処理の説明は省略する。
タイマ割込み処理が開始されると、主制御MPU1311は、主制御プログラムを実行することによって、まず、レジスタを切り替える(ステップS70)。
次に、主制御MPU1311は、スイッチ入力処理を実行する(ステップS74)。スイッチ入力処理では、主制御MPU1311の各種入力ポートの入力端子に入力されている各種信号を読み取り、入力情報として主制御内蔵RAM1312の入力情報記憶領域に記憶する。具体的には、入賞球を検出するセンサからの検出信号や、不正行為を検出するスイッチからの検出信号や、排出球センサ3060や、発射球センサ1020からの検出信号を読み取って、アウト球数を計数する。
続いて、主制御MPU1311は、ベース算出処理1を実行する(ステップS97)。ベース算出処理1では、ステップS74で計数されたアウト球数を用いて総アウト球数を更新し、ベース値を計算する。ベース算出処理1の詳細は、図76、図78を用いて後述する。
続いて、主制御MPU1311は、タイマ更新処理(ステップS76)と、乱数更新処理1(ステップS78)を実行する。
続いて、主制御MPU1311は、賞球制御処理を実行する(ステップS80)。賞球制御処理では、入力情報記憶領域から入力情報を読み出し、読み出した入力情報に基づいて払い出される遊技球(賞球)の数を計算し、主制御内蔵RAM1312に書き込む。また、賞球数の計算結果に基づいて、遊技球を払い出すための賞球コマンドを作成する。
続いて、主制御MPU1311は、ベース算出処理2を実行する(ステップS98)。ベース算出処理2では、ステップS80で算出された賞球数を用いて総賞球数を更新し、ベース値を計算する。ベース算出処理2の詳細は、図77、図79を用いて後述する。
続いて、主制御MPU1311は、枠コマンド受信処理(ステップS82)と、不正行為検出処理(ステップS84)と、特別図柄及び特別電動役物制御処理(ステップS86)と、普通図柄及び普通電動役物制御処理(ステップS88)とを実行する。続いて、主制御MPU1311は、出力データ設定処理(ステップS90)と、周辺制御基板コマンド送信処理(ステップS92)とを実行する。最後に、主制御MPU1311は、ウォッチドックタイマクリアレジスタWCLに所定値(18H)をセットする(ステップS96)。ウォッチドックタイマクリアレジスタWCLに所定値がセットされることにより、ウォッチドックタイマクリアレジスタWCLがクリア設定される。また、最後に、主制御MPU1311は、レジスタバンクを切り替える(復帰する)。以上の処理が終了すると、タイマ割込み処理を終了し、割り込み前の処理に復帰する。
図76は、ベース算出処理1(ステップS97)の一例を示すフローチャートである。
まず、主制御MPU1311は、遊技状態が特賞中であるかを判定する(ステップS9701)。特賞中であるかの判定基準は図39で説明したものと同じものを用いることができる。そして、遊技状態が特賞中であれば、ベース値の計算に関係しないアウト球であるため、ベースを計算せず、ベース算出処理1を終了する。一方、遊技状態が特賞中でなければ、スイッチ入力処理(ステップS74)で検出されたアウト球数を取得し(ステップS9702)、取得したアウト球数を総アウト球数に加算するように、総アウト球数を更新する(ステップS9705)。なお、アウト球数が取得できない又は取得したアウト球数が0である場合、ベース算出処理1を直ちに終了してもよい。このようにすると、無駄にベース値を計算することなく、主制御MPU1311の負荷を低減できる。
その後、総アウト球数が0であるかを判定する(ステップS9707)。総アウト球数が0であればベース値を計算できないので、ベース値を計算せず、ベース算出処理1を終了する。一方、総アウト球数が0でなければ、総賞球数に所定数(例えば100)を乗じた値を演算回路13121の除算入力レジスタA131216に格納し、総アウト球数を除算入力レジスタB131217に格納する(ステップS9708)。そして、所定時間(32クロック)経過後に、除算結果レジスタA131218から演算結果(総賞球数÷総アウト球数)を読み出して、ベース値とする(ステップS9709)。
その後、前述したステップS908と同様に、ベース報知コマンドを生成し(ステップS9710)、遊技者やホール従業員にベース(ベース値や、ベース値の異常)を報知する。ベース報知コマンドは、周辺制御部1511や液晶表示制御部1512が制御する表示装置(液晶表示装置1600、3114、244)やスピーカ921でベース値を報知する場合には、周辺制御部1511に対する表示コマンドや音出力コマンドである。また、主制御基板1310が制御するベース表示器1317や機能表示ユニット1400で報知する場合、これらの表示装置は7セグメントLEDやLEDランプで構成されていることから、ベース報知コマンドはLED素子への駆動信号である。具体的には、7セグメントLEDがドライバによって駆動される場合、ドライバ(ドライバ内のキャラクタジェネレータ)に設定された文字コードを含む駆動信号がベース報知コマンドである。また、7セグメントLEDが直接駆動される場合、各LED素子を点灯するための駆動信号がベース報知コマンドである。
図77は、ベース算出処理2(ステップS98)の一例を示すフローチャートである。
まず、主制御MPU1311は、遊技状態が特賞中であるかを判定する(ステップS9801)。特賞中であるかの判定基準は図39で説明したものと同じものを用いることができる。
その結果、遊技状態が特賞中であれば、ベース値の計算に関係しない賞球であるため、ベースを計算せず、ベース算出処理2を終了する。一方、遊技状態が特賞中でなければ、賞球制御処理(ステップS80)で算出された賞球数を取得し(ステップS9802)、取得した賞球数を総賞球数に加算するように、総賞球数を更新する(ステップS9809)。なお、賞球数が取得できない又は取得した賞球数が0である場合、ベース算出処理2を直ちに終了してもよい。このようにすると、無駄にベース値を計算することなく、主制御MPU1311の負荷を低減できる。
その後、総アウト球数が0であるかを判定する(ステップS9810)。総アウト球数が0であればベース値を計算できないので、ベース値を計算せず、ベース算出処理2を終了する。一方、総アウト球数が0でなければ、総賞球数に所定数(例えば100)を乗じた値を演算回路13121の除算入力レジスタA131216に格納し、総アウト球数を除算入力レジスタB131217に格納する(ステップS9812)。なお、総賞球数が0である場合はベース値として0が計算されるが、ベース値を計算しなくてもよい。さらに、総賞球数が総アウト数より大きい場合はベース値として1(100%)以上の値が計算されるが、ベース値を計算しなくてもよい。そして、所定時間(32クロック)経過後に、除算結果レジスタA131218から演算結果(総賞球数÷総アウト球数)を読み出して、ベース値とする(ステップS9813)。
その後、ベース報知コマンドを生成し(ステップS9814)、遊技者やホール従業員にベースを報知する。
図76、図77に示すベース算出処理は、タイマ割込み処理毎に実行されるので、遅滞なくベース値を計算し表示できる。なお、ベース算出処理1、ベース算出処理2をタイマ割込み処理毎に実行せずに、所定時間(例えば、タイマ割込み処理より長い周期の1分)毎のタイマ割込み処理において実行してもよい。タイマ割込み処理毎にベース算出表示処理を実行しないことによって、タイマ割込み処理毎にベース値を計算する場合より、ベース値の計算に要する演算量(例えば主制御MPU1311の負荷)を低減できる。
次に、図78から図79を用いて、ベース算出処理(ステップS97、S98)の別な例を説明する。図78、図79に示すベース算出処理は、所定アウト球数毎、所定賞球数毎にベース値を計算する。
図78は、ベース算出処理1(ステップS97)の別な一例を示すフローチャートである。
まず、主制御MPU1311は、遊技状態が特賞中であるかを判定する(ステップS9701)。特賞中であるかの判定基準は図39で説明したものと同じものを用いることができる。そして、遊技状態が特賞中であれば、ベース値の計算に関係しないアウト球であるため、ベースを計算せず、ベース算出処理1を終了する。一方、遊技状態が特賞中でなければ、スイッチ入力処理(ステップS74)で検出されたアウト球数を取得し(ステップS9702)、取得したアウト球数をアウト球数バッファに加算するように、アウト球数バッファを更新する(ステップS9703)。なお、アウト球数が取得できない又は取得したアウト球数が0である場合、ベース算出処理1を直ちに終了してもよい。このようにすると、無駄にベース値を計算することなく、主制御MPU1311の負荷を低減できる。
その後、アウト球数バッファに格納されているアウト球数が予め定められている閾値Th2以上であるかを判定する(ステップS9704)。アウト球数が所定の閾値Th2以上であるかの判定には様々な方法がとり得る。例えば、アウト球数バッファ値と閾値Th2とを比較したり、アウト球数の格納領域の所定のビットの値で判定してもよい(具体的には、アウト球数の格納領域を8ビットで構成し、最上位ビットが1になればアウト球数が128以上であると判定できる)。
そして、アウト球数バッファ値が閾値Th2より小さければ、ベース値を計算するタイミングではないので、ベース算出処理1を終了する。
一方、アウト球数バッファ値が閾値Th2以上であれば、総アウト球数にアウト球数バッファ値を加算するように、総アウト球数を更新し(ステップS9705)、アウト球数バッファを0に設定する(ステップS9706)。
その後、総アウト球数が0であるかを判定する(ステップS9707)。総アウト球数が0であればベース値を計算できないので、ベース値を計算せず、ベース算出処理1を終了する。一方、総アウト球数が0でなければ、総賞球数に所定数(例えば100)を乗じた値を演算回路13121の除算入力レジスタA131216に格納し、総アウト球数を除算入力レジスタB131217に格納する(ステップS9708)。そして、所定時間(32クロック)経過後に、除算結果レジスタA131218から演算結果(総賞球数÷総アウト球数)を読み出して、ベース値とする(ステップS9709)。
その後、ベース報知コマンドを生成し(ステップS9710)、遊技者やホール従業員にベースを報知する。
図79は、ベース算出処理2(ステップS98)の別な一例を示すフローチャートである。
まず、主制御MPU1311は、遊技状態が特賞中であるかを判定する(ステップS9801)。特賞中であるかの判定基準は図39で説明したものと同じものを用いることができる。そして、遊技状態が特賞中であれば、ベース値の計算に関係しない賞球であるため、ベースを計算せず、ベース算出処理2を終了する。一方、遊技状態が特賞中でなければ、賞球制御処理(ステップS80)で算出された賞球数を取得し(ステップS9802)、賞球があるか、すなわち、取得した賞球数が1以上であるかを判定する(ステップS9803)。その結果、賞球がなければ、賞球数を更新せずにステップS9808に進む。一方、賞球があれば、賞球数に異常があるかを判定し(ステップS9805)、賞球数に異常がなければ、取得した賞球数を賞球数バッファに加算するように、賞球数バッファを更新する(ステップS9804)。
一方、賞球数に異常があれば、異常報知コマンドを生成し(ステップS9806)、遊技者やホール従業員に賞球が異常であることを報知する。異常の報知は、様々な方法があり、以下に説明する方法の一つでも、二つ以上を組み合わせてもよい。具体的には、図46のステップS816で説明した様々な方法をとりうる。
賞球数の異常とは、例えば、特賞中以外の所定時間に多くの賞球(例えば、一般入賞口や始動入賞口の賞球数から考えて、1分間に10発以上の入賞に相当する賞球)が得られている場合などである。なお、複数段階の許容範囲を設けて賞球数の基準値からの乖離の程度によって異常の程度を複数段階で判定してもよい。
そして、賞球異常報知用タイマをリセットし(ステップS9807)、賞球異常報知時間の計数を開始する。
そして、賞球数バッファに格納されている賞球数が予め定められている閾値Th1以上であるかを判定する(ステップS9808)。賞球数バッファ値が所定の閾値Th1以上であるかの判定には様々な方法がとり得る。例えば、賞球数バッファ値と閾値Th1とを比較したり、賞球数の格納領域の所定のビットの値で判定してもよい(具体的には、賞球数の格納領域を8ビットで構成し、最上位ビットが1になればアウト球数が128以上であると判定できる)。
そして、賞球数バッファ値が閾値Th1より小さければ、ベース値を計算するタイミングではないので、ベースを計算せず、ベース算出処理2を終了する。
一方、賞球数バッファ値が閾値Th1以上であれば、総賞球数に賞球数バッファ値を加算するように、総賞球数を更新し(ステップS9809)、賞球数バッファを0に設定する(ステップS9810)。
なお、賞球数バッファに加算する都度、外部端子板784から遊技場に設置されたホールコンピュータに賞球数を出力してもよいし、後述する賞球数が所定の閾値Th1以上となった場合に当該閾値Th1を外部端子板784からホールコンピュータに出力してもよい。ここで賞球数バッファは、ベース値を計算するために主制御内蔵RAM1312に設けられる領域であり、遊技機1が払い出す賞球数が一時的に格納される。
その後、総アウト球数が0であるかを判定する(ステップS9811)。総アウト球数が0であればベース値を計算できないので、ベース値を計算せず、ベース算出処理2を終了する。一方、総アウト球数が0でなければ、総賞球数に所定数(例えば100)を乗じた値を演算回路13121の除算入力レジスタA131216に格納し、総アウト球数を除算入力レジスタB131217に格納する(ステップS9812)。そして、所定時間(32クロック)経過後に、除算結果レジスタA131218から演算結果(総賞球数÷総アウト球数)を読み出して、ベース値とする(ステップS9813)。
その後、ベース報知コマンドを生成し(ステップS9814)、遊技者やホール従業員にベースを報知する。
その後、ステップS9807で起動した賞球異常報知用タイマがタイムアップしたかを判定する(ステップS9815)。そして、賞球異常報知用タイマがタイムアップすると、賞球異常報知停止コマンドを生成し、賞球異常報知を停止する(ステップS9816)。なお、ステップS9815では、所定時間だけ賞球異常を報知するためのタイマの時間によって報知の終了を判定したが、所定の発射球数だけ賞球異常を報知しするように報知の終了を判定してもよい。また、ホール従業員が確認するまで異常を報知し続けてもよい。
図80は、タイマ割込み処理の別な一例を示すフローチャートである。図80に示すタイマ割込み処理は、ベース算出処理(ステップS93、S94)とベース表示処理(ステップS95)を除いて前述したタイマ割込み処理(図23、図75)と同じなので、同一の処理の説明は省略する。
タイマ割込み処理が開始されると、主制御MPU1311は、主制御プログラムを実行することによって、まず、レジスタを切り替える(ステップS70)。
次に、主制御MPU1311は、スイッチ入力処理を実行する(ステップS74)。スイッチ入力処理では、排出球センサ3060や発射球センサ1020からの検出信号を読み取って、アウト球数を計数する。
続いて、主制御MPU1311は、ベース算出処理3を実行する(ステップS93)。ベース算出処理3では、ステップS74で計数されたアウト球数を用いて総アウト球数を更新し、ベース値を計算するためのパラメータを演算回路13121に書き込む。ベース算出処理3の詳細は、図81、図84を用いて後述する。
続いて、主制御MPU1311は、タイマ更新処理(ステップS76)と、乱数更新処理1(ステップS78)を実行する。
続いて、主制御MPU1311は、賞球制御処理を実行する(ステップS80)。賞球制御処理では、入力情報記憶領域から入力情報を読み出し、読み出した入力情報に基づいて払い出される遊技球(賞球)の数を計算し、主制御内蔵RAM1312に書き込む。また、賞球数の計算結果に基づいて、遊技球を払い出すための賞球コマンドを作成する。
続いて、主制御MPU1311は、ベース算出処理4を実行する(ステップS94)。ベース算出処理2では、ステップS80で計数された賞球数を用いて総賞球数を更新し、ベース値を計算するためのパラメータを演算回路13121に書き込む。ベース算出処理4の詳細は、図82、図85を用いて後述する。
続いて、主制御MPU1311は、枠コマンド受信処理(ステップS82)と、不正行為検出処理(ステップS84)と、特別図柄及び特別電動役物制御処理(ステップS86)と、普通図柄及び普通電動役物制御処理(ステップS88)とを実行する。
続いて、主制御MPU1311は、演算回路13121から読み出し、ベースを報知するためのコマンドを生成するベース表示処理を実行する(ステップS95)。
続いて、主制御MPU1311は、出力データ設定処理(ステップS90)と、周辺制御基板コマンド送信処理(ステップS92)とを実行する。最後に、主制御MPU1311は、ウォッチドックタイマクリアレジスタWCLに所定値(18H)をセットする(ステップS96)。ウォッチドックタイマクリアレジスタWCLに所定値がセットされることにより、ウォッチドックタイマクリアレジスタWCLがクリア設定される。また、最後に、主制御MPU1311は、レジスタバンクを切り替える(復帰する)。以上の処理が終了すると、タイマ割込み処理を終了し、割り込み前の処理に復帰する。
図81は、ベース算出処理3(ステップS93)の一例を示すフローチャートである。図81に示すベース算出処理3は、図76に示すベース算出処理1からステップS9709以後を取り除いたものである。
まず、主制御MPU1311は、遊技状態が特賞中であるかを判定する(ステップS9701)。特賞中であるかの判定基準は図39で説明したものと同じものを用いることができる。そして、遊技状態が特賞中であれば、ベース値の計算に関係しないアウト球であるため、ベースを計算せず、ベース算出処理1を終了する。一方、遊技状態が特賞中でなければ、スイッチ入力処理(ステップS74)で検出されたアウト球数を取得し(ステップS9702)、取得したアウト球数を総アウト球数に加算するように、総アウト球数を更新する(ステップS9705)。なお、アウト球数が取得できない又は取得したアウト球数が0である場合、ベース算出処理3を直ちに終了してもよい。このようにすると、無駄にベース値を計算することなく、主制御MPU1311の負荷を低減できる。
その後、総アウト球数が0であるかを判定する(ステップS9707)。総アウト球数が0であればベース値を計算できないので、ベース値を計算せず、ベース算出処理3を終了する。一方、総アウト球数が0でなければ、演算回路13121の除算入力レジスタB131217に総アウト球数を格納する(ステップS9708)。
図82は、ベース算出処理4(ステップS94)の一例を示すフローチャートである。図82に示すベース算出処理4は、図77に示すベース算出処理2からステップS9813以後を取り除いたものである。
まず、主制御MPU1311は、遊技状態が特賞中であるかを判定する(ステップS9801)。特賞中であるかの判定基準は図39で説明したものと同じものを用いることができる。そして、遊技状態が特賞中であれば、ベース値の計算に関係しない賞球であるため、ベースを計算せず、ベース算出処理2を終了する。一方、遊技状態が特賞中でなければ、賞球制御処理(ステップS80)で算出された賞球数を取得し(ステップS9802)、取得した賞球数を総賞球数に加算するように、総賞球数を更新する(ステップS9809)。なお、賞球数が取得できない又は取得した賞球数が0である場合、ベース算出処理1を直ちに終了してもよい。このようにすると、無駄にベース値を計算することなく、主制御MPU1311の負荷を低減できる。
その後、総アウト球数が0であるかを判定する(ステップS9810)。総アウト球数が0であればベース値を計算できないので、ベース値を計算せず、ベース算出処理2を終了する。一方、総アウト球数が0でなければ、総賞球数に所定数(例えば100)を乗じた値を演算回路13121の除算入力レジスタA131216に格納する(ステップS9812)。
なお、図81のステップS9708で、総アウト球数を除算入力レジスタB131217に格納せず、図82のステップS9812で、総賞球数に所定数(例えば100)を乗じた値を除算入力レジスタA131216に格納し、総アウト球数を除算入力レジスタB131217に格納してもよい。
図83は、ベース表示処理(ステップS95)の一例を示すフローチャートである。
主制御MPU1311は、除算結果レジスタA131218から演算結果(総賞球数÷総アウト球数)を読み出して、ベース値とする(ステップS8901)。その後、ベース報知コマンドを生成し(ステップS8902)、遊技者やホール従業員にベースを報知する。
図81、図82に示すベース算出処理と、図83に示すベース表示処理は、タイマ割込み処理毎に実行されるので、遅滞なくベース値を計算し表示できる。なお、ベース算出処理1、ベース算出処理2をタイマ割込み処理毎に実行せずに、所定時間(例えば、1分)毎のタイマ割込み処理において実行してもよい。
次に、図84から図85を用いて、ベース算出処理(ステップS97、S98)の別な例を説明する。図84、図85に示すベース算出処理は、所定アウト球数毎、所定賞球数毎にベース値を計算する。
図84は、ベース算出処理3(ステップS93)の別な一例を示すフローチャートである。図84に示すベース算出処理3は、図78に示すベース算出処理1からステップS9709以後を取り除いたものである。
まず、主制御MPU1311は、遊技状態が特賞中であるかを判定する(ステップS9701)。特賞中であるかの判定基準は図39で説明したものと同じものを用いることができる。そして、遊技状態が特賞中であれば、ベース値の計算に関係しないアウト球であるため、ベースを計算せず、ベース算出処理1を終了する。一方、遊技状態が特賞中でなければ、スイッチ入力処理(ステップS74)で検出されたアウト球数を取得し(ステップS9702)、取得したアウト球数をアウト球数バッファに加算するように、アウト球数バッファを更新する(ステップS9703)。なお、アウト球数が取得できない又は取得したアウト球数が0である場合、ベース算出処理3を直ちに終了してもよい。このようにすると、無駄にベース値を計算することなく、主制御MPU1311の負荷を低減できる。
その後、アウト球数バッファに格納されているアウト球数が予め定められている閾値Th2以上であるかを判定する(ステップS9704)。アウト球数が所定の閾値Th2以上であるかの判定には様々な方法がとり得る。例えば、アウト球数バッファ値と閾値Th2とを比較したり、アウト球数の格納領域の所定のビットの値で判定してもよい(具体的には、アウト球数の格納領域を8ビットで構成し、最上位ビットが1になればアウト球数が128以上であると判定できる)。
そして、アウト球数バッファ値が閾値Th2より小さければ、ベース値を計算するタイミングではないので、ベース算出処理1を終了する。
一方、アウト球数バッファ値が閾値Th2以上であれば、総アウト球数にアウト球数バッファ値を加算するように、総アウト球数を更新し(ステップS9705)、アウト球数バッファを0に設定する(ステップS9706)。
その後、総アウト球数が0であるかを判定する(ステップS9707)。総アウト球数が0であればベース値を計算できないので、ベース値を計算せず、ベース算出処理1を終了する。一方、総アウト球数が0でなければ、演算回路13121の除算入力レジスタB131217に総アウト球数を格納する(ステップS9708)。
図85は、ベース算出処理4(ステップS94)の別な一例を示すフローチャートである。図85に示すベース算出処理4は、図79に示すベース算出処理2からステップS9813以後を取り除いたものである。
まず、主制御MPU1311は、遊技状態が特賞中であるかを判定する(ステップS9801)。特賞中であるかの判定基準は図39で説明したものと同じものを用いることができる。そして、遊技状態が特賞中であれば、ベース値の計算に関係しない賞球であるため、ベースを計算せず、ベース算出処理2を終了する。一方、遊技状態が特賞中でなければ、賞球制御処理(ステップS80)で算出された賞球数を取得し(ステップS9802)、賞球があるか、すなわち、取得した賞球数が1以上であるかを判定する(ステップS9803)。その結果、賞球がなければ、賞球数を更新せずにステップS9808に進む。一方、賞球があれば、賞球数に異常があるかを判定し(ステップS9805)、賞球数に異常がなければ、取得した賞球数を賞球数バッファに加算するように、賞球数バッファを更新する(ステップS9804)。
一方、賞球数に異常があれば、異常報知コマンドを生成し(ステップS9806)、遊技者やホール従業員に賞球が異常であることを報知する。異常の報知は、様々な方法があり、以下に説明する方法の一つでも、二つ以上を組み合わせてもよい。具体的には、図46のステップS816で説明した様々な方法をとりうる。
賞球数の異常とは、例えば、特賞中以外の所定時間に多くの賞球(例えば、一般入賞口や始動入賞口の賞球数から考えて、1分間に10発以上の入賞)が得られている場合などである。なお、複数段階の許容範囲を設けて賞球数の基準値からの乖離の程度によって異常の程度を複数段階で判定してもよい。
そして、賞球異常報知用タイマをリセットし(ステップS9807)、賞球異常報知時間の計数を開始する。
そして、賞球数バッファに格納されている賞球数が予め定められている閾値Th1以上であるかを判定する(ステップS9808)。賞球数バッファ値が所定の閾値Th1以上であるかの判定には様々な方法がとり得る。例えば、賞球数バッファ値と閾値Th1とを比較したり、賞球数の格納領域の所定のビットの値で判定してもよい(具体的には、賞球数の格納領域を8ビットで構成し、最上位ビットが1になればアウト球数が128以上であると判定できる)。
そして、賞球数バッファ値が閾値Th1より小さければ、ベース値を計算するタイミングではないので、ベースを計算せず、ベース算出処理2を終了する。
一方、賞球数バッファ値が閾値Th1以上であれば、総賞球数に賞球数バッファ値を加算するように、総賞球数を更新し(ステップS9809)、賞球数バッファを0に設定する(ステップS9810)。
なお、賞球数バッファに加算する都度、外部端子板784から遊技場に設置されたホールコンピュータに賞球数を出力してもよいし、後述する賞球数が所定の閾値Th1以上となった場合に当該閾値Th1を外部端子板784からホールコンピュータに出力してもよい。ここで賞球数バッファは、ベース値を計算するために主制御内蔵RAM1312に設けられる領域であり、遊技機1が払い出す賞球数が一時的に格納される。
その後、総アウト球数が0であるかを判定する(ステップS9811)。総アウト球数が0であればベース値を計算できないので、ベース値を計算せず、ベース算出処理2を終了する。一方、総アウト球数が0でなければ、総賞球数に所定数(例えば100)を乗じた値を演算回路13121の除算入力レジスタA131216に格納する(ステップS9812)。
なお、図84のステップS9708で、総アウト球数を除算入力レジスタB131217に格納せず、図85のステップS9812で、総賞球数に所定数(例えば100)を乗じた値を除算入力レジスタA131216に格納し、総アウト球数を除算入力レジスタB131217に格納してもよい。
図86は、ベース表示処理(ステップS95)の別な一例を示すフローチャートである。
主制御MPU1311は、除算結果レジスタA131218から演算結果(総賞球数÷総アウト球数)を読み出して、ベース値とする(ステップS8901)。その後、ベース報知コマンドを生成し(ステップS8902)、遊技者やホール従業員にベースを報知する。
その後、ベース算出処理4のステップS9807で起動した賞球異常報知用タイマがタイムアップしたかを判定する(ステップS8903)。そして、賞球異常報知用タイマがタイムアップすると、賞球異常報知停止コマンドを生成し、賞球異常報知を停止する(ステップS8904)。なお、ステップS8903では、所定時間だけ賞球異常を報知するためのタイマの時間によって報知の終了を判定したが、所定の発射球数だけ賞球異常を報知するように報知の終了を判定してもよい。また、ホール従業員が確認するまで異常を報知し続けてもよい。
図75、図80に示すように、本実施例のタイマ割込み処理では、タイマ割込み処理が終了する前に(タイマ割り込み周期が経過して、次のタイマ割込み処理が開始する前に)、演算回路13121から除算結果を読み出せるタイミングで、演算回路13121への入力値(除数、被除数)を書き込む。具体的には、演算回路13121への入力値(除数、被除数)の書き込みタイミングは、タイマ割込み処理の前半であったり、乱数更新処理(ステップS78)より前であったり、特別図柄や普通図柄の制御処理(ステップS86、S88)より前がよい。
また、遊技者に付与する遊技媒体(賞球)の数によって、ベース値を計算する処理の実行の有無を判定してもよい。すなわち、入賞口毎に定められた賞球数の観点から、賞球数やアウト球数をベース値の計算に使用するかを切り替えてもよい。例えば、一つの入賞球に対して最大の賞球を付与する入賞口の賞球は、ベース値の計算に使用しなくてもよい。
具体的には、遊技領域に設けられた入賞口毎に定められた遊技媒体が入賞したときに付与する賞遊技媒体(1つの入賞球に対して払い出される賞球)の数が1個、3個、5個の3種類である場合、最大である5個の賞球数及びこれに対応するアウト球数をベース値の計算に使用しなくてもよい。これは、賞球数が大きい入賞をベース値の計算に使用すると、計算されたベース値の変化が大きくなり、計算されたベース値の下位桁を加工手段によって丸めて(四捨五入、切り上げ、切り捨て等をして)表示しても、表示される値が頻繁に変化する場合が生じる。このような場合、パチンコ機が所定の性能を発揮しているか(例えば、設定した出玉率通りなのか)のホールによる判断が困難になるからである。
また、最小である1個の賞球数及びこれに対応するアウト球数をベース値の計算に使用しなくてもよい。これは、賞球数が小さい入賞によるベース値の変化は小さいことから、当該1個の賞球をベース値の計算に使用しなくても、加工手段によって計算されたベース値の下位桁を丸めて(四捨五入、切り上げ、切り捨て等をして)表示すると、表示されるベース値は変化しない場合が生じるので、表示の変化に貢献しない処理は省略してもよいからである。
また、賞球数が最大の場合と最小の場合で説明したが、最大と最小の間にある中間値の賞球数をベース値の計算に使用しなくてもよい。この場合、最大と最小の賞球数はベース値の計算に使用するため、最大と最小が平均化されることによってパチンコ機全体の動作を表す賞球数やアウト球数が示され、適切なベース値を示すことができる。
なお、3種類の賞球数のパターンで説明したが、3種類に限らず、5種類や7種類など他の種類の賞球数のパターンでもよい。
さらに、特定の種類(前述した最小値の1個や、中間値の3個や、最大値の5個など)の賞球数の入賞をベース値の計算に使用しなかった場合、当該入賞が検出された際の遊技状態における全ての入賞はベース値の計算に使用しなくてもよい。例えば、5個の賞球を付与する入賞口への入賞をベース値の計算に使用しない場合、当該入賞口への入賞が検出された遊技状態においては、当該遊技状態の終了までは、当該入賞口や他の入賞口への入賞をベース値の計算に使用しない。また、当該遊技状態の開始以後についても、当該入賞口や他の入賞口への入賞は遡ってベース値の計算に使用しない。
また、当該入賞が検出された際の遊技状態が再び生じた場合における入賞はベース値の計算に使用しなくてもよく、当該入賞が検出された際の遊技状態が他の遊技状態に遷移するまでの入賞をベース値の計算に使用しなくてもよい。これは、計算されるベース値の変化が大きい遊技状態の賞球数とアウト球数をベース値の計算に使用しないことによって、パチンコ機が正常か(例えば、設定した出玉率通りなのか)の判断が遅延する可能性を排除するためである。
なお、遊技状態によって賞球数が変化する場合に1個の入賞球に対して最大(又は、最小、中間)となる賞球について、ベース値の計算に使用しなくてもよい。
次に、前述した遊技媒体(賞球)の数によって、賞球数及びアウト球数をベース値の計算に使用しない具体的な処理を説明する。
スイッチ入力処理(ステップS74)において、各入賞口センサからの検出信号が主制御基板1310に入力されたときに、主制御MPU1310が当該入賞をベース値の計算に使用するかを判定してもよい。そして、ベース値の計算に使用しないと判定される入賞については、ベース値を計算するための総賞球数や総アウト球数の更新をしなかったり、ベース値の計算処理を実行しなかったりする。より具体的には、例えば、図75に示すタイマ割込み処理で、ベース算出処理1(ステップS97)において、ベース値の計算から除外する入賞球数を0にしてアウト球数から除外し、ベース算出処理2(ステップS98)において、ベース値の計算から除外する賞球数を0にして総賞球数に加算しないとよい。また、検出された全ての入賞がベース値の計算に使用しない場合、図75のベース算出処理1(ステップS97)及びベース算出処理2(ステップS98)を実行しなくてもよい。
また、図80に示すタイマ割込み処理では、ベース算出処理3(ステップS93)において、ベース値の計算から除外する入賞球数を0にしてアウト球数から除外し、ベース算出処理4(ステップS94)において、ベース値の計算から除外する賞球数を0にして総賞球数に加算しないとよい。また、検出された全ての入賞がベース値の計算に使用しない場合、図80のベース算出処理3(ステップS93)、ベース算出処理4(ステップS94)及びベース表示処理(ステップS95)を実行しなくてもよい。
ベース値の計算に使用しないと判定された入賞球数をアウト球数から除外する方法は、図73や図74で説明した異常入賞によるアウト球の補正と同様の方法を採用してもよい。
なお、この場合、検出された入賞をベース値の計算に使用するかを入賞球数から判定するので、ベース算出処理1(ステップS97)、ベース算出処理2(ステップS98)、ベース算出処理3(ステップS93)及びベース算出処理4(ステップS94)において、特賞中かを判定しなくてもよい。
このように、所定の入賞にかかるアウト球数及び入賞球数をベース値の計算から除外することによって、処理を飛ばさずに実行するので、特に開発段階において処理が正確に実行されているかを容易に確認できる。また、ベース値を計算する処理を実行せずに、ベース値を更新しないことによって、主制御MPU1310の処理が軽減され、他の処理(抽選処理や変動パターンを決定する処理など)を正確に実行できる。
すなわち、有利度合いが異なる複数の賞がある中で、最大の賞は遊技者に付与されても、ベース値の計算には使用されず、当該賞の付与によってベース値は変化せずに表示される。さらに、当該最大となる賞を付与した遊技状態が少なくとも終了するまでは、計算されるベース値は変化せずに表示される。
[10.スロットマシン]
ここまでパチンコ機のROMに記憶されるプログラム及びデータの配置について説明したが、続いて、スロットマシン(回胴式遊技機)のRAM及びROMに記憶されるプログラム及びデータの配置について説明する。なお、パチンコ機については、図26にて概略を説明したが、以降説明するスロットマシン4000の場合と同様にRAM及びROMにプログラム及びデータが配置されている。
[10-1.構造]
まず、本実施形態におけるスロットマシン4000の構造について説明する。図87は、スロットマシン4000の斜視図であり、図88は、前面部材4200を開いた状態のスロットマシン4000の斜視図である。
図87及び図88に示すように、本実施形態のスロットマシン4000は、前面が開放した箱形の筐体4100の内部に各種の機器が設けられるとともに、この筐体4100の前面に、前面部材4200が片開き形式に開閉可能に設けられている。前面部材4200の上部には、遊技の進行状況に応じて表示による演出や情報表示を行う画像表示体4500、音による演出を行うスピーカ等が設けられている。画像表示体4500は、例えば液晶表示パネルで構成され、遊技に関する演出表示のほか、様々な情報を表示する。そして、画像表示体4500における各種演出表示や履歴情報表示は、演出制御基板4700によって制御される。すなわち、画像表示体4500が、ゲームの進行に応じた演出を表示することが可能な演出表示手段をなし、演出制御基板4700が、演出表示手段の表示制御を行うことが可能な表示制御手段をなす。
前面部材4200の中央部には、後方を視認できないようにするとともに装飾のための絵柄等が描かれた前面パネルが配され、前面パネルの中央部には後方を視認可能な(例えば、透明の)図柄表示窓4401が形成されている。なお、前面パネルを表示装置で構成しても良く、図柄表示窓4401の部分に画像を表示しない状態ではリール4301を視認可能とし、主に図柄表示窓4401の周囲において遊技を演出する画像を表示する。この場合、図柄表示窓4401の部分に遊技を演出する画像を表示することも可能である。
図柄表示窓4401(窓部)を透して、筐体内に配設されたリール4301の回転により変動表示される図柄を視認可能となっている。リール4301は、円筒形の左リール4301a、中リール4301b、右リール4301cが水平方向に並設されて構成されている。これらのリール4301a,4301b,4301cの外周面には、長手方向に沿って複数の図柄が描画された短冊状のシートが巻き付けられることで、所定の配列に従って複数の図柄が配されている。
各リール4301a,4301b,4301cには、それぞれステッピングモータであるリール駆動モータ4341a,4341b,4341c(図89参照)が設けられており、各リール4301a,4301b,4301cを独立して回転駆動及び回転停止することが可能となっている。すなわち、リール駆動モータ4341a,4341b,4341cが各リール4301a,4301b,4301cの駆動源をなしている。さらに、リール駆動モータ4341a,4341b,4341cは、前述したパチンコ遊技機1の払出モータ839と同様に、2相励磁方式によって制御することにより、駆動トルクと静止トルクとを大きくしている。これにより、駆動源に小型のモータを採用することが可能となり、コストを削減することができる。
なお、以下では必要に応じて、リール4301a,4301b,4301cをそれぞれ左リール4301a,中リール4301b,右リール4301cとする。そして、これに対応するそれぞれのリール停止ボタン4211a,4211b,4211cを左リール停止ボタン4211a,中リール停止ボタン4211b,右リール停止ボタン4211cとする。さらに、各リールに対応するリール駆動モータ4341を左リール駆動モータ4341a,中リール駆動モータ4341b,右リール駆動モータ4341cとする。
また、リール駆動モータ4341によりリール4301を回転させることによって、図柄表示窓4401から視認される複数種類の図柄を、例えば上から下へと循環するように変動させる(変動表示)。一方、リール4301が停止している状態では、各リール4301a,4301b,4301cについて、連続する所定数(例えば、3つ)の図柄、つまり3×3の計9つの図柄が図柄表示窓4401を介して視認可能となっている。すなわち、図柄表示窓4401を透して、ゲームの停止結果を導出表示するためのリール4301a,4301b,4301cの有効表示部を視認可能となっている。
図柄表示窓4401から視認される3×3の図柄行列に対しては、所定の有効化可能ラインが設定される。本実施形態では各リール4301a,4301b,4301c中段の図柄を横切るライン(中段ライン)、左リール4301a下段-中リール4301b中段-右リール4301c上段にかけて各リール4301a,4301b,4301cを斜めに横切るライン(右上がりライン)、左リール4301a上段-中リール4301b中段-右リール4301c下段にかけて各リール4301a,4301b,4301cを斜めに横切るライン(右下がりライン)が有効化可能ラインとなっている。そして、遊技者によるメダルの投入又はクレジットからの入力(以下「賭操作」という。)によって有効化可能ラインが有効化され、この有効ライン上に形成された図柄組合せ態様(出目)に基づいて入賞(役)の成立/不成立が判断される。
入賞が成立する場合には、有効ライン上に所定の図柄が3つ並ぶ場合の他、見た目上で他のラインで所定の図柄が3つ並ぶ場合もある。このようなラインとしては、各リール4301a,4301b,4301c上段の図柄を横切るライン(上段ライン)がある。なお、各リール4301a,4301b,4301c下段の図柄を横切るライン(下段ライン)や、上記以外の各リール4301a,4301b,4301cの図柄表示窓4401に臨む前面部(視認可能な部分)を横切るように位置する仮想的なラインに見た目上図柄が並ぶようにしても良い。以下、有効化可能ライン(中段、右上がり、右下がりライン)や、入賞時に見た目上図柄が整列可能なライン(上段ライン)、その他のライン(下段ライン等)をまとめて図柄停止ライン(図柄整列ライン)と称する。
上段、中段、下段、右上がり及び右下がりラインを有効化可能ラインとして、賭数に応じて所定の有効化可能ラインを有効化し、この有効ライン上に形成された図柄組合せ態様に基づいて入賞(役)の成立/不成立を判断する。例えば、賭数1では中段ラインを有効ラインとし、賭数2では中段ラインに加え、上下段ラインを有効ラインとし、賭数3では上中下段ラインに加え、右上がり、右下がりラインを有効ラインとする。また、賭数には無関係に(賭数が1または2であっても)すべてのラインを有効としてもよいし、3枚がけ専用としてもよい。
図柄表示窓4401の周辺(例えば、下方)には、ゲームによって払い出されるメダルの枚数を表示する払出枚数表示LED4562が設けられる。スロットマシン4000内に貯留されたメダルの枚数を表示するクレジット表示器や、特賞中の残りのゲーム数を表示するカウント表示器が設けられてもよい。
図柄表示窓4401の下方には、前側に突出する段部が形成されており、この段部の上面は前面側下方に向かって傾斜する操作部4202となっている。操作部4202には、メダル投入口4203と、ゲームを進行させるための進行操作部としての1枚投入ボタン4205、マックスベットボタン4206が設けられている。
メダル投入口4203は、操作部4202における当該スロットマシン4000の前面側から見て右側に配設されている。遊技者がこのメダル投入口4203にメダルを投入して賭操作を行うことにより、ゲームが実行可能となる。メダル投入口4203から投入されたメダルが通過する経路には、メダルの通過を検出する投入センサ4207bが設けられており、投入センサ4207bによる検出情報をもとにメダルの投入枚数がカウントされる。
1枚投入ボタン4205及びマックスベットボタン4206は、操作部4202における当該スロットマシン4000の前面側から見て左側に配設されている。1枚投入ボタン4205は、押圧操作を一度行うことでクレジットから1枚ずつ入力できる。マックスベットボタン4206は、押圧操作を一度行うことでクレジットから賭数の上限数(例えば、3枚)まで入力できるが、クレジット数が上限数に満たない場合にはクレジット数を賭数として入力するようになっている。
操作部4202の下方には、払戻ボタン4209、始動レバー4210、返却ボタン4208、リール停止ボタン4211、鍵装置4215等が設けられている。払戻ボタン4209は、メダル投入口4203から投入されたメダルや1枚投入ボタン4205、マックスベットボタン4206により賭数として入力されたメダル(賭メダル)又は入賞が成立することにより払い出されクレジットとして記憶されているメダル(貯留メダル)をメダル用受け皿4201に返却させる指令を与える際に用いられる。なお、再遊技入賞(リプレイ入賞)の成立に基づく自動賭操作の後にメダル投入口4203からメダルが投入された場合や、クレジットとして記憶可能な所定数を超えるメダルもメダルセレクタ4207を介してメダル用受け皿4201に返却される。
始動レバー4210は、一区切りのゲームを開始させるための操作レバーである。鍵装置4215は、前面部材4200を開く際、或いは当該スロットマシン4000のエラー(例えば、ホッパーエラー)状態をリセットする際に鍵を差し込むためのものである。返却ボタン4208は、メダル投入口4203から投入されてメダルセレクタ4207の内部に詰まったメダルをメダル用受け皿4201に返却させる際に用いられる。
リール停止ボタン4211は、左リール4301a、中リール4301b及び右リール4301cとそれぞれ1対1で対応付けられて設けられた、左リール停止ボタン4211a、中リール停止ボタン4211b及び右リール停止ボタン4211cで構成され、停止操作に応じて対応するリール4301a,4301b,4301cの回転をそれぞれ停止させるためのものである。
また、これらの操作ボタン類が設けられた部分の下方には、前面部材4200の下部領域を構成する装飾板(化粧パネル)が設けられている。さらに、装飾板の下方であって前面部材4200の最下部には、メダルを貯留するためのメダル用受け皿4201、メダル払出口、音声を出力するためのスピーカ4512等が設けられている。
筐体内部の上部には、スロットマシン4000全体を制御するメイン基板(遊技制御装置)4600(図89参照)が配設されている。メイン基板4600上には役物比率表示器1317及び役物比率表示スイッチ1318が設けられる。役物比率表示器1317は、前述したパチンコ機と同様に、例えば、4桁の7セグメントLEDによって構成される。メイン基板4600上に設けられた液晶表示装置によって役物比率表示器1317を構成してもよい。
役物比率表示器1317を、メイン基板4600上に設けず、スロットマシン4000の正面に設けられた他の表示器(例えば、払出枚数表示LED4562や画像表示体4500)と兼用し、払出枚数表示LED4562や画像表示体4500に役物比率を表示してもよい。
役物比率表示スイッチ1318を操作すると、役物比率表示器1317に役物比率を表示する。役物比率表示スイッチ1318の近傍のプリント基板上又は筐体4100に、役物比率の表示を操作するためのスイッチであることを表示(印刷、刻印、シールなど)するとよい。なお、役物比率表示スイッチ1318は、役物比率表示器1317の付近に設けることが望ましいが、主制御ユニット1300ではなくても、操作が容易な場所であれば、他の基板(例えば、演出制御基板4700、電源装置4112)や筐体4100や前面部材4200に設けられてもよい。また、後述するように、役物比率表示スイッチ1318はRAMクリアスイッチと兼用してもよい。役物比率表示スイッチ1318を遊技者が操作できない位置に設けることで、遊技者が誤って操作することを防止できる。
また、筐体内部のほぼ中央には、図柄変動表示装置4300が設けられ、回転可能なリール4301a,4301b,4301cが載置されている。また、当該スロットマシン4000の筐体内部にはメイン基板4600から外部の装置へ信号を出力するための外部中継端子板4131が設けられている。
さらに、筐体内部の下部には、メダル払出装置(ホッパー)4110が配設されている。メダル払出装置4110は、メダル投入口4203から投入されてメダルセレクタ4207により誘導されたメダルを受け入れて貯留するとともに、有効ライン上に所定の図柄組合せ態様が形成され入賞が成立した場合に、この入賞に対応する枚数のメダル(払出メダル)又は入賞成立に伴う加算によりクレジットの上限を超えた分のメダルをメダル用受け皿4201に払い出す。クレジット分のメダルは払戻ボタン4209を操作することによりメダル払出装置4110によってメダル用受け皿4201に払い出される。また、メダル払出装置4110の右方には、メダル払出装置4110からオーバーフローして流入してくるメダルを貯留したり、流入してきたメダルを当該スロットマシン4000が設置される設置島のメダル回収機構へ誘導したりするためのオーバーフロータンクが設けられている。
[10-2.スロットマシンの内部構成]
図89は、スロットマシン4000に備えられた各種の機構要素や電子機器類、操作部材等の構成を示すブロック図である。スロットマシン4000は遊技の進行を統括的に制御するためのメイン基板4600を有しており、メイン基板4600にはCPU4601をはじめ、ROM4602、RAM4603、入出力インターフェイス4604等が実装されている。
また、前述したように、メイン基板4600には、CPU4601が計算した役物比率を表示する役物比率表示器1317及び役物比率表示器1317の表示を切り替える役物比率表示スイッチ1318が設けられる。役物比率表示スイッチ1318は、モーメンタリ動作をする押ボタンスイッチで構成するとよいが、他の形式のスイッチでもよい。役物比率表示スイッチ1318を操作すると、役物比率表示器1317に役物比率を表示してもよい。
前述した1枚投入ボタン4205、マックスベットボタン4206、始動レバー4210、リール停止ボタン4211a,4211b,4211c、払戻ボタン4209等はいずれもメイン基板4600に接続されており、これら操作ボタン類は図示しないセンサを用いて遊技者による操作をし、検出された操作信号をメイン基板4600に出力する。具体的には、始動レバー4210が操作されると前述した図柄変動表示装置4300を始動させる(リール4301a,4301b,4301cの回転を開始させる)操作信号がメイン基板4600に出力され、リール停止ボタン4211a,4211b,4211cが操作されると、リール4301a,4301b,4301cをそれぞれ停止させる操作信号がメイン基板4600に出力される。
また、スロットマシン4000にはメイン基板4600とともにその他の機器類が収容されており、これら機器類からメイン基板4600に各種の信号が入力されている。機器類には、図柄変動表示装置4300のほか、メダル払出装置4110等がある。
図柄変動表示装置4300は、前述のように、リール4301a,4301b,4301cをそれぞれ回転させるためのリール駆動モータ4341a,4341b,4341cを備えている(左リール駆動モータ4341a、中リール駆動モータ4341b、右リール駆動モータ4341c)。リール駆動モータ4341はステッピングモータからなり、それぞれのリール4301a,4301b,4301cは独立して回転、停止することが可能となっており、その回転時には図柄表示窓4401にて複数種類の図柄が上から下へ連続的に変化しつつ表示される。
また、各リール4301a,4301b,4301cの回転に関する基準位置を検出するための位置センサ4331a,4331b,4331cを有しており、各リール4301a,4301b,4301cにはそれぞれ位置センサ4331a,4331b,4331cがリール内に対応して設けられている(左リール位置センサ4331a、中リール位置センサ4331b、右リール位置センサ4331c)。これら位置センサからの検出信号(インデックス信号)がメイン基板4600に入力されることで、メイン基板4600では各リールの停止位置情報を得ることができる。
メダルセレクタ4207内には、前述したソレノイド4207aや投入センサ4207bが設置されている。投入センサ4207bは、メダル投入口4203から投入されたメダルを検出し、メダルの検出信号をメイン基板4600に出力する。ソレノイド4207aがOFFの状態のとき、投入されたメダルは投入センサ4207bで検出される。逆にソレノイド4207aがONの状態のときは、メダルセレクタ4207内で投入センサ4207bに到達する通路がロックアウトされてメダルの投入が受け付けられなくなり、遊技者がメダルを投入しても、メダルセレクタ4207を通って返却樋に流れたメダルはメダル用受け皿4201に戻る。このとき合わせて投入センサ4207bの機能が無効化されるので、メダル投入によるベット又はメダルの貯留のいずれも行われなくなる。
メダル払出装置4110は、払い出されたメダルを1枚ずつ検出する払出センサ4110eを放出口内に有しており、払出センサ4110eからメダル1枚ごとの払出メダル信号がメイン基板4600に入力されている。また、遊技メダル用補助収納箱にはメダル満タンセンサ4111aが設けられており、内部に貯留されたメダルの貯留数が所定数量を超えた場合、メダルが所定数量を超えた検出信号をメイン基板4600に出力する。このとき、画像表示体4500、エラーランプ4554等によりメダル貯留の異常を知らせるエラー表示が行われ、遊技者やホール従業員等に異常が発生したことが報知される。
一方、メイン基板4600からは、図柄変動表示装置4300やメダル払出装置4110に対して制御信号が出力される。すなわち、前述した各リール駆動モータ4341a,4341b,4341cの起動及び停止を制御するための駆動パルス信号がメイン基板4600から出力される。また、メダル払出装置4110には、有効ライン上に停止した図柄の組合せの種類に応じてメイン基板4600から駆動信号が入力され、これを受けてメダル払出装置4110はメダルの払い出し動作を行う。このとき、メダル払出装置4110内に払い出しに必要な枚数のメダルが不足しているか、あるいはメダルが全く無い状態であった場合、払出センサ4110eによる枚数検出が滞ることとなる。そして所定時間(例えば3秒間)が経過すると、払出センサ4110eより払い出しメダルの異常信号がメイン基板4600へ出力され、これを受けてメイン基板4600は、メダルの払い出しに異常が発生したことを知らせる内容をエラーランプ4554や画像表示体4500等に表示させて遊技者やホール従業員等に異常が発生したことを報知する。
スロットマシン4000は、メイン基板4600の他に演出制御基板4700を備えており、この演出制御基板4700にはCPU4701やROM4702、RAM4703、入出力インターフェイス4707、VDP(Video Display Processor)4704、AMP(オーディオアンプ)4705、音源IC4706等が実装されている。演出制御基板4700はメイン基板4600から各種の指令信号を受け、画像表示体4500の表示や照明装置4502等の発光(または点灯、点滅、消灯等)及びスピーカ4512の作動を制御している。
さらに、外部中継端子板4131を設け、スロットマシン4000は外部中継端子板4131を介して遊技場のホールコンピュータ4800に接続される。外部中継端子板4131はメイン基板4600から送信される各種信号(投入メダル信号や払出メダル信号、遊技ステータス等)をホールコンピュータ4800に中継する役割を担っている。
電源装置4112は、島設備から供給される交流24ボルト(AC24V)の電源から、複数種類の直流電源を作成する。例えば、直流+5V(以下、「+5V」)、直流+12V(以下、「+12V」)、及び直流+24V(以下、「+24V」)の3種類の電源が作成される。電源装置4112で作成された+5V、+12V、及び+24Vの3種類の電源は、スロットマシン4000に含まれる各構成に供給され、例えば、+5V及び+12Vの2種類の電源がリール4301及びリール駆動モータ4341を備える図柄変動表示装置4300に供給される。
その他、電源装置4112には、設定変更キースイッチ4112tやリセットスイッチ4112u、電源スイッチ4112v等が付属している。これらスイッチ類はいずれもスロットマシン4000の外側に露出しておらず、前面部材4200を開けることではじめて操作可能となる。電源スイッチ4112vは、スロットマシン4000への電力供給をON-OFFするためのものであり、設定変更キースイッチ4112tはスロットマシン4000の設定(例えば設定1~6)を変更するためのものである。また、リセットスイッチ4112uはスロットマシン4000で発生したエラーを解除するためのものであり、更には設定変更キースイッチ4112tとともに設定を変更する際にも操作される。
また、メイン基板4600には、リール駆動モータ電圧切替回路4605を設けられている。リール駆動モータ4341の出力軸を回転駆動してリール4301を回転させるための駆動トルクを得る場合には、CPU4601が電圧切替信号の論理(例えば、HI)に設定してリール駆動モータ電圧切替回路4605に出力することでモータ駆動電圧として+12Vをリール駆動モータ4341に供給する制御を行う。一方、リール駆動モータ4341の出力軸を停止させた状態を維持するための静止トルクを得る場合には、CPU4601が電圧切替信号の論理(例えば、LOW)に設定してリール駆動モータ電圧切替回路4605に出力することでモータ駆動電圧として+5Vをリール駆動モータ4341に供給する制御を行うようになっている。
以上がスロットマシン4000の構成例である。スロットマシン4000によるゲームは、遊技者がメダルの掛け数を決定した状態で始動レバー4210を操作すると各リール4301a,4301b,4301cが回転し、この後、遊技者がリール停止ボタン4211a,4211b,4211cを操作すると、対応する各リール4301a,4301b,4301cが停止制御され、そして、全てのリール4301a,4301b,4301cが停止すると、有効ライン上での図柄の組合せ態様からゲーム結果を判断し、必要に応じて該当する当選役に対応する規定数のメダルが付与される。
前述したとおり、各リール4301a,4301b,4301cには、それぞれ図柄が描かれたリール帯が付されている。そして、全てのリール4301a,4301b,4301cを停止させた際に図柄表示窓4401内に表示される表示内容(有効ライン上に表示された図柄の組合せ態様)から所定の当選役に対応する図柄の組合せ態様(図柄組合せ)が表示されたか否かが判断される。具体的には、図柄表示窓4401内で前述の有効ラインに所定の当選役に対応する図柄の組合せ態様が表示されているか否かが判断される。なお、複数の有効ラインの各々で当選役に対応する図柄組合せが表示されているか否かが判断される。その結果、複数の当選役の図柄組合せが表示されていると判断された場合には、表示された各当選役に対応する払出数を合算した数量のメダルの払い出しが行われる。
[10-3.記憶領域の構成]
続いて、メイン基板4600に備えられたROM4602及びRAM4603などによって提供される記憶領域について説明する。なお、パチンコ機の記憶領域については、図24にて概略を説明したが、図90から図93に示したスロットマシン4000の場合と同様に構成されている。図90は、本実施形態におけるスロットマシン4000の遊技制御におけるアクセス領域と、ROM4602に対応する記憶領域であるROM領域5100の詳細を示す図である。
本実施形態における記憶領域は、ROM4602、RAM4603などの媒体によって提供されており、”0000H”から”FFFFH”までのアドレスが付与された一のアクセス領域として提供されている。また、本実施形態のアクセス領域は、当該アクセス領域を提供する媒体に対応した所定の領域に分割されており、ROM領域5100、RAM領域5200、I/O領域5300、パラメータ情報設定領域5400が含まれている。なお、各領域は、必ずしもアクセス領域を提供する媒体に対応する必要はなく、複数の媒体で一の領域を提供してもよいし、一の媒体で複数の領域を提供してもよい。
本実施形態のアクセス領域が以上のように構成されていることによって、CPU4601がアドレスを指定することで実際にアクセス領域を提供する媒体を意識せずにプログラムやデータにアクセスすることができる。以下、アクセス領域の詳細について説明する。
[10-3-1.ROM領域]
まず、ROM領域5100の構成について説明する。ROM領域5100は、ROM4602によって提供される記憶領域に対応する。ROM4602は遊技機1の電源が切断された場合であっても記憶内容が保持される不揮発性の記憶媒体であり、記憶されたデータを読み出すことは可能であるが、更新したり削除したりすることはできないようになっている。なお、ROM4602は不揮発性の記憶媒体であれば良く、ROM領域5100に記憶されるデータを更新可能としてもよい。
ROM領域5100は、”0000H”から”1FFFH”までのアドレスが付与されている。CPU4601がアドレス”0000H”から”1FFFH”を指定することでROM4602に記憶されたデータにアクセスすることができる。
ROM領域5100は、第一制御領域、第一隔離領域、第一データ領域、第二制御領域、第二隔離領域、第二データ領域、第三制御領域、第三隔離領域及び第四隔離領域が含まれる。各領域には、開始アドレスと終了アドレスが設定されている。
第一制御領域は、遊技制御領域であり、遊技制御を行うためのプログラムなどが記憶されている。また、第一データ領域は、遊技制御を行うために必要なデータが記憶されている遊技データ領域である。すなわち、第一制御領域に記憶されたプログラムを実行し、第一データ領域に記憶されたデータを参照しながら遊技制御を行う。なお、遊技制御に使用される領域(第一制御領域、第一データ領域)を遊技制御用領域(第一記憶領域)とする。
第二制御領域は、制御プログラムのデバッグ(機能検査)を行うためのプログラムなどが記憶されている。また、第二データ領域は、デバッグ(機能検査)を行うためのデータを記憶するための領域である。なお、第二データ領域は必ずしも必要ではなく、第二制御領域にデバッグ用のデータを格納するようにしてもよい。なお、遊技制御に使用されずに遊技制御プログラムのデバッグ(機能検査)を行うためのプログラムやデータが格納される領域(第二制御領域、第二データ領域)をデバッグ(検査機能)用領域(第二記憶領域)とする。
第三制御領域は、役物比率を算出及び表示するためのプログラムなどが記憶されている。第三制御領域には、役物比率算出用のデータも格納される。役物比率算出用のデータを格納する第三データ領域を設けてもよい。なお、遊技制御に使用されずに役物比率を算出するためのプログラムやデータが格納される領域(第三制御領域)を役物比率算出用領域(第三記憶領域)とする。このように、役物比率算出・表示用コード13135を遊技制御用コード13131と別に設計し、別の領域に格納することによって、役物比率算出・表示用コード13135の検査と遊技制御用コード13131の検査とを別に行うことができ、スロットマシン4000の検査の手間を減少できる。また、役物比率算出・表示用コード13135を、機種に依存せず、複数の機種で共通に使用できる。
第一隔離領域、第二隔離領域、第三隔離領域及び第四隔離領域は、制御領域及びデータ領域の間に割り当てられた領域であり、アクセスが禁止された領域である。CPU4601による処理において、隔離領域にアクセスされた場合には、強制的にリセット処理を実行するように構成されている。第一隔離領域、第二隔離領域第三隔離領域及び第四隔離領域は、前後の領域と連続する領域であり、例えば、第一隔離領域の開始アドレスは、第一制御領域の終了アドレスの次のアドレス(”0A00H”)となり、第一隔離領域の終了アドレスは、第一データ領域の一つ前のアドレス(”0AFFH”)となる。また、第三隔離領域は、遊技制御用領域及びデバッグ(機能検査)用領域の間に配置されており、図30では遊技制御用領域として扱うようにしているが、デバッグ(機能検査)用領域として扱うようにしてもよい。同様に、第四隔離領域は、デバッグ(機能検査)用領域及び役物比率算出用領域の間に配置されており、図90ではデバッグ(機能検査)用領域として扱うようにしているが、役物比率算出用領域として扱うようにしてもよい。
[10-3-2.RAM領域]
続いて、RAM領域5200の構成について説明する。図91は、本実施形態におけるRAM領域5200の詳細を示す図である。RAM領域5200は、RAM4603によって提供される記憶領域に対応する。RAM4603は遊技機1の電源を切断すると、記憶内容が消去される揮発性の記憶媒体であり、記憶されたデータの読み書きが可能となっている。RAM領域5200は、ROM領域5100に記憶されたプログラムやデータを一時的に記憶したり、プログラムの実行によって導出されたデータを記憶する。なお、RAM4603はデータが読み書き可能であればよく、不揮発性の記憶媒体であってもよい。また、停電発生時には、バックアップ電源によってRAM4603に記憶されたデータは所定期間保持することが可能となっている。
RAM領域5200は、”3000H”から”31FFH”までのアドレスが付与されている。CPU4601がアドレス”3000H”から”31FFH”を指定することでRAM4603に記憶されたデータにアクセスすることができる。
RAM領域5200は、遊技制御用ワーク領域、デバッグ(検査機能)用ワーク領域、退避領域及び隔離領域を含む。各領域には、開始アドレスと終了アドレスが設定されている。
遊技制御用ワーク領域は、遊技制御(第一制御)を実行する際に使用するワークエリア(一時領域)である。デバッグ(検査機能)用ワーク領域は、プログラムのデバッグ制御(第二制御)を実行する際に使用するワークエリアである。役物比率算出用ワーク領域は、役物比率を算出するためのデータや算出された役物比率(役物比率、連続役物比率、有利区間役物比率など)を格納する領域である。なお、デバッグ(検査機能)用ワーク領域や役物比率算出用ワーク領域は、必ずしも専用のワークエリアを確保する必要はなく、遊技制御用ワーク領域を使用するようにしてもよいし、遊技制御用ワーク領域に、デバッグ(検査機能)用ワーク領域や役物比率算出用ワーク領域を割り当ててもよい。この場合、遊技制御領域とデバッグ(検査機能)用制御領域と役物比率算出用ワーク領域との独立性は低下することになる。ただし、デバッグ(検査機能)用ワーク領域や役物比率算出用ワーク領域を使用しないようなプログラム構成とすれば必ずしもデバッグ(検査機能)用ワーク領域や役物比率算出用ワーク領域を使用しなくてもよい。
退避領域は、遊技制御またはデバック(検査機能)制御または役物比率算出において使用されるデータを退避させるために一時的に記憶する領域である。例えば、割り込みが発生して所定の処理を実行する場合に、当該所定の処理を実行する前にCPUの各種レジスタ(演算用レジスタ、フラグレジスタ、スタックポインタ等)の値を退避領域にコピーし、処理終了後にコピーされた値をCPUの各種レジスタに戻す。なお、退避領域は、遊技制御とデバック(検査機能)と役物比率算出とで共通に使用してもよいが、ワーク領域と同様に、遊技制御用とデバック(検査機能)用と役物比率算出とで個別に分けてもよい。それにより、遊技制御とデバック(検査機能)制御と役物比率算出とで、より独立性を保つことができる。
隔離領域は、遊技制御用ワーク領域とデバッグ(検査機能)用ワーク領域と役物比率算出用ワーク領域との間、デバッグ(検査機能)用ワーク領域と退避領域と役物比率算出用退避領域との間に割り当てられており、各領域(前後の領域)と連続する領域となっている。例えば、遊技制御用ワーク領域とデバッグ(検査機能)用ワーク領域との間の隔離領域の開始アドレスは、遊技制御用ワーク領域の終了アドレスの次のアドレス(”3076H”)となり、終了アドレスは、デバッグ(検査機能)用ワーク領域の一つ前のアドレス(”307FH”)となる。また、隔離領域は、アクセスが禁止された領域となっており、CPU4601による処理においてアクセスされた場合には、強制的にリセット処理を実行するように構成されている。
図91は、その右側に役物比率算出用ワーク領域の詳細を示す。役物比率算出用ワーク領域は、役物比率の算出結果が格納されるメイン領域の他、メイン領域に格納されたデータの複製が格納されるバックアップ領域1及びバックアップ領域2とを設けてもよい。バックアップ領域は一つでも複数でもよい。各領域には、データの誤りを検出するためのチェックコードが付加される。チェックコードは、各領域のデータのチェックサムでも予め定めた値でもよい。チェックコードは、スロットマシン4000の電源投入時に初期化処理で設定したり、役物比率算出・表示処理においてメイン領域のデータが更新される毎に設定したり、初期化処理(図94のステップS1020)において設定してもよい。特に、チェックコードが固定値である場合、初期化処理で正常と判定した又はデータを消去した際にチェックコードを初期化し、初期化処理(図94のステップS1020)において固定値をセットしてもよい。チェックコードは、電断フラグと兼用してもよい。すなわち、メイン領域のチェックコードに所定値が設定されていれば、電断フラグが設定されていると判定してもよい。また、電断フラグに所定値が設定されていれば、各領域のチェックコードが正しい値である(すなわち、各領域のデータが正常である)と判定してもよい。
なお、初期化処理(図94のステップS1020)において、バックアップ領域のデータが正常か否かが判定され、正常であると判定されたバックアップ領域のデータをメイン領域に複製するとよい。また、電源遮断時に実行される電源断時処理において、メイン領域の値を各バックアップ領域に複製してもよい。
メイン領域とバックアップ領域1との間、及びバックアップ領域1とバックアップ領域2との間には、未使用空間が設けられる。各領域の間に未使用空間を設けることによって、各領域のアドレスを遠ざけることができ、アドレスの上位桁で各領域を区別できる。
図92は、役物比率算出用ワーク領域における各データを格納するためのワークエリアの具体的な構造を示す図である。
図92(A)は、最も簡単な方法のワークエリアの構造を示す。図92(A)に示すワークエリアの構造では、役物払出数、連続役物払出数、総払出数、役物比率、連続役物比率、有利区間遊技数、非有利区間遊技数及び有利区間割合を格納する。役物払出数は、役物作動中(例えば、レギュラーボーナス中)に払い出されるメダルの数である。連続役物獲得球数は、連続役物作動中(例えば、ビッグボーナス中)に払い出されるメダルの数である。総払出数は、ゲームによって払い出された全てのメダルの数である。役物比率は、役物払出数÷総払出数で計算できる。連続役物比率は、連続役物払出数÷総獲払出数で計算できる。有利区間遊技数は、遊技者に有利な遊技状態(例えば、ART(アシスト・リプレイ・タイム)などの手持ちのメダルが減りにくい遊技状態)で実行されたゲーム数であり、非有利区間遊技数は、有利区間以外の遊技状態で実行されたゲーム数である。有利区間割合は、有利区間遊技数÷(有利区間遊技数+非有利区間遊技数)で計算できる。
図92(A)に示すワークエリアの構造のうち、役物払出数、連続役物払出数、総払出数、有利区間遊技数及び非有利区間遊技数は、後述する図92(B)の総累計に相当し、各々3又は4バイトの記憶領域であり、10進数で16777215又は4294967295までの数値を記憶できる。これらのデータはデータに異常が生じない限り消去されないことから、長期間のデータを格納できるように大きな記憶領域を用意している。また、役物比率、連続役物比率及び有利区間割合は、1バイトの記憶領域であり、10進数で255までの数値を記憶できる。
役物払出数、連続役物払出数、総払出数、有利区間遊技数、及び非有利区間遊技数は、役物比率算出用領域更新処理(図94のステップS1038)で更新され、役物比率、連続役物比率、及び有利区間割合は、役物比率算出・表示処理(図95のステップS1119)で計算され、格納される。
図92(B)は、リングバッファを用いたワークエリアの構造を示す。図92(B)に示すワークエリアの構造では、再遊技回数、入賞払出数、役物払出数、連続役物払出数、遊技回数、役物比率、連続役物比率、有利区間遊技数、非有利区間遊技数及び有利区間割合を格納する。また、各データの記憶領域は、所定数のゲーム毎にn個の記憶領域(例えば、400ゲーム毎に15個の記憶領域)を持つリングバッファによって構成されており、実行されたゲーム数が所定数(400回)になると全てのデータの書き込みポインタが移動して、データが更新される記憶領域が変わる。そして、n番目の記憶領域に所定数の遊技回数のデータが格納された後、書き込みポインタは1番目の記憶領域に移動し、1番目の記憶領域にデータを格納する。
なお、リングバッファの書き込みポインタ及び読み出しポインタは全てのデータに共通であり、所定の賞球数毎に全てのデータの書き込みポインタが移動する。また、書き込みポインタの移動に伴い、読み出しポインタも移動する。読み出しポインタは、書き込みポインタより一つ遅れた記憶領域を指す。これは400ゲーム分のデータを用いて役物比率を計算するためである。
各データの累計は、リングバッファのn個の記憶領域に格納されているデータの累計値であり、役物比率、連続役物比率の累計の値は各データの累計値から算出された値であり、リングバッファが一巡して、新たなデータを書き込むためにリングバッファの一つの記憶領域にクリアされると、当該クリアされた領域のデータを除外して累計値が計算される。各データの総累計は、過去に収集したデータの累計値であり、役物比率、連続役物比率の累計の値は各データの累計値から算出された値であり、リングバッファが一巡して、新たなデータを書き込むためにリングバッファの一つの記憶領域にクリアされても、当該クリアされた領域のデータを含めて総累計値が計算される。
図92(B)に示すワークエリアの構造のうち、リングバッファ内の再遊技回数、入賞払出数、役物払出数、連続役物払出数及び遊技回数は、各々2バイトの記憶領域であり、10進数で65535までの数値を記憶できる。再遊技回数、入賞払出数、役物払出数、連続役物払出数及び遊技回数の累計は、各々3バイトの記憶領域であり、10進数で16777215までの数値を記憶できる。累計は例えば400ゲーム×n(n=15の場合は6000ゲーム)分のデータの合計であることから、大きな記憶領域を用意している。再遊技回数、入賞払出数、役物払出数、連続役物払出数及び遊技回数の総累計は、各々3又は4バイトの記憶領域であり、10進数で16777215又は4294967295までの数値を記憶できる。総累計はデータに異常が生じない限り消去されないことから、長期間のデータを格納できるように、さらに大きな記憶領域を用意している。また、役物比率及び連続役物比率の累計及び総累計は、各々1バイトの記憶領域であり、10進数で255までの数値を記憶できる。有利区間遊技数及び非有利区間遊技数は、各々3バイトの記憶領域であり、10進数で16777215までの数値を記憶できる。有利区間割合は、1バイトの記憶領域であり、10進数で255までの数値を記憶できる。
なお、リングバッファを構成する各記憶領域に格納されるデータに対応するゲーム数を多くする(例えば、600ゲーム)にすることによって、時系列のデータを格納するための連続する記憶領域の数(n)を10に減らしても、累計で同じ6000ゲーム分のデータを格納できる。このため、リングバッファとして使用する記憶領域のサイズを小さくできる。
図92(B)に示すワークエリアの構造のうち、役物払出数、連続役物払出数、役物比率、連続役物比率、有利区間遊技数、非有利区間遊技数、有利区間割合は、図92(A)における説明と同じである。再遊技回数は、リプレイとなったゲームの数である。入賞払出数は、ゲームによって払い出された全てのメダルの数である。遊技回数は、実行されたゲームの回数であり、この値が所定数になると書き込みポインタが移動する。
再遊技回数、入賞払出数、役物払出数、連続役物払出数、総払出数、有利区間遊技数、及び非有利区間遊技数は、役物比率算出用領域更新処理(図94のステップS1038)で更新され、役物比率、連続役物比率、及び有利区間割合は、役物比率算出・表示処理(図95のステップS1119)で計算され、格納される。
図92(A)に示すデータ構造では、格納されている値が異常であると判定された場合に、初期化処理(図94のステップS1020)で役物比率算出用ワーク領域のデータが消去されるが、他の契機でデータは消去されない。このため、所定期間(例えば、1日、1週間、1月など)毎に役物比率算出用ワーク領域のデータを消去してもよい。同様に、図92(B)の総累計を所定期間毎に消去してもよい。
また、役物比率算出用ワーク領域のデータや、算出された役物比率が異常値である(例えば、役物比率が100%超、役物比率の算出結果が前回の算出値から大きく変化した、役物払出数>総払出数など)場合、当該異常値を消去してもよい。当該異常値だけでなく、役物比率算出用ワーク領域の全データを消去してもよい。また、役物比率算出用ワーク領域のデータや、算出された役物比率が異常値である場合、異常であることを報知してもよい。また、チェックコードを用いてバックアップ領域のデータを検査し、正常なバックアップ領域のデータをメイン領域に複製後に、再度役物比率を計算してもよい。
[10-3-3.I/O領域の構成]
続いて、I/O領域5300について説明する。I/O領域5300には入出力ポートが対応しており、CPU4601がI/O領域5300にアクセスすることによって各入出力ポートにアクセスすることができる。入出力ポートは、例えば、スイッチ等の入力に関するポートや、大入賞口ソレノイド、LED駆動信号等の出力に関するポートが該当する。入出力ポートの設定(入力設定や出力設定等の使用/未使用に関する設定)は、パラメータ情報設定領域5400の設定値に基づいて設定される。
[10-3-4.パラメータ情報設定領域]
続いて、パラメータ情報設定領域5400について説明する。図93は、本実施形態のパラメータ情報設定領域5400の詳細を示す図である。パラメータ情報設定領域5400は各種設定が可能な領域である。例えば、各種設定には、図93に示すように、各制御領域、データ領域の開始/終了アドレスが含まれる。なお、図93では、第三制御領域、役物比率算出用ワーク領域、役物比率算出用退避領域の各領域の開始アドレス及び終了アドレスの定義について図示を省略したが、第三制御領域開始設定及び第三制御領域終了設定は他の制御領域の開始及び終了設定と同様に定義され、役物比率算出用ワーク領域開始設定及び役物比率算出用ワーク領域終了設定は他のワーク領域の開始及び終了設定と同様に定義され、役物比率算出用退避領域開始設定及び役物比率算出用退避領域終了設定は他の退避領域の開始及び終了設定と同様に定義さる。ここで設定された領域以外の領域が未使用(未設定)領域とされる。これにより、未使用領域にCPU4601がアクセスした場合には、強制的にリセット信号がCPU4601に入力されるように構成している。なお、図93には連続した領域に設定しているが、設定領域として連続している必要はなく、例えば、パラメータをグループ化して所定間隔で配置してもよい。
また、本実施形態では、設定領域以外の領域(ROM5100の第一~四隔離領域、RAM5200の隔離領域)にアクセスした場合には、強制的にリセットを発生させる構成となっている。そこで、意図的に隔離領域にアクセスすることによってリセットが発生することでプログラムの初期起動を行うことが可能となる。スロットマシンではシーケンシャルに処理を実行するため、最後のゲーム処理が完了した後に隔離領域にアクセスすることによって起動処理からプログラムを実行させて再度初期設定を実行することができる。これにより、遊技中に初期設定の機能がノイズ等で設定値とは異なる値に設定されたとしても初期設定が再度実行されることで正常な値を再設定することが可能となる。さらに、初期設定処理では、電断フラグによりRAMクリアを判定するようになっているが、電断フラグをセットすることなく隔離領域にアクセスさせることで強制的にRAMクリアを発生させることが可能となる。一方、前述したパチンコ機では並行して遊技が行われるため、遊技自体が初期化されてしまうと遊技を継続することができなくなってしまうが、スロットマシンの場合にはゲーム終了後に不要となったRAMの情報を初期化する必要があるため、隔離領域にアクセスさせることによってRAMの情報を初期化するための処理を不要にすることができる。
パラメータ情報設定領域5400に設定される値は、CPU4601の初期設定などのユーザープログラム処理で順次設定するものではなく、ROM4602にパラメータ領域のアドレスと設定値とをプログラムとは別に設定しておくことによって、CPU4601が起動時に制御プログラムを開始する前に、ROM4602に設定されたパラメータ情報をCPUの各機能設定レジスタに順次設定するようになっている。これにより、遊技機1の電源投入とともに各種パラメータを設定することができる。各種パラメータの設定値はユーザー側で管理(決定)する情報のため、遊技制御プログラムが記憶されたROM4602に設定されている。
[10-4.遊技制御]
[10-4-1.システムリセット起動処理]
続いて、本実施形態のスロットマシンの制御について説明する。図94は、スロットマシン4000がリセットされた場合に実行されるシステムリセット起動処理の手順を説明するフローチャートである。システムリセット起動処理は、スロットマシン4000の電源投入時や停電発生時などに実行される処理であり、CPU4601にリセット信号が入力された場合に起動する処理である。
CPU4601は、システムリセット起動処理が開始されると、まず、遊技の実行に必要な各種パラメータを設定するパラメータ設定処理を実行する(ステップS1010)。具体的には、記憶領域に含まれるパラメータ情報設定領域5400に格納された設定値をCPU4601の各機能設定レジスタに設定したり、アクセス領域に割り当てられた各領域のアドレスを設定値として設定する。各領域のアドレスを設定値として設定することにより、例えば、RAM領域5200にワーク領域や退避領域を使用領域として割り当て、使用領域として割り当てられていない領域(図91の隔離領域)は未使用領域として割り当てられる。また、ワーク領域及び退避領域は、それぞれ遊技制御用とデバッグ(検査機能)用(又はその他の用途)に切り分けられている。また、ROM領域5100は、RAM領域5200と同様に、プログラムやデータを格納する領域を使用領域として割り当て、使用領域として割り当てられていない領域は未使用領域として割り当てられる。
次に、CPU4601は、セキュリティチェック処理を実行する(ステップS1012)。セキュリティチェック処理は、ROM4602に記憶されたデータが正常なデータであるか否かを判定する処理である。ROM4602に記憶されたデータが正常なデータでない場合には、例えば、ROM4602が不正なROMに交換されているおそれがあるので、スロットマシン4000の起動を中止する。さらに、CPU4601は、セキュリティチェックに要する時間が経過するまで待機する(ステップS1014)。
なお、スロットマシンの電源投入からセキュリティチェックが終了するまでの処理(ステップS1014までの処理)は、ユーザープログラムによって定義された処理ではなく、開発者が変更できないCPU内のハードウェアで構成される処理となっている。
続いて、CPU4601は、初期化を行うためのデバイス初期化設定処理を実行する(ステップS1016)。デバイス初期化設定処理では、定期的に所定の処理を実行する定期処理(図95、タイマ割込み処理)の起動設定などの処理を実行する。本実施形態では、乱数機能の設定など遊技の抽選に関する設定をセキュリティチェック後にユーザープログラムによって書き換えることができないようにする機能などをパラメータ設定処理で実行し、これらの機能以外についてはデバイス初期化設定処理で実行している。このようにCPU4601の初期化をパラメータ設定処理とデバイス初期化設定処理とに分けることによって、遊技制御の自由度を高めるとともに遊技において不正が行われにくくしている。
さらに、CPU4601は、RAM4603の初期化を実行するか否かを判定する(ステップS1018)。ステップS1018の処理では、RAM4603を初期化するコールドスタートを行うか、バックアップされたRAM4603の内容で遊技に復帰するホットスタートを行うかを判定する。
CPU4601は、RAM4603を初期化するコールドスタートを行う場合には(ステップS1018の結果が「Yes」)、RAM4603の初期化を実行する初期化処理を実行する(ステップS1020)。コールドスタートは、遊技機1の設定変更操作した場合、RAM4603の内容に異常が発生した場合、電断フラグが設定されていない場合などに行われる。
一方、CPU4601は、RAM4603の内容に基づいて遊技に復帰させるホットスタートを行う場合には(ステップS1018の結果が「No」)、バックアップされたRAM4603の内容に基づいて遊技を復帰させる処理を実行する(ステップS1022)。このとき、復帰処理によって、電断時に中断した処理に復帰する。具体的には、後述するシステムリセット起動処理のステップS1024からステップS1042又は定期処理(図95)のステップS1110からステップS1130までのいずれかの処理で、電断時に中断した処理に復帰させる。
なお、本実施形態におけるスロットマシン4000では、停電発生時及び復帰処理実行時にRAM4603に記憶された情報に基づいてチェックサムを算出する。このとき、チェックサムの算出対象をワークとして使用(遊技制御用ワーク領域とデバッグ(検査機能)用ワーク領域)する全領域のうちデバッグ(検査機能)用ワーク領域を除いた遊技制御用ワーク領域のみとしてもよい。遊技制御用ワーク領域のみでチェックサムを算出するのは、デバッグ(検査機能)処理は遊技制御処理とは独立性を維持するように作られており、かつ、遊技の結果に影響を与えることのない処理であることから、不十分な検証により多少バグが残ることも考えられ、この場合、そのような処理を実行することで得られた情報が保持されるデバッグ(検査機能)用ワーク領域をチェックサムの算出対象とすることは、電断から正常に復帰する信頼性を損ねる可能性がある。一方、遊技制御処理は遊技に直接関わるため、バグ等が残ったまま製品に搭載されると、市場で大きなトラブルとなる。場合によっては、販売が中止され、製品の回収が必要とする可能性が考えられ、この場合には製造メーカ及びホールに対して費用面等で甚大な損害をもたらす可能性が極めて高いことから徹底的に検証が行われるために、遊技制御用ワーク領域はデバッグ(検査機能)用ワーク領域と比較して信頼性が高いためである。
CPU4601は、初期化処理が終了すると、又は、一連のゲームが終了すると、新たにゲームを開始するために、遊技初期設定処理を実行する(ステップS1024)。遊技初期設定処理では、一連の遊技制御を行う上で不要となったRAM4603の情報を一旦初期設定状態に戻す処理を実行する。
CPU4601は、遊技初期設定処理が終了すると、遊技開始時におけるデバック(検査機能)信号を出力するための情報信号1出力処理を実行する(ステップS1026)。情報信号1出力処理では、デバック用(検査機能)信号を初期状態に設定するなどの処理を行っている。なお、情報信号出力処理は、情報信号1~N出力処理が定義されており、情報信号を出力するタイミングで必要なモジュールが呼び出される。例えば、ゲーム開始時処理内でゲーム開始にともなうデバック(検査機能)信号(リールの回転開始、スタートレバーのON、当選役に関する情報)の出力時、図柄停止処理内で各リールの停止に関するデバック(検査機能)信号(停止操作信号、停止した図柄情報等)の出力時、入賞判定処理内で確定役に関するデバック(検査機能)信号(各リール上で停止表示された確定役、確定役に伴う払出枚数情報、払出時の払出数に関する出力信号の情報(払出メダル数)等)の出力時に、当該処理に必要な「情報信号N出力処理」モジュールが適宜呼び出されて実行される。
続いて、CPU4601は、遊技者が始動レバー4210を操作する前段階の処理を行う待機処理を実行する(ステップS1028)。始動レバー4210を操作する前段階には、例えば、再遊技(リプレイ)の実行指示がなされたか否か、メダルが投入されたか否か、メダル清算が行われたか否かなどを判定し、さらに、ゲームの設定値の確認等が行われる。
始動レバー4210が操作されると、CPU4601は、ゲームを開始させるゲーム開始処理を実行する(ステップS1030)。ゲーム開始処理では、遊技の抽選を行うための乱数値を取得し、入賞役等の判定を行うとともに、リール4301の回転を開始させる。その後、CPU4601は、リール4301が正常な回転速度に到達するまで待機するためのWait処理を実行する(ステップS1032)。
CPU4601は、リール4301が正常な回転速度に到達すると、リール停止ボタン4211の入力を受付可能とし、すべてのリール4301が停止するまでの処理を行う図柄停止処理を実行する(ステップS1034)。
さらに、すべてのリール4301が停止すると、CPU4601は、停止した図柄に基づく入賞役を判定する入賞判定処理を実行する(ステップS1036)。入賞判定処理では、入賞役を判定するとともに、入賞と判定された場合には入賞役に対応した設定を行い、入賞役に対応した払出処理を実行するための設定を行う。
続いて、CPU4601は、現在の遊技状態を判定し、遊技価値として払い出される賞メダルの数を現在の遊技状態に対応した領域に加算して、RAM領域5200の役物比率算出用ワーク領域(図91、図92参照)を更新する(ステップS1038)。ステップS1038の処理は、ステップS1036で払い出されるべき賞メダルがない場合にはスキップでき、CPU4601の負荷を軽減できる。
なお、スロットマシン4000が不正を検出して遊技を中止した場合でも、役物比率算出用領域更新処理(ステップS1038)を実行する。不正が検出されたか否かにかかわらず、これらの処理を実行することによって、不正報知中でも役物比率計算用のデータを収集できる。
最後に、CPU4601は、ゲーム終了時の処理を行うゲーム終了処理を実行する(ステップS1042)。ゲーム終了処理では、入賞役に対応した払出処理を実行し、入賞していない場合、又は、払い出しのない入賞の場合には、当該処理をスキップする。ゲーム終了処理が終了すると、遊技初期設定処理に戻り、ステップS1024からステップS1038までのメインループ処理を実行する。
[10-4-2.定期処理]
続いて、システムリセット初期起動処理のメインループ処理が実行されている間に、あらかじめ定められた周期で起動される割り込み処理である定期処理について説明する。図95は、定期処理の手順を示すフローチャートである。
CPU4601は、定期処理が実行されると、まず、全レジスタに格納されている値を退避する(ステップS1110)。このとき、退避されるデータは、図91に示した遊技制御用退避領域に格納される。前述のように、定期処理はメインループ処理が実行されている間に起動される割り込み処理であるため、メインループ処理で使用しているCPUのレジスタを退避することによって復帰後に処理を継続できるようにする必要がある。
続いて、CPU4601は、CPUに内蔵されたウォッチドッグタイマをリセットする(ステップS1112)。これにより、ウォッチドッグタイマを定期的にクリアすることができる。
次に、CPU4601は、各種スイッチからの入力信号をサンプリングするスイッチ入力処理を実行する(ステップS1114)。さらに、遊技状態チェック処理を実行する(ステップS1116)。遊技状態チェック処理では、リール4301を回転させる駆動体(ステッピングモータ)の駆動制御に関する処理を行う。具体的には、ステッピングモータのパルス出力、原点位置の検出等を行う。
続いて、CPU4601は、遊技制御で使用される各種タイマの更新を行うタイマ計測処理を実行する(ステップS1118)。定期処理は周期的に実行されるため、設定時間は定期処理の実行間隔×設定回数となる。
続いて、CPU4601は、役物比率表示スイッチ1318が操作されているかを判定し、役物比率表示スイッチ1318が操作されていれば、役物比率算出・表示処理を呼び出し、役物比率算出用ワーク領域に格納されたメダルの払出数を参照して役物比率を算出する。そして、算出された役物比率を役物比率表示器1317に表示する(ステップS1119)。役物比率算出・表示処理は、パチンコ機1の実施例で説明した役物比率算出・表示処理(図24、図25)と同じである。また、役物比率の具体的な計算方法、及び役物比率の具体的な表示方法は、パチンコ機1の実施例で説明した方法と同じである。このように、タイマ割込み処理において役物比率算出・表示処理を呼び出して、役物比率を算出することによって、直近のデータによる役物比率(スロットマシン4000の射幸性)を確認できる。
なお、役物比率表示スイッチ1318が操作されている場合に、全ての種類の値(役物比率、連続役物比率、累計、総累計)を計算してもよいが、役物比率表示スイッチ1318の操作毎に、表示される値のみを計算してもよい。また、役物比率表示スイッチ1318が操作されているかにかかわらず役物比率を計算し、算出された役物比率を役物比率表示スイッチ1318の操作を契機に役物比率表示器1317に表示してもよい。
続いて、CPU4601は、LEDの制御を行うためのLED出力処理を実行する(ステップS1120)。制御対象のLEDはメイン基板4600で制御されるものが対象であり、例えば、払出枚数表示LED4562である。また、役物比率をLEDに表示するためのデータを出力する。
CPU4601は、外部中継端子板4131に信号を出力する情報出力処理を実行する(ステップS1122)。出力された信号は、外部中継端子板4131を介してホールコンピュータ4800に送信される。さらに、CPU4601は、コマンドバッファに記憶されたコマンドを演出制御基板4700に出力する(ステップS1124)。
CPU4601は、遊技に用いられる乱数を更新する乱数更新処理を実行する(ステップS1126)。乱数更新処理では、ソフト処理で生成するための乱数の更新を実行する。ここでは、ソフトウェアのみで生成する乱数の他に、CPUに内蔵されたソフト乱数の更新処理を実行する。CPU内蔵のソフト乱数では、カウント自体はハードウェアで実行するものの、更新の契機を本処理で決定する。このように構成することによって、乱数更新に係るプログラム処理を削減することが可能となる。
乱数更新処理が終了すると、CPU4601は、割り込まれた処理(メインループ処理)に復帰するための処理を行う。具体的には、ステップS1110の処理で退避したレジスタの値を復帰させる(ステップS1128)。さらに、割り込みの実行を許可する(ステップS1130)。定期処理(タイマ割込み処理)の実行中は、新たなタイマ割込みが発生したとしても、新たなタイマ割込みはペンディングされ、直前に実行されたタイマ割込み処理が正常に終了して割り込みが許可されてから実行されるようになっている。このため、定期処理(タイマ割込み処理)が多重に実行されることがないように構成されている。
[10-4-3.情報信号出力処理]
続いて、システムリセット起動処理などで実行される情報信号出力処理について説明する。情報信号出力処理は、出力信号の機能毎(1~N)に応じて設けられており、複数のモジュールによって構成されている。例えば、「条件装置出力信号用(条件装置作動に係る信号出力)」「抽選判定処理(抽選に係る信号出力)」などがある。出力する信号は異なるものの、各情報出力処理の構成は基本的には同じであるため、それぞれのフローについては説明を割愛する。図96は、本実施形態の情報信号出力処理の手順を示すフローチャートである。
CPU4601は、情報信号出力処理が開始されると、まず、CPUの全レジスタの値を退避させる(ステップS1210)。これは、情報信号出力処理を実行することによってレジスタに設定された値が破壊されることを防止するため(破壊しても確実に復帰させるため)であり、全レジスタの値をスタックエリアに退避させるようになっている。また、このとき使用されるスタックエリアは、デバッグ(検査機能)用退避領域に割り当てられており、遊技制御用退避領域とは切り分けられた異なる領域に割り当てられる。
続いて、CPU4601は、出力する情報信号(デバック用(検査機能)信号)を選択(ON/OFF)するために参照する情報をRAM4603から取得する(ステップS1212)。各情報信号出力処理では、RAM4603に記憶された情報を参照するのみで、当該処理内でRAM4603にデータを書き込むことはなく、書き込みが必要な場合にはデバッグ(検査機能)用ワーク領域に情報出力専用のワークを設け、当該ワークは、情報信号出力処理以外の処理で使用(参照含む)しないように構成する。これにより、情報信号出力処理を実行するプログラムを他の遊技制御プログラムと別の場所に配置しても共通の領域を使用せずに、他の遊技制御プログラムとの独立性を担保することができる。
次に、CPU4601は、ステップS1212の処理で取得された情報に基づいて、出力する情報信号を生成し(ステップS1214)、生成した信号を対応するポートに出力する(ステップS1216)。さらに、出力した信号を維持するための時間である情報信号出力時間が経過するまで待機する(ステップS1218)。情報信号出力時間は、あらかじめ決められており、十分な時間を設定することでデバック用(検査機能)信号を送信先に確実に伝達することができる。その後、ステップS1210の処理で退避した全レジスタの値を復帰させ(ステップS1220)、本処理を終了する。
以上のように、ステップS1210からステップS1220までの処理で情報信号(デバック用(検査機能)信号)を生成及び出力する。そして、出力するデバック用(検査機能)信号の分だけ、ステップS1210からステップS1220までの処理を実行する。出力信号の機能毎(1~N)に異なる種類及び数の信号を出力する。なお、本実施形態では、機能ごとに複数種類の情報信号出力処理が定義されているように構成されているが、機能に対応する出力信号を定義したテーブルをデバッグ(検査機能)用領域の第二データ領域に用意し、呼び出し元から指定された機能に対応する信号を選択し、出力するように構成することによって、情報信号出力処理を共通化するようにしてもよい。
以上のように、本実施形態では、遊技制御プログラムを格納する領域(遊技制御用領域)とは明確に区別された領域に、情報信号出力処理などを実行するプログラム(信号出力プログラム)を格納する領域(デバッグ(検査機能)用領域)を設けることによって、遊技機1のデバッグ(検査機能)を目的とするプログラムを独立して配置することができる。信号出力プログラムは、遊技機1のデバッグ(検査機能)を目的として使用され、遊技の結果に影響を与えることのない処理であって、遊技の公正を害さないものとなっている。また、これ以外の目的(例えば、遊技制御用のプログラムや汎用的なプログラムを配置し、遊技制御用領域の容量の不足を補うため)では、デバッグ(検査機能)用領域にプログラムが配置されないようになっている。
信号出力プログラムは、遊技制御プログラムから静的に呼び出された上で実行され、この際、呼び出し先のアドレスが明示されている。さらに、信号出力プログラムは、機能ごとにモジュール化されており、呼び出された際には遊技制御用領域で利用している全レジスタを保護する。また、前述したように、遊技制御用領域のプログラム処理を実行している場合にはデバック(検査機能)用ワーク領域へのアクセスを禁止し、デバッグ(検査機能)用領域のプログラム処理を実行している場合には、遊技制御用ワーク領域の参照のみを許可し、書込を禁止するように構成されている。さらに、デバッグ(検査機能)用領域から遊技制御用領域に配置されたモジュール(サブルーチンを含む)を呼び出すことも禁止するように構成されている。信号出力プログラムを含むデバッグ(検査機能)用領域に配置されたプログラムは、必ずサブルーチン形式で呼び出され、サブルーチン終了後は復帰命令により呼び出し直後に戻る。なお、デバッグ(検査機能)用領域に格納されるモジュールは目的ごとに構成されている。このように構成することによって、信号出力プログラム(デバッグ(検査機能)用領域に配置されたプログラム)の実行により、遊技制御プログラムの実行が影響されないように構成されている。
スロットマシン4000の実施例において、RAM(遊技制御用ワーク領域、役物比率算出用ワーク領域)の消去タイミングは、パチンコ機1の実施例の図21のステップS18~S26と同様でよい。なお、スロットマシン4000は、RAMクリアスイッチを有さず、設定変更キースイッチ4112tが操作されていると、遊技状態のバックアップデータを消去する。
以上のように、本実施形態によれば、前述したパチンコ機の実施例で説明した効果の他、稼働中のスロットマシンの役物比率を正確に計算でき、稼働中の遊技機の射幸性を確認できる。
以上、本発明を添付の図面を参照して詳細に説明したが、本発明はこのような具体的構成に限定されるものではなく、添付した請求の範囲の趣旨内における様々な変更及び同等の構成を含むものである。
本明細書に開示された発明のうち、特許請求の範囲に記載した以外の発明の観点の代表的なものとして、次のものがあげられる。
(0)遊技者に遊技価値を付与する遊技機であって、
遊技の進行を制御するプログラムを実行する主制御装置と、
付与された遊技価値に関する情報を表示する役物比率表示器とを備え、
前記役物比率表示器は、表示デバイスと、前記表示デバイスを駆動するドライバ回路とを有し、
前記主制御装置は、
前記役物比率表示器に表示するためのデータをシリアル通信によって前記ドライバ回路に送信し、
電源投入後に、前記ドライバ回路とのシリアル通信のために、同期方法、通信レート、パリティを使用するか、及びストップビットを使用するかを設定することを特徴とする、前各項に記載の遊技機。
(1)前記主制御装置と前記ドライバ回路との通信は、前記主制御装置と周辺制御装置との通信より低速であることを特徴とする、前各項に記載の遊技機。
これによって、通信中のデータ化けによる役物比率の不正確な表示を抑制できる。
(2)前記主制御装置は、
遊技の進行に関するデータや役物比率計算用のデータを電源遮断中も保持するワークRAMを有し、
前記ワークRAMをクリアした後に前記シリアル通信のための設定を実行することを特徴とする、前各項に記載の遊技機。
これによって、誤った内容のRAMのデータを用いて、誤った役物比率の表示を防止できる。
(3)前記主制御装置は、
FIFOバッファに蓄積されたデータをシリアル通信によって送信する機能を有し、
電源投入後に、前記FIFOバッファからデータを送出するタイミングを決定するデータ蓄積量を設定することを特徴とする、前各項に記載の遊技機。
これによって、FIFOバッファから任意のビット数でデータを送信できる。
(4)遊技者に遊技価値を付与する遊技機であって、
遊技の進行を制御するプログラムを実行する主制御装置と、
付与された遊技価値に関する情報を表示する役物比率表示器とを備え、
前記役物比率表示器は、表示デバイスと、前記表示デバイスを駆動するドライバ回路とを有し、
前記主制御装置と前記ドライバ回路とを接続する信号線の長さは、前記ドライバ回路と前記表示デバイスを接続する信号線の長さより長くなるように、前記主制御装置、前記表示デバイス及び前記ドライバ回路を配置することを特徴とする、前各項に記載の遊技機。
主制御装置とドライバ回路とを接続する信号線を長くすることによって、主制御装置の周囲に部品を配置しないで、不正な改造を発見容易とし、さらに、ドライバ回路と表示デバイスを接続する信号線を主制御装置とドライバ回路とを接続する信号線より短くすることによって、ノイズの影響を低減し、より正確に役物比率を表示できる。
(5)前記主制御装置と前記役物比率表示器とは、一つのケース内に収容されている、前各項に記載の遊技機。
これによって、主制御装置の周囲に他の部品を配置しないで、不正な改造を発見容易とし、さらに、ノイズの影響を低減できる。
(6)前記主制御装置と前記役物比率表示器とは、一つのプリント基板上に配置されている、前各項に記載の遊技機。
これによって、主制御装置の周囲のプリント基板上に他の部品を配置しないで、不正な改造を発見容易とし、さらに、ノイズの影響を低減できる。
(7)前記役物比率表示器は、前記表示デバイスと前記ドライバ回路とを一つのパッケージに収容して構成されている、前各項に記載の遊技機。
これによって、前記ドライバ回路と前記表示デバイスを接続する信号線に対するノイズの影響を低減できる。また、前記ドライバ回路と前記表示デバイスを接続する信号線を短くできる。
(8)前記主制御装置と前記ドライバ回路とを接続する信号線に沿って、ガードパターン(グランドパターン又は電源パターン)を設ける、前各項に記載の遊技機。
これによって、前記主制御装置と前記ドライバ回路とを接続する信号線に対するノイズの影響を低減できる。
(9)前記役物比率表示器の表示向きは、前記主制御装置の表面の型番の表示向きと同じ方向である、前各項に記載の遊技機。
これによって、主制御装置の交換の有無と、表示された役物比率を、無理な姿勢を取ることなく容易に確認できる。
(10)前記ドライバ回路は、前記表示デバイスに文字及び数字を表示せず、消費電力を低減する待機モードを有し、
前記主制御装置は、遊技機の設置状態において、前記役物比率表示器が視認できない閉鎖状態である場合、前記ドライバ回路を待機状態に設定することを特徴とする、前各項に記載の遊技機。
これによって、役物比率の表示が不要な場合に、遊技機の無駄な電力消費を防止できる。
(11)遊技領域に向けて発射された遊技球の所定の入賞口への入賞によって、遊技者に遊技価値として賞球を付与する遊技機であって、
遊技の進行を制御する主制御装置と、
賞球に関する情報を表示する役物比率表示器とを備え、
前記入賞口は、遊技状態によって入口の形状が変化しない一般入賞口と、遊技状態によって入口が開き又は拡大する電動入賞口とがあり、
前記主制御装置は、遊技者に払い出される賞球の数を、少なくとも、前記一般入賞口への入賞を契機として払い出される第1の賞球の数と、前記電動入賞口への入賞を契機として払い出される第2の賞球の数とを分けて計数し、
前記役物比率表示器は、前記第1の賞球の数と前記第2の賞球の数との比率に関する情報を表示することを特徴とする、前各項に記載の遊技機。
(12)前記主制御装置は、前記計数された賞球の数をメモリに記憶し、
前記メモリは、前記記憶された賞球の数を検証するためのチェックコードを記憶し、
前記主制御装置は、前記チェックコードが正常でない場合、前記メモリに記憶された賞球の数を消去する、前各項に記載の遊技機。
これによって、メモリに記憶された賞球の数の異常を検出でき、誤った役物比率(第1の賞球の数と第2の賞球の数との比率)の表示を抑制できる。
(13)前記主制御装置は、
メモリに、電源遮断時にも記憶内容が保持される第1バックアップ領域及び第2バックアップ領域を有し、
遊技制御用のデータを前記第1バックアップ領域に記憶し、
役物比率計算用の賞球の数のデータを前記第2のバックアップ領域に記憶し、
前記第1のバックアップ領域に記憶されたデータと、前記第2のバックアップ領域に記憶されたデータとは、異なる条件で消去される、前各項に記載の遊技機。
これによって、遊技制御用のデータと役物比率計算用の賞球数のデータとの少なくとも一方が正常である場合、異常であるデータのみを消去し、正常であるデータは残すことができる。
(14)前記主制御装置は、
メモリに、電源遮断時にも記憶内容が保持される第1バックアップ領域及び第2バックアップ領域を有し、
遊技制御用のデータを前記第1バックアップ領域に記憶し、
役物比率計算用の賞球の数のデータを前記第2のバックアップ領域に記憶し、
遊技機の電源等投入時にRAMクリアスイッチが操作されていれば、前記第1のバックアップ領域に記憶されたデータを消去するが、前記第2のバックアップ領域に記憶されたデータは消去しない、前各項に記載の遊技機。
RAMクリアスイッチの操作によって役物比率算出・表示用データ13136が消去できると、遊技機が算出した役物比率を任意のタイミングで消去できる。このため、RAMクリアスイッチの操作によって、バックアップされた役物比率算出・表示用データ13136は消去されないようにして、遊技場の係員の操作による役物比率算出・表示用データ13136の消去を防止し、役物比率が高い状態の隠蔽蔽を防止できる。このため、役物比率が高い状態へ改造された遊技機を容易に検出でき、役物比率が高い状態の隠蔽を防止できる。
(15A)遊技者に遊技価値を付与する遊技機であって、
遊技の進行を制御するプログラムを実行する制御手段と、
付与された遊技価値に関する情報を表示する表示手段とを備え、
前記制御手段は、所定の信号の入出力を契機として、前記表示手段に表示するための遊技価値に関する情報を更新することを特徴とする、前各項に記載の遊技機。
(15B)前記遊技価値に関する情報はベースであり、
前記制御手段は、
遊技者が多くの遊技価値を獲得可能な特別遊技状態と、前記特別遊技状態以外の通常遊技状態とを切り替えて遊技の進行を制御し、
前記通常遊技状態において遊技者に払い出された賞球数を、前記通常遊技状態において遊技者が消費した消費球数(例えば、遊技領域に打ち出された遊技球数、遊技機から排出された遊技球数、アウト口を通過した遊技球数と入賞球数との和)で除することによって、前記ベースを算出することを特徴とする、前各項に記載の遊技機。
(15C)前記制御手段は、前記所定の信号として、入賞口への入賞を検出した入賞検出信号、賞球払出コマンドの受信確認信号若しくは賞球払出完了信号を受信したタイミング、又は、賞球の払い出しを指示する賞球払出コマンドを送信したタイミングで前記表示手段に表示するためのベースの算出に使用する賞球数を更新することを特徴とする、前各項に記載の遊技機。
(15D)前記制御手段は、
前記ベースの算出に使用する総賞球数を記憶しており、
前記通常遊技状態において、遊技領域に設けられた入賞口へ遊技球の入賞を検出した信号を受信すると、前記入賞口に対応して定められた賞球数を計算し、
前記計算された賞球数を用いて前記総賞球数を更新し、
前記更新された総賞球数を前記通常遊技状態における消費球数で除することによって、前記ベースを算出することを特徴とする、前各項に記載の遊技機。
(15E)遊技者への賞球の払い出しを制御する払出制御手段を備え、
前記制御手段は、
前記ベースの算出に使用する総賞球数を記憶しており、
前記通常遊技状態において、遊技領域に設けられた入賞口へ遊技球の入賞が検出されると、前記入賞口に対応して定められた賞球数を計算し、
前記計算された賞球数の遊技者への払い出しを前記払出制御手段に指示し、
前記払出制御手段に指示した賞球数を用いて前記総賞球数を更新し、
前記更新された総賞球数を前記通常遊技状態における消費球数で除することによって、前記ベースを算出することを特徴とする、前各項に記載の遊技機。
(15F)遊技者への賞球の払い出しを制御する払出制御手段を備え、
前記制御手段は、
前記ベースの算出に使用する総賞球数を記憶しており、
前記通常遊技状態において、遊技領域に設けられた入賞口へ遊技球の入賞が検出されると、前記入賞口に対応して定められた賞球数を計算し、
前記計算された賞球数の遊技者への払い出しを前記払出制御手段に指示し、
前記指示の受信確認を前記払出制御手段から受信し、
前記受信確認を受信した指示に対応する賞球数を用いて前記総賞球数を更新し、
前記更新された総賞球数を前記通常遊技状態における消費球数で除することによって、前記ベースを算出することを特徴とする、前各項に記載の遊技機。
(15G)遊技者への賞球の払い出しを制御する払出制御手段を備え、
前記制御手段は、
前記ベースの算出に使用する総賞球数を記憶しており、
前記通常遊技状態において、遊技領域に設けられた入賞口へ遊技球の入賞が検出されると、前記入賞口に対応して定められた賞球数を計算し、
前記計算された賞球数の遊技者への払い出しを前記払出制御手段に指示し、
前記指示にかかる賞球の払い出しの完了を前記払出制御手段から受信し、
前記払い出しの完了を受信した指示に対応する賞球数を用いて前記総賞球数を更新し、
前記更新された総賞球数を前記通常遊技状態における消費球数で除することによって、前記ベースを算出することを特徴とする、前各項に記載の遊技機。
(15H)前記制御手段は、所定の信号の入出力を契機として、前記表示手段に表示するための遊技価値に関する情報を更新する情報更新手段と、前記更新された遊技価値に関する情報を前記表示手段に表示するにあたり、前記情報を更新する際に行った演算処理の結果を加工(統計処理)して表示しうる加工表示手段とを有することを特徴とする、前各項に記載の遊技機。
15Aから15Hの発明によれば、遊技媒体の獲得に関する処理を正確に実行できる。
(16A)遊技者に遊技価値を付与する遊技機であって、
遊技の進行を制御するプログラムを実行する制御手段と、
付与された遊技価値に関する情報を表示する表示手段とを備え、
前記制御手段は、遊技の状況が所定の条件を満たすことに関連して、前記表示手段に表示するための遊技価値に関する情報を更新することを特徴とする、前各項に記載の遊技機。
(16B)前記遊技価値に関する情報はベースであり、
前記制御手段は、
遊技者が多くの遊技価値を獲得可能な特別遊技状態と、前記特別遊技状態以外の通常遊技状態とを切り替えて遊技の進行を制御し、
前記通常遊技状態において遊技者に払い出された賞球数が所定数に到達したタイミングで、前記ベースを算出することを特徴とする、前各項に記載の遊技機。
(16C)前記制御手段は、
前記ベースの算出に使用する総賞球数を記憶しており、
前記通常遊技状態において、遊技領域に設けられた入賞口へ遊技球の入賞が検出されると、入賞口に対応して定められた賞球数を計算して、バッファに格納し、
所定のタイミングで前記バッファから総賞球数に前記所定数を移動し、前記総賞球数を前記通常遊技状態において遊技者が消費した消費球数(例えば、遊技領域に打ち出された遊技球数、遊技機から排出された遊技球数、アウト口通過球数と入賞球数との和)で除することによって、前記ベースを算出することを特徴とする、前各項に記載の遊技機。
(16D)前記所定のタイミングは、前記バッファの賞球数が前記所定数を超えたタイミングであって、
前記制御手段は、前記バッファの賞球数が前記所定数を超えると、前記バッファから前記所定数を減算し、前記所定数を前記総賞球数に加算することによって、前記バッファから総賞球数に前記所定数を移動することを特徴とする、前各項に記載の遊技機。
(16E)前記制御手段は、所定の信号の入出力を契機として、前記表示手段に表示するための遊技価値に関する情報を更新する情報更新手段と、前記更新された遊技価値に関する情報を前記表示手段に表示するにあたり、前記情報を更新する際に行った演算処理の結果を加工(統計処理)して表示しうる加工表示手段とを有することを特徴とする、前各項に記載の遊技機。
16Aから16Eの発明によれば、規則上の主制御装置の制約の中で、ゲーム性を維持しつつ、ゲーム性と異なる処理を正確に実行できる。
(17A)遊技者に遊技価値を付与する遊技機であって、
遊技の進行を制御するプログラムを実行する制御手段と、
付与された遊技価値に関する情報を表示する表示手段とを備え、
前記制御手段は、
遊技者が消費した消費球数を計数し、
前記計数された消費球数が所定の条件を満たすことに関連して、前記表示手段に表示するための遊技価値に関する情報を更新することを特徴とする、前各項に記載の遊技機。
(17B)前記制御手段は、
遊技者が多くの遊技価値を獲得可能な特別遊技状態と、前記特別遊技状態以外の通常遊技状態とを切り替えて遊技の進行を制御し、
前記通常遊技状態における消費球数が所定数に到達したタイミングで、前記遊技価値に関する情報を算出することを特徴とする、前各項に記載の遊技機。
(17C)制御手段は、遊技領域に打ち出された遊技球数、遊技機から排出された遊技球数、または、アウト口を通過した遊技球数と入賞球数との和によって、前記消費球数を計数することを特徴とする、前各項に記載の遊技機。
(17D)前記遊技価値に関する情報はベースであり、
前記制御手段は、
前記ベースの算出に使用する総アウト球数を記憶しており、
前記通常遊技状態における消費球数を計算して、バッファに格納し、
所定のタイミングで前記バッファから総アウト球数に所定数を移動し、前記通常遊技状態において遊技者に払い出された賞球数を前記総アウト球数で除することによって、前記ベースを算出することを特徴とする、前各項に記載の遊技機。
(17E)前記所定のタイミングは、前記バッファの消費球数が前記所定数を超えたタイミングであって、
前記制御手段は、前記バッファの消費球数が前記所定数を超えると、前記バッファから前記所定数を減算し、前記総アウト球数に前記所定数を加算することによって、前記バッファから総アウト球数に所定数を移動することを特徴とする、前各項に記載の遊技機。
(17F)前記制御手段は、
始動入賞口への入賞を契機として、前記特別遊技状態を導出する特別図柄変動表示ゲームを実行し、
前記特別図柄変動表示ゲームの保留記憶が上限値である場合、前記始動入賞口への入賞を記憶せず、前記賞球数を計数することを特徴とする、前各項に記載の遊技機。
(17G)前記制御手段は、所定の信号の入出力を契機として、前記表示手段に表示するための遊技価値に関する情報を更新する情報更新手段と、前記更新された遊技価値に関する情報を前記表示手段に表示するにあたり、前記情報を更新する際に行った演算処理の結果を加工(統計処理)して表示しうる加工表示手段とを有することを特徴とする、前各項に記載の遊技機。
17Aから17Gの発明によれば、ゲーム性を維持しつつ、ゲーム性と異なる処理を正確に実行できる。
(18A)遊技者に遊技価値を付与する遊技機であって、
遊技の進行を制御するプログラムを実行する制御手段と、
付与された遊技価値に関する情報を表示する表示手段と、
前記遊技が行われる遊技領域を有する遊技盤が着脱可能に取り付けられる本体枠とを備え、
前記表示手段は、前記本体枠が閉鎖状態でも、前記遊技価値に関する情報を表示することを特徴とする、前各項に記載の遊技機。
(18B)前記本体枠は、遊技場の島設備に取り付けられる外枠に対して回動可能に取り付けられており、
前記表示手段は、前記本体枠を開放した場合に視認可能な前記遊技機の裏面側に設けられていることを特徴とする、前各項に記載の遊技機。
(18C)前記制御手段は、前記本体枠に取り付けられており、
前記表示手段は、前記制御手段のケース内に、前記遊技機の裏面側から視認可能に設けられることを特徴とする、前各項に記載の遊技機。
18Aから18Cの発明によれば、ホールの売り上げの減少を抑制できる。
(19A)
遊技者に遊技価値を付与する遊技機であって、
遊技の進行を制御するプログラムを実行する制御手段と、
付与された遊技価値に関する情報を表示する表示手段とを備え、
前記制御手段は、
遊技における所定の条件を満たすことに関連して、前記表示手段に表示するための遊技価値に関する情報を更新する情報更新手段と、
始動入賞口への入賞を契機として特別図柄変動表示ゲームを行うゲーム実行手段とを有し、
前記ゲーム実行手段によって前記特別図柄変動表示ゲームが行われているときに前記所定の条件が満たされたときであっても、前記遊技価値に関する情報を更新することを特徴とする、前各項に記載の遊技機。
(19B)前記遊技価値に関する情報はベースであり、
前記制御手段は、前記所定の条件として、入賞口への入賞の検出、賞球払出コマンドの送信、賞球払出コマンドの受信確認の受信及び賞球払出完了信号の受信のいずれかのタイミングで前記表示手段に表示するためのベースの算出に使用する賞球数を更新することを特徴とする、前各項に記載の遊技機。
19Aから19Bの発明によれば、変動表示ゲーム中でも不正に対する十分な対策がされた遊技機を提供できる。
(20A)遊技者に遊技価値を付与する遊技機であって、
遊技の進行を制御するプログラムを実行する主制御手段と、
始動口への入賞を契機として行われる特別図柄変動表示ゲームの演出を制御する演出制御手段と、
付与された遊技価値に関する情報を表示する遊技価値情報表示手段とを備え、
前記演出制御手段は、
通常モードより前記遊技機の消費電力が低減する低電力モードへの遷移を制御し、
前記低電力モードの間、前記遊技価値情報表示手段の消費電力が低減するような表示態様の変更をしないことを特徴とする、前各項に記載の遊技機。
(20B)前記特別図柄変動表示ゲームの演出を表示し、バックライトを有する液晶表示手段で構成される演出表示手段を備え、
前記演出表示手段は、前記低電力モードの間はバックライトの輝度を低減し、
前記遊技価値情報表示手段は、発光ダイオードで構成され、前記低電力モードの間でも輝度を低減しないことを特徴とする、前各項に記載の遊技機。
(20C)前記特別図柄変動表示ゲームの演出を表示する演出表示手段を備え、
前記演出表示手段は、前記特別図柄変動表示ゲームの保留記憶が消化された後、所定時間が経過すると、前記低電力モードに表示態様を制御し、
前記遊技価値情報表示手段は、前記特別図柄変動表示ゲームの保留記憶が消化された後、所定時間が経過しても、消費電力が低減するような表示態様の変更をしないことを特徴とする、前各項に記載の遊技機。
20Aから20Cの発明によれば、省エネモードが充実した遊技機を提供できる。
(21A)遊技者に遊技価値を付与する遊技機であって、
遊技の進行を制御するプログラムを実行する制御手段と、
付与された遊技価値に関する情報を表示する表示手段とを備え、
前記制御手段は、
通常遊技状態と、前記通常遊技状態より遊技者に有利な複数の有利遊技状態の中でいずれかの遊技状態に制御する遊技状態制御手段を有し、
前記通常遊技状態における賞球数を前記通常遊技状態に遊技者が消費した消費球数で除することによって、前記遊技価値に関する情報を算出し、更新することを特徴とする、前各項に記載の遊技機。
(21B)前記制御手段は、遊技領域に打ち出された遊技球数、遊技機から排出された遊技球数、および、アウト口を通過した遊技球数と入賞球数との和のいずれかによって、前記通常遊技状態の消費球数を計数することを特徴とする、前各項に記載の遊技機。
(21C)前記制御手段は、
特別図柄変動表示ゲームが大当たりとなった場合、前記有利遊技状態を導出し、遊技者が多くの遊技価値を取得可能な入賞口を開放するように制御し、
前記特別図柄変動表示ゲームによる大当たり確定から次の特別図柄変動表示ゲームの開始までの間を前記有利遊技状態として、この間における賞球数および消費球数を前記遊技価値に関する情報の計算から除外することを特徴とする、前各項に記載の遊技機。
(21D)前記制御手段は、
前記有利遊技状態では、遊技者が多くの遊技価値を取得可能な入賞口を開放するように制御し、
当該入賞口に入賞した遊技球数を遊技領域に打ち出された遊技球数から除外して、前記通常遊技状態の消費球数を計数することを特徴とする、前各項に記載の遊技機。
21Aから21Dの発明によれば、正確な情報を遊技機外部に出力できる。
(22A)所定の条件を満たした場合に遊技球を付与する遊技機であって、
遊技の進行を制御するプログラムを実行する制御手段と、
付与された遊技球に関する情報を表示する表示手段とを備え、
発射された遊技球が転動する遊技領域には、多量の遊技球の獲得を容易にする特別遊技状態を導出する契機となる始動口と、当該始動口の閉状態から開状態を導出する契機となる通過口が少なくとも設けられており、
前記制御手段は、
前記始動口の開状態を導出しやすい特殊遊技状態にも制御可能とされており、
前記特別遊技状態または前記特殊遊技状態のいずれかに制御されているときにおいて付与された賞球数と遊技者が消費した消費球数を除外して、遊技者に付与された賞球数を遊技者が消費した消費球数で除することによって、前記遊技球に関する情報を算出し、更新することを特徴とする、前各項に記載の遊技機。
(22B)前記制御手段は、遊技領域に打ち出された遊技球数、遊技機から排出された遊技球数、および、アウト口を通過した遊技球数と入賞球数との和のいずれかによって、前記通常状態の消費球数を計数することを特徴とする、前各項に記載の遊技機。
(22C)前記制御手段は、普通図柄変動表示ゲームによる当たり確定から次の普通図柄変動表示ゲームの開始までの間を前記拡開状態として、この間における賞球数及び消費球数を前記遊技球に関する情報の計算から除外することを特徴とする、前各項に記載の遊技機。
(22D)前記制御手段は、遊技領域に打ち出された遊技球数から前記始動口に入賞した遊技球の数を除外して、前記通常状態の消費球数を計数することを特徴とする、前各項に記載の遊技機。
22Aから22Dの発明によれば、正確な情報を遊技機外部に出力できる。
(23A)遊技者が操作可能であり、遊技領域に向けて遊技球を発射する発射装置と、
前記遊技領域に設けられた入賞口で前記遊技球が検出されると所定数の賞球を付与する賞球付与手段と、
前記入賞口のうち所定の入賞口で前記遊技球が検出された場合、遊技者に有利な有利遊技状態を付与するか否かの抽選を実行する主制御手段と、
前記主制御手段から送信された情報に基づいて、現出させる演出を決定する周辺制御手段と、を備えた遊技機であって、
前記主制御手段は、付与した遊技球に関する情報を増減いずれにも更新可能な情報更新手段を有しており、
前記情報更新手段によって前記付与した遊技球に関する情報を増減いずれにも更新可能な第1状態と、前記情報更新手段によって前記付与した遊技球に関する情報を増減いずれにも更新可能でありながらも当該第1状態に比して前記付与した遊技球に関する情報が増加へと更新される割合が抑制された第2状態とが少なくともあり、
前記周辺制御手段は、前記第1状態から前記第2状態へと移行したことが示される特別演出の現出を決定することを特徴とする、前各項に記載の遊技機。
(23B)前記遊技価値に関する情報はベースであり、
前記主制御手段は、
遊技者が多くの遊技価値を獲得可能な特別遊技状態と、前記特別遊技状態以外の通常遊技状態とを切り替えて遊技の進行を制御し、
前記通常遊技状態における賞球数を前記通常遊技状態において遊技者が消費した消費球数で除することによって、前記ベースを計算し、
前記周辺制御手段は、前記ベースが低下する可能性が高いタイミングを前記第2状態として、前記逆境演出の現出を決定することを特徴とする、前各項に記載の遊技機。
(23C)前記主制御手段は、
所定の時間毎、所定数の賞球毎または所定の消費球数毎のいずれかのタイミングで遊技球に関する情報を記憶領域に書き込み、
前記記憶領域に書き込まれた遊技球に関する情報と、当該書き込み前に前記記憶領域に記憶されていた遊技球に関する情報とを比較して、前記遊技球に関する情報の増減を判定し、
前記周辺制御手段は、前記判定された増減に応じて、前記逆境演出の現出を決定することを特徴とする、前各項に記載の遊技機。
23Aから23Cの発明によれば、変動表示ゲームが途切れた状態が長く続いても興趣の低下を抑制できる。
(24A)遊技者に遊技価値を付与する遊技機であって、
遊技の進行を制御するプログラムを繰り返し実行する制御手段と、
付与された遊技価値に関する情報を表示する表示手段と、
所定のタイミングで遊技者が獲得する賞球数を取得する賞球数取得手段と、
遊技者が消費した消費球を検出する消費球検出手段とを備え、
前記制御手段は、
前記所定のタイミングと前記消費球数検出手段による消費球の検出とが同じ繰り返し内で発生した場合、当該所定のタイミングに取得された賞球数と前記検出された消費球数とを同じ繰り返し内で計数し、
前記計数された賞球数と消費球数とを用いて、前記遊技価値に関する情報を算出することを特徴とする、前各項に記載の遊技機。
(24B)前記遊技価値に関する情報はベースであって、
前記制御手段は、
遊技者が多くの遊技価値を獲得可能な特別遊技状態と、前記特別遊技状態以外の通常遊技状態とを切り替えて遊技の進行を制御し、
前記通常遊技状態の総賞球数と前記通常遊技状態において遊技者が消費した遊技球数とを同じ繰り返し内で計数し、
前記通常遊技状態の総賞球数を前記通常遊技状態において遊技者が消費した遊技球数で除することによって、前記遊技価値に関する情報を算出することを特徴とする、前各項に記載の遊技機。
24Aから24Bの発明によれば、遊技者が取得した遊技媒体数の情報を迅速に表示できる。
(25A)遊技者に遊技価値を付与する遊技機であって、
遊技の進行を制御するプログラムを実行する制御手段と、
付与された遊技価値に関する情報を表示する表示手段と、
遊技領域の下部に設けられたアウト口を通過した遊技球を検出するアウト口検出手段と、
所定の入賞口への入賞球を検出する入賞球検出手段とを備え、
前記制御手段は、
通常遊技状態と、前記通常遊技状態よりも遊技者が多くの遊技価値を獲得可能な特別遊技状態とが少なくともある中でいずれかの遊技状態に制御する遊技状態制御手段を有し、
前記アウト口検出手段の出力から前記アウト口を通過した遊技球数を計数し、
前記入賞球検出手段の出力から入賞球数を計数し、
計数された前記アウト口を通過した遊技球数と前記入賞球数との和によって、遊技者が消費した消費球数を計数し、
所定のタイミングで、前記通常遊技状態において遊技者に払い出された賞球数を、前記通常遊技状態における前記消費球数で除することによって、前記遊技価値に関する情報を算出することを特徴とする、前各項に記載の遊技機。
(25B)遊技者に遊技価値を付与する遊技機であって、
遊技の進行を制御するプログラムを実行する制御手段と、
付与された遊技価値に関する情報を表示する表示手段と、
遊技領域に打ち出された遊技球の数を計数する検出手段とを備え、
前記制御手段は、
通常遊技状態と、前記通常遊技状態よりも遊技者が多くの遊技価値を獲得可能な特別遊技状態とが少なくともある中でいずれかの遊技状態に制御する遊技状態制御手段を有し、
前記検出手段の出力から遊技領域に打ち出された遊技球の数を計数して、遊技者が消費した消費技球を計数し、
所定のタイミングで、前記通常遊技状態において遊技者に払い出された賞球数を、前記通常遊技状態における前記消費球数で除することによって、前記遊技価値に関する情報を算出することを特徴とする、前各項に記載の遊技機。
(25C)遊技者に遊技価値を付与する遊技機であって、
遊技の進行を制御するプログラムを実行する制御手段と、
付与された遊技価値に関する情報を表示する表示手段と、
遊技機から排出された遊技球の数を計数する検出手段とを備え、
前記制御手段は、
通常遊技状態と、前記通常遊技状態よりも遊技者が多くの遊技価値を獲得可能な特別遊技状態とが少なくともある中でいずれかの遊技状態に制御する遊技状態制御手段を有し、
前記検出手段の出力から遊技機から排出された遊技球の数を計数して、遊技者が消費した消費球数を計数し、
所定のタイミングで、前記通常遊技状態において遊技者に払い出された賞球数を、前記通常遊技状態における前記消費球数で除することによって、前記遊技価値に関する情報を算出することを特徴とする、前各項に記載の遊技機。
25Aから25Cの発明によれば、遊技媒体の獲得に関する処理を正確に実行できる。
(26A)遊技者に遊技価値を付与する遊技機であって、
遊技の進行を制御するプログラムを実行する制御手段と、
付与された遊技価値に関する情報を表示する表示手段とを備え、
前記制御手段は、
通常遊技状態と、前記通常遊技状態よりも遊技者が多くの遊技価値を獲得可能な特別遊技状態とが少なくともある中でいずれかの遊技状態に制御する遊技状態制御手段と、
遊技領域の右側に向かって打ち出された遊技球が入賞可能とされている入賞口に入賞したときに付与される賞球数を除外して賞球数を計数する賞球数計数手段と、
遊技領域の右側に向かって打ち出された遊技球数を除外して遊技者が消費した消費球数を計数する消費球数計数手段とを有し、
前記制御手段は、前記計数された賞球数および消費球数を用いて、前記遊技価値に関する情報を更新することを特徴とする、前各項に記載の遊技機。
(26B)前記遊技価値に関する情報はベースであって、
遊技領域の右側に向かって打ち出された遊技球が入賞可能とされている入賞口に入賞したときに付与される賞球数を除外して、前記通常遊技状態の賞球数を計数し、
遊技領域の右側に向かって打ち出された遊技球数を除外して前記通常遊技状態の消費球数を計数し、
前記制御手段は、計数された前記通常遊技状態の賞球数を前記通常遊技状態の消費球数で除することによって、前記遊技価値に関する情報を算出することを特徴とする、前各項に記載の遊技機。
(26C)前記制御手段は、前記遊技領域の右側に設けられたゲート部の遊技球の通過または前記遊技領域の右側に設けられた入賞口への入賞を検出してから所定の期間は、前記賞球数および前記消費球数の計数から除外することを特徴とする、前各項に記載の遊技機。
(26D)前記制御手段は、最後の検出から所定時間の経過、所定数の遊技球を消費する時間、または、所定数の賞球が払い出される時間のいずれかによって、前記所定の期間を定めることを特徴とする、前各項に記載の遊技機。
(26E)前記制御手段は、前記遊技領域の右側に設けられたゲート部の通過球数および前記遊技領域の右側に設けられた入賞口への入賞球数を除外して、前記賞球数および前記消費球数を計数することを特徴とする、前各項に記載の遊技機。
26Aから26Eの発明によれば、正確な情報を遊技機外部に出力できる。
(27A)遊技者に遊技価値を付与する遊技機であって、
遊技における当落抽選の結果によって遊技者に有利な遊技状態を導出する主制御手段と、
遊技の結果によって第1データを設定する第1データ設定手段と、
遊技の結果によらない第2データを設定する第2データ設定手段と、
遊技の結果によって第3データを設定する第3データ設定手段と、
第1データ設定手段によって設定された第1データ及び前記第2データ設定手段によって設定された第2データから第1変換データを得る第1変換手段と、
前記第1変換手段によって得られた第1変換データ及び前記第3データ設定手段によって設定された第3データから第2変換データを得る第2変換手段と、
前記第1変換データを表示せず、前記第2変換データを表示する表示手段と、を有することを特徴とする遊技機。
(27B)前記表示手段器は、前記第2変換データが所定の範囲の数値である場合、当該第2変換データを表示しないことを特徴とする、前各項に記載の遊技機。
(27C)前記第1変換手段は、乗算手段であって、所定の条件が成立したタイミングで、前記第1データと前記第2データとを乗じて第1変換データを得ることを特徴とする、前各項に記載の遊技機。
(27D)前記第2変換手段は、除算手段であって、所定の条件が成立したタイミングで、前記第1変換データを前記第3データで除して第2変換データを得ることを特徴とする、前各項に記載の遊技機。
(27E)前記第1データは、遊技者に付与された遊技価値(例えば賞球数)であり、
前記第3データは、遊技者が消費した遊技価値(例えばアウト球数)であり、
前記第2変換手段は、前記第1変換データを前記第3データで除して第2変換データとして、付与された遊技価値に関する情報を得て、
前記表示器は、前記第2変換手段によって得られた遊技価値に関する情報(例えばベース)を表示することを特徴とする、前各項に記載の遊技機。
27Aから27Eの発明によると、遊技の結果に関する情報を正確かつ迅速に表示できる。特に、遊技機の評価に必要なベース値をリアルタイムで正確に表示できる。また、第2変換手段(除算手段)を用いることによって、制御手段の処理負荷の増加を抑制しつつ、遊技価値に関する情報(例えばベース値)をリアルタイムで正確に表示できる。
(28A)遊技者に遊技価値を付与する遊技機であって、
遊技の進行を制御する定期処理を実行する制御手段と、
付与された遊技価値に関する情報を表示する表示手段と、
前記遊技価値に関する情報を算出する変換手段と、を有し、
前記制御手段は、
所定のタイミングで前記変換手段に引数を渡し、前記変換手段によって当該引数に基づいて変換された結果を前記変換手段から取得し、
前記引数を渡す処理と前記変換の結果を取得する処理とを1回の定期処理内で実行可能であることを特徴とする遊技機。
(28B)前記変換手段は、
除算演算をする演算回路であり、
除数が入力される除数レジスタと、被除数が入力される被除数レジスタと、除算演算の商を出力するための結果レジスタとを有し、
前記制御手段は、
前記除数レジスタ及び前記被除数レジスタに引数を書き込み、
引数の書き込みから所定時間経過後に、前記結果レジスタから商を読み出し、
前記除数レジスタ及び前記被除数レジスタに引数を書き込む処理を、前記繰り返し実行されるプログラムの終了から前記所定時間より前に実行することを特徴とする、前各項に記載の遊技機。
(28C)所定の遊技状態において遊技者に付与される遊技媒体を計数する賞遊技媒体数計数手段と、
前記所定の遊技状態において遊技者が消費した遊技媒体を計数する消費遊技媒体数計数手段とを有し、
前記制御手段は、
前記賞遊技媒体数計数手段が計数した賞遊技媒体数を100倍した値を前記被除数レジスタに書き込み、
前記消費遊技媒体数計数手段が計数した消費遊技媒体数を前記除数ジスタに書き込み、
前記結果レジスタから、ベース値を読み出すことを特徴とする、前各項に記載の遊技機。
28Aから28Cの発明によると、遊技の結果に関する情報を正確かつ迅速に表示できる。特に、変換回路に引数を渡す処理と変換回路から変換の結果を取得する処理とを1回の繰り返し処理(タイマ割込み処理)内で実行するので、制御の複雑化を抑制できる。
(29A)遊技者に遊技価値を付与する遊技機であって、
遊技球が入賞可能な入賞口と、
遊技の進行を制御する制御手段と、
付与された遊技価値に関する情報を表示する表示手段と、
遊技者が消費した消費球を計数する消費球計数手段と、
遊技者に付与する賞球を計数する賞球計数手段と、を有し、
前記入賞口の少なくとも一つは、遊技球の入賞が容易な開状態と入賞が困難な閉状態とに切り替え可能な特定入賞口であり、
前記制御手段は、
前記計数された消費球数及び賞球数に基づいて、前記表示手段に表示するための遊技価値に関する情報を更新し、
前記特定入賞口が前記閉状態であるにもかかわらず該特定入賞口への入賞が検出された場合には入賞異常であると判定し、該判定がなされると当該入賞異常にかかる入賞球数を消費球数から除外して、前記表示手段に表示するための遊技価値に関する情報を更新することを特徴とする遊技機。
(29B)前記入賞口の少なくとも一つは、多量の遊技球の獲得を容易にする特別遊技状態を導出する契機となる始動入賞口、
前記制御手段は、前記始動入賞口が閉状態において当該始動入賞口への入賞が検出された場合、入賞異常であると判定して、当該入賞にかかる入賞球数を消費球数から除外して、前記表示手段に表示するための遊技価値に関する情報を更新することを特徴とする、前各項に記載の遊技機。
(29C)前記入賞口の少なくとも一つは、特別遊技状態において開放される大入賞口であり、
前記制御手段は、前記大入賞口が閉状態において当該大入賞口への入賞が検出された場合、入賞異常であると判定して、当該入賞にかかる入賞球数を消費球数から除外して、前記表示手段に表示するための遊技価値に関する情報を更新することを特徴とする、前各項に記載の遊技機。
(29D)遊技者が消費した消費球を検出する消費球検出手段を有し、
前記消費球計数手段は、前記消費球数検出手段が検出した消費球数から前記入賞異常にかかる入賞球数を減じて、遊技者が消費した消費球を計数することを特徴とする、前各項に記載の遊技機。
(29E)前記制御手段は、前記遊技価値に関する情報の算出に使用する総消費球数を記憶しており、
前記消費球計数手段は、前記消費球数検出手段が検出した消費球数を前記総消費球数に加算し、前記総消費球数から前記入賞異常にかかる入賞球数を減じて、消費球を計数することを特徴とする、前各項に記載の遊技機。
(29F)前記制御手段は、前記遊技価値に関する情報の算出に使用する総消費球数を記憶しており、
前記消費球計数手段は、前記消費球数検出手段が検出した消費球数から前記入賞異常にかかる消費球数を減じた値を前記総消費球数に加算して、消費球を計数することを特徴とする、前各項に記載の遊技機。
(29G)前記入賞口は、遊技球の入賞が容易な開状態と入賞が困難な閉状態とに切り替え可能であって、
前記制御手段は、閉状態において前記入賞口への入賞が検出され、かつ、当該入賞に関連して賞球を払い出さない場合、入賞異常であると判定して、当該入賞にかかる入賞球数を消費球数から除外して、前記表示手段に表示するための遊技価値に関する情報を更新することを特徴とする、前各項に記載の遊技機。
(29H)前記制御手段は、前記入賞口への入賞異常が所定の期間内に複数回検出された場合、当該入賞異常にかかる入賞球数を消費球数から除外して、前記表示手段に表示するための遊技価値に関する情報を更新することを特徴とする、前各項に記載の遊技機。
29Aから29Hの発明によると、遊技の結果に関する情報を正確かつ迅速に表示できる。特に、入賞異常にかかる入賞球数をアウト球数から除外して、遊技価値に関する情報(例えばベース値)をリアルタイムで正確に表示できる。
(30)遊技者に賞として遊技媒体を付与する遊技機であって、
複数の入賞口が配設された遊技領域と、
前記各入賞口において遊技媒体が検出された場合に、複数ある賞のいずれかうち予め定められている特定の賞を付与する賞付与手段と、
前記遊技領域に流入する遊技媒体の数と、前記賞付与手段によって付与された賞として付与される遊技媒体の数とを用いて所定の演算処理を実行する演算処理手段と、
前記演算処理手段により実行された演算処理の結果を加工する加工手段と、
前記加工手段によって加工された演算処理の結果を所定の表示装置に表示する表示手段と、を備え、
遊技において前記複数ある賞のうち特定の賞が発生した場合、前記賞付与手段は当該特定の賞を付与し、前記表示手段は前記演算処理の結果が変化しないように表示することを特徴とする遊技機。
30の発明によると、遊技の結果に関する情報を正確かつ迅速に表示できる。特に、特定の賞の発生に伴って賞(例えば、高価値の賞が付与される入賞口(賞球数が多い一般入賞口や大入賞口など)への入賞に伴い払い出される賞球)が付与されても、演算処理の結果(計算されたベース値)が変化しないように表示でき、遊技機が所定の性能を発揮しているか(例えば、設定した出玉率通りか)を容易に判断できる。