ワンポイントテクニック No.010(投稿:鈴原透)
<
文字の太字表示
ポケコン PC-E650 で、以下のようなプログラムを作成しました。
10 POKE &BFE03,&1A,&FD,&B,&80,&4,&:CALL &FFFD8
20 A=PEEK &BFC87+PEEK &BFC88*&100+PEEK &BFC89*&10000+192,B=&
30 FOR I=&BF780 TO &BFBFF:POKE I,PEEK A OR B:B=PEEK A,A=A+1:NEXT :POKE &BFC90,&80,&F7,&B,&80,&FA,&B
10行で領域確保、20行からが「内蔵フォントのある場所からデータを読んで前列のデータとORをかけてマシン語領域に書き込み、フォントを書き換えてまるで内蔵フォントに太字効果がかかったように見せかける」という処理をしています。
(解説:御茶目菜子)
20行は何をしているのかというとフォント書き換えでは絶対に使用をしない「制御文字」のフォントデータが入っているアドレスからその他のフォントのアドレスを相対的に求めるというものです。
これは「シュプール」のフォント復帰でも使用している方法です。
なお、英数字は[CTRL]+[+/-]で元に戻せないので注意が必要です。
元に戻したいときは「INIT"SCRN:"」として下さい。
RETURN