プログラムはこんな感じです。
・TEST01.BAS(MSX2、MSX2+、MSX turboR)
100 SCREEN 5,2:DEFINT A-Z:DIM B$(15)
110 B$( 0)="000000AAE0000000"
120 B$( 1)="00000AAAEE000000"
130 B$( 2)="0000AAAAEEE00000"
140 B$( 3)="0000A11111E00000"
150 B$( 4)="0000AAA1EEEAEE00"
160 B$( 5)="00000AEEEAAC11EE"
170 B$( 6)="000AAAA66ACC111E"
180 B$( 7)="0099AA6A8ACC111E"
190 B$( 8)="0FF906688ACC111E"
200 B$( 9)="AAF00444B8AC11E0"
210 B$(10)="AA00AAAAE8AA1EE0"
220 B$(11)="000009909988E000"
230 B$(12)="00000990FF088000"
240 B$(13)="00000FF0AAA00000"
250 B$(14)="0000AAA0AAA11111"
260 B$(15)="0000AAA111111110"
270 FOR I=0 TO 15:FOR J=0 TO 15
280 C=VAL("&H"+MID$(B$(I),J+1,1))
290 PSET(J,I),C:NEXT:NEXT
300 IF INKEY$="" THEN 300 ELSE END
110 B$( 0)="000000AAE0000000"
120 B$( 1)="00000AAAEE000000"
130 B$( 2)="0000AAAAEEE00000"
140 B$( 3)="0000A11111E00000"
150 B$( 4)="0000AAA1EEEAEE00"
160 B$( 5)="00000AEEEAAC11EE"
170 B$( 6)="000AAAA66ACC111E"
180 B$( 7)="0099AA6A8ACC111E"
190 B$( 8)="0FF906688ACC111E"
200 B$( 9)="AAF00444B8AC11E0"
210 B$(10)="AA00AAAAE8AA1EE0"
220 B$(11)="000009909988E000"
230 B$(12)="00000990FF088000"
240 B$(13)="00000FF0AAA00000"
250 B$(14)="0000AAA0AAA11111"
260 B$(15)="0000AAA111111110"
270 FOR I=0 TO 15:FOR J=0 TO 15
280 C=VAL("&H"+MID$(B$(I),J+1,1))
290 PSET(J,I),C:NEXT:NEXT
300 IF INKEY$="" THEN 300 ELSE END
・実行画面
・解説
110~260 16x16のキャラクターデータ。色は16進数で入力
280 16進数の文字列を10進数の数値に変換
290 座標に指定した色で点を描画
MSX2には256x212ドット、512色中16色のグラフィックモードがあって、ドット単位で色指定して絵を描くことができます(色番号0は透明色)。
・MSXの色番号(16進数)
文字列とPSETでキャラクターを描く手法は、Oh!FM(1984年12月号)に掲載された「STON BALL」のプログラムがベースになっています。・・・といか、30年以上ぶりに「STON BALL」のプログラムを拝見しましたが、そのままですね(^^;
・STON BALL(FM-11)
当時、はるみのゲームライブラリー(FM-7/8)のキャラクターグラフィックを使ったゲームを打ち込んで遊んでいたので、「STON BALL」をFM-11で起動したときはとても感動しました。
・はるみのゲームライブラリー キング・コングJr(FM-11)
・動画
https://youtu.be/3nGoIcTVwp4