先月 flash cartridge の在庫は切れるのと、秋月で売ってる SMD の flash memory を使いたいみたいな話があって、地味に下調べてしてました。
先日、ファミコンではない EPROM ソケットに DIP の flash memory (AMIC A29040B) をデバッグのため何度も差し替えていて面倒になりました。ROM eraser は故障したり紛失してたりして A29040B は便利なことは便利なわけですが...
こういう目的のため「ROM programmer のときは FLASH のピン配置をして、ターゲットに挿すときは EPROM のピン配置をする SMD-DIP アダプタ基板」を作ることにしました。
仕様
- SMD flash memory は TSOP32 をつなぐ。
- 秋月で売っている MX29F040 の 8mm x 20mm と Microchip Sample でもらえる SST39SF040 の 8mm x 14mm 両方を使えるようにする。
- ピン配置は 27C301(27C1000)/27C010/27C020/27C040 をサポートする。
(注意) 秋月の MX29F040 は旧モデルで、digikey で売ってるやつは最新版の MX29F040C ということに注意。旧モデルの方は CE# controlled write cycle のサポートの記述がない。
作ってみた感想
- EPROM か flash かは自動検出ができないので手動でジャンパを short にする必要がある。一応 2bit の dipsw をつなげられるようにしたが結局は DIP のほうが抜き差しが楽ってことになりそう。
- 27C301 は邪魔な存在なのでサポートすると後々便利になる(今はいらない)
- 27C301 がなければ A17 の制御も IC でできる予定だった (IC をもう1個載せればきれいにできる気がするが面積が足りない)
- 27C301 のせいで address は FLASH にしたときも複雑な制御ができないので、 GND に配線した場合は MX29F040 をつないでいるのにもかかわらず MX29F010 扱いで ID check はしないということになってしまった
- elecrow の panelize の規定の仕様の隙間を作ってしまった気がするから今後対策されるかも
今見たら裏面のジャンパと DIP の PIN が近いのでピンをつないだらジャンパの上にかぶりそう。0ohm の抵抗なんて用意せずに抵抗の足をつなぐからいいけど、在庫が切れたら直さないとね。