JR-100:エミュレータv2にCPU速度設定機能を追加

長らく放置していたJR-100エミュレータver2に新機能を追加しました。CPU速度を設定する機能です。コメントでいただいていた機能をいつか実装しようと思いながらずっと手を着けられずにいましたがようやくできました。ついでにR6522の実装も強化しています(外見はよく分からないと思いますが)。 ダウンロードはこちらよりお願いします。 JR-100エミュレータ こんな設定画面です。ほぼ10倍速となる10MHzまで指定できます。 JR-100のBEEP音の周波数はクロック周波数に直結しているため、例えば実機でクロックを2倍に修正するとBEEP音の周波数も2倍になるはずですが、エミュレータではクロック … “JR-100:エミュレータv2にCPU速度設定機能を追加” の続きを読む

R6522:Timer1の1サイクルの長さ

R6522が持つ2つのタイマーのうちタイマー1は、設定した初期値(Nとする)の間隔でI/OポートBのPB7ピンの信号を反転させる機能を持っています。つまりNの値を変えることで任意の周波数の矩形波を出力できるのです。JR-100ではこれを利用して、PB7にスピーカーを接続していて、任意の音程の音を鳴らすことができます。 さて、R6522のデータシートによると、PB7の反転周期は初回がN+1.5サイクル、2回目以降はN+2サイクルとあります。図の説明ではタイマーが0になるたびに初期値Nがロードされデクリメントを続けるとあるので、一見するとNサイクル周期になるような気がします。それなのになぜなぜN+ … “R6522:Timer1の1サイクルの長さ” の続きを読む