2024/12/31 15:00 OPNAM(4759)FM音源ボードPro(2151+2608)基板頒布Project
従来基板の解説資料へ

更新履歴
・24/12/31 OPNAM Pro用FW2.71更新、OPNAM ProJr用FW2.71更新、OPNAM STPro用FW1.27更新、OPNAM STPro2用FW 1.44更新
・24/11/24 OPNAM Pro用FW2.66更新、OPNAM ProJr用FW2.66更新
・24/5/25  OPNAM Pro用FW2.63b更新、OPNAM ProJr用FW2.63b更新
・24/2/25  OPNAM Pro用FW2.61更新、OPNAM ProJr用FW2.61更新
・23/9/17  OPNAM Pro用FW2.55更新、OPNAM ProJr用FW2.55更新
・23/9/6  OPNAM Pro用FW2.54更新、OPNAM ProJr用FW2.54更新
・23/8/19 OPNAM Pro用FW2.53更新、OPNAM ProJr用FW2.53更新
・23/7/30 OPNAM Pro用FW2.52更新、OPNAM ProJr用FW2.52更新
・23/7/23 OPNAM Pro用FW2.51更新、OPNAM ProJr用FW2.51更新
・23/6/26 一番下にExpansionKit用の情報を追加
・23/6/22 OPNAM Pro用FW2.43更新、OPNAM ProJr用FW2.43更新、OPNAM STPro用FW1.26更新、OPNAM STPro2用FW 1.43更新
・23/6/16 OPNAM Pro用FW2.42更新、OPNAM ProJr用FW2.42更新、OPNAM STPro用FW1.25更新、OPNAM STPro2用FW 1.42更新
・23/6/11 OPNAM Pro用FW2.41更新、OPNAM ProJr用FW2.41更新、OPNAM STPro用FW1.24更新、OPNAM STPro2用FW 1.41更新
・23/5/29 OPNAM ST Pro2を追加
・23/5/16 OPNAM Pro用FW2.33更新、OPNAM ProJr用FW2.33更新、OPNAM STPro用FW1.23更新
・23/5/2  OPNAM Pro用FW2.32更新、OPNAM ProJr用FW2.32更新、OPNAM STPro用FW1.22更新
・23/4/27 OPNAM Pro用FW2.31更新、OPNAM ProJr用FW2.31更新、OPNAM STPro用FW1.21更新
・23/4/26 OPNAM Pro用FW2.30更新、OPNAM ProJr用FW2.30更新、OPNAM STPro用FW1.20更新
・23/3/5  OPNAM Pro用FW2.24更新、OPNAM ProJr用FW2.24更新、OPNAM STPro用FW1.13更新
・23/1/14 OPNAM Pro用FW2.23更新、OPNAM ProJr用FW2.23更新、OPNAM STPro用FW1.12更新
・22/11/17 OPNAM Pro用FW2.22更新、OPNAM ProJr用FW2.22更新、OPNAM STPro用FW1.11更新
・22/11/3 OPNAM Pro用FW2.21更新。OPNAM ProJr用FW2.21更新
・22/8/16 OPNAM Pro用FW2.20更新。OPNAM STPro用FW1.10更新、OPNAM ProJr用FW2.20更新
・22/7/30 OPNAM ProJr用情報追加
・22/7/16 OPNAM Pro用FW2.19更新。OPNAM STPro用FW1.09更新
・22/6/11 OPNAM Pro用FW2.18b更新。OPNAM STPro用FW1.08b更新
・22/5/22 OPNAM Pro用FW2.18a更新。OPNAM STPro用FW1.08更新
・22/4/13 OPNAM STPro用FW1.06更新
      OPNAM Pro用FW2.16更新
・22/3/18 OPNAM Pro用FW2.15更新。OPNAM Pro制御基板1.2a用情報を追加
・22/2/18 OPNAM Pro用FW2.14更新,OPNAM STPro用FW1.05更新
・22/2/12 OPNAM Pro用FW2.13a更新,OPNAM STPro用FW1.04更新
・22/1/18 OPNAM Pro用FW2.13更新,OPNAM STPro用FW1.03更新
・21/11/22 OPNAM STPro用FW1.02更新
・21/11/21 OPNAM Pro用FW2.12A更新
・21/11/7 OPNAM Pro用FW2.12更新
・21/8/14 新規作成


■はじめに

このドキュメントはOPNAM(4759)FM音源ボードProの基板を製作する為に必要な情報を記述したものです。
製作に当たってはこのドキュメントをよく読み、用法用量を守って正しくお使いください。

OPNAM(4759)ボードの製作説明は、従来バージョンのページも参考になるかと思います。
今までのページも参照してください。

OPNAM ST ProとOPNAM Proの2つのボードについての資料になります。
製作するボードにあったセクションの情報を参考にしてください。違うボードの部品を使ったり、ファームウェアを書き込まないようにしてください。

■内容物

・OPNAM(4759)FM音源プレイヤー STPro / Pro

・OPNAM(4759)ST Pro基板 rev1.0



・OPNAM(4759)ST Pro2基板 rev2.1



・OPNAM(4759)Pro基板 rev1.1a

※基板のみです。部品は付属していません。
 写真はv1.1ですが1.1aとの違いはシルク印刷ミスの修正のみです

・OPNAM(4759)Pro Jr基板 rev1.0

※jrは制御基板のマイクロプロセッサが変わっているものです
 DRAM基板、音源基板はProと同一です


■参考用 OPNAM(4759) STPro/Pro FM音源プレイヤーのぶろぐ記事

ST Proの記事です

・PIC32MZのFM音源プレイヤーをコンパクトに作ってみる
https://asmpwx.at.webry.info/202106/article_2.html


ST Pro2の記事です

・コンパクトなPIC32MZプレイヤーを改造してみる
https://asmpwx.seesaa.net/article/202203article_1.html
※記事はST Pro2.0で、この基板を小改良したものになります


Proの記事です

・音源探知機とTypeCコネクタ ※1.2a基板の参考用
https://asmpwx.at.webry.info/202203/article_2.html
・謎のコネクタ(Type-C)を使ってみる ※1.2a基板の参考用
https://asmpwx.at.webry.info/202202/article_1.html
・PIC32MZでFM音源プレイヤー その2
https://asmpwx.at.webry.info/202106/article_1.html
・PIC32MZでFM音源プレイヤーを作ってみる
https://asmpwx.at.webry.info/202105/article_3.html


Pro Jrの記事です

・FM音源プレイヤーと半導体不足
https://asmpwx.at.webry.info/202204/article_1.html

※音源基板、DRAM基板、USB Type-CコネクタについてはProの記事を参考にしてください

■参考用 2020年版OPNAM(4759)FM音源プレイヤーのぶろぐ記事

・【基板作成編】帰ってきたFM音源(OPNA/OPM)ボード(4759ボード)
https://asmpwx.at.webry.info/202003/article_1.html

1.4基板の記事です


・【基板作成編】FM音源OPNAMボード(YM2151/YM2608複合ボード)の逆襲
https://asmpwx.at.webry.info/202005/article_3.html

PLL版の記事です


・復活のOPNAM(4759)ボード
https://asmpwx.at.webry.info/202007/article_1.html

旧基板用の改善ボードの記事です


■ブートローダーを使ったファームウェア更新方法について(2023/3/5公開のv1.11移行のファームウェアの更新方法について)

■OPNAMシリーズ用ブートローダーを使ったファームウェア更新方法

1.PICKITで、まずブートローダーのFWを書き込みます。

bootloader〜.hex

※bootloaderから始まるhexファイルを書き込んでください。


2.この状態でリセットなどをすれば、ブートローダ画面が立ち上がるようになります。
起動しない場合はリセットボタンを押したり、USBケーブルをいったん抜いて再度接続してください。
ブートローダが起動した場合、ボタンなどは効かず、LEDがやや早めに点滅します。


3.ブートローダーが起動していれば、PICKITを接続する必要はありません。
この状態で、PC上でファーム更新プログラムを使いブートローダに対応したファームウェアを書き込みます。
 更新プログラムはコマンドラインで打ち込みます。


実行コマンドライン例
bootloader.exe 4759〜_v121_bld.hex


 更新結果などを見なくてもよいという場合は、bootloader.exeに4759〜_v121_bld.hexをドラッグ&ドロップすることでも可能です
 終了するとコマンドプロンプトがさっと消えるので結果を確認できませんが、どのみち成功したかどうかはボードを見ればわかります


注意:エラーが出る場合は、ボードのリセットボタンを押す等、ファームウェア更新モードを再度起動してからコマンドを実行してください
   起動してから1分程度経過するとコマンドを受け付けなくなります(Harmonyが出力した公式のブートローダーなのにー)


bootloader.exeは、ファームウェアが正常に更新できると、自動的にリセットをかけて再起動します。

起動したOPNAMシリーズが、通常の画面であるかを確認してください。


■新しいファームウェアが出た時に、ファームウェアを更新する場合

PICKITを使った更新は不要です

PCとOPNAMシリーズをUSBケーブルで接続し、S1とS2ボタン(一番左と真ん中)を押したままリセットボタンを押してください。
ブートローダー画面で起動します。
この状態で新しいファームウェアファイルを指定してコマンドを実行することで、ファームウェアを更新することができます。

※更新時にエラーが出る場合は、いったんボードをリセットして、手早く更新を再度実行してください


■OPNAM(4759)FM音源プレイヤー用 ソフトウェア

・OPNAM(4759)ST Proファームウェア(1枚基板のハードウェアです。PIC32MZ2048EFH064使用)

・bootloaderのみの単体セット
bootloaderset_st.zip

■rev.2024/12/31 v1.27
4759stpro_firmware_v127_bld.zip
・VGMタイムコードの処理を変更しました
補足
・タイムコード
 あるタイムコードの処理前時点の実時間コードと、指定されたウェイト時間を加算して、
 処理するとか凝ったことをやっていたのですが、遅れていく一方なので処理を廃止しました
 単純に原曲データに降られているタイムコードのみを利用して演奏します

■rev.2023/6/22 v1.26
4759stpro_firmware_v126_bld.zip
・ボタンをダウンエッジからアップエッジ(※)に変更する拡張オプション(Button Enhance)を追加
 拡張状態では、長押しによるアクションが追加されます
 ※ボタンの動作を、押した時に動作から、押して離した時に動作に変更するオプションです
 
 長押しにより、サブディレクトリ単位での戻し、先送りができるようになります
 中央ボタン長押しで直接設定画面(Config)に入れるようになります
 Config画面では、左ボタン長押しで先頭メニューへ、右ボタン長押しで最後のExitへ遷移できます

・OLEDの輝度を落とした状態を基本とするオプション(OLED Half BR)を追加
 OLEDに搭載されているインバータノイズの影響を減らすことができます

■rev.2023/6/16 v1.25
4759stpro_firmware_v125_bld.zip
・PMD形式の再生が指定時間で終了しない問題を修正
・PMDドライバのパッチを正式版に更新
 ・演奏が終了したら次の曲に即座に遷移(前回までのパッチは時間で遷移)
 ・2ループで終了するように対応(設定のLoopBreakerが有効な時)

 パッチを更新したので、pmdset.zip内のpmd86.binを更新しました。ダウンロードしなおし、
 SDカードにPMD演奏ドライバ(pmdset.zip)を入れてください

■rev.2023/6/11 v1.24
4759stpro_firmware_v124_bld.zip
・PMD形式の曲ファイル再生用セットを追加しました
 SDカードにPMD演奏ドライバ(pmdset.zip)を入れてください(補足参照)
・拡張MDX(32KB以上のファイルサイズ)ファイルのPDX再生に対応しました
・PDXがPCMバッファサイズをオーバーする場合の挙動を選択できるようになりました
・PCに認識されるUSB名をOPNAMシリーズとわかるように修正しました
・その他細かい不具合の修正

※更新内容補足

・PMD形式の再生
 pmdset.zipをDLし、ZIPファイルを展開してpmd86.binをSDカードのルートディレクトリにコピーしてください
 後は、再生したいPMDの曲ファイルをSDカードのサブディレクトリに格納しておけば再生されます

 制限事項
 ・PMDファイルはサブディレクトリに配置してください
  pmd86.binを見つけた後に、発見したPMD曲ファイルを有効にする為、ルートディレクトリに配置されたpmdファイルは読み込まれるかどうか不明です
  (スキャンはディレクトリエントリ順に処理されるため、SDカードにコピーした順番で処理されたりします)

 ・PMD曲の再生は固定で2分の再生時間となっています。曲が早めに終わっても2分間は次の曲に自動的には進みません
  これはPMD86.BINのパッチによるもので、再生終了フラグなどを見てない為です。そのうち対応するかもしれません

 ZIP内のファイルについて

  ・pmd86.bin
   OPNAMで演奏できるようにパッチを当てたpmd音源ドライバです。SDカードのルートディレクトリにはこのファイルを配置してください

   パッチ内容としては、OPNAMがチェックするバッファとの橋渡し、割り込み周りの処理、I/Oで2回inportしている処理の削除などです。
   パッチ箇所が多いですが、高速化のためにつぶしている部分が多い為です

  ・PMD86.COM
   PMD86の98x1用のFM音源ドライバです。
   オリジナルのドライバとして同梱していますが、OPNAMでは使いません

  ・pmd_patch.exe
   PMD86.COMにパッチをあて、pmd86.binを作る為のパッチプログラムです
   オリジナルドライバからの作成用として同梱しています
   こちらもOPNAMでは使いません


 今回、PMDドライバの配布に関してはKAJA氏に許可をいただきました。ありがとうございました!


・PDX再生時、PCMバッファ(256KB)を超える場合の挙動として、以下の3つを選択できます
 1.SKIP
  今までの動作です。読み込むとあふれてしまうデータだった場合、スキップして次のPCMデータに進みます

 2.CUT
  オーバーする分だけ、すべてのPCMデータの最後をカットして収まるようにします
  数%程度のオーバーならばこちらの対応で十分聞けるものになるかもしれません
  たとえば260KB必要な場合、256KBに収まるようにする為に、すべてのPCMデータの末尾を1.6%ほどカットして格納します
  これくらいならば、違和感なく聞ける可能性が高いです

 3.DOWNSP
  PCMデータをダウンサンプリング(音質を劣化)し、実質的な容量を512KB相当と2倍にします
  それでもオーバーする場合はSkipされますが、大体の曲は聞けるようになるかと思われます
  

・拡張MDXファイルのPDX再生対応
 32KBを超えるMDXデータは拡張MDXとなります
 PDX演奏の為にいったんMDXファイルの内部をスキャンして、どのPCMが再生されるか事前確認を行っていますが、
 この確認処理が拡張MDXに対応していないため、32KBまでの範囲で処理されており、32KB以降に配置されているトラックはスキャンされませんでした
 スキャンされない=使っていないという判定になってしまい、PCMが再生されなくなります

 FM音源パートのトラック、PCM音源パートのトラックという順番で普通は配置されている為、PCMパートの後ろがスキップされていました
 32KBを越えた部分をスキャンするため、今までPDXが演奏されなかった曲も演奏されるようになったかと思います

■rev.2023/5/16 v1.23
4759stpro_firmware_v123_bld.zip
・フォルダ毎の設定ファイルsetting.cfgに、ここ最近追加されたConfigを追加
 setting.cfgはv1.09から追加されたフォルダ毎にOPNAMの設定を変更する機能です
 詳細は下にある「SETTING.CFGの使い方」を参照してください
・シリアルコンソールでMDX+PDXを演奏させた場合、演奏終了後にOLED/LCD表示が停止状態にならない問題を修正
・SCCI normal fastモードでYM2608のADPCMレジスタへの書き込みが行われない問題を修正

■rev.2023/5/2 v1.22
4759stpro_firmware_v122_bld.zip
・PDX再生時、YM2608によってはPCMが再生されない場合がある為対策しました
・PDX再生時、PCMチャンネルにボリューム値を反映しました
 これに伴い従来のPDX VolumeLvは、PDX M.Volume(PDXマスターボリューム)に名称変更しました
 新たにPDX Volume設定を追加しました。音量への反映の強弱を選択できます
 固定にする場合(V1.21までの挙動)は、Offで再現することができます
・PDX再生時に2608側のクロックが自動設定だったとき、8MHzに設定するようにしました
 PCMの音程には影響ありません。2608内部の処理時間にのみ影響があります(たぶん)
・MDXデータのプリスキャン処理が、ループを含めたPCMチャンネルの演奏回数をカウントするように変更されました
 PDXデータの読み込み優先順位に与える影響が正しく計算されるようになります
・一定の時間(60秒、120秒、180秒)で次の曲に進むAutoSkip設定を追加しました
※更新内容補足
 ・PDX M.Volumeは、ハードウェアによるYM2151とYM2608の音量の違いを吸収するための設定になります
  両者の音量の違いは出力抵抗の違いなどにもよる為、個別のハードウェアで調整してください

 ・PDX Volumeは、MDX内部で指定されている音量値によってPCMのボリューム値を変化させますが、
 この変化の強さを指定する設定です。反映の強さはLow、Middle、Highの3種類です
 またOffはボリューム固定になります。V1.21までのが良かったという場合にご利用ください

 ・YM2608のクロックが8MHzと7.98MHzで音程に違いはありません。DACレジスタへの書き込みの処理時間が
 異なる程度です。早い方が良いので8MHzに設定しています

■rev.2023/4/27 v1.21
4759stpro_firmware_v121_bld.zip
・YM2151のクロックが3.57MHzの時、FM音源の発音がおかしい場合がある問題を修正
 →PDX追加時に調整したウェイトで問題が発生していた
※Bootloader用のファームウェアです。

■rev.2023/4/26 v1.20
4759stpro_firmware_v120set.zip
・BootloaderにSDからのファームウェア更新機能を追加しました
・PDXエミュレーション機能を追加しました。メニューから有効にできます
・PDXエミュレーションのボリューム調整メニューを追加しました

