2012年3月23日金曜日

Rammy v0.09でMDがFlashROMライターに!

遂にココまでできるようになってしまいました!\(^-^)/

ナントナント、Sweet Rammy Ver.0.09でFlashROMの書き込みコマンドが正式に実装され、簡単に、しかも高速(RammyでSRAMへの書き込みと同等)できるようになりました~!

PICT6969

一言、すげぇぇぇ~~~!!

・・・ちょっとお言葉が悪いですが、実際に触るとよくわかっていただけると思います(笑

いやホントに、マジな話、皆さんご存知のようにメガドライブは20年以上も前にセガが「ゲーム機」として世に出したハードです。

ゲーム機なんですよ、ゲーム機

それが、

PICT6968

これらのROMライターの仲間入りになっちゃうんです~

(本来の目的が違うものも含まれてます(^-^;)

・・・とまぁ、ちょっと大袈裟な感もありますが、ウソではないですw

書き込みできるFlashROMは8bitバスと16bitバスの29F系か49F系(対応していないものもあるかもしれません)のデバイスと範囲は小さいですが、それでも16bitバスの32Mbit(4MByte)のサイズまで普通に書き込めるのは大きな利点でしょう。

実際問題、16bitデバイスの書き込みができるROMライタを普通に買おうとすると安くても1万5千円前後します。

・・・ま、自作すれば超使えて安く上がるものもあるけどね(写真にヒントあり?)

v0.08では1Byte送信するごとに沢山のコマンドを入力(orマクロで送信)してましたが、v0.09ではRammy内部でコマンド部分を処理するので、速度的にはかなり向上してます。

前回のv0.08では16bitデバイスに64K近く書き込んで40分程度掛かっていたのに対し、v0.09では8Mbit(1MByte)を10分で書き込みできます。

v0.09では8bitデバイス×2個仕様でも、16bitデバイス1個仕様でも書き込み速度は同じですが、8bitアクセスか16bitアクセスかで若干コマンドが異なります。

他のROMライターでは、TOP2049で8Mbitが2分程度、Willemのプログラマーも同程度、GB Cart Flasherが4分程度、といった感じで、これらと比べたらさすがに遅いですが、それでも十分実用レベルで使える範囲内だと思います。

っていうか、ROM焼き専用機と比較するのはフェアじゃない(笑

何度も書きますがゲーム機です!

まだ試してはいませんが、3Vのレギュレータ挟めばおそらく3V仕様のデバイスも書き込みできるでしょう。

rammy0090

↑8bitデバイスの消去と書き込みの基本型。

AM29F040B×2個で試してますが、ウチでは消去で4、5秒で終わります。

rammy0091

↑16bitデバイスの消去と書き込みの基本型。

MBM29F800TAで試してますが、消去は7~14秒ぐらいで終了。

上の画像を見てもらうとわかると思いますが、8bitと16bitでのコマンドの違いは「pb.コマンド」だけです。

それと、書き込みをする際には常に消去する癖をつけておいたほうがいいかもしれませんね。

マクロで消去からデータ送信までを書いておくとか。

仕様上、8bitデバイス1個での書き込みはできないので、もしメガドライブで他の8bitマシンのデータを焼く、とかを考えるのであれば、同じデバイスを2個用意しないといけませんので注意を。

【補足】

消去&書き込み時間は、デバイスによって異なりますので、上の例はあくまで参考に、ということで。

.

いやぁ、Sweet Rammyが出始めのころに、もしかしてFlashROMの書き込みが?的な事を書いた事がありますが、見事に実現してしまいましたね(笑

FlashROMがそれなりに安く手に入る現在、工作する人にとってはなかなか使えるハードだと思いますが、どうでしょうか。

メガドライブ本体は数百円で買えるし・・・多少の工作は必要だけど、作ってしまえばセーブデータ読み書き&SRAMカセット読み書き&FlashROMカセット読み書き&EEPROM読み書きができる、操作側のプラットホームは新旧のPCの大半が使える、と。

スバラシイですね。

毎度ながら、YoGirlさん、素晴しいものを開発&提供していただきありがとうございますm(_ _)m

あ、ラミーちゃんとラミンちゃんにも感謝しなきゃねw

そんなわけで、かなりの完成度に仕上がったv0.09、関心のある方は是非お試しを。

メガドライバー以外でもメガドライブ好きになっちゃうかもよぉ~!?(笑

PICT6967

*details of Sweet Rammy should look at this homepage.

外国の人も是非~(笑

次はSound Rammyも構想中だそうなので・・・その時は甥っ子と姪っ子にIPodとウォークマン借りよう。

2 件のコメント:

YoGirl さんのコメント...

かなり大々的にどうもです。w
29F/49Fの書き込みコードは、いままでのSRAM書き込みのコードに、0xAAAAに0x55を書き込むだの言うおまじないを3つ足しただけで、さっくり実装してしまったからウチ自身はさらっと「多分これがゲーム機的には初めてなのかな~」くらいにしか思ってませんでした。(*´ω`*)

3Vデバイスの場合、アドレス/データバスと制御線 (!WE/!CE/!OE) にレベルコンバーターを挟まないといけなくてめんどくさいのだけど、実はメガドライブ自体の電源を3.3V近くまで下げてしまうという手段もあったりします。
Z80は比較的低電圧に弱いのだけど、
セガチップとCMOS版68000 (MD1後期ロット or MD2) は結構耐えるんで、
Z80を使わないラミーならもしかしたら3.4Vくらいでも動くかもしれないです。

ぽんRev さんのコメント...

まさかメガドライブ本体でFlashROMライターみたいなことができるとは、Sweet Rammyが公に出るまでは想像もしませんでした。
っていうか誰も思わなかったでしょうね(笑
今だからこそ手軽に有効活用できるって所も最高ですw

おかげさまで、最近超低空飛行だったのが一気に急上昇した感じでかなりハイです(笑
あ、そうなると次はブラックアウトか。

3Vデバイスはレギュレータだけではダメなんですね(^-^;
NEOの初期カートリッジが普通に3Vデバイス使ってたので簡単なのかな?と・・・
各線にダイオード咬ませるとかで・・・って言っても全部ではちょっと面倒ですね。
電圧下げるとRammyAVRは正常に動くのかな?
オシレータ代えるとかもしないとダメかなぁ。
いずれにしてもちょっとメンドくさそうなのでちょっと保留にします(^-^;