#020

【PC88,Z88DK】C言語で任意の座標に文字描画【PC88,Z88DK】C言語で任意の座標に文字描画戻る 設定


概要

 PC-8801では、テキストVRAMはアドレスF3C8hに割り当てられています。80桁x25行表示ですが、1行に120byte割り当てられており、前半80Byteが文字コード、後半40Byteがアトリビュート領域です。

【参考】テキストおよびグラフィック VRAM についての覚え書き(外部サイト)

ソース

#define POKE( off, val )    ( *(unsigned char*)( off ) = ( val ) )
void main()
{
    int     x = 5;
    int     y = 10;
    POKE( 0xf3c8 + y * 120 + x, 0x41 );
}

解説

 VRAMに直接書き込めば、文字は即座に反映されます。アトリビュートの仕様は少々ややこしいため上記のリンク先をご覧ください。

 アドレスはF3C8hから始まり、1行120Byteですので、計算式は

 0xF3C8 + y * 120 + x

となります。


関連記事

#023 【PC88,Z88DK】C言語でキースキャン

#017 【PC88,Z88DK】C言語でゲームループとFPS制御

#013 【PC88,Z88DK】C言語でHelloWorld


最終更新日時:2022/05/03
戻る戻る back