2026/2/10 23:30 OPNAM ProMAX FM音源プレイヤー基板頒布Project

・2026/2/10 v2.74ファームウェア更新
・2025/11/9 v2.73ファームウェア更新
・2025/2/8 v2.72aファームウェア更新
・2025/1/31 v2.72ファームウェア更新
・2024/12/31 v2.71ファームウェア更新
・2024/11/17 v2.66ファームウェア更新、よくあるかもしれない質問を一番下に追加
・2024/ 9/ 4 OPNAL2 ProMAX用情報掲載
・2024/ 8/12 v2.65ファームウェア更新
・2024/ 7/15 v2.64ファームウェア更新
・2024/ 6/ 7 部品表の入手場所や設定について追記
・2024/ 5/18 v2.63bファームウェアに差し替え
・2024/ 5/12 v2.63aファームウェアに差し替え
・2024/ 5/11 v2.63ファームウェア更新
・2024/ 4/13 v2.62ファームウェア更新
・2024/ 2/23 v2.61ファームウェア更新
・2024/ 2/ 3 v2.60ファームウェア更新
・2023/10/20 製作手順を追記
・2023/ 9/30 新規作成


■はじめに

このドキュメントはOPNAM ProMAX FM音源プレイヤー for OPNAM / OPNAL2を製作する為に必要な情報を記述したものです。
製作に当たってはこのドキュメントをよく読み、用法用量を守って正しくお使いください。

新基板に関する情報をまとめたドキュメントになります。
ファームウェアの書き込み方などは、旧基板用のドキュメントを必ず参照してください。


OPNAM  … YM2608(OPNA) + YM2151(OPM)バージョンです
OPNAL2 … YM2608(OPNA) + YM3812(OPL2)バージョンです

制御基板は同一ですが、音源基板が違います。
制御基板には、音源基板にあったファームウェアを書き込んでください。
現状はまだ別々のファームウェアとなっています。
※v2.72からブートローダーは別々ですが、ファームウェアは共通になりました

・OPNAM ProMAX FM音源プレイヤーのぶろぐ記事

製作記事

OPNAM (YM2608 + YM2151バージョン)
・【FM音源プレイヤー】Proと来たら次はMAXなのです
https://asmpwx.seesaa.net/article/500303609.html

OPNAL2(YM2608 + YM3812バージョン)
・Lという名の依頼人
https://asmpwx.seesaa.net/article/503162566.html



■OPNAM ProMAX FM音源プレイヤー回路図

OPNAM ProMAX FM音源プレイヤーの回路図です。

回路図

・制御基板 OPNAM/OPNAL2共通
・FM音源基板 OPNAM(YM2608 + YM2151)
・FM音源基板 OPNAL2(YM2608 + YM3812)
・DRAM基板 OPNAM/OPNAL2共通

制御基板部品配置図


※PICKITを接続してファームウェアを書き込むときは、PICKITの1番ピン(三角マーク)を合わせてください。

制御基板実体写真

音源基板部品配置図

・OPNAM
・OPNAL2

音源基板実体写真

・OPNAM
・OPNAL2

※DRAM基板が取り付けられていませんがOPNAMと同じです

MAXの音源基板は、従来のProの音源基板と共通です。マイナーな改良が入ったバージョンとなっています。(2608のソケット下の部品をどかしている)
従来の音源基板を流用する、Proの制御基板だけを交換する場合は、音源基板のMIX1端子を改造することで流用できます。

MIX1端子の部品が、従来の「ピンヘッダ」から「ピンソケット」に代わっています。
MIX1端子のピンソケットを上記の実体写真のように2x2のソケットに変えた場合、YM2608のFM音源とSSG音源はMIX固定となり、分離できません。
なので、SSGOUT,2608OUTのステレオミニジャックはどちらか片方だけで良くなります。
縦2列のみにした場合、MIX1端子の右側か左側のどちらにつけるかで、
制御基板からのPCM出力は、YM2608のFM音源にMIXされるか、SSG音源にMIXされるかが変わります。
分離が必要な場合、2x2ではなく、2x1のソケットに変える、制御基板側のピンヘッダを片側のみ実装する等してMIXしてください。

ピンソケットに改造した音源基板を従来のProで利用する場合は、ピンソケットの部分にU字型のピンなどを差してジャンパしてください。

また実体写真では、右下にあるOPAMPには14ピンの4回路入りオペアンプを取り付けています。
ここは8ピンの2回路入りOPAMPを2つ取り付ける事もできます。
その場合は基板のシルクパターンを参考に取り付けてください。同じ方向を向いていません。
4回路入りOPAMPと2回路入りOPAMPをどちらでも取り付けられるようにする場合は、シングルラインの丸ピンソケットを分割して取り付ける
ことで部品の取り付け方によってどちらでも利用することができます。

OPNAL2音源基板は、OPNAM音源基板の音源チップ変更版です。
MIXなどに関しての仕様は同一となっています。


■OPNAM Pro MAX FM音源プレイヤー用 ソフトウェア

OPNAM Pro MAX FM音源プレイヤー用ファームウェア

制御基板に組み合わせるFM音源ボードのタイプに応じて、書き込むファームウェアを合わせてください。
YM2608 + YM2151は、OPNAMの略称を使っています。
YM2608 + YM3812は、OPNAL2の略称を使っています。

・bootloaderのみ OPNAM/OPNAL2共通
bootloader_maxdag.zip ※PIC32MZ2064DAGを使った場合
bootloader_maxdar.zip ※PIC32MZ2064DARを使った場合
このbootloaderをまずPICKITで書き込んでください
bootloaderを1回でも書き込んであれば、以降はPICKITを使わず、USBで接続したPCから更新プログラムを使うか、SDカード内にファームウェアファイルを入れて、
ファームウェアを更新することができます
詳しくはzip内のテキストを参照してください

※ブートローダー対応のファームウェアは、ブートローダーを使わずにPICKITで直接書込み、利用することはできません。
 スタートアドレスが違うから。

・MAX用再生画面色カスタマイズツール OPNAM/OPNAL2共通
opnamcolor2.zip
再生画面の色をカスタマイズするためのツールです。
コンソール接続してEEPROM内容を編集すれば変更できます。そのツールです。


■rev.2026/2/10 v2.74
OPNAM/OPNAL2用ファームウェア 統合版 + DAR/DAG統合版
opnampromax_darg_opml_v274.zip

・VGZ形式のファイル再生に対応しました  ※loadallオプションを有効にしてください
補足
・VGZ形式
ライブラリを一から作る気力はないので、既存のライブラリを利用しました
なので今回からライセンスファイルが一緒に入ります
直接再生できると便利!

VGMヘッダも圧縮されているため、曲再生開始前にロード処理が入ります
VGMは、VGMヘッダ読取り→再生開始(ディスプレイ更新)→ファイル全ロードの順番ですが、
VGZは、ファイル全ロード→VGMヘッダ読取り→再生開始(ディスプレイ更新)の順番になります
少しタイミングが違います

・YM2610エミュレーション中にYM2608のリズム音源を使う
なんか大丈夫っぽいです。試せる人は試してみてください


■rev.2025/11/9 v2.73
OPNAM/OPNAL2用ファームウェア 統合版 + DAR/DAG統合版
opnampromax_darg_opml_v273.zip

・VGMデータ再生時、DRAMタイプが変更されないようにしました
補足
・DRAMタイプの変更
YM2608BでDRAMを利用して再生を行っている場合、DRAMのRAM TYPE制御ビットはOPNAMのDRAM構成に合わせた設定になっています
ですが、このレジスタはADPCMのパン設定も兼ねています。L,Rの制御を行うと自動的にRAM TYPEも変更されます
稀に異なる接続のボードがある用でした

■rev.2025/2/8 v2.72A
OPNAM/OPNAL2用ファームウェア 統合版 + DAR/DAG統合版
opnampromax_darg_opml_v272a.zip

・マルチディレクトリモードを追加
・DAR/DAG共通ファームウェア化
・カラープリセットをメニュー化
・設定画面のメニュー構成を更新
・XGMファイル対応の調整
・その他不具合の修正

補足
・マルチディレクトリモード
PLAY > DEEP SUBDIR
第一階層ディレクトリのみ制限を解除し、すべてのサブディレクトリの楽曲を再生できるようになります
起動時に最大8000曲までディレクトリをスキャンしてから再生を開始します
なお、選択するとシャッフル設定は自動的にオフになります

・DAR/DAG共通のファームウェアになりました。
ブートローダーが一部差を吸収してくれているので、問題のある部分をプロセッサ判定し切り替えて対応することにしました
※ブートローダーはDAR/DAG別なのでご注意ください
 ブートローダーは初回のみ、PICKITで対象プロセッサにあったブートローダーの書込みが必要です
 普通のバージョンアップはファームウェアの方を書き込みますが、こっちが共通になっています
 簡単に言うと、バージョンアップならファームウェアが1種類になったということです

・カラープリセットをメニューに追加
DISPLAY > COLOR PRESET
色設定ツールで色を設定するだけでなく、簡単に色を変更できるカラープリセットメニューを追加しました
現在は、カスタム、通常色、グリーン(YAMAHAカラー)、オレンジ(ROLANDカラー)を選択することができます
カスタムは設定ツールで変えた色が反映されます。未設定の場合は通常色になります

・設定画面を更新
CONFIGメニュー周りの更新コストがきつかったので、PRO用とMAX用のメニュー処理を共通化しました
これにより、各サブメニューの最後にBACK項目が追加されました
ハードウェアによって使えないメニューは色が薄く表示されます
S1+S3ボタンの同時押しで、一番最後のBACKメニューに飛ぶようになりました
※MAXはS4ボタンが実装されていれば、BACKメニューを直接押すことができます

・XGMファイル形式の対応
新たにXGMファイル形式の再生に対応しました(v2.71から実は対応していましたが、誰も気が付いてくれず_(:3」∠)_)
標準の音量を調整、またEXVOL設定による調整に対応しました

・2.72→2.72A
2/8 DCSG Noise Channelのボリュームがデカすぎたので調整しました

■rev.2024/12/31 v2.71
OPNAM/OPNAL2用ファームウェア 統合版
opnampromax_dag_opml_v271.zip
opnampromax_dar_opml_v271.zip

・VGMタイムコードの処理を変更しました
・FASTモードで、YM2610のADPCM-BをDRAMエミュレートする場合、ADPCM-Bが再生されない問題を修正
・OLEDの更新頻度が下がっていなかった問題を修正

補足
・VGMのタイムコード
 指定されたタイムコードの処理前時点の実際のタイムコードと、指定されたウェイト時間を加算して、
 処理するとか凝ったことをやっていたのですが、遅れていく一方なので廃止しました
 単純に原曲データに振られているタイムコードのみを利用して演奏します

・FASTモードを利用中、YM2610BのADPCM-Bが、YM2608のDRAMエミュレーションで再生されない
 YM2610のADPCMは、AもBも両方ともROMです。YM2608BでDRAMを使ってエミュレーションする場合、DRAMへの書き込み処理に変換しています
 FASTモードで該当処理のA0とA1側のレジスタの指定を間違えてたので修正

・OLEDの更新頻度
 下げたつもりが、デバッグ中に元に戻してそのままだったので再度修正
 あんまり影響ないようであればそのうち元に戻すかも

■rev.2024/11/17 v2.66
OPNAM/OPNAL2用ファームウェア 統合版
opnampromax_dag_opml_v266.zip
opnampromax_dar_opml_v266.zip

・OPM用とOPL2用のファームウェアを統合
・MSM6258のPCMストリームデータに対応
・LIGHTモードにFASTモードを追加
・その他不具合の修正

補足

・YM2151用のOPMハードウェアと、YM3812のOPL2ハードウェア用のファームウェアを統合しました
 初期設定はOPMモードになっているので、OPL2用のハードウェアの場合、まず最初に設定メニューで切り替えてください
 CHIP > CHIP MODE

 一致していない場合、ジングルの再生でおかしな音が出たりします
 なので、統合ファームウェアに更新した一発目は速やかに設定の変更をお願いします。

 ※ファームウェアの種類が増えて今後の更新負荷が高くなってしまうこともあり、統合版を作成しています


・MSM6258のPCMストリームデータに対応

 X68000構成が可能になりました


・LIGHTモードにFASTモードを追加しました
 PLAY > LIGHT MODE

 NORMAL < FAST < LIGHT
 の順で処理速度が高速になります。

 NORMAL … メモリに収まらないデータも再生可能。(メモリアクセスでメモリ内に収まらないデータをSDからロードする)
 FAST  … メモリに収まることを前提としてメモリに直接アクセス
 LIGHT … メモリに収まることを前提としてメモリに直接アクセス+OLED表示回りをオフ

 の構成になっています。
 また、FAST,LIGHTモードは自動的にLOADALLが有効になります


・一部のPCMチップのアドレス変換を、再生前に解決するようになりました
 ※LIGHTモードが FASTまたはLIGHT時のみ
  音源としては SEGA PCM,C140,C352のみ
 
 今までは再生時にアドレス変換していましたが、再生前にプリスキャンしてアドレス変換したデータに書き換えて再生するようになります
 再生開始前にプリスキャン処理の時間(およそ1秒未満)がかかります
 

・LOADALL可能なファイルサイズを8M→16MBに変更しました

・OLED画面の更新頻度を下げました

・C140のEX-VOL LIGHT(MIXのみ調整可能)が使いにくいため、個別ChのボリュームをNORMALと同じ1/16にしました

・その他不具合の修正

 C352でリバース再生があるとハングアップする
 C140で拡張ボリューム設定の時、低下方向への調整がRチャンネルだけ増幅方向となっている
 再生一時停止中に設定画面に遷移してから戻ると、クロック設定が自動で合った場合初期値に設定される
 DAR用ファームウェアでSCCI2が動作しなかったかも?


■rev.2024/8/12 v2.65
OPNAM用ファームウェア
opnampromax_dag_v265.zip
opnampromax_dar_v265.zip

OPNAL2用ファームウェア
opnal2promax_dag_v265.zip
opnal2promax_dar_v265.zip

・SCCI2に対応
・EXVOL LIGHT設定に対応するPCMを追加
・仮想SSG β版を追加
・その他不具合の修正

補足
・SCCI2
 SCCIモードを、SCCI2に切り替えることにより、SCCI2対応のアプリケーションから制御することができます。

 設定
  SCCI > SCCI MODE … SCCIモード設定

 上記設定で切り替え、保存してください。

 設定後、PCとUSBケーブルで接続した状態で、SCCI2アプリケーションを起動すると自動的にUSB制御モード(SCCI)に切り替わります。

 クイック切り替え(保存せずに一時的に切り替え)は、タイトル画面が表示されている時に、左ボタンを押すことで以下の順で切り替えります
 ・SCCI Normal    … YM2610,YM2608,YM2151固定のSCCI製品に搭載されているSCCIモード。OPNAMではこのうち2608と2151が演奏されます
 ・SCCI Normal Fast  … Normalモードで、画面表示を省略して安定化したバージョン
 ・SCCI Light     … ベース+サブボードの形で音源を交換できるようにしたSCCI製品に搭載されているモード。SCCI設定ツールで構成を設定する必要があります
 ・SCCI Light Fast  … LIGHTモードで、画面表示を省略して安定化したバージョン
 ・SCCI2       … SCCI2モード。LIGHT相当の設定を行う必要があります

・EXTRA VOLUME LIGHT対応
 SCCやRF5C68など、一般的なものはすべて対応しました
 EXTRA VOLUME LIGHTは、EXTRAボリューム調整モードですが、各Ch個別のボリューム設定は無視して、総合のMIXボリューム設定のみ有効にして高速化したモードです。
 特にPCMが16〜32Chなど数が多い場合は、各Ch個別に調整していると処理負荷が大きいため、効果があります。

・仮想SSG
 本来のSSG出力をバイパスし、PCMチップから仮想SSG処理の音を出すモードです。

 設定
  ETC >> VIRTUAL SSG … 有効/無効設定
  ETC >> VSSG VOLUME … ボリューム調整(4段階)

 どうにも納得できる出来ではないのでβ版です。ノイズ入りまくりだし‥。
 現在SSGの音量調整は、ハードウェアボリュームで調整する必要があるため、調整が面倒です。
 SSGをPCMエミュレーションで実装すれば、ソフトウェアでボリューム調整できるのではないかと、やってみました。
 現在利用中のPCMサンプリングレートで処理を行う為、サンプリングレートが低めの曲データでは高音が出ません。
 PCMを利用していない場合、32KHzまたは44KHz(HIGH SAMPLE有効の場合)で動作します。これが一番まとも。
 まあソフトウェアで調整できるようになったとしても面倒なのですけれども。

 PCM利用中でも、上限までサンプリングレートを引き上げて再生するようにすべきか。
 そのうち改良します。ただ、高音はやっぱり限界があるのですが。

・その他不具合の修正
 PSG2SCCモードで、エンベロープの処理が早すぎた問題を修正しました


・既知の不具合
 曲の演奏中にSCCI2モードに切り替えた場合、OLED表示がリセットされていません
 その状態で演奏しようとするとハングするかも
 SDカードを抜き、一度リセットした状態でSCCI2再生を試してみてください


■rev.2024/7/15 v2.64
opnampromax_dag_v264.zip
opnampromax_dar_v264.zip
・曲を続きから再生できるレジューム設定を追加
・EXVOL設定で軽くする設定を追加
・その他不具合の修正

補足

・レジューム機能
PLAY >> RESUME	DISABLE/ENABLE
再生可能な種類の曲データが増えたことで、一回の起動では全部聞き終わらないようになってきました
ということで、この設定を有効にしておくと、SDカードを抜き差ししない限り、次回起動時に
最後に再生していた曲から続きを再生するようになります

このオプションを有効(ENABLE)にすることで、曲を再生開始するたびにEEPROMを書き換えするようになります
ですが、EEPROMは交換できますし、24FC64は100万回は書き換え可能なので大丈夫でしょう

オプションをDISABLE→ENABLEに切り替えた直後は、SDカード情報が正常に書き込まれないかもしれません
一度リセットしてからご使用ください

・EXTRA VOLUME設定に、処理負荷が軽いモードを追加しました
PCM >> EXTRA PCM VOL	EX-LIGHT
EXTRA VOLUME設定は、各チャンネル個別のボリューム設定とMIX後の2つの箇所でボリュームを調整できますが、
EX-LIGHTにすると、MIX後だけ調整するようになります。各チャンネル個別の設定は無視されます
24chや32ch分処理するのが重いので、MIX後だけ調整でも問題ないかと

■rev.2024/6/7 v2.63b
opnampromax_dag_v263b.zip
opnampromax_dar_v263b.zip
・スペクトラムOFFにしてもFM音源周波数を計算していた不具合を修正
・???にディスクシステム音源を追加
・???をHIGHSAMPLEモード対応
・その他細かい不具合の修正
2.63a更新
・ExtraPCMVolumeでFDS音源の調整ができない
・???音源の三角波がレジスタの設定順番によって反映されないことがある
・ついでに不具合の修正
2.63b更新
・???音源のスペクトラム表示が機能していない問題を修正
・???音源のDPCMのサンプリングレート設定が機能していない問題を修正
・???音源のDPCMデータプチノイズ軽減処理を追加
・???音源で、先頭でMASKレジスタを設定していないデータの救済措置として、標準で???音源の音源マスク設定をONにしました

補足(言いたいこと)
・スペクトラム
 それなりに計算が重いので、スペクトラムオフにするともうちょっと負荷が減ります

・???にディスクシステム音源を追加
 前回追加された謎音源にFDS(ディスクシステム音源)を追加しました
 これで再生できるタイトルが追加されたかと思います

・???をHIGHSAMPLEモード対応
 標準だとLOWではなくMIDDLEくらいのサンプリングレートでした
 HIGHにするとめいっぱいまで引き上げます

2.63a更新分
・ExtraPCMVolumeでFDS音源の調整ができない
 インデックス番号オーバーしてた
 EXTRAとLIGHTモードは、処理ルーチンが丸ごと入れ替わるので大変なのです