※更新内容補足
・BootloaderにSDからのファームウェア更新機能を追加しました
 SDカードにFIRMWARE.HEXを入れた状態でブートローダを起動することで更新できます

 SDカードからの更新が必要なければブートローダは従来のままでもご利用いただけます

 対象となるボードのファームウェアをダウンロードします。
 SDカードのルートディレクトリに FIRMWARE.HEX とリネームして配置します。
 ※SDカードは普通に再生できるなものをご利用ください

・PDXエミュレーション機能を追加しました
 2608が頑張って演奏してくれます。

 いったんMDXを内部的に演奏し、使用しているPCMと使用回数を記録します。
 (ループ展開はしていないので使用回数は正しくないかも。また今度追加しときます)
 使用回数の多い順からPCMをPDXファイルからロードします。
 PCMバッファサイズをオーバーしたPCMはスキップします。PCMバッファサイズは256KBですが、
 1曲で使うPCMサイズが256KB以内なら十分演奏が可能です

・PDXエミュレーションのボリューム調整メニューを追加しました
 2151と2608の出力抵抗の構成(ハードウェア)によっては、PDXの音量が大きかったり小さかったりする場合がある為
 音量を調整するメニューを追加しています

■rev.2023/3/5 v1.13
4759stpro_firmware_v113set.zip
・ブートローダー用のファームウェアになりました。更新にはWindowsPCが必要になります(たぶん今までもそうだと思いますが)
 この上に追記した「ブートローダーを使ったファームウェア更新方法について」を参照してください
・シリアルコンソールモードにミュートコマンドを追加

■rev.2023/1/14 v1.12
4759stpro_firmware_v112.zip
・ループブレーカー設定に、無限(Inf.)を追加しました。曲が終わった場合でも再度同じ曲が再生されます
・SCCIウェイトが、ADPCMウェイトの書き込み軽減オプションを有効にすると正常に設定されない問題を修正しました
・SCCIウェイトに、ウェイト値を減らす方向の設定を追加しました

■rev.2022/11/17 v1.11
4759stpro_firmware_v111.zip
・s98で2608 A0側のレジスタウェイトを正しく設定していない問題を修正
・vgmで正常にループしない場合がある問題を修正
 (タイミング調整カウントリセットミスを修正)
・コンソールに、チップテスト用の簡易MML演奏コマンドを追加
 現状はt,l,o,<,>,cdefgabなどの基本コマンドのみ
 mml initで初期化してから、mml A t192l1o5cdefgab>cのようにしてChにMMLを追加
 mml playで全Ch演奏
 Chは以下の並びになっています
 A,B,C,D,E,F 2608FM
 G,H,I 2608SSG
 J,K,L,M,N,O 2608RYTHM
 P 2608ADPCM(未実装)
 Q,R,S,T,U,V,W,X 2151FM
※mmlはあんまりテストしてません。バグってる場合はそのうち治ります。

■rev.2022/8/16 v1.10
4759stpro_firmware_v110.zip
・vgm形式時、ADPCMデータ書き込み専用コマンドの対応を追加(コマンド0x67)
・ログ形式再生時のADPCMウェイト量の調整オプション追加
・一部1.09で追加されたConfig設定が操作できない問題を修正
・Consoleモード修正
 ・細かいバグ修正(バッファ処理修正、テキストミス修正、2608ボリューム制御修正)
 ・ロングファイル名が表示されない場合がある問題を修正(セクタをまたぐときにクリアしてた)
 ・fmsコマンド追加 1秒間おきにfmコマンドを実行してレジスタを表示します

■rev.2022/7/16 v1.09
4759stpro_firmware_v109.zip
・2608パン反転設定が、SSGボリューム調整をいじるとリセットされるバグを修正
・フォルダ内にsetting.cfgファイルを設置すると、フォルダ内を再生している間setting.cfgで指定した設定に変更する機能を追加
 ※フォルダから出ると戻ります。さらに手動で設定をいじった場合でも戻ります
設定ファイルは以下のツールをDLして、setting.cfgファイルを参考にしてください。
v219tools.zip
※stproにはoledがありませんので、画像ファイルを作成しても表示されません

■rev.2022/6/11 v1.08B
4759stpro_firmware_v108B.zip
・2608パン反転設定を追加
 2608のパンを反転する設定を追加してます
・SSGボリューム調整設定を追加
 いちいちボリュームをいじるのが面倒な場合用に、簡易的にいじれる設定を追加しました
・コンソールで再生中でも、SDにアクセスできるように変更
 バッファを追加する必要があり迷ったのですが、バッファは別の何かにも使えるだろうと追加しました
・コンソールのDIRコマンドにロングファイル名を表示するように変更
 同じような名前だと区別がつきにくいのでわかるように表示を追加しました
・VGM再生中に一定回数のI/O操作でCPUを開放するように修正(s98の方は入ってたがvgmの方は入ってなかった)
 ADPCMの転送中などCPUがなかなか解放されなかったので

■rev.2022/5/22 v1.08
4759stpro_firmware_v108.zip
・2151のパンを左右反転するオプションを追加
・SDカードエラー検出を追加(なんか遅くなりそうだったので手を抜いてた)
・初期化時2608側クロック変更オプション設定が行われていなかった問題を修正
・従来のUSB制御モード(※)をシリアルコンソールで制御できるように変更 ※SCCIとは別

TeraTermなどのコンソールをご利用ください。改行コードはLFしか送ってきませんので、LF→CRLF変換してください。
基板作成時のピン半田付け確認などが便利に使えます。
下に使い方を記載しました。注意点もあるので、使う前にお読みください。

■rev.2022/4/13 v1.06
4759stpro_firmware_v106.zip
・リセットタイプをSoftにした時に、正常に2608がキーオフされない問題を修正(0x28と書くところが28と書いてあった)
・曲間の間を設けるBlankWait設定を追加。0〜3秒のウェイトを設定できます。

■rev.2022/2/18 v1.05
4759stpro_firmware_v105.zip
・ディレクトリ内のファイルを昇順ソートするオプションを追加
 ※設定保存をミスってたので、config.cfgによってはいきなり有効になってます
  8+3ファイル名部分でソートするので、ファイルの先頭の方でしかソートしません

■rev.2022/2/12 v1.04
4759stpro_firmware_v104.zip
・1秒程度の極めて短いs98,vgmがループ再生する場合、ループブレーカーを有効にしてもループが終わらない問題を修正

■rev.2022/1/18 v1.03
4759stpro_firmware_v103.zip
・S98の再生対象にYM2203(タイプ2)を追加。なぜか再生対象になっていなかった

■rev.2021/11/22 v1.02
4759stpro_firmware_v102.zip
・SDカード未挿入時に右押しで、2151と2608のクロックを変更可能に。(2151は3.57と4.00、2608は7.98と8.00MHzの計4通り変更可能)
・config.cfgだけでなくconfig47.cfgを見つけても設定ファイルとして読み込むように対応(両方あった場合は最初に見つけた方)
・SDエラー画面表示時にLCDをオンにするように修正
・SDカード未挿入時、リセットボタンを押した時にオープニングBGMを再生するように対応

■rev.2021/10/7 v1.01
4759stpro_firmware_v101.zip
・OPNAM(4759)STPro リリース版です


・OPNAM(4759)ST Pro2ファームウェア(1枚基板のハードウェアです。PIC32MZ2048EFH064使用)

・bootloaderのみの単体セット
bootloaderset_st2.zip

■rev.2024/12/31 v1.44
4759stpro_r2_firmware_v144_bld.zip
・VGMタイムコードの処理を変更しました
補足
・タイムコード
 あるタイムコードの処理前時点の実時間コードと、指定されたウェイト時間を加算して、
 処理するとか凝ったことをやっていたのですが、遅れていく一方なので処理を廃止しました
 単純に原曲データに降られているタイムコードのみを利用して演奏します

■rev.2023/6/22 v1.43
4759stpro_r2_firmware_v143_bld.zip
・ボタンをダウンエッジからアップエッジ(※)に変更する拡張オプション(Button Enhance)を追加
 拡張状態では、長押しによるアクションが追加されます
 ※ボタンの動作を、押した時に動作から、押して離した時に動作に変更するオプションです
 
 長押しにより、サブディレクトリ単位での戻し、先送りができるようになります
 中央ボタン長押しで直接設定画面(Config)に入れるようになります
 Config画面では、左ボタン長押しで先頭メニューへ、右ボタン長押しで最後のExitへ遷移できます

・OLEDの輝度を落とした状態を基本とするオプション(OLED Half BR)を追加
 OLEDに搭載されているインバータノイズの影響を減らすことができます

■rev.2023/6/16 v1.42
4759stpro_r2_firmware_v142_bld.zip
・PMD形式の再生が指定時間で終了しない問題を修正
・PMDドライバのパッチを正式版に更新
 ・演奏が終了したら次の曲に即座に遷移(前回までのパッチは時間で遷移)
 ・2ループで終了するように対応(設定のLoopBreakerが有効な時)

 パッチを更新したので、pmdset.zip内のpmd86.binを更新しました。ダウンロードしなおし、
 SDカードにPMD演奏ドライバ(pmdset.zip)を入れてください

■rev.2023/6/11 v1.41
4759stpro_r2_firmware_v141_bld.zip
・PMD形式の曲ファイル再生用セットを追加しました
 SDカードにPMD演奏ドライバ(pmdset.zip)を入れてください(補足参照)
・拡張MDX(32KB以上のファイルサイズ)ファイルのPDX再生に対応しました
・PDXがPCMバッファサイズをオーバーする場合の挙動を選択できるようになりました
・その他細かい不具合の修正
※更新内容補足

・PMD形式の再生
 pmdset.zipをDLし、ZIPファイルを展開してpmd86.binをSDカードのルートディレクトリにコピーしてください
 後は、再生したいPMDの曲ファイルをSDカードのサブディレクトリに格納しておけば再生されます

 制限事項
 ・PMDファイルはサブディレクトリに配置してください
  pmd86.binを見つけた後に、発見したPMD曲ファイルを有効にする為、ルートディレクトリに配置されたpmdファイルは読み込まれるかどうか不明です
  (スキャンはディレクトリエントリ順に処理されるため、SDカードにコピーした順番で処理されたりします)

 ・PMD曲の再生は固定で2分の再生時間となっています。曲が早めに終わっても2分間は次の曲に自動的には進みません
  これはPMD86.BINのパッチによるもので、再生終了フラグなどを見てない為です。そのうち対応するかもしれません

 ZIP内のファイルについて

  ・pmd86.bin
   OPNAMで演奏できるようにパッチを当てたpmd音源ドライバです。SDカードのルートディレクトリにはこのファイルを配置してください

   パッチ内容としては、OPNAMがチェックするバッファとの橋渡し、割り込み周りの処理、I/Oで2回inportしている処理の削除などです。
   パッチ箇所が多いですが、高速化のためにつぶしている部分が多い為です

  ・PMD86.COM
   PMD86の98x1用のFM音源ドライバです。
   オリジナルのドライバとして同梱していますが、OPNAMでは使いません

  ・pmd_patch.exe
   PMD86.COMにパッチをあて、pmd86.binを作る為のパッチプログラムです
   オリジナルドライバからの作成用として同梱しています
   こちらもOPNAMでは使いません


 今回、PMDドライバの配布に関してはKAJA氏に許可をいただきました。ありがとうございました!


・PDX再生時、PCMバッファ(256KB)を超える場合の挙動として、以下の3つを選択できます
 1.SKIP
  今までの動作です。読み込むとあふれてしまうデータだった場合、スキップして次のPCMデータに進みます

 2.CUT
  オーバーする分だけ、すべてのPCMデータの最後をカットして収まるようにします
  数%程度のオーバーならばこちらの対応で十分聞けるものになるかもしれません
  たとえば260KB必要な場合、256KBに収まるようにする為に、すべてのPCMデータの末尾を1.6%ほどカットして格納します
  これくらいならば、違和感なく聞ける可能性が高いです

 3.DOWNSP
  PCMデータをダウンサンプリング(音質を劣化)し、実質的な容量を512KB相当と2倍にします
  それでもオーバーする場合はSkipされますが、大体の曲は聞けるようになるかと思われます
  

・拡張MDXファイルのPDX再生
 32KBを超えるMDXデータは拡張MDXとなります
 PDX演奏の為にいったんMDXファイルの内部をスキャンして、どのPCMが再生されるか事前確認を行っていますが、
 この確認処理が拡張MDXに対応していないため、32KBまでの範囲で処理されており、32KB以降に配置されているトラックはスキャンされませんでした
 スキャンされない=使っていないという判定になってしまい、PCMが再生されなくなります

 FM音源パートのトラック、PCM音源パートのトラックという順番で普通は配置されている為、PCMパートの後ろがスキップされていました
 32KBを越えた部分をスキャンするため、今までPDXが演奏されなかった曲も演奏されるようになったかと思います

■rev.2023/5/28 v1.33
4759stpro2_firmware_v133_set.zip
・OPNAM(4759)ST Pro2 リリース版です

※1枚基板でかつ、ディスプレイがLCD(液晶)からOLED(有機EL)になったハードウェア用です。


・OPNAM(4759) Proファームウェア (3枚基板のハードウェアです。PIC32MZ2048EFH144使用)

・bootloaderのみの単体セット
bootloaderset_pro.zip

・colorカスタマイズツール2 v2.61以降用
opnamcolor2.zip
再生画面の色を変更するためのツールです。
MAX用って書いてありますが使えます。Consoleで代わりにコマンドを打つツールです
※2.61未満のFW用は、どこか下にあります。


■rev.2024/12/31 v2.71
4759pro_firmware_v271_bld.zip
・VGMタイムコードの処理を変更しました
補足
・タイムコード
 あるタイムコードの処理前時点の実時間コードと、指定されたウェイト時間を加算して、
 処理するとか凝ったことをやっていたのですが、遅れていく一方なので処理を廃止しました
 単純に原曲データに降られているタイムコードのみを利用して演奏します

■rev.2024/11/24 v2.66
4759pro_firmware_v266_bld.zip
・OPL2用の音源基板に対応しました
・MSM6258のPCMストリームデータに対応 ※ExpantionKit専用
・LIGHTモードにFASTモードを追加
・曲を続きから再生できるレジューム設定を追加
・EXVOL設定で軽くする設定を追加
・その他不具合の修正

補足

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

 一致していない場合、ジングルの再生でおかしな音が出たりします


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

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


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

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

・レジューム機能
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後だけ調整でも問題ないかと


・その他不具合の修正

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

■rev.2024/5/25 v2.63b
4759pro_firmware_v263b_bld.zip
・一部のC352用に作成されたデータに対応 ※ExpantionKit専用
・オプションの追加
・PDX再生時の発音状態を、MSM6258として表示
・PCM終了アドレスに関する不具合修正
・???音源に対応 ※ExpantionKit専用
・その他不具合の修正
・スペクトラムOFFにしてもFM音源周波数を計算していた不具合を修正
・???にディスクシステム音源を追加
・???をHIGHSAMPLEモード対応
・その他細かい不具合の修正
2.63a更新
・ExtraPCMVolumeでFDS音源の調整ができない
・???音源の三角波がレジスタの設定順番によって反映されないことがある
・ついでに不具合の修正
2.63b更新
・???音源のスペクトラム表示が機能していない問題を修正
・???音源のDPCMのサンプリングレート設定が機能していない問題を修正
・???音源のDPCMデータプチノイズ軽減処理を追加
・???音源で、先頭でMASKレジスタを設定していないデータの救済措置として、標準で???音源の音源マスク設定をONに変更

内容補足

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

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

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

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

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

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


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

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

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

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


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

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

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

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

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

■rev.2024/2/25 v2.61
4759pro_firmware_v261_bld.zip
・設定を保存する領域を拡張(設定がリセットされます)
・設定メニューを階層化
・PCMのボリュームを詳細調整可能
・オプションの追加
・PSGをYM2608のSSGで演奏する場合の周波数補正処理を追加
・PCM種類毎に、左右を反転する設定を追加
・Console及びフォルダ内設定ファイルに拡張された設定のコマンドを追加
・RF5C68対応 ※ExpantionKit用
・SCC対応 ※ExpantionKit用
・その他不具合の修正

内容補足

・再生できるチップタイプが追加されますが、データ量が多いVGMファイルは非常に重いため再生速度が遅くなる場合があります。
 OPNAM ProMAXへの更新をご検討ください。

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

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

 ※設定メニューは、タイトル画面ならばボタンS2長押し
  演奏中ならボタンS2で一時停止してからボタンS1(左ボタン)で入れます
  ちなみに一時停止してからボタン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回余計に押す必要があります

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

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

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

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

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


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


・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の楽曲ファイルを再生可能です
 ※ExpantionKit専用です

・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に割り当てるのもありです

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

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

・その他
 PCM対応データはかなりデータ量が多く、SDカードを再生しながらの再生は重たく、曲がスローテンポになります
 残念ながらSCC対応曲もSCC波形の書き換えデータ量が多く、頻繁に調整している曲は重たいです
 ProMAXならメモリに余裕があるのでなんとかなるのですが、現状はこれが精いっぱい


■rev.2023/9/15 v2.55
4759pro_firmware_v255_bld.zip
・PCM音量リミッター計算のバグを修正
・某S社PCMの動作クロックがサンプリングレート計算に含まれていない問題を修正
・特殊PCMチップのエミュレーション時、YM2608の表示スペースにPCM発音状態を表示
・某N社のPCMチップ用VGMデータの再生に一応対応 ※一応の理由は補足参照
・その他細かい不具合の修正
更新内容補足
・各種のPCMチップごとのボリューム調整は次のバージョンアップで対応予定です
 設定を保存する領域が足りません
 増やせばいいんですが、EEPROMとかSDカード内のセーブデータに互換性がなくなります
 データ詰め込んじゃったので、再配置で悩み中

