2013年6月22日土曜日

Slot Rammyとバーチャレーシングの関係

先のコメントでSlot Rammy(Nekojirou Kumakumaさん命名)にバーチャレーシング付けて吸い出すとデータ化けする、という情報を頂き、早々に私もテストしてみました。

先のコメにも書いたけど、結果を記事として上げておきます。

【修正】

初期テストではデータ化けしましたが、吸い出す前にSVPのリセットをする事で正常なデータが出てくることを確認できたので修正しておきます。

PICT8306

YoGirlさんのコメントから察するに、SVPをリセットできれば何とかなるんじゃ?と思って試してみたらできたw

バーチャレーシング-SVP(Sega Virtua Processor)搭載カセットをSlot Rammy(/CE切り替え方式カセット)で吸い出す場合、通常の吸い出しコマンドの前に、SVPをリセットすれば正常なデータが出てきます。

srvr

上の画像のように、アドレス0xA15000に2Byte(FFFFh)書き込むことでSVPがリセットされ、その後は普通に読み込めばOK。

.

PICT8303

Genesis版ですが、SEGA公認で市販された中で最大容量(40Mbit)を使用しているスーパーストリートファイター・ザ・ニューチャレンジ、一応マッパーコントローラチップ載ってますが、コチラは正常なデータが得られました。

.

PICT8302

次、配線が延長される事が原因か?という事で、ソニック&ナックルズ+ソニック3(計32Mbit)で試しましたが、コチラも正常なデータが出てきました。

