#018

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


概要

 テキストVRAMにディスプレイコードと呼ばれる値を書き込むことによって文字を描画することが出来ます。

【参考】mz-80K Display(外部サイト)

 VRAMはアドレスD000Hから始まり、40桁x25行ぶんの領域が連続で割り当てられていますので、座標計算は 0xd000 + y * 40 + x となります。

ソース

#define POKE( off, val )    ( *(unsigned char*)( off ) = ( val ) )
void main()
{
    int     x = 5;
    int     y = 10;
    POKE( 0xd000 + y * 40 + x, 0x01 );  //  0x01は「A」のディスプレイコード
}

解説

 書き込む値はアスキーコードではなく「ディスプレイコード」と呼ばれるMZ独自のものです。並び順が完全に異なるというわけではないのですが、単純に40Hずれているだけではありません。


関連記事

#021 【MZ80,Z88DK】C言語でキースキャン

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

#011 【MZ80,Z88DK】C言語でHelloWorld


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