先日届いた MBM29F016A を使って MDC5 を作成しました。
W-RAM-0&1は256kbitのSRAMに変更。CHRは4MbitのSRAMを取り付けてますが現状では意味が無い
現バージョンのMDC5linkerだったら1M または 2MbitのSRAMで十分だと思います。
MMC5は8Mbitまでしか対応していないので、MBM29F016の46pin(A20)を VCC&GNDにつなぎスイッチで切り替えて、8Mbitずつ切り替える(バンク切り替え)方法で全領域を有効に使います。
スイッチで切り替えるので、セーブデータ等の問題がでてきますが私はあまり気にしないのでそのままに
anagoで書き込む際にflashromの消去を行いますが、スイッチで切り替えて書き込んでも全領域が削除されてしまい先に書き込んだ8Mbit分のデータが消えてしまいます。
書き込みを行う場合は全領域の削除は必須なので、まず最初の8Mbitを書き込む際に削除を行い、次の領域を書き込む際には削除をしないで書き込めばOKです。
私にはプログラム的な変更ができないので、flashdevice.nut に削除しないで書き込むように記述することで解決しました。
[“MBM29F016A”] = {
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 で最初の8Mを書き込んで、スイッチで切り替え MBM29F016A_2 で残りの8Mを書き込みます。
これで入手が困難な8Mbitのflashromの代わりに、比較的入手可能な16Mbitが使用できるようになりました。次はこの16Mbitのflashromを使用してMMC5のフラッシュカートリッジを作成しようと思います。
コメント