Neo Slim 3000が入手できた。
すぐに分解したいところだが、不良品だったりすると困るし取り敢えず動作確認など。
- 備品
USB A-miniB ケーブル (1m ぐらい)
8cm CD
USB Aメス ACアダプタ
インナータイプ イヤホン
AC アダプタは、プラグ折りたたみ式のコンパクトタイプ。イヤホンも端子が金色で、少々グレードが高い。
CDの中はあまり見ていない。PDF マニュアルもあったが、Web 版と同じみたいだし。
- 本体インターフェイス
オーディオミニジャック
USB miniB コネクタ
DCジャック (たぶん 例の EIAJ#1 もどき)
SDスロット (push-push)
電源スイッチ スライドSW(ON/OFF)
ボタン 4方向 A,B,X,Y, L(電源マーク),R(OK)
アナログスティック
スピーカー(モノラル)
筐体は3枚におろせる構造。裏面に 4ヶ所 小さな +ネジ。
ボタンは、透明なカバーに印刷された紙が入っていて質感が低い。充電ランプ(赤,左), 電源ランプ(青,右)の光がもれる。均一にもれるわけではないので残念な感じ。
他の部分の質感はよい。
メニューシステム
まぁ二度と使えない可能性もあるので、どういうものかチェックだけはしておこうと思う。
基本的に、サンコー AV BANK (
マニュアル)と同じシステムのようだ。
のレビューを見て気がついた。「を探している」、「は、工場出荷時の設定を復元する」が同じ。
日本語が変だし英語を想像しないと理解できない。しょうがないので、言語をEnglish にすることにした。
- Toolbox
System Stetti(文字切れ)
Desktop Set
- タイムゾーンの設定はここ(重要)
Animate Set
Resume Background
Boot Option
- 電源 On で Top レベルにするか、前の状態にするかの設定
Timing Shutdown
- デフォルトは Off
Backlight Luminace
- 明るさ 5 段階
Backlight Time
- デフォルト Off 。バックライトが 切れたら Lボタンで復帰。
Languages
System Function
Device Infomation
- Device Model の確認や 容量の確認とか
- ここに JZ4725 と出る。
- SDカードの容量も出るが文字が重なって読めない。
Recover System
Format U Disk
- U Disk とは内蔵FLASH のこと
Updating ...
- U Disk の / に (解凍した)NEO_UPDATE.BIN を置く。
Test Screen
World Clock
Calendar
- 日本語の設定だと意味不明
- E-Book
- エンコーディングを設定できる。UTF-8 が無難?
- CP932 が SJIS の意味。
- File Manager
- Radio
- Background の設定あり
- Music
- SJIS で入れた ID3タグは文字化けしていない。
- ...いつのまにか文字化けするようになった。
- 日本語で「更新プログラムのメディ」の実行が必要。
- E-Book のエンコーディングも関係あるかも。
- Background の設定あり
- Video
- 手持ちの Xvid なら普通に見れた
- ファイル単位のスキップ ↑(前)↓(後)
- Recoder
- Picture
- Game
- メインメニュー基本操作
→ なし
← 選択(○ と同じ?)
↑ 項目移動(UP)
↓ 項目移動(DOWN)
○ 選択
× もどる
■ なし
▲ なし
- プレー中の基本操作
Video/Music
→ 音量UP
← 音量DOWN
↑ ファイルスキップ(前)
↓ ファイルスキップ(次)
○ PAUSE
× メニュー
■ なし
▲ なし
Radio
→ 音量UP
← 音量DOWN
↑ チューニング(周波数DOWN :逆になっている)
↓ チューニング(周波数UP)
○ チャンネル切り替え
× メニュー
■ なし
▲ なし
- その他
電源 は、入れて 5 秒ぐらいで立ち上がる。オフはすぐ切れ シャットダウンしているような感じがしない。
そういえば、操作のロックがない。なにかのキーの組み合わせなのだろうか?
まぁこんな感じ。
文字が重なって読めないとか、バックグラウンドと重なって読めないとか日本語の訳語以前の問題もあるし、メニューシステム自体も全体的に未完成な印象でアップデートに期待。
各機能は、細かいところに不満が出たりするがどうにもならない。
分解
そろそろ分解したいが、チェックしたいのは
これぐらいか。さぁ分解。

まず、4つのネジを外して裏蓋をはずすと 基板の裏がみえるようになる。このj点で外れる部品は、(裏蓋と)ネジ4 つと電源スイッチのツマミのみ。ちなみに基板の色は青、
基板の裏には、SDカードコネクタなどのコネクタ類すべてがある。あと、バッテリーが両面テープで貼られている。
あと目に付くのは、いくつかの空きパターン。ひとつは FLASH2 と書いてあり 4GB モデル用なのだろう。あと (よくわからない)18 pin と 10pin の TSSOP のパターンが重なるように配置されている。外付け DAC かアンプなのだろう。
あとマイクと アナログスティックが見える。アナログスティックは基板をくり抜いてマウントされている。裏蓋もここの部分に台が付いていて強度上の配慮がされている。ちなみに、B10K と印字がある。
あとは、水晶も見える。水晶は、表なのだが基板がくり抜かれている。表側はほとんどスペースがないのだろう。
裏側は、バッテリーが一番背が高い。それ以外はガラガラなので、薄い基板を仕込むことはできそうだ。
次に進む。基板は、真ん中の枠に 4つのネジで固定されている。
ネジを外すとまず枠が外れる。枠をはずすと基板を取り出せた。
まず、ボタンのパーツが自由になって外れるので、回収しておく。次にフレキ。フレキはコネクタで止まっているのでロックを外して抜いておく。あとスピーカーが邪魔。なくても困らないので、基板から外してしまった。元にもどすためにはハンダ付けが必要になった。

さてようやく基板の表が見えるようになった。基板にはシルクで、
Neo Slim 3000(1022) - 2009.12.17
とマークされている。ここで書くことはこのロットのみの話ということ。

CPU には、JZ4725B と書いてある。あまり意味がないが、一応 SDXC 対応の新しいタイプだ。
この書き方は相当に語弊がある。正確には、SDカード規格2.0 にしたがって 最大クロックを80MHzを上げたということ。Jz4725(無印) は、SDカード規格1.01 で最大クロックは 20MHz だった。
前のSD規格は、50MHzまでだったはずなので、80MHz で動くとすれば SDXC カード。ただし 1bit で I/O するので、普通のSDHCカードの最高速より遅い。(80Mbps / 200Mbps) 。また Jz4725(無印) は、最大 20MHz で 規格より大分下だったので、それと比べれば 普通のSDHCカードも高速になる。... といっても カードの性能の 1/4 にしかならない。

肝心の SDRAM には、EM63A165TS-6G と書いてある。ググると 16M x 16 -- 32MB だ。予想より容量が大きく嬉しい。


FLASH は、H27UAG8T2ATR-BC 。FMラジオは、RDA5807P と水晶が載った 10pin のモジュール。あとは アンプの XPT4890。電源用とかいくつか IC があるが 8pin 未満。
データシートはみつからなかったが、スペックは(一応)見つけた。(Hynix_Product_Catalogue.pdf より)
- H27UAG8T2A 41nm
- 電圧 3.3V
- 容量 2G x 8bit
- Page Program 4KB + (128B or 224B ??)
- Block Erase 512KB
- Stack Mono (?)
- 41nm で 32Gbit のは、4KB + 224B と書いてあったが、16Gbit もそうなのかが不明。
- Stack の意味も分かっていないが、一応メモ。

LCD は 0.5mm ピッチで 54pin。型番がフレキに印刷でてあるのだが LED のフレキで隠れて全部読めない。 B3xxW1MV1 。
これではググることさえ出来ない。
追記:
B334W1MV1 だった。が、全然ヒットしない。
CFAF320240F-T-TS というのが、似ているといえば似ている。0.5mm ピッチ 50pin だし、フレキにチップがいくつか載っているのも似ている。ただ、4線のフレキが メインのフレキに付いていないところが違うし、ストレートでないのも違う。
まぁ取り外して電子工作につかうことは 今はほとんど考えていないのでピンアサインはあまり重要ではない。コントローラICが分かれば良い。
ところで、Jz4725B の LCD 用のピンは、
LCD_D0 〜 LCD_D17 / SLCD_DAT0 〜 SLCD_DAT17
LCD_PCLK / SLCD_CLK
LCD_VSYNC / SLCD_CS
LCD_HSYNC / SLCD_RS
LCD_CLS
LCD_SPL
LCD_DE
LCD_PS
LCD_REV
VIDEO 出力のように PCLK(dot clock)/HSYNC/VSYNC/ を送るタイプの LCD と コントローラにコマンドとデータを送る タイプの smart LCD を制御できるのだが、54pin も信号線がある LCD は、たぶん両方サポートしている。どっちを使うかは接続できまりモジュールだけ分かっても決まらない。
それぞれメリット/デメリットがあるので、どちらを選ぶかは、設計するひとの考え方で決まる。
チップメーカの Ingenic が Linux のパッチを出していて、ドライバのソース自体は入手済みかもしれない。ちょっと調べてみよう。
ここまでのまとめ
ちゃんと基板を調べられているわけではないのだが、コネクタの類が見つからない。外に引き出したいのは、I2C,シリアル,USB-BOOT 設定(BOOT_SEL1/PC31)
BOOT_SEL1 がボタンと共用されていれば、あるボタンを押すことで USB-BOOT になるかも知れない。もしそうであれば、無改造で Fファームウェアの改造にトライできそうだ。そうでなければ面倒。失敗したら終わりなので、なんとかして改造することを考えなければならない。
Jz4725B データシート (2009/07/07)は、PC31 が GPIO として使えるような記述だが、Programming Manual では GPIO として使えないような記述になっている。別の pinアサインの PDF (v3) にも GPIO の記述がない。ボタンと共用を期待するのは厳しいかも。ただボタンの接続によっては、パラレルでつなげられるかも。
I2Cやシリアルは、ファームウェアの改造を始めるのに必要というものではない。基本的に電子工作観点。ただ、シリアルがあれば立ち上げメッセージを見たりログできるので効率が違う。
基板+バッテリーの状態で、USB につなげてみた。赤と青の LED が、L,R ボタンの近くにあるが、ちゃんと光るし接続もできる。


LED は、赤がまぶしい。指向性がないからケース内部まで照らしてしまうようだ。なにか黒いもので覆って ボタンだけを照らすようにしたいところ。黒いもので思いつくのはプチルゴムの両面テープとか。
赤のそばの電流制限抵抗は、201 の刻印で 200Ω。青のそばの電流制限抵抗は、102 の刻印で 1KΩ。両方間違いでは?と思える値。-- 抵抗が逆になっているのではないだろうか?
いじって遊んでみることにしたので、予備器も 複数購入したのだが、LED の不良率が高い。両方点くのは分解したこいつだけ。他のは片方しか点かない。まぁ下品というか安っぽいかんじで、LED を 交換したくなるから良いのだけれども ... ちなみに他のところの不良はなかった。
不良のLED を自分で直すとすれば ...
1) 抵抗を入れ替える。
2) LED を 横にマウント。
3) ブチルゴムの両面テープでマスク
かなぁ。もし LED を壊してしまったり、なくしてしまったら 秋月の 1608の LED と交換かな。赤は 端子が表面に出ているので 付けやすいが 黄/オレンジは難しい。青はないので 2012を無理やり付けるしかないか。抵抗をなくしたら ... ちょっと困る 1608 の抵抗は揃えていない。2012 ならあるのだが .. 。1608 は 秋月で リールなら買える。2500 個! 500 円。マルツだと 10個52円
それはともかく、Ingenic JzSOC USB-DISK というふうに見えていて DISK のサイズは 1736MB 。FLASH 全部を見せているわけではないようだ。
とりあえずは、こんなところ。
追記: I2C は分かった、DACかもと書いた空きパターンに接続されていた。空きパターンは、1.27mm ピッチ(?)。ここから引き出して AVR とか I2C スレーブになれる マイコンやデバイスに接続できる。

