2009年07月07日

GMC-4プログラム・7セグアニメーション

 もう、ここ最近はひたすらGMC-4のプログラムを作っているわけだが、今度は数字を表示するところで、ちょっと遊んでみた。
 こう言う、数字を表示する部分は「7セグメント」、略して7セグというので、「7セグアニメーション」と名付けてみた。

20090707a.jpg 20090707b.jpg
 GMC-4の数字を表示するところ。例えば写真のように「B」と「D」はこのように表示させるけど、この2つを交互に高速に表示させると、

20090707c.jpg
 こんな感じで、一部若干の点滅になるものの、実際には出せない表示が可能になる。
 ちなみに、それだけをやるプログラムは次の通り。

00:8   TIA
01:B   <B>
02:1   AO    ;「B」を表示
03:8   TIA
04:D   <D>
05:1   AO    ;「D」を表示
06:F   JUMP    ;最初に飛ぶ
07:0   <0>
08:0   <0>

 ということで、これがアニメーションみたいに「表示しない部分が動き回るプログラム」というのを作ってみた。
 ムービーを撮影したので。



 ただこれ、やっぱり一部点滅しているので、若干見難いかなあという感じ。


プログラム解説

 プログラムリストはこちらLink

 2つの数字を高速に切り替えて表示する方法は、「Arに1つめ、Brに2つめの数字を入れて、CH命令で立て続けに入れ替えながら表示」で行っている。
 50〜5Fにアニメーションのデータを入れている。50と51の数字、次は52と53、といった感じで。だから、このデータを変更すれば、アニメーションの動きを変えられる。

 そしてアニメーションは、しばらく待ってから次を表示をさせるけど、高速切り替えを使っているため、CAL TIMERでは表示が止まってしまう。それで、一定回数ループさせてから次に動くようにしている。
 その方法として、CAL CHNGを使って補助レジスタからループ用変数を取り出してカウントしている。

 カウントも、Fまで15回のループでは短すぎたため、ArとYrを使った2重にして、15×5の75回ループするようにした。また、ループが終わる条件は「桁上がりをすれば実行フラグが付く」を利用している。
 ちなみに、アドレス0Aの数値を変えれば速度を変えられるけど、これ以上早いと何か分からないし、遅いと点滅が目立ってしまった。




posted by 司隆 at 11:21 | Comment(0) | TrackBack(0) | Computer
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。