0

レトロゲームの分野で c64 の作業を始めたところです。

なぜ c65 では 1 文字が 8 バイトなのか不思議です

これは、c64 ディスプレイの仕組みと関係がありますか? 画面上でキャラクターを生成するには、そのすべてのデータが必要ですか?

4

2 に答える 2

4

あなたはリンゴとリンゴの比較をしていません。

C64 の文字は、最新のシステムと同じように 1 バイトを使用します (ここでは単純化します。Unicode 文字のサイズはわかりません)。ただし、表示目的のために、いくつかのオプションがあります。

  • 通常のテキスト モードの画面は、25 行 x 40 文字、つまり 1,000 バイトです。ある位置 (たとえば [5,2] は行 5、列 2) にバイトを書き込むと、システムはその 1 文字を表示します。
  • ビットマップ設定では、高解像度 (200 行 x 320 列) またはマルチカラー解像度 (200 行 x 160 列) を使用できます。これら 2 つの違いは、高解像度では 8 列 (つまり、オンまたはオフ状態) ごとに 2 つの色しか使用できないが、マルチカラーでは (各「列」を 2 列で表現できるようにすることで) 4 つの色を使用できることです。ビット、および 2 ビットで 4 つの状態を持つことができます)。どちらのモードでも、およそ 8k のメモリ (正確には 8000 バイト) が必要です。ビットマップ グラフィックスを使用する場合、各文字を画面に「描画」し、1 文字あたり 8 バイトが必要になります (C64 の通常のフォントは 8x8 ピクセルなので、8 バイトに相当します)。

これらスプライトではありません。通常の状況では、8 つのスプライトを使用してその位置を制御し、ビットマップ (またはテキスト ベース) 表示の上に重ねることができます。スプライト解像度 (つまり、2 色または多色) は、ビットマップ グラフィックスの高解像度または多色解像度と同じロジックに従います。

于 2020-12-25T02:58:47.107 に答える