となりの シリアルは、外側にパターンが伸びていないので不明。無接続かも知れない。... 無接続なら 引き出すことは可能だが、0.4mm ピッチだし相当に厳しい。私には無理。
BOOT_SEL0 は、Jz4725B のそばでプルアップしている様に見える。BOOT_SEL1 は、配線が伸びていて何か使っているようだ。USB-BOOT できる可能性がある。
そういえば TVOUT だがメニューにあるものの、それ用の IC がない。TVOUT はできないはず。メニューで選んでしまうと操作できなくなるかも知れないし危険。
追記:54pin の LCD のデータシートを探してみた。
54pin だということが分かったので、探してみた。
ヒットしたのが
- LTV350QV-F04
- AM480272H3TMQW
- WXCAT35-TG3
- T2432C13VR01
- MB-TFT-35-S4-S
とりあえず、LED と GND に着目してみてみると 全部
- 1,2 -- LED カソード
- 3,4 -- LED アノード
- 53,54 -- GND
だった。なにかデファクトスタンダードみたいなのがあるようだ。
HSYNC VSYNC DOTCLK RESET CS
LTV350QV-F04 36 37 38 8 9
AM480272H3TMQW 36 37 38 - -
WXCAT35-TG3 42 43 44 14 15
T2432C13VR01 36 37 38 8 9
MB-TFT-35-S4-S 36 37 38 8 9
AM480272H3TMQW は名前から想像できるように 480x272 で、他のと違う。
とりあえず、違う 2つを外して もうすこし別の信号もチェック。
CS SDL SDI DATA DataEn
LTV350QV-F04 9 10 11 12-35 52
T2432C13VR01 9 10 11 12-35 52
MB-TFT-35-S4-S 9 10 11 12-35 52
どうも一緒のようだ。これだと仮定して、たとえば HSYNC に信号が接続されているか.. 接続されているならどの信号か? という観点で見ればだいたい判るはず。

