過ぎ去りし日の記憶(笑) 3月6日の件
空とぶパンツが一部で話題だったようなので(笑)
『空フェス!』に
行って来ました。
場所は秋葉原のはずれ。
動画を張ってみます。
この角度とは反対側にいましたw
多くは語りません(語れません)
なぜなら、元ネタのアニメをまったく見てないから。
あんまりうまくは作れませんでした。
シャレです。シャレ。ゑゑ。
空とぶパンツが一部で話題だったようなので(笑)
『空フェス!』に
行って来ました。
場所は秋葉原のはずれ。
動画を張ってみます。
この角度とは反対側にいましたw
多くは語りません(語れません)
なぜなら、元ネタのアニメをまったく見てないから。
あんまりうまくは作れませんでした。
シャレです。シャレ。ゑゑ。
とりあえず、フォント。
8×8ドットにしたら、結構小さいな~
ここに至るまでに
プログラム本体を消失しかけた。
makeファイルの記述がまずいらしく、たまに.CPPファイルが消されるw
フォントとそのポインタをフラッシュメモリに置く指定をしたが
何故かポインタの配列だけ、PROGMEMで指定するとエラーになる。
仕方ないので、とりあえずconstだけにして回避。
とりあえず、フォントは出たけど。
文字が小さいのとひらがなが入ってない感じがするので
他のフォントをとりあえず探してこないとダメかな。
表示自体はまあ、
倍サイズに変換することは出来るので・・・Rom512byteと引き換えに。
・・・・・作ってみたw
1時間ちょっと。
こんなことすら「いつか来た道」。
昔は、自分でテーブル作ったけど
今は、プログラムで生成する方法をちゃんとみつけた。
・・・・・成長してるぢゃん、をれw
それにしても
AVRはFlashROMにデータを置くと
ソレをいちいち指定しないと、まともに実行されない。
アセンブリの時も苦労したけど
C言語を使ってても、それ以上に苦労する。
いわゆる、メモリ環境に余裕があって、
すべてをRAMに展開して実行するような環境に由来する
開発環境、高級言語の思想は
メモリの少ないマイコンには不相応な部分がある。
定数も変数も、全部RAMに置きたがる。
そんなことしたら、スタックすら取れないって。
今回も、RAMに展開したらメモリオーバーで暴走してた。
仕方が無いのでFONTの変換と一緒に2倍化のテーブルを吐かせて
ROMに置いている。
この問題は、AVRのアーキテクチャに由来するのも分かる。
コードとデータが別の空間にあるんだから、それを指定しないと
正しくアクセスできない。
だからこそ、マイコンのプログラムは
細部までコントロールできる、アセンブリ言語が使われる。
とはいえ、それがまず機種依存なので、開発現場では嫌われる。
というか、組める人間がどんどん減ってて、汎用の高級言語に移行しつつある。
・・・・・・現実的には
言語なんて問わないんだけどね。
考え方、作り方、構造、その辺をきちっとしてれば
何で作っても作れるわけで。
マイコンなんて、周りの回路の都合で組み方は変わってくるし。
そんな感じで。
つづく・・