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
となります。
#017 【PC88,Z88DK】C言語でゲームループとFPS制御
#013 【PC88,Z88DK】C言語でHelloWorld