投稿者 GH 日時 2000 年 9 月 13 日 01:24:24: [DG-001894]
回答先: Re: RARの仕組みについて 投稿者 あぜ道 日時 2000 年 9 月 13 日 00:06:45
> もし単純に最初にメモリを書換えてるだけだとしたら
> 本来のプログラム側で次に書換え処理が発生した時点で
> 戻ってしまいますよね。しかもROMカセットベースの機器
> (ファミコン〜64)だったら根本的に書換えられませんし。
書き換えている部分は、ワークのなのでは?
特定のアドレスがある値になった場合のみ書き換えるというのは、目的のワークになっている場合という意味合いがあるのだと思っていましたが・・・。
ROMベースのプログラムでも、変数領域やワークはRAM上にあるわけですから、ここの値を変更することによってパラメータの変更は可能だと思います。
割り込みはどんなタイミングで発生するかわからないので、割り込みによってプログラムの動作がおかしくなってしまうというのは考えにくいと思った訳です。動作が遅くなるのであればわかるのですが。
それに、2バイトの変更でもハングアップするときはしますよね?
> > ハングするのは、メモリ内容を大幅に書き換えるため、目的のコードじゃない部分を書き換えてしまうためだと思っていたのですが。
> コード制作(発見?)者の意図しない部分まで書換えてるようで
> はPARってのはかなりいいかげんなシステムってことになると
> 思うんですけど・・・。
意図しない部分まで書き換える必要はないですよねぇ。
私が設計者だとしたら、なるべく安定するように指定した部分だけを変更するようにしますけどねぇ。そういうものなのか・・・。
データの変更は割り込みを使っているのだろうとは思います。どんなタイミングで割り込みがかかっているのかもわかりませんが、たかだか数十バイトの書き換えだけでタイミングがずれてしまうようなものがコンシューマプログラムにあるとは思えないのです。それ以上に、コンパイラが吐くコードがそこまでシビアになるはずはないと思うのです。
> > コンシューマ向けのソフトで、タイミングがシビアに作られていることは少ないと思うので。
> OSの上で動いてるわけじゃない(除くDC)し、基本的に完全同一
> ハードな訳で、PCよりもかなりギリギリなタイミングで動作
> してるソフトは結構多いらしいです。
> ラスタスクロールを使ってるゲームだと走査線割込みなんかも
> ありますしね。
CD-ROMからの読み込みなどは、やっぱり家庭用ですのでエラーが発生する率とか高いわけです。ですので、あまりタイミングをシビアにすると、おかしなことになることが多くなってしまうと思いますが?
走査線割り込みを使った場合でも、スクロールがぎくしゃくしたり、遅くなったりすることはあったとしても、ハングアップする理由がわかりません。
> あとvoidとやりあったのは3年くらい前のfj.rec.*の何処かです。
> 何処だったかはすでに覚えてません。
> 頑張ってアーカイブ探してください。(笑)
うーん。fj.rec.*だけだとわからないなぁ。
残念。さすがに当たり所がわからないですねぇ。
voidさんも沖縄(だったと思う)で生活されているらしく、うらやましい限りです。
> 内容としては外来語と本来の外国語では意味が異なる場合
> も有るとか無いとかで言合ってたはずです。
voidさんは日本語に関してうるさかったですからねぇ。もっとも、随分間違った指摘をしていることもありましたが。私も、「異常」とかいたら、
・・
異常
とかされましたよ。間違っているのはvoidさんなのにね(笑)。