オッサンのゲームに纏わる奮闘記です。
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
遅ればせながら、あけましておめでとうございます。
昨年末ぐらいからずっと作っていた、dumpしたRAWデータとFDS形式の相互変換のソフトを人柱版として公開します。
DataConv1.jpg

FDSloadersaver(仮)と同様のSkyDriveへ置きますので、ダウンロードして使ってみて下さい。
#関係ありませんが(仮)って変に流行っているので、今後変更しますw


2014/1/20追記
最初に公開したものは、XP環境で動作しないことが分かりましたので、こちらのリンクは消去しました。



インストールなどは不要です。すごくシンプルで何もないです。
.NET Framework4以上が必要です。
詳細は中にあるDOCを参照してください。

使い方は続きます。

って使い方も何もないですが、
起動すると、ボタンが3つ
DataConv1.jpg
[Raw→FDS]、[FDS→Raw]、[Exit]ですw

まんまですがそれぞれのボタンを押すと、
DataConv2.jpg
ファイルを選択するようにダイアログボックスが出ますので、変換したいファイルを選択してください。
元ファイルに変更は行いません。
変換されると元ファイルと同じ場所に3つのファイルが作成されます。

*.logは変換の簡単なlogファイルです。
*.mfmは中間ファイルとして、MFMのビット列のデータです。
そして、*.Rawもしくは*.FDSが作成されていると思います。

注意ですが、まずFDS→Rawに関して、読み込ませるFDSは片面のものとしてください。
両面以上のFDSファイルは、一旦別なソフト(FDSstudyなど)で分割してから、読み込ませて下さい。
FDSstudyは残念ながらInfoseekのサービス終了とともに元サイトが消滅してしまっていますが、Readme内に内容の変更がなければ自由に再配布できると記載がありますので、こちらのSkyDriveへ置いておきます。

またNo-IntroのようなFDSヘッダーのないFDS形式は対応していません。そのような場合はバイナリエディタなどでFDSのヘッダを追加してください。
#実際にはチェックしていませんので、先頭に何でもいいので16バイトのデータを付加してください。

逆にRaw→FDSも片面づつのFDS形式になります。
エミュレータなどで使用する場合は、同様に結合してから使用することをおすすめします。
特殊フォーマットのもの(ホクサイ、ジンゴロー、クイックハンターなど)には対応していません。
ダミーファイルのある鬼ヶ島などは問題ありません。
そもそもFDS形式がそのようなディスクに対応することを前提に作成された形式ではないと思います。
#力技で可能ですが、やっていません。
#それらのソフトを保存する、エミュレータで扱うためには別な形式のフォーマットを考えるべきかと思います

作成されるmfmやlogファイルは、不要であれば消去して結構です。

早速実験です。
まずRawからFDSに変換してみます。

このぐらいのディスクをdump。
DataConv_sampe.jpg
そのまま変換し、
DataConv3.jpg DataConv4.jpg DataConv5.jpg
FDSStudyにて結合。
DataConv6.jpg
CRCなども問題ありません。BABさんによるROMチェッカーを使用させていただきました。
DataConv7.jpg DataConv8.jpg DataConv9.jpg
エミュレータで起動です。エミュレータはNorixさんによるVirtuaNESを使用させていただきました。
DataConv10.jpg mjkzk1.jpg mjkzk2.jpg mjkzk3.jpg
麻雀家族

DataConv11.jpg oni1.jpg oni2.jpg oni3.jpg oni4.jpg
新鬼が島前編
後編が一緒になっていないので、CRCエラーになっていますが、ダミーファイルも問題なく変換されています。

DataConv12.jpg
スーパーロードランナー
CRCエラーがあると出ていますが、こういう場合は変換時のlogを見てください。
DataConv13.jpg
ログには各ブロックを変換する際にCRCをチェックしています。すべてのブロックでCRCエラーがなければ、dump、変換には問題ありません。

slode1.jpg slode2.jpg slode3.jpg
問題なくエミュレータでは動作しました。未知のversionかな?
大丈夫でした。

次に逆をやってみます。
メトロイドを書き戻してみます。
DataConv14.jpg
まずFDSを分割します。
DataConv15.jpg