よく見てみよう。左の ところ 4pin 分つながっている。これは丁度 39-40 の VDD(analog),VCC(diginal) にあたる。左端の 2pin も GND に接続しているように見えるし、右が 1 番ピンということになる。
その右 38 から DOTCLK,VSYNC,HSYNC,R7... R0 という並び順。8pin が接続されていて 3 pin が同じ信号。... ということは smart LCD でなく Video タイプの LCD。3pin が同じ信号ということは Red は 6bpp か 5bpp 。次に 6pin 分接続されていて、その先はよくわからない。まぁ Green は少なくとも 6bpp ということだけはわかる。こんな風に 接続をおっていって、R5G6B5 の 16bpp ということが判った。
これで少なくとも「どういうドライバを使うのか?」ということは分かったわけだ。ただし、バックライトを点灯する方法は分からない。これについても 明るさ調整できるようだから、おそらく PWM のどれかという仮定はできる。
さてボタンの追跡。

これは、R ボタン周り。5 つのボタンがあって、それに対して 6つの 103(10KΩ) の抵抗が付いている。たぶんプルアップかブルダウン。ちがうとおもうが あるいは直列かも知れない。それはともかく、6 つの信号が 右端で VIA (スルーホール) に消えている。ここで裏をみて 追って行くわけだ。
裏はちょうどバッテリーで隠されている。バッテリーをずらした写真は、これ。

