電子趣味の部屋

電子系のガジェットやアプリ開発等の趣味の話題を書いてます

電子工作でのFM音源ICの個人評価

現在は電子工作でFM音源を扱う場合は、mbedやFPGAでエミュレートして再現したものや、YMF825BoardのようなSPI接続で簡単に扱えるものまでありますが、YAMAHAFM音源ICについて性能ではなく、電子工作での扱いやすさの観点から評価しました。

扱いやすい順で書いていきます。

YM2413 (OPLL)

2オペレータ、モノラル出力。
9チャンネル同時発音、もしくは6チャンネル+リズム音源5チャンネル同時発音。

18pinのDIPDACも内蔵されているため、小さく配線も少なくて済み手軽に扱える。

1音色しかエディトできないが、初めから他に15音色が内蔵されている。
この自由度の低さから普通に使う分にはあまり評価されないが、複雑なパラメータを設定しなくてもすぐに手軽に音が出せる。

FM音源の中では圧倒的に手軽に音が出せるので、ついYM2413ばかりで遊んでしまう。

YM3438 (OPN2C)

YM2612のCMOS
機能やレジスタ構成は全く同じ。
リファレンス周波数がYM2612が入手性の悪い7.6MHzに対して、YM3438は8MHzなので入手しやすい

4オペレータ、同時発音数6音ステレオ。
リズム音源は無い。
1チャンネルをDACとして使用可能。

YM2413より少し大きいが24pinのDIPDACも内蔵されているため、配線も少なくて済み手軽に扱える。

YM2612 (OPN2)

機能的にはYM3438と全く同じ。
上記、リファレンス周波数の入手性の点でこちらを使うならYM3438を選んでしまう。
8MHzにすると微妙に音程がかわるが使えることは使える。(YM2151のケースと同じ)

YMF288-M (OPN3-L)

4オペレータ・同時発音数6音ステレオのFM音源部、およびSSG3音モノラル、リズム音源を内蔵している。

YM260BからADPCMが削除されている音源だが、ADPCMが必要なければSSGの各チャンネルとFM音源がミキシングされてI2Sで出力されるため、扱いがかなり楽。

28ピンのSOPパッケージ

DACは別に必要だがI2S接続なので、汎用DACに接続できる。
DACとアンプが搭載されたDAC基板にそのまま接続できるので、場合によってはOPN2より手軽に音を出すことができる。

YMF288-SはQFP44パッケージなので、YMF288-Mの方が良い。

YM2151 (OPM)

4オペレータ、同時発音数8音

24ピンのDIPパッケージだが、別にDAC(YM3012)が必要なため、ちょっと面倒。

リファレンス周波数は3.58MHzだが、電子工作では入手性の問題や、X68000に倣って4MHzで扱うことが多い。
ネット上に電子工作での話題が一番多いので情報は入手しやすい。

YM2203 (OPN)

4オペレータ・同時発音数3音モノラルのFM音源部、およびSSG3音モノラル。

40ピンのDIPパッケージ
電子工作では使わないであろうI/Oポートは実際に配線することはおそらくないため、実際はピン数の割には扱いやすい

FM音源DAC(YM3014)を通して出力し、さらにSSGは各チャンネル別々に出力されるので、それをミキシングする回路を作る必要もあるため、面倒。

YM2608 (OPNA)

4オペレータ・同時発音数6音ステレオのFM音源部、およびSSG3音モノラル、更にADPCM音源を1チャンネルと、リズム音源を内蔵。
YM2203の上位互換

64ピンSDIPパッケージ
ピン数が多い上、2.54mmでもなく1.27mmでもないSDIPパッケージのため、この時点で扱いにくい。
FM音源DAC(YM3016)を通して出力。
SSGは各チャンネルがミキシングされる点でYM2203より楽だが、FM音源とSSGは別々に出力されるので、結局ミキシングする回路を作る必要はある。

FM音源目的でYM2203やYM2608を使うくらいならYMF288-Mが良い。

ヤマハFM音源LSI YMF825搭載モジュール YMF825Board

ヤマハFM音源LSI YMF825搭載モジュール YMF825Board

PC-9801シリーズに最適なコンパクトなモニタを買いました LCD-10000VH5

PC98では中古で購入した15インチのモニタを使っていたのですが、アスペクト比が4:3なので縦長に表示されちょっと不満でした。

PC98の解像度は640x400で16:10です。これはVGAの640x480と違いスクウェア型のモニタに表示すると2割ほど縦に引き延ばされてしまいます。アスペクト比固定モードがあるモニタだと上下に余分な領域ができますが、上手く表示できると思います。

ワイドモニタはアスペクト比が10:9が多く、その上20インチ以上が主流なので、コンパクトなものがなかなか見つかりません。さらに24kHz対応となるとなかなか見つかりません。

そこでちょうど良い機種がありました。センチュリーのLCD-10000VH5です。

(追記:2022年3月現在の最新はLCD-10000VH6)

(追記:2023年7月現在の最新のLCD-10000VH7は24kHzには対応していないようです)

