2010年5月30日日曜日

ファンタシースター復刻版の吸い出し・・邪道技

最近、セガ8bit機と戯れてますが、あることに気が付いた。

PICT4993

メガドライブのファンタシースター復刻版、以前ひぐらしさんのトコで吸い出せないとの情報を知り、入手していました。

他のサイトを見ても、復刻版の中身はSMSそのもの・・・ということで情報は一致していた。

私のとこでも、ホンコンではなく、去年5月に作ったMD吸い出し機でも同じようにLEDが消えて当然ながら吸い出せなかったw

で、当時カートリッジの中身を見てMASK-ROMのピンアサインをテスターで調べてそのまま放置していたんですが、今日ゲームギアのMASK-ROMのピンアサインをテスターで調べていて初めて気が付いた。

復刻版のMASK-ROMはゲームギアのMASK-ROM(調べてないけどSMSもかな?)とピン配列は同じだったんですね。

(SMSオリジナルのファンタシースターのROMは27C4001と同じ配列)

PICT4997

ゲームギアは黒ツブシ基板と、上の3種類があります(まだあるかな?)が、上のタイプならどれでもピン配列は同じなので、実際に載せ変えたらどうなるか、やってみるしかないでしょ~、ってことで。

PICT5015

GGのシャイニングフォース外伝Ⅱが複数あったのでそれをベースにして試してみたところ・・・

PICT5022

