12/02 01:31 @yukizokin 3D描画の場合、当時の水平型GRAMにとっては「Y座標の算出速度」の差は、「横方向の描画に必要なビットマスクなどの計算」にかかるコストと比べると大したことにはならんです…実際、88mkIIあたりまでとの比較ならX1のほうが有利だったわけで
(tagi)
12/02 02:13 @yukizokin あれは「b0-b10がテキストVRAMの配列と同一」「b11-13が1キャラクタ内のラインを示すオフセット」「b14-15がプレーン」とすると、テキストとグラフィックの合成ハードウェアに都合のいい構成になるんですよ
(tosu)
12/02 02:34 @yukizokin 本来「CRTCはテキストVRAMにアクセスし、その内容に従ってCGROMをアクセスしてピクセルを出力」するところ、X1は「CGROMに相当する部分にCGROMとPCGとGRAMが繋がっていて、条件分けで切り替えつつアクセスする」ことで合成を実現しています
(naku)
12/02 01:31 (
@gorry5)
@yukizokin 3D描画の場合、当時の水平型GRAMにとっては「Y座標の算出速度」の差は、「横方向の描画に必要なビットマスクなどの計算」にかかるコストと比べると大したことにはならんです…実際、88mkIIあたりまでとの比較ならX1のほうが有利だったわけで
(tagi)
12/02 02:04 @gorry5 あれ、『Y座標の算出』ですか。さっきコードを書いていて、アドレステーブル化よりずっと遅くなりそうで断念しました。エレガントなアルゴリズムがあったら教えてください。 (tere)
12/02 02:13 (
@gorry5)
@yukizokin あれは「b0-b10がテキストVRAMの配列と同一」「b11-13が1キャラクタ内のラインを示すオフセット」「b14-15がプレーン」とすると、テキストとグラフィックの合成ハードウェアに都合のいい構成になるんですよ
(tosu)
12/02 02:34 (
@gorry5)
@yukizokin 本来「CRTCはテキストVRAMにアクセスし、その内容に従ってCGROMをアクセスしてピクセルを出力」するところ、X1は「CGROMに相当する部分にCGROMとPCGとGRAMが繋がっていて、条件分けで切り替えつつアクセスする」ことで合成を実現しています
(naku)
12/02 06:52 @gorry5 それは大体気がついていました。でも単純な配線の組み替え次第じゃないかな(要するに 初代はオプションだったし余り考えてなかった)と思ってたら、777でもそうだからなんでだろうと。
(hebo)