BAKUTEN工房 では『家電のケンちゃん』『BEEP ゲームグッズ通販』で 委託販売 を行っています

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

mdc5
スポンサーリンク
スポンサーリンク

先日届いた MBM29F016A を使って MDC5 を作成しました。

MBM29F016A が届いた
ebayで購入した MBM29F016A が届きました~ 48pinですが例の変換基板にも取り付けは可能なので、まずはMDC5に取り付けて8M+8Mで切り替え出来るように作成しようと思います。 近日中に作成したいけれど、出来るか...

 

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”] = {

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のフラッシュカートリッジを作成しようと思います。

MMC5 フラッシュカートリッジ作成
今まで色々なマッパーのフラッシュカートリッジを作成してきましたが、MMC5(マッパー5)はまだ作成していませんでした。MM5に対応した自作ゲームやハックロムもほとんどなかったので作成してなかったわけですが… 8Mbitのflashrom...

コメント

タイトルとURLをコピーしました