リノにはポロリンといわれるセット打法がありました。
リノを語るうえで外せない要素なので語り尽くされた感はありますが、あえて語ります。
セット打法というと、通常動作と比べれば異常動作にあたるのでバグという言われ方をすることが多いですが、パチスロの規定においては異常というだけで、実際のところはプログラム通りに動いているのです。
語る前に一言。
もっと早くに言うべきでしたが、フラグについて語る時、いろんな言い回しをするので混乱する箇所もあったかと。
フラグが立つことは、1になる、オンになる、と言ったりしますし、フラグが立っていないことは、0になる、クリア、オフになる、と言ったりします。
その時の気分なので、明確な使い分けがあるわけではありません。
それから大事なことなのでもう一言。
この先お話することは、クソウザいです。
なるべく噛み砕いていきたいとは思いますが、伝わらないよりは迷惑に思われてもより正確であることを選ぶので、ついてこれる方だけついてきてください。
それでは。
まずはポロリンの手順をおさらいしておきましょう。
・何枚でもいいのでベットしたら精算ボタンを押したままスタートレバーオン。
・リールが回転したら精算ボタンから手を離す。
・リールが停止したら払い出しとは関係なくホッパーからコインが1枚落ちてくる。
・ベットを受け付けないのでスタートレバーをオン。
・7絵柄を目押しして揃えたらミッションコンプリート。
リール停止後にホッパーから自動的に1枚落ちてくるのはベットキャンセルの処理がなされたからです。
精算ボタンの操作をしたのは押したままスタートレバーオンのところしかありませんから、その操作が遅れて実行されたと考えられます。
精算ボタンの受け付けについて詳しく見ていきましょう。
精算ボタンの受け付けは割り込みで処理されていますから即時性があります。
具体的な処理は次の通り。
①ベット数とクレジット数がいずれも0なら処理終了。いずれかあるいは両方が0以外なら次へ。
②複合フラグの<bit5><bit4><bit2><bit1><bit0>のいずれか1つ以上がオンなら処理終了。全てがオフなら次へ。
③精算ボタンが押されていないあるいは精算ボタンが押されたままなら処理終了。押されていた精算ボタンがオフになったら次へ。
④精算ボタンが押されていた時間がある程度未満なら⑥へ。ある程度以上なら次へ。
⑤クレジット数が0なら処理終了。1以上ならクレジット精算のフラグをオンにして処理終了。
⑥ベット数が0なら処理終了。ベット数が1以上ならベットキャンセルのフラグをオンにして処理終了。
複合フラグというのは8つのフラグをまとめたものです。
その8つのフラグを8つのビットに割り当てて1バイトメモリで管理しています。
必要なところだけ抜き出します。
<bit5> スタートレバーオンで1。役判定終了後に0。
<bit4> 役判定終了後に1。1プレイが終了してスタート地点に戻る時に0。
<bit2> クレジット精算のフラグあるいはベットキャンセルのフラグのいずれかがオンなら1。どちらもオフなら0。
<bit1> 設定変更中なら1。そうでなければ0。
<bit0> 一定時間以上コインセンサーを感知し続けるエラー発生で1。そうでなければ0。
これをふまえて、精算ボタンを押したままスタートレバーをオンすると、精算ボタンの受け付けがどうなるか考えてみましょう。
スタートレバーを有効にオンできる状態ですから①の条件は満たしています。
②は条件が多くてアレですが、エラーが起きていないので<bit0>はクリアしているし、設定変更中でもないので<bit1>もクリアしているし、ベットキャンセルのフラグはまだオンになっていないので<bit2>も条件を満たしています。
通常の精算処理はスタートレバーオンの前のプログラムがループしているところで行われますから、<bit4><bit5>はクリアなままで、つまりはベットキャンセルのフラグを立てることが可能なわけです。
ところが、スタートレバーがオンになると<bit5>が1になるから精算ボタンの受け付けが拒否されます。
<bit5>は役判定が終了したタイミングでクリアされ、入れ替わりに次の命令で<bit4>を1にします。
<bit4>がクリアされるのはプレイ終了時です。
でもその時はそのプレイでのベット数をゼロクリアした後なので、ベットキャンセルのフラグは立ちません。
実は、ほんの一瞬だけ、チャンスがあるのです。
<bit5>を0にしてその次の命令で<bit4>を1にする。
ここです。
<bit5>をクリアする命令を実行して、次の命令が実行されるまで。
この隙間の時間に精算ボタンの受け付けを済ませれば、ベットキャンセルのフラグを立てることができます。
まとめます。
クレジットの有無は問わず、1枚以上ベットしたら「エラーなし」「設定変更中ではない」「クレジット精算フラグとベットキャンセルフラグがいずれもオフ」を満たした状態で、精算ボタンを押したままスタートレバーをオン。
役判定が終了して<bit5>を0にした瞬間に精算ボタンから手を離す。
重要なのは精算ボタンから手を離すタイミング。
これが全てなのですが、厄介なことに、毎プレイその一瞬に割り込みリクエストがなされるわけではありません。
精算ボタンの受け付けは割り込みで行われているので、ボタンから手を離すタイミングがぴったりだったとしても、その瞬間に割り込みプログラムが実行されていなければベットキャンセルのフラグは立たないのです。
メインプログラムの進むルートはだいたい決まっています。
ベット数、設定値、当選した役、に応じて割り込みリクエストが入りやすい、入りにくいはあるでしょう。
「設定6が成功しやすい」とか「設定1では成功しない」とか言われているみたいですが、攻略された現役当時に6がごろごろあったとは思えませんし、ベタピンでお祭りを回避したなんて話も寡聞にして知りません。
タイミングがゆらぐ最大の要因はウエイトです。
低設定で成功しない(しにくい)のは割り込みリクエストのタイミングがおそらく合いにくいのだと思います。
ベット数を変えるとかウエイトをかけた状態で手順を進めるとか、タイミングをずらしてみると違う結果が得られるかもしれませんね。
いや、知らんけど。
【其の19に続く】