相変わらず似非PSG。
大枠の骨組みと、tone A、noise Aだけ出来上がった
状態で一通りシミュレーションでパターンを網羅
させてみる。
いくつかしょうもないバグが残ってたので早速直して
動かしてみる。大体ok。
前から一つだけ気になっていること。数値比較を行う
時の不等号のこと。
アセンブラでは不等号による比較(<とか>とか≦
とか≧)を直接行う命令は無いので、普通はcpとか
cpi、cpcとかを使って引き算し、キャリーフラグや
ゼロフラグの値見て判断することになるんだけど、
cp命令関係ならまだ比較する数と比較される数を
左右入れ替えて好きなように不等号の比較を行える
からいいんだけど、addやsub関係の命令の結果だと、
左右を自由に入れ替えるわけに行かない(実行結果
が左のレジスタに格納される)
そういう場合には「不等号に=が含まれないのは
仕様です」と割り切るか、レジスタと処理時間を
投じて左右入れ替えしつつレジスタの値は保存
しておくか…
ちょっと悩む。どうしようかね…
あと、TINY2313だったら、SRAMは256バイトも
搭載されてないから、インデックスレジスタで
SRAMアクセスするときは上位1バイトはゼロ固定
でも良く、コレを使えばSRAMアクセスの処理が
多少削れて高速化できるんだけど、ソースが
見づらくなったり、他のチップに移植する時に
困ったりするからどうしたものやら…
そのあたりが片付いたら、シミュレータでなく
実機で実際に鳴らしてみよう。
http://www.kkohki.com/Baader/astrosolar.html
頼んじゃったーよー。
http://headlines.yahoo.co.jp/hl?a=20120509-35016899-cnetj-sci
ソフトバンク、ペイパル提携か。微妙だな。
http://www.youtube.com/watch?v=KKUNDKdtD9o
カレントトランス作っちゃうっていうビデオ。
なかなか面白かった。
|
|
|