SHオルゴール


戻る


 最初のH8オルゴールから6年。当時欲しかったH8Sなんかよりもっと高性能のSHが気軽に買える世の中になりました。と、いうわけでSHオルゴールです。

 8音同時発音、発振器の波形を選べる(自分でオリジナル波形を作ることも可能)、エンベロープパラメータを自由に設定できる、などいろいろパワーアップしていますが、最大のポイントはBASICのPLAY文で鳴らせるようにしたことです。わかりにくいバイナリデータではなく、はるかに理解しやすいMML(ミュージックマクロランゲージ)で曲を作ることができます。MMLの詳細はこちらのページに書きました。世間で流通しているMMLとはちょっと違います。

 また、BASICですので、ちょっと曲を直してはRUNして聞いてみる、といったインタラクティブな曲作りができます。これまでのH8オルゴールのように、ちょっと曲を直すたびにいちいちアセンブルしなおしてはROMに焼く、といった面倒なことをしなくてすみます。
 もちろん、標準版超ミニBASIC同様スタートアップスクリプトは使えますので、出来上がった曲をROM化して電源ON後即鳴らすことも可能です。

 CPUボードは、イエローソフト(ビーリバーエレクトロニクス)製のSH7046ボードを使いました。このボード、手軽にSHの世界を堪能できるので、最近私のお気に入りです。

 動作原理などについての説明はこちらのページに書きました。

回路

↓回路図です。電源とか省略していますが、各自適宜安定化された5V電源を用意してください。


 オペアンプでH8/3664版と同様なローパスフィルタ回路を作っています。32.000KHzと32.768KHzは大して違わないので時定数は変えていません。現時点ではモノラルですが将来的にはステレオにしたいので、オペアンプ2回路のうちひとつは空けてあります。
 今回も最初のH8/3048版と同様、直接スピーカーを鳴らせる回路ではありません(ヘッドホンなら鳴らせます)ので、適宜外部にパワーアンプをつないでください。

基板の写真

↓全体像です。とりあえずヘッドホンつないで鳴らしています。


↓部品面(CPUボードは外してあります)。回路図では省略していますが3端子レギュレータで5V電源を作っています。左向きの白い2ピンコネクタが電源入力、上向きの3ピンコネクタがサウンド出力です。


↓ハンダ面。配線少ないですよね。これくらいなら電子工作になれている人なら一時間かそこらでできてしまうのではないでしょうか。


超ミニBASIC for SH7046オルゴール

 超ミニBASIC for SH7046にSHオルゴールを組み込みました。このオルゴール対応版超ミニBASICをSH7046に焼けば、もうそこはMMLパラダイスです(笑)。ちょっと説明の量が多いので詳細は別ページにしました。

 「超ミニBASICって何?」という方、スタートアップスクリプトを使いたい方は別途「超ミニBASIC for SH7046標準版」をダウンロードしてください。(スタートアップスクリプトを使う際に必要な cmb2s.exe も標準版のアーカイブの中に入っています)

超ミニBASIC for SH7046オルゴール(cmb7046m.zip)をダウンロードする

ダウンロードしたファイルは+Lhaca、Winzipなどの解凍ソフトで解凍してください。
※このアーカイブ中にはソースプログラム(cmb7046m.asm,cmb7046m.inc)と実行プログラム(cmb7046m.s)しか入っていません。このページを見ていない人には使い方がわからないので、他で再配布しないでください。

サンプル曲

 とりあえず3曲ほど。こちらのページにまとめました。今後気が向いたらもっと増やすかも。

今後の展開

 まずはステレオ化したいですね。

 ソフトCRTCと共存できると非常に面白いのですが、ちょっと無理っぽいです。音質落として発振器エミュレーション割り込みの周期を画面の水平同期と同じ15.75KHzにすればできるかな・・・それでもキツそうですけど。

 BASICインタプリタをマルチスレッド化すれば、音楽演奏は演奏用スレッドに任せておいて、何か処理をしながらバックグラウンドで音楽を鳴らすこともできそうです。

 それにしても、SH2、もうちょっと内蔵メモリが欲しいなぁ。内蔵RAM32Kバイトくらいで、個人でも入手しやすいSH2が出てくるともっといろいろ面白いことができるのですが。