アカウント名:
パスワード:
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
犯人は巨人ファンでA型で眼鏡をかけている -- あるハッカー
PC-8001のグラフィック (スコア:1)
ビットマップに見えるものは、2×4マスを二進数に対応させて256種類用意されたタイルパターンで、これを80×25文字のスクリーンに並べてビットマッ
Re:PC-8001のグラフィック (スコア:3, 興味深い)
おっしゃる通りです。
補足しておくと、PC-8001はスクリーンモードの横幅が40文字と80文字の2種類あって(縦は 25と20…15か18もあったっけか?)、スクリーン用エリアが80バイトの後にそのラインのためのアトリビュートエリアが40バイト続いてました。width 40のときはスクリーン用エリアの奇数番目(xxx1, xxx3)のみ処理され、偶数番目は無視される仕組み。
で、アトリビュートエリアの方は40バイトしかなくて、スクリーンエリアと1対1ではなかったのですが、この部分は、ランレングス式(と言えばいいのか?)で処理されてました。その行の最初からキャラクタの赤、5文字からはグラフィックの青、みたいにそれぞれ2バイトで。で、キャラクタとグラフィックでは同じ色でも、カラーコードが別にしてあって、それで切り替えていたのだと。
ここの制御部分は結構いい加減で、特にBASICで処理すると、画面を消去しないまま20回以上、1ラインで色やキャラクタ/グラフィックの切り替えを行うと、色化けや文字化けが発生してました。回避するには、POKE文で直接アトリビュートをいじるか、マシン語使うしかなかったです。
逆にそれを逆手にとって、POKE文一発で(BASICとしては)高速に棒グラフを書き換え、なんてのをやってたなあ。で、自作ゲームのタイマーに応用して、カラーアトリビュートの仕組みの解説つけてベーマガに投稿したのもいい思い出です。
Re:PC-8001のグラフィック (スコア:1)
なんか N-BASIC でグラフを書いたら、線が交差するところに変な文字が出てきたりしたのは。
長年の謎が解けた。ありがとうございます。