おっ?映ったけど・・・なんかデカイし色が変・・・と一瞬思うも、これはゲームギアモード(42pin+GND)での映像だとすぐにわかった(^-^;

PICT5012

マスターシステムモード(42pin+Vcc)だとご覧の通り、正常に起動することが確認できました。

となれば、先日作ったSMSReaderで問題なく吸い出せるだろう、ってことで、

PICT5019

SMSモードからGGモードへ戻してから吸い出してみる。

mdpstar

無事吸い出すことができました~(^-^)

ちゃんとMegadriveのROMと認識されてますね(笑

因みに、CRCの照合はSMSReader付属のデータベースと比較されてます。

mdpstar2

SMSオリジナルと比べると結構な相似があることがわかりますね。

(このせいなのかシャイニング外Ⅱ(SRAM32K基板)使ったせいなのかわからないけど、ゲームギアで復刻版を起動したら遊べるものの、多少のバグが出てた。エミュではバグは出ないんだけどね)

実践はしてないけど、逆にGG(orピン配列同じなSMS)のMASK-ROMを復刻版の基板に載せたら、多分メガドライブで動かせるでしょう(笑

ま、それだけでは面白みが無いのでとりあえずはやらないけど。

で、まぁ、邪道(?)だけど一応吸い出しはできたものの、ちょっとメンドイし、普通はやらんでしょう(^-^;

できればMDカートリッジをバラさないで吸い出ししたいよねぇ・・・

一応カートリッジの情報だけ載せときますので、がんばる人は参考にしていただければ。

pspcb1a

一番上のチップがSMSでも使われてるようなメモリコントローラで、MD用(?)に作られた315-5342チップ。

(MASK-ROMの2pin(NC)はGG(シャイニング外Ⅱ)の場合はSRAMの1pin(A14)へ、3pin(LDSW)は、GGでは/WEに入ってます)

mdps1a

記載の無いピンはどこにも繋がってません。

アドレスバスは0から表記してあります。

MDは16bitなのでデータバスは16本、SMSは8bitなのでデータバスは当然8本しかありません。

ホンコンなどでLEDが消える症状は、MDアダプタを使った場合、おそらくデータバスが完結しないので誤動作を起こしてるんではないかと。

ホンコンのMDアダプタ(smd回路の場合)で使われてる74HCT157×2の3、6、10、13ピンをGNDかVccに繋げばおそらくLEDが消えることは無く、「とりあえず認識する」と思いますが、それだけではバンク切り替えができないので吸い出すことは無理かな。

(アドレスバスも途中で切れてるしね)

そうした上でソフトを書いたとしても、A14&A15を使ったバンク切り替え回路(?)が作れてないので・・・やっぱ無理かな。

なので、カートリッジのまま吸い出す事を考えた場合も、とりあえず何らかのハード工作は必要になってくると思います。

64pinコネクタ+SMS(orGG)アダプタの回路を流用した基板を作るか、ゲームギアのカートリッジをバラして64pinコネクタと直に繋げてGGアダプタ経由で吸い出すか・・・

問題は、アドレスバスとデータバス、GND、Vcc以外のピンをどう繋げるかってことですか。

特にGGアダプタなどを経由するとなるとMASK-ROMの/CEがPCB端子に出てないのでどうするかですねぇ。

・・・そもそも復刻版一個の為にハード工作する必要があるか、と問われると・・・ちょっと返答に困るけど(笑

こればかりは流石にパソファミでも無理だと思うんだけど、どうでしょう?

持ってないからわかんないや~

そんなわけで、やっぱりメガドライブのファンタシースター復刻版は少し厄介なのでありました。

2010年5月26日水曜日

SMSReader セーブデータ書き戻しできたね(汗

え~・・ソフト編でセーブデータの書き戻しができないと書きましたが、Writeタブで普通にできました(^-^;

今日初めてreadme読んだらしっかりと書いてあった(爆

smssave

例としてFusionで保存した場合、拡張子がssmというファイルが生成(ROMファイル名.ssm)されるので、拡張子をsavに変更する(ワイルドカードは使えないから)。

smssave2

WriteタブでWriteボタンを押してセーブデータを選択する。

smssave3

カートリッジを差せと促されるのでSMSReaderセットしてなければセットしてOKボタン押すだけ。

smssave4

上の表示が出れば無事完了。

PICT4985

実機で確認。

当たり前だけど問題無し(笑

いやはや・・まぁ、普通は読み書きできるはずだよね。

因みにゲームギア(32K)でも問題ない。

・・・readmeはよく読みましょう(←自分

.

話はちょっと変わって、昨日は久々に3Dゲームやった。

PICT4981

セガ8bit時代の売りの一つである3Dメガネを使ったゲームです。

現代の(?)3Dと言われるゲームとは違って、ホントに3D映像のゲームが楽しめます(笑

つい最近話題になってきてる3DTVよりも20数年前には3D映像が楽しめたわけですねw

で、ちょっと気になって試したんですが・・・SMSに3Dメガネを付けて準備しておいて・・・

PICT4982 PCでエミュのフルSC画像

実機でもエミュでも、3Dゲームは上の写真みたいに映し出されるんですが、エミュの画像(PC画面)でも3D化されるのかやってみたところ、ダメダメでした(^-^;

周波数がTVと違う&走査線の流れも違うからかな、普通に画面を見ると真っ暗っぽくなって見えなくて、顔を横にすると絵としては見れるけど当然3Dにはならない・・・残念。

序にXBOX(D端子接続)でも試したところ、コチラは一応3D映像としてゲームがプレイできた。

一応、というのは、偶に画面が大きくなったり小さくなったりといった「感じに」見えたから。

肉眼(裸眼)では変わってないんだけど、これはD端子からの出力だからかなぁ・・・

コンポジットなら問題ないかもしれない。

2010年5月25日火曜日

aitendoの特売で・・

安いROMライタ欲しい人だけ必見。

それなりに使えるROMライタTOP853(TOP2005よりもちょっと劣る)がaitendoの特売で3,840円で出てますね。

因みにTOP2005+は7,840円。

ファミコンやマスターシステムやMSXなどを弄るだけ(4Mbitクラス)なら十分使えるんじゃないかなぁ。

少しでも安くEP-ROMやフラッシュROM焼きたい人、ROM焼き入門(?)にはオススメかも。

2010年5月24日月曜日

SMSReader製作に関して

先のハード編で回路図が無いと書きましたが、SMS POWER!内のSMSReaderページ内の製作過程(トラブルシューティング含む)と、スタッフのMaximさんのところのDocumentsにあるPinoutsを総合的に見れば作れるはずです。

で、一つ注意を。MaximさんとこのPinoutsにあるMaster Gear Adaptorの接続ピンですが、一箇所間違いがあります。

+5V - +5V,GG,TV
Gnd - Gnd

となってるところですが、正しくは下記になります。

+5V - +5V,TV
Gnd - Gnd,GG

【修正追記】

上の破線部分の件、大変失礼しましたm(_ _)m

えっと、私の思い違いです(汗

SMSReaderとして作る場合は/GGとGNDを接続(もしくは未接続)で無ければなりませんが、Master Gear Adaptorとして使う場合は/GGとVccを接続で良かったのでした(^-^;

原理としては、/GG[42pin]がGNDに繋がってるとゲームギアモードで動いて、Vcc(+5V)と繋げることでSMSモードで動くようになってます。

Master Gear Adaptorゲームギア本体でSMSのゲームを動かすアダプタなので、/GGとVccで接続しなければいけないんです(^-^;

う~ん、疲れてるなぁ・・・

実際にはカートリッジ内部で既に繋がってるのであえてGGをGNDに接続しなくてもいいんですが(笑PICT4977

ゲームギアのゲームカートリッジ内で、GG[42pin](画面右下の赤枠)はGNDと繋がっているので、GGとVccを繋げてしまうとショートしてしまうので注意です(^-^;

私は電源整流用ダイオード入れてたので特に問題にはならなかった(吸い出し機も大丈夫)けど、入れてなければちょっと怖かったかも・・・

さっき書こうとしてすっかり忘れてたよ(ぉぃ!

一応、この件はMaximさんにメールしといたので、確認が取れれば修正入ると思います。

【修正追記】

修正しなきゃならんのは私の頭でした(^-^;

SMSReaderとMaster Gear Adaptorが完全にごちゃまぜになってました。

ご丁寧に、わかりにくくてゴメンと返事をくれたMaximさん、大変失礼しましたm(_ _)m

日本語だけど、ま、いいか(ぉ

SMSReader作ってゲームギア吸い出す人は気をつけましょう(←お前だけだっ!って突っ込みは無しね)

とりあえず重要事項なので追記でなく新規で書いておく。

【さらに追記】

早々にMaximさんが注記を入れてくれました。

今後は私みたいな勘違いは無くなるといいな。

う~ん、恥ずかしい(-_-;

SMSReader 完全版 (ソフト編)

次はソフト編です。 (ハード編は前を見てね)

SMS ReaderのクライアントはWin用とDOS用がありますが、通常はWin用を使えばOKです。XPでは問題なく動きますが、Vista以降は持ってないので知りません。

DOS用は古いので、多分XPは対応してないでしょう。

完全なDOSで使うか、DOSベースのWin(95、98、Me、2000)で使えるかな。

パラレルポートのアドレスは通常使用される3パターンに対応してるのでBIOSでは特に変更することはない。

モードはBidirectional、EPP、ECPに対応。

SPPはダメ・・・なハズ。

ハード編でもチラッと書きましたが、このSMS ReaderはSRAMのフラッシュカートリッジを作成すれば書き込みもできます。

が、現在ICL7673待ち(ぇ?)で作れてないので吸い出し部分のみの説明を。

まずは↓ここからクライアントをダウンロードします。

http://www.smspower.org/maxim/Software/SMSReader?sid=404c15433bf1955869dafc77d188694e

smsread

適当なフォルダへ解凍して立ち上げ、最初にsettingsタブで使用するパラレルポートを選択・・・PCのBIOS触ったことが無ければ普通は$378だと思う。

Verbose mode・・・の項目はチェック無しでOK。

Log to diskのチェックを入れておくと、吸い出し時などのログをテキストで残せますが、ログウィンドウで状況は見れるので、後から参照する目的が無ければチェック無しで。

smsread0

今は他に弄ることが無いので、パラレルの設定が終わったらReadタブで作業を。

Cartridge sizeは通常Autoで十分ですが、SG-1000の場合はサイズ指定したほうがいいかも。

下で書く海外版SMSのモノポリーも指定しないとダメだったので、これも状況に応じて変更してみたほうがいいかな。

Do not save known romsのチェックが入ってると、正常に吸い出せた場合にデータが保存されない。

ので、保存したい場合はチェックを外しておきます・・・ってか、普通は外しておきます(笑

正常じゃなかった場合、チェックが入っていても保存ウィンドウが出てくる。

正常に吸い出せた場合はログウィンドウにKnown Dump: ロムネーム.拡張子と表示されます

それ以外の、UnknownとかBadとかなった場合は吸い出しサイズ変更するなり、カートリッジの端子を掃除してみる。

んでは、私のヤツはハード的にSMSReaderで吸える物は全部吸えるハズなので実践を。

PICT4972

まずはセオリー通り(?)の海外版マスターシステムのゲーム、モノポリーを吸い出してみる。

smsread1

上でチラッと書いたけど、モノポリーの場合はROMサイズを指定しなければいけなかった。

Known Dumpになってるので正常です。

他にEnduro Racerを試したけどこちらはAutoで問題なく。

smsread4

あ、正常に吸い出せた場合、セーブする名前は最初からゲームのタイトル名になってて、その後に(Verified)と付く。

吸い出しの安定性に不満があればベリファイの回数を増やしておけば安心できるでしょう。

smsread3 PICT4979

↑マークⅢのファンタシースター、Autoで問題ない。

smsread2 PICT4978

↑ゲームギアのシャイニングフォース外伝2、なんかゴチャゴチャと書かれてるけど、要するにROM最後尾のFFが多いのでミスの可能性があるかもよ?とワーニングメッセージ吐いてるだけで、実際にはCRCも一致してKnown Dumpとなってるので問題ない。

【追記】

破線の部分、失礼。

シャイニングはチェックサムが合ってないよ~のメッセージだったね(^-^;

チェックサムはROMの$7FFA-$7FFBの値と照合されるが、必ずしも同じになるとは限らない。

他にも破線のようにFFが多いから・・・の場合もありますです、はい。

smsread7 PICT4974

↑SG-1000、SC-3000対応のジッピーレース。

SG-1000、SC-3000はマークⅢ(マスターシステム)とは少しROM形態が違うので、おそらくROMサイズは都度指定しないとダメかな。

指定すれば問題なく吸い出しできる。

smsread8

↑セーブデータのバックアップ。

できれば書き戻しができると便利かなと思うんだけど、残念ながらセーブデータ書き込みのボタンは見当たらないので現状は吸い出しだけ・・・かな。

【↑訂正】

Writeタブでセーブデータを選べば書き戻しもできました(汗

その様子は26日のところで(^-^;

smsread9

内容はバイナリなので読めないが、ヘッダを見る限り(+エミュでの生成されるデータ)では問題ないみたい。

smsreadb

ってなとこで、多少はROMサイズ変更しなきゃいけないこともあるけど、比較的楽に吸い出せるので結構良いなぁ、と。

作るまでがめっちゃ大変だけどねw

最後に、SMSReader完全版製作記念(?)として、ファンタシースターの吸い出し状況の動画を。

・・・単に吸い出してるだけの動画なので、ん~、吸い出してる実際の動きと、4Mbitの吸い出しに要する時間を見るだけにしかならないけど(^-^;


4Mbitでも結構早いと思うけどどうでしょう。

因みに、DOS版のクライアントではオプションを付加することで吸い出し速度の変更などができたり、細かいところに手が届く仕様になってるみたい。

気が向いたらDOS版も触ってみようかな。

さてっと、疲れたのでマッタリと吸い出しを楽しみながら休憩に入ります(笑

あ、序に書いとこう。

ICL7673が手元に来たら一応SRAMフラッシュカートリッジ作るつもりなんだけど、

PICT4975

既にTototek製のSMS-Proセットがあるので、早めにICL7673が届かないと気が薄れる可能性大だったり(^-^;

SMSReader 完全版 (ハード編)

ふぃ~・・・やっと製作からテストまで無事に終わったよ(-_-;

あ、ちょっとだけお久しゅうしてましたm(_ _)m

タイトルのブツ作るのに時間が掛かってしまいました。

遡ること・・調べ中・・丁度一年前ぐらいですか、MDの吸い出し機を作った後にSMS POWER!に載ってるSMSReaderを作ろうかと思ったことがあったんですが・・・メンドくて放置してました(ぉ

今年に入ってMDの吸い出し機を真似て自分専用(?)のSMS(&GG)の吸い出し機を作ろうと思った事もあったけど、MDと違いバンク切り替えが必要なことがわかってそれも断念(ぇ?

で、先日Kazzo2.0の製作完了後から少しずつSMSReaderを作ることにしたんですが・・・ホンコンFC単体版よりも面倒=今までの製作で一番大変な作業となったのでありました・・・orz

コネクタを調整しなくちゃいけないし、ちゃんとした回路図として存在してないし、SMSReaderで読めるもの全てに対応しなきゃいけないしで、全体的に時間が掛かっちゃったのねん・・・

と、前置きはコレぐらいで、内容を。

まず、SMSReaderとは何ぞや?ですが、レトロなハードが好きな人にはお馴染みの、セガのメガドラ以前のハード、SG-1000、SC-3000、マークⅢ、マスターシステム(日本版&海外版)、ゲームギアの吸い出しができる機械ですw

SMS POWER!オリジナルは海外版マスターシステムをベースに作られていますが、上で書いたハードにはある程度互換性があり、配線を変更してやることで海外版マスターシステム以外のゲームでも吸い出すことができるわけですね。

で、折角作るなら全て対応させたいな、と。

PICT4944

ゲームギアのコネクタは本体から調達するだけでOKとして、他の海外版マスターシステム用(2.54ピッチ、50ピン)と日本版マスターシステム用(3.175ピッチ、44ピン。マークⅢ、SG-1000、SC-3000含む)は丁度いいものが見つからないので、それぞれ長めのコネクタを短く切って合わせることにする。

PICT4946

ノコギリで切り落としてサンドペーパーで細かな間隔を調整し、プラリペアで軽く接着。

これでとりあえずコネクタは完成・・・って軽く書いてるけど微調整は結構神経使う(^-^;

製作工程は端折りますが(ぉ、3個のコネクタと制御回路は一枚の基板に載せられないため、2段仕様にした。

PICT4958 PICT4960

↑メインの制御部の基板の表と裏

オリジナルとは電源で使われてる部品が大きく違うところかな。

私は100μFの電解コンデンサ×2個+セラコン1μF×2個の、至って普通の5V作り出す回路にしてます。

タンタルコンデンサとか用意するの忘れた(笑、ってのもありますが、タンタルは壊れるとショートするといった特性が怖かったので、あえて敬遠しました。

あ、あとSMSReaderに限ったことではないですが、ACアダプタを使う場合は電源整流用ダイオード(10D1とか)は必ず入れるようにしましょう。

でないと、まかり間違ってプラスとマイナスを間違えたりショートさせたりすると・・・PCも含めて恐ろしい結末を迎えることになります(マジで)。

(因みに、私は昔コレでPCのHDDお釈迦にしたことがある(苦思)

データラインの47KΩ抵抗もアレイが無いので普通に1/4を、それと、ノイズ対策用のセラコン(4.7μF)がデカイけど、RSで注文した際に50V対応のが無かったので250V対応を仕方なく(笑

まぁ、大きい分には全く問題が無いのでOKってことで。

最初のテストではあえてノイズ対策しなかったけど、やっぱりゲームによってデータ化けする事があるので、作る人は最初から入れといたほうが吉です。

PICT4959 PICT4961

↑コネクタオンリーの基板の表と裏

裏は・・・もう、ゴッチャゴチャやね(笑

もうね、3コネクタ分を配線するのはチョー疲れる!

だんだん訳わからなくなってきてイライライライラ・・・・ウガァ~!ってなる。

配線が込み合ってはんだ付けし難いし。

あ、制御基板とコネクタ基板を分けた理由はもう一つありまして・・・

制御基板からは吸い出し(一応書き込みも対応してるけどw)に必要な線しか出てませんが、コネクタ基板には海外版マスターシステム仕様をベースに配線してあります。

はい、感のいい人はおわかりですねw

このコネクタ基板、単体の状態で「マスターギアコンバーター」+「廣島交易のアダプター」+@になってます~(^-^)

日本版マスターシステムの拡張コネクタは海外版マスターシステムのコネクタとピン互換なので、延長ケーブルなりを作って繋げてもよし、ゲームギアにも別途アダプタ必要だけど「作れば」美味しく遊べちゃうぞ、と。

ホントはそこまでやってアップの予定でしたが、Reader作りで疲れたのでそれはまた今度(=未定w)に。

PICT4976

で、ドッキングさせて完成~、となる。

PICT4962 PICT4964

製作のコンセプトがコンパクトで便利ってことだったので、自分なりには満足です。

PICT4970 日本版マスターシステム系

PICT4971 海外版マスターシステム

PICT4965 ゲームギア

以上、ハード編終わり。

2010年5月8日土曜日

Kazzo2.0(NESソケット無し版w)完成

既にGWも終わりお仕事始まってましたが、GW中から作り始めたKazzo2.0が昨日完成した。

PICT4936

2.0はATMEGA168+74HC574が2個仕様、まずはISPでファームウェアを書き込む。

kazzo168a kazzo168b

書き込み無事終了して、テストもパス・・・ってか、左が奥さんのPC使ってテストした画像だけど「found 3 busses」となってて速度が速いっ!

テスト結果が4分の1だったり(ビックリ!

私のPCだと3機種が右画像のようにfound 5 busses・・・ちょっと悔しい(-_-;

(ばくてんさんのはfound 2 bussesと、もっと早かったり)

USBの細かな仕様にもよるのかもしれないね。

ウチにはUSB3.0はまだ無いけど、3.0になったらもっと早かったりしてw

KazzoのWin用ドライバは1.0も2.0も共通なので、1.0使ってた場合はファームウェア入れた後にすぐ認識する。

PICT4938

ばくてんさんとこで製作中のキット完成版はNESコネクタ(72pin)対応なのですが、今回私が作ったのはファミコンのみ(^-^;

ま、基板自体の大きさ的に72pinは無理なので、NES扱う場合はアダプタにしようかな、と。

アダプタにすれば1.0でも使えるしね。

・・・でも、アダプタ自作はまた配線しなきゃならない・・・し、買うと2千円程度余分に飛ぶので・・・NES使う予定のある人はキット完成版を狙うのが吉です(笑

動作は全く問題なく、一発で動作した。

噂(?)ではKazzo2.0のほうが書き込み&吸い出しの速度が若干遅くなるとのことだったので、折角なので比較してみた。

Kazzo1.0と2.0を、found3と5のPCを使って、MMC3-512KBの書き込みテスト。

プロンプトを時間表示に変えてgo.batを作って実行してる。

164testa found 3 Kazzo1.0

↑ 68.73秒

168testa found 3 Kazzo2.0

↑ 100.41秒

164testb found 5 Kazzo1.0

↑ 132.66秒

168testb found 5 Kazzo2.0

↑ 132.9秒

こうしてみると、found 3の場合は明らかに差が出るものの、found 5を見る限りではそんなに変わらないみたい、な結果に。

・・・何でだ?

う~む、よくわからん(^-^;

ま、PCの環境に依存する部分が少なからずあるので、あまり参考にはならないかもしれない。

あ、そうだ、found 3でKazzo1.0を使って書き込みした場合、処理が早すぎなのか他の原因なのか特定できませんが、偶に書き込み途中でエラーになって終了してしまうことがあった。

(因みにfound 5の時は一度もこのエラー出たことはない)

速度的に見れば多少なりともKazzo1.0のが早いかもしれないが、上で書いたようにNESまで視野に入れてる場合は2.0キット完成版を待つのがいいでしょう。

もし自作するなら、2.0を作るよりは1.0のが少しは簡単だと思うし、拡張性はあるらしいので1.0を作ったほうが良いでしょう。

と、一長一短なのでお好きなほうを選びませう。

.

それと、序にKazzo1.0とAnago&UnagiでディスクシステムのBIOSを吸い出した結果を。

fcdisk

1.0では何度やっても正常に出てきてるので何とも言えないですが、2.0は現状データ化けが起こるようです。

ウチでは1、2バイト程度の化けが不確定箇所で見られました。

正常な時は4、5回続けて正常なデータが出てくるんですけどね(^-^;

ま、これはその内改善されるでしょ~

【追記】

どうもばくてんさんのとこでは1.0でもdiskbiosの吸い出し不安定らしいですねぇ・・・

う~む・・・謎だらけ(-_-;