FDSLOADERでいろいろやってみる その1

  • 2010/09/12(日) 12:09:32

最近、例のごとくジャンクをあさっていると、キーボード、説明書、ROMカセットのセットで「ファミリーベーシック」を発見。


1000円でしたが、オークションなどで送料がかかることを考えれば安い買い物かと思い、ゲットしましたw。

以前修理したツインファミコンを使用し、問題なく動作、確認できました。
んで、なぜかウチには「ファミコン改造マニュアルVol.3」がありまして、この中で以前から気になっていた、ファミコンのディスクベーシックの作成方法が書かれていました。

これはトンカチエディターが必要なのですが、簡単にいうと、
1.ファミリーベーシックのPRG、CHRをそれぞれテープに保存。
2.トンカチエディターで、保存したPRG、CHRをテープから読み込み、ディスクへ保存するプログラムを入力。
3.トンカチエディターで、保存したディスクの中身を改造。
4.ディスクでベーシック起動できる。

という流れ。
ファミリーベーシックは2Kbyte程度しか容量がないものが、一気に8Kbyteまで容量が増えるという裏技です。

んで、昔のごにょごにょした、トンカチエディターを突っ込んでみました。

ERR.22 orz
もう、どうにもならないかと諦めましたが、そういえば以前から時々FDSLOADERなるファミコンのディスクを読み込んだりできるものがあることを思い出しました。
これ、実はRAMアダプターに書き戻すこともできるので、なんとかならないかやってみました。

またも他力本願で申し訳ないです。
お世話になっているゆーすけさんのこのBlogのページ、さらにはばくてんさんのこのページを参考に配線、作成しました。
ただ、私の場合、トンカチエディター起動後、実機のディスクへ読み込み、書き込みが出来るか実験したかったので、お二人とは異なり、ディスクドライブ側のケーブルと取り去るのではなく、そのままそれは残して、隣の拡張端子側を取ってしまって、穴を開けました。



まあ、こんな感じで両方に配線されてます。
んで、FDSLOADERですが、本家のNesDevからダウンロード。ちなみにSite Indexの「Famicom Disk System」→「Famicom Disk System Loader」です。
クリックしてfdsloadr.zipをダウンロード。展開すると中に4つファイルがありますが、必要なのは、fdsloadr.comだけです。
これをwindows98などの起動ディスク(まあ、DOSが起動できるディスクです。この辺で手に入れました)に放り込んで、さらにRAMアダプターに読み込ませたいFDSファイルも一緒に入れておきます。

このfdsloaderは昔のマシンでしか動作しないということだったので、ウチで一番古いマシンである、Thinkpad X24を使ってみました。pentium3-1.13GHzです。

んで、ダメでしたorz

しょうがないので、ジャンクのPCを購入。Celeron700くらい、Windows98SEぐらいまでのマシンがいいようです。

これで問題なく転送できましたよ。
#ちなみに、fdsloadr.zipの中にasmのソースが入っています。読んでみるとwaitを決めているようなので、このwaitの値を適当にいじると、早いマシンでも動作するかもしれません。いつかやってみます。


んで、こんな感じでディスクドライブを接続したまま、パラレルポートも同時接続。
最初のディスク挿入はFDSLOADERより、RAMアダプターにデータを送信します。

トンカチエディターが起動しましたよ。


ディスクを抜いてくださいと表示されるので、パラレルポートのケーブルを引っこ抜きます。
#ちなみにRAMアダプター側を引っこ抜いてもいいんでしょうが、かあちゃんに蹴られたときみたいにバグりますので、PC側を抜いてますw
#どういうわけかトンカチエディターはfdsloadrのスペースキーやEscキーが効きませんでした。他のfdsイメージは大丈夫でした。
#ディスクのイジェクトはPCのスペースキーでRAMアダプターに送信中のディスクステータスを変更してイジェクトした状態へしたり、FDSLOADERをEscキーで終了したりしてもできます。

んで、トンカチエディターで最初に試すことといったら、「トンカチマリオ」ですよw



ファミコンのセレクトで「ツカイタセツメイ ト トンカチマリオ カイゾウ」に合わせてスタートボタンで開始。

適当に説明がでるので、読んで見てください。

トンカチマリオの作成方法にしたがって、どっかで拾ってきたジャンクのディスク版「スーパーマリオ」を挿入。
#本来はコピーしたものを使ってください。内容が書き換えられますよ。


終わったら、実機をリセット。


うおおおお「トンカチマリオ」出来ました。

ということで、FDSLOADERのRAMアダプター転送と実機のディスクは共存出来るようです。
ということはですよ、こんなことが出きるんではないかと思ってやってみました。


0.RAMアダプターにパラレルでPC接続するとともに、ディスクドライブも同時接続しておく。

1.コピーツール(ディ○ク○ッカーなど)を起動する。


2.ゲームディスク挿入する表示がでたら、書き込みたいFDSイメージをFDSLOADERで転送する。

3.新しいディスクを挿入するように表示されたら、FDSLOADERを終了、パラレルのケーブルを外す。

4.実際のディスクドライブの方に書き込んでもいいディスクを挿入。

5.書き戻しが出来るw

うおっ!問題なく書き戻せます。
今までパソファミとか高くて手が出せなかったり、いろいろ必要だったりしましたし、FDSLOADERで直接書き戻すのはかなり敷居が高かったですが、これで可能です。
#ってディ○ク○ッカーなどを手に入れる方が敷居が高いか?

ちなみに、ディスクハッカーで書き戻しましたが、途中で再度ゲームディスクを挿入するように表示されたら、(4の後です。)
4.1.一旦ディスクドライブからディスクをイジェクト。

4.2.パラレルポートを再度接続。
4.3.FDSLOADERで再度、FDSイメージを送信。
3に戻る。

を繰り返すことで、問題なく書き戻せました。
また、両面のイメージなどは、FDSLOADERでsideをチェンジできますが、それではタイミングがうまく行かなかったので、fdsstudyで分割して、個別のfdsイメージにして書き込むとうまく行きます。


今回、私がやったのはディスクドライブがつなぎっぱなしでしたが、FDSlOADERでデータ転送していると、同じく信号がドライブ側にも入ってしまうのか、ディスクが入ってない状態でシーク音がしたりします。
なので、FDSLOADERで転送中は逆にディスクドライブ側の接続をはずしておいたほうがいいかもしれません。
って、ディスクベーシックと全然関係ない方向に進んでしまいました。
しかし、この書き戻しが可能であれば、わざわざトンカチエディターを実機で動作させ、面倒なプログラムの入力なく、ディスクベーシックが作成出きると思いますので、次はそれやってみます。

今回はちょっとヤバい内容かも。
では

この記事に対するトラックバック

この記事のトラックバックURL

この記事に対するコメント

秘密のコメント

ブログ管理人への秘密コメントです

  • 投稿者: -
  • 2010/09/14(火) 22:18:19
  • [編集]

この記事にコメントする

管理者にだけ表示を許可する