1

私は最初のコンピューターである Commodore VIC-20 エミュレーターを作成するというばかげた考えを思いつきました。

サウンド エミュレーションの時間が来るまで、すべてが順調に進んでいます。VIC-20 には 3 つのボイス (方形波) とノイズ スピーカーがあります。ネットを検索すると、PNジェネレーター(「ホワイト」ノイズと呼ばれる場所)であることがわかりました。

ホワイト ノイズは周波数駆動型ではないことはわかっていますが、ノイズ レジスタに特定の周波数値を入力します (POKE 36877,Xコマンド)。式は次のとおりです。

周波数 = cpu_speed/(127 - x)

(VIC-20 Programmer's Guida、特に MOS6560/6561 VIC-I チップの詳細)

ここで、x はノイズ レジスタの 7 ビット値です (ビット 8 はノイズのオン/オフ スイッチです)。

事前に生成された 1024 の数字のバッファ (疑似乱数シーケンス) があります。問題は、周波数 (freq) を関連付けて、サウンド カードに渡すサンプル バッファを作成するにはどうすればよいか (この場合はsf::SoundBuffersf::Int16(別名unsigned short)値?

ほとんどの人はコモドール VIC-20 または C64 を家に持っていて、古い説明書で遊んでいたとPOKE思います...このステップを理解するのに誰か助けてくれませんか?

編集:

インターネットで検索すると、ノイズジェネレーターの波形グラフを示すC64 Programmer's Guidaを見つけました。この種の波/摂動などを認識できる人はいますか...? 波形は周期的 (freq の周期) のように見えますが、どのようにしてそのような波形を生成するのでしょうか?

C64 ノイズ波形

4

0 に答える 0