それに対応する表側も撮り直した。

バッテリーは邪魔なので、外してしまった。ちなみに、バッテリーも LCD もない状態でも USB に接続したらアクセスできた。当面はこの裸の状態で 使おうと思う。
よーく見る。上の写真の 上部 の 7 本の横のラインのうち 上の 6本が、Rボタンの ところの 6 つの 103につながっている。で,一番上の 1 つを除く 5 つが LCD 用のデータ線とつながっている。
上の 1本は、VIA で消えているわけだが、表の部分は LCD のコネクタの下で分からない。見えないところで、おなじように LCD のデータ線とつながっているのかも知れない。
ところで、裏面で 1本単独の縦のラインがある。これは、BOOT_SEL1 。これも同じように LCD 用のデータ線につながり、どこかのボタンの線ともつながっているのかも。
さて、こういうデザインだとすると、Linux の LCD ドライバで対応しなければボタンの情報は取れない。ひょっとして、リファレンスデザインで既にそうなっているのかも。ここらでドライバのソースを見てみた方が良いかもしれない。
USB-BOOT
電源OFF の状態で → ボタンを押しながら USB を接続すると USB-BOOT になることが判った。
「JZ4750 USB BOOT Device」というデバイスとして認識される。
まだ詳しくはわからないが、ここでプログラムをアップロードすればそれが動作するのだろう。
まず最初にやりたいのは、FLASH の吸出しと書き戻し。それさえ出来るようになれば、大分不安が解消される。
まずは、
xburst-toolsで何が出来るか調べて、これのビルド環境をつくることから始めてみよう。
とりあえず nandprog の README を読んでみた。linux 環境で動作すると書いてあり、ビルドするには mipsel-linux-gcc が必要とも書いてある。
詳しくは、
NandProgrammer_Manual.pdfを読めとも。
でも ftp.ingenic.cn には全然アクセスできない。qi-hardware.com は ingenic オリジナルのものも含めて ちゃんと最新のものがあるみたいだから、こっちを頼ろう。
とりあえずは、ダウンロードして README を見ていった。どうも usbboot で FLASH に書き込むことができるようだ。
- /etc/xburst-tools/usbboot.cfg を用意する。
- usbboot -c "boot"
- usbboot -c "nprog 0 u-boot-nand.bin 0 0 -n"
- usbboot -c "nprog 2048 uImage 0 0 -n"
こんな感じで使うものらしい。コードを見ると、usb_get_ingenic_cpu() という 関数があってそれで処理を切り分けている。それは USB のプロトコルで 教えてもらうもののようで、かならずしも 実際のCPUと同じである必要はないようだ。
"boot" コマンドを実行すると、プログラムを送り込んでそれが動作するように思える。stage1 と stage2 があって、動作するにも段階があるようだ。動作すると、何がおきるのか?
stage2 のコードには usb のディスクリプタの記述がある。... ということは自分で usb を扱っている。ここまでくればプログラム次第でなんでも出来るのだろう。
stage2 で、定義されているコマンドは、
VR_GET_CUP_INFO
VR_SET_DATA_ADDRESS
VR_SET_DATA_LENGTH
VR_FLUSH_CASHES
VR_PROGRAM_STAT1
VR_PROGRAM_STAT2
VR_NOR_OPS
VR_NAND_OPS
VR_CONFIGRATION
VR_SDRAM_OPS
どうも SDRAM に書き込んで 実行することもできるようだ。ただし、コマンドを発行する側も合わせて対応しているかどうか見る必要がある。
残念ながら、READ するコマンドはないように思える。... 作ればなんでも出来そうだが
どうも読むべきは、USB_Boot_Tool_Manual_1.4_EN.pdf らしい。直接リンクはしないが、これならググれば見つかる。
... そんなことより どうやってプログラムが動いたことを確認しよう。LED のアクセス方法を知るのが先か?
- LCDを動かせれば、LED も必要ないのかも知れないが、LCD そのものも デバッグしないといけないだろう。あと LCD では情報を人が目で見るしかなく、記録できない。これはデバッグ時には面倒になる。
- USB も良いのだが、ドライバーが切り替わると 接続しなおさないといけなさそうで 厳しい。usbboot などプログラムと組みにすれば、問題ないような気もする。が、作るのが面倒そう。
- 電子工作を前提にすれば、I2C 経由で情報を書き込むとかはできる。メモリに書き込んで後で読み込むこともできるだろうし、シリアルに変換してホストに送ることもできるだろう。
- どれも一長一短のような気がする。シリアルが便利なのだが、それも電子工作前提になるし他の人には勧められない。
- 使えるものなら USB が一番良いような気がしてきた。専用プログラムならあたかも シリアルに接続されているように見せることも可能そうだし。できるかどうか分からないが検討してみよう。
こういう話題の続きは別途記事にしようと思う。さて、提供されている NEO_UPDATE.BIN の構造はどういうものなのだろう? それが分かれば dual-boot といったことも可能だろうし、FLASH に書き込む方法も分かるかも知れない。書き込む方法さえ分かれば吸い出す必要などなくなる。
まず、NEO_UPDATE.BIN 自体は 67MB ほど。U-DISK として見えている部分は 1736MB で見えていない部分が、200MB はある。
まず、NEO_UPDATE.BIN が圧縮されているのかどうか? 圧縮済みなら このファイルを圧縮しても 小さくならないので判断できる。
gzip をかけてみると 23 MB ほどに圧縮できることから 基本的に圧縮されていないようだ。だからといって FLASH の RAW イメージともあまり思えない。FLASH の容量との差が大きすぎる。
ちょっと調べてみたが、RAW イメージかも。先頭 150KB 程は Ingenic 社が提供しているブートローダのようだ。uC/OS-II というメッセージが見える。続く部分は、ファイルシステムのようにも見える。だが、どういうファイルシステムか分からない。ひょっとして yaffs2 とか?
dump してみたが、特徴がある形式で、yaffs2 とも思えない。カーネルソースをチェックしてみると UBI という ウェアレベリングのレイヤーがあり それに最適化された UBIFS というものがあるようだ。どうも UBIFS っぽい。
それはともかく、RAW イメージならば FLASH の先頭かどこかに書くことで 元に戻せるのかも知れない。
そんなことより開発環境。どうしよう。dingoo-linuxのダウンロードページにある dingux_toolchain_20091022.tar.bz2 でいいかという気になっている。
ちょっとメモ:
「遊星より愛をこめて」より
usbboot に関する解析記事を発見。だいぶ分かってきているのだが、rockbox の usbboot とか A-320 についてとか知らないので関連情報が役にたった。
バッテリーの制御IC
例外はあるかも知れないが、中華PMPというものは、充電中は必ず電源が入る。たとえ電源スイッチを OFF にしていても電源が入ってしまう。そして無意味にバッテリーのイメージを表示して充電中を示すアニメーションまでしてくれる。そして、これも例外ではなかった。
そんなことをする理由は、コストを下げるために自分で電源管理をするからだと思っていた。
しかし、充電を制御するIC は意外と安いものだった。それでも使わないのだろうと勝手に思っていたのだが Onda VX747 は、TQ7051 という IC (LTC4054 互換,
pdf) を使っていることを
RockBoxのページで知った。
となれば、こいつも使っていておかしくない。真面目に調べてみることにした。
電源用の IC は、SOT23-5 とか SOT23-6 という 5,6 ピンの ものが多い。そして、必要なのは 主電源用の 1.8V,3.3V とバックライト用、バッテリー充電用の 4つ。
探すとちょうど 4 つある。そのなかでそれらしいのがこれ。
ちまみに、1つだけ 6ピンで LCDのコネクタのそば。残りの 2つは並んでいてそのうちの 1 つにはインダクタが付いている(おそらく 1.8V)。
ついでなので書いておくと写真下の8ピンがスピーカ用アンプ。 XPT4890 という IC で 1W BTL。LM4890, TPA2005D1 と互換。

