セットに成功するとちょっとおかしなボーナスに突入することがあるのですが、どのようにおかしいのか比較するには、まず普通のボーナスがどのように進行していくのか把握する必要があると思います。
ボーナスの進行には、3つのフラグが重要な役割を担っています。
①アドレス205Bメモリ(振分フラグ)
②アドレス2052メモリ(ボーナス消化フラグ)
③アドレス2053メモリ(ボーナスフラグ)
これらのフラグは下位2ビットしか使用しないので、2進数(00/01/10/11)で表記することにします。
リールが全て停止すると、ボーナスゲーム中のみ専用の処理へと進みますが、それ以外の場合は、前回述べた配当チェック→払い出し→シフトフラグ処理→(ボーナス突入時のみ固有の処理→)ベットクリア等の最終処理を経て、スタート地点へ戻ります。
前にボーナス絵柄が揃った時の処理について簡易的に述べてありますが、もう少し踏み込んだ解説をします。
●ドル袋が揃った時
ボーナスゲームの音楽をスタートさせる。
ランプ等の処理(詳細は省略)。
●小役ゲームでシフト(JAC)が揃った時
ボーナスゲームの音楽をスタートさせる。
ランプ等の処理(詳細は省略)。
②ボーナス消化フラグのbit1を0に。
プレイ数カウンタA(以後、亀カウンタ)に5をプラスした値をプレイ数カウンタB(以後、兎カウンタ)にセット。
●7が揃った時
小役ゲームの音楽をスタートさせる。
ランプ等の処理(詳細は省略)。
ボーナスゲームの消化回数を0に。
小役ゲームの通算消化回数を0に。
②ボーナス消化フラグのbit1を0に。
③ボーナスフラグのbit1を1に。
③ボーナスフラグのbit0を0に。
差枚数カウンタをFFA5(65445=-91)に。
亀カウンタに2をプラスした値を兎カウンタにセット。
順番が前後しますが、続いてシフトフラグの処理についても、踏み込んで説明します。
(前の解説と言い回しや呼び方が違うところもあります)
・亀カウンタをプラス1。
・②ボーナス消化フラグのbit1が1なら終了。0なら次へ。
・亀カウンタの値と兎カウンタの値が同じでないなら終了。同じなら次へ。
・3回目の小役ゲームなら次へ。3回目でないなら②ボーナス消化フラグのbit1を1にして終了。
・1枚ベット・2枚ベットなら②ボーナス消化フラグのbit1を1にして終了。3枚ベット以上なら次へ。
・差枚数カウンタがプラスなら②ボーナス消化フラグのbit1を1にして終了。マイナスなら次へ。
・小役ゲームの通算消化回数が25以上なら②ボーナス消化フラグのbit1を1にして終了。25未満なら兎カウンタをプラス1して終了。
兎カウンタは亀カウンタの先に行って休んでいます。亀カウンタは毎プレイ一歩ずつ進みます。亀が兎に追いついたらシフト(ジャックイン)という感じです。
小役ゲーム中に②ボーナス消化フラグのbit1が1になると、次プレイの役判定でシフトフラグが立つ、と考えてください。
3回目の小役ゲームでは、亀が5歩進んで兎に追いつきますが、シフトの条件を満たしていない時は兎を一歩先に進めてシフトを先送りするのです。
後で述べますが、BIG消化中以外の時は②ボーナス消化フラグのbit1が常に1なので、兎を置き去りにして亀だけが毎プレイ一歩ずつ進みます。
ベットクリア等の最終処理についてまとめます。
このプレイで参照したベット数をゼロクリア。
複合フラグの<bit4>を0に。
BIGボーナス中でないならここでスタート地点へと戻ります。
BIGボーナス中なら、小役ゲームの通算消化回数をプラス1。
30以下ならスタート地点へと戻ります。
31以上ならリセット処理を行ってからスタート地点へと戻ります。
<リセット処理>
①振分フラグのbit0を0に。
②ボーナス消化フラグのbit1を1に。
②ボーナス消化フラグのbit0を1に。
③ボーナスフラグのbit1を0に。
複合フラグの<bit3>を1に。
複合フラグの<bit4>を0にしてスタート地点へ戻る。
リール停止後に分岐したボーナスゲームの場合。
ボーナスゲームは6回当たるか12プレイ消化するかで終了になりますが、そこらあたりの過程は省略。
(当たった回数と消化プレイ数は、ボーナスゲームが終了する時にいずれもゼロクリアされます)
終了以外のプレイでは複合フラグの<bit4>を0にしてスタート地点へと戻ります。
終了プレイでは、レギュラーの時とBIG中のボーナスゲームとでは少々違いがあります。
レギュラーの時は③ボーナスフラグのbit1を0に、①振分フラグのbit1を0に。そのあと複合フラグの<bit4>を0にしてスタート地点へと戻ります。
BIG中のボーナスゲームの時は①振分フラグのbit1を0に。ボーナスゲームの消化回数をプラス1。1回目・2回目終了なら小役ゲームの音楽をスタートさせてから、複合フラグの<bit4>を0にしてスタート地点へと戻ります。3回目以上が終了ならリセット処理を行ってからスタート地点へと戻ります。
ここでひとまず表を入れます。
①アドレス205Bメモリ(振分フラグ)
②アドレス2052メモリ(ボーナス消化フラグ)
③アドレス2053メモリ(ボーナスフラグ)
③がいわゆるボーナスフラグで、BIGに当選したらbit0を1に、REGに当選したらbit1を1にします。
②は後で触れますが、BIG中以外は常に11です。
ボーナス中かそうでないかのチェックで参照されるのはほぼ全て①で、表から分かると思いますが、bit0が1ならBIG中、bit1が1ならボーナスゲーム中を意味します。
最後に、役判定についてまとめます。
判定そのものではなくて、判定の振り分けについてです。
役判定に入ったら「成立フラグ」と「非成立フラグ」をクリアします。
続いて②ボーナス消化フラグの確立。
①振分フラグのbit0が1なら②ボーナス消化フラグは不変。0なら②ボーナス消化フラグを11に。
そして振り分け。
②ボーナス消化フラグと③ボーナスフラグとでAND演算をして、結果が00なら「X」、結果が00以外なら「x」。
①振分フラグのbit0が0なら「Y」、bit0が1なら「y」。
XY 通常判定
Xy 小役ゲーム(判定)
xY ボーナス成立中
xy 小役ゲーム(シフト)
それぞれの抽選を行い、当選した役を「成立フラグ」に、当選しなかった役を「非成立フラグ」に保存します。
あれこれとまとめたのでついてくるのが大変かもですが、これでほぼほぼ言っておくべきことは言えたかと思います。
次、最終回。
【其の23に続く】