ファミリーベーシックで音を鳴らしてみる。ベーシックのPLAY分だとこうですが、マシン語(ネイティブデータ)だとこんな感じ。音をI/Oポートに突っ込む。MSXだとBIOSに突っ込む。
音の鳴らし方さえ分かれば、ドライバを作ればいいのですが。CDEなどとプログラムに書いてそれを判断させる方法か、 ツールを作って数値データを吐き出させるか。音のタイミングは60分の1秒ごとの割り込みで取るしかないのかな? MSXでも60分の1秒でタイミングは取れますが。ベーマガなどのゲームミュージックの楽譜を見ても、♩=1/60秒とか、60分の1秒が基準になっていますし。
ちょっとずつ、音を鳴らすソフトなどを使って音楽に触れてみることからかな? DSメイドイン俺とか、DSバンブラとか。
高校の時、選択科目で「書道、美術、音楽」の中から音楽を選んだのですよね。手が汚れないから…という理由だったと思うのですが、今思えば音楽以外のどちらかを選べば良かったかな? と(~~; 授業で習った「ファドソレラミシ6325」という呪文だけは今でも覚えているのですが。
同じことをMSXにやらせると、こういう感じでしょうか。音楽ねぇ(’’;
.org 0d000h
GICINI .equ 0090h
WRTPSG .equ 0093h
call GICINI cd 90 00
ld a,8 3e 08
ld e,15 1e 0f
call WRTPSG cd 93 00
ret c9
ld a,(0f000h) 3a 00 f0
ld e,a 5f
ld a,0 3e 00
call WRTPSG cd 93 00
ld a,(0f001h) 3a 01 f0
ld e,a 5f
ld a,1 3e 01
call WRTPSG cd 93,00
ret c9
面倒くさいので、ハンドアセンブルだφ(。。;
0 件のコメント:
コメントを投稿