2ちゃんねる スマホ用 ■掲示板に戻る■ 全部 1- 最新50    

未だ続くX68Kはピーコ太郎だらけのレッテル貼り 2

1 :ナイコンさん:2022/07/28(木) 00:32:56 .net
https://kizuna.5ch.net/test/read.cgi/i4004/1619984951
前スレ

引き続き当時の雑誌に書かれていたようなことは本当なのか議論し真実を追求しましょう。

70 :ナイコンさん:2022/09/21(水) 15:25:40.47 .net
>>23
時々そういうこと言う人いるけど、平均値はもしかしたらそうかも知れないけど、
すべての個人に当てはまってる法則ではない。
また、X68000の方が遅いと言うのも誤り。9801は、DOSの16BITモードで
動いていたから、セグメントの64KBの壁のせいで、大きなメモリに
アクセスするためには、セグメントレジスタも変更しなくてはならなかった
ので遅くなったので、多くのプログラムは64KBの制限を受けながら動いて
いることが多かった。
また、グラフィックVRAMに膨大なWAITがかかっていることと、プレーン方式
なので、1ドット単位で色を塗ることが苦手なハードウェアであったこと、
スプライトが使えなかったことなど、非常にグラフィックが苦手なマシンであった。
また、パックとピクセル方式のため、横スクロールゲームの作成はとても
苦手であった。普通にやれば、横スクロールが8ドット単位になってしまうから。
横に1ドット単位でスクロールさせるには、非常に時間が掛かって、ゲームで
使うことは難しかった。

71 :ナイコンさん:2022/09/21(水) 15:35:41.30 .net
>>70
セグメントレジスタは、add命令も使えなかったので、32BIT拡張的な使い方も
できなかった。例えば、汎用の16BIT レジスタ2つ、dx, ax を使えば、
add ax,LO // 最上位ビットがあふれるとキャリーフラグが1になる。
adc dx,HI // キャリーフラグも含めて足す命令。
のような形で高速に32BITの足し算が出来る。ところが、
セグメントレジスタ ds や es には、add 命令も無かったので、
上記の様なことが出来なかった。だからやろうとすれば、
mov dx,es
add bx,LO
adc dx,HI
mov es,dx
などとする必要があった。
但し、これも「ウソ」だった。なぜなら、セグメントレジスタは、上位16ビットではなかく、
単に4BIT左シフトしたアドレスだったから。つまり:
アドレス = (ds << 16) + bx
ではなく、
アドレス = (ds << 4) + bx
なので、上記の32BITのアドレス加算処理を正しく書くのはとても難しい。

さらにいえば、レジスタの制約が強くて、bx レジスタの指すアドレスへの読み書きは出来るが、
bx レジスタ以外の例えば ax レジスタでは出来ない、などといったものがある。

100 KB
新着レスの表示

掲示板に戻る 全部 前100 次100 最新50
名前: E-mail (省略可) :

read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★