« 4ビットマイコンで「光のハート」を降らしてみる。 | メイン | 4ビットマイコン・プログラミングの注意点 »
昨日の日記で、学研『大人の科学マガジン』の4ビットマイコンで「光のハート」(POV)のプログラムが、「まじめに書き直そうとしたら半分くらいの長さになってしまいました」と書きました。余計な部分をどんどん取り去ってみたら、半分どころか5バイト半の長さになりました。漢字2文字と3/4の情報量。誰がやってもこれ以上の手はないという「詰めプログラミング」の世界がありそうです。気合いでまだ短くするともっと短くなるか? こういうもんですよねプログラムってのは。ちょっと楽しい。
以前のバージョンでは、真正直にテーブルからパターンを取り出しては(LEDの右4ビットと左3ビット)表示エリアにセットして、表示。そこで残像を生かすためにウェイトを挿入。パターンを取り出すカウンタを進めて、また次のパターンに・・・という処理だった。ところが、よく見るとパターンのテーブルと表示エリア(5Eh、5Fh)は連続している。ウェイトしている間に何か処理もできそうだ。そこで、全体をリングバッファのようなものに見立てて、中身をズリズリと動かしてみるこにした。遊星歯車のように動かすポイントがバッファの中を移動するのだが、ちょうど5Fhと5Ehを通りかかったときだけ表示している。
POVは、それを作る人の趣向がいろいろ出ますよね。たとえば、左右対称の像を出すならパターンは半分だけ持っていればよいという指摘もあるでしょう。作る人の几帳面さとか、セコさとかが出てくると思います。私も、もう1つほどアイデアがあるんですが、よく考えたら製品の発売がまだ(6月30日)なんですよね。自分だけ遊んでいるみたいで申し訳ない。
個人サイト(http://www.8-p.net)個人Twitter(http://twitter.com