tunozemichanの日記 / tunozemichan's diary

SORD社のコンピューターM68やM68MXの解析についての備忘録です。This blog is a memorandum about the analysis of SORD's computers M68 and M68MX.

SORD M23の画面に文字を書く

Takeda氏が解析してくださったおかげで、色々なことが容易になりました。

 

今回は文字を表示します。

 

SORD M23のCRTCはHD46505SでBOOT ROM内で、80桁、25行に設定されています。

テキストVRAM(文字コード)はF800hからFFFFhまで、テキストVRAMのアトリビュートはF000hからF7FFhまでです。アトリビュートの設定はBOOT ROMでされているので、特に変更する必要がなければ、テキストVRAMの文字コードエリアにアスキーコードを書けば表示されます。テキストVRAMの文字コード領域は、画面に見える範囲は以下のようになっています。

SORD M23のテキストVRAM(文字コード)

ただ、このテキストVRAMはRAMページ1にあり、SORD M23ではI/Oポート0xD2hに任意の値を入力した命令の次の命令がRAMページ1への書き込み/読み込みとなります。0xD2には何を入力しても良いようなので、書き込む文字コードを書き込んでいます。

 

PUTCHR:
    LD A,(HL)
    OR A
    RET Z
    OUT (0D2H),A
    LD (DE),A
    INC HL
    INC DE
    JR PUTCHR

 

DEにテキストVRAM(文字コード)領域のどこかのアドレスが入ります。HLは表示したい文字列の先頭アドレスです。

 

これにキャリッジリターンやラインフィードを実装すると、こんな感じに表示できます。