これは10.1インチの解像度が1280x800で縦横ともちょうどPC98の640x400の倍になり、アスペクト比も同じ16:10になります。

公式にはどこにも書いてませんが、24kHzにも対応しています。

正方形もちゃんと正方形になり、標準の大きさの全角文字も縦横同じ長さになりました。

f:id:uosoft:20180927235415j:plainf:id:uosoft:20180927235223j:plain
        左が4:3のモニタ、右が16:10のLCD-10000VH5

200ラインモード表示では今まで不自然に引き延ばされて偶数ラインの黒ラインが目立ち不自然だったのが軽減され見やすくなりました。

これでイメージ通りに表示されるようになり、非常に満足のできる結果となりました。

 

 

 

激安ハイレゾ対応DAP Zishan z3 のローパスフィルタ変更

以前"激安ハイレゾDAP Zishan z3 を買いました"で紹介したZishan z3ですが、この時に使用したオペアンプMUSES02を他で使いたくてOPA1622にしたところやっぱり低音が弱く感じました。他のオペアンプでもやはり同じような印象を受けます。

そこで、どこかで記事か書き込みを見て前からしたいと思ってたローパスフィルタ変更を試してみました。

始めはローパスフィルタにOP275が使用されています。これを以前DIPパッケージと間違えて注文したSOPパッケージのMUSES8920があったので交換してみました。

ローパスフィルタはバッテリーの下の基板中央右側にあります。

はんだ付けが下手ですが、下の画像を参考にしてください

f:id:uosoft:20180924231037j:plain

MUSES8920しか試していないので、これが良いかわかりませんが、OP275と比較してしっかり低音が出て、全体的に解像度が上がり音も太くなったように感じます。

激安なのにさらに音質が良くなってしまいました。音質だけなら音の傾向は違いますが、DP-S1に匹敵すると思います。(DP-S1Aには負けます)

Zishan z3は本当に面白いDAPです。

 

PHB EM023 私的レビュー

購入意欲が下がったといいつつ、毎月1個のペースでイヤホンを買ってしまってます。

今回はPHB EM023を紹介します。

KZ ZS6と同じようにCampfire AudioのANDROMEDAに似せたデザインです。

KZ ZS6と同じく2DD+2BA構成で、音の印象はKZ ZS10に近く、低音よりのドンシャリ傾向でボーカルが少し遠いように感じました。端子はmmcxです。

KZ ZS10より音が良く分離していて解像度も高く、KZ ZS10をリファインしたような印象です。

今回はANDROMEDAに寄せたくて緑を選んだのですが、KZ ZS6より緑が深くベント穴から除く金属のメッシュが金色で映えます。デザイン的には非常に気に入りました。

TFZのイヤホンと比較するとやはりグレードが一段劣るような感じですので、普段使いにはなりませんが、デザイン的にコレクションとしては非常に気に入りました。

 

MSXで遊ぶ! z88dk(C言語)でゲームを作ってみました

ふとMSXで自作ゲームを作りたいと思い、開発環境を整えて作ってみました。

BASICではつまらないと思い、C言語のクロス開発環境を色々試してみた結果、z88dkにしました。他の環境はそれぞれ独特の癖があったりしましたが、z88dkはANSI Cに準拠した形で書いていけば一番素直に動く印象でした。

どこかで2次元配列は使えないようなことを書いてあるサイトを見ましたが、現在のバージョンでは問題無く使えます。プログラム中で4次元配列まで使いましたが、特に問題はありませんでした。

z88dk

 ダウンロードサイト

http://nightly.z88dk.org/

こちらから最新版をダウンロードしました。

環境変数PATHへz88dkのルートフォルダ以下のbinフォルダを追加してください

環境変数ZCCCFGへz88dkのルートフォルダ以下のLib\Configフォルダを追加してください

コンパイルはbinフォルダ中にあるzccコマンドでできます。

zccコマンドのパラメータ-subtype=msxdosでmsx-dos実行用comファイルで出力され、-subtype=romでROMイメージのromファイルが出力されます。

他の環境変数まで書き換えるのが嫌なので、以下のようなバッチファイルを作り、コンパイルを実行してました。

MSX-DOS実行用comファイル作成
(ソースファイル名:test.c, 出力ファイル名 test.com)
set PATH=<z88dkのルートフォルダ>\bin
set ZCCCFG=<z88dkのルートフォルダ>\Lib\Config
zcc +msx -DNODELAY -lm -subtype=msxdos test.c -o test.com
ROMイメージ用romファイル作成
(ソースファイル名:test.c, 出力ファイル名 test.rom)
set PATH=<z88dkのルートフォルダ>\bin
set ZCCCFG=<z88dkのルートフォルダ>\Lib\Config
zcc +msx -DNODELAY -lm -create-app -subtype=rom test.c -o test.rom

パラメータの細かい意味は調べてませんが、以上のような組み合わせでコンパイルできました。

実際にゲームを作ってみました

 TI-Nspire でパズルゲームでもグラフ電卓用に作ったパズルゲームをMSX用に作ってみました。

