2017 031234567891011121314151617181920212223242526272829302017 05












16Mbit[8Mbit切替版] MDC5完成 

先日届いた MBM29F016A を使って MDC5 を作成しました。
W-RAM-0&1は256kbitのSRAMに変更。CHRは4MbitのSRAMを取り付けてますが現状では意味が無い(^-^;;
現バージョンのMDC5linkerだったら、1M または 2MbitのSRAMで十分だと思います。

mdc5-16m_01.jpg    mdc5-16m_02.jpg

MMC5は8Mbitまでしか対応していないので、MBM29F016の46pin(A20)を VCC&GNDにつなぎスイッチで切り替えて、8Mbitずつ切り替える(バンク切り替え)方法で全領域を有効に使います。
スイッチで切り替えるので、セーブデータ等の問題がでてきますが私はあまり気にしないのでそのままに(^-^;;

mdc5-16m_03.jpg    mdc5-16m_04.jpg

anagoで書き込む際にflashromの消去を行いますが、スイッチで切り替えて書き込んでも全領域が削除されてしまい先に書き込んだ8Mbit分のデータが消えてしまいます。
書き込みを行う場合は全領域の削除は必須なので、まず最初の8Mbitを書き込む際に削除を行い、次の領域を書き込む際には削除をしないで書き込めばOKです。

私にはプログラム的な変更ができないので、flashdevice.nut に削除しないで書き込むように記述することで解決しました。

 ["MBM29F016A_1"] = {
  capacity = 16 * mega, pagesize = 1,
  erase_wait = 8000, erase_require = true,
  retry = false,
  id_manufacurer = 0x04, id_device = 0xad,
  command_mask = MASK_A11
 },
 ["MBM29F016A_2"] = {
  capacity = 16 * mega, pagesize = 1,
  erase_wait = 8000, erase_require = false,
  retry = false,
  id_manufacurer = 0x04, id_device = 0xad,
  command_mask = MASK_A11
 },

上記の記述を flashdevice.nut に追加します。(erase_require = false, にすれば消去を行いません)
まず MBM29F016A_01 で最初の8Mを書き込んで、スイッチで切り替え MBM29F016A_2 で残りの8Mを書き込みます。
これで入手が困難な8Mbitのflashromの代わりに、比較的入手可能な16Mbitが使用できるようになりました。

次は、この16Mbitのflashromを使用してMMC5のフラッシュカートリッジを作成しようと思います。
関連記事
ACR WEB ブログランキング参加してます

コメントの投稿














管理者にだけ表示を許可する

トラックバック

この記事のトラックバックURL
http://bakutendo.blog87.fc2.com/tb.php/234-3f777c22