・???音源の三角波がレジスタの設定順番によって反映されないことがある
 救済措置が入っているわけがようやくわかったのです  ちゃんとしたレジスタの順番で設定しやがれなのです(公式がその順番で設定してるしなぁ) 他注意点 ・曲の開始時点でHIGHSAMPLE/STANDARDの切り替えは行われています  途中で設定を変えた場合は、一度曲の頭から再生しなおしてください 2.63b更新分 ・スペクトラム表示  なんか忘れたんですが、ポカミス ・DPCMのサンプリングレート  括弧閉じるの位置がずれてたああああ ・DPCMのプチノイズ  データが悪いんですよデータが ・MASKレジスタ  データが悪いんですよでー(ry 

■rev.2024/4/13 v2.62
opnampromax_dag_v262.zip
opnampromax_dar_v262.zip
・一部のC352用に作成されたデータに対応
・オプションの追加
・PDX再生時の発音状態を、MSM6258として表示
・PCM終了アドレスに関する不具合修正
・その他不具合の修正

補足
・一部のC352用のデータ
 C30のデータをコンバートしたものに対応しているのかも?

・オプションを追加
 ・PLAY >> LIGHT MODE
 演奏中のOLEDの表示をカットし、処理速度の高速化を図ります。
 LoadAllオプション前提の設計の為、選択すると自動的にLoadAllが有効になります
 表示がカットされてると寂しい(ハングを疑う)のでイラストを出しときます
 VGM再生時、内部的にはLIGHTモード専用VGM再生エンジンに切り替わるのでひょっとしたら
 なにか不具合があるかも?

 ・PCM2 >> HIGH SAMPLE
 PCMのサンプリングレートを、標準設計の2倍にします。
 かなり処理が重たくなります。LIGHTモードと併用されることをお勧めします。
 現在はSCCとC140とC352が対応しています。
 ※今後対応PCM種別は増える可能性があります

 ・DISPLAY >> SPECTRM OFF
 スペクトラム表示に関わる計算&表示をスキップして処理速度の高速化を図ります
 LIGHTモードだと寂しい場合に選択すると吉かもしれません

 ・VOLUME >> VOLUME MODIFIER
 VGM1.61以上にあるボリューム調整値が設定されている場合、ある程度有効にします
 +方向への調整のみです
 まだC352しか実装していません
 データの製作者がボリュームをこれくらい調整した方がいいよっていうパラメータなのですが
 こんなの入れるくらいなら調整してくれと思うわけです。…たぶん元データに手を入れたくない、と

 ・PCM >> ???
 アンロックされると名称が表示されます
 あのChipのVGMデータを再生すると…


・PCM終了アドレスに関する不具合修正
 終了アドレスを含む・含まないの扱いを一部のPCM音源について正しく修正
 今までちょっとぷちっとか入ってた音が消えます。たぶん

・その他不具合
 ・ExtraPCMVolume ONで、YM2610BのADPCM-Aがセンターに鳴らない(Rが消える)場合がある

・注意点
 追加されたオプションは、いったんEEPROMをCLEARしないと初期値はロードされません
 なにかおかしいな?と思ったらクリアしてください

 これに限らず、動作がおかしい場合はEEPROMをクリアしてください。高速化の為にいろいろ端折っているので
 また、下段真ん中のボタンS2ボタンを押しながら起動することで、起動時に設定値の読込をキャンセルすることもできます


■rev.2024/2/23 v2.61
opnampromax_dag_v261.zip
opnampromax_dar_v261.zip
・PSGをYM2608のSSGで演奏する場合の周波数補正処理を追加
・PCM種類毎に、左右を反転する設定を追加
・Console及びフォルダ内設定ファイルに拡張された設定のコマンドを追加
・SCC対応
・その他不具合の修正

内容補足
・PSG音源(AY-3-8910)は1.79MHzくらいで再生されています。8MHzで動いているYM2608のSSGは、PSG換算すると2.00MHzになるので、
 周波数パラメータを1.12倍する処理を追加しています。

・PCM音源の左右を種類ごとに反転できるようになりました
 従来のADPCMパン反転設定は全体にかかる設定なので重複します

・Consoleに以下のコマンドを追加しています
	・pcmvol拡張ボリュームモードの有効・無効、各種設定の変更

	pcmvol	on/off	拡張PCMボリュームモードの有効・無効
	pcmvol		<< 5
					>> 2		※>> 0で解除
					adjust  0		0-15		0と8がx1.0です。1〜7がx1.2〜x1.9。9〜15が0.1〜0.9です
					limit on/off
			0-11です。Configの並んでいる順番と同じです
	例.	pcmvol on
		pcmvol 0 << 1
		pcmvol 0 adjust 7

	target :
	0 ... YM26xx ADPCM-A Channel
	1 ... YM26xx MIX(ADPCM-A + ADPCM-B)
	2 ... YM26xx ADPCM-B Channel
	3 ... SEGA PCM Channel
	4 ... SEGA PCM MIX
	5 ... C140 Compress Channel
	6 ... C140 Normal Channel
	7 ... C140 MIX
	8 ... RF5C68 Channel
	9 ... RF5C68 MIX
	10 ... SCC Channel
	11 ... SCC MIX

	・pcmpan PCMのパン反転設定変更

	pcmpan		normal/invert
				0-11です。Configの並んでいる順番と同じです

	例.	pcmpan 0 invert
		pcmpan 3 normal


	・wavetable SCCのユーザ定義ウェーブテーブル変更

	wavetable  [hex0 hex1 hex2 .. hex31]

	no:0〜7

	scc用テーブルの8〜15番をEEPROMに書き込みます
	指定は0〜7ですが、ユーザ定義音色8番から15番にマッピングされます
	設定では8番以降を選択してください

	データ部分を指定しないと現在の設定を表示します(EEPROM0x200〜にマッピングされています)
	データは32バイトを一度に指定してください

	例.	eeprom 0
		eeprom 0 80 80 80 80 ... 00 00 00 00

・SCC用のVGMファイルの再生に対応しました
 SCC及びSCC-Iの楽曲ファイルを再生可能です


・PSG to SCC(ETC >> PSG2SCC)モードを追加しました
 ※TINY野郎氏のなんでもSCCに感銘を受けて追加いたしました

 ENABLEにして有効にした後、PSG各CHをSCCのどの音色に割り当てるかを指定してください
 0〜7はプリセット音色を利用します。8〜15はユーザ定義音色を指定します

 ユーザ定義音色はwavetableコマンドでConsoleで定義してください。設定しないと鳴りません
 ユーザ定義音色はEEPROMに書き込まれます

 プリセット音色の定義は以下の設定になっています
 SCCの音色を参考に、それっぽく聞ける音色をスプレッドシートで作成しました
	0	三角波
	1	正弦波
	2	正弦波+周波数倍の正弦波
	3	正弦波+マイナス側の山2つ
	4	矩形波+周波数倍の矩形波
	5	のこぎり波+反転したのこぎり波
	6	のこぎり波
	7	2段階で大きくなる正弦波

 残念ながら内部処理のサンプリングレートなどの関係で、高音に弱いです
 極端な高音の場合ミュートしてPSGのみにする機能つけようかしら

 そのうちSCCをPSGのどのChに割り当てるかっていう風に逆にして、複数Chを割り当てることができるようにしても面白いですね

・ディレクトリ内設定ファイルに以下のコマンドを追加

    "ExVolumeMode","ExVolumeShift","ExVolumeAdjust","ExVolumeLimit",
    "PCMPan"
    "PSG2SCC","PSG2SCC1","PSG2SCC2","PSG2SCC3"

 記述例+説明
	・ExVolumeMode=on
	拡張ボリュームモードの有効・無効
	・ExVolumeShift=0 0
	拡張ボリュームのマルチプライヤ設定。target番号+シフト0〜31.+−で15段階。0が2つ
	ターゲット番号は上の方の説明文を参照
	・ExVolumeAdjust=0 8
	拡張ボリュームのアジャスタ。target番号+0〜15までの16段階で8が中間値でx1.0(調整なし)。1.1〜1.9、x1.0、x0.1〜x0.9の配置
	・ExVolumeLimit=2 on
	拡張ボリュームのリミッタ。target番号+onでリミット有効
	・PCMPan=0 invert
	パンの反転オプション。invertで反転有効
	0:ADPCM-B 1:ADPCM-A 2:SEGA PCM 3:C140 4:RF5C68
	・PSG2SCC=on
	PSG2SCC機能有効
	・PSG2SCC1=0
	PSGの1chをSCC1に割り当てる波形番号選択。0〜15
	・PSG2SCC2=5
	PSGの2chをSCC2に割り当てる波形番号選択
	・PSG2SCC3=12
	PSGの3chをSCC3に割り当てる波形番号選択

	※8〜15は初期状態ではEEPROMが0xffなどで埋められているので、音がでません
	 逆にミュートしたいChをそのChに割り当てるのもありです

・RF5C68のOLED表示で、ループ再生時にキーオン扱いしていましたが、ExtraVolumeの時が抜けていたので追加しました

・YM2610BエミュレーションでADPCM-AとADPCM-Bの左右が逆だった問題を修正しました

・再生画面の色変更ツールの新ファームウェア対応版(OPNAM Color2)を入れました
 実はアドレスが変わっているだけなので、コンソールからコマンドラインで変更できますが

■rev.2024/2/3 v2.60
opnampromax_dag_v260.zip
opnampromax_dar_v260.zip
・設定を保存する領域を拡張(設定がリセットされます)
・設定メニューを階層化
・PCMのボリュームを詳細調整可能
・LOADALL可能サイズを8MB上限に
・オプションの追加
・その他 細かいバグの修正等

内容補足

・内部の設定保存領域を前回で使い切った為、増量しました
 EEPROMに保存されていたデータは互換性がなくなりました。起動時にEEPROMエラーが出ます(同時に初期設定を書き込みます)
 またSDカード内の設定ファイルはいったん削除してください。こちらも残念ながら従来のファイルと互換性がなくなりました

 ※ETC > EEPROMをONLYにしている場合は、SDカードの設定ファイルを読み込まないので影響をうけません
 
・設定メニューが階層化対応になり操作方法が変わりました。従来よりも操作しやすくなっていると思います
 ボタンS1、S3でメニュー項目を前後に移動します
 ボタンS2で選択中の大メニューの内部項目に入ります
 内部項目でボタンS2を押すと、設定値に移動します。ボタンS1、S3で設定値を変更します
 設定値でボタンS2を押すと、項目に戻ります
 
 ボタンS4でひとつ前に戻ります。設定値にいた場合は、項目選択に戻ります。項目選択にいた場合は大項目に戻ります。
 大メニューのEXITでメニューを終了させることができますが、ボタンS6で直接メニューから脱出できます

 ※設定メニューは、タイトル画面ならばボタンS2長押し
  演奏中ならボタンS2で一時停止してからボタンS1(左ボタン)、またはボタンS5で直接入れます
  ちなみに一時停止してからボタンS3(右ボタン)は、演奏中のディレクトリをスキップする機能です

・CPUエミュレーションで鳴らす、チップエミュレーションPCMのボリュームを、詳細調整できる拡張PCMボリュームモードを追加しました
 まず、PCM > EXTRA PCMVOLをENABLEに設定してください
 以降に続くメニューで、調整することができます

 以下のポイントで調整を行うことができます
 2610 PCM-A Ch個別、PCM-B(CPUエミュレーションの場合)Ch個別、PCM A+B MIX
 SEGA Ch個別、Ch MIX
 C140 圧縮Ch個別、無圧縮Ch個別、Ch MIX
 RF5C68 Ch個別、Ch MIX

 ※Ch個別ポイント … それぞれ1Ch毎の計算結果にボリューム調整を行うポイントです
  MIXポイント   … Ch全体を合成した後にボリューム調整を行うポイントです
  圧縮Ch個別   … (C140専用)データが圧縮されていた場合、再生テーブルからデータを拾うChのポイントです
  無圧縮Ch個別  … (C140専用)無圧縮だった場合のChのポイントです

 3つのパラメータ マルチプライヤ(シフト)、アジャスター、リミッター で調整できます。
 マルチプライヤ:2のべき乗の倍率です。 << は左シフト(増加:2倍、4倍、8倍…)。>> は右シフト(減少:1/2、1/4、1/8…)
 アジャスタ:1.9〜0.1までの微調整です。256分率計算しているため0.1→0.125など細かい部分まで実際にはあります。メニューでは四捨五入した表示になっています
 リミッター:16ビット幅(-32768〜32767)を超えていた場合、カットするかです。計算自体は32ビットで計算されているため、最終のMIX段階でリミットすればよいとも言えます
       なんで16ビットかというとBU9480Fが16ビットだからです

 例.音量を2.5倍にしたい場合、マルチプライヤを << 1(x2)にし、アジャスタをx1.2にすれば大体2.5倍になります

 ※初期値は従来のモードでの設定値になっています
  マルチプライヤはボタンS3で増加方向、ボタンS1で減少方向です。表示は<<と>>なので逆に見えますけど

・FM音源のボリューム調整ロジックを変更しました(従来は凝った計算方式でしたが、単純な加減算にしました)
 2151、2608とも50%〜150%に調整できる用に変更しました
 TLパラメータによる調整のため、変更幅が大きいと音色が歪みます
 なお、都合により100%が中央に2つあります。100%を超えて調整する場合、ボタンを1回余計に押す必要があります

・内部ウェイトの実装を変更しました
 割込み負荷により、余計にウェイトする可能性が高かったため正確にウェイトするようにしました

・16文字を超えるファイル名のスクロールを4分割して処理するように変更しました
 長いファイル名でもちょっと処理が軽くなったかも

・SAVE時に、EEPROMかSDカード、または両方のどちらに保存するかを選択できるようになりました

・EEPROM内容をクリアするメニューを追加しました
 クリアした後起動することで、いったん初期設定に戻すことができます
 ※EEPROM領域の更新にはある程度の時間がかかる場合があります(最大で2秒ちょっと)

・EEPROMの初期設定を変更しました
 推奨出荷時設定になっています。従来からのバージョンアップの場合、初回は互換性がないのでこの設定に強制的になります
 たぶんおすすめの設定になっているはず(前回までは0クリアが余計に入っていたおかげでおかしくなっていた)

・REC TRIGGERメニューを追加しました
 再生開始前に2608のSSGを使ってピピッとシグナルトーンがなります

・LoadALL可能サイズを8MBに変更しました
 PCMをロードする領域4MBと、LoadALL用にファイルをロードする領域4MBがあったんですが、
 LoadALLしている場合、そのままロード済みファイルの中身からPCMを演奏していたので、一緒にして増やしてもいいんじゃないかと思って増やしました
 バグってなければ最大8MBまでのファイル再生に対応しています
 FAT32のアロケーションサイズの影響を受けるので、アロケーションユニットサイズが小さいと8MBまで行かないかも

・その他
 YM2612の演奏データをYM2608へ流し込むようにしました。それなりに互換性あるので
 RF5C68のPCMデータをエミュレーション再生できるようになりました
 つまり、FMTOWNS用VGMが再生できるようになりました


既知の問題点

・OLEDのカラー変更ユーティリティは現在使用できません
・consoleにコマンドが追加・変更されていません
・フォルダ画像機能を使って、フォルダ毎に再生する曲の画像を表示していた場合、設定画面から戻っても、フォルダ画像が再表示されません
・通常タイトル画面にMAXの文字列が入っていない不具合が確認されています

■rev.2023/9/30 v2.55
opnampromax_dag_v255.zip
opnampromax_dar_v255.zip
・初期リリース版です
 ※バージョンはProと同一の番号になっています。

※ブートローダ用のファームウェアです。利用にはブートローダが導入されている必要があります。
※このファームウェアはOPNAM ProMAX FM音源プレイヤー専用です。
 その他のハードウェアでの利用はおやめください


■製作、利用中の注意点について

注意!! DCジャックから給電する場合、制御基板のUSBPWRにジャンパピンをさした状態でUSB端子にUSBケーブルを絶対に接続しないでください。


注意!! 絶縁を絶対に行ってください
OPNAM Pro MAX FM音源プレイヤーは、裏面が絶縁されていません。
金属板の上に置いたり、コインなどが接触した場合、ショートして重大な事態を引き起こす可能性があります。
必ず絶縁の為の処置を行ってください。
金属端子が触れないように、アクリル板をつけたり、ケースに入れたり、絶縁テープやコルクボード等で絶縁してください。


・部品の向きについて

マイコンの向きは絶対に間違えないでください。
基板の1番ピンの位置には丸いぽっちがつけられています。マイコンにも丸いぽっちがあります。
一致するようにつけてください。

・電解コンデンサは極性があります。電源と一部の音響コンデンサにのみ、極性があるコンデンサを使っています。
 コンデンサの耐圧は、5V制御系が最大電圧ですので、16V程度あれば問題ありません。
 大きい方が安定感があるので、無極性な50Vが取り付けられるくらいのスペースが確保されています。
 (耐圧が高い方が大きいです。極性ありよりも無極性が大きいのです)

・ICにも向きがあります。1番ピンの位置はシルク印刷で欠けている方です。

実体写真がありますので、よく見ながら接続方向を間違えないようにしてください。
ICソケットも間違えずにつけたほうが良いです。チップ自体の取り付けを間違えなければ大丈夫ですが、いつか間違えます。

・部品の向きがわからない場合は、実物の写真を参考にしてください。

・LEDの向きについて
 LEDにも極性があります。部品配置図にAとKを記載しておきました。

■部品表 OPNAM Pro MAX FM音源プレイヤー

実際の部品配置は、物理配置図を参考にしてください。

部品の入手場所は一例であり参考情報です

最近はオーディオ用コンデンサの在庫が極めて少なく、品切れになっている場合も多いです。
同容量で耐圧は16V程度もあれば十分ですので、代替品を検討してください。

参考用に貼ってある秋月電子の抵抗は100個入りのリンクになっています。
1つしか使わないのに100円と高いため、少数販売している入手先の方が良いかもしれません。
参考までに、抵抗は1/6Wサイズで許容電流が1/4W品な金属皮膜抵抗器をリファレンスとして採用しています。

部品について
近年部品が生産終了していくことが多くなっています。
URL先の部品が枯渇していた場合、以下の代替品の選び方を参考にしてください。
セラミックコンデンサは、容量と耐圧で選定してください。セラミックコンデンサの多くは耐圧25V〜50V品であるため、利用している箇所はほぼ5V以下で耐圧は余裕があります。
ただ10uF以上になると、10〜16Vと耐圧が低くなっていきます。おそらく利用している部分は3.3〜5Vなので問題ありませんが。
セラミックコンデンサには極性はありません。

フィルムコンデンサについては、セラミックコンデンサと同様です。

電解コンデンサは、容量と耐圧と大きさで選定してください。12Vラインに使う場合は16〜25V程度をご利用ください。
5Vラインに使う場合は10Vもあれば大丈夫です。
固体コンデンサでもたぶん大丈夫。ただし大きさだけは注意。物理的に引っ掛かります。

秋月に在庫がある部品で使っているためやや耐圧が高いものを使っていることもありますが、基本はかかる電圧を少し超えた余裕がある耐圧にしてください。
極性なし、無極性コンデンサを使っているのはオーディオラインです。
無極性が入手できない場合、極性あり品を使う場合は、アンプ側を+にしてください。たぶん大差ないですが。

抵抗は抵抗値と許容電力そして抵抗の物理的な大きさを合わせてください。物理的な大きさについては縦置きの場合はほとんど気になりませんが、
寝かせて配置する場合は立てないと入らない可能性があります。
電源に使われている場合は1/4W品を利用してください。
オーディオ信号ラインは1/6Wで問題ないです。

ICソケットは、ピン数とピン間隔、ソケット幅が合うものを選んでください。
ソケットの種類として丸ピンと板バネ式がありますが、これは最悪抜き差しの耐久性にかかわってくるだけなので、何とかなります。
ソケットの高さも大体は何とかなります。背の高い部品を交換できるようにソケット化する場合はこだわってください。


・制御基板 OPNAM/OPNAL2共通

名称PIC32MZ2064DAR176 又は PIC32MZ2064DAG176
入手場所Microchip Direct
https://www.microchipdirect.com/product/PIC32MZ2064DAR176-I/2J
https://www.microchipdirect.com/product/PIC32MZ2064DAG176-I/2J
使用箇所PIC32MZ2064DAx176
解説 MAXProの心臓部なマイコンでございます。前期型のDAG176と後期型のDAR176があります。
どちらでも構いません。在庫が無い場合が多いため、早く手に入る方で構いません。エラッタを回避するファームウェアになっています。
チップは176ピンあり、ピン間は0.4oです。ピン自体は0.3oの厚みがあるので、ピンとピンの間は実質0.1oしかありません。
また背面にもGNDパッドがあり、電気的、熱的に接続が必須になっています。基板には背面からはんだ付けするための穴が開いていますので、取付後に背面からはんだで接続してください。
マイコンは1番ピンの方向に丸のぽっちが点いています。基板のシルク印刷でもマークがついていますので、位置と方向を合わせて実装してください。
なお、かなり発熱します。できればヒートシンクをつけてあげてください。

名称I2C EEPROM
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gI-03567/
使用箇所24LC64
解説 I2C接続用のEEPROMです。容量は64Kbit(24LC64又は24FC64)を指定していますが、手持ちで256K(24LC256)のものがあれば、それでも問題ありません。
たぶん512でも大丈夫。ピンアサインが同じなら容量が大きい分には問題ないでしょう。
ちなみにURLは24FC64なので、実は高速版のチップです。24LC64よりも安くて早いのです。速度は遅い方に合わせているのでメリットは安いだけです。

名称DAC BU9480F
入手場所鈴商
https://suzushoweb.shop-pro.jp/?pid=101168626
共立エレショップ
https://eleshop.jp/shop/g/gN6U414/
使用箇所PCM
表面実装パターン
解説 ほぼI2SなPCMチップです。ほぼI2SというのはL/Rが逆なんだとか。
結構昔からあるチップのようです。
既に生産終了しているので、流通在庫のみのようです。

名称OPAMP NJM4580DD
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gI-00069/
使用箇所OPAMP シルク印刷のみ
解説 定番の2回路OPAMPです。
ローノイズ選別品ですが、お手頃価格です。

名称水晶発振子
周波数24MHz
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-08674/
使用箇所Q1 PIC32の右上シルクパターンのみ
解説 以前は10個単位での販売だったのですが、最近は1個から買える様になりました。
小さい割には地味に高い部品でもあります。
ちなみにこれは水晶発振子なので、発振の為には別に回路が必要になりますが、そのための回路はマイコン内部に入っています。
が、どうも前期型DAGにはこのクロック発振開始用ブースター回路に問題があるようです。
MZのEFHの時にもA1ロットで似たような問題がありましたが。DAG用ファームウェアには対策が入っています。

名称積層セラミックコンデンサ(MLCC)
容量22pF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-04060/
使用箇所C19,C20
解説 マイコン用水晶の発振用コンデンサです。
水晶発振子なので、発振の為の部品です。

名称積層セラミックコンデンサ(MLCC)
容量0.1uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-00090/
https://akizukidenshi.com/catalog/g/g113582/
使用箇所C1,C2,C3,C4,C5,C6,C7,C8,C9,C10,C12,C13,C14,C16,C21,C22,C29,C30,C32,C33
解説 どこのご家庭にも常備されている村田のラジアルリード型積層セラミックコンデンサ(MLCC)です。
海外メーカー品と比べて、大きさがかなり均一に作られています。
#データシートにはサイズの範囲が書かれているくらいばらつきがあるのですが、村田製はほぼ均一サイズです。
Dマークがついてディスコンになったのが非常に悲しいです…
世界的に積層セラミックコンデンサが不足しており、製造能力がすべてチップタイプに振り分けられている為でしょうか。
ちなみにラジアルリード型は片側からのみ端子が出ているタイプです。両側から出ているのはアキシャルリード型です。(主に抵抗がアキシャルリードタイプです)

名称炭素皮膜抵抗
抵抗値10KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16103/
使用箇所R1,R3,R4,R13,R14,R15,R16,R17,R18,R23,R24,R25,R26,R27,R28,(R29 不要です)
解説 マイコン用MCLR用、I2Cバス用、OPAMPの倍率回路、SDカード信号線の安定化用プルアップ抵抗です。
R29は設定でオフにしているため不要なのですが、空きパターンがあると我慢できないという方は10kΩを取り付けてください。

名称タクトスイッチ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-03648/
使用箇所SW1,SW2,SW3,SW4,SW5,SW6,RESET
解説 汎用品のタクトスイッチです。気に入った色や長さがあるならそちらを利用しても大丈夫です。
参考用の秋月リンクは白スイッチです。ページの下の他の色もあります。
S1〜S3があれば一通りの操作が可能です。S4〜S6があればより便利な操作ができます。

名称USB MiniB
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gC-02235/
使用箇所CN1(USB MiniB)
解説 安心のスルーホール実装(基板貫通)です。
基板に実装するときには、ぴったりと位置を合わせてちょっと斜めに押し込むような感じで入れる必要があります。
信号端子が、きちんと穴に入っていないと、押し込んだ時に非常に曲がりやすいです。
外装のGND端子だけでなく、5本の端子がきちんとスルーホールに入っているか見ながらゆっくり挿入してください。

名称USB type-CコネクタDIP化キット(シンプル版エコノミータイプ)
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gK-15426/
使用箇所CN1(TypeC) USB MiniB
解説 USB TypeCを実装しやすくした基板です。便利。
TypeCコネクタでPCなどに接続したい場合は、MiniBコネクタではなく、こちらを利用することもできます。
両方使う場合は信号線が長くなるのであまりお勧めできませんが、普通に使えたりします。

名称抵抗
抵抗値5.1KΩ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gR-08547/
使用箇所R8,R9
解説 TypeCのCC1、CC2端子用のプルダウン抵抗です。
この抵抗が無いと、正式なTypeCコネクタは5Vを供給しません。TypeAからケーブルで変換した場合等はなくても問題ありません。
また、TypeCコネクタを利用しない場合もこちらの抵抗はいりません。空きパターンが我慢できないという方は取り付けてください。

名称青LED
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gI-02754/
使用箇所LED
解説 安い青LEDです。20本入り。極性があるので取り付け方向を間違えないようにしてください。
最初にこのLEDで動作確認をするため、事前にLEDテスター等で点灯するかを確認しておくとよいかもしれません。

名称炭素皮膜抵抗
抵抗値680Ω
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16681/
使用箇所R2
解説 LEDの電流制限抵抗です。
抵抗値は大きめです。まぶしくない明るさにしています。LEDを別のものに変えたり、明るさを変更したいなら抵抗値を調整してください。

名称マイクロSDカードスロット
型番DM3AT-SF-PEJM5
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gC-02395/
使用箇所基板右下 シルク印刷は形状のみ
解説 ヒロセのマイクロSDカードスロットです。
表面実装な上にピッチが狭く、樹脂部分も多いため、半田付け時の熱にも注意が必要です。
カード挿入検出スイッチは側面にあります。割と金属板がむき出しなので、半田付け作業時ここにフラックスなどがかからないようにしてください。
SDカードの挿入検知ができなくなる場合があります。
カードを挿入しても反応せず、この部分を爪で押さえたりすると検知する場合、ここが接触不良です。

名称丸ピンICソケット 8ピン
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-00035/
使用箇所24LC64,OPAMP
解説 OPAMPとEEPROM用のICソケットです。
ソケットを利用せずにそのままICを基板にはんだ付けする場合は不要です。
交換を考えていたり、EEPROMを外部からリセットしたい場合などはソケットをつけて簡単に交換可能にしておいた方がよいでしょう。

名称オーディオ用電解コンデンサー
容量10uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-08377/ 販売終了
代替品:秋月電子
https://akizukidenshi.com/catalog/g/g104621/ 販売終了
代替品:秋月電子
https://akizukidenshi.com/catalog/g/g110590/ 注:オーディオ用ではありません
使用箇所C31,C34
解説 小さめの音響用コンデンサです。PCMチップの近所に取り付けるときに使っています。
極性があります。このシリーズは終息のようなので、在庫が無ければ普通の小さめのコンデンサでもいいかと思います。
販売終了していたため代替品をつけています。

名称オーディオ用無極性電解コンデンサー
容量10uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-04638/
使用箇所C23,C24
解説 音響用のMUSEコンデンサです。
50V品を使っています。大きいのですが、安定感があります。
無極性の為、どちら向きに取り付けても問題ありません。

名称オーディオ用無極性電解コンデンサー
容量4.7uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-04637/ 販売終了
代替品:https://akizukidenshi.com/catalog/g/g115098/ 在庫があれば
代替品:https://akizukidenshi.com/catalog/g/g130140/
千石電商:https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=3AJD-NTHU
使用箇所C25,C26
解説 音響用の4.7uFです。こちらも50V品を使っています。
25V品は細くて。
※極性あり品を使う場合は極性にご注意ください

名称NJM2845DL1-33
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gI-11299/
使用箇所U3(NJM2845)
解説 3.3Vのレギュレータを使っています。
ただし、この部品は前半が同じ型番で、後半の33の部分だけが異なった電圧違いの部品があります。
05の5V版と18の1.8V版があります。ご注意を。

名称LM1117MPX-1.8
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gI-06378/ 販売終了
DigiKey
https://www.digikey.jp/ja/products/detail/texas-instruments/LM1117MPX-1-8-NOPB/366731
使用箇所LM1117MPX
解説 PIC32MZDAシリーズのコア電圧を生成する1.8Vのレギュレータで大電流品です。
消費電流が多いためか、他のPIC32シリーズと異なりチップ内蔵ではなく、外部から供給する必要があります。
かなり発熱するためヒートシンクをつけています。3.3Vから生成しているのですが。
なお、LM1117には末尾の型番違いがあり、電圧が違います。LM1117MPXまでで型番ですので、違う型番を間違って買わないようにしてください。
秋月の箱の中、たまに違う型番が紛れているので要注意。
なお、こやつもかなり発熱します。できればヒートシンクをつけてあげてください。
ヒートシンクがC33のコンデンサの足に接触してしまう可能性があります。ショートに注意してください。GND側なら大丈夫かとは思うのですが。

名称ポリスイッチ
容量500mA
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-12628/ 500mA品
https://akizukidenshi.com/catalog/g/g100777/ 650mA品
使用箇所PF1
解説 ポリスイッチです。
MAXはリファレンス構成で480〜510mA程度を消費します。500mA品は、1000mAで遮断されるため余裕はありますが、定格ギリギリです。
心配な場合は650mAなどの1つ上のランクを利用してください。ごつくなるけど。
実装する時は、高さがあるので、足の曲がっているところをまっすぐにして、奥まで押し込むか、取り付けた後にぐにっと曲げる必要があります。
でも、この曲がりまっすぐにしてよいものかとも思いますが、気にしない事にします。
DCジャックを実装していた場合は、手をぶつけてポリスイッチが曲がったとしてもDCジャックにぶつかって過剰に曲がらないので一安心です。

名称炭素皮膜抵抗
抵抗値10Ω
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gR-16100/
使用箇所R21,R22,R30
解説 OPAMPの電源供給ラインに使っているノイズ低減用の抵抗です。
PCMチップの電源供給ラインにもつけています。

名称積層セラミックコンデンサ(MLCC)
容量1.0uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-04066/
使用箇所C17
解説 5V電源の供給ラインに追加している電源ノイズ吸収用のコンデンサです。

名称有機ELディスプレイ
型番QT095B
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-14435/
使用箇所DISP
解説 高価な有機EL(OLED)グラフィックフルカラーディスプレイです。
微妙に発色はよろしくなく、解像度もやや低めですが、カラーの力はそれらすべてを覆します。
内蔵の制御コントローラSSD1331は、直線やボックス描画、ドット転送などのグラフィックアクセラレーション機能があって少ないデータ転送量で画面を描画することができ、負荷を下げることができます。
ただ、有機ELはどうしても寿命という点では液晶よりも不安が残ります。
非常に高価で脆いガラス製のため、取り扱いには注意してください。
ソケット側を丸ピンソケットにして、高さを抑えた場合は、有機ELディスプレイ基板に最初から実装されているピンを細ピンに交換してください。
なお、有機ELディスプレイ基板の背面にインバータ回路が搭載されており、ここが結構ノイズを出します。OLEDの明るさを暗くするとノイズが減ります。

秋月電子の在庫が無い場合、この商品はほかでも値段はいくらか高いですが販売されているようです。
Amazonにもあったりします。見た感じ基板のシルク印刷まで一緒なので同じ製品のようなのですが‥
試していない為、動かない可能性もあります。
参考用
https://www.amazon.co.jp/VKLSVAN-0-95%E3%82%A4%E3%83%B3%E3%83%81-OLED%E3%83%87%E3%82%A3%E3%82%B9%E3%83%97%E3%83%AC%E3%82%A4%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%83%95%E3%83%AB%E3%82%AB%E3%83%A9%E3%83%BC-SSD1331-Arduino%E3%81%AB%E5%AF%BE%E5%BF%9C/dp/B08FM7HFM6/

名称丸ピンIC用ソケット
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-01014/
又は
https://akizukidenshi.com/catalog/g/gP-01591/
使用箇所DISP
解説 有機ELディスプレイ(OLED)を細ピンヘッダに改造した場合に利用する丸ピンICソケットです
7ピンを利用します。ずばり7ピンの品が売っていますが、うっかり足を曲げてしまったりすると一発で折れるので、予備が欲しい方用に40本の分割タイプも記載しておきます。丸ピンソケットが不足しているときに加工して使うことができて便利です。
意外と高い品でもあります。

名称ピンヘッダ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gC-00167/
または
http://akizukidenshi.com/catalog/g/gC-00082/
使用箇所USBPWR,PICKIT
解説 OPNAMシリーズはUSB電源だけでなく、DCジャックからの給電でも動作します。
どちらでも使えるようにする場合、USBPWRをピンヘッダにして、ジャンパピンで電源供給方法を選択できるようにしています。
USB電源でしか使わない、という場合はピンヘッダを使わなくても構いません。

名称ジャンパーピン
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-03689/
使用箇所USBPWR
解説 USBPWRにピンヘッダを利用した場合は、ジャンパピンでUSB電源を切り離すことができます。
DCジャックから給電した状態で、USBを接続する場合は、ジャンパピンを必ず外してください。

名称ロングピンヘッダ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gC-02961/
使用箇所FMBUS1,FMBUS2,I2CCTRL,SOUND
解説 制御基板とFM音源基板をつなぐ部分に利用しています。
ピンヘッダでつなぐ場合は、端子がむき出しにならないようにメスコネクタを加工してカバーを作成するのも手かと思います。
なお、通常のピンヘッダ(http://akizukidenshi.com/catalog/g/gC-00167/)では、FM音源基板との間のスペースである15mmに対応できません。
この為、長めの部品を15mmに加工して利用しています。
その昔、かつての場所にあった千石電商ではそのものずばりの15mmがあったのですが、何処に消えたのか見つかりません。

名称金属スペーサー(RFB3-5)
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-07473/
使用箇所外周ネジ穴 一番下の足
解説 金属スペーサーです。100個入りもありますのでご注意を。
両端ともメネジとオネジ・メネジなどの違いがあります。
FM音源基板の下、地面との間のスペーサーに使っています。

名称金属スペーサー(RMB3-15)
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-07482/
使用箇所外周ネジ穴 FM音源基板と制御基板の間
解説 金属スペーサーです。こちらも100個入りがあります。
先頭の型番で両端ともメネジ、片側がオネジ・メネジなどの違いがあります。
金属スペーサーなので、基板の端子に接触させたり、レジストが剥がれた状態で基板に接触させないでください。
芋半田などしなければ接触しませんし、基本GNDパターンの上に配置されています。
心配な場合は、ポリワッシャー(https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=2AME-MAEH)を追加してください。

名称鍋平小ねじ(M3x6)
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-10245/
使用箇所外周ネジ穴
解説 金属なべ小ねじです。
長さが異なるものがいくつか売られています。
URLは6mm品です。実際には5mmを使っていますが、100個入り(http://akizukidenshi.com/catalog/g/gP-07325/)しかないのです。
ネジが長くて一番下が5oだと入りきらないかも・・。心配なら5mm品を調達してください。

名称炭素皮膜抵抗
抵抗値1.8kΩ(1kΩ〜1.8KΩ)
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16392/
使用箇所R7,R10
解説 PCM音源の出力抵抗です。1K〜1.8Kの幅で抵抗値を調整してください。
リファレンス構成では、1.8Kを採用しています。
多少大きさが想定よりも違っていても、メニューから音量調整することができます。

名称金属皮膜抵抗
抵抗値1kΩ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gR-08535/
使用箇所R5,R6
解説 PIC32MZDAシリーズ内蔵のDDR2メモリコントローラに、リファレンス電圧を供給するための抵抗です。
誤差の少ない金属皮膜抵抗を使用してください。余裕がある場合は、抵抗値がそろっているペアを組み合わせてください。

名称炭素皮膜抵抗
抵抗値1kΩ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gR-16102/
使用箇所R11,R12
解説 PCMチップからの出力につける抵抗です。
リンクは炭素皮膜抵抗にしてあります。
R5,R6で金属皮膜抵抗を購入・用意しているため、余計に購入したくなかったり金属皮膜抵抗が勿体なくない場合は、金属皮膜抵抗を利用してください。

名称炭素皮膜抵抗
抵抗値4.7kΩ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gR-16472/
使用箇所R19,R20
解説 OPAMP用の中間電位生成用抵抗です。
こちらもリンクは炭素皮膜抵抗ですが、金属皮膜抵抗でも問題ありません。

名称導電性高分子アルミ固体電解コンデンサー
容量220uF
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-08291/
使用箇所C11,C15
解説 3.3V及び1.8Vを供給するレギュレータの出力段に取り付けているコンデンサです。
極性があります。
大きさ的に220uFのOSコンでぎりぎりです。もっと大きい場合、周囲の抵抗などにショートするかも。
本当は大きくしたいのですが。あ、別メーカー製品で小さい奴があるなら大きくても大丈夫ですね。
OSコンなどの外周が金属パッケージのコンデンサを使う場合、R7抵抗とのショートにご注意ください。

名称導電性高分子アルミ固体電解コンデンサー(OSコン)
容量470uF
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-08292/
使用箇所C18
解説 OSコンの470uFバージョンです。でかいです。極性があります。
もうちょっと小さいのでも大丈夫です。が、OSコンの330uFは470uFと同じ大きさです。

名称オーディオ用電解コンデンサー
容量220uF
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-08375/
使用箇所C27,C28
解説 OPAMP用の中間電位生成用コンデンサです。極性があります。
作成例としてオーディオコンデンサではなく、OSコンで代用している場合があります。電圧生成用なので正直どちらでもよいかと思います。
容量としては220〜470uF程度あれば大丈夫です。ただ、容量が大きい場合、サイズが問題になるかもしれません。
またOSコンを使う場合は、金属パッケージの為、近所にあるR19,R20,R21抵抗とのショートに注意してください。かなり接近しており、ギリギリです。

名称DCジャック
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gC-01604
使用箇所DCJACK
解説 シンガトロン社製のジャックです。
マル信のでもかまいません。(http://akizukidenshi.com/catalog/g/gC-00077/)
が、ACアダプタを使わずUSB接続だけで電力供給するならば要りません。
あ、接続するACアダプタの電圧は5Vで、センタープラスになります。今時のACアダプタ(http://akizukidenshi.com/catalog/g/gM-01801/)ならOKです。
DCジャックを取り付ける場合は、ACアダプタをDCジャックに差したままの状態で、USBケーブルを絶対に接続しないでください。
USBPWR端子のジャンパを必ず取り外しておいてください。



・FM音源基板 OPNAM(YM2608 + YM2151)

名称YM2608B,YM2151,YM3016D,YM3012
入手場所海外通販、オークション等
使用箇所FM1(YM2608B),Y1(YM2151),DAC1(YM3016D),Y2(YM3012)
解説 主役であるYAMAHA製FM音源チップと専用DACです。
何とか手に入れてください。
YM2608Bでなく、YM2608の場合は、設定メニューでウェイト値をHeavyにしてください。

名称OPAMP TLC2274又はNJM7044D
入手場所 RS Online
https://jp.rs-online.com/web/p/op-amps/3312182/
秋月電子
http://akizukidenshi.com/catalog/g/gI-02371/
使用箇所U1(TLC2274),U2(TLC2274)
解説 OPAMPです。TLC2274は秋月では取り扱いがありません。
4回路入力なRailtoRailであれば、他のOPAMPでも大丈夫のようです。
秋月電子ではNUJ7044Dとか。
#別のOPAMPを使う場合はピンアサインが同一であるか確認してください
 また、YM3016Dの出力側には8ピンのOPAMPを2つ使うこともできます。

名称OPAMP NJM4560L
入手場所 秋月電子
https://akizukidenshi.com/catalog/g/gI-11197/
使用箇所NJM4560L(シルク印刷は外形の四角のみ)
解説 OPAMPです。2回路入り縦配置の部品です。
ユニバーサル丸ピンICソケットを使用すると、やや高さがあるのですが、
周囲の電解コンデンサとほぼ高さは一緒なので大丈夫でしょう。
1番ピンの位置には三角マークのシルク印刷を入れています。

名称74HC04
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gI-14058/
使用箇所U4(74HC04)
解説 インバータです。YM2608のメモリアクセスは正論理なのです。なぜか。
一般的なチップのCEは負論理なので、反転が必要なのです。

名称3ch出力プログラマブル周波数ジェネレーターモジュール
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gK-10679/
使用箇所AE-SI5351A
解説 はんだ付けが困難なPLL-ICと水晶発振子をモジュール化した便利な一品です。
このモジュールは右向きに取り付けます。シルク印刷の文字の方向は左を向いているのですが、右上が1番ピンです。〇をつけてあります。
文字の方向は簡単には右を向かないのです。
PLL-ICですが、通常はマイコンなどの内部に入っている回路を個別に切り出して使えるようにしたものらしいです。
3Ch出力ですが、内部は2つの発信源と3つの分周器で構成されており、自由自在なのは2Chまでです。最後の1Chは分周だけでどうにかしないといけません。
なお、このPLL-ICは設定までに若干の時間がかかる為、高速立ち上がりが必要だったり、一瞬でも途切れることが許されないデバイスには向きません。

名称3.5mmステレオミニジャック 基板取付用 MJ-8435
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gC-09060/
使用箇所2151OUT,SSGOUT,2608OUT
解説 ステレオミニジャックです。
すべてをミキシングする運用前提なら1つだけでも大丈夫です。

名称ICソケット シュリンク64ピン
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-04408/
使用箇所YM2608
解説 64ピンでピン間1.778mmのシュリンク品です。残念ながら板バネ式です。
もう64ピンDIP品なんてチップは少ないようで、秋月電子では丸ピン版ICソケットは終売してしまっています。

名称丸ピンICソケット 24ピン
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-00032/
使用箇所Y1(YM2151)
解説 幅600mil品です。秋月電子では桟ありと桟なしが売っています。

名称丸ピンICソケット 14ピン
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-00028/
使用箇所U4(74HC04),U1(TLC2274),U2(TLC2274)
解説 丸ピンICソケットを利用してください。
安い板バネ式もありますが、正直直ぐ壊れます。ちょっとでも力をかけようものならすぽっと抜けていくのです。
なお、物によっては幅が600milと300milがある場合があります。

名称丸ピンICソケット 16ピン
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-00029/
使用箇所Y2(YM3012),YM3016
解説 DAC用のICソケットです。
ちなみにDACは音源チップから供給されるクロックで動作しています。音源のリセット端子とDACのリセット端子も共用で配線しているので、
音源チップをリセットする時にはDACもリセットしています。この時にちょっとぷちっと音がします。
曲によっては音源チップを隅々まで設定を行って演奏しているのですが、一部の曲はあえて再設定するのを省略していたりします。
この場合、曲が正常に演奏されませんのでリセットを行う必要があったりします。

名称丸ピンICソケット 8ピン
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-00035/
使用箇所AE-Si5351A
解説 PLLモジュール用のICソケットです。
制御基板では24LC64を取り付けるのに使っています。

名称丸ピンIC用ソケット シングル8P
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-01015/
使用箇所NJM4560L
解説 縦配置OPAMPのICソケットです。
8Pで30円なので地味に高いです。40ピン(https://akizukidenshi.com/catalog/g/gP-01591/)をカットして使うのもありです。

名称ピンヘッダ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gC-00167/
または
http://akizukidenshi.com/catalog/g/gC-00082/
使用箇所MIX2
解説 2151とSSGの出力をミキシングする場所に利用します。
1つの端子だけで接続するなら、両方を2本のジャンパ(LとR用)でミキシングしてください。
制御基板でもUSBPWR部分に使っています。

名称ジャンパーピン
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-03689/
使用箇所MIX
解説 2151とSSGの出力をミキシングする場合に利用します。
制御基板でもUSBPWR部分に使っています。

名称分割ロングピンソケット
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gC-05780/
使用箇所FMBUS1,FMBUS2,I2CCTRL,MIX
解説 制御基板との接続部に利用します。
2列の分割式ピンソケットを分割して使っていますが、結構加工が難しいです。
2x2(https://akizukidenshi.com/catalog/g/gC-08337/)や2x8など専用品(https://akizukidenshi.com/catalog/g/gC-02761/)もあります。コスパは悪いです。

名称積層セラミックコンデンサ(MLCC)
容量0.1uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-00090/
https://akizukidenshi.com/catalog/g/g113582/
使用箇所C1,C4,C5,C6,C7,C17,C20,C30,C42,C43,C47,C48
解説 どこのご家庭にも常備されている村田のラジアルリード型積層セラミックコンデンサ(MLCC)です。
海外メーカー品と比べて、大きさがかなり均一に作られています。
#データシートにはサイズの範囲が書かれているくらい誤差があるのですが、村田製はほぼ均一サイズです。
Dマークがついてディスコンになったのが非常に悲しいです…
世界的に積層セラミックコンデンサが不足しており、製造能力がすべてチップタイプに振り分けられている為でしょうか。
ちなみにラジアルリード型は片側のみ端子が出ているタイプです。両側から出ているのはアキシャルリード型です。(主に抵抗がアキシャルリードタイプです)

名称オーディオ用無極性電解コンデンサー
容量10uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-04638/
使用箇所C3,C8,C31,C32
解説 音響用のMUSEコンデンサです。
50V品を使っています。大きいのですが、安定感があります。
無極性の為、どちら向きに取り付けても問題ありません。
DRAM周辺(C8,C32)はかなりスペースが苦しいので、ここだけ25V品(http://akizukidenshi.com/catalog/g/gP-04624/)を利用したほうがいいかもしれません。

名称オーディオ用無極性電解コンデンサー
容量4.7uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-04637/ 販売終了
代替品:https://akizukidenshi.com/catalog/g/g115098/ 在庫があれば
代替品:https://akizukidenshi.com/catalog/g/g130140/
千石電商:https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=3AJD-NTHU
使用箇所C2,C15,C16,C21,C22,C39,C40
解説 音響用の4.7uFです。こちらも50V品を使っています。
25V品は細くて。
※極性あり品を使う場合は極性にご注意ください

名称積層セラミックコンデンサ(MLCC)
容量68pF
入手場所秋月電子
https://akizukidenshi.com/catalog/g/g108048/
使用箇所C49(YM3016D直下)
解説 YM3016Dのリファレンス回路に合ったコンデンサです。どうやらノイズ対策用部品の模様です。
※単品が販売終了した為10個入りのリンクに切り替えています。

名称積層セラミックコンデンサ(MLCC)/フィルムコンデンサー
容量2700pF
入手場所秋月電子(MLCC)
http://akizukidenshi.com/catalog/g/gP-08119/
千石電商
https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-08KR
RS-Online(フィルムコンデンサー)
https://jp.rs-online.com/web/p/polyester-film-capacitors/6644224/
使用箇所C9,C11,C12,C14
解説 2700pFのコンデンサです。秋月電子ではこの容量のフィルムコンデンサがなく、積層セラミックコンデンサしか選択肢がありません。
積層セラミックコンデンサの場合は5mmピッチなので、足を補正して3mmくらいに直してください。
RS-Onlineではフィルムコンデンサ(F2Dシリーズ)も取り扱っています。
写真がちょっと違うのですけれども、データシートに行けばいつものF2Dシリーズです。
単価だけなら千石電商が安いです。

名称フィルムコンデンサー
容量2200pF
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-07686/
千石電商
https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-08U3
使用箇所C10,C13
解説 2200pFの音響によいとされているフィルムコンデンサです。

名称フィルムコンデンサー
容量1500pF
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-15044/
使用箇所C33,C36
解説 1500pFのコンデンサです。
ついに秋月で取り扱いが開始されましたので、積層セラミックからフィルムコンデンサに変更しました。

名称フィルムコンデンサー
容量1000pF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-07673/
使用箇所C34,C35,C37,C38
解説 音響に良いとされているフィルムコンデンサです。
値段も安くて良いのですが、ちょっと高さがあります。

名称炭素皮膜抵抗
抵抗値4.7KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16472/
使用箇所R1,R11,R12,R13,R14
解説 R1は、DACに使っています。ビット列の選択用のピンです。
10kΩでも問題ないと思いますが、参考にした回路が4.7kΩだったので伝統的にそのまま利用しています。
古いチップなのである程度電流が流れた方がなんだか安心できます。
R11,R12,R13,R14はYM3016のアナログ回路部分に使っています。

名称金属皮膜抵抗
抵抗値10Ω
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-08515/
使用箇所R31,R32
解説 10Ωですが、金属皮膜の大電流用です。
こちらは5VのUSB電源からDACのアナログ系に流れるところでノイズ低減の為に入れています。
10Ωx1だとなんか電流が不足していた感じだったので、2つにしました。ノイズ低減用なので、気にしなければ別にジャンパでもいいとは思います。
制御基板側でも利用しています。
制御基板側は炭素皮膜品で十分ですが、こちらの金属皮膜抵抗の10Ωが流用できます。
金属皮膜品 > 炭素皮膜品なのです。

名称金属皮膜抵抗
抵抗値33Ω
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-08517/
使用箇所R10
解説 YM3016D用です。炭素皮膜でいいんですが、1/6Wサイズの大きさで33Ωがこれしかなかったので。

名称炭素皮膜抵抗
抵抗値1KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16102/
使用箇所R21
解説 SSG音源はある程度電流を流さないと出力が出てきません。
電流を流すための抵抗です。

名称炭素皮膜抵抗
抵抗値8.2KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16822/
使用箇所R18,R25,R28,R33
解説 OPAMP周りの抵抗群です。LPF等を構成しています。

名称炭素皮膜抵抗
抵抗値1.8k〜3.9KΩ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gR-16182/
使用箇所R35,R36
解説 YM2151側音源の出力抵抗です。1.8K〜3.9Kの幅で抵抗値を小さくすることで電流を多くとれます。
3.9Kだとイヤホンによっては音が小さいと感じるかもしれません。ライン出力用がメインです。
リファレンス構成では1.8Kを採用しています。

名称炭素皮膜抵抗
抵抗値1K〜2.0KΩ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gR-16102/
使用箇所R15,R16,R22,R23
解説 YM2608側音源の出力抵抗です。
YM2151側と比べて音量が小さい為、1K〜2K等で抵抗値を小さくした方がよいです。
リファレンス構成では1Kを採用しています。

名称炭素皮膜抵抗
抵抗値270Ω
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16271/
使用箇所R17
解説 OPAMP周りの抵抗です。

名称半固定抵抗
抵抗値2KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-06061/
使用箇所VR5
解説 SSGのミキシングボリュームに使っています。
これもオリジナル部品を作っていたメーカーがディスコンになったので、セカンドソースメーカーに切り替わっています。
電子ボリュームチップ(2500円)は高いのです。
ちなみに英語名はポテンショメータです。
旧基板では10kΩ(103)を使っていました。10kΩだと結局ボリュームの小さいほうのみで調整していたので、抵抗値を下げました。

名称丸ピンIC用ソケット
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-01591/
使用箇所DRAM
解説 DRAM基板の細ピンヘッダを基板に直接はんだ付けしない場合に利用する丸ピンICソケットです
ぴったり40ピンなので、10ピン毎に分割して利用してください。意外と高い品でもあります。



・FM音源基板 OPNAL2(YM2608 + YM3812)

名称YM2608B,YM3812,YM3016D,YM3014
入手場所海外通販、オークション等
使用箇所YM2608(YM2608B),YM3812(YM3812),YM3016(YM3016D),YM3014(YM3014)
解説 主役であるYAMAHA製FM音源チップと専用DACです。
何とか手に入れてください。
YM2608Bでなく、YM2608の場合は、設定メニューでウェイト値をHeavyにしてください。

名称OPAMP TLC2274又はNJM7044D
入手場所 RS Online
https://jp.rs-online.com/web/p/op-amps/3312182/
秋月電子
http://akizukidenshi.com/catalog/g/gI-02371/
使用箇所TLC2274
解説 OPAMPです。TLC2274は秋月では取り扱いがありません。
4回路入力なRailtoRailであれば、他のOPAMPでも大丈夫のようです。
秋月電子ではNUJ7044Dとか。
#別のOPAMPを使う場合はピンアサインが同一であるか確認してください
 また、YM3016Dの出力側には8ピンのOPAMPを2つ使うこともできます。

名称OPAMP NJM4560L
入手場所 秋月電子
https://akizukidenshi.com/catalog/g/gI-11197/
使用箇所NJM4560L(YM3016下、シルク印刷は外形の四角のみ)
解説 OPAMPです。2回路入り縦配置の部品です。
ユニバーサル丸ピンICソケットを使用すると、やや高さがあるのですが、
周囲の電解コンデンサとほぼ高さは一緒なので大丈夫でしょう。
1番ピンの位置には三角マークのシルク印刷を入れています。

名称OPAMP NJM3414AD
入手場所 Mouser
https://www.mouser.jp/ProductDetail/Nisshinbo/NJM3414AD?qs=kirO9wjNG9%2FH%2FUUuQGLkEQ%3D%3D
使用箇所OPAMP(基板左下側8ピン)
解説 OPAMPです。2回路入り8ピンです。
単電源が可能なタイプを利用しています。

名称74HC04
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gI-14058/
使用箇所7404(74HC04)
解説 インバータです。YM2608のメモリアクセスは正論理なのです。なぜか。
一般的なチップのCEは負論理なので、反転が必要なのです。

名称3ch出力プログラマブル周波数ジェネレーターモジュール
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gK-10679/
使用箇所AE-Si5351A
解説 はんだ付けが困難なPLL-ICと水晶発振子をモジュール化した便利な一品です。
このモジュールは右向きに取り付けます。シルク印刷の文字の方向は左を向いているのですが、右上が1番ピンです。〇をつけてあります。
文字の方向は簡単には右を向かないのです。
PLL-ICですが、通常はマイコンなどの内部に入っている回路を個別に切り出して使えるようにしたものらしいです。
3Ch出力ですが、内部は2つの発信源と3つの分周器で構成されており、自由自在なのは2Chまでです。最後の1Chは分周だけでどうにかしないといけません。
なお、このPLL-ICは設定までに若干の時間がかかる為、高速立ち上がりが必要だったり、一瞬でも途切れることが許されないデバイスには向きません。

名称3.5mmステレオミニジャック 基板取付用 MJ-8435
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gC-09060/
使用箇所3812OUT,SSG OUT,2608OUT
解説 ステレオミニジャックです。
SSG OUTを有効にする場合は、MIX1端子の接続方法に工夫が必要です。解説を確認してください。
すべてをミキシングする運用前提なら1つだけでも大丈夫です。

名称ICソケット シュリンク64ピン
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-04408/
使用箇所YM2608
解説 64ピンでピン間1.778mmのシュリンク品です。残念ながら板バネ式です。
もう64ピンDIP品なんてチップは少ないようで、秋月電子では丸ピン版ICソケットは終売してしまっています。

名称丸ピンICソケット 24ピン
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-00032/
使用箇所YM3812
解説 幅600mil品です。秋月電子では桟ありと桟なしが売っています。

名称丸ピンICソケット 14ピン
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-00028/
使用箇所7404(74HC04),TLC2274
解説 丸ピンICソケットを利用してください。
安い板バネ式もありますが、正直直ぐ壊れます。ちょっとでも力をかけようものならすぽっと抜けていくのです。
なお、物によっては幅が600milと300milがある場合があります。

名称丸ピンICソケット 16ピン
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-00029/
使用箇所YM3016
解説 DAC用のICソケットです。
ちなみにDACは音源チップから供給されるクロックで動作しています。音源のリセット端子とDACのリセット端子も共用で配線しているので、
音源チップをリセットする時にはDACもリセットしています。この時にちょっとぷちっと音がします。
曲によっては音源チップを隅々まで設定を行って演奏しているのですが、一部の曲はあえて再設定するのを省略していたりします。
この場合、曲が正常に演奏されませんのでリセットを行う必要があったりします。

名称丸ピンICソケット 8ピン
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-00035/
使用箇所AE-Si5351A,YM3014,OPAMP
解説 PLLモジュール用のICソケットです。
制御基板では24LC64を取り付けるのに使っています。

名称丸ピンIC用ソケット シングル8P
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-01015/
使用箇所NJM4560L(YM3016下、シルク印刷は外形の四角のみ)
解説 縦配置OPAMPのICソケットです。
8Pで30円なので地味に高いです。40ピン(https://akizukidenshi.com/catalog/g/gP-01591/)をカットして使うのもありです。

名称ピンヘッダ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gC-00167/
または
http://akizukidenshi.com/catalog/g/gC-00082/
使用箇所MIX2
解説 2151とSSGの出力をミキシングする場所に利用します。
1つの端子だけで接続するなら、両方を2本のジャンパ(LとR用)でミキシングしてください。
制御基板でもUSBPWR部分に使っています。

名称ジャンパーピン
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-03689/
使用箇所MIX2
解説 3812とSSGの出力をミキシングする場合に利用します。
制御基板でもUSBPWR部分に使っています。

名称分割ロングピンソケット
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gC-05780/
使用箇所FMBUS1,FMBUS2,I2CCTRL,MIX
解説 制御基板との接続部に利用します。
2列の分割式ピンソケットを分割して使っていますが、結構加工が難しいです。
2x2(https://akizukidenshi.com/catalog/g/gC-08337/)や2x8など専用品(https://akizukidenshi.com/catalog/g/gC-02761/)もあります。コスパは悪いです。

名称積層セラミックコンデンサ(MLCC)
容量0.1uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-00090/
https://akizukidenshi.com/catalog/g/g113582/
使用箇所C1,C4,C5,C6,C7,C17,C20,C30,C42,C43,C47,C48
解説 どこのご家庭にも常備されている村田のラジアルリード型積層セラミックコンデンサ(MLCC)です。
海外メーカー品と比べて、大きさがかなり均一に作られています。
#データシートにはサイズの範囲が書かれているくらい誤差があるのですが、村田製はほぼ均一サイズです。
Dマークがついてディスコンになったのが非常に悲しいです…
世界的に積層セラミックコンデンサが不足しており、製造能力がすべてチップタイプに振り分けられている為でしょうか。
ちなみにラジアルリード型は片側のみ端子が出ているタイプです。両側から出ているのはアキシャルリード型です。(主に抵抗がアキシャルリードタイプです)

名称オーディオ用無極性電解コンデンサー
容量10uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-04638/
使用箇所C3,C8,C18
解説 音響用のMUSEコンデンサです。
50V品を使っています。大きいのですが、安定感があります。
無極性の為、どちら向きに取り付けても問題ありません。
DRAM周辺(C8,C32)はかなりスペースが苦しいので、ここだけ25V品(http://akizukidenshi.com/catalog/g/gP-04624/)を利用したほうがいいかもしれません。

名称オーディオ用無極性電解コンデンサー
容量4.7uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-04637/ 販売終了
代替品:https://akizukidenshi.com/catalog/g/g115098/ 在庫があれば
代替品:https://akizukidenshi.com/catalog/g/g130140/
千石電商:https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=3AJD-NTHU
使用箇所C2,C15,C16,C21,C22,C39,C40
解説 音響用の4.7uFです。こちらも50V品を使っています。
25V品は細くて。
※極性あり品を使う場合は極性にご注意ください

名称積層セラミックコンデンサ(MLCC)
容量68pF
入手場所秋月電子
https://akizukidenshi.com/catalog/g/g108048/
使用箇所C49(YM3016D直下)
解説 YM3016Dのリファレンス回路に合ったコンデンサです。どうやらノイズ対策用部品の模様です。
※単品が販売終了した為10個入りのリンクに切り替えています。

名称積層セラミックコンデンサ(MLCC)/フィルムコンデンサー
容量2700pF
入手場所秋月電子(MLCC)
http://akizukidenshi.com/catalog/g/gP-08119/
千石電商
https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-08KR
RS-Online(フィルムコンデンサー)
https://jp.rs-online.com/web/p/polyester-film-capacitors/6644224/
使用箇所C9,C11,C12,C14
解説 2700pFのコンデンサです。秋月電子ではこの容量のフィルムコンデンサがなく、積層セラミックコンデンサしか選択肢がありません。
積層セラミックコンデンサの場合は5mmピッチなので、足を補正して3mmくらいに直してください。
RS-Onlineではフィルムコンデンサ(F2Dシリーズ)も取り扱っています。
写真がちょっと違うのですけれども、データシートに行けばいつものF2Dシリーズです。
単価だけなら千石電商が安いです。

名称フィルムコンデンサー
容量2200pF
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-07686/
千石電商
https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=EEHD-08U3
使用箇所C10,C13
解説 2200pFの音響によいとされているフィルムコンデンサです。

名称炭素皮膜抵抗
抵抗値4.7KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16472/
使用箇所R1,R11,R12,R13,R14
解説 R1は、DACに使っています。ビット列の選択用のピンです。
10kΩでも問題ないと思いますが、参考にした回路が4.7kΩだったので伝統的にそのまま利用しています。
古いチップなのである程度電流が流れた方がなんだか安心できます。
R11,R12,R13,R14はYM3016のアナログ回路部分に使っています。

名称金属皮膜抵抗
抵抗値10Ω
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-08515/
使用箇所R31,R32
解説 10Ωですが、金属皮膜の大電流用です。
こちらは5VのUSB電源からDACのアナログ系に流れるところでノイズ低減の為に入れています。
10Ωx1だとなんか電流が不足していた感じだったので、2つにしました。ノイズ低減用なので、気にしなければ別にジャンパでもいいとは思います。
制御基板側でも利用しています。
制御基板側は炭素皮膜品で十分ですが、こちらの金属皮膜抵抗の10Ωが流用できます。
金属皮膜品 > 炭素皮膜品なのです。

名称金属皮膜抵抗
抵抗値33Ω
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-08517/
使用箇所R10
解説 YM3016D用です。炭素皮膜でいいんですが、1/6Wサイズの大きさで33Ωがこれしかなかったので。

名称炭素皮膜抵抗
抵抗値1KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16102/
使用箇所R21
解説 SSG音源はある程度電流を流さないと出力が出てきません。
電流を流すための抵抗です。

名称炭素皮膜抵抗
抵抗値1k〜3.9KΩ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gR-16182/
使用箇所R35,R36
解説 YM3812側音源の出力抵抗です。1K〜3.9Kの幅で抵抗値を小さくすることで電流を多くとれます。
3.9Kだと音が小さいと感じるかもしれません。ライン出力メインです。
リファレンス構成では1Kを採用しています。

名称炭素皮膜抵抗
抵抗値1K〜2.0KΩ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gR-16102/
使用箇所R15,R16,R22,R23
解説 YM2608側音源の出力抵抗です。
YM3812側と比べて音量が小さい為、1K〜2K等で抵抗値を小さくした方がよいです。
リファレンス構成では1Kを採用しています。

名称半固定抵抗
抵抗値2KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-06061/
使用箇所VR5
解説 SSGのミキシングボリュームに使っています。
これもオリジナル部品を作っていたメーカーがディスコンになったので、セカンドソースメーカーに切り替わっています。
電子ボリュームチップ(2500円)は高いのです。
ちなみに英語名はポテンショメータです。
旧基板では10kΩ(103)を使っていました。10kΩだと結局ボリュームの小さいほうのみで調整していたので、抵抗値を下げました。

名称丸ピンIC用ソケット
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-01591/
使用箇所DRAM
解説 DRAM基板の細ピンヘッダを基板に直接はんだ付けしない場合に利用する丸ピンICソケットです
ぴったり40ピンなので、10ピン毎に分割して利用してください。意外と高い品でもあります。



・DRAM基板 OPNAM/OPNAL2共通

名称DRAM M11B416256A-35J
容量4Mbit
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gI-01451/
使用箇所UM1(DRAM)
解説 4MBit(512KB)のDRAMです。
YM2608のADPCM用です。256KBでよいので実際には半分しか使っていません。
MAXは、2608のADPCMをPICが代替処理可能ですので、オプションでDRAMタイプをCPUにすることで、DRAMがなくてもADPCM演奏を行うことができます。
ロードも早いしいろいろ便利です。実DRAMの方が少し音質がまろやかではあります。LPFが結構聞いてる感じです。

名称細ピンヘッダ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gC-06631/
使用箇所DRAM基板
解説 丸ピンソケットICに差すための細ピンヘッダです。
DRAM基板に利用します。ぴったり40ピン必要なので失敗するかもと思う人は2つ買った方が良いかも。
基板にDRAMを搭載する前に、まずこのピンヘッダを基板に先につけてください。DRAMの下にもピンがあって、DRAMを先に搭載してしまうとピンを取り付けられません。



■参考用 OPNAM ProMAX製作手順

※必ずしもこの手順で製作しなければならないものではありません
 自分が作る時の手順であり、動作しない時に原因究明などがやりやすいのではないかと思います


1.制御基板から組み立てを開始します

2.PIC32MZ2064DAx176を取り付けます
  ※PICの足がすべてパッドに正常に乗っているか
  ※部品の方向が正しいか
  ※はんだくずなどで足がショートしていないかを確認してください

3.PIC32MZ2064DAx176の背面パッドを接続

  ※背面パッドを取り付ける前に、もう一度PICの方向、足が正常に取り付けられているかを確認してください

4.レギュレータ(NJM2845,LM1117MPX)を取り付け

5.マイクロSDカードスロットを取り付け

 ※この段階でつけた方が周りの部品が邪魔になりません
  また、正式なFWを書き込む場合にも使えます

6.PIC32周りのパスコン(0.1uF)、レギュレータ周りのパスコン(0.1uF)、MCLR抵抗(R1)、
  DDR2メモリのVREF抵抗(R5,R6)、水晶振動子(24MHz)、水晶発振用コンデンサ(C19,C20)

7.LED、LED用電流制限抵抗(R2)、リセットボタン、USBコネクタ(MiniBまたはTypeC。TypeCの場合はCC1,2用のプルダウン抵抗R8,R9も取り付け)、
  I2C抵抗(R3,R4)を取り付けます

8.PICKIT用ピンヘッダ(慣れてなければ、ピンヘッダを取り付けて安定した状態で確認を推奨)、
  マイクロSD周囲のプルアップ抵抗(R23〜R28)を取り付けます(マイクロSDカードスロットを取り付けてある場合)

9.レギュレータ用のコンデンサ(C11,C12,C13,C14,C15,C21)、5V電源のコンデンサ(C16,C18)を取り付け、DCジャック(必要な場合)、
  USB給電用のジャンパピン(USB給電する場合)、ポリスイッチ

10.(オプショナル)OLEDを取り付けるための丸ピンソケット(7ピン)、OLEDの細ピンヘッダ化改造し、OLEDを取り付けます

 ※OLED表示が見えなくても、LEDが1秒間に2,3回程度点滅することでわかるため、必須ではありません
  また、OLEDは交換不要でもいいのなら、直接はんだ付けするのもありです
  細ピンヘッダ化せず、太いピンソケットを実装するのもありです(ただしOLEDの背が高くなります)

 上記までで、だいたい以下製作記の「メモリはびんびんだぜ!」写真の状態まで製作が進みます
 https://asmpwx.seesaa.net/article/500303609.html

 この状態でブートローダーを書き込んで動作確認を行うことができます

11.ブートローダーを書き込む前のチェックを行います

 必要最低限の部品を実装し忘れていないかを確認してください。基板のリビジョンは違いますが、製作記の写真と同じ部品がつけられているか確認してください
 (製作記の写真はEEPROMのパスコンが1つ多く、また、タクトスイッチも1つつけられていますが、この2つは不要です)
 ブートローダーを書き込む前に、ボードに給電してショートしていないかを素早くチェックしてください。極短時間のみ給電します
 USBコネクタで給電する場合、電流制限があるアダプタ(5V 1A等)で、まずは大丈夫か確認するのを推奨します
 ショートしている場合、PC等のUSBポートが壊れる可能性がありますのでPCと接続するのは非推奨です
 ポリスイッチ、レギュレータが異常な発熱をしていないか確認してください
 動作中は発熱しますが、数秒や10秒程度では触れなくなるほど熱くはなりません

 異常があった場合、どこかショートしていないかを確認してください

12.ブートローダーを書き込みます

 ※PICKITやMPLAB IPEには癖がある為、以下の手順は認識不良などが起きにくい手順です 

 a.ブートローダーのZIPファイルを展開し、HEXファイルを準備します。HEXファイルはDAG用とDAR用の2つあります。実装したプロセッサにあった方を選んでください

 b.PICKITを用意します
  この時、PICKITとOPNAM ProMAXはまだ接続しませんが、ピンヘッダの接触が悪い場合がありますので、あらかじめ何回か抜き差しします
  最後は「外した状態」にしてください

 c.PICKITをPCに接続します。PICKITとOPNAM ProMAXは接続しておかないでください。PCがPICKITを認識する音がなるまで数秒程度待ちます

 d.MPLAB IPEを起動し、Device欄を「PIC32MZ2064DAx176」(xはG又はR)を選び、Applyボタンを押します

 e.ブートローダーのHEXファイルをMPLAB IPEに読み込みます

  ※メニューでFile→Import→HEX 又は 中央下あたりにあるHexFile:選択欄の右にあるBrowseボタンを押します
   出てくるファイルダイアログで、HEXファイルを選択します

 f.PICKITとOPNAM ProMAXを接続します

  ※ProMAXのピンヘッダの接触が悪い場合がありますので、PICKITをPCに接続する前に、PICKITとProMAXをあらかじめ何回か抜き差ししておくとよいです

 g.OPNAM ProMAXに、USBケーブルまたは5V 1A以上のACアダプタで給電を行います

  ※MPLAB IPEのAdvancedメニューで「PICKITから給電する」にしないでください。選んでいた場合は解除してください
   PICKITからは数十mAしか供給できません
   ProMAX側に5V 1A以上のACアダプタを接続するか、USBジャンパを差してUSBケーブルで給電します

 h.MPLAB IPEの中央にあるプログラムボタンを押して書き込みます

 ※PICKITとOPNAM ProMAXの接触が悪いと1、2分かかる場合があります
  その場合は画面にエラーが出るのを待ってから、
  ・OPNAM ProMAXとPICKITの接続を解除
  ・PCとPICKITの接続を解除
  ・MPLAB IPEを一度終了し、再度立ち上げ (※ただし前回のプロセスが残っている事あり)
  そのあと再度やり直してください
  上記を行っても正常に認識しない場合は、マシンを再起動してください
  NGとなったプロセスが残っている場合があります(タスクマネージャーから落としてもよいのですがわかりにくいので)

 i.ブートローダーの書き込みが正常に完了すれば、LEDが1秒に2,3回程度高速で点滅(点滅周期は、点灯時間と消灯時間が同じ)します

  ※OLEDが付いていれば、タイトル画面+ブートローダーである表示がでます
   点滅がおかしい場合、マイクロSDカードスロットの挿入検知がおかしい可能性があります
   おかしい点滅=点灯している時間と消灯している時間がイコールではなく、一瞬だけ暗くなる状態で点灯している時間の方が長い、等


※※PICKITで正常に書き込みできない場合、エラーが出る場合は以下をチェックしてください※※

・方向指定がある部品の方向を間違っている
・ショートしている箇所があり、ポリスイッチが異常発熱、レギュレータが異常発熱している
・PICKITの差す方向が間違っている(1番ピンの位置があっているか)
・部品を間違えて接続している
 抵抗の読みを間違えて違う抵抗をさしている
 抵抗が密集している箇所で、抵抗を縦に取り付けるところを横に取り付けている等
・USB給電の場合、USB給電用ピンヘッダにジャンパピンを差していない
・DCジャックからのACアダプタ給電の場合、ACアダプタをコンセントにさしていない
・動作確認に必要な部品がすべて取り付けられていない

 j.正式なファームウェアをブートローダーを利用して書き込みます

  ※bootloader.exeまたはSDカードにファームウェアを「FIRMWARE.HEX」というファイル名で格納して更新します
   手順はZIP内のドキュメントファイルを参照してください
   bootloader.exeのランタイムが不足している場合、エラーが出る可能性があります
   エラーに出てくるファイル名を検索し、Microsoftから該当のVisualC++用のランタイムファイルをダウンロードしてください
   (Microsoft社以外からはダウンロードしないでください)
   またはSDカードからファームウェアを更新してください
   起動してから15秒程度ですぐにBootloaderを認識しなくなる事象が確認されています
   bootloader.exeが認識しない場合、bootloader.exeを準備した状態で、ボードをリセットしてすぐに実行してください
   
13.PCMチップを取り付けます

 ※動作確認のためLEDをすでに取り付けており、近所にあるのではんだ付けがしにくいかと思いますが、耐熱フィルムなどで保護などして頑張ってください

14.残りのパスコン(0.1uF)、抵抗を取り付けます

15.ICソケットを取り付けます

16.タクトスイッチ、ロングピンヘッダ(FMBUS1,FMBUS2,SOUND)を取り付けます

 ※ロングピンヘッダは基板裏面に取り付けます

17.大き目のコンデンサを取り付けます

以上で、制御基板は完成です

18.DRAM基板を組み立てるために、音源基板をピンヘッダ固定用に用意します

19.音源基板のDRAM部分、中央2列に10本の細ピンヘッダを立てます。基板の裏にスペースがないとちゃんと立ちませんので、
  同じ厚みな紙のノート(KOKUYO)等を2冊用意し、基板を橋渡しするように浮かせるとやりやすいです
  斜めにならないように注意してください。両脇の2列にも細ピンヘッダを用意すると斜めになりにくいです

20.中央側2列の細ピンヘッダをはんだ付けします。高さがあるとDRAMにぶつかるので、半田は余りつけ過ぎないようにしてください
  細ピンヘッダは温まった状態で力を入れたりすると、にゅるっと樹脂部分がズレて飛び出たりするので、そういう場合は引っ込めてください

21.両脇の2列についても同様にはんだ付けをするか、ポリイミドテープで保護した状態にします
  ない方が少し楽です。コテを当てやすいです。
  はんだ付けした場合でもポリイミドテープで保護すると、以降の作業が楽になります

22.DRAM基板の1番ピンにはんだを少し載せます。あまり載せると浮きが酷くなるので軽くおきます

23.DRAMの位置を合わせ、軽くマスキングテープなどで動かないように固定します

24.DRAM基板に載せたはんだに小手を当てながら、軽くDRAMを上から押し付けてSOJ端子に半田がなじむようにします
  DRAMが浮かずにフラットになるようにしてください

25.1番ピンのちょうど180度反対側にある21番ピンをはんだ付けして固定します
  位置がずれていたり、DRAMが浮いていたりするとかなり半田が困難になるのできっちり調整してください

26.ほかのピンについてもはんだ付けします

27.外周2列の細ピンヘッダをはんだ付けしていない場合は、ここでポリイミドテープを剥がしてはんだ付けします

以上でDRAM基板は完成です
FM音源基板の製作に進んでください。FM音源基板は、リカバリできないような注意する場所は、ない、はず・・たぶん・・


■ブートローダー対応版ファームウェアの書込みの流れについて

・書込みについて

PICマイコンのファームウェア書き込みには、PICKITと呼ばれる専用ハードウェアを使い、MPLAP IPEと呼ばれるソフトウェアを使って書き込みます。

基板上に設けられたPICKITとシルク印刷されている端子に、PICKITを接続して書き込みます。


・ブートローダーについて

ブートローダーとは、基礎となるファームウェアです。

従来(ブートローダーが導入されていない場合)
   
FM音源プレイヤーのファームウェア
ハードウェア(基板)

ブートローダー導入後
     
FM音源プレイヤーのブートローダ対応ファームウェア
ブートローダー
ハードウェア(基板)


ブートローダーにより、ファームウェアが2段重ねになっており、FM音源プレイヤー本来のファームウェアも、ブートローダーの上で動くものになっています。


・ブートローダーは何をするのか

ブートローダーとは「ファームウェア更新機能を持った、ファームウェア管理用の専用プログラム」です。

ブートローダーは、FM音源プレイヤー本来のファームウェアを、SDカードから更新またはUSB接続されたPCから更新する機能を持っています。
FM音源プレイヤーのファームウェアを書き込んだ後は、表に出てこなくなります。
起動時に特定のボタンを押せば、またブートローダーは起動します。
FM音源プレイヤーのファームウェアを更新しても、ブートローダーを上書きしません。
つまり、ブートローダーを一度書き込んでおけば、あとはファームウェアをある程度自由に更新できるようになります。

ブートローダーは起動すると、LCD又はOLEDにブートローダーであることのメッセージを表示します。
※LCDの場合「InsertFirmware」等。OLEDの場合は、ブートローダーのビルド日付等

また、LEDを高速で点滅させます。(1秒間に2,3回程度)

ハードウェア組み立て途中の場合、LEDが点滅することでブートローダーの書込みに成功したかを判断することができます。


・ブートローダーによりどうなったか

ブートローダーと呼ばれるファームウェア更新専用プログラムと、本来のファームウェアの2つの組み合わせに変わっています。

ブートローダーを導入したことにより、専用ハードウェアであるPICKITでのファームウェア書込みは最初の1回のみ行えばよくなりました。
ファームウェア更新する時には、ボタンを押しながら起動することで立ち上がるブートローダーを起動し、PCからUSB接続またはSDカード内のファイルで更新することができるようになりました。

ただし、最初に作った時には、ブートローダーの書込みと、ブートローダーを使った本来のファームウェア書込みの2つの手順を行わなければならなくなっています。

FM音源プレイヤーのファームウェアも、ブートローダの上で動くファームウェアになっており、そのままPICKITで書き込んでも動作しなくなっています。

このセクションでは、初回に製作した時の更新方法についてと、次回以降の更新する時の更新方法についてについて解説します。


・製作後、1回目のブートローダー対応版ファームウェアの書込み方法について

 1.PICKITを使ってブートローダーを書き込みます

 2.ブートローダーが自動的に起動します

 3.ブートローダを使った更新手順を使って、FM音源プレイヤーのファームウェアを書き込みます

 4.更新に成功すると、以降は自動的にFM音源プレイヤーとして起動します

となります。

FM音源プレイヤーのファームウェアが書き込まれるまでは、常にブートローダーが起動します。
組み立て途中でファームウェアの確認を行う場合がほとんどだと思いますので、ブートローダーが起動することではんだ付けが正常なのか等を確認することができます。

・新しいファームウェアに更新するときの方法について

 1.左ボタン、真ん中ボタンを押したままリセットボタンを押すか、USBコネクタを差します

 2.ブートローダーが起動します

   ブートローダーがどうしても起動できない場合は、PICKITでブートローダーを書き込むことで強制的にブートローダーにすることができます
   ブートローダーが出る前のファームウェアの場合は、ブートローダーは起動しませんので、PICKITを使ってください

   PICKITを使ってブートローダーを書き込む場合は、製作後1回目の書込みと同様の手順となります

 3.更新用プログラムを使ってPCと接続して、FM音源プレイヤーのファームウェアを書き込むか、SDカードにファームウェアを「FIRMWARE.HEX」にリネームして格納し、挿入します

 4.更新に成功すると、以降は自動的にFM音源プレイヤーとして起動します




・ブートローダーの書き込み方


MPLAB Xをインストールした時に入る、MPLAB IPEツールを使って書き込みます。

従来基板でキャプチャしたため、チップ部分がPIC32MX270F256Dになっています。
説明文に記載したチップ種類を選択してください。

・MPLAB X(v5.1)をインストールして書き込み


ためしに最新版(https://www.microchip.com/mplabx-ide-windows-installer)を入れてみました。
※現在では5.5以上になっています。
6.xではPICKIT3が利用できなくなったようです。該当のPICKITで更新する場合は、アーカイブページ(https://www.microchip.com/en-us/tools-resources/archives/mplab-ecosystem)から旧バージョンのMPLAB Xをインストールしてください。

1.インストーラーを起動します。


2.利用規約に同意します。


3.インストール場所を選択します。


4.インストールオプションを選択します。
MPLAB IPEには最初からチェックがついていると思いますが、チェックがついていることを確認してください。
一番下のオプションはイヤなら外してください。


5.インストールします。


6.最後あたりにATMELの何かをインストールするか聞いてくるのですが不要です。キャンセルでOK。
デフォルトでしないにフォーカスが当たっていますし。


7.情報が出る場合があります。昔のも入っているとでるかも。
出た場合はOKを押します。


8.インストール後にコンパイラなどを入れるかを聞かれます。
MPLAB IDEで開発もします!って言う人は是非入れてみてください。

ファームウェアを書き込みたいだけの人はチェックを外して入れてください


9.MPLAB IPEを起動します。


10.MPLAB IPEが起動しました。
PICKIT3,4,MPLAB SNAPを接続してなかった場合は、この段階でPICKITを接続しておきましょう。
自動的にToolのところが更新されます。
次に、チップを選びます。
MAXの場合は「PIC32MZ2064DAR176」または「PIC32MZ2064DAG176」を選択してください。
※実装したチップのファームウェアを選択してください。


11.HEXファイルを読み込みます。

#なんだかグレーアウトして読み込めない事も多いみたいなので、そういう時は画面中央にあるHex File欄のブラウズボタンを押して読んでください

12.「PIC32MZ2064DAG176」または「PIC32MZ2064DAR176」が選択されているか確認してください
※この時に違うチップとか選択した状態だと、HEXファイルはちゃんと読み込めていません。
 スクリーンショットは読み込んだみたいに見えているのですが、チップを選択していない状態でHEXを読み、
 その後にチップを選択しています。すると、真ん中のグレーのエリアの「Hex file:」のところがグレーのままです。
 もうチップ選択から一度やり直しです。
 左のメニューみたいなのは、13以降で切り替えるAdvancedメニューの画面です


13.PICKITの電力供給モードを設定するため、Advancedモードに切り替えます…が、おそらくPIC32MZではPICKITから電力を供給しきれません


おそらく電力不足になるので、この手順は省略し、USBケーブルなどから電力を供給した状態で、ファームウェアを書き込んでください。
また、MPLAB SNAPは電力供給機能がないので、電力は別途供給してください。
電力を別で供給するので、手順の16へ進んでください

14.Advancedモードへの切り替え時にパスワードを聞かれますが、デフォルトは「microchip」と書いてあるので、入力してください。


15.左にメニューが追加されるので、「Power」ボタンを押してください。
右に電源設定メニューが出てくるので、「Power Target circuit from Tool」にチェックを入れてください。
終わったら「Operate」メニューに戻しておきます。


16.ターゲットボードにPICKITを接続して、Toolの横にあるConnectボタンを押します。
ターゲットボードのPICKIT端子の1番ピンと、PICKITの1番ピン(三角のマークがある)を合わせてください。
ターゲットボードでは5本の接続端子がありますが、PICKIT等の書き込みツールでは6本以上ある為、余ります。
方向が間違っていると、書き込み時にエラーが出ます。
PICKITが初期設定のままだと、PICKIT自体のファームウェア更新が開始されます。
数分程度待たされます。いったんPICKITのファームウェアが更新された後、PICKITが再認識されます。
この時にターゲットボードと接続されていると、稀に認識不良が起きることがあるので、接続せずに一回は空更新した方がいいのかもしれません。
※この画面では、チップ選択を後から替えた為に、Hexファイルの表示がグレーアウトしたままです。


17.もし、Connectボタンを押した時点で、画面のようなメッセージ「電力不足」が出た場合は、以下の対策を行ってください。
・制御基板+音源基板を接続した状態であった場合、音源基板などマイコン以外の基板を外す
・ターゲットボードからマイコン以外のチップを外す
・ターゲットボードのUSBから電源を供給する
製作途中の場合は、LEDの点滅を確認するために最低限マイコンが動作する部品をつけたところなどで確認していると思うので、
たぶんでないと思います。
ちなみに今回はチップを外すのが面倒だったので、USBコネクタから電源を供給しています。


18.Hexファイルが選択されていて、Connectにも成功していれば、Programボタンを押してください。
ファームウェアの書き込みが開始されます。PICKIT3ではおよそ20秒かかります。MPLABSNAPやPICKIT4ではおよそ5秒程度で終わります
!!書き込み中に接触が悪くなるとマイコンが破壊されます!!

※失敗した場合しばらく放置(2週間放置)したら復活してたことが

19.無事に書き込みが完了しました。
この時にLEDなどが実装されていれば、書き込み完了した瞬間からLEDが点滅を開始します。


※もしエラーが出て正常に更新できない場合は、以下の確認・対策を行ってください
・電源供給忘れ、電源供給用のショートピンの接続漏れ
 →電源供給が行われているか接続を確認してください。不明な場合はテスタなどで電圧を確認してください
・確認部品不足、部品半田付け不足、必要な部品が取り付けられていない
 →忘れている部品がない確認してください
・PICの取り付けが正常に行われていない
 →半田ブリッジによるピンのショート、はんだ付け不十分によるピン未接続、はんだ忘れを確認してください
  部品には取り付け方向があるものがあります
・MPLAB IPEのエラー、PICKITのエラー、ケーブル接触不良
 →いったんPICKITをPCから取り外し、MPLAB IPEを終了します。タスクに余計なプロセスが残っていることがあるので、関連のプロセスを停止するか、再起動します
 ターゲットボードをPICKITに接続しない状態で、PICKITをPCに接続します
 10秒程度まち、認識が正常に行われてからMPLAB IPEを起動します。その後ターゲットボードをPICKITに接続します
・書き込むファームウェアが間違っている
 →書き込むファームウェアを間違ってダウンロードし、書き込み設定していないかを確認してください
  間違っていても書き込み自体は完了しますが、正しく動作しません。LEDが1秒おきに点滅しません

ちなみにSNAPは8本接続できるのですが、ターゲットボードには▲マークから5本分接続するだけでOKです。
ピンが余るのはPICプログラマの伝統みたいなものです。(余ったピンはPICマイコンに書き込む以外で使ったりします)

■使い方

マイクロSDカードに曲データを入れ、プレイヤーにセットすることで、プレイヤー単体で音楽演奏することができます。

また、PCにUSB接続した状態でSCCI対応ソフトを起動することで、SCCI対応ソフトで演奏することもできます。

SDカード挿入せず、タイトル画面が表示された状態で、左ボタンを長押しすることでSCCIのNormalとLightモードを切り替えることができます。
 タイトル画面が表示された状態で、センターボタンを長押しすることで設定モードに入ります。
 設定情報はEEPROMに記録されます。

注意:USB接続する場合には、必ずプレイヤーの電源を切った状態で接続してください。ACアダプタを接続している場合は要注意です

マイクロSDカードはSDHC専用です。
16GBの秋月電子のSDHCカード(https://akizukidenshi.com/catalog/g/gS-15845/)を利用しています。
FAT32でフォーマットされている必要があります。

左ボタンが戻る、真ん中が一時停止・再生、右ボタンが次へです。

再生中に一時停止して、戻るボタン(左ボタン)を押すと設定メニューモードに入ります。
一時停止した状態で右ボタンを押すと、サブディレクトリ内で演奏していた場合、次のサブディレクトリへスキップします。


■ボタンについて

・通常再生時

下段の3つのボタンがメインに使うボタンになります。

左ボタン…前の曲に移動
真ん中のボタン…一時停止・再生開始
 一時停止中に、左ボタンを押すと設定画面に入る
 一時停止中に、右ボタンを押すと、ディレクトリ内の楽曲を再生していた場合、現在のディレクトリをスキップして次のファイルに移動します
右ボタン…次の曲に移動

上段3つのボタンは、より便利に使うためのボタンになります。

左ボタン…前のディレクトリに移動する。前がディレクトリではない場合は、前のファイルに移動する
真ん中のボタン…直接設定画面に入る
右ボタン…次のディレクトリの先頭に移動する。現在がディレクトリではない場合は、単に前のファイルに移動する

ディレクトリ内に各楽曲をまとめて格納し、視聴する使い方をする場合、1曲単位で移動するよりも早く前後の曲に移動することができます。

・設定画面時
下段の3つのボタンは以下の役割になります。

左ボタン…前の設定に移動
真ん中のボタン…現在の設定の設定を変更。押すたびに設定が変わる
右ボタン…次の設定に移動

上段3つのボタンは以下の役割になります。

左ボタン…設定の先頭に移動する
真ん中のボタン…特になし
右ボタン…設定の最後に移動します。Exitに移動するので設定画面を閉じたい場合に便利

設定メニュー

最新のファームウェアでは階層化されてより操作しやすくなっています。
各項目について解説します。
■1.PLAY
演奏に関連するメニューがまとまっています。

1-1.Loop Breaker
 ループ指定する曲の場合、2ループ目で中断するか、中断しないかを選びます
 また終了する曲の場合も無限にした場合、次の曲に進まず、もう一度同じ曲を再生します

1-2.Shuffle
 演奏曲をディレクトリ単位でランダムシャッフルして再生します
 1ディレクトリ2000曲までです

1-3.Sub Dir
 ルートディレクトリ直下のサブディレクトリを演奏対象に含めるかを設定します
 通常は有効にしてください

1-4.Sort Entry
 ディレクトリエントリ内のファイルを「短い名前」で昇順ソートして再生します

1-5.Play Hold
 有効にした場合、プレイリストで再生中、次の曲に遷移する時に一時停止状態になります。
 ユーザが何かボタンを押すまで、曲の再生が開始されません 1-6.Load All  再生対象のファイルをメモリにすべて読み込んでから再生します  有効でない場合、再生時に逐次SDカードから読み込んで再生するため、  演奏が間に合わない可能性があります  メモリにすべて入らないデータを演奏する場合はオフにしますが、  現在はそのようなデータははじかれるため、オフにするメリットはありません 1-7.Blank Wait  曲が終わった後、次の曲に進む前に指定した秒数の間を開けます  連続で再生してしまって、余韻が欲しい時に指定します 1-8.Auto Skip  指定した時間、1分、2分などで強制的に次の曲に進めます  デモ演奏として再生した場合に指定する使い方を想定しています 1-9.Hold  SDカードが挿入されていても自動的に再生開始しません。何かボタンを押すと再生を開始します 1-10.Play List  PlayListファイルがあった場合、PlayListファイルをもとに再生を行います  m3u8ファイルではありません 1-11.Comment  PlayListファイルにコメントが書かれていた場合、コメントを表示します  液晶に表示しており、OLEDにはでないため現状この設定に意味はありません  そのうち有効になるかもしれません 1-12.Rec Trigger  再生開始前に、ぴぴっと鳴らしてから再生します  外部でマルチトラックでミキシングする場合に位置合わせに便利かもしれません 1-13.Light Mode  再生時に極力負荷になるOLED表示や表示のための計算等をオフにし、再生速度の向上を図ります  画面は固定となります  FASTだとLOADALLでメモリに収まるデータ前提になりますが速度が向上します 1-14.RESUME  SDカードから再生している時、電源を切られても再投入した時に最後に再生していた曲から再開します  曲の情報をEEPROMに記録しながら再生するようになります  SDカードを抜いたり、違うSDカードに交換した場合は最初からになります ■2.DISPLAY 表示に関するメニューがまとまっています 2-1.SD LED  SDアクセス時に、LEDを点灯するかしないかを設定します 2-2.OLED SAVER  再生時に、一定時間経過したらOLED表示を暗くするまでの時間を設定します 2-3.OLED OFF  再生時に、一定時間経過したらOLED表示をオフにするまでの時間を設定します  なお、時間設定をOFF < SABERに指定しても意味がありません 2-4.OLED RESUME  OLEDがオフになっている時、表示が消えている時にボタンを押した時の挙動を指定します  DIRECT → OLEDがオンになると同時に、ボタンを押した時の挙動が実行されます  SCREEN → OLEDをオンにするだけで処理しません。画面が表示されてからもう一度押す必要があります 2-5.OLED PAN  OLED表示に、音源のパン(左右)状態を表示します  左右しか出てない場合、バーが半分の表示になります 2-6.OLED HALFBR  OLEDの明るさを暗く、常時SAVER状態にします。  画面は鮮やかではなくなりますが、OLEDの電源インバータに起因するノイズを抑制させることができます  ※それでも気になる方や、録音などを行いたい場合は、OLEDを外し、PCからコンソールなどで制御することをお勧めします 2-7.IOPS  FM音源へのレジスタアクセス頻度を、1秒間に1万アクセスを100%とした数値で、OLEDに表示します  2608へのDRAMアクセス等でないと、そこまで高負荷にはなりません  C352音源などの場合、表示が干渉します 2-8.SPECTR.OFF  OLEDに表示するスペクトラム表示をオフにします  周波数計算や表示に関する負荷を低減することができます  ただ、一番負荷が低いのはLIGHTMODEでLIGHTにした場合です ■3.CHIP FM音源チップに関するアクセス動作がまとまっています 3-1.RESET FMCHIP  曲の再生開始前に音源チップやDACをリセットする動作を指定します  HARD…チップにあるIC端子を使って、物理的にリセットします  SOFT…キーオフだけします  OFF…リセットしません  2608等はリセットしないとすぐに調子が悪くなるのでできればリセットした方がいいです  ただし、リセット時にはプチっと音がします 3-2.YM2608 WAIT  2608のアクセス時に自動挿入するウェイト量を調整します  2608はYM2608とYM2608Bがあり、2608無印はウェイトを増やさないと安定しない可能性があります 3-3.2203/2608  現在の2608が拡張モード(2608)か、標準モード(2203相当)かを表示、切り替えます  これが目当てのモードになっていない場合、曲データがおかしい可能性があります 3-4.2151 CLOCK ※OPNAMのみ。OPNAL2のYM3812は自動調整固定です  2151の動作クロックを固定するか、曲によって自動変更するかを指定します  もともと2151は3.58MHzで動作するものですが、4MHzで動かしている場合も多いです  発熱も多いので自動にしておくことをお勧めします 3-5.2608 CLOCK  2608の動作クロックを固定にするか、曲によって自動変更するかを指定します  8MHzと7.98MHzの違いしかないので、正直あんまり変わらないです 3-6.MANUAL RESET  このメニューでボタンを押したタイミングで、FM音源チップのリセットを行います  あんまり使わないかと思いますが、RESET FMCHIPをオフにしてて、おかしい場合に使うくらいですかね 3-7.2151PAN INVERT ※OPNAMのみ。OPNAL2のYM3812はモノラルです  2151のパン指定を逆転します。配線などで逆になっている基板バージョンなどは、反転指定してください  また、外部につなげる配線が逆の場合などにも役に立つかもしれません 3-8.2608PAN INVERT  2608のパン指定を逆転します。配線などで逆になっている基板バージョンなどは、反転指定してください  また、外部につなげる配線が逆の場合などにも役に立つかもしれません 3-9.ADPCM W-WAIT  2608のDRAMへのADPCM書き込みに関するウェイト量を調整します  結構早く書いても大丈夫なので、軽くすると演奏開始までが早くなります  だいたい曲の先頭でADPCMデータの転送があります ■4.VOLUME 4-1.2608 VOLUME  2608のFM音源のボリューム調整を行います  FM音源はTLパラメータの調整なので、変更することにより音色が崩れることがあります  TLパラメータは単純に加算、減算で調整しており、上限・加減でクリップされます 4-2.2151 VOLUME ※OPNAMのみ  2151のFM音源のボリューム調整を行います  FM音源はTLパラメータの調整なので、変更することにより音色が崩れることがあります  TLパラメータは単純に加算、減算で調整しており、上限・加減でクリップされます   3812 VOLUME ※OPNAL2のみ  3812のFM音源のボリューム調整を行います  FM音源はTLパラメータの調整なので、変更することにより音色が崩れることがあります  TLパラメータは単純に加算、減算で調整しており、上限・加減でクリップされます 4-3.SSG VOLUME  2608のSSG音源のボリューム調整を行います  16段階なので+−それぞれいくらか調整できます  この幅を超える場合は、音源基板の物理ボリュームで調整してください 4-4.PDX M.VOLUME  PDX再生時のマスタボリューム調整を行います  PDXはMDXファイルと連動して動作するPCMデータファイルです  PDXは再生するかどうかの設定が別にあるので、演奏させたい場合はまずその設定を有効にしてください 4-5.PDX VOLUME  PDXをPCM8で再生する場合、PCM8でボリューム調整が可能となっています  このボリュームパラメータを、実際のボリュームどれくらい反映するかを指定します 4-6.CPU-PCM VOLUME  PCMをエミュレーション再生している場合、最終的な調整用のマスタボリュームパラメータです  各種音源チップ別エミュレーション再生PCMは、個別でボリューム調整できますが、  最終段にこの設定による調整機能が入っています 4-7.VOLUME MODIFIER  VGM1.71以上で実装された、曲データの作者が注釈的に入れているどれくらいボリュームを調整すべきかの  パラメータを読取り、音量を調整する機能を有効にします  こんな調整データをいれるくらいならデータを変更してほしいところなのですが、元データに手を加えたくないのかもしれません  現在はC352でかつ+方向の調整しか有効にしていません ■5.PCM 5-1.PDX EMULATE  PDXファイルを演奏するかどうかを設定します  この設定が有効になっていないとPDXファイルは演奏されません  PDXファイルはMDXファイルと同じディレクトリに配置してください 5-2.PDX SIZEOW  PDXファイルのサイズが、読込可能サイズをオーバーした場合の挙動を設定します  オーバーした時点であきらめたり、サンプリングレートを下げて格納したりします  MAXではオーバーすることはほぼありません 5-3.PCM HARD  PDX及びYM2608とSEGAPCMをYM2608Bで演奏させるか、BU9480Fで演奏させるかを指定するスイッチです 5-4.ADPCM-B MODE  YM2608BのADPCM-Bを、YM2608のみに演奏させるか、256KBのADPCMメモリからオーバーした分をCPUが引き受けるか、  最初からCPUが演奏するかを設定します  CPUが演奏する方が開始までがかなり早くなります  DRAMが演奏する方がLPFが効いていてまろやかです 5-5.ADPCM PAN  CPUがエミュレーションするADPCMのパン(左右)を逆転する設定です  マスタースイッチとなっています 5-6.EXTRA PCM VOL  CPUがエミュレーションするPCM音源のボリュームを細かく調整可能にするかの設定です  有効にするとPCM演奏処理がEXTRAPCM側に切り替わります  ひょっとするとバグが潜んでいるかもしれません  EXTRAPCMボリュームは、各音源チップごとさらに個別チャンネルごと、全体のMIX時などの要所要所で音量を調整する機能です  マルチプライヤ、アジャスタ、リミッターが3つで構成されています  マルチプライヤで2倍等の大きい調整を行い、次段のアジャスタで1.2倍等の細かい調整を行います  リミッターで最終的に16ビットの範囲を超えたものをクランプするかの設定をします  PCMチップは16ビットですが、内部計算は32ビットで行われています  個別のChではクランプせず、最終的なMIXで16ビットにクランプするといった使い方を想定しています  マルチプライヤ→アジャスタ→リミッターで計算されていきます  マルチプライヤでx2して、アジャスタでx1.2した場合、総合では2.4倍になります  v2.64からEX-LIGHTを選択できるようになりました  各Ch別のボリューム設定をキャンセルし、MIX後の設定のみ有効になります  現状はC140,C352(PCMメインの音源)のみ対応しています 5-7.10A CH MULTIP  EXTRAPCMボリューム  YM2610のADPCM-Aエミュレーションのマルチプライヤです  x2、x4、x8… 1/2,1/4,1/8…のように2のべき乗でボリュームを調整できます  <<で大きくなる方向にシフト。>>で小さくなる方向にシフトします  ボタン操作はS3のように右ボタンが+方向なので、<<(左シフト)で大きくなります  S1が左ボタンで−方向で、>>(右シフト)で小さくなります 5-8.10A CH ADJUST  EXTRAPCMボリューム  YM2610のADPCM-Aエミュレーションのアジャスタです  2倍未満の細かい調整を行うことができます 5-9.10A CH LIMIT  EXTRAPCMボリューム  YM2610のADPCM-Aエミュレーションのリミッターです  個別のChでリミットする場合、例えば出力値が36000だった場合、この時点で有効にしたら32767に制限されます  ただ、別のChで-20000とかだった場合、制限しなければ合計値は16000になり、有効範囲内に収まりますが、  Ch個別の時点で制限していた場合、12767になります。 5-10.10A MIX MULTIP  EXTRAPCMボリューム  YM2610のADPCM-Aエミュレーションの6Ch合計時のマルチプライヤです 5-11.10A MIX ADJUST  EXTRAPCMボリューム  YM2610のADPCM-Aエミュレーションの6Ch合計時のアジャスタです 5-12.10A MIX LIMIT  EXTRAPCMボリューム  YM2610のADPCM-Aエミュレーションの6Ch合計時のリミッターです 5-13.10B CH MULTIP  EXTRAPCMボリューム  YM2610のADPCM-Bエミュレーションのマルチプライヤです 5-14.10B CH ADJUST  EXTRAPCMボリューム  YM2610のADPCM-Bエミュレーションのアジャスタです 5-15.10B CH LIMIT  EXTRAPCMボリューム  YM2610のADPCM-Bエミュレーションのリミッターです 5-16.SEG CH MULTIP 5-17.SEG CH ADJUST 5-18.SEG CH LIMIT  EXTRAPCMボリューム  SEGA PCMのCh個別のマルチプライヤ、アジャスタ、リミッターです 5-19.SEG MIX MULTIP 5-20.SEG MIX ADJUST 5-21.SEG MIX LIMIT  EXTRAPCMボリューム  SEGA PCMのMIX時のマルチプライヤ、アジャスタ、リミッターです 5-22.140 CCH MULTIP 5-23.140 CCH ADJUST 5-24.140 CCH LIMIT  EXTRAPCMボリューム  C140の個別圧縮Chのマルチプライヤ、アジャスタ、リミッターです 5-25.140 CH MULTIP 5-26.140 CH ADJUST 5-27.140 CH LIMIT  EXTRAPCMボリューム  C140の個別Chのマルチプライヤ、アジャスタ、リミッターです 5-28.140 MIX MULTIP 5-29.140 MIX ADJUST 5-30.140 MIX LIMIT  EXTRAPCMボリューム  C140のMIX時のマルチプライヤ、アジャスタ、リミッターです 5-31.RF5C CH MULTIP 5-32.RF5C CH ADJUST 5-33.RF5C CH LIMIT 5-34.RF5CMIX MULTIP 5-35.RF5CMIX ADJUST 5-36.RF5CMIX LIMIT  EXTRAPCMボリューム  RF5C68の個別Ch及びMIX時のマルチプライヤ、アジャスタ、リミッターです 5-37.SCC CH MULTIP 5-38.SCC CH ADJUST 5-39.SCC CH LIMIT 5-40.SCC MIX MULTIP 5-41.SCC MIX ADJUST 5-42.SCC MIX LIMIT  EXTRAPCMボリューム  SCCの個別Ch及びMIX時のマルチプライヤ、アジャスタ、リミッターです 5-43.352 CH MULTIP 5-44.352 CH ADJUST 5-45.352 CH LIMIT 5-46.352 MIX MULTIP 5-47.352 MIX ADJUST 5-48.352 MIX LIMIT  EXTRAPCMボリューム  C352の個別Ch及びMIX時のマルチプライヤ、アジャスタ、リミッターです 5-49.??? SQ MULTIP 5-50.??? SQ ADJUST 5-51.??? SQ LIMIT  EXTRAPCMボリューム  ???の矩形波Chのマルチプライヤ、アジャスタ、リミッターです  ※???音源は、該当音源のVGMファイルを再生することでアンロックされ、名称が表示されるようになります 5-52.??? TR MULTIP 5-53.??? TR ADJUST 5-54.??? TR LIMIT  EXTRAPCMボリューム  ???の三角波Chのマルチプライヤ、アジャスタ、リミッターです 5-55.??? NS MULTIP 5-56.??? NS ADJUST 5-57.??? NS LIMIT  EXTRAPCMボリューム  ???のノイズChのマルチプライヤ、アジャスタ、リミッターです 5-58.??? DP MULTIP 5-59.??? DP ADJUST 5-60.??? DP LIMIT  EXTRAPCMボリューム  ???のDPCM Chのマルチプライヤ、アジャスタ、リミッターです 5-61.??? FDS MULTIP 5-62.??? FDS ADJUST 5-63.??? FDS LIMIT  EXTRAPCMボリューム  ???のFDS Chのマルチプライヤ、アジャスタ、リミッターです 5-64.??? MIX MULTIP 5-65.??? MIX ADJUST 5-66.??? MIX LIMIT  EXTRAPCMボリューム  ???のMIX時のマルチプライヤ、アジャスタ、リミッターです ■6.PCM2 6-1.26xxPAN ADPCM A  2610のADPCM-AをCPUがエミュレーションするときに左右を反転させるかの設定です  パンはマスタースイッチ側でも有効になっていますので、両方反転なら元に戻ります。たしか 6-2.26xxPAN ADPCM B  2610及び2608のADPCM-BをCPUがエミュレーションするときに左右を反転させるかの設定です   6-3.SEG PAN PCM  SEGA PCMのパンを反転させるかの設定です 6-4.140 PAN PCM  C140のパンを反転させるかの設定です   6-5.RF5C PAN ADPCM A  RF5C68のパンを反転させるかの設定です 6-6.352 PAN ADPCM A  C352のパンを反転させるかの設定です   6-7.HIGH SAMPLE  CPUがエミュレーションする一部のPCM音源のサンプリングレートを、標準設計の2倍にする設定です  かなり重たくなる為、演奏がもたつく場合は、スペクトラム表示をオフにしたり、OLED表示オフにするLIGHTモードのご利用をご検討ください  サンプリングレートが高くなると、高音が綺麗に出るようになります  C140,C352,SCC,???音源が対応しています ■7.SCCI 7-1.SCCI MODE  SCCIモードをノーマルにするか、SCCI LIGHTにするかを選択します 7-2.SCCI WAIT  SCCI処理の時に挿入するウェイト設定を選択します   ■8.ETC 8-1.SD WAIT  SDカードアクセス時のウェイト設定を設定します・・が、MAXでは効いていないかと思います  SDカードアクセスはPIC32MZDA内蔵のSDホストコントローラーが担当しています 8-2.EEPROM  設定を、EEPROMに保存するか、SDカードにファイル形式で保存するかを選択します  MAXではEEPROMのみに保存することをお勧めします 8-3.OPENING BGM  起動時に専用ジングルを演奏するかを指定します  SDカードが挿入されている場合はスキップされます 8-4.SPECIAL TITLE  通常の起動画面ではなく、キャラクタータイトルを表示します 8-5.SD SPEED  SDカードのアクセス時間を計ります  使っているSDカードが早いかどうかを、相対的に知ることができます 8-6.PSG2SCC  PSG(SSG)音源だけで構成された楽曲の場合、PSG(SSG)の演奏を、SCCで演奏するかを設定します 8-7.PSG2SCC Ch.01 8-8.PSG2SCC Ch.02 8-9.PSG2SCC Ch.03  PSG音源をSCCで演奏する場合、各Chにどの波形を割り当てるかを設定します  波形設定は16種類可能ですが、基本は8種類です。後半8種類はコンソールなどで波形の設定が必要です 8-10.VIRTUAL SSG  仮想SSG音源を有効にする設定です  YM2608のレジスタ書き込みをトラップし、仮想SSG音源に流します  現在β実装です。PCM演奏のサンプリング周波数で動作するため、演奏データによって音質がことなります  PCMが無い場合、32KHz、42KHzで動作します 8-11.V-SSG VOLUME  仮想SSG音源のボリューム設定です  仮で4段階の設定です ■9.FIRMWARE 9-1.FIRMWARE  ファームウェアのバージョンや日付などを確認できます ■10.SAVE 10-1.SAVE EEPROM  設定をEEPROMに保存します 10-2.SD  設定をSDカードにファイルとして保存します  SDカードが挿入されていないと動作しません  結構動作が怪しいです 10-3.SD&EEP  設定をEEPROMとSDカードの両方に保存します  やはりSDカードへのファイル保存は結構怪しいです 10-4.CLEAR EEPROM  EEPROMのデータを初期化して、すべての設定を初期設定にします  次回起動時にEEPROMデータが壊れている表示が出て、初期設定が保存されます ■11.EXIT  メニューを終了します  S6ボタンを押すと、このメニューを選んだのと同じ動作をします

※古いFWの設定メニューです
 最新のFWはメニューが階層化されて操作しやすくなっています

1.Loop Breaker
ループ指定されている曲の場合、2ループで演奏を中断し、次の曲へ進めます。

2.Shuffle
演奏曲をシャッフルして再生します。メモリの関係でルートディレクトリでのみ動作します。2000曲までです。

3.Reset FMChips
曲ごとにYM2608B,YM3016D,YM2151,YM3012をハードリセット(Hard)するか、キーオフのみするソフトリセット(ソフト)か、リセットしないかを設定します。
リセットしないと、YM2608のタムポコ現象(リズム音源が勝手に暴発する)が発生したりします

4.BackLight
LCDのバックライトの点灯時間を設定します。操作後に自動点灯する時間を指定できます。

5.SCCI Mode
SCCIモードを通常モードかLightモードかを切り替えることができます。
複数枚の音源ボードを使い、任意に設定する必要がなければ、通常モードで十分かと思います。

6.2151Volume
ミキシング端子を使ってミキシングした場合、2151側の出力のほうが大きく聞こえる場合が多いようです。
その場合に、2151の音色のTLパラメータを操作して、2151側の音量を小さくする設定です。
音色によっては微妙に音色がおかしくなる場合があります。あきらめてミキシングバランスを無視するか、外部のミキサーで調整してください。

7.SubDirectory
SDカードの第1階層に存在するディレクトリ内部の曲を演奏対象にするかどうかを設定します。
演奏させたくない曲はディレクトリ内部にいれて、この設定をDisableにするか、第2階層のディレクトリ内部に入れれば演奏されません。

8.YM2608Wait
YM2608アクセス時のウェイト時間を調整します。
YM2608Bではなく2608ならばHeavyにしないと演奏が正常に行われない可能性があります。

9.Display Mode
演奏中、キーの液晶表示を切り替えます。
4759モード(3パターン)、2151モード、2608モード(2パターン)があります。

10.SD Speed
SDカードの速度を測定します。このメニューに合わせた状態でセンターボタンを押すと速度を表示します。
SDカードのSPIモードでアクセスするため、SDカード本来の性能でアクセスできるわけではありません。
これで測定したからどうということはないので、おまけ機能です。

11.2203/2608
2608の拡張モードを表示、切り替えます。
レジスタ0x29のbit7状態を表示しており、センターボタンを押すことで切り替えることができます。

12.SD LED
SDカードへのアクセス時にLEDを点灯させるかの設定がでます。

13.Comment
プレイリストファイルを再生する場合、プレイリストに書かれているコメントを表示するかどうかを設定します。

14.2151Clock
YM2151に供給するクロックを、3.57MHzか4MHz固定で設定するか、曲データに合わせて自動設定するかを設定します。

15.2608Clock
YM2608に供給するクロックを、7.98MHzか8MHz固定で設定するか、曲データに合わせて自動設定するかを設定します。

16.Hold
SDカードを挿入した状態でも、自動的に演奏を開始したくない場合に設定します。
待機状態の時は、何かボタンを押すと演奏を開始します。
この設定は、SCCIでの演奏をメインとして使う場合、SDカードのConfig設定のみを反映したい場合に使います。

17.Playlist
プレイリストファイルがSDカードにある場合でも、プレイリストを無視する場合に設定を変更します。

18.Manual Reset
このメニューに合わせてセンターボタンを押すことで、FM音源チップをハードリセットします。

19.OLED Saver
この設定で指定した秒数を経過した場合にOLED画面を減光し暗くします。
OLEDの寿命が気になる人向けの設定ですが、初期状態から短めの時間設定になっています。

20.OLED Off
この設定で指定した秒数を経過した場合にOLED画面をオフにします。
OLEDの寿命が気になる人向けの設定ですが、初期状態から短めの時間設定になっています。

21.OLED Resume
設定を有効にすると、OLEDが非表示状態の時にボタンを押すと、ボタン本来の動作を行わず、OLED表示を復帰させるだけにします

22.EEPROM
本体のEEPROMに書かれている設定のみを利用し、SDカードの設定ファイルを無視する場合などに設定します。
※OPNAM(4759)Proのみ

23.PlayHold
有効にした場合、プレイリストで再生中、次の曲に遷移する時に一時停止状態になります。
ユーザが何かボタンを押すまで、曲の再生が開始されません。

24.SCCI Wait
SCCI処理時、YM2608のウェイト量を設定します。
Lv.0が一番少なく、Lv.3が多くなっています。SCCI処理時にYM2608のリズム音源が暴発する場合、ウェイト設定を多い方に調整してください。

25.OpeningBGM
起動時にオープニングジングルを再生します
※OPNAM(4759)Proのみ

26.Special Title
起動画面をOPNAMキャラクタ画面にします
※OPNAM(4759)Proのみ

27.SortEntry
ディレクトリ内のファイルを昇順でソートします
※ソートは8+3ファイル名の8文字部分でソートしています

28. Blank Wait
曲が終了し、次の曲に進む時に、指定した秒数待ってから進みます
切れ目なく次の曲に進む場合、余韻がーという状況なら指定すると幸せになれるかもしれません

29. 2151PanInv
2151のLRチャンネルを入れ替えます。
基板によってはMIX端子が逆の問題があり、YM2608側に端子を接続した場合、YM2151側が逆に聞こえてしまいます
曲データで左右を入れ替えて対策されていない場合は、この設定で左右を入れ替えてください

30. 2608PanInv
2608のLRチャンネルを入れ替えます。
基板によってはMIX端子が逆の問題があり、YM2151側に端子を接続した場合、YM2608側が逆に聞こえてしまいます
曲データで左右を入れ替えて対策されていない場合は、この設定で左右を入れ替えてください

31. SSG V.Adjust
SSGのボリューム値のパラメータを底上げします。SSG音量が低めのデータの場合はこの設定で音量を増加することができます

32. ADPCM W-Wait
YM2608チップへのADPCM書き込み後に待つウェイト時間を、設定により調整することができます
曲の先頭にADPCMデータがある場合、ウェイト時間を減らすことで曲が演奏されるまでの時間を短縮することができますが、
書き込みが間に合っていない場合、ノイズだらけになります。あきらめてウェイトを増える方向に調整してください

33. SD Wait
SDカードアクセスのウェイトを調整します。SDカードによってはアクセスにウェイトが必要なものがある場合があります
OPNAM ProではSDカードに設定がないので役に立ちますが、StandardのOPNAMでは設定値はSDカードにないので、規定値をこちらに変更しないといけませんが、
そうなっていないかも・・場合によってはこの設定は役に立つかもしれません。

34. OLED Pan
OLED画面に、YM2151及びYM2608のパン(左右・両方)の状態を表示します
YM2608及びYM2151の発音状態表示の下、空いているラインにL,R、両方の表示を追加します
Lの場合は赤、Rの場合は青、両方の場合は白のラインが追加されます。また、バーの太さが変わり、左右のどちらかに寄ります

35. IOPS
OLED画面に、FM音源チップへの秒間の書き込み数を表示します。10000回の書き込みを100%として扱います
12.34%と表示された場合、1234回/秒のアクセス回数となります
まあ見れたからどうだっていうのはあるのですが、処理が行われているのかの判別にはなるかと思います

36. PDX Emulation
主にX68000用に利用されているMXDRV用の音楽ファイルである、MDXファイルに付属するPDXファイルの演奏を行う機能です
MXDRVはFM音源演奏及びPCM演奏を行うファイル形式です
PDXファイルはPCM音色を担当しています。X68000ではMSM6258チップで演奏が行われていますが、OPNAMではCPUとYM2608が代わりに演奏する
エミュレーション機能を実装しており、この機能を有効にするための設定になります。
※OPNAM(4759)Proのみ

37. PDX M.Volume
PDX演奏のマスターボリュームを設定します。
YM2608とYM2151は別チップであるため、音量は各チップの出力抵抗の設定によって異なっています
最適な音量はボード毎に異なる可能性があるので、音量の調整用の設定です
逆に原曲でPCMのボリュームが少し小さいや大きい場合に調整することもできます
※OPNAM(4759)Proのみ

38. PDX Volume
PDX演奏はFM音源と同じくボリュームを指定しているものがあります(PCM8使用曲のみ?)
このボリューム値を反映して演奏するかを指定するオプションです
反映の強さがイマイチわからなかったため、強弱(Low〜Middle〜High)を指定できるようにしてあります
また、実装当初はPCMボリュームを反映していなかったため、その演奏の方が良かったという人の為にOffにする設定もあります
※OPNAM(4759)Proのみ

39. AutoSkip
演奏を開始してから、1分、2分などで自動的に次の曲にスキップする機能です
時間がきたら容赦なく次の曲にスキップします。ザッピングするようなイメージでどのような曲かを聞くときなどに便利かも
デモ演奏用に追加しました

40. PCM Hardware
PDX再生時に使用するPCMハードウェアを選択します。
YM2608またはBU9480Fのどちらかを選択できます。
※Proとの互換用です

41. OLED HalfBR
OLEDの輝度を最低に落とすオプションです。OLED Saverが常に有効になった状態とも言えます。
OLEDに搭載されているインバータがノイズ源になっているので、輝度を落とすと静かになります。

42. Button Enhance
ボタンの動作を、押した時(ダウンエッジ)での動作から、押してから離した時(アップエッジ)の動作に変更します。
この動作により、短く押した場合と長押しした場合の動作を切り替えることができます。
左ボタンを長押しすると、前のディレクトリの先頭に
真ん中ボタンを長押しすると、設定画面に
右ボタンを長押しすると、次のディレクトリに
の動作になります。
※Proとの互換用です。Maxでは上記の動作は、上段にあるボタンに割り当てられています。

43. ADPCM-B Mode
YM2608B及びYM2610/B用の曲データが利用するADPCM-Bを、FM音源チップで動作させるかCPUがエミュレーションするかを選択できます。
ADPCM-Bは、通常では、YM2608に搭載されているDRAMを利用して再生されています。
DRAMで再生するか、DRAMに入りきらないデータの場合(YM2610用データの場合)分だけCPUエミュレーションするか、
すべてCPUエミュレーションするかを選択できます。
ちなみに、YM2608+DRAMで演奏する場合、LPFによりサンプリングレートが低くてもややマイルドな感じになる用です。

44. Load All
S98及びVGM再生時に有効です。
曲データの再生開始時に、すべてを読み込んでから再生するか、逐次読み込むか(従来の動作になります)を切り替えます。
SDカードのアクセスを最初に済ませてしまうので、消費電力の変動による影響を減らすことができます。

45. CPU-PCM Vol
CPUがエミュレーションするADPCM-A、ADPCM-Bの音量を調整することができます。
出力制限抵抗の調整をせずにある程度調整できます。

46. ADPCM Pan
CPUがエミュレーションするADPCMのパンを逆転することができる設定です。

47.Firmware
ファームウェアのバージョンを表示します。

48.Save Config
現在の設定をSDカードのconfig.cfgファイル又はEEPROM(EEPROM搭載機のみ)に保存します。
動作がおかしくなった場合は、一度ファイルをPCなどで削除してください。
EEPROMメニューでOnlyに設定した場合、SDカードには設定は保存されません(たぶん)
EEPROMのデータがおかしくなった場合は、左ボタンなどを押しながら起動すると起動時の読み込みをキャンセルすることができます
もしくはシリアルコンソールでつないで、EEPROMコマンドを利用し設定をランダムに書き換えてください。
チェックサムが一致していない場合は設定が壊れている扱いとしてスキップします。

49.Exit
設定モードを解除して前の状態に戻ります。

シリアルコンソールの使い方

TeraTermなどをご利用いただけます。
改行コードはLFのみなので、CRLFに変換するなどのオプションを指定してください。

!注意!
ピン制御コマンドは、基板作成時の動作確認用のコマンドです。音源チップを搭載した状態で使用しないでください。
最悪マイコンや音源チップが壊れます。

ピン制御コマンドは、使用前にセーフティスイッチ解除コマンドをまず実行しないと使えないようになっています。

シリアルコンソールを起動してEnterキーなどを押下することで、シリアルコンソールモードになります。
※SCCIを利用する場合は、SCCI対応ソフトを起動することで従来通り強制的にSCCIに切り替わります。


繋がった場合は、まずhキーを押してエンターキーを押してください。
コマンドヘルプが表示されます。

-h
Welcome to OPNAM(4759)Pro Console Version 1.01

command
 reset cpu|fm                        ... reset cpu/fm chip
 out/o 2151/M|2608/A reg dat         ... output fm register
 clock 2151/M|2608/A 3.57|4|7.98|8   ... select fm frequency
 eeprom [datas(hex)]|checksum|load   ... eeprom read/write/checksum/load setting
 button                              ... button test
 led on|off                          ... led control
 lcd init|cls|light|string           ... lcd control
     light on|off
     string x y string
 oled init|on|off|cls|bright|string  ... oled control
      bright brightness(hex)
      string x y color(hex) string
 sd init|dir|read/r|write/w|set|dump ... sd control
    read readsector(hex)
    write writesector(hex)
    dump
    set address datas
 play [filename(8+3)]                ... playfile/information
 stop                                ... stop play
 cd directory                        ... change current directory
 fm                                  ... dump fm register
 temp                                ... cpu temperature
 help/h/?                            ... this message

 unlock yes                          ... unlock safety switch
 pin/p 2151/M|2608/A pinname 0|1     ... output pin level (safety unlock only)
    pinname:IC|WR|RD|CS|D0..D7|A0|A1


コマンドの記述方法について

例1.
 reset cpu|fm                        ... reset cpu/fm chip

 コマンド+オプションを指定します

 reset cpu
 reset fm
 のように記述します。
 「cpu|fm」は、cpuまたはfmのどちらかを記述できるという意味です。


例2.
 out/o 2151/M|2608/A reg dat         ... output fm register

 コマンド+オプションを3つ指定します

 out 2151 10 2a
 out M 28 2a
 out 2608 7 3f
  o A 7 3f
 
 のように記述できます。
 「2151/M」は、2151またはMを記述できるという意味です。


例3.
 oled init|on|off|cls|bright|string  ... oled control
      bright brightness(hex)
      string x y color(hex) string

 oled init
 oled bright ff
 oled off
 oled string 12 16 ff test!

 のように記述できます。
 一部オプションでは、追加引数があります。そのようなコマンドは下に追加が必要な場合のオプションが追記されています。
 (hex)となっている引数は16進数で指定してください


例4.
 play [filename(8+3)]                ... playfile/information

 play
 play testdat~1.vgm

 のように記述できます。「[]」は省略可能の意味です。


コマンドの簡易説明

reset
 CPU又はFM音源をリセットします。

clock
 FM音源に供給するクロックを指定できます。あらかじめ決められた組み合わせ以外は指定できません。

eeprom
 オプション設定を管理するEEPROMの内容を表示したり、書き換えたり、書き換えた場合のチェックサム合わせや、
 内容をオプション設定に反映したりできます

button
 ボタンの押下状態を表示します。負論理の為押下していない状態では7となります。
 押したボタンのビットが0になります。全部押すと0になります。
 この数値が意図した状態と違う場合、ボタンの半田がおかしい可能性があります。

led
 LEDの点灯・消灯を制御します

lcd
 LCDの初期化、クリア、バックライト制御、文字列表示を行います

oled
 OLEDの初期化、表示・非表示、クリア、輝度(正確にはコントラスト00〜ffで、00が半分くらいの輝度です)、文字列表示を行います

sd
 SDの制御を行います。SDカードのSPIモード初期化、ディレクトリエントリの表示、セクタ読み込み、書き込み、データ設定、ダンプなどが行えます。
 
 SDカードはSPIモード初期化を行うことでデータの読み書きができるようになります。SDカードを初期化するわけではありません。

 sd init
 まずこのコマンドでSDカードを使えるようにしてください。(SDカードを挿入した状態でボードを起動していた場合、すでに初期化済みです)

 sd dir
 FAT32のディレクトリエントリを確認できます。8+3ファイル名のみです。
 →v1.02のコンソールバージョンからロングファイル名も表示するようになりました

 sd r 0
 リードコマンドで指定したセクタを読み込みます。SDバッファに読み込み、バッファをついでにダンプして表示します

 sd w 0
 SDバッファの内容を書き込みます

 sd set 10 01 02 03 04 ..
 バッファの内容を書き換えます。setの後に、アドレスを指定し、そのあとにデータを指定します。
 コマンドの有効最大長はそこまで長くありません。
 長いデータを書き換える場合は複数回指定してください。
 通常はsd readコマンドでバッファに読み込み、sd setコマンドで必要な場所だけを書き換え、sd writeコマンドでバッファの内容を書き込むという使い方をします。

play
 ファイルの再生を指定しています。8+3ファイル名のみです。
 ファイル名を省略した場合、再生中のファイル情報を表示します。

 ファイル再生中は、SDカードへのアクセスが必要なコマンドはブロックされます。
 再生が終了した場合は自動的にブロックは解除されます。

 →1.02のコンソールバージョンからブロックされないようになりました。

stop
 ファイルの再生を直ちに終了し、ブロックを解除します。

cd
 現在のカレントディレクトリを、指定したディレクトリに変更します。
 ルートディレクトリに直接戻る場合はcd /のように指定してください。1つ上はcd ..を指定してください。

fm
 FM音源チップのレジスタバッファにある情報を出力します。
 内部的に保持しているレジスタ情報の為、実際のチップの情報ではありません。大体同じです。

temp
 現在のCPU温度を表示します。
 OPNAM Pro MAXシリーズでは、エラッタの為にプロセッサ内蔵サーマルダイオードが機能しません。
 よってこのコマンドは動作しません。

help
 簡易ヘルプを表示します。


unlock yes
 ピン制御のロックを解除します。セーフティ解除は作成時のみに利用してください。
 音源チップをつけたままピンを制御しないでください。

pin
 ピンの出力を制御します。通常状態ではこのコマンドは実行できません。セーフティを解除する必要があります。
 ピン名としては IC WR RD CS D0 D1 D2 D3 D4 D5 D6 D7 A0 A1を指定できます。
 pin 2151 WR 1
 pin M IC 1
 のように指定できます。

SETTING.CFGの使い方

SDカードのフォルダ内に設定ファイル「SETTING.CFG」を配置しておくことで、そのフォルダ内の演奏に限定して設定を行うことができる機能について、
設定ファイルのサンプルだけでしか記載していなかったので、専用に章を設けて解説します。

※proではv2.19から追加された機能です
 ファームウェアのバージョンによっては利用できない可能性があります。アップデートしてください
 一部の設定項目が使えない場合もバージョンアップしてください


■どういう機能なのですか?

曲によっては、この曲だけ、音量を下げたい/上げたい!などという事があります。

対象の曲ファイルをフォルダに入れ、音量を調整する設定を入れた設定ファイルを同時に配置することで、
そのフォルダ内だけ設定を適用することができます。


■設定ファイルについて

テキストファイルです。
コメントも記載できます。
文字コードはおそらくどれでも大丈夫です。
改行コードはCRLFです。

要は、メモ帳で作成してOKということです。

適用したい曲ファイルの入っているフォルダに「SETTING.CFG」というファイル名で配置します。



■設定について

変更が必要な設定のみを記載してください。
変更が必要ない設定の記載は必要ありません。
現状の設定がそのまま引き継がれます。



■記載方法について

設定項目と設定値を1行ずつ記載していく形式です。

例.
LoopBreaker=on

設定項目と設定値の間は=を記載してください。
スペースやタブは自動的に省略されます。

例.
2151PanInv = invert


設定値は、行の先頭から記載してください。
コメント行は先頭を#から開始してください。

例.
#以下の設定は〜です



■簡単な記載例

#このフォルダの曲は適切に初期化しない為、チップ自体のハードリセットを強制します
ResetFMChips=hard

#SSG音量が低い為、音量を+2(設定値2)にします
SSGV.Adjust=2

.
.
.


※サンプルはv219tools内(ファームウェアのところにあるzipファイルです)にあります



■設定項目と設定値について

設定項目は大文字小文字を区別します。正確に記載してください。空白は途中に入りません。
設定値は数字及びアルファベット小文字で構成しています。

NGとなった設定行は無視されます。特にエラーなどは出ません。
設定が効いていないと思った場合は、設定ファイルの記載を確認してください。

また、設定しても意味がない設定については機能しません。
例えば、SCCIモードなどです。これはSDカードからの自動演奏中には意味がありません。



■設定項目/設定値一覧

設定項目と設定する項目値を記載します。
わかりにくい設定値についてのみ解説を記載しています。

・LoopBreaker

  on
  off
  inifinite


・Shuffle

  on
  off

・ResetFMChips

  soft
  hard
  off

・BackLight

  -
  0
  3
  5
  10
  30
  60


・SCCIMode

  normal
  normalf
  light
  lightf


・2151Volume

  15〜0
 16〜31

 ※15が100%で、0が50%です。
  16が100%で、31は180%程度まで増加します

・SubDirectory

  disable
  enable


・YM2608Wait

  heavy
  light


・DisplayMode

  0〜7

 ※0	2608標準	FM1-6,SSG,Rythm,ADPCMすべて表示
    1	2608簡易	FM1-3,FM4-6,SSG,Rythm,ADPCMをまとめて表示
    2	2151標準	FM1-8(2151)
    3	4759標準1	FM1-3,FM4-6,SSG,Rythm,ADPCM, FM1-3(2151),FM4-6(2151),FM7-8(2151)
    4	4759標準2	FM1-6,SSG,Rythm,ADPCM, FM1-2(2151),FM3-4(2151),FM5-6(2151),FM7-8(2151)
    5	4759簡易	2608すべて,2151すべて
    6	2151拡張	2151標準+クロック表示付き
    7	auto		



・SDSpeed

  機能しません


・2203/2608

  2608
  2203


・SDLED

  enable
  disable


・Comment

  comment
  graphic


・2151Clock

  auto
  3.57
  4.00

・2608Clock

  auto
  8.00
  7.98


・Hold

  enable
  disable

・PlayList

  disable
  enable


・ManualReset

  機能しません


・OLEDSaver

  0
  30
  60
  90

 ※0が無限


・OLEDOff

  0
  60
  120
  180

 ※0が無限


・OLEDResume

  screen
  direct

・EEPROM

  overwr
  only

・PlayHold

  enable
  disable


・SCCIWait

  0〜7

 ※0〜3	Lv.0 〜 Lv.3
  4〜7	LV.-1 〜 Lv.-4

・OpeningBGM

  disable
  enable

・SpecialTitle

  enable
  disable

・SortEntry

  enable
  disable


・BlankWait

  0
  1
  2
  3

 ※0がOff
  1〜3は、1秒〜3秒に対応


・2151PanInv

  invert
  normal


・2608PanInv

  invert
  normal


・SSGV.Adjust

  0〜7

 ※0〜4が、+-0 〜 +4
  5〜7が、-1 〜 -3


・2608Volume

  0〜31

 ※15が100%で、0が50%です。
  16が100%で、31は180%程度まで増加します


・ADPCMW-Wait

  light
  normal


・SDWait

  heavy
  light

・OLEDPan

  display
  none

・IOPS

  display
  none


・PDXEmulation

  enable
  disable

・PDXM.Volume

  0〜7

 ※0	50%	Level 0
    1	44%	Level -1
    2	37%	Level -2
    3	25%	Level -3
    4	56%	Level +1
    5	62%	Level +2
    6	75%	Level +3
    7	100%	Level +4

  通常のLv0は50%の計算値に設定されています
  7のLv+4が、元データそのままの100%です
  2608側は音量が小さい傾向にあるのですが、2151と2608の出力をちょうどいいくらいに調整すると、
  2608のDAC出力が大きすぎるため、計算値として50%の設定となっています


・PDXVolume

  0〜3

 ※0	Middle	反映量16
    1	Low	反映量8
    2	High	反映量32
    3	Off

 MMLでのボリューム値は0〜15であり、ボリューム値をどれくらいDAC計算に反映させるかの設定です
 VOL.8が100%です。数値が8より上は増幅し、数値が8より下は減衰傾向の計算をしています
 1つ変わるごとに反映量がどれくらい変化しているかが異なります
 Lowはほとんど変化せず、音量がある程度変化してほしくない聞き方をしたいときに設定します
 Middleはある程度変化が感じられる
 Highはボリューム値に忠実な計算になっていると言えますが、Vol0だと音が聞こえない計算値であり、
 低い数値だとあまり聞こえなくなるため、データによっては効きづらくなります

 Offはボリューム値を反映しなくなるので、データの作り手としては設定してほしくないのかもしれませんが、
 PCMパートの主な使い方であるドラム系がガンガン効いて欲しい場合はこの設定がよいかもしれません
 PDXエミュレーションリリース直後はこの設定であったため、この設定で慣れてしまった場合は、この設定がうれしいかも
 


・AutoSkip

 0〜3

 ※0	off
    1	60秒
    2	120秒
    3	180秒



よくあるかもしれない質問と回答

・ファームウェアを更新したいです

 ブートローダーを利用して更新します。具体的には、以下の2種類の方法があります
 1.PCとUSBで接続し、PC上で更新用のプログラムを実行する
 2.SDカードにファームウェアをFIRMWARE.HEXの名前でリネームして配置して更新する

 OPNAMシリーズのS1ボタンとS2ボタンの両方を押しながらリセットボタンを押すことで、更新モードで起動します
 この状態でPC上で更新プログラムを実行するか、又はファームウェアファイルを入れたSDカードを挿入します

 ※USBで更新する場合、更新モードに入ってから10秒程度経過すると更新ができなくなります
  もう一度更新モードに入り直し、更新プログラムを実行してください



・SCCI/SCCI2モードを利用するためにはどうすればよいのでしょうか?

 OPNAMシリーズをUSBでPCに接続し、そのままPC側でSCCI対応ソフトや設定ソフトを起動してください
 自動的にSCCIモードに切り替わります

 SCCIには、大きくNORMAL(音源構成固定製品用)、LIGHT(音源構成可変製品用)、SCCI2(最新仕様の音源構成可変)の3つがあります
 それぞれに対応しているため、設定メニューのSCCIでどの製品に対応するかを切り替えてください

 メニューで切り替えるほかに、起動してタイトル画面が表示されている間に、S1ボタンを長押しすることでも切り替えることができます

 ※それぞれの違いについてはSCCIについて調べてください



・一部のPCM曲の音量が小さいのですか

 PCM曲はデータそのものが音量を決定しています

 設定で、
 PCM > EXTRA PCM VOL
 を、EXTRA又はEX-LIGHTにして、音源別の音量調整を変更してください

 また、その音源全体でなく特定の曲だけが小さい場合、データを加工する必要がありますが、
 曲データの作成者が小さいなと思っていた場合、曲データの中にあるボリューム調整用の設定を有効にしている場合があります
 この場合は、設定メニューの
 VOLUME > VOLUME MODIFIRE
 をENABLE(有効)にしてください



・サブディレクトリの曲が再生されません

 設定メニューで切り替えできます
 PLAY > SUB DIR
 で有効、無効を切り替えてください

 サブディレクトリは、第一階層のディレクトリのみ対応しています
 (コンソールで制御する場合はこの限りではありません)

 #内部でシャッフル状態を覚えておくためのバッファのサイズによる制限です
  そのうちランダムシード値だけ覚えておいて、毎回ディレクトリスキャンすることで対応するかもしれません



・設定を初期化したい

 SAVE > CLEAR EEPROM
 を実行した後、リセットしてください
 その後メニュー画面を開き、設定を保存してください

 または、S2ボタンを押しながら電源を投入、またはリセットボタンを押すことで、既存の設定を読み込まず初期状態で起動します
 この後に、メニュー画面を開き、設定を保存してください



・設定をSDカードに保存したい

 SAVE > SAVE SD
 または
 SAVE > SAVE SD&EEPROM
 を使って、SDカードに設定ファイルを保存してください

 次に、
 ETC > EEPROM
 をONLYからOVERWRにしてください

 EEPROMメニューがONLYの場合は、EEPROMの設定しか使われません
 OVERWRは、SDカードにある設定ファイルで、現在の設定を上書きする設定になっています


 ※SDカード単位に設定を行いたい場合は、設定ファイルの利用をおすすめします



・PCMを高音質にしたい

 1.一部のPCM再生について、サンプリングレートを限界まで引き上げる設定があります
 PCM2 > HIGH SAMPLE
 をHIGHにしてください

 かなり負荷が高くなるので、負荷軽減オプションを有効にすることも検討してください

 この設定が有効になる音源は
 SEGA PCM、C140、C352、SCC、???音源です

 2.OLED表記の輝度を下げることで、電源ラインのノイズを減らすことができます
 DISPLAY > OLED HALFBR
 を有効にしてください

 画面が常時暗い状態となりますが、OLEDの電源ノイズを減らすことができます

 3.再生開始時にすべての曲データを読み込む
 PLAY > LOADALL
 を有効にしてください

 メモリに収まらないファイルの場合は再生できなくなり、スキップされます



・OLEDの焼き付きを防ぎたい

 DISPLAY > OLED SAVER
 の設定で、暗くするまでの時間を設定してください

 DISPLAY > OLED HALFBR
 の設定で常時暗くすることもできます



・OLEDが暗くなるのを何とかしたい

 DISPLAY > OLED SAVER
 の設定で、暗くするまでの時間を変更してください
 OFFにした場合は暗くなりません



・OLEDが消えている時にボタンを押したら操作がされてしまいました。まずは画面が復活してほしいです

 DISPLAY > OLED RESUME
 の設定で、SCREENに設定してください

 ボタンを押されたときに画面が非表示になっていた場合、ボタン操作は置いといていったん画面を復活させます。
 改めて表示を見ながら操作してください



・本体のボタンを使わずに操作できますか
・コンソールでコマンド制御できますか

 USB接続することで、OPNAMシリーズはコンソールからコマンド制御することができます
 TeraTerm等を利用してください。
 改行コードはLFのみなので、改行コード変換機能を利用して、LF→CRLF変換してください

 また便利なコンソール制御ツールを作成されている方もいますので、是非ご利用ください



・特定のFMチャンネルだけミュート出来ないですか

 USBコンソールでつないだ状態で、TeraTermなどを使ってコマンド制御してください
 MUTEコマンドを利用することでミュートすることができます



・PCMボリュームを細かく調整したい

 PCM > EXTRA PCM VOL
 を有効にしてください。
 この設定により、その後に続く細かいPCMボリュームメニューで微調整することができます
 設定については設定解説をご覧ください



・演奏がもたつく。負荷を下げたい

 1.負荷軽減モードを使う
 PLAY > LIGHT MODE
 を、FAST又はLIGHTに切り替えてください
 メモリ読込切り替え、画面表示などを停止して負荷を下げます

 2.スペクトラム表示をオフにする
 DISPLAY > SPECTR. OFF
 を有効にします

 画面下部に表示されているスペクトラム表示をオフにすることで、この計算にかかる処理を減らすことが出来ます


・演奏をファイル名順にしたい	(ソート+8,3ファイル名)

 PLAY > SORT ENTRY
 を有効にしてください

 ただロングファイル名でソートしません。8+3のショートファイル名でソートします
 長いファイル名を利用したい場合、ファイル名の先頭に番号をふるなどして対応してください
 例.
 01.aaabbbcccdd...hhhiii
 02.aaabbbcccdd...jjjxxx

 ※メモリの都合です。MAXならいっぱいあるんですけど、Proシリーズだとそんなにないので‥



・SDカードは何が使えますか

 2G〜32GBまでのSDHCタイプのSDカードが利用できます
 メーカーにより細かい違いがあるため、利用できないメーカーもあります(特にSanDiskが多い)
 MAXシリーズはSanDiskもご利用可能です



・SDカードのフォーマットは何ですか?

 FAT32です。ExFatも動くらしいとか聞いたことがありますが、確認していません
 クラスタサイズ(サイズが設定できるところが1か所あると思います)は大き目が良いです



・曲・曲集ごとに設定を変更したい

 ディレクトリ単位で曲を分け、設定ファイルをディレクトリ内に入れることで対応できます



・曲集ごとに画像を出したい

 サブディレクトリ内に専用画像ファイルを入れることにより、ディレクトリ単位で画像を出すことができます
 ツールについてはこのページのどこかに解説とダウンロードリンクがあります

 ※標準の画像表示ライブラリが入っていないのは、ライセンスの関係です



・演奏できるファイルの種類は?

 MDX+PDX,VGM,S98,PMD,x86です

 PMDは再生の為にドライバをSDカードに入れる必要があります
 使い方はこのページを検索してください

 x86はアセンブラの知識が必要です。98用の音源ドライバをそのまま演奏させることができます



・演奏できるファイルの最大サイズは?

 設計サイズは16MBくらいです

 内部のバッファの都合で、FATエントリのチェイン数が最大256までです
 512バイト x クラスタサイズ x 256 が最大サイズになります



・曲と曲の間に間を開けたい

 PLAY > BLANK WAIT
 を有効にして、曲間の時間(秒)を選択してください


・ボタンを押すまで曲の再生を待ってほしい
・SDカードを差したままでもいきなり再生開始しないで欲しいです

 PLAY > HOLD
 の設定を有効にしてください

 ※PLAY > PLAY HOLDではありません



・流し聞きしたいので1,2分で次の曲に進んで欲しい

 PLAY > AUTO SKIP
 を有効にしてください



・前回電源オフにした続きから再生させたい

 PLAY > RESUME
 を有効にしてください



・再生中にSDカードアクセスする時にLEDがちかちか光らなくしたい

 1.LEDオプションを変更します
 DISPLAY > SD LED
 を無効にします


 2.再生開始時にすべて読込オプションを有効にします
 PLAY > LOADALL
 を有効にします

 ※メモリに収まらないファイルの場合は再生できなくなり、スキップされます


・SDカードアクセスを減らしたい

 PLAY > LOADALL
 を有効にします

 ※メモリに収まらないファイルの場合は再生できなくなり、スキップされます



・オープニングジングル(BGM)をオフにしたい

 ETC > OPENING BGM
 を無効にしてください



・タイトル画面を専用のキャラクターの画面にしたい

 ETC > SPECIAL TITLE
 を有効にしてください



・PSGオンリーの曲をSCCで再生できないでしょうか?

 ETC > PSG2SCC
 を有効にしてください

 次に、各PSGのチャンネルをどのSCCの波形に割り当てるかを
 ETC > PSG2SCC Ch.01/PSG2SCC Ch.02/PSG2SCC Ch.03
 設定で変更できます



・VGZファイル形式は再生できるのでしょうか

 直接再生できません
 7z等のツールを使って、圧縮を解除してください
 7zの場合、ファイルを右クリックして、ここに展開を選びます
 圧縮を解除されたファイルは拡張子がないので、vgmを付与してください


 ※圧縮解除ライブラリが入っていないのは、ライセンスの関係です



・曲の再生開始が遅いのですが早くできるでしょうか(YM2608のPCMを使った曲)
・YM2608のDRAMを取り付けていないのですがADPCMを再生できるでしょうか

 複数の設定を変更してください
 PLAY > LOADALL
 を有効にします

 PCM > ADPCM-B MODE
 を、DRAMから、CPU MEMに切り替えてください

 PCMデータをCPUがエミュレーションするようになります
 YM2608を経由してのDRAMデータの転送時間が減ります


 ※CPUメモリに収まらないデータは再生できません
  2608のLPFによりマイルドになった音とは変わって若干シャープです



・PCMの曲はスペクトラムが正常に出ないのですが

 PCMデータをFFT解析する必要があり、リアルタイムに処理できません
 というわけで、PCMデータはスペクトラムに表示されません



・OLED表示に発音のパン状態(左右)を表示したい

 DISPLAY > OLED PAN
 を変更してください



・曲をランダムで再生したい

 PLAY > SHUFFLE
 を有効にしてください

 1ディレクトリにつき2000曲までです

 ※メモリの都合です



・延々と同じ曲を再生し続けたい(デモ用途を想定)

 PLAY > LOOP BREAKER
 をINFINITEに設定してください
 
 曲がループしない場合でも、延々と同じ曲を再生し続けます

 ※ボタン操作による前後移動はできます



・ループする曲をある程度再生したら次の曲に移って欲しい

 PLAY > LOOP BREAKER
 を有効にしてください



・OLED表示の色をカスタマイズしたい

 EEPROM内のデータを変更することでカスタマイズできます
 変更には専用ツールの利用をお勧めします



・OPNAMなのですか? 4759なのですか?

 OPNAMです。



・OPNAMってなんで読むのですか。ついでにOPNAL2も教えてください。

 おぷなむです。
 おぷなるつーです。



従来型4759player proのページ
このページの無断転載を禁じます。