ディスクシステムローダー(α版未満)その3

  • 2013/01/20(日) 13:14:45

なんとかデータをdumpできる感触です。

こんな感じ。
もうちょっと煮詰めたら公開したいと思っていますが、その前に目標と簡単な仕様など。

目標は
ファミコンディスクシステムを含むクイックディスク(MZ-1500とかも)をタイムカウント方式でドライブから直接dumpする。
dumpしたデータからバイナリへ変換して、各種エミュレータなどで使用できるイメージを作成する。
dumpしたデータ、もしくは独自のイメージからディスクへ書き戻すことができる。
直接ドライブ自体をエミュレートできる(HxCみたいにRAMアダプターへ直接つなげる)
エミュレートはスタンドアロンでも動作できるようにする。

#無理難題が多いw

今のところこの環境でイケるんでは?というもの
メインのデータ処理部分はAtmega644Pもしくは1284Pを予定。5Vで20MHz動作です。
#パッケージは何でもいいですが、入出力のバスやドライブの制御にピンが多くないとだめなので。今のところAtmega164Pでも大丈夫なぐらいのコードサイズですが、将来肥大化する可能性のために。
デバッグを容易とするために、ファームウェアはブートローダーから自己書き換え可能なものとして作成して、いつでも新しい機能を追加できるようにする。
PCとのデータ転送にはFTDIのFT232Hを利用し、USB2.0で。
#一から作成するのは面倒なのでUM232Hという完成している基板でやり取りしています。秋月で売ってるやつ。
#Atmegaやディスクドライブへもバスパワーから電源を供給するようにしたのでHubとかだと問題かもです。
今後いろいろと問題が起こるようなら外部電源でセルフパワーにするつもり。
PCでの制御ソフトはwindows機32ビットのXP以降、.NET4frameworkがインストール済みのもので、VisualBasic2010で作成したソフトウェアでデータのやりとり。

で、現時点での動作は続きます。

続きを読む

ディスクシステムローダー(セーバー)の準備 その2

  • 2013/01/01(火) 13:28:06

あけましておめでとうございます。
大晦日にやっていたことをちょっと報告。

で、まずはどんな信号が出ているか調べてみました。
まず、ディスクシステムのピンアサインから。

こういう感じで見たとき、昔のバッ活で書いてあったピンアサインになります。

一応、NESDevにある、「Famicom Disk System technical reference」とあわせて対応を書くと、

1 -WriteGate
2 5V
3 -MOTOR(-ScanMedia)
4 GND
5 -WriteData
6 BatterySence
7 -WritetableMedia
8 VCC Out
9 ReadData
10 -MediaSet
11 -Ready
12 -Reset(-StopMotor)
こんな感じになります。
ただ、これでは信号が扱いにくいので、RAMアダプター側からケーブルをもらってきて、



その先のピンで調べました。
#「Famicom Disk System technical reference」に後でみたら書いてあったけど。
1ピン←         →12ピン
です。
で、そのピンでの信号を調べると、
1(brown) GND RtoD
  NC  
3(orange) -WriteData RtoD
4(yellow) ReadData DtoR
5(green) -WriteGate RtoD
6(blue) -MOTOR(-ScanMedia) RtoD
7(violet) -Reset(-StopMotor) RtoD
8(grey) -WritableMedia DtoR
9(white) -Ready DtoR
10(black) -MediaSet DtoR
11(pink) BatterySence DtoR
12(cyan) 5V RtoD
こんな感じ。RtoDとかDtoRは信号方向です。(Drive、RAMアダプターって意味)


このように強引に信号を取り出して、動作を確認してみました。

続きを読む