このパズルゲームは自分のチュートリアルの意味で新しい環境で開発する際の題材にしているので、実はGB版があったりと様々な環境で作ってます。

f:id:uosoft:20180818235648j:plain f:id:uosoft:20180818235702j:plain

せっかくなので、フロッピー版とROM版を作りました。

フロッピー版はMSX-DOSのディスクへnu.comを入れて、autoexec.batで自動実行するようにしました。

ROM版はMSXで遊ぶ! Mega Flash ROMで作り方を紹介したフラッシュROMを停止スイッチ無しで作ってそこに入れました。

OPFで出力されたROMファイルを書き込むことができます。

f:id:uosoft:20180818235904j:plain

無事に出力されたROMファイルを書き込むことができました。

ラベルまで作るといい感じになります。

f:id:uosoft:20180820001330j:plain

 

COMファイルはともかく、ROMファイルで出力されたものも結構素直に動作しました。

パラメータを変えるだけでROMファイルまで簡単に出力できるのは他の環境では中々ないので、z88dkはお勧めできます。

 

 

TFZ SERIES 2 私的レビュー (国内価格1万円以下では一番お気に入り)

一時より購入意欲が収まっていましたが、各所の評判を見たら欲しくなり、TFZ SERIES 2を買ってしまいました。

Aliexpressで4000円後半の価格で購入しましたが、国内ではAmazon等で7000円位で購入できます。

TFZおなじみのデュアル磁気回路グラフェンドライバを搭載しています。12mmと大口径の方を採用し、同じ価格帯で8.9mmのTFZ EXCLUSIVE 1TFZ EXCLUSIVE 3と比較しても繊細で解像度が高くなった印象を受けます。

音の傾向はドンシャリ傾向ですが、TFZ EXCLUSIVE KINGよりはおとなしく、長時間聴いても疲れない感じです。バランス的にはTFZ EXCLUSIVE 3に近いです。

所有している1万円以下のイヤホンでは一番のお気に入りでかなりお勧めできる機種です。

理想に近いPC98DOS環境一式を揃えちゃいました

いままでPC98の環境はノートのPC-9821Nxで遊んでたのですが、ティルナノーグ等の比較的古いゲーム等ではFDDを2ドライブ要求したり、テンキー前提の操作体系だったりして前から一通り遊べるデスクトップ環境が欲しいと思ってました。

そこで引っ越しを機にスペースを作ってデスクトップ環境を揃えることにしました。

始めはオークションでFDDが3モード対応で86音源相当が内蔵されていて古いゲーム等を実行することを考慮してCPUが486のPC-9821Ce2あたりを狙ってたのですが、ちょうど探してる時にコンデンサ交換や電池交換等をしている整備済みPC-9821Xa16/R12が出品されていました。CPUがPentiumなので躊躇していたのですが、この頃のマシンは四級塩電解コンデンサを使用して液漏れをする可能性が高いので長く使うとなると整備済みが良いと思い、少々値が張りましたが落札してしまいました。

入手した機種はCバスのスロットが3本あり、LANボードとSCSI2ボードが既に装着されていたのですが、LANボードはLAN経由でファイルをコピーできるようにするため置いといて、SCSI2ボードは使う予定がないでオークションに放出しました。

音源が無かったので、純正86音源を付けました。こちらもコンデンサ交換済みの整備品を落札しました。あと残りのスロットにはMIDIインターフェイスボードのSuper MPUを付け、すでに持っていたSC-88proを接続しました。

FDDは1ドライブしかなかったのですが、ちょうど出品されていた2ドライブ化キットを落札して2ドライブにしました。

HDDはCF-IDE変換ボードで2GBのコンパクトフラッシュがあったのですが、なるべく長く使用できるようにSLCタイプの4GBのコンパクトフラッシュに交換して、MS-DOSとWindows98の2つのパーティションに分けました。

メインメモリは96MBとDOSとWIN98で使う分には十分すぎるほどあります。

これでテンキーありのキーボード、2FDD(3モード)、86音源、CD-ROMと一通り遊べる理想に近い環境が出来ました。

f:id:uosoft:20180626224747j:plain

部屋の形の都合上、中途半端なスペースがあったのですが、そこにコンパクトに収めることができました。

今回使った概算金額
  • PC-9821Xa16/R12(整備品)          20,000円
  • PC-9801-86 音源ボード(整備品)  30,000円
  • FDD2ドライブ化キット                      7,000円
  • S-MPU/PC   Super MPU                   10,000円
  • キーボード+マウス                             4,000円
  • SCSI2ボード(売却済み)                -5,000円

合計  66,000円

SC-88proとモニター(LCD-8000V)とスピーカは既に持っていたものを使用したため、計算に入れてません。

はじめはFDD2ドライブで86音源のある1万円台のPC-9821Ce2あたりを狙ってたので予算は3,4万円程度だったのですが、自分でコンデンサ交換等をした場合の手間を考えると、これ位のオーバーは損はしてないと思います。