metroid1.jpg
これをそれぞれ変換して書き戻し。
metroid3.jpg metroid2.jpg
metroid4.jpg metroid5.jpg metroid6.jpg
動作しました。

こんな感じです。
使い勝手がよくなったかな?
#凄い不親切な設計だけどw

では〜
#つぎはMZ-1500とかやってみようかな?本体とかディスクないので、どうしよう。

スポンサーサイト

テーマ:ファミコン - ジャンル:ゲーム

始めまして。。ぷりんと言います。。
あの、私もfdsloadersaverが完成したんですがこれはXPには対応してないんですか?
それとも回路が待ち間違ってるのか?
起動して液晶は「Read Mode」、ソフト側で「init」を押して「Raed Disk 」を押すと「コマンドが拒否されました」出るので・・・しかも私はXpしかでないので対応してないのか思って連絡しました。
良かったら教えて頂けませんか?
いつまでも待ってますのでご連絡をお待ちしてます。
[2014/01/14 Tue] URL // ぷりん。 #- [ 編集 ] @
ぷりんさん。
検証頂きありがとうございます。

こちらの環境ではXPでも動作していますので、もう一度チェックいただければと思います。
まずWindows側のソフトですが、Initなどを押して接続されているFT232Hのシリアルなどが表示されるのであれば、Windows側としては問題ないと思います。
.NET Frameworkの4以上がインストールされていることと、FTDIのドライバーがインストールされていることが条件です。
「コマンドが拒否されました」と表示されているようなので、こちらは問題ないと思います。

問題があるとすれば基板側(AVR側)でしょうか?
まずUSBで本体と接続した直後は「Read Mode」とは表示されません。
「Select Mode」の表示になるはずです。
ですので、チェックしたほうがいい項目としては、
単独で電源を基板側に供給した時に(USB接続しないということです)、LCDに「Select Mode」と表示されるか?
「Read Mode」と表示される場合はAVRへの書き込みが間違っています。
DOCに記載したFUSEや書き込みのプログラムがきちんと書き込まれているか?をチェックしてみて下さい。

FT232Hの設定も再度チェックしてみると良いかと思います。
D2XXを利用し、245FIFOのモードになっている必要があります。

よろしくお願いいたします。
[2014/01/14 Tue] URL // kitahei88 #- [ 編集 ] @
管理人のみ閲覧できます
このコメントは管理人のみ閲覧できます
[2014/01/15 Wed] // # [ 編集 ] @
いろいろ教えていただきありがとうございます。
いまいちAVRライターなどの使い方が解ってないみたいなのでもう少し勉強してみますね。

あと、「ファミコンディスクシステム用データ相互変換」を起動してみたら「DataConvert.exeは有効なWin32 アプリケーションではありません」と出るんですがこれは、.NET framework 4を入れてるんですが他に何か必要なんですか?

何もかも解らない私ですがいろいろ教えて頂きありがとうございます。
こちらも宜しければお願いします。
[2014/01/15 Wed] URL // ぷりん。 #- [ 編集 ] @
ぷりんさん。
コメントありがとうございます。こちらでも確認できました。
DOCにも書きましたが、今回のものからWindows側の開発環境をVisual Studio 2013へ移行しました。その際defaultの設定で.NET4.5になっており、これがXPには供給されていないようなので、XPでは動作しなかったようです。
#MicrosoftはXPを色々な方面から無いものにしようとしているのかなと?

こちらの設定を変えることでXPでも大丈夫なようですので、近々変更して上げ直します。
報告ありがとうございます。
[2014/01/18 Sat] URL // kitahei88 #- [ 編集 ] @
こんばんは。
FDSLoadersaverすごいですね。
ディスクライターも真っ青ですね(笑)
いずれ自分も作りたいと思っています。

Todoリストをみると、RAMアダプターモードの実装を考えているみたいでうれしいです。
FDSLoadrのほうはレガシーコンピュータが必要になるみたいなので、使ったことはないのですが、FDSLoadersaverではモダンPCでパラレル接続ではなくUSBを使用して、GUI環境でRAMアダプタ転送が可能になればいいのになと思っています。
30年たってもファミコンっていまだに面白いですよね。
[2014/01/19 Sun] URL // ワンドナイト #- [ 編集 ] @
こんばんは、