・某S社PCMのクロックを計算に入れてなかった為、8MHzで動作しているデータでは、1オクターブ低くなっていた問題を修正しました
 何種類も動作クロックあったのね

・OLEDのPCM発音バー表示ですが、パン表示には対応していません(単純なパンではなく左右で高さが違うので)
 YM2608側のスペースを使用するため、YM2203が利用されている場合はFM音源の発音状態が表示されません

・某N社のPCMチップ再生ですが、かなり重たく、SDカードアクセスしながらの再生では曲が遅くなる場合が多いです
 データが大き目でSDアクセスが大量にある曲は演奏が遅く鳴ります
 SDアクセスが改良されていて、メモリに余裕があるProMAXではLoadAllオプションで曲をいったん全部読み込んでからの再生ができるのですが、
 残念ながら現状ではこれが精いっぱいです
 そのうち何か工夫(LCDを非表示にしたり、OLEDを簡易表示にしたりなど)してちょっとマシになるかも?
 また本来はExpansionKit専用ですが、YM2608BのDACモードでも再生できるようにしていますが、音質はやっぱり微妙です。

■rev.2023/9/6 v2.54
4759pro_firmware_v254_bld.zip
・VGMヘッダ読み込み処理のバグ修正
・ADPCM-BをCPUエミュレーションした場合、データによりハングする問題を修正
・某S社用PCMが含まれるVGMファイルの再生対応 ※ExpansionKit用
更新内容補足
・VGMヘッダ読み込み修正
 VGMバージョンv1.51以上で、短いヘッダの場合を無視していたので、ヘッダが短い場合に
 ヘッダを越えた部分へのアクセスをしないように修正

・ADPCM-B時のCPUエミュレーション
 サンプリングレート計算で、サンプリングレートレジスタが未設定のまま発音が指示された時に0除算でハングしていた問題を修正

・某S社(〇ー△ー)PCM
 本来はExpansionKit用ですが、おまけでYM2608が未使用の場合のみYM2608BのDACモードで再生する機能も一応追加
 ただしYM2608モードだと音質は微妙な感じです

■rev.2023/8/19 v2.53
4759pro_firmware_v253_bld.zip
・CPUがエミュレーションするADPCM-A/Bの音量を調整する設定「CPU-PCM Vol」を追加
・YM2608/YM2610演奏時に、ADPCM-Bに関してCPUエミュレーションで演奏する設定「ADPCM-B Mode」を追加
 DRAM:DRAMのみ OVERCPU:DRAM容量をオーバーした分はCPUメモリ CPUMEM:CPUメモリのみ
・YM2608用の一部VGMデータの再生開始までに時間がかかる場合がある問題を修正
・YM2608のOLED上に表示されるパンの左右が逆の問題を修正
・CPUでエミュレーションするADPCMのパンを逆転する設定「ADPCM Pan」を追加
補足
・音量調整
 従来はPDX M.Volumeに連動していました。個別に設定メニューを追加しました

・ADPCM-BのCPUエミュレーションについて、ADPCM-Bデータをどこに保存するかの設定です
 3つのメニューの特徴は
 ・DRAM
  DRAMのみを使います。DRAM容量は256KBです
  SDカードから読み込み、YM2608を経由してDRAMに書き込むため、サイズが大きいと時間がかかります
  YM2608が管理できるDRAM容量は最大256KBなので、YM2608用の曲はオーバーしません
  YM2610用の曲の場合はオーバーする可能性があります。オーバーした分は再生されません

 ・Over CPU
  DRAMに配置していきますが、途中でオーバーした場合、オーバーした分がCPUメモリ側に割り当てられます
  CPUメモリ側は400KBありますが、ADPCM-Aと共用のため、ADPCM-A側ですでに使い切っている場合は
  割り当てられない場合があります
  ※VGM曲データに記録されている順番は、ADPCM-A→ADPCM-Bの順番で記録されているようです。(見た限りのデータでは)
  400KB+256KB=656KBほどのADPCM用メモリが確保できます

 ・CPU Mem
  CPUが管理するメモリのみに配置し、DRAMには配置しません
  YM2608B用の曲データに関してはADPCM-Aがないため、容量オーバーになることはありません(たぶん)
  YM2608を経由してDRAMに書き込む事がないため、再生が開始されるまでの時間が短くなります

・YM2608用VGMファイル
 いつのバージョンからか、再生開始までに時間がかかる用になっていたようなのですが、今回の対応により修正されたかも
 いつおかしくなったんだろ?

・YM2608のパン表示
 YM2151とビットの意味が逆だったことに気が付く。

・CPUがエミュレーションする場合のADPCM-A,Bを逆にする設定を追加

■rev.2023/7/30 v2.52
4759pro_firmware_v252_bld.zip
・YM2610/B用のVGMファイルを再生する時のOLED表示を改良しました
 表示をYM2608B→YM2610Bに変更
 ADPCM-Aの発音状態をRYTHM表示エリアに反映するように変更(2.51まではADPCM-Bエリア)

・YM2610/B用のVGMファイルのADPCM-Aの音量を調整(減少)しました
 音量を調整したい場合は、PDX M.Volume設定が効きます(そのうち専用メニュー化する予定)

■rev.2023/7/23 v2.51
4759pro_firmware_v251_bld.zip
・YM2610/B用のVGMファイルを、YM2608+エクスパンションキットでエミュレーション再生できるようになりました
 YM2610/BのADPCM-Aは、エクスパンションキットのPCMから出力されます。最大400KBを超えるデータは切り捨てられます
 YM2610/BのADPCM-Bは、YM2608のADPCM用のDRAMにコピーしてから演奏されます。最大256KBを超えるデータは切り捨てられます
 
 なお、YM2608配下のDRAMに転送するためADPCM-Bのデータ容量が大きい場合、演奏開始までに10秒程度の時間がかかるようになります

・PCMバッファを従来の256kBから、400KBに増量しました
 PDX演奏及びYM2610/BのADPCM-Aに利用されるバッファとなります

※更新内容補足
・エクスパンションキットが付いていない場合、ADPCM-Aが再生されずに大変寂しい感じになります
・PCMバッファに残りメモリをほぼ全部割り当てたので、今後の新機能の追加時に若干減少する可能性がありますです
・YM2610 ADPCM-Aは音量調整などの詰めは甘いかもしれません。一応それっぽく聞けるようにしたのですが
・Pro/Pro Jrのみ対応です。ST系はCPUチップから配線を引き出してくださいになるので、今回は対応していません(0.3mmのところにはんだ付けできますかね‥)

■rev.2023/6/22 v2.43
4759pro_firmware_v243_bld.zip
・ボタンをダウンエッジからアップエッジ(※)に変更する拡張オプション(Button Enhance)を追加
 拡張状態では、長押しによるアクションが追加されます
 ※ボタンの動作を、押した時に動作から、押して離した時に動作に変更するオプションです
 
 長押しにより、サブディレクトリ単位での戻し、先送りができるようになります
 中央ボタン長押しで直接設定画面(Config)に入れるようになります
 Config画面では、左ボタン長押しで先頭メニューへ、右ボタン長押しで最後のExitへ遷移できます

・OLEDの輝度を落とした状態を基本とするオプション(OLED Half BR)を追加
 OLEDに搭載されているインバータノイズの影響を減らすことができます

■rev.2023/6/16 v2.42
4759pro_firmware_v242_bld.zip
・PMD形式の再生が指定時間で終了しない問題を修正
・PMDドライバのパッチを正式版に更新
 ・演奏が終了したら次の曲に即座に遷移(前回までのパッチは時間で遷移)
 ・2ループで終了するように対応(設定のLoopBreakerが有効な時)

 パッチを更新したので、pmdset.zip内のpmd86.binを更新しました。ダウンロードしなおし、
 SDカードにPMD演奏ドライバ(pmdset.zip)を入れてください

■rev.2023/6/11 v2.41
4759pro_firmware_v241_bld.zip
・PMD形式の曲ファイル再生用セットを追加しました
 SDカードにPMD演奏ドライバ(pmdset.zip)を入れてください(補足参照)
・拡張MDX(32KB以上のファイルサイズ)ファイルのPDX再生に対応しました
・PDXがPCMバッファサイズをオーバーする場合の挙動を選択できるようになりました
・その他細かい不具合の修正
※更新内容補足

・PMD形式の再生
 pmdset.zipをDLし、ZIPファイルを展開してpmd86.binをSDカードのルートディレクトリにコピーしてください
 後は、再生したいPMDの曲ファイルをSDカードのサブディレクトリに格納しておけば再生されます

 制限事項
 ・PMDファイルはサブディレクトリに配置してください
  pmd86.binを見つけた後に、発見したPMD曲ファイルを有効にする為、ルートディレクトリに配置されたpmdファイルは読み込まれるかどうか不明です
  (スキャンはディレクトリエントリ順に処理されるため、SDカードにコピーした順番で処理されたりします)

 ・PMD曲の再生は固定で2分の再生時間となっています。曲が早めに終わっても2分間は次の曲に自動的には進みません
  これはPMD86.BINのパッチによるもので、再生終了フラグなどを見てない為です。そのうち対応するかもしれません

 ZIP内のファイルについて

  ・pmd86.bin
   OPNAMで演奏できるようにパッチを当てたpmd音源ドライバです。SDカードのルートディレクトリにはこのファイルを配置してください

   パッチ内容としては、OPNAMがチェックするバッファとの橋渡し、割り込み周りの処理、I/Oで2回inportしている処理の削除などです。
   パッチ箇所が多いですが、高速化のためにつぶしている部分が多い為です

  ・PMD86.COM
   PMD86の98x1用のFM音源ドライバです。
   オリジナルのドライバとして同梱していますが、OPNAMでは使いません

  ・pmd_patch.exe
   PMD86.COMにパッチをあて、pmd86.binを作る為のパッチプログラムです
   オリジナルドライバからの作成用として同梱しています
   こちらもOPNAMでは使いません


 今回、PMDドライバの配布に関してはKAJA氏に許可をいただきました。ありがとうございました!


・PDX再生時、PCMバッファ(256KB)を超える場合の挙動として、以下の3つを選択できます
 1.SKIP
  今までの動作です。読み込むとあふれてしまうデータだった場合、スキップして次のPCMデータに進みます

 2.CUT
  オーバーする分だけ、すべてのPCMデータの最後をカットして収まるようにします
  数%程度のオーバーならばこちらの対応で十分聞けるものになるかもしれません
  たとえば260KB必要な場合、256KBに収まるようにする為に、すべてのPCMデータの末尾を1.6%ほどカットして格納します
  これくらいならば、違和感なく聞ける可能性が高いです

 3.DOWNSP
  PCMデータをダウンサンプリング(音質を劣化)し、実質的な容量を512KB相当と2倍にします
  それでもオーバーする場合はSkipされますが、大体の曲は聞けるようになるかと思われます
  

・拡張MDXファイルのPDX再生
 32KBを超えるMDXデータは拡張MDXとなります
 PDX演奏の為にいったんMDXファイルの内部をスキャンして、どのPCMが再生されるか事前確認を行っていますが、
 この確認処理が拡張MDXに対応していないため、32KBまでの範囲で処理されており、32KB以降に配置されているトラックはスキャンされませんでした
 スキャンされない=使っていないという判定になってしまい、PCMが再生されなくなります

 FM音源パートのトラック、PCM音源パートのトラックという順番で普通は配置されている為、PCMパートの後ろがスキップされていました
 32KBを越えた部分をスキャンするため、今までPDXが演奏されなかった曲も演奏されるようになったかと思います

■rev.2023/5/16 v2.33
4759pro_firmware_v233_bld.zip
・フォルダ毎の設定ファイルsetting.cfgに、ここ最近追加されたConfigを追加
 setting.cfgはv2.19から追加されたフォルダ毎にOPNAMの設定を変更する機能です
 詳細は下にある「SETTING.CFGの使い方」を参照してください
・シリアルコンソールでMDX+PDXを演奏させた場合、演奏終了後にOLED/LCD表示が停止状態にならない問題を修正
・SCCI normal fastモードでYM2608のADPCMレジスタへの書き込みが行われない問題を修正

■rev.2023/5/2 v2.32
4759pro_firmware_v232_bld.zip
・PDX再生時、YM2608によってはPCMが再生されない場合がある為対策しました
・PDX再生時、PCMチャンネルにボリューム値を反映しました
 これに伴い従来のPDX VolumeLvは、PDX M.Volume(PDXマスターボリューム)に名称変更しました
 新たにPDX Volume設定を追加しました。音量への反映の強弱を選択できます
 固定にする場合(V2.31までの挙動)は、Offで再現することができます
・PDX再生時に2608側のクロックが自動設定だったとき、8MHzに設定するようにしました
 PCMの音程には影響ありません。2608内部の処理時間にのみ影響があります(たぶん)
・MDXデータのプリスキャン処理が、ループを含めたPCMチャンネルの演奏回数をカウントするように変更されました
 PDXデータの読み込み優先順位に与える影響が正しく計算されるようになります
・一定の時間(60秒、120秒、180秒)で次の曲に進むAutoSkip設定を追加しました
※更新内容補足
 ・PDX M.Volumeは、ハードウェアによるYM2151とYM2608の音量の違いを吸収するための設定になります
  両者の音量の違いは出力抵抗の違いなどにもよる為、個別のハードウェアで調整してください

 ・PDX Volumeは、MDX内部で指定されている音量値によってPCMのボリューム値を変化させますが、
 この変化の強さを指定する設定です。反映の強さはLow、Middle、Highの3種類です
 またOffはボリューム固定になります。V2.31までのが良かったという場合にご利用ください

 ・YM2608のクロックが8MHzと7.98MHzで音程に違いはありません。DACレジスタへの書き込みの処理時間が
 異なる程度です。早い方が良いので8MHzに設定しています

■rev.2023/4/27 v2.31
4759pro_firmware_v231_bld.zip
・YM2151のクロックが3.57MHzの時、FM音源の発音がおかしい場合がある問題を修正
 →PDX追加時に調整したウェイトで問題が発生していた
※Bootloader用のファームウェアです。

■rev.2023/4/26 v2.30
4759pro_firmware_v230set.zip
・BootloaderにSDからのファームウェア更新機能を追加しました
・PDXエミュレーション機能を追加しました。メニューから有効にできます
・PDXエミュレーションのボリューム調整メニューを追加しました

※更新内容補足
・BootloaderにSDからのファームウェア更新機能を追加しました
 SDカードにFIRMWARE.HEXを入れた状態でブートローダを起動することで更新できます

 SDカードからの更新が必要なければブートローダは従来のままでもご利用いただけます

 対象となるボードのファームウェアをダウンロードします。
 SDカードのルートディレクトリに FIRMWARE.HEX とリネームして配置します。
 ※SDカードは普通に再生できるなものをご利用ください

・PDXエミュレーション機能を追加しました
 2608が頑張って演奏してくれます。

 いったんMDXを内部的に演奏し、使用しているPCMと使用回数を記録します。
 (ループ展開はしていないので使用回数は正しくないかも。また今度追加しときます)
 使用回数の多い順からPCMをPDXファイルからロードします。
 PCMバッファサイズをオーバーしたPCMはスキップします。PCMバッファサイズは256KBですが、
 1曲で使うPCMサイズが256KB以内なら十分演奏が可能です

・PDXエミュレーションのボリューム調整メニューを追加しました
 2151と2608の出力抵抗の構成(ハードウェア)によっては、PDXの音量が大きかったり小さかったりする場合がある為
 音量を調整するメニューを追加しています

■rev.2023/3/5 v2.24
4759pro_firmware_v224set.zip
・ブートローダー用のファームウェアになりました。更新にはWindowsPCが必要になります(たぶん今までもそうだと思いますが)
 この上に追記した「ブートローダーを使ったファームウェア更新方法について」を参照してください
・シリアルコンソールモードにミュートコマンドを追加。ミュート状態はEEPROMへセーブすることで通常モードでも適用されます。適用したままに注意してください
・OLEDへの文字表示の色が正しくない場合がある問題を修正
・電源投入時にOLEDの輝度が下がるタイミングを30秒から35秒に延長

■rev.2023/1/14 v2.23
4759pro_firmware_v223.zip
・ループブレーカー設定に、無限(Inf.)を追加しました。曲が終わった場合でも再度同じ曲が再生されます
・IOPSを表示するオプションが追加されました。100%=10000IOPSになっています
・SCCIウェイトが、ADPCMウェイトの書き込み軽減オプションを有効にすると正常に設定されない問題を修正しました
・SCCIウェイトに、ウェイト値を減らす方向の設定を追加しました
・コンソールモードでのEEPROM書き込みコマンドの拡張版eepromexが追加されました
・EEPROMの内容を編集することで、OLEDの表示色をカスタマイズできるようになりました
 編集用のツールを用意したので、EEPROMのどこにデータを書けばどこの色が変わるかは、
 設定ファイルやツールが打っているコマンドを参照してください
 opnam color設定ツール

■rev.2022/11/17 v2.22
4759pro_firmware_v222.zip
・s98で2608 A0側のレジスタウェイトを正しく設定していない問題を修正
・vgmで正常にループしない場合がある問題を修正
 (タイミング調整カウントリセットミスを修正)
・データのパン状態を表示するオプション(OLED Pan)を追加
 パンの反転オプションに影響されません。データの状態を表示します
・SD読み込みにウェイトを追加するオプション(SDWait)を追加
 テスト用です
・コンソールに、チップテスト用の簡易MML演奏コマンドを追加
 現状はt,l,o,<,>,cdefgabなどの基本コマンドのみ
 mml initで初期化してから、mml A t192l1o5cdefgab>cのようにしてChにMMLを追加
 mml playで全Ch演奏
 Chは以下の並びになっています
 A,B,C,D,E,F 2608FM
 G,H,I 2608SSG
 J,K,L,M,N,O 2608RYTHM
 P 2608ADPCM(未実装)
 Q,R,S,T,U,V,W,X 2151FM
