野獣の!
円でエンエンエーン!
前回MSXのVRAMをVPOKEするところまでいったが、癖のあるSCREEN2モードでの描画について難儀してしまった。さあ今日もまたMSXコンピュータの世界へトラベル・イン
前回までにSCREEN2は、VPOKEでVRAMのひとつのアドレスを刺激するこどで横8ピクセルずつ変化することがわかった。
これを時間の推移ごとに見てみれば了解いただけるだろうか
この動きを、宮沢さんも使っているVISIOでコンパクトにまとめてみた
さて、前回の調査からその後以下のような資料が手に入った。
SCREEN 2
パターンジェネレータ 0000H-17FFH 800H 6144
パターンネーム 1800H-1AFFH 300H 768
スプライトアトリビュート 1B00H-1B7FH 80H 128
パレット 1B80H-1B9FH 20H 32
カラー 2000H-37FFH 1800H 6144
スプライトジェネレータ 3800H-3FFFH 800H 2048
ブラジル人が俺に教えてくれたのは8192という数字だったが、これは16進数変換電卓で見てもらうとわかるように
ぽちっと
2000である。上で2000の項目はカラーとなっているので、VPOKEすることでカラー値を刺激するに違いない。
そんでいきなり結論を出すが上のような事情から、横線一本直線で引くには以下のような計算しきがあればよいということにあいなった
まあ使ってる数からだいたいさっしはつくとおもいますでしょう
こんな感じで結果が出る。Yの中にY軸の大きさをいれれば、好きな場所に線をひくことができるはずだ。しかしこれも不安になるほど遅い。遅いが、BASICのコマンドを早く出来ないか考えるよりも、VPOKEでの処理が早くならないか考えるほうが早くなる可能性も、早くなり度も高いはずだ。世の中とはそうできてるはずだ。
ここまでで、横線にかんしてはは自由に計算をして描けることとあいなった。
ではまた(Y)