物 置


img
ひとやすみ ひとやすみ…



■ 物 置


ハイドライド3の起動後の環境チェックで紫になるところはカラーグラフィックモードなので、パレット#0の色は反映されないはず。
アナログパレット IO_54 に $3F,$40 を書き込んでいるようなので、これが紫の出所。
パレット#0 が反映されるのは白黒モードで CRT reset した場合である(後述)。

10 new cmd ' V2
20 cmd pal 0,0*64+7*8+0 'GRB
30 line(100,0)-(200,100),1,bf
40 cmd pal 1,0*64+0*8+7 'GRB



もし、パレット#0 がスキャンラインに反映されるのであれば青の部分は紫に見えるはず。
(現状、ePC-8801MA では実際に紫になる)

そのに。

10 new cmd ' V2
20 'screen 1,0,0,7 'bw graphic
30 'console 0,24,1,1 '8col text
40 y=7
50 for p=0 to 7:line(p*50,0)-(p*50+50,100),p,bf:next
60 for p=1 to 7:cmd pal p,(p and 4)*y*16+(p and 2)*y*4+(p and 1)*y:next
70 cmd pal 0,3*64+2*8+1
80 y=(y+1) and 7:goto 60

とりあえず 20,30 行をコメントアウトして実行。適当に止めると分かるけど、ePC だと抹茶色(#0)のスキャンラインが入る。
↑と同じ理屈なので写真は略。

次に 20,30行のコメントアウトを外して実行。
白黒グラフィックでグラフィックパレットを弄るとテキストの明暗も変化する。これは ePC でも再現されている。
30 行のテキストはカラー/白黒どちらでも同じ挙動をする。
写真は見づらいので略。

問題のパレット#0の反映は、上記のプログラムを適当に止めて out &h51,0 を実行すると確認できる。






画面全体が抹茶色になるのではなく、有意なドット部分(色1〜7で boxfill した部分)にパレット#0 が載る。
400 ラインでも同じ。スキャンラインが埋まって淹れ立ての抹茶色になる。
書いておいてなんだけど、こんな細かい挙動にどんな意味があるのかはよく分からない。







プログラムは以下。
画面写真がボケボケでごめんなさい。

10 'V1 
20 T=0:G=1 'T:0=BW,1=COL / G:0=COL200 1=BW200 2=BW400
30 screen G,0,0,7
40 console 0,24,1,T
50 line(0,0)-(100,100),1,bf
60 locate 0,0:print"NEC PC-8801"
70 for a=0 to 19:poke &hf418+a*2,79:next
80 if T=0 then goto 130
90 'color text red+reverse
100 poke &hf418,0:poke &hf419,72:poke &hf41a,4:poke &hf41b,4
110 poke &hf41c,11:poke &hf41d,0:poke &hf41e,12:poke &hf41f,232
120 end
130 'bw text reverse
140 poke &hf418,0:poke &hf419,4:poke &hf41a,11:poke &hf41b,0
150 end




T=0,G=1、どちらも白黒の状態で200ライン。当然色はついていない。アトリビュートによる反転はテキストとグラフィックに効果。
グラフィックの方は分かりづらいけど、スキャンラインがズレたようになっている。白い下線がついたように見えるところが行の境目。



T=0,G=0、グラフィック200ラインカラー、テキスト白黒。テキスト色はなし。アトリビュートによる反転はテキストに効果。



T=1,G=0、グラフィック200ラインカラー、テキストカラー。テキスト色とアトリビュート反転が有効。



T=1,G=1、グラフィック200ライン白黒、テキストカラー。テキストと同時にグラフィックにも色とアトリビュート反転の効果がある。



T=0,G=2、グラフィック400ライン白黒、テキスト白黒。アトリビュート反転はグラフィックに効果あり。



T=1,G=2、グラフィック400ライン白黒、テキストカラー。テキスト色とアトリビュート反転はグラフィックに効果あり。


ほそく。この状態で line(0,5)-(639,5),0 とすると以下のようになる。写真とったけど余りにも見づらいので。。。


"NEC PC-8801" と表示されている部分がどうなっているか。


▲ TOP