CPU実験室

誰も見向きもしない古いCPUをいじって動かしてみようというプロジェクトです

音程設定値

設定値KEYDATは下位4ビットで1オクターブ分の音程を示していると考えられます。KEYDAT=0~15で出力される方形波の周波数を測定してみると以下のようになりました(オシロ上の有効数字3桁の表示値ですが)

KEYDAT=0,13,14,15では無音になりました

これをExcel上にプロットし近似曲線をフィットさせると指数関数にピタリと乗っかり、このときの底は2の12乗根とほぼ一致しています

つまり平均律のスケールをそのまま設定できるということになります。KEYDAT=10のときの881Hzに注目するとこれは標準A4=440Hzの1オクターブ上。さらに上位2ビットで1オクターブシフトするので次のように音名に展開できました

楽音としては高い方にシフトしているのでマスタクロックを1/2,1/4にした方がいいかもしれません