※mmlはあんまりテストしてません。バグってる場合はそのうち治ります。

■rev.2022/11/3 v2.21
4759pro_firmware_v221.zip
・2608FM音源のOLED用スペクトラム表示用周波数計算が間違っていた問題を修正
 マスク値が間違っていたりべき乗計算が豪快に誤ってた_(:3」∠)_

■rev.2022/8/16 v2.20
4759pro_firmware_v220.zip
・vgm形式時、ADPCMデータ書き込み専用コマンドの対応を追加(コマンド0x67)
・ログ形式再生時のADPCMウェイト量の調整オプション追加
・一部2.19で追加されたConfig設定が操作できない問題を修正(該当ハードウェアのみ)
・Consoleモード修正
 ・細かいバグ修正(バッファ処理修正、テキストミス修正、2608ボリューム制御修正)
 ・ロングファイル名が表示されない場合がある問題を修正(セクタをまたぐときにクリアしてた)
 ・fmsコマンド追加 1秒間おきにfmコマンドを実行してレジスタを表示します

■rev.2022/7/16 v2.19
4759pro_firmware_v219.zip
・2608パン反転設定が、SSGボリューム調整をいじるとリセットされるバグを修正
・フォルダ内にtitle.grpファイルを設置すると、フォルダ内を再生している間、OLEDにtitle.grp画像を表示する機能を追加
・フォルダ内にsetting.cfgファイルを設置すると、フォルダ内を再生している間setting.cfgで指定した設定に変更する機能を追加
 ※フォルダから出ると戻ります。さらに手動で設定をいじった場合でも戻ります
画像ファイルの作り方や設定ファイルは以下のツールをDLして説明を確認してください。
v219tools.zip

■rev.2022/6/11 v2.18B
4759pro_firmware_v218B.zip
・2608パン反転設定を追加
 2608のパンを反転する設定を追加してます
・SSGボリューム調整設定を追加
 いちいちボリュームをいじるのが面倒な場合用に、簡易的にいじれる設定を追加しました
・コンソールで再生中でも、SDにアクセスできるように変更
 バッファを追加する必要があり迷ったのですが、バッファは別の何かにも使えるだろうと追加しました
・コンソールのDIRコマンドにロングファイル名を表示するように変更
 同じような名前だと区別がつきにくいのでわかるように表示を追加しました
・VGM再生中に一定回数のI/O操作でCPUを開放するように修正(s98の方は入ってたがvgmの方は入ってなかった)
 ADPCMの転送中などCPUがなかなか解放されなかったので

■rev.2022/5/22 v2.18
4759pro_firmware_v218a.zip
・2151のパンを左右反転するオプションを追加
・SDカードエラー検出を追加(なんか遅くなりそうだったので手を抜いてた)
・初期化時2608側クロック変更オプション設定が行われていなかった問題を修正
・従来のUSB制御モード(※)をシリアルコンソールで制御できるように変更 ※SCCIとは別

TeraTermなどのコンソールをご利用ください。改行コードはLFしか送ってきませんので、LF→CRLF変換してください。
基板作成時のピン半田付け確認などが便利に使えます。
下に使い方を記載しました。注意点もあるので、使う前にお読みください。

■rev.2022/4/13 v2.16
4759pro_firmware_v216.zip
・リセットタイプをSoftにした時に、正常に2608がキーオフされない問題を修正(0x28と書くところが28と書いてあった)
・曲間の間を設けるBlankWait設定を追加。0〜3秒のウェイトを設定できます。

■rev.2022/3/16 v2.15
4759pro_firmware_v215.zip
・タイトル画面にスクリーンセーバーを追加(内容は暫定)
・センターボタンを押しながら電源投入又はリセットした場合、EEPROMの読み込みをキャンセルする機能を追加
・FM音源リセットのタイミングを、次の曲のデータを読み込んだ後から読み込む前に変更
・Config設定をEEPROMからのみ読み込む設定に変更した場合、SaveはEEPROMだけにするように変更

■rev.2022/2/18 v2.14
4759pro_firmware_v214.zip
・ディレクトリ内のファイルを昇順ソートするオプションを追加
 ※設定保存をミスってたので、config.cfgによってはいきなり有効になってます

■rev.2022/2/12 v2.13a
4759pro_firmware_v213a.zip
・スペシャルタイトル画面を追加。ConfigメニューのSpecialTitleを有効にすると表示されます
 画像はYamYam氏にご提供いただきました。ありがとうございます
・1秒程度の極めて短いs98,vgmがループ再生する場合、ループブレーカーを有効にしてもループが終わらない問題を修正

■rev.2022/1/18 v2.13
4759pro_firmware_v213.zip
・S98の再生対象にYM2203(タイプ2)を追加。なぜか再生対象になっていなかった

■rev.2021/11/21 v2.12A
4759pro_firmware_v212a.zip
・オープニング画面中に右押しで、2608もクロックを変更可能に
・オープニング画面を変更
・オープニングBGMを追加。BGMの再生はConfigメニューで切り替えられます。
 オープニングBGMはWING☆氏にご提供いただきました。ありがとうございます

■rev.2021/11/7 v2.12
4759pro_firmware_v212.zip
・1曲目の再生中にOLED Saver,OLED Offの設定が無視されている問題を修正(オープニング画面用設定に上書きしてた)
・一定時間経過後にOLEDがオフになっている場合、ボタンを押したときにOLEDをまずオンにだけさせるオプション(OLED RESUME)を追加
 ※タイトル画面やLCDにしか影響を与えない操作は除く
・設定ファイルとして、config.cfgだけでなく、config47.cfgを見つけても読み込むように対応(両方あった場合は最初に見つけた方)
 ※2151Neo側はconfig.cfg→config21.cfgにリネーム、OPNAM側をconfig.cfg→config47.cfgにリネームすることで、
 1枚のSDを使いまわしても設定が正しく行われるようになるんじゃないかと思います
・SDエラー画面表示時にLCDやOLEDをオンにするように修正

■rev.2021/9/17 v2.11
4759pro_firmware_v211.zip
・OPNAM(4759)Pro リリース版です


・OPNAM(4759) Pro jrファームウェア (3枚基板のハードウェアです。PIC32MZ2048EFG100使用)

・bootloaderのみの単体セット
bootloaderset_jr.zip

・colorカスタマイズツール2 v2.61以降用
opnamcolor2.zip
再生画面の色を変更するためのツールです。
MAX用って書いてありますが使えます。Consoleで代わりにコマンドを打つツールです
※2.61未満のFW用は、どこか下にあります。

■rev.2024/12/31 v2.71
4759pro_jr_firmware_v271_bld.zip
・VGMタイムコードの処理を変更しました
補足
・タイムコード
 あるタイムコードの処理前時点の実時間コードと、指定されたウェイト時間を加算して、
 処理するとか凝ったことをやっていたのですが、遅れていく一方なので処理を廃止しました
 単純に原曲データに降られているタイムコードのみを利用して演奏します


■rev.2024/11/24 v2.66
4759pro_jr_firmware_v266_bld.zip
・OPL2用の音源基板に対応しました
・MSM6258のPCMストリームデータに対応 ※ExpantionKit専用
・LIGHTモードにFASTモードを追加
・曲を続きから再生できるレジューム設定を追加
・EXVOL設定で軽くする設定を追加
・その他不具合の修正

補足

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

 一致していない場合、ジングルの再生でおかしな音が出たりします


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

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


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

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

・レジューム機能
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後だけ調整でも問題ないかと


・その他不具合の修正

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

■rev.2024/5/25 v2.63b
4759pro_jr_firmware_v263b_bld.zip
・一部のC352用に作成されたデータに対応 ※ExpantionKit専用
・オプションの追加
・PDX再生時の発音状態を、MSM6258として表示
・PCM終了アドレスに関する不具合修正
・???音源に対応 ※ExpantionKit専用
・その他不具合の修正
・スペクトラムOFFにしてもFM音源周波数を計算していた不具合を修正
・???にディスクシステム音源を追加
・???をHIGHSAMPLEモード対応
・その他細かい不具合の修正
2.63a更新
・ExtraPCMVolumeでFDS音源の調整ができない
・???音源の三角波がレジスタの設定順番によって反映されないことがある
・ついでに不具合の修正
2.63b更新
・???音源のスペクトラム表示が機能していない問題を修正
・???音源のDPCMのサンプリングレート設定が機能していない問題を修正
・???音源のDPCMデータプチノイズ軽減処理を追加
・???音源で、先頭でMASKレジスタを設定していないデータの救済措置として、標準で???音源の音源マスク設定をONに変更

内容補足

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

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

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

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

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

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


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

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

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

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


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

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

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

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

