ふとMADさんのサイトを見に行ってみる。
…引越ししたらしい。引越し先の案内があった
ので、そちらに。
http://madlabo.oops.jp/MAD/index2.htm
何気にこのページが好きだ。
http://www.protom.org/mad/0073.htm
3号機の大量の赤LEDマトリックスがスゴイ。
そういえば、このディスプレーはどんな表示処理
してるのかなとおもって、そのあたりを読み直して
みる。
DDAって書いてある。DDA?なに?と思って調べて
みた。
http://www5f.biglobe.ne.jp/~kenmo/program/dda/dda.html
ほほぅ。割り算を使わないで線が引けるのか。スゴイ。
ただ、1ドットずつ比較処理が必要になるから、
「傾き」を求める処理と比べても、実は一長一短
なのかな?傾きは、一旦計算しちゃえば、あとは
判断も何も要らない「足し算」だから。(強いて
いえば、小数点以下の四捨五入はいるかな)
ふとロジック見て思い出した。その昔、当時の
オイラの主力マシン(PC-8801mkIIsr)を使って、
高速直線描画ルーチンをマシン語で書いて、
そいつを使って3Dフライトシミュレータを作ろう
っていう挑戦をしていたんだったな。
ALUを使うことで、1ドット単位で点々を描いていく
のは高速に処理できたし、DDAなんていうものは
当然知らなかったので、傾き計算にゴリゴリの筆算で
割り算して、点々を描いていくっていう方法だったな。
処理自体は結構速くて、乱数(これもマシン語)で
2座標間を線引いてみて、毎秒数十本はいけてた。
(もうちょっと速かったかな)
直線描画自体はナントカなって、次にwindows処理
するのに、座標系(640×200だったか、640×400
だったか)を大幅に超える座標系を、固定小数点で
どう扱うか、といったあたりでなんとなくめげる君
になってるうちにうやむやになった気がする。
結局、フライトシミュレータには遠く至らなかった
んだけど、あのころなんとなくお勉強して書いてた
アセンブラの知識は、期せずしてマイコン始めてから
今になって活きてる気がする。不思議な感じ。
それにしても、こういうロジックを考え付くっていう
人はすごいよな。
んで、さらに
http://www.protom.org/mad/0071.htm
ここを読んでタイムスリップして、古のPC-8801mkIIsr
とPCー8001mkIIのビデオ出力が以前壊れちゃったっぽい
状態になって、放置してあるんだけど、やっぱ30年
近く前のPCといえば、そろそろ電解コンも死んでる
だろうと。
もし電解コンが死んでたら、その液体は何を使って
クリーニングすればいいんだろう?消エタとかで
いいのかな?
ブレーキクリーナーとか使って云々っていうサイト
を見かけたんだけど、ブレーキクリーナーって
毒性があるからなぁ。室内はまずいよな。
んでさらにビデオ関係。しょぼくても3D描画が
したかったんだよな…と思って以前MEGA168で
やろうと思ったんだけど、
http://code.google.com/p/arduino-tvout/
Arduinoのライブラリで結構すごいのできてる
んだよな。立方体はグルグル回せるんだな。
http://www.youtube.com/watch?v=MEg_V4YZDh0
あとは地形データとか3D物理演算とか、そこそこ
端折って組み込んだら、手のひらにのる3Dフライト
シミュレータとか組めそうな気がするな。
しかも、加速度センサとか色々組み込んじゃって、
筐体=コントローラにして。
お月様綺麗だなぁ、月齢は丁度満月ぐらいかな?
と思って、調べてみた。
http://koyomi8.com/moonage.htm
どうやら、明日のお昼過ぎが満月みたい。
時間までわかるのはありがたい。
出来れば、プラネタリウムソフトで月齢まで
表示できれば便利なのにな。
|
サイト引越しは、最近スマホでテザリングなので、プロバイダは不要だなと思い、レンタルサーバに全部移しました。ついでにアナログ電話回線とADSLも廃止。これで迷惑電話の息の根も止まった。そしたら、RSから自動引落しを停止するって連絡が来た。固定電話がないとダメだと。
赤LEDマトリクス・・・あれは当時、思い切った賭けでした。貧乏学生だったから金銭的にも厳しかったし。技術レベルも低かったけど、必死で調整しました。常に、今のレベルよりちょっとだけ高い目標に挑戦しないと向上しないと感じました。
DDAは元々プロッタ用に考え出されたと本に書いてあり、ステッピングモータですから1ステップずつ動く、つまりドット単位です。(マイクロステップは無しで)
水平に長いライン、但し、始点と終点がY方向に1か2ドットずれている場合、線の中央で段差ができないと格好悪い。ところが安易なアルゴリズムだと、始点のちょい先で、ガクッと段差が。余りの計算の問題だったか忘れましたが、色々、ねちっこく追究していた頃が懐かしいです。
続く
高速直線描画ルーチンの話がアツイですね。
いま、こんな事を考えたりしないもの。ブラックボックスになっちゃって、できあいのライブラリを何も考えずに使う。当時は、もっと良い方法がないか頭をひねったり、アセンブラでゴリゴリやったり、この命令はよく考えたら不要だな、すると何サイクル減る、とか、やはり、ねちっこく追究していたなあ。
まだ、当時の実働PCを持っていますが、早いものに目が慣れちゃってるせいか、昔のソフトを動かすと、すごく遅く感じます。タラリ、タラリ、という感じです。
グラフィック画面が3ページあって、RGB各々なんですが、グリーンモニタだと白黒(緑黒)3ページの合成か、切替表示ができる。
見せてない画面に必死で描画しながら、描画の済んだ画面から順番に切り替えて表示することで、くるくる回ってる画像を表示して興奮していたっけ、と思い出しました。
描画時間がちょうどいい感じに、画像のコマ送りの変化時間になるわけです。
電解コンデンサの汁は、厄介でして・・・軽症ならアルコールで拭きます。IPAで。但し、念入りに洗わないとダメ。抵抗に染み込んで、抵抗値を狂わせたり、電線(より線)に染み込んで毛細管で、その先まで到達して、向こうの基板まで被害を与えていた事があります。
長くなってすみません。またよろしくお願い致します。
色々と情報ありがとうございます。DDAは元々プロッタ用だったんですか。なるほど。プロッタの動きなら向いてそうですね。
直線描画は、PC-88内蔵ROMのシステムコールにもあることはあるんですが、BASICと速度が変わらず、必要に迫られて自作…っていう、当時よくあるパターンだったんですよね。そのおかげで、色々当時勉強しました。
電解コンのお話、ありがとうございます。薬局でIPAの小さいの買っておこうと思います。
まだ分解してないのでわからないのですが、単に蒸発して抜けてるだけってことを期待しつつ、駄目だったら綺麗にお掃除して、いずれ新しい電解コンに換装しようかと思っています。