魅惑の連載

円でENENE====N

 

前回までのあらすじ

 

赤ちゃん誕生

宮沢さん「ショウチャン」で大暴れ

 

さて、なまぬるい冗談はこのくらいにして、前回VPOKEを使ってどうにかこうにか横線をひいてみた。というのも、MSXは横8ピクセルずつでVpokeを処理するようなので、横線が何にも考えずにひけるからであった。

その後調査は続き、VPOKEで8192を刺激するのと同時に、ゼロからの座標を刺激するとドットの表現に変化がみられることが明らかになった。

 

ほらな

45行目に1を入れると1ドットぶん穴があいたようになった

じゃ2だとどうなるんだ

とくに変化が見られないのか、はたまた1ドットぶんずれてるのか

思い切って255にしたらどうなるか

何も出ない254ではどうか

こんな感じ。おそらくゼロから255の間で何らかのビット表現ができるのだと予想する。

こういうことはよくあることだ。横8ピクセルで、点のあるなしを表現したい。ある・かない、かは二種類なので、1ピクセルごとに2二種類の情報が必要ということになる。

A)8ピクセルがすべて塗りつぶしだったらこうなるはずだ

■■■■■■■■

B)8ピクセルがすべて白紙だったらこうなるはずだ

□□□□□□□□

255を指定したら何も表示されなかったのでB)はおそらく255だろう

予想としてはゼロがAのすべて塗りつぶしであろうと思われる。直線が表示されれば、すべて情報が塗りつぶされているという事になるだろう。

 

 

 

ということで255を二進数であらわす

 

 

すると、11111111と1が八つ並んでいる。1を色を塗らないという意味であるとかい解釈して、今度はまだら模様をイメージして、二進数で1とゼロを交互にならべてみる

 

 

それを十進数であらわすとこうだ

 

 

ということで、Vpokeで刺激する値を170としてみた

 

予想通りの結果となったところで、今度は2ドットづつの点線をつくることをかんがえて、二進数を作る

 

 

 

 

ビンゴ。

 

今、二進数電卓で、0と1を八つ並べて、それを十進数になおしたものをVPOKEで送れば、望んだイメージが得られるのがわかった。

 

点を一つだけ打つ場合

■■■■■■■■ = 0

□□□□□□□□ = 255

これの応用から、一つだけ点を打つ数値が以下のようにして割り出せる。

 

254(11111110)、253(11111101)、251、・・・・・191、127

 

これは

254(255−1)、253(255−2)、251(255−4)、・・・・191(255−64)、127(255−128)

という計算式に対応している。

またここにできあがったものを用意してある。これでX,Y好きな場所に点を一つ打つことができる

 

これで好きな場所に点をうてるわけだ、いろいろ問題はあるだろうが、最初につくった円を書くプログラムと合成させてみたい。

 

以下、CMの後とんでもない結果に

なんじゃこりゃ

 

 

ブー

 

小数点かなんかが悪さをしているのかと思って小数点をまるめてみたが、結果はかわらない

 

 

どうもXの算出を間違えているようだな。もともと予想している問題でSINの結果が同じ

Y軸じょうにあれば、点のぬけおちが発生するだろうという予想はあったが、それとはまったく関係のないところで、なんかミスっているようだ。どうもこの点のばらつきを見たところ、はじっこのデータの計算のさいになにかがまちがってしまっているようだ。

 

また、この描画速度が残念ながらまったく改善されていない。これについてもアイデアはあるが、ぜんぜんかわらないというのはちょっとガックリ。