・???音源の三角波がレジスタの設定順番によって反映されないことがある
 救済措置が入っているわけがようやくわかったのです  ちゃんとしたレジスタの順番で設定しやがれなのです(公式がその順番で設定してるしなぁ) 他注意点 ・曲の開始時点でHIGHSAMPLE/STANDARDの切り替えは行われています  途中で設定を変えた場合は、一度曲の頭から再生しなおしてください 2.63b更新分 ・スペクトラム表示  なんか忘れたんですが、ポカミス ・DPCMのサンプリングレート  括弧閉じるの位置がずれてたああああ ・DPCMのプチノイズ  データが悪いんですよデータが ・MASKレジスタ  データが悪いんですよでー(ry 
■rev.2024/2/25 v2.61
4759pro_jr_firmware_v261_bld.zip
・設定を保存する領域を拡張(設定がリセットされます)
・設定メニューを階層化
・PCMのボリュームを詳細調整可能
・オプションの追加
・PSGをYM2608のSSGで演奏する場合の周波数補正処理を追加
・PCM種類毎に、左右を反転する設定を追加
・Console及びフォルダ内設定ファイルに拡張された設定のコマンドを追加
・RF5C68対応 ※ExpantionKit用
・SCC対応 ※ExpantionKit用
・その他不具合の修正

内容補足

・再生できるチップタイプが追加されますが、データ量が多いVGMファイルは非常に重いため再生速度が遅くなる場合があります。
 OPNAM ProMAXへの更新をご検討ください。

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

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

 ※設定メニューは、タイトル画面ならばボタンS2長押し
  演奏中ならボタンS2で一時停止してからボタンS1(左ボタン)で入れます
  ちなみに一時停止してからボタン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回余計に押す必要があります

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

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

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

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

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


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


・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の楽曲ファイルを再生可能です
 ※ExpantionKit専用です

・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に割り当てるのもありです

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

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

・その他
 PCM対応データはかなりデータ量が多く、SDカードを再生しながらの再生は重たく、曲がスローテンポになります
 残念ながらSCC対応曲もSCC波形の書き換えデータ量が多く、頻繁に調整している曲は重たいです
 ProMAXならメモリに余裕があるのでなんとかなるのですが、現状はこれが精いっぱい

■rev.2023/9/17 v2.55
4759pro_jr_firmware_v255_bld.zip
・PCM音量リミッター計算のバグを修正
・某S社PCMの動作クロックがサンプリングレート計算に含まれていない問題を修正
・特殊PCMチップのエミュレーション時、YM2608の表示スペースにPCM発音状態を表示
・某N社のPCMチップ用VGMデータの再生に一応対応 ※一応の理由は補足参照
・その他細かい不具合の修正
更新内容補足
・各種のPCMチップごとのボリューム調整は次のバージョンアップで対応予定です
 設定を保存する領域が足りません
 増やせばいいんですが、EEPROMとかSDカード内のセーブデータに互換性がなくなります
 データ詰め込んじゃったので、再配置で悩み中

・某S社PCMのクロックを計算に入れてなかった為、8MHzで動作しているデータでは、1オクターブ低くなっていた問題を修正しました
 何種類も動作クロックあったのね

・OLEDのPCM発音バー表示ですが、パン表示には対応していません(単純なパンではなく左右で高さが違うので)
 YM2608側のスペースを使用するため、YM2203が利用されている場合はFM音源の発音状態が表示されません

・某N社のPCMチップ再生ですが、かなり重たく、SDカードアクセスしながらの再生では曲が遅くなる場合が多いです
 データが大き目でSDアクセスが大量にある曲は演奏が遅く鳴ります
 SDアクセスが改良されていて、メモリに余裕があるProMAXではLoadAllオプションで曲をいったん全部読み込んでからの再生ができるのですが、
 残念ながら現状ではこれが精いっぱいです
 そのうち何か工夫(LCDを非表示にしたり、OLEDを簡易表示にしたりなど)してちょっとマシになるかも?
 また本来はExpansionKit専用ですが、YM2608BのDACモードでも再生できるようにしていますが、音質はやっぱり微妙です。

■rev.2023/9/6 v2.54
4759pro_jr_firmware_v254_bld.zip
・VGMヘッダ読み込み処理のバグ修正
・ADPCM-BをCPUエミュレーションした場合、データによりハングする問題を修正
・某S社用PCMが含まれるVGMファイルの再生対応 ※ExpansionKit用
更新内容補足
・VGMヘッダ読み込み修正
 VGMバージョンv1.51以上で、短いヘッダの場合を無視していたので、ヘッダが短い場合に
 ヘッダを越えた部分へのアクセスをしないように修正

・ADPCM-B時のCPUエミュレーション
 サンプリングレート計算で、サンプリングレートレジスタが未設定のまま発音が指示された時に0除算でハングしていた問題を修正

・某S社(〇ー△ー)PCM
 本来はExpansionKit用ですが、おまけでYM2608が未使用の場合のみYM2608BのDACモードで再生する機能も一応追加
 ただしYM2608モードだと音質は微妙な感じです

■rev.2023/8/19 v2.53
4759pro_jr_firmware_v253_bld.zip
・CPUがエミュレーションするADPCM-A/Bの音量を調整する設定「CPU-PCM Vol」を追加
・YM2608/YM2610演奏時に、ADPCM-Bに関してCPUエミュレーションで演奏する設定「ADPCM-B Mode」を追加
 DRAM:DRAMのみ OVERCPU:DRAM容量をオーバーした分はCPUメモリ CPUMEM:CPUメモリのみ
・YM2608用の一部VGMデータの再生開始までに時間がかかる場合がある問題を修正
・YM2608のOLED上に表示されるパンの左右が逆の問題を修正
・CPUでエミュレーションするADPCMのパンを逆転する設定「ADPCM Pan」を追加
補足
・音量調整
 従来はPDX M.Volumeに連動していました。個別に設定メニューを追加しました

・ADPCM-BのCPUエミュレーションについて、ADPCM-Bデータをどこに保存するかの設定です
 3つのメニューの特徴は
 ・DRAM
  DRAMのみを使います。DRAM容量は256KBです
  SDカードから読み込み、YM2608を経由してDRAMに書き込むため、サイズが大きいと時間がかかります
  YM2608が管理できるDRAM容量は最大256KBなので、YM2608用の曲はオーバーしません
  YM2610用の曲の場合はオーバーする可能性があります。オーバーした分は再生されません

 ・Over CPU
  DRAMに配置していきますが、途中でオーバーした場合、オーバーした分がCPUメモリ側に割り当てられます
  CPUメモリ側は400KBありますが、ADPCM-Aと共用のため、ADPCM-A側ですでに使い切っている場合は
  割り当てられない場合があります
  ※VGM曲データに記録されている順番は、ADPCM-A→ADPCM-Bの順番で記録されているようです。(見た限りのデータでは)
  400KB+256KB=656KBほどのADPCM用メモリが確保できます

 ・CPU Mem
  CPUが管理するメモリのみに配置し、DRAMには配置しません
  YM2608B用の曲データに関してはADPCM-Aがないため、容量オーバーになることはありません(たぶん)
  YM2608を経由してDRAMに書き込む事がないため、再生が開始されるまでの時間が短くなります

・YM2608用VGMファイル
 いつのバージョンからか、再生開始までに時間がかかる用になっていたようなのですが、今回の対応により修正されたかも
 いつおかしくなったんだろ?

・YM2608のパン表示
 YM2151とビットの意味が逆だったことに気が付く。

・CPUがエミュレーションする場合のADPCM-A,Bを逆にする設定を追加

■rev.2023/7/30 v2.52
4759pro_jr_firmware_v252_bld.zip
・YM2610/B用のVGMファイルを再生する時のOLED表示を改良しました
 表示をYM2608B→YM2610Bに変更
 ADPCM-Aの発音状態をRYTHM表示エリアに反映するように変更(2.51まではADPCM-Bエリア)

・YM2610/B用のVGMファイルのADPCM-Aの音量を調整(減少)しました
 音量を調整したい場合は、PDX M.Volume設定が効きます(そのうち専用メニュー化する予定)

■rev.2023/7/23 v2.51
4759pro_jr_firmware_v251_bld.zip
・YM2610/B用のVGMファイルを、YM2608+エクスパンションキットでエミュレーション再生できるようになりました
 YM2610/BのADPCM-Aは、エクスパンションキットのPCMから出力されます。最大400KBを超えるデータは切り捨てられます
 YM2610/BのADPCM-Bは、YM2608のADPCM用のDRAMにコピーしてから演奏されます。最大256KBを超えるデータは切り捨てられます
 
 なお、YM2608配下のDRAMに転送するためADPCM-Bのデータ容量が大きい場合、演奏開始までに10秒程度の時間がかかるようになります

・PCMバッファを従来の256kBから、400KBに増量しました
 PDX演奏及びYM2610/BのADPCM-Aに利用されるバッファとなります

※更新内容補足
・エクスパンションキットが付いていない場合、ADPCM-Aが再生されずに大変寂しい感じになります
・PCMバッファに残りメモリをほぼ全部割り当てたので、今後の新機能の追加時に若干減少する可能性がありますです
・YM2610 ADPCM-Aは音量調整などの詰めは甘いかもしれません。一応それっぽく聞けるようにしたのですが
・Pro/Pro Jrのみ対応です。ST系はCPUチップから配線を引き出してくださいになるので、今回は対応していません(0.3mmのところにはんだ付けできますかね‥)
■rev.2023/6/22 v2.43
4759pro_jr_firmware_v243_bld.zip
・ボタンをダウンエッジからアップエッジ(※)に変更する拡張オプション(Button Enhance)を追加
 拡張状態では、長押しによるアクションが追加されます
 ※ボタンの動作を、押した時に動作から、押して離した時に動作に変更するオプションです
 
 長押しにより、サブディレクトリ単位での戻し、先送りができるようになります
 中央ボタン長押しで直接設定画面(Config)に入れるようになります
 Config画面では、左ボタン長押しで先頭メニューへ、右ボタン長押しで最後のExitへ遷移できます

・OLEDの輝度を落とした状態を基本とするオプション(OLED Half BR)を追加
 OLEDに搭載されているインバータノイズの影響を減らすことができます

■rev.2023/6/16 v2.42
4759pro_jr_firmware_v242_bld.zip
・PMD形式の再生が指定時間で終了しない問題を修正
・PMDドライバのパッチを正式版に更新
 ・演奏が終了したら次の曲に即座に遷移(前回までのパッチは時間で遷移)
 ・2ループで終了するように対応(設定のLoopBreakerが有効な時)

 パッチを更新したので、pmdset.zip内のpmd86.binを更新しました。ダウンロードしなおし、
 SDカードにPMD演奏ドライバ(pmdset.zip)を入れてください

■rev.2023/6/11 v2.41
4759pro_jr_firmware_v241_bld.zip
・PMD形式の曲ファイル再生用セットを追加しました
 SDカードにPMD演奏ドライバ(pmdset.zip)を入れてください(補足参照)
・拡張MDX(32KB以上のファイルサイズ)ファイルのPDX再生に対応しました
・PDXがPCMバッファサイズをオーバーする場合の挙動を選択できるようになりました
・PCに認識されるUSB名をOPNAMシリーズとわかるように修正しました
・その他細かい不具合の修正
※更新内容補足

・PMD形式の再生
 pmdset.zipをDLし、ZIPファイルを展開してpmd86.binをSDカードのルートディレクトリにコピーしてください
 後は、再生したいPMDの曲ファイルをSDカードのサブディレクトリに格納しておけば再生されます

 制限事項
 ・PMDファイルはサブディレクトリに配置してください
  pmd86.binを見つけた後に、発見したPMD曲ファイルを有効にする為、ルートディレクトリに配置されたpmdファイルは読み込まれるかどうか不明です
  (スキャンはディレクトリエントリ順に処理されるため、SDカードにコピーした順番で処理されたりします)

 ・PMD曲の再生は固定で2分の再生時間となっています。曲が早めに終わっても2分間は次の曲に自動的には進みません
  これはPMD86.BINのパッチによるもので、再生終了フラグなどを見てない為です。そのうち対応するかもしれません

 ZIP内のファイルについて

  ・pmd86.bin
   OPNAMで演奏できるようにパッチを当てたpmd音源ドライバです。SDカードのルートディレクトリにはこのファイルを配置してください

   パッチ内容としては、OPNAMがチェックするバッファとの橋渡し、割り込み周りの処理、I/Oで2回inportしている処理の削除などです。
   パッチ箇所が多いですが、高速化のためにつぶしている部分が多い為です

  ・PMD86.COM
   PMD86の98x1用のFM音源ドライバです。
   オリジナルのドライバとして同梱していますが、OPNAMでは使いません

  ・pmd_patch.exe
   PMD86.COMにパッチをあて、pmd86.binを作る為のパッチプログラムです
   オリジナルドライバからの作成用として同梱しています
   こちらもOPNAMでは使いません


 今回、PMDドライバの配布に関してはKAJA氏に許可をいただきました。ありがとうございました!


・PDX再生時、PCMバッファ(256KB)を超える場合の挙動として、以下の3つを選択できます
 1.SKIP
  今までの動作です。読み込むとあふれてしまうデータだった場合、スキップして次のPCMデータに進みます

 2.CUT
  オーバーする分だけ、すべてのPCMデータの最後をカットして収まるようにします
  数%程度のオーバーならばこちらの対応で十分聞けるものになるかもしれません
  たとえば260KB必要な場合、256KBに収まるようにする為に、すべてのPCMデータの末尾を1.6%ほどカットして格納します
  これくらいならば、違和感なく聞ける可能性が高いです

 3.DOWNSP
  PCMデータをダウンサンプリング(音質を劣化)し、実質的な容量を512KB相当と2倍にします
  それでもオーバーする場合はSkipされますが、大体の曲は聞けるようになるかと思われます
  

・拡張MDXファイルのPDX再生
 32KBを超えるMDXデータは拡張MDXとなります
 PDX演奏の為にいったんMDXファイルの内部をスキャンして、どのPCMが再生されるか事前確認を行っていますが、
 この確認処理が拡張MDXに対応していないため、32KBまでの範囲で処理されており、32KB以降に配置されているトラックはスキャンされませんでした
 スキャンされない=使っていないという判定になってしまい、PCMが再生されなくなります

 FM音源パートのトラック、PCM音源パートのトラックという順番で普通は配置されている為、PCMパートの後ろがスキップされていました
 32KBを越えた部分をスキャンするため、今までPDXが演奏されなかった曲も演奏されるようになったかと思います

■rev.2023/5/16 v2.33
4759pro_jr_firmware_v233_bld.zip
・フォルダ毎の設定ファイルsetting.cfgに、ここ最近追加されたConfigを追加
 setting.cfgはv2.19から追加されたフォルダ毎にOPNAMの設定を変更する機能です
 詳細は下にある「SETTING.CFGの使い方」を参照してください
・シリアルコンソールでMDX+PDXを演奏させた場合、演奏終了後にOLED/LCD表示が停止状態にならない問題を修正
・SCCI normal fastモードでYM2608のADPCMレジスタへの書き込みが行われない問題を修正

■rev.2023/5/2 v2.32
4759pro_jr_firmware_v232_bld.zip
・PDX再生時、YM2608によってはPCMが再生されない場合がある為対策しました
・PDX再生時、PCMチャンネルにボリューム値を反映しました
 これに伴い従来のPDX VolumeLvは、PDX M.Volume(PDXマスターボリューム)に名称変更しました
 新たにPDX Volume設定を追加しました。音量への反映の強弱を選択できます
 固定にする場合(V2.31までの挙動)は、Offで再現することができます
・PDX再生時に2608側のクロックが自動設定だったとき、8MHzに設定するようにしました
 PCMの音程には影響ありません。2608内部の処理時間にのみ影響があります(たぶん)
・MDXデータのプリスキャン処理が、ループを含めたPCMチャンネルの演奏回数をカウントするように変更されました
 PDXデータの読み込み優先順位に与える影響が正しく計算されるようになります
・一定の時間(60秒、120秒、180秒)で次の曲に進むAutoSkip設定を追加しました
※更新内容補足
 ・PDX M.Volumeは、ハードウェアによるYM2151とYM2608の音量の違いを吸収するための設定になります
  両者の音量の違いは出力抵抗の違いなどにもよる為、個別のハードウェアで調整してください

 ・PDX Volumeは、MDX内部で指定されている音量値によってPCMのボリューム値を変化させますが、
 この変化の強さを指定する設定です。反映の強さはLow、Middle、Highの3種類です
 またOffはボリューム固定になります。V2.31までのが良かったという場合にご利用ください

 ・YM2608のクロックが8MHzと7.98MHzで音程に違いはありません。DACレジスタへの書き込みの処理時間が
 異なる程度です。早い方が良いので8MHzに設定しています

■rev.2023/4/26 v2.31
4759pro_jr_firmware_v231_bld.zip
・YM2151のクロックが3.57MHzの時、FM音源の発音がおかしい場合がある問題を修正
 →PDX追加時に調整したウェイトで問題が発生していた
※Bootloader用のファームウェアです。

■rev.2023/4/26 v2.30
4759pro_jr_firmware_v230set.zip
・BootloaderにSDからのファームウェア更新機能を追加しました
・PDXエミュレーション機能を追加しました。メニューから有効にできます
・PDXエミュレーションのボリューム調整メニューを追加しました

※更新内容補足
・BootloaderにSDからのファームウェア更新機能を追加しました
 SDカードにFIRMWARE.HEXを入れた状態でブートローダを起動することで更新できます

 SDカードからの更新が必要なければブートローダは従来のままでもご利用いただけます

 対象となるボードのファームウェアをダウンロードします。
 SDカードのルートディレクトリに FIRMWARE.HEX とリネームして配置します。
 ※SDカードは普通に再生できるなものをご利用ください

・PDXエミュレーション機能を追加しました
 2608が頑張って演奏してくれます。

 いったんMDXを内部的に演奏し、使用しているPCMと使用回数を記録します。
 (ループ展開はしていないので使用回数は正しくないかも。また今度追加しときます)
 使用回数の多い順からPCMをPDXファイルからロードします。
 PCMバッファサイズをオーバーしたPCMはスキップします。PCMバッファサイズは256KBですが、
 1曲で使うPCMサイズが256KB以内なら十分演奏が可能です
 

・PDXエミュレーションのボリューム調整メニューを追加しました
 2151と2608の出力抵抗の構成(ハードウェア)によっては、PDXの音量が大きかったり小さかったりする場合がある為
 音量を調整するメニューを追加しています

■rev.2023/3/5 v2.24
4759pro_jr_firmware_v224set.zip
・ブートローダー用のファームウェアになりました。更新にはWindowsPCが必要になります(たぶん今までもそうだと思いますが)
 この上に追記した「ブートローダーを使ったファームウェア更新方法について」を参照してください
・シリアルコンソールモードにミュートコマンドを追加。ミュート状態はEEPROMへセーブすることで通常モードでも適用されます。適用したままに注意してください
・OLEDへの文字表示の色が正しくない場合がある問題を修正
・電源投入時にOLEDの輝度が下がるタイミングを30秒から35秒に延長

■rev.2023/1/14 v2.23
4759pro_jr_firmware_v223.zip
・ループブレーカー設定に、無限(Inf.)を追加しました。曲が終わった場合でも再度同じ曲が再生されます
・IOPSを表示するオプションが追加されました。100%=10000IOPSになっています
・SCCIウェイトが、ADPCMウェイトの書き込み軽減オプションを有効にすると正常に設定されない問題を修正しました
・SCCIウェイトに、ウェイト値を減らす方向の設定を追加しました
・コンソールモードでのEEPROM書き込みコマンドの拡張版eepromexが追加されました
・EEPROMの内容を編集することで、OLEDの表示色をカスタマイズできるようになりました
 編集用のツールを用意したので、EEPROMのどこにデータを書けばどこの色が変わるかは、
 設定ファイルやツールが打っているコマンドを参照してください
 opnam color設定ツール

■rev.2022/11/17 v2.22
4759pro_jr_firmware_v222.zip
・s98で2608 A0側のレジスタウェイトを正しく設定していない問題を修正
・vgmで正常にループしない場合がある問題を修正
 (タイミング調整カウントリセットミスを修正)
・データのパン状態を表示するオプション(OLED Pan)を追加
 パンの反転オプションに影響されません。データの状態を表示します
・SD読み込みにウェイトを追加するオプション(SDWait)を追加
 テスト用です
・コンソールに、チップテスト用の簡易MML演奏コマンドを追加
 現状はt,l,o,<,>,cdefgabなどの基本コマンドのみ
 mml initで初期化してから、mml A t192l1o5cdefgab>cのようにしてChにMMLを追加
 mml playで全Ch演奏
 Chは以下の並びになっています
 A,B,C,D,E,F 2608FM
 G,H,I 2608SSG
 J,K,L,M,N,O 2608RYTHM
 P 2608ADPCM(未実装)
 Q,R,S,T,U,V,W,X 2151FM
※mmlはあんまりテストしてません。バグってる場合はそのうち治ります。

■rev.2022/11/3 v2.21
4759pro_jr_firmware_v221.zip
・2608FM音源のOLED用スペクトラム表示用周波数計算が間違っていた問題を修正
 マスク値が間違っていたりべき乗計算が豪快に誤ってた_(:3」∠)_

■rev.2022/8/16 v2.20
4759pro_jr_firmware_v220.zip
・vgm形式時、ADPCMデータ書き込み専用コマンドの対応を追加(コマンド0x67)
・ログ形式再生時のADPCMウェイト量の調整オプション追加
・一部2.19で追加されたConfig設定が操作できない問題を修正(該当ハードウェアのみ)
・Consoleモード修正
 ・細かいバグ修正(バッファ処理修正、テキストミス修正、2608ボリューム制御修正)
 ・ロングファイル名が表示されない場合がある問題を修正(セクタをまたぐときにクリアしてた)
 ・fmsコマンド追加 1秒間おきにfmコマンドを実行してレジスタを表示します

■rev.2022/7/16 v2.19
4759pro_jr_firmware_v219.zip
・初期リリース
画像ファイルの作り方や設定ファイルは以下のツールをDLして説明を確認してください。
v219tools.zip


※これらのファームウェアはOPNAM(4759)Pro/Pro Jr/STPro専用です。
 その他のハードウェアでの利用はおやめください
 使用するボードに間違ったファームウェアを書き込まないでください


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

注意!! ACアダプタから給電する場合、USBPWRにジャンパピンもしくは短絡する配線をした状態で、USB端子にUSBケーブルを絶対に接続しないでください。
USBケーブルを接続しての利用を考えている場合、ACアダプタから給電する時には、USBケーブルを接続しないか、ジャンパピンを必ず外すようにし、絶対に間違えないように利用してください。


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

・部品の向きについて

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

・電解コンデンサは極性があります。電源と一部の音響コンデンサにのみ、極性があるコンデンサを使っています。

・ICにも向きがあります。装着しようとしているICの1番ピンを確認してから装着してください。
1番ピンの位置はシルク印刷で欠けている方や、〇や▲のマークが付けられています。
シルク印刷の文字の方向だけを見て1番ピンを判断しないでください。右向きに取り付ける部品でも、文字は左側を向いていることがあります。

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

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

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

■OPNAM(4759)FM音源プレイヤー回路図

回路図

・OPNAM ST Pro基板

・OPNAM ST Pro2基板

・OPNAM Pro制御基板
1.2a差分
・OPNAM Pro DRAM基板
・OPNAM Pro 音源基板

※Sound基板v1.2は、2151と2608のMIX端子部分が逆になっている問題を修正しています
MIX端子に接続しているところを逆に解釈してください。その他は同一です

・OPNAM Pro Jr制御基板
※JrのDRAM基板及び音源基板はProと同一です。Proの情報を参考にしてください


■OPNAM(4759)FM音源プレイヤー部品配置図

部品配置

 ・ST Pro部品配置


 ・ST Pro2部品配置


 ・Pro制御基板

1.2a差分

 ・Pro音源基板

※ProのDRAM基板の配置は省略しています
 細ピンヘッダを取り付けてから、DRAMを配置してください



 ・Pro Jr制御基板

物理配置図

 ・STPro基板
※液晶ユニットは取り付けていません


 ・STPro2基板
※OLEDやチップ、一部部品は取り付けていません


 ・Pro制御基板

 ・Pro音源基板
 ・反対側のアングル&チップ実装&2608のOPAMPは14ピンの4回路チップを利用

 ・Pro DRAM基板


 ・Pro Jr制御基板

■4759FM音源プレイヤー部品リスト

4759FM音源プレイヤーの部品リストなどの情報です。

■部品リスト共通のお約束について

部品リストには、部品とコメント、調達用のリンクが記載されています。
リンクは一例であり、必ずしもリンク先で購入しなければならないわけではありません。
ひょっとしたらリンクが間違っているかもしれません。必ず回路図などでも確認するようにしてください。
部品にはまれに数量が大量のものがあり、そのリンクの場合もあります。数も確認するようにしてください。
#単品ではなく数個入っている部品もありますので、余った部品は何かに活用してください。
部品について詳しい方であれば、手持ちや販売の都合などで同等スペック品や、もっといい部品を使うこともできます。

部品の足のピッチが2.54mmの場合と5mmの場合の2種類あります。
基板は部品ピッチを2.54mmで設計しているので、購入した部品が5mm品であった場合は、足の幅を狭めてから実装してください。
#2.54mmが売っていないので仕方ありません…


部品表

スペースの都合により、いくつかの部品が重なっています。
また表と裏面の両方に部品を実装する必要があります。
裏面はマイクロSDカードスロットのみ配置されます。
マイコンの上に液晶ユニットが配置されます。マイコン端子の半田付け不具合に注意してください。
入手場所は一例であり参考情報です

■4759 ST Pro

名称PIC32MZ2048EFH064-250I/PT
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gI-13286/
DigiKey
https://www.digikey.jp/ja/products/detail/microchip-technology/PIC32MZ2048EFH064-250I-PT/6152256
使用箇所PIC32MZ2048EFH064
解説 なぜか秋月で取り扱っているPIC32MZマイコンです。
高性能なのですが、エラッタが大量にあって、A1ロットを買ってしまうと正常に動かない可能性が高いです。
秋月で現在取り扱っているマイコンはA3ロットです。最低でもA3ロット以上を利用してください。
端子は0.5mmピッチの極悪仕様です。
マイコンは1番ピンの方向に丸のぽっちが点いています。基板のシルク印刷でもマークがついていますので、位置と方向を合わせて実装してください。

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

名称DRAM M11B416256A-35J
容量4Mbit
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gI-01451/
使用箇所UM1(DRAM)
解説 4MBit(512KB)のDRAMです。
YM2608のADPCM用です。256KBでよいので実際には半分しか使っていません。
なのでYM2608にDRAMに書き込みをさせつつ、マイコンで余っている1ビットを制御してやれば、実は2バンク使えるのではないかとも思いましたが、やってないところを見ると、このメモリアドレス線は256KB分しかなく、16ビット接続のみで512KBだった気がします。つまり面倒になってやめました。

名称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 NJM4560L
入手場所 秋月電子
https://akizukidenshi.com/catalog/g/gI-11197/
使用箇所NJM4560L
解説 OPAMPです。2回路入り縦配置の部品です。
ユニバーサル丸ピンICソケットを使用すると、やや高さがあるのですが、
周囲の電解コンデンサとほぼ高さは一緒なので大丈夫でしょう。

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

名称NJM2845DL1-33
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gI-11299/
使用箇所U3(NJM2845)
解説 3.3Vのレギュレータを使っています。
ただし、この部品は前半が同じ型番で、後半の33の部分だけが異なる部品があります。
05の5V版と18の1.8V版(秋月では廃盤のようなので出てきません)と間違えないでください。
#たまに間違える人がいるのですが、その原因がわかりました。
該当の品は1個単位でしか売っていませんが、なぜか下に4個セットがお勧め表示されています。騙されてはいけません。その4個セットは5V品です。
1個だけだと不安だし、複数個欲しいからとセット品を買うと間違えます。
前は3.3Vの4個セットも売っていたのですが、セット売りは廃盤になりました。

名称水晶発振子
周波数24MHz
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-08674/
使用箇所Q1
解説 以前は10個単位での販売だったのですが、最近は1個から買える様になりました。
小さい割には地味に高い部品でもあります。
ちなみにこれは水晶発振子なので、発振の為には別に回路が必要になりますが、そのための回路はマイコン内部に入っています。
…が、A1ロットではその回路に問題があり発振しません。そのため、A1ロットの場合は水晶発振器が必要になります。

名称3ch出力プログラマブル周波数ジェネレーターモジュール
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gK-10679/
使用箇所AE-SI5351A(YM2151直下)
解説 はんだ付けが困難なPLL-ICと水晶発振子をモジュール化した便利な一品です。
ICソケットを使って実装したくなりますが、高さがあるとYM2151にぶつかります。
ロープロファイルなICソケットを使っても、ピンをカットする必要がありますので、その場合はあきらめてはんだ付けしてください。
PLL-ICですが、通常はマイコンなどの内部に入っている回路を個別に切り出して使えるようにしたものらしいです。
内部には2系統の発信器と3つの分周器が内蔵されているので、3Ch分出力できるとは言っても、自由にとまではいきません。
なお、このPLL-ICは設定までに若干の時間がかかる為、高速立ち上がりが必要だったり、一瞬でも途切れることが許されないデバイスには向きません。

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

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

名称キャラクタLCD
型番AQM0802A-FLW-GBW
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-09422/
使用箇所AQM0802A-FLW-GBW ※シルク印刷はとぎれとぎれです
解説 非常に高価で脆いバックライト付きI2C接続キャラクタ液晶です。
液晶本体は非常にデリケートです。液晶の端子に少しでも負荷をかけると直ぐ壊れます。
ぱきっとか音が鳴ったらもう壊れています。
この液晶はマイコンの上にかぶせる形で配置されます。この液晶をつけてからマイコンの接触不良が判明した場合、修正の為には液晶の取り外しが必要になります。
液晶は必ず最後に取り付けるようにしてください。
PCに接続して、COMデバイスが認識されるか動作を確認するなど、マイコンが完全に動作することを確認してから取り付けるようにしてください。

なお、この液晶にフラッシュ撮影等の強い光を当てると、ガラス側から制御回路側に強い光が回り込んで誤動作する場合があります。
この状態になったら直ちに基板の電源を落としてください。
液晶はAC駆動することが前提のデバイスなので、制御回路がおかしい状態だとDC駆動してしまう事があり、液晶に回復不可能なダメージが残る可能性があります。
ちなみにこの液晶の制御回路であるシリコンダイは、黒いゴムの部分にある細長い微小な金属片がそうです。

名称DCジャック
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gC-01604
使用箇所DCJACK1
解説 シンガトロン社製のジャックです。
マル信のでもかまいません。(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端子のジャンパを必ず取り外しておいてください。

名称ポリスイッチ
容量500mA
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-01355/
使用箇所PF1
解説 500mA品です。

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

名称青LED
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gI-02754/
使用箇所LED
解説 安い青LEDです。20本入り。
ひょっとして不良が多い?

名称丸ピンICソケット シュリンク64ピン
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-04602/
https://akizukidenshi.com/catalog/g/gP-04408/
使用箇所FM1(YM2608)
解説 64ピンはピン間1.778mmのシュリンク品です。1つ200円もする高価な部品です。
板バネ式は50円と脅威の価格差です。
※丸ピンのソケットは終売しているようです

名称丸ピンICソケット 24ピン
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-00032/
使用箇所U1(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),DAC1(YM3016)
解説 DAC用のICソケットです。

名称丸ピン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/
使用箇所USB PWR,PICKIT,MIX
解説 USB側の電源のみでACアダプタを使わない場合は、省略し、ジャンパ線でショートさせてかまいません。
PICKIT3接続用のピンヘッダも用意した方が便利ではあります。
2151と2608の出力をミキシングする場所にも利用します。

名称ジャンパーピン
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-03689/
使用箇所USBPWR,MIX
解説 ACアダプタを使わず、USBから供給する場合はピンヘッダにジャンパピンをセットし、電源を供給してください。
ジャンパが不要な場合は、直接ブリッジしてもかまいません。
ジャンパする場合は、DCジャックを絶対に取り付けないでください。
2151と2608の出力をミキシングする場合にも利用できます。

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

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

名称オーディオ用無極性電解コンデンサー
容量4.7uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-04637/
千石電商:https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=3AJD-NTHU
使用箇所C2,C15,C16,C21,C22,C39,C40
解説 音響用の4.7uFです。こちらも50V品を使っています。
25V品は細くて。
※世界的にオーディオ用の小容量が不足しているようです。代替品のURLを掲載しました

名称積層セラミックコンデンサ(MLCC)
容量1.0uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-04066/
使用箇所C24,C25,C46
解説 液晶内蔵のレギュレータ用のコンデンサです。
0.1uFでもいけそうなんですが、液晶の説明書には1uFと書いてあるのでそのままです。
また、電源のノイズ吸収用にも1つ実装しています。

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

名称導電性高分子アルミ固体電解コンデンサー(OSコン)
容量220uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-08291/
使用箇所C28
解説 OSコンの220uFバージョンです。別に100uFでも大丈夫だと思いますが、220uFがちょうどいいサイズにしてます。極性があります。

名称積層セラミックコンデンサ(MLCC)
容量68pF
入手場所秋月電子
https://akizukidenshi.com/catalog/g/g108048/
使用箇所C49
解説 YM3016Dのリファレンス路に合ったコンデンサです。どうやらノイズ対策用部品の模様です。

名称積層セラミックコンデンサ(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/
使用箇所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のアナログ回路部分に使っています。

名称炭素皮膜抵抗
抵抗値10KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16103/
使用箇所R2,R3,R4,R5,R6,R7,R8,R9,R26,R27,R30
解説 マイコン用MCLR用抵抗、I2Cバス用抵抗x2です。
使用している液晶は低消費電力設計なので引き込み可能な電流が極めて小さく、I2Cバスのプルアップ抵抗には10Kが最低でも必要になります。
また、ADPCM用メモリチップのプルダウン用抵抗にも使っています。なくても動く気がしますが、未接続は誤動作の元なので処理しています。

名称金属皮膜抵抗
抵抗値10Ω
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-08515/
使用箇所R20,R31,R32
解説 10Ωですが、金属皮膜の大電流用です。
こちらは5VのUSB電源からDACのアナログ系に流れるところでノイズ低減の為に入れています。
10Ωx1だとなんか電流が不足していた感じだったので、2つにしました。ノイズ低減用なので、気にしなければ別にジャンパでもいいとは思います。
液晶のバックライト制御用FETのゲートへの突入電流制限用にも使っています。マイコン保護用に入れてます。
ここには炭素皮膜品で十分ですが、DACに使っている金属皮膜抵抗の10Ωが流用できますので、すでに持っている場合を除き炭素皮膜を新たに購入する必要はありません。
金属皮膜品 > 炭素皮膜品なので、値段が2倍しますが、金属皮膜を使ってください。

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

名称金属皮膜抵抗
抵抗値47Ω
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-08518/
使用箇所R19
解説 液晶のバックライトLED用の電流制限抵抗です。
1/6Wサイズですが、許容電流が1/4Wな金属皮膜抵抗を利用しています。

名称炭素皮膜抵抗
抵抗値100KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16104/
使用箇所R24
解説 液晶のバックライト制御用FETのゲート放電用です。

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

名称炭素皮膜抵抗
抵抗値680Ω
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16681/
使用箇所R29
解説 LED用の電流制限抵抗です。
まぶしくない明るさにしていますが、明るくしたいならもうちょっと低い抵抗を利用してください。

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

名称炭素皮膜抵抗
抵抗値2k〜3.9KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16392/
使用箇所R35,R36
解説 YM2151側音源の出力抵抗です。2K〜3.9Kの幅で抵抗値を小さくすることで電流を多くとれます。
3.9Kだとイヤホンによっては音が小さいと感じるかもしれません。ライン出力用がメインです。
2kでも音量が小さいと思った場合は、1K程度まで落としたほうがよいでしょう。
USB電源で駆動する場合、抵抗が小さいとUSB電源からのノイズに弱くなるようです。

名称炭素皮膜抵抗
抵抗値1K〜3.9KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16392/
使用箇所R15,R16,R22,R23
解説 YM2608側音源の出力抵抗です。
YM2151側と比べて音量が小さい為、YM2151側が3.9KΩならば、1K〜2K等で抵抗値を小さくした方がよいです。

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

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

名称タクトスイッチ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-03648/
使用箇所RESET,S1,S2,S3
解説 1つ10円(100個詰め合わせだと7円)のタクトスイッチ。
結構耐久性に欠ける気がしてならないのですが、そこまで押さなければたぶん大丈夫。
リセットスイッチは省略してもかまいません。

名称ACアダプタ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gM-01801/
使用箇所DC JACK
解説 5Vで最大2Aなスイッチング電源超小型ACアダプタです。
もちろんセンタープラスの現行モデルです。スイッチングではなく伝統的なトランスを使ったアダプタを利用する、という方は極性にご注意ください。
USB電源ではなく、ACアダプタから給電する場合は利用してください。
最近だと、USB電源からモバイルバッテリーなどを利用する場合が多いだろうと思いますので、あんまりACアダプタは使わないかも。
ACアダプタを利用する場合は、USBPWR端子のジャンパは外してください。USB端子にUSBケーブルをささなければ問題はありませんが、いつか間違えます



■4759 ST Pro2

名称PIC32MZ2048EFH064-250I/PT
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gI-13286/ 品切れ中
DigiKey
https://www.digikey.jp/ja/products/detail/microchip-technology/PIC32MZ2048EFH064-250I-PT/6152256
使用箇所PIC32MZ2048EFH064
解説 なぜか秋月で取り扱っているPIC32MZマイコンです。
高性能なのですが、エラッタが大量にあって、A1ロットを買ってしまうと正常に動かない可能性が高いです。
秋月で現在取り扱っているマイコンはA3ロットです。最低でもA3ロット以上を利用してください。
※現在秋月では品切れになっています。そのほかの部品取り扱いサイトなどでご購入ください。
端子は0.5mmピッチの極悪仕様です。
マイコンは1番ピンの方向に丸のぽっちが点いています。基板のシルク印刷でもマークがついていますので、位置と方向を合わせて実装してください。

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

名称DRAM M11B416256A-35J
容量4Mbit
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gI-01451/
使用箇所UM1(DRAM)
解説 4MBit(512KB)のDRAMです。
YM2608のADPCM用です。256KBでよいので実際には半分しか使っていません。
なのでYM2608にDRAMに書き込みをさせつつ、マイコンで余っている1ビットを制御してやれば、実は2バンク使えるのではないかとも思いましたが、やってないところを見ると、このメモリアドレス線は256KB分しかなく、16ビット接続のみで512KBだった気がします。つまり面倒になってやめました。

名称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 NJM4560L
入手場所 秋月電子
https://akizukidenshi.com/catalog/g/gI-11197/
使用箇所NJM4560L
解説 OPAMPです。2回路入り縦配置の部品です。
ユニバーサル丸ピンICソケットを使用すると、やや高さがあるのですが、
周囲の電解コンデンサとほぼ高さは一緒なので大丈夫でしょう。

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

名称NJM2845DL1-33
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gI-11299/
使用箇所U3(NJM2845)
解説 3.3Vのレギュレータを使っています。
ただし、この部品は前半が同じ型番で、後半の33の部分だけが異なる部品があります。
05の5V版と18の1.8V版(秋月では廃盤のようなので出てきません)と間違えないでください。
#たまに間違える人がいるのですが、その原因がわかりました。
該当の品は1個単位でしか売っていませんが、なぜか下に4個セットがお勧め表示されています。騙されてはいけません。その4個セットは5V品です。
1個だけだと不安だし、複数個欲しいからとセット品を買うと間違えます。
前は3.3Vの4個セットも売っていたのですが、セット売りは廃盤になりました。

名称水晶発振子
周波数24MHz
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-08674/
使用箇所Q1
解説 以前は10個単位での販売だったのですが、最近は1個から買える様になりました。
小さい割には地味に高い部品でもあります。
ちなみにこれは水晶発振子なので、発振の為には別に回路が必要になりますが、そのための回路はマイコン内部に入っています。
…が、A1ロットではその回路に問題があり発振しません。そのため、A1ロットの場合は水晶発振器が必要になります。

名称3ch出力プログラマブル周波数ジェネレーターモジュール
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gK-10679/
使用箇所AE-SI5351A(YM2151直下)
解説 はんだ付けが困難なPLL-ICと水晶発振子をモジュール化した便利な一品です。
ICソケットを使って実装したくなりますが、高さがあるとYM2151にぶつかります。
ロープロファイルなICソケットを使っても、ピンをカットする必要がありますので、その場合はあきらめてはんだ付けしてください。
PLL-ICですが、通常はマイコンなどの内部に入っている回路を個別に切り出して使えるようにしたものらしいです。
内部には2系統の発信器と3つの分周器が内蔵されているので、3Ch分出力できるとは言っても、自由にとまではいきません。
なお、このPLL-ICは設定までに若干の時間がかかる為、高速立ち上がりが必要だったり、一瞬でも途切れることが許されないデバイスには向きません。

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

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

名称有機ELディスプレイ 0.95インチ 96x64ドット RGB
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-14435/
使用箇所OLED DISPLAY
解説 非常に高価な有機EL(OLED)ディスプレイです。オプションです。なくても動作します。
ガラス製ですので、基板に密着するようにしないと、ふとした衝撃などで割れるかもしれません。
最初からついているピンヘッダは太いため、対応するピンソケットに入れるとかなり背が高いです。
交換できるようにピンヘッダを細ピンヘッダに交換し、丸ピンICソケットにすると、かなり高さを抑えることができます。
交換しない、壊さない前提であれば、ソケットを使わず直接はんだ付けしてしまうのも手です。

名称I2C EEPROM
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gI-03567/
使用箇所24LC64
※LEDのすぐ右隣りの8ピン
解説 I2C接続用のEEPROMです。秋月では24LC64と24FC64の2種類売っていますがどちらでも構いません。
容量は64Kを指定していますが、それ以上の容量、手持ちで256K(24LC256)等があれば、それでも問題ありません。

名称ポリスイッチ
容量500mA
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-01355/
使用箇所PF1
解説 定格500mA品です。自動で復帰するリセッタブルヒューズです。
内部には電気を通す粒と熱で膨張する粒が入っており、大体定格の2倍以上の電流が流れると発熱し、粒が膨張、電気を通す粒が離れ離れになって電流を遮断する仕掛けです。
温度が下がると粒が小さくなり、また使うことができるようになります。
電源をつないで正常に動作しない時は、速やかにケーブルを抜くのが前提ですが、その時にポリスイッチが発熱していないかも同時に確認することで、ショートしているなどの原因を追究しやすくなります。

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

名称青LED
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gI-02754/
使用箇所LED
解説 安い青LEDです。20本入り。
ひょっとして不良が多い?

名称丸ピンICソケット シュリンク64ピン
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-04602/
https://akizukidenshi.com/catalog/g/gP-04408/
使用箇所FM1(YM2608)
解説 64ピンはピン間1.778mmのシュリンク品です。1つ200円もする高価な部品です。
板バネ式は50円と脅威の価格差です。
※丸ピンのソケットは秋月電子では終売しているようです

名称丸ピンICソケット 24ピン
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-00032/
使用箇所U1(YM2151)
解説 幅600mil品です。横に長いのです。
秋月電子では桟ありとなしの2種類が売っています。どちらでも大丈夫です。

名称丸ピン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),DAC1(YM3016)
解説 DAC用のICソケットです。

名称丸ピンICソケット 8ピン
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-00035/
使用箇所24LC64,AE-Si5351A
解説 EEPROM用のICソケットです。
PLLモジュールもソケットに差すことができますが、ソケットにした場合、高さがあるのでYM2151側のソケットを2段重ねにするなどして対策してください。

名称丸ピンIC用ソケット シングル8P
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-01015/
使用箇所NJM4560L
解説 縦配置OPAMPのICソケットです。
8Pで30円なので地味に高いです。カット可能な40ピンが150円とこちらも高いのですが、こちらをカットして使うのもありです。
https://akizukidenshi.com/catalog/g/gP-01591/
余ったピンは何かに使ってください。

名称ピンヘッダ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gC-00167/
または
http://akizukidenshi.com/catalog/g/gC-00082/
使用箇所PICKIT,MIX
解説 2151と2608の出力をミキシングする場所に利用します。
PICKIT接続用のピンヘッダにも利用しますが、こちらはファームウェアを書き込むときのみですので、常用しません。
PICKITの端子をケーブルなどで延長し、押し付けるようにしっかりと接触させて書き込むなどの上級者テクニックが使えます。
書き込み中に手が滑ったりすると壊しますのであまりお勧めはしません。

名称ジャンパーピン
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-03689/
使用箇所USBPWR,MIX
解説 MIX端子のピンヘッダにジャンパピンをセットし、YM2151とYM2608の出力をMIXすることができます。
MIX端子が解放状態の場合は、YM2151とYM2608の音声はそれぞれのジャックから出力して、外部でMIXなどを行うことができます。

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

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

名称オーディオ用無極性電解コンデンサー
容量4.7uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-04637/
千石電商:https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=3AJD-NTHU
使用箇所C2,C15,C16,C21,C22,C39,C40
解説 音響用の4.7uFです。こちらも50V品を使っています。
25V品は細くて。
※世界的にオーディオ用の小容量が不足しているようです。代替品のURLを掲載しました

名称積層セラミックコンデンサ(MLCC)
容量1.0uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-04066/
使用箇所C46
解説 電源のノイズ吸収用に1つ実装しています。

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

名称導電性高分子アルミ固体電解コンデンサー(OSコン)
容量220uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-08291/
使用箇所C28
解説 OSコンの220uFバージョンです。別に100uFでも大丈夫だと思いますが、220uFがちょうどいいサイズにしてます。極性があります。

名称積層セラミックコンデンサ(MLCC)
容量68pF
入手場所秋月電子
https://akizukidenshi.com/catalog/g/g108048/
使用箇所C49
解説 YM3016Dのリファレンス回路に合ったコンデンサです。どうやらノイズ対策用部品の模様です。

名称積層セラミックコンデンサ(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/
使用箇所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のアナログ回路部分に使っています。

名称炭素皮膜抵抗
抵抗値10KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16103/
使用箇所R2,R3,R4,R5,R6,R7,R8,R9,R19,R20,R30
解説 マイコン用MCLR用抵抗、I2Cバス用抵抗x2です。
使用している液晶は低消費電力設計なので引き込み可能な電流が極めて小さく、I2Cバスのプルアップ抵抗には10Kが最低でも必要になります。
また、ADPCM用メモリチップのプルダウン用抵抗にも使っています。なくても動く気がしますが、未接続は誤動作の元なので処理しています。

名称金属皮膜抵抗
抵抗値10Ω
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-08515/
使用箇所R31,R32
解説 10Ωですが、金属皮膜の大電流用です。
こちらは5VのUSB電源からDACのアナログ系に流れるところでノイズ低減の為に入れています。
10Ωx1だとなんか電流が不足していた感じだったので、2つにしました。USB電源からのノイズを低減する為の部品です。

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

名称炭素皮膜抵抗
抵抗値1KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16102/
使用箇所R21
解説 SSG音源はある程度電流を流さないと出力が出てきません。
電流を流すための抵抗です。
なお、YM2608の出力電流制限抵抗にも使用する場合があります。詳しくはこの下の説明を参照してください。

名称炭素皮膜抵抗
抵抗値680Ω
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16681/
使用箇所R29
解説 LED用の電流制限抵抗です。
まぶしくない明るさにしていますが、明るくしたいならもうちょっと低い抵抗を利用してください。
昔と違って最近のLEDは、定格は小電流で高輝度ですから、定格通り使うとまぶしいのです。

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

名称炭素皮膜抵抗
抵抗値1.8k〜3.9KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16392/
使用箇所R35,R36
解説 YM2151側音源の出力抵抗です。1.8K〜3.9Kの幅で抵抗値を小さくすることで電流を多くとれます。
3.9Kだとイヤホンによっては音が小さいと感じるかもしれません。ライン出力用がメインです。
音量が小さいと思った場合は、1.8K程度まで落としたほうがよいでしょう。
USB電源で駆動する場合、抵抗が小さいとUSB電源からのノイズに弱くなるようです。

名称炭素皮膜抵抗
抵抗値1K〜1.8KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16392/
使用箇所R15,R16,R22,R23
解説 YM2608側音源の出力抵抗です。
YM2151側と比べて音量が小さい為、YM2151側が3.9KΩならば、1.8K等と抵抗値を小さくした方がよいです。
YM2151側が1.8Kの場合は、YM2608側は1K程度が良い感じです。

名称炭素皮膜抵抗
抵抗値270Ω
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16271/
使用箇所R17
解説 YM3016Dのリファレンス回路にあった抵抗です。

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

名称タクトスイッチ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-03648/
使用箇所RESET,S1,S2,S3
解説 1つ10円(100個詰め合わせだと7円)のタクトスイッチ。
結構耐久性に欠ける気がしてならないのですが、そこまで押さなければたぶん大丈夫。
リセットスイッチは省略してもかまいません。



■4759 Pro 制御基板

名称PIC32MZ2048EFH144-250I/PL
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gI-12283/
RS-Onlie ※同型番
https://jp.rs-online.com/web/p/microcontrollers/1468868
使用箇所PIC32MZ2048EFH144
解説 なぜか秋月で取り扱っているPIC32MZマイコンです。ピンは144ピンの最上位品です。
高性能なのですが、エラッタが大量にあってA1ロットを買ってしまうと正常に動かない可能性が高いです。
秋月で現在取り扱っているマイコンはEFH064もEFH144もA3ロットです。最低でもA3ロット以上を利用してください。
端子は0.5mmピッチの極悪仕様です。
マイコンは1番ピンの方向に丸のぽっちが点いています。基板のシルク印刷でもマークがついていますので、位置と方向を合わせて実装してください。
※秋月電子の在庫がなくなり、現在ページが表示できません。同一と思われる型番のRS-Onlineのリンクを追加しておきました

名称NJM2845DL1-33
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gI-11299/
使用箇所U3(NJM2845)
解説 3.3Vのレギュレータを使っています。
ただし、この部品は前半が同じ型番で、後半の33の部分だけが異なる部品があります。
05の5V版と18の1.8V版(秋月では廃盤のようなので出てきません)と間違えないでください。
#たまに間違える人がいるのですが、その原因がわかりました。
該当の品は1個単位でしか売っていませんが、なぜか下に4個セットがお勧め表示されています。騙されてはいけません。その4個セットは5V品です。
1個だけだと不安だし、複数個欲しいからとセット品を買うと間違えます。
前は3.3Vの4個セットも売っていたのですが、セット売りは廃盤になりました。

名称Q3(BS170)
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gI-09724/
使用箇所Q3(シルク印刷は角を落とした丸印のみ)
解説 液晶のバックライト制御用のFETです。

名称水晶発振子
周波数24MHz
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-08674/
使用箇所Q1
解説 以前は10個単位での販売だったのですが、最近は1個から買える様になりました。
小さい割には地味に高い部品でもあります。
ちなみにこれは水晶発振子なので、発振の為には別に回路が必要になりますが、そのための回路はマイコン内部に入っています。
…が、A1ロットではその回路に問題があり発振しません。そのため、A1ロットの場合は水晶発振器が必要になります。

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

名称キャラクタLCD
型番AQM0802A-FLW-GBW
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-09422/
使用箇所U$3(AQM0802A-FLW-GBW) ※シルク印刷はとぎれとぎれです
解説 非常に高価で脆いバックライト付きI2C接続キャラクタ液晶です。
液晶本体は非常にデリケートです。液晶の端子に少しでも負荷をかけると直ぐ壊れます。
ぱきっとか音が鳴ったらもう壊れています。

なお、この液晶にフラッシュ撮影等の強い光を当てると、ガラス側から制御回路側に強い光が回り込んで誤動作する場合があります。
この状態になったら直ちに基板の電源を落としてください。
液晶はAC駆動することが前提のデバイスなので、制御回路がおかしい状態だとDC駆動してしまう事があり、液晶に回復不可能なダメージが残る可能性があります。

名称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端子のジャンパを必ず取り外しておいてください。

名称ポリスイッチ
容量500mA
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-01355/
使用箇所PF1
解説 500mA品です。

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

名称青LED
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gI-02754/
使用箇所LED
解説 安い青LEDです。20本入り。
ひょっとして不良が多い?最近は大丈夫そう・・かも。

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

名称I2C EEPROM
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gI-03567/
使用箇所24LC64
解説 I2C接続用のEEPROMです。容量は64Kを指定していますが、手持ちで256K(24LC256)のものがあれば、それでも問題ありません。

名称ピンヘッダ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gC-00167/
または
http://akizukidenshi.com/catalog/g/gC-00082/
使用箇所USB PWR,PICKIT
解説 USB側の電源のみでACアダプタを使わない場合は、省略し、ジャンパ線でショートさせてかまいません。
ジャンパする場合は、DCジャックを絶対に取り付けないでください。
PICKIT接続用のピンヘッダも用意した方が便利ではあります。
音源基板側でも利用します。

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

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

名称積層セラミックコンデンサ(MLCC)
容量1.0uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-04066/
使用箇所C11,C12,C17
解説 液晶内蔵のレギュレータ用のコンデンサです。
0.1uFでもいけそうなんですが、液晶の説明書には1uFと書いてあるのでそのままです。
また、電源のノイズ吸収用にも1つ実装しています。

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

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

名称導電性高分子アルミ固体電解コンデンサー(OSコン)
容量220uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-08291/
使用箇所C15
解説 OSコンの220uFバージョンです。220uFがちょうどいいサイズにしてます。極性があります。
この位置はOLEDディスプレイの近所なので、大きいとディスプレイの邪魔になります。
220uFくらいの容量がちょうどいい大きさかと思います。

名称炭素皮膜抵抗
抵抗値10KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16103/
使用箇所R1,R3,R4
解説 マイコン用MCLR用抵抗、I2Cバス用抵抗x2です。
使用している液晶は低消費電力設計なので引き込み可能な電流が極めて小さく、I2Cバスのプルアップ抵抗には10Kが最低でも必要になります。
音源基板でも利用しています。

名称金属皮膜抵抗
抵抗値47Ω
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-08518/
使用箇所R5
解説 液晶のバックライトLED用の電流制限抵抗です。
1/6Wサイズですが、許容電流が1/4Wな金属皮膜抵抗を利用しています。

名称炭素皮膜抵抗
抵抗値100KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16104/
使用箇所R7
解説 液晶のバックライト制御用FETのゲート放電用です。

名称金属皮膜抵抗
抵抗値10Ω
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-08515/
使用箇所R6
解説 液晶のバックライト制御用FETのゲートへの突入電流制限用にも使っています。マイコン保護用に入れてます。
音源基板でも使っており、大電流用に金属皮膜抵抗を利用しています。わざわざ炭素皮膜を買うのも無駄なので、こちらも金属皮膜にしています。

名称炭素皮膜抵抗
抵抗値680Ω
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16681/
使用箇所R2
解説 LED用の電流制限抵抗です。
まぶしくない明るさにしていますが、明るくしたいならもうちょっと低い抵抗を利用してください。

名称タクトスイッチ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-03648/
使用箇所RESET,S1,S2,S3
解説 1つ10円(100個詰め合わせだと7円)のタクトスイッチ。
結構耐久性に欠ける気がしてならないのですが、そこまで押さなければたぶん大丈夫。
リセットスイッチは省略してもかまいません。

名称有機ELディスプレイ 0.95インチ 96x64ドット RGB
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-14435/
使用箇所DISP
解説 非常に高価な有機EL(OLED)ディスプレイです。オプションです。なくても動作します。
ガラス製ですので、基板に密着するようにしないと、ふとした衝撃などで割れるかもしれません。
最初からついているピンヘッダは太いため、対応するピンソケットに入れるとかなり背が高いです。
交換できるようにピンヘッダを細ピンヘッダに交換し、丸ピンICソケットにすると、かなり高さを抑えることができます。

名称丸ピンIC用ソケット シングル7P
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-01014/
使用箇所DISP
解説 OLEDを細ピンヘッダに交換し、脱着可能にした場合に利用する丸ピンICソケットです。
7Pで30円なので地味に高いです。音源基板でも使ったりしているので、分割可能な40ピン(https://akizukidenshi.com/catalog/g/gP-01591/)をカットして使うのもありです。

名称金属スペーサー、ネジ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-07476/
https://akizukidenshi.com/catalog/g/gP-07479/
https://akizukidenshi.com/catalog/g/gP-07325/
使用箇所外周ネジ穴部分
解説 お好みで利用してください。 丸い筒状の金属スペーサーとネジです。15oの幅を確保するもの、基板の底に取り付け、高さを上げるためものなどを参考に上げています。
ネジはM3の5o品を参考に上げていますが、なぜか5o品は100個品しか取り扱っていません。6oなら10個があるのですが。

名称ACアダプタ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gM-01801/
使用箇所DC JACK
解説 5Vで最大2Aなスイッチング電源超小型ACアダプタです。
もちろんセンタープラスの現行モデルです。スイッチングではなく伝統的なトランスを使ったアダプタを利用する、という方は極性にご注意ください。
USB電源ではなく、ACアダプタから給電する場合は利用してください。
最近だと、USB電源からモバイルバッテリーなどを利用する場合が多いだろうと思いますので、あんまりACアダプタは使わないかも。
ACアダプタを利用する場合は、USBPWR端子のジャンパは外してください。USB端子にUSBケーブルをささなければ問題はありませんが、いつか間違えます

名称USB type-CコネクタDIP化キット(シンプル版エコノミータイプ)
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gK-15426/
使用箇所TypeC
※1.2a基板専用
解説 USB TypeCを実装しやすくした基板です。便利。
TypeCコネクタでPCなどに接続したい場合は、MiniBコネクタではなく、こちらを利用することもできます。

名称抵抗
抵抗値5.1KΩ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gR-08547/
使用箇所R8,R9
※1.2a基板専用
解説 TypeCのCC1、CC2端子用のプルダウン抵抗です。
これが無いと、正式なTypeCは5Vも供給しないようです。TypeAからの変換の場合はなくても問題ありません。
また、TypeCコネクタを利用しない場合はこちらの抵抗はいりません。

名称連結ピンヘッダ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gC-02961/
使用箇所FMBUS1,FMBUS2,I2CCTRL
解説 制御ボードと音源ボード間をつなぐ長めのピンヘッダです。
ボード間の高さは15oであるため、標準の長さのピンヘッダでは届きません。
ただし、そのままでは長すぎるのでカットして使います。
2つある黒い樹脂のうち、上部側の黒い樹脂のすぐ下でカットすることで、全長17o程度、下の黒い樹脂からの高さが12o弱程度を確保することができます。



■4759 Pro 音源基板

名称YM2608B,YM2151,YM3016D,YM3012
入手場所家電のケンチャン、海外通販、オークション等
使用箇所FM1(YM2608),Y1(YM2151),DAC1(YM3016),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 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ですが、通常はマイコンなどの内部に入っている回路を個別に切り出して使えるようにしたものらしいです。
内部には2系統の発信器と3つの分周器が内蔵されているので、3Ch分出力できるとは言っても、自由にとまではいきません。
なお、このPLL-ICは設定までに若干の時間がかかる為、高速立ち上がりが必要だったり、一瞬でも途切れることが許されないデバイスには向きません。

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

名称丸ピンICソケット シュリンク64ピン
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-04602/
https://akizukidenshi.com/catalog/g/gP-04408/
使用箇所YM2608
解説 64ピンはピン間1.778mmのシュリンク品です。1つ200円もする高価な部品です。
板バネ式は50円と脅威の価格差です。
※丸ピン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/
使用箇所MIX,MIX2
解説 2151とSSG、SSGと2608の出力をミキシングする場所に利用します。
1つの端子だけで接続するなら、両方を2本のジャンパ(LとR用)でミキシングしてください。
制御基板でもUSBPWR部分に使っています。

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

名称積層セラミックコンデンサ(MLCC)
容量0.1uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-00090/
使用箇所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://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=3AJD-NTHU
使用箇所C2,C15,C16,C21,C22,C39,C40
解説 音響用の4.7uFです。こちらも50V品を使っています。
25V品は細くて。
※世界的にオーディオ用の小容量が不足しているようです。代替品のURLを掲載しました

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

名称積層セラミックコンデンサ(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/
使用箇所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のアナログ回路部分に使っています。

名称炭素皮膜抵抗
抵抗値10KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16103/
使用箇所R2,R3,R4,R5,R6,R7,R8,R9
解説 ADPCM用メモリチップのプルダウン用抵抗にも使っています。なくても動く気がしますが、未接続は誤動作の元なので処理しています。
制御基板側でも使っています。

名称金属皮膜抵抗
抵抗値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等を構成しています。

名称炭素皮膜抵抗
抵抗値2k〜3.9KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16392/
使用箇所R35,R36
解説 YM2151側音源の出力抵抗です。2K〜3.9Kの幅で抵抗値を小さくすることで電流を多くとれます。
3.9Kだとイヤホンによっては音が小さいと感じるかもしれません。ライン出力用がメインです。
2kでも音量が小さいと思った場合は、1K程度まで落としたほうがよいでしょう。
USB電源で駆動する場合、抵抗が小さいとUSB電源からのノイズに弱くなるようです。

名称炭素皮膜抵抗
抵抗値1K〜3.9KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16392/
使用箇所R15,R16,R22,R23
解説 YM2608側音源の出力抵抗です。
YM2151側と比べて音量が小さい為、YM2151側が3.9KΩならば、1K〜2K等で抵抗値を小さくした方がよいです。

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

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



■4759 Pro DRAM基板

名称DRAM M11B416256A-35J
容量4Mbit
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gI-01451/
使用箇所UM1(DRAM)
解説 4MBit(512KB)のDRAMです。
YM2608のADPCM用です。256KBでよいので実際には半分しか使っていません。
なのでYM2608にDRAMに書き込みをさせつつ、マイコンで余っている1ビットを制御してやれば、実は2バンク使えるのではないかとも思いましたが、やってないところを見ると、このメモリアドレス線は256KB分しかなく、16ビット接続のみで512KBだった気がします。つまり面倒になってやめました。

名称細ピンヘッダ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gC-06631/
使用箇所DRAM基板
解説 丸ピンソケットICに差すための細ピンヘッダです。
DRAM基板に利用します。ぴったり40ピン必要なので失敗するかもと思う人は2つ買った方が良いかも。

■4759 Pro Jr制御基板

名称PIC32MZ2048EFG100T-I/PT
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gI-13541/
Digikey
https://www.digikey.jp/ja/products/detail/microchip-technology/PIC32MZ2048EFG100T-I-PT/5286934
使用箇所PIC32MZ2048EFG100
解説 秋月で取り扱っている現状最後のPIC32MZマイコンです。ピンは100ピンの中間品です。
高性能なのですが、発熱が多いので気になる方は放熱器を取り付けてください。写真では取付ています。
端子はさらに狭い0.4mmピッチとなっていて、超極悪仕様です。
マイコンは1番ピンの方向に丸のぽっちが点いています。基板のシルク印刷でもマークがついていますので、位置と方向を合わせて実装してください。
EFG型番なので、CANドライバなどが未搭載のようです。使ってないので問題ありません。
車載用に向かないので在庫がまだ残っているのでしょうか。
※秋月電子から在庫がなくなりました。同型番の入手先を追加しておきました

名称NJM2845DL1-33
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gI-11299/
使用箇所U3(NJM2845)
解説 3.3Vのレギュレータを使っています。
ただし、この部品は前半が同じ型番で、後半の33の部分だけが異なる部品があります。
05の5V版と18の1.8V版(秋月では廃盤のようなので出てきません)と間違えないでください。
#たまに間違える人がいるのですが、その原因がわかりました。
該当の品は1個単位でしか売っていませんが、なぜか下に4個セットがお勧め表示されています。騙されてはいけません。その4個セットは5V品です。
1個だけだと不安だし、複数個欲しいからとセット品を買うと間違えます。
前は3.3Vの4個セットも売っていたのですが、セット売りは廃盤になりました。

名称BS170
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gI-09724/
使用箇所FET1
解説 液晶(LCD)のバックライト制御用のFETです。

名称水晶発振子
周波数24MHz
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-08674/
使用箇所Q1(シルク印刷は楕円形のみ)
解説 以前は10個単位での販売だったのですが、最近は1個から買える様になりました。
小さい割には地味に高い部品でもあります。
ちなみにこれは水晶発振子なので、発振の為には別に回路が必要になりますが、そのための回路はマイコン内部に入っています。

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

名称キャラクタLCD
型番AQM0802A-FLW-GBW
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-09422/
使用箇所U$3(AQM0802A-FLW-GBW) ※シルク印刷はとぎれとぎれです
解説 非常に高価で脆いバックライト付きI2C接続キャラクタ液晶です。
液晶本体は非常にデリケートです。液晶の端子に少しでも負荷をかけると直ぐ壊れます。
ぱきっとか音が鳴ったらもう壊れています。

なお、この液晶にフラッシュ撮影等の強い光を当てると、ガラス側から制御回路側に強い光が回り込んで誤動作する場合があります。
この状態になったら直ちに基板の電源を落としてください。
液晶はAC駆動することが前提のデバイスなので、制御回路がおかしい状態だとDC駆動してしまう事があり、液晶に回復不可能なダメージが残る可能性があります。

名称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端子のジャンパを必ず取り外しておいてください。

名称ポリスイッチ
容量500mA
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-01355/
使用箇所PF1
解説 500mA品です。

名称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/
使用箇所TypeC
USB TypeCで利用する場合のみ
解説 1つ上にあるUSB MiniB端子で使わない場合は、この変換基板でUSB Type-Cで使うことができます。
秋月のこの製品は、USB TypeCを実装しやすくした基板です。便利。
TypeCコネクタで接続したい場合は、MiniBコネクタではなく、こちらを利用することもできます。 ソケットにして両方付けることもできなくもないですが、USB信号的にどうなんでしょ?

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

名称青LED
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gI-02754/
使用箇所LED
解説 安い青LEDです。20本入り。
ひょっとして不良が多い?最近は大丈夫そう・・かも。
LEDには極性があります。正しく取り付けてください。Aが+側、Kがー側(GND)です。このLEDは、足が短い方がKでー側(GND)です。
LED内部の形状も皿型になっている方です。

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

名称I2C EEPROM
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gI-03567/
使用箇所24LC256
解説 I2C接続用のEEPROMです。容量は64Kbit(24LC64又は24FC64)を指定していますが、手持ちで256K(24LC256)のものがあれば、それでも問題ありません。
たぶん512でも大丈夫。ピンアサインが同じなら容量が大きい分には問題ないでしょう。
そういえば24LC256を取り付けている人が多いので何んでだろうと思ったのですが、シルク印刷に24LC256と書いてあったから、と判明しました。
ちなみにリンク先は24FC64なので、実は高速版のチップです。24LC64よりも安くて早いので。

名称ピンヘッダ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gC-00167/
または
http://akizukidenshi.com/catalog/g/gC-00082/
使用箇所USB PWR,PICKIT
解説 USB側の電源のみでACアダプタを使わない場合は、省略し、ジャンパ線でショートさせてかまいません。
ジャンパする場合は、DCジャックを絶対に取り付けないでください。
PICKIT接続用のピンヘッダも用意した方が便利ではあります。
音源基板側でも利用します。

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

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

名称積層セラミックコンデンサ(MLCC)
容量1.0uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-04066/
使用箇所C11,C12,C17
解説 液晶内蔵のレギュレータ用のコンデンサです。
0.1uFでもいけそうなんですが、液晶の説明書には1uFと書いてあるのでそのままです。
また、電源のノイズ吸収用にも1つ実装しています。

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

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

名称導電性高分子アルミ固体電解コンデンサー(OSコン)
容量220uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-08291/
使用箇所C15
解説 OSコンの220uFバージョンです。220uFがちょうどいいサイズにしてます。極性があります。
この位置はOLEDディスプレイの近所なので、大きいとディスプレイの邪魔になります。
220uFくらいの容量がちょうどいい大きさかと思います。

名称炭素皮膜抵抗
抵抗値10KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16103/
使用箇所R1,R3,R4
解説 マイコン用MCLR用抵抗、I2Cバス用抵抗x2です。
使用している液晶は低消費電力設計なので引き込み可能な電流が極めて小さく、I2Cバスのプルアップ抵抗には10Kが最低でも必要になります。
10kΩの抵抗は音源基板でも利用しています。

名称金属皮膜抵抗
抵抗値47Ω
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-08518/
使用箇所R5
解説 液晶のバックライトLED用の電流制限抵抗です。
1/6Wサイズですが、許容電流が1/4Wな金属皮膜抵抗を利用しています。
この液晶のバックライトは、実は20Ωが指定なんですが、47Ωでも明るいのでこれでよいでしょう。

名称炭素皮膜抵抗
抵抗値100KΩ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16104/
使用箇所R7
解説 液晶のバックライト制御用FETのゲート放電用です。

名称金属皮膜抵抗
抵抗値10Ω
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-08515/
使用箇所R6
解説 液晶のバックライト制御用FETのゲートへの突入電流制限用にも使っています。マイコン保護用に入れてます。
音源基板でも使っており、大電流用に金属皮膜抵抗を利用しています。わざわざ炭素皮膜を買うのも無駄なので、こちらも金属皮膜にしています。

名称炭素皮膜抵抗
抵抗値680Ω
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gR-16681/
使用箇所R2
解説 LED用の電流制限抵抗です。
まぶしくない明るさにしていますが、明るくしたいならもうちょっと抵抗値を低くしてください。

名称タクトスイッチ
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-03648/
使用箇所RESET,S1,S2,S3
解説 1つ10円(100個詰め合わせだと7円)のタクトスイッチ。
結構耐久性に欠ける気がしてならないのですが、そこまで押さなければたぶん大丈夫。
リセットスイッチは省略してもかまいません。
色による違いはないので、お好きな色を購入してください。ページ下部などに他の色も紹介されています。

名称有機ELディスプレイ 0.95インチ 96x64ドット RGB
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-14435/
使用箇所DISP(基板右上の四角形部分)
解説 非常に高価な有機EL(OLED)ディスプレイです。オプションです。なくても動作します。
ガラス製ですので、基板に密着するようにしないと、ふとした衝撃などで割れるかもしれません。
最初からついているピンヘッダは太いため、対応するピンソケットに入れるとかなり背が高いです。
交換できるようにピンヘッダを細ピンヘッダに交換し、丸ピンICソケットにすると、かなり高さを抑えることができます。
ピンソケットを使って脱着可能にしている場合、下には抑える何かを入れておいた方がいいかも。

名称丸ピンIC用ソケット シングル7P
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-01014/
使用箇所DISP
解説 OLEDを細ピンヘッダに交換し、脱着可能にした場合に利用する丸ピンICソケットです。
7Pで30円なので地味に高いです。音源基板でも使ったりしているので、分割可能な40ピン(https://akizukidenshi.com/catalog/g/gP-01591/)をカットして使うのもありです。

名称連結ピンヘッダ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gC-02961/
使用箇所FMBUS1,FMBUS2,I2CCTRL
解説 制御ボードと音源ボード間をつなぐ長めのピンヘッダです。
ボード間の高さは15oであるため、標準の長さのピンヘッダでは届きません。
ただし、そのままでは長すぎるのでカットして使います。
2つある黒い樹脂のうち、上部側の黒い樹脂のすぐ下でカットすることで、全長17o程度、下の黒い樹脂からの高さが12o弱程度を確保することができます。

名称金属スペーサー、ネジ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-07476/
https://akizukidenshi.com/catalog/g/gP-07479/
https://akizukidenshi.com/catalog/g/gP-07325/
使用箇所外周ネジ穴部分
解説 お好みで利用してください。 丸い筒状の金属スペーサーとネジです。15oの幅を確保するもの、基板の底に取り付け、高さを上げるためものなどを参考に上げています。
ネジはM3の5o品を参考に上げていますが、なぜか5o品は100個品しか取り扱っていません。6oなら10個があるのですが。

名称ACアダプタ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gM-01801/
使用箇所DC JACK
解説 5Vで最大2Aなスイッチング電源超小型ACアダプタです。
もちろんセンタープラスの現行モデルです。スイッチングではなく伝統的なトランスを使ったアダプタを利用する、という方は極性にご注意ください。
USB電源ではなく、ACアダプタから給電する場合は利用してください。
最近だと、USB電源からモバイルバッテリーなどを利用する場合が多いだろうと思いますので、あんまりACアダプタは使わないかも。
ACアダプタを利用する場合は、USBPWR端子のジャンパは外してください。USB端子にUSBケーブルをささなければ問題はありませんが、いつか間違えます


※音源基板、DRAM基板はOPNAM Proと同一です。


・ファームウェアの書き込み方


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

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

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


ためしに最新版(https://www.microchip.com/mplabx-ide-windows-installer)を入れてみました。
※現在では5.5以上になっています。

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のところが更新されます。
次に、チップを選んでおきましょう。
STProの場合は「PIC32MZ2048EFH064」、Proの場合は「PIC32MZ2048EFH144」を選択してください。
Pro Jrの場合は「PIC32MZ2048EFG100」を選択してください。


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

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

12.チップを選択して「PIC32MZ2048EFH064」または「PIC32MZ2048EFH144」または「PIC32MZ2048EFG100」を選択します。
※この時に違うチップとか選択した状態だと、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自体のファームウェア更新が開始されます。
数分程度待たされます。
※この画面では、チップ選択を後から替えた為に、Hexファイルの表示がグレーアウトしたままです。


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


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

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

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



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

■使い方

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

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

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

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

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

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

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

設定メニュー

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.Firmware
ファームウェアのバージョンを表示します。

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

42.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温度を表示します。

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秒


・PCMHardware



・PDXSizeOver


・OLEDHalfBR


・ButtonEnhance


・ADPCMBMode


・ADPCMPan










■Expansion基板用情報

回路図

・Expansion基板


部品配置

 ・Expansion部品配置


Expansion基板物理配置図



部品表

■Expansion

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

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

名称丸ピンICソケット 8ピン
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-00035/
使用箇所OPAMP x2個
解説 OPAMP用のICソケットです。
ソケットを利用せずにそのままICを基板にはんだ付けする場合は不要です。

名称積層セラミックコンデンサ(MLCC)
容量0.1uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-00090/
使用箇所C8,C9,C10
解説 村田のラジアルリード型積層セラミックコンデンサ(MLCC)です。
ICの傍で活躍する憎い奴です。

名称オーディオ用電解コンデンサー
容量10uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-08377/
使用箇所C3
解説 小さめの音響用のコンデンサです。YM2151の近所に使ったのと同じものです。
極性があります。

名称オーディオ用無極性電解コンデンサー
容量4.7uF
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gP-04637/
千石電商:https://www.sengoku.co.jp/mod/sgk_cart/detail.php?code=3AJD-NTHU
使用箇所C4,C5
解説 音響用の4.7uFです。50V品を使っています。
25V品は細くて。
※世界的にオーディオ用の小容量が不足しているようです。代替品のURLを掲載しました

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

名称導電性高分子アルミ固体電解コンデンサー
容量220uF
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-08291/
使用箇所C6,C7
解説 OPAMP用の中間電位生成用コンデンサです。極性があります。
容量としては220〜470uF程度あればよいかと思います。ただ、容量が大きい場合、高さが問題になるかもしれません。

名称オーディオ用電解コンデンサー
容量220uF
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-08375/
使用箇所C11,C14
解説 オーディオ出力用の電解コンデンサです。極性があります。
容量としては220〜470uF程度あればよいかと思います。ただ、容量が大きい場合、高さが問題になるかもしれません。

名称炭素皮膜抵抗
抵抗値1kΩ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gR-16102/
使用箇所R3,R4
解説 PCMチップからの出力につける抵抗です。
リンクは炭素皮膜抵抗にしてありますが、金属皮膜抵抗でも問題ありません。

名称炭素皮膜抵抗
抵抗値1.8kΩ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gR-16182/
使用箇所R1,R2
解説 PCM出力をFM音源基板へ出力する部分の出力抵抗です。
YM2608側出力抵抗と同じくらいが良さそうです。出力バランスが異なっている場合があるため、抵抗値を調整してください。
ただ、出力ボリューム設定で調整もできます。

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

名称炭素皮膜抵抗
抵抗値10Ω
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gR-08515/
使用箇所R13,14
解説 電源ラインに入れているノイズ低減用の抵抗です。
電流値を考慮して金属皮膜抵抗を選択しています。また2本並列にしています。

名称炭素皮膜抵抗
抵抗値10kΩ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gR-16103/
使用箇所R5,R6,R7,R8,R9,R10,R15,R19,R22,R23
解説 何かと使う10kΩ抵抗です。
OPAMPの入力安定用、増幅率選択用に使われています。
これも金属皮膜抵抗をお持ちならばそちらを利用して大丈夫です。

名称炭素皮膜抵抗
抵抗値33kΩ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gR-16333/
使用箇所R16,R18
解説 OPAMPの入力安定用、増幅率選択用に使われています。
10kΩで2倍、20kΩで3倍、33kΩで4倍です。
倍率が高くなると、背景に、マイコンやSDカード、OLEDのインバータのノイズが入ってきます。
20kΩ程度だとあまり気になりませんが、ちょっと音量が低めに感じるかもしれません。
33kΩ程度だと大きくできますが、上記のノイズが気になってくるかもしれません。OLEDのインバータノイズが大きいため、
OLEDの輝度を下げるオプションで、ノイズを減らすことができます。
これも金属皮膜抵抗をお持ちならばそちらを利用して大丈夫です。

名称炭素皮膜抵抗
抵抗値47Ω
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gR-16470/
使用箇所R17,R24
解説 アンプの出力保護抵抗です。

名称3.5mmステレオミニジャック 基板取付用 MJ-8435
入手場所秋月電子
http://akizukidenshi.com/catalog/g/gC-09060/
使用箇所基板左下
解説 ステレオミニジャックです。
秋月では2種類ほど売っているのですが、それぞれフットプリント(基板への取り付け寸法)が違い、流用できません。

名称基板取付用2連ボリューム
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-12573/
使用箇所基板右下
解説 基板取付用の2連ボリュームです。
秋月ではスイッチ付きなどの種類の他に、抵抗値の違い、特性、メーカーの違いなどいろいろな種類があります。 メーカー違いをお持ちの方は普通に利用できます。
特性は対数なAカーブを利用した方が人間の耳の特性に合っていてよいかと思われます。

名称メタルツマミ
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gP-12202/
使用箇所基板右下
解説 アルミ削り出しの高級仕様なツマミです。
つけると基板から飛び出しているサイズが大きくなるので、もっと小さい物でもいいかもしれませんし、つけない選択肢もありです。
このツマミは、固定するために六角レンチの1.5oが必要です。
秋月電子の販売ページには六角レンチのリンクもあるので持っていなければ購入を。

名称ピンソケット
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gC-05779/
使用箇所EXT
解説 42ピンある分割式のピンソケットです。 分割する時にはラジオペンチや鋭いニッパーなどで分割すると綺麗に切り離すことができるのですが、あんまり綺麗になりません。
秋月電子ではピン数が最初から6ピンなどの分割不要なソケットも売っており、そちらを選ぶこともできます。

名称コネクタ付ケーブル
入手場所秋月電子
https://akizukidenshi.com/catalog/g/gC-15868/
使用箇所SOUND
解説 作例では簡単に交換可能なようにピンヘッダに刺さる構成にしています。
ですが、音源ボード基板に取り付けするには結局加工が必要です。
SOUND部分に裏から配線を取り付け、音源基板側だけをソケットにする方が高さが抑えられていいような気がします。




従来型4759playerのページ