無事動作しました。
動いた時には本当に感動しました。
それから「ファミコンディスクシステム用データ相互変換」のXpの事を調べて頂きありがとうございました。

私の方の動かなかった原因ですがAVRを再度、設定して動きました。
XPの対応も期待してるので宜しくお願いします。

今回はプログラムが絡んだハードは初めてでした何から何まで本当にありがとうございました。
[2014/01/20 Mon] URL // ぷりん。 #YM16R1CM [ 編集 ] @
>>ワンドナイトさん
そうなんですよね。パラレルポートって便利なんですが、もう最近のPCには少なくなってしまっていますし、FDSLoadrはDOSやWin95の環境が必要だったりと、現在では余計敷居が高いきがしましたので、作ってみました。
RAMアダプター転送は、リードだけならすぐ実装できるのですが、セーブデータを扱うのに、AVRでは荷が重い気がしています。もうちょっと考えて見ます。

>>ぷりんさん
再度検証いただきありがとうございます。XPで動作するように再度コンパイルしなおしましたので、使ってみてください。
特殊フォーマットのディスクをあまり持っていないので、クイックハンターなどのFDSには対応したくても出来ない状態です。
今後ともよろしくお願いします。
[2014/01/20 Mon] URL // kitahei88 #- [ 編集 ] @
はじめまして。

FDSLoadersaverの回路を組んでて思ったのですが、回路の置き場所をディスクシステム本体の中に組み込む事はできますでしょうか?

回路とソフトの動作自体はあっさりできて満足しているんですが、
回路の配線が不安定(FT232~AVR)でケースにでも入れておかないと
何かの弾みで外れそうで若干不安です。

それで、ディスクシステムの中に組み込もうと思ったのですが、
基板とケーブルが常時繋がった状態でファミコン本機に接続するのは
故障や不具合の元になるんじゃないかと躊躇しています。

FDSloadrの場合は別に良かったみたいなんですが...。

あと、電源なのですが、ディスクシステムのケーブル側の+5Vは結線が
必要ですか?USBから電源が来ているなら不要ですし、二系統から入力
するのは危ないのかなーと思っているのですが(今は繋いでます)。

よろしくお願いいたします。
[2014/04/13 Sun] URL // TS #- [ 編集 ] @
Re: タイトルなし
TSさん。コメントありがとうございます。

> FDSLoadersaverの回路を組んでて思ったのですが、回路の置き場所をディスクシステム本体の中に組み込む事はできますでしょうか?

まず物理的な問題としては、サイズ的に組み込むことはできると思います。
LEDにしてもLCDにしても、動作を確認するために取り付けてあるものですので、基本的に見る必要がなければ取り付け自体が不要です。
ですので、かなりコンパクトにはなるかと思います。

+5Vを両方から取ってしまっているのか、回路図上のミスです。
繋がないで動作させていただければと思います。

> 基板とケーブルが常時繋がった状態でファミコン本機に接続するのは
> 故障や不具合の元になるんじゃないかと躊躇しています。

ドライブとRAMアダプターが接続された状態で、信号を横から接続して採っている感じになるということですね。
実際に試してはいませんし、保護回路のようなものは入れていないので、可能性はあるかと思いますが、+5Vを取らないのであれば、AVRとも動作しない状態ですので、スルーしている信号には影響がないかと思います。
今度試してみます。

今現在どの方向に向かって改良しているかというと、
MSXやMZ-1500のQDドライブも使用できるようにして、それらのQDも読み込み、書き込みできるようにしています。
Bootloaderでファームの変更、改良ができるようにする。
です。
というかそれ自体は完成していて、その為の回路の変更と基板の作成をしています。
どのような形にするか迷っていますが、今までに作成していただいた方もいますので、基板単体での配布でパーツを流用できる形や希望があればパーツ込みの配布などを行うつもりでいます。

そこまで出来たらVer1.0として、一旦プロジェクトを閉じたいと思っています。
が、他にも
ドライブのエミュレーションを可能にする。
可能であれば、SDカードなどのスタンドアロンで動作できるようにする。
なども考えています。

