■MSX-DOS(1) で 画面を多色刷り(通称SCREEN1.5)に設定するサンプル
後述の BIOS を使用して 画面を多色刷り(SCREEN1、VDPのみSCREEN2)に設定するプログラム(DOSコマンド)のサンプルです。
フォントは MAIN-ROM から読み出し、太字化して設定します。
DOS環境から インタースロットコールを使用して BIOS を呼び出しています。
※インタースロットコール後は割り込み禁止状態となるため、割り込み許可(EI)が必要です。
※ 極力BIOSを利用しているので速くはないです。
VRAMは 直接I/Oポート経由でアクセスする等 効率化の余地はありますが、
サンプルということでわかりやすさ重視としています。
【使用する BIOS】
RDSLT (000CH)
指定したスロット/アドレスのメモリを 1 バイト読む。
CALSLT (001CH)
指定したスロットのルーチンを読み出す (インタースロット・コール)。
WRTVRM (004DH)
指定したアドレスの VRAM にデータを書き込む。
CHGMOD (005FH)
スクリーン・モードを変える。
SETGRP (007EH)
VDP のみを GRAPHIC2 モードにする。
![](https://assets.st-note.com/img/1710854672519-OksnthnPSG.png?width=800)
この記事が気に入ったらサポートをしてみませんか?