LT4054 互換なら、2 番ピンが GND 。3,4 番ピンが 電源とバッテリー。-- 一応それらしく見える。1番ピンは STAT で 無接続で問題ない。特徴は、5番ピンで 2KΩぐらいの抵抗が接続される。写真ではよくわからないが、2.7KΩが接続されている。
場所も バッテリーのリード線のちょうど裏でそれらしい。
たぶん LTC4054 互換で間違いないのだろう。だとすれば電源を接続すれば勝手に充電してくれる。プログラムを作って制御する必要はない。
追記: チップの表面に 55b9 と印字がある。これでググると ビットした。充電IC で間違いない。
ちなみに、4.2V ±1% で充電する。C/10 になったら充電を停止する機能がある。(電圧が下がれば)再充電。 あと電圧が低い場合 2.9V になるまで 電流を制限しての充電機能もある。
LT4054 と同じだが、それより劣るようなものもあるので とりあえず安心。
これは嬉しい。バッテリーを外さなくてもデバッグできるし、管理用のドライバも不要。ただ電圧を監視すれば良い。
あとは、電源スイッチを Off すると電源が切れるのか、自分で制御して電源を切るのかの調査が必要。電源を自分で切るのなら切り方が分からないとバッテリーが空になってしまう。
ちなみに、ちゃんと電源を切っているのはほぼ確か。USB を接続するとパワーオンリセットで USB-BOOT にできるから間違いなさそう。電源スイッチも Off にすると直ちに Off になる。シャットダウンしている様子がないので、機械的な電源スイッチだと思う。
オートで電源 OFF できるのを忘れていた。機械的な電源スイッチではないかも。OFF する方法を見付けないと。
スピーカ用アンプのメモ:
XPT4890 という IC で 1W BTL。LM4890, TPA2005D1 と互換。と書いてしまったが、互換なのは LM4890 で 1W 。TPA2005D1 は PWM で 1.4W 。ピンアサインは互換性がある。どうもルーツは、
MC34119っぽい。よく見るとピン互換性がある。MC34119 は 250mW だがだいぶ進化しているようだ。
ついでにメモ: aitendo で扱っている
TMPA2055DM(2.7W) もピン的には互換。ただし、TPA2005D1 と違って 普通の D級アンプなので、出力に LC フィルターが必要。