| トップページ | P-WORLDとは | ご利用案内 | 会社案内 |
返信元の記事
【453】

RE:違いについて

機械超人アイハス (2008年07月01日 18時31分)
>ただ、1周ごとだと
>処理が一時的に停滞する恐れは無視していいと言うのですか
>その間は乱数はカウントできませんよ
>少なくともZ-80の場合3クロック分は


もう来ないでしょうけど一応、私の名誉ともりーゆ。さんや皆さんの疑問のためにも…

まず、リフレッシュ(R)レジスタとは、CPUに内蔵されるダイナミックRAMのリフレッシュに用いる7ビットのレジスタで、命令フェッチ(マイクロプロセッサが命令を実行する最初の段階において、命令コードをメモリから読み出してレジスタに転送すること)毎に1だけ増加するレジスタのことである。

広く使われているメモリの一種であるダイナミックメモリ(DRAM)は、コンデンサを内蔵しこれに電荷を蓄えることで二進数のデータを記憶するように構成されているが、時間が経過するとコンデンサに蓄えた電荷が失われ(放電して)、データが消えてしまう。
そのため、DRAMではコンデンサを定期的に再充電してやる必要がある。DRAMはいくつかのブロックに分けられており、ブロックごとに何回かに分けて再充電する。その充電するブロックの情報が入っているのがリフレッシュレジスタである。

時間に応じて値が変化するという特性をもつので、リフレッシュレジスタの値を乱数の発生に用いるのは、乱数値の出現率の均等化と、複数ある乱数の相関関係の低減を実現する上で好適である。しかも、乱数発生の処理にCPUが内蔵するリフレッシュレジスタを使用すれば、プログラムの変更のみで対応でき、コストをかけることなく簡単に実現できるというメリットもある。

■ 778件の投稿があります。
78  77  76  75  74  73  72  71  70  69  68  67  66  65  64  63  62  61  60  59  58  57  56  55  54  53  52  51  50  49  48  47  46  45  44  43  42  41  40  39  38  37  36  35  34  33  32  31  30  29  28  27  26  25  24  23  22  21  20  19  18  17  16  15  14  13  12  11  10  9  8  7  6  5  4  3  2  1 
【456】

RE:違いについて  評価

イオリア (2008年07月01日 23時28分)

機械超人アイハス 

何でハンドル変えたん、アク禁か
オメーハ名誉なんて大層なもの有るわけ無いじゃろ
名誉有る人間が誰であろうと中傷はしないからね
ネット上で名誉なんて笑っちゃうね

君は単なるゆとり教育の申し子なだけじゃよ
考える事が出来ない可愛そうな人なんですよ
可能性は全て目を瞑っているから、盲目なんだ
ちょっとは自分自身って物を見直したほうが
よいと思うよ
【454】

RE:違いについて  評価

機械超人アイハス (2008年07月01日 18時39分)

続き・・・

御指摘の通り、ハードとソフトでは更新速度に大きな隔たりがあるが、標準的な乱数値更新方法としての業界の意向は以下の通りだ。
基本的事項を交えて御紹介しよう。

乱数発生器は、入賞抽選用の乱数を所定の領域内で発生させるものである。具体的には、初期値〜終了値の範囲において任意の数値を所定の確率で発生させる。
例えば、乱数発生器は、ハードウエアのカウンタ又はプログラムで実現されるソフトウエアカウンタであり、非常に速い間隔で数値を連続的に増加又は減少させるものである。このように得られる数値(データ)は、正確に言えば乱数ではないが、前述のように非常に速い間隔で数値が変化するとともに入賞判定を行うタイミングが不規則であり、どのような数値となるか予測困難であるために、遊技機の抽選用の乱数として使用している。

カウンタによる乱数発生器は、予め定めた初期値(例えば0)に予め定めた差分値(例えば1)を繰り返し加算又は減算することにより順次増加又は減少する値を次々に出力し(例えば,0,1,3,4,・・・)、出力される当該値が予め定めた終了値(例えば16進数でFFFF、10進数で65535)に到達したときに出力する値を初期値に戻し、再び加算又は減算を繰り返すものである。

初期値の更新に使われる第2乱数がソフトでもハードでもどちらでもよいが、Rレジスタによって更新する場合は速さが追いつかないという御指摘があったが、それは業界でもわかりきっていることだろう。

その手段としてメモリへの記憶がある。
ソフトウエアで乱数を発生させ、それをメモリの一部に記憶させている場合、CPUが更新を行おうとして、記憶されている乱数を読み出すことが、乱数の抽出(初期値の更新)に相当する。
つまり、ダイレクトではなく取り置きしているということだな。
それ自体がランダムなのだから取り置きしていた値を更新時に持ってきてもランダムな数、所謂乱数として扱える。

業界ではそれを実現してるのだろう。
押忍!番長の例もその技術が適用されているに違いない。


つまり、イオリア殿の言わんとするところであるスピードの差は同時には不可能だが、メモリに記憶しておいた値を1周毎に読み出しプラスすることは可能である。

また、時間によって値が変化するRレジスタを使用しているために、所定時間毎にメモリに記憶される値もまたランダムであり、第1乱数値にメモリに記憶しておいたRレジスタの値を加算しても結果として初期値もランダムとなる。

それに加えて、初期値がランダムだということは判定用乱数値もまたランダムとなる。

貴殿は当初からRレジスタなど使用してはいないと仰っていたが、現実離れした主張だったようだ。

また、スピードの関係上無理だと決めつけているのも視野が狭い。
パチ業界を軽視しすぎていたようだね。

イオリアさん

さようなら。

貴方を決して忘れません。
78  77  76  75  74  73  72  71  70  69  68  67  66  65  64  63  62  61  60  59  58  57  56  55  54  53  52  51  50  49  48  47  46  45  44  43  42  41  40  39  38  37  36  35  34  33  32  31  30  29  28  27  26  25  24  23  22  21  20  19  18  17  16  15  14  13  12  11  10  9  8  7  6  5  4  3  2  1 
メンバー登録 | プロフィール編集 | 利用規約 | 違反投稿を見付けたら