ROMデバイスの多さ、全配線長の長さは一番だよね(笑

.

PICT8305

って事で、おそらくバーチャレーシングで使用されてるカスタムチップ、セガバーチャプロセッサー(SVP)が曲者な感じです。

延長なのか電源系なのか、もしくは両方なのか、データ化けする原因は定かではないですが、このカセットの動作条件が結構シビアな事は間違いないようですね。

って事で・・・バーチャレーシングをSweet Rammyで吸い出す場合は、とりあえずHALTスイッチで対処してくださいってことで(^-^;

上で修正した通り解決しました(^-^)

10 件のコメント:

Nekojirou Kumakuma さんのコメント...

細かく検証していただいてありがとうございます.
こう言うのは自分だけではなくて複数のデータがあると信頼性が高くなりますので助かりました.
自分の工作が怪しいかもと言う部分がどうしても気になってしまいますからね^^;
自分も焦って手当たり次第に色々な条件で吸い出してみたりしましたけどVR以外は大丈夫でした.

と言うのも自分の場合は吸い出し目的よりも開発用が目的なので読み書きのミスは致命的なんで相当クラクラ来ましたw
あれやこれが動かない原因が焼きミスだったとかいう状態だったら根本から考えを変えなくちゃならない所でしたので.

と言うわけでやはりVRは差し替えしか無理そうですね.
一度吸ってしまえばもう吸うことも無いので実質的な問題は無さそうですね.

実はSVPで何かできないかなと思って吸いだしたんですよね.マスクROMを外してソケットにしてFlashに載せ替えたりするのは無謀だと分かって良かったです.
やってからエミュでは動くのに実機で動かなくてそれがデータ化けだったとかだとこれはもう地獄ですw

Nekojirou Kumakuma さんのコメント...

それから一応情報として残しておきたいので書いておきます.

最初の書き込みではアドレスは規則性があると書いてましたが何度か吸ってみると不規則だったことがわかりました.
化けるアドレスの場所も数も吸う度に不規則でした.
ただ24Mb中結構若いアドレスにデータ化けが集中している印象を受けました.
化け方は完全に同じで本来のデータから-4のデータが出てきます.
自分はカートリッジを開けたことはなかったのですが本記事の写真から判断すると16Mb+8Mb構成なのかな?
もしかすると化けるのはどちらか片方のマスクROMに偏っているかもしれません.

この辺りを追求した所で意味は無いのですが一応ということで^^

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

おはようございます

>複数のデータがあると信頼性が
これはホントにそう思いますね(^-^;
ミスってるものは追求が難しいことあるし、調べるにしても抜けてることあるしw
RammyPCBに関してもぶっちゃけ簡単な動作チェックしかしてないので、発送後に何か不具合が無いか不安だったりします。
今のところ7個ほど旅立ってますが、報告頂いた限りでは大丈夫そうなのでホッとしてますw

で、VR、多分勘違いと思われますが、ROMサイズはMaskROM1個の16Mbitで、それ以外で載ってるデバイスはSVP、64K-DRAM、HC04、HC08ですね。

化けてるアドレスの位置などはハッキリ見てないですが、確かにMD1とMD2では違ってました(笑

SVP使ったフリーなゲームとかあるんですかね?
もしあるなら1個Flash化しておいてもいいかも。
VR安いし(笑
関係ないけど、VRやるとbio100%のpolestarをなぜか思い出します(^-^;
VRよりも遊んでたんで印象が深いw

Nekojirou Kumakuma さんのコメント...

容量勘違いしてましたw
テストでVRDXも吸い出してたのでこっちが24Mbでした.

SVPは特にそれ関係のゲームがあったりするわけではないです.
あくまで個人的なお遊びのためですね^^

こー言うのが出来たら面白いのになあと言うのはあったりするのですが中々難しいですね.
自分は1から作るには仕様が全部わかった上でツールも揃ってないと始める前に調べるべきことが多すぎて面倒くさくなって投げる性質です.
ハックも誰もやってないとか友人の要望とかでもないとやらないので仕方なくやってるだけだったりします.
ネタは常に探してるのですがねw

YoGirl さんのコメント...

全然VRの事気にしてなかったけど、そういやVRはカートリッジに搭載されているプロセッサーが見てる制御信号がC_CE#以外にもあるみたいですね。
以下の内のいくつか複数をまとめてスイッチ切り替える様にしないとエケないかも。

C_CE#
C_OE#
AS#
CAS2#
LO_MEM#
LDSW#
UDSW#

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

Nekojirou Kumakumaさん

SVPは有効に使えたら面白そうですけどね。
・・・できたとしても私の頭では活用できなさそうですけどw


YoGirlさん

なるほど、複数切り替えですか。
なんとなくReset(B27)操作でいけるんじゃ?とか考えてましたが、いろいろと試さないといけないかもですね。

関係ないけど、自作64Mbitカートが気になってきた。
27C322×2で作るとして、どうやるのか調べ中・・・

zaks さんのコメント...

もうご存知かもしれませんがここでは80Mを紹介してます。

http://www.tototek.com/phpBB2/viewtopic.php?t=2248

そもそもメガドラってバンク切り替えなしでリニアで何メガまでいけるんでしょうか?

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

zaksさん

情報ありがとうございます(^-^)
そこは見てなかったですw

メガドラ本体のみで通常使えるのは
0x000000-0x3FFFFF ROM Cart
だけですが、
0x400000-0x7FFFFF Expansion Port
(主にMEGA CD用)
0x800000-0x9FFFFF 何Port?
といったような未使用エリアを全て含めると丁度80M使えることになりますね。

BadApple64MやUMKTの場合はバンク切り替え使ってないはずなので、対応EmuやMEGA Everdriveではこれらの空間を強引に使えるようにしているのかと思われます(笑

私はUMKTはともかく、BadApple64Mを動かしたいなぁ、と思っておりましたw

YoGirl さんのコメント...

0x400000-0x7FFFFF はMD2 (基板リビジョン不明) だとハングアップするとか聴いたようなうろ覚え。
でもBad Apple 64Mはきっと 0x400000-0x7FFFFF を使ってるw

で、普段ROMの CE# として使ってる C_CE# は 0x000000-0x3FFFFF の範囲にアクセスした時しか反応しないけど、AS# は 0x000000-0x7FFFFFCE# の範囲にも反応するんで、 AS# を CE# として使うと良いみたいです。

0x000000-0x3FFFFF: C_CE# (B17 pin)
0x000000-0x7FFFFF: AS# (B18 pin)
0xA13000-0xA130FF: TIME# (B31 pin)

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

YoGirlさん

情報ありがとうございます(^-^)
とりあえずMD1で動くか、ですね。

TIME#(バンク切り替え)は必要ってことなのかな。

http://wiki.megadrive.org/index.php?title=Connectors
ココ見るとB26(/ASEL)が0x000000-0x7FFFFFまでアクセスできそうな雰囲気なんだけど、そう簡単なものではないのかな(^-^;

MEGA EverdriveのPCB画像が参考になるかと見てみたんだけど、Bサイド殆ど使っててアタリを付けられずw

とりあえずPS千年紀のPCBをベースで、近いうちに試してみたいと思います~