それらはVer2.0として時間を見つけて開発したいです。
今後ともよろしくおねがいします。
[2014/04/14 Mon] URL // kitahei88 #- [ 編集 ] @
こんにちは。

LCDやLED、ボタンあたりを実装してから動作の確認しましたけど、
メニュー画面の操作見ながらやれば無くてもいいかなと思えてきて
簡易版を作ってから試行錯誤していました。ディスクシステム側の
ケーブルも2.0mmピッチの変換も省けたらいいなと思って、それなら
ディスクシステムの中に収めればいいんじゃないかと気付いて現在に
至るような感じです。

+5Vの件は、やっぱり通電させない方がいいみたいですね。確かに
USBのケーブルさえ刺さなければ回路側には電源来ないので使う時だけ
接続するようにすればいいでしょう。まだ、ディスクシステム側から+5Vが
流れてきているかどうかは確認していないので、そこから始めたいと思い
ます。

素晴らしいツールを用意していただいてありがとうございます。
何かまた気付いた事がありましたら報告しますのでよろしくお願いいたします。
[2014/04/17 Thu] URL // TS #- [ 編集 ] @
連投失礼します。

+5Vの通電ですが、ディスクシステムのケーブル側の+5Vを回路に
通電した状態でないと書き込みが正常にできませんでした。
外した状態だと、書き込み中にソフトが応答無しで固まってしまいます。

因みに繋いだ状態だと書き込みは正常でできました。
ソフトの挙動も書き込み後に応答なしが5秒ほど出た後にdoneの表示が
出るような感じです。これは、最初に作ったものはこういった症状は出な
かったような気がするので、今回組んだ回路が悪いのかもしれません。
[2014/04/24 Thu] URL // TS #- [ 編集 ] @
ありゃ
よくチェックもせずに、大丈夫と書いてしまい申し訳ありません。
気になって調べてみました。というか、以前調べたのに忘れていました。
ディスクシステム側への5VはRAMアダプターからディスクシステムの基板部分のために供給されているのでした。たとえばプロテクトのチップなどはこの5Vが使われています。
ドライブ自体への供給は、電池やACアダプターからの電源電流で供給されており、内部は別になっています。
ですのでこちらから5Vを供給する必要がありますね。
簡単に測定してみましたが、プロテクトのチップ分があるためか、リード時で40mA程度、ライト時で90mA程度必要なようです。(あってるかな?)
結構食いますね。
[2014/04/24 Thu] URL // kitahei88 #- [ 編集 ] @
新しいバージョンが出来上がってるんですね。楽しみにしています!
でも回路も大幅変更になっちゃうんでしょうか??
その辺が心配です…
[2014/04/27 Sun] URL // ばくてん #- [ 編集 ] @
Re: タイトルなし
回路は少しの変更だけで大丈夫だと思います。
というか基板作るつもりなので、お分けしたいと思います。
ひとつお伺いしたいのですが、twitterなどで公開されている写真はピンヘッダが8x2になっているものを使われていますが、そちらのほうがいいですか?
私はいつも、ブレッドボードで回路をテストしてしまう関係で16ピンがストレートになっているのを使ってしまうのですが、どっちが良いでしょうか?
どっちでもいい?
[2014/04/28 Mon] URL // kitahei88 #- [ 編集 ] @
お、基板も作成されるんですね。
LCDのピンヘッダでしょうか?私的にはそのまま流用できるように8x2の方が良いかなと…
[2014/04/28 Mon] URL // ばくてん #- [ 編集 ] @

管理者にだけ表示を許可する
http://kitahei88.blog.fc2.com/tb.php/114-9ba23cde
この記事にトラックバックする(FC2ブログユーザー)
// ホーム //
Powered By FC2ブログ. copyright © 2017 レトロゲーム漫遊記 : episode2 all rights reserved.
最新記事
最新コメント
最新トラックバック

プロフィール

kitahei88

Author:kitahei88
dtiblogが閉鎖されたため、こちらでお世話になります。
ただのオッサンです。

オッサンのつぶやき

カテゴリ
月別アーカイブ
検索フォーム

リンク
RSSリンクの表示
ブロとも申請フォーム
QRコード

QR

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。