スポンサーサイト

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

FreeDOS(98)に外部ストレージを認識させる その1

FreeDOS(98)をPC-98実機にインストールしましたが、実際に運用するためにはアプリケーション等を追加する必要があります。
この作業はWindows PC上で行った方が楽なのですが、データサイズがかなり大きくなるため、実機への転送手段が必要となります。

内容自体はMS-DOSにも使える内容となりますが、FreeDOS(98)向けなので、無償のソフトウェアだけで実現することを条件とします。

転送手段としては以下が考えられます。

[1] 光ディスク経由で転送

→ FreeDOS(98)で使えるような光ディスク書き込み用のアプリは無いと思われますので(※1)、実機からの書き出しはできず、Windows PC -> 実機のみとなりますが、標準でCDドライブが乗っている機体であれば、CD-Rで転送するのは追加コストがメディア台のみとなります。
CD-RW、DVD-RWが認識できるドライブに換装されているのであれば、メディアも使い回せてなおよいです。

注意点としては以下となります。

・ISO 9660のディスクアットワンスのディスクとして作成する(マルチセッションは認識できない可能性があります)

・DVDを使う場合は、2GB未満とする

(※1) PC/AT互換機のDOS向けにはいくつかあるようですが、未確認です。

[2] SCSI接続のMOドライブで転送
→ MOであればディスクコピーで転送できるので実機とWindows PCの間でファイルをお互いにやりとりできます。
PC-98のデータの受け渡し方法としては現役時代から主流の方法で、利便性は高いです。

注意点としては以下となります。

・Windows10で現実的に扱うことを考えると、PC-98側にSCSI接続のMOドライブが、Windows側にUSB接続のMOドライブが必要

・すでに新品ドライブが無く、中古入手になるが、故障品に気をつける必要がある

・USB MOは世代的にUSBフルスピード接続のものがあるが、遅いのでUSB2.0 High Speed対応のものを推奨。また、メディアの特性上書き込みが遅い。

640MB以上のメディアはセクターサイズが2048バイトになって、MS-DOSだとOSが認識できずにドライバが必要となりますが、FreeDOS(98)ではセクターサイズ512バイトのメディアでもドライバが必要なので気にする必要は無いかと思います。
→ と思いましたが、DOS向けのソフトウェアでセクターサイズ512バイト以外の媒体をFDISK形式で使うと互換性問題が出そうな気がしますので128MB/230MB/540MBのメディアを推奨します。

[3] SCSI接続のPCカードリーダーで転送

→ これはSCSIのリムーバブルメディアとして認識されるのでMOと同様にディスクコピーで転送できるようになり、Windows PCと実機の間でファイルをお互いにやりとりできるようになります。
PCカードアダプタを使えばCFやSDカードが使えますので、メディアの入手性とWindows側のカードリーダーの入手性は非常によいです。
注意点としては以下となります。

・DOS時代のドライバやアプリはFAT32に対応していないものがほとんどなので、FAT16でフォーマットする
(FreeDOS(98)自体がFAT32を扱えるかは未確認)

・SCSI接続のPCカードリーダーは中古品の入手となるが、価格が高くなりがち
(IOデータ製のCARDDOCK-EX/SC、メルコ(現Buffalo)製のMCR-S、MCR-S2等)

・新品で購入可能なものもあるが、基本内蔵向けとなるため、外付けで使うにはMOのケース等を流用する必要がある
(Stratos Technology社製のものが該当しますが、ここで対象としているのはリムーバブルメディアとして認識されるデバイスとなります。HDDとして認識されるデバイスは対象外です)

・PCカードアダプタはCF用の方がSDカード用よりも安い(構造上当然ではありますが)

[4] LAN経由でFTPで転送する

DOSのパケットドライバが提供されているLANカードがあるのであれば、TEENを組み込むことでFTPが使えるようになります。
便利ですが、CPUの遅い機種ですと速度がでません。

[5] RS-232Cでシリアル転送する

Windows PC側にUSBシリアル変換ケーブルをつなげば、RS-232C同士を接続してファイルの転送ができますが、転送が遅く時間がかかります。

[1][2][3]の方法に対応してみることにします。

その2に続きます。

FreeDOS(98)を実機で動かしてみる その2

以前(2014年7月)のエントリでFreeDOS(98)を実機で動かす実験をしていましたが、その後開発が進んでいることに全く気がついておりませんでした。

SAVA様が開発されているものが下記のURLで公開されておりますが、非常にありがたいことに、フロッピーディスクやSCSIハードディスクがサポートされているうえ、MS-DOSとの互換性もかなり向上していて動作するアプリケーションもかなり増えているようです。

http://bauxite.sakura.ne.jp/software/dos/freedos.htm

実機での動作も期待できるので、早速試してみます。

フロッピーディスクイメージが公開されていて、フロッピーディスクとハードディスクのフォーマットツールとSYSコマンドが格納されておりますので、まずはフロッピーディスクイメージを実フロッピーディスクに書き戻すところから始めます。
方法はほかにもあるかとは思いますが、以下の環境で実施しました。

作業PCのOS : Windows 10 Pro 64bit
フロッピーディスクドライブ : TEAC FD-05PUW (3モード対応のUSB FDD)

使用したアプリケーションは以下となります。

・format2hd (上記FreeDOS(98)の配布ページから入手)
・DD for Windows (http://www.chrysocome.net/dd)

コマンドラインから以下を実行することでディスクイメージを実フロッピーディスクに書き戻せました。(FDDがAドライブの場合)

format2hd a: /F:1.23 /VERIFY
dd if=fd98_2hd.img of=\\.\a: bs=1232k

FreeDOS98_FDWrite.png

このフロッピーディスクを使用して実機のHDDをフォーマットすることになりますが、この作業は実機でもエミュレータでも同じなのでエミュレータで説明します。(手抜きですみません)
インストールする実機としてPC-9801BXを対象としますが、実機に合わせてIDE HDDが1台搭載されている環境としています。

フロッピーからブートすると以下の画面となりますが、この時点ではHDDは認識されていません。

FreeDOS98_FD_Boot.png

以下のコマンドを実行してHDDのフォーマットを開始します。
BTNPART.EXE

FreeDOS98_HDD_Format_01.png

80と入力してデバイスを選択し、領域の消去に同意し、領域名を入力(省略可)するとパーティションの作成とフォーマットが実行されます。

FreeDOS98_HDD_Format_02.png

リセットボタンを押して再起動し、以下のコマンドを実行します。
(FDDが2台でFDDからブートしているので、HDDはCドライブとなります)

SYS C:

実行結果は以下となります。

FreeDOS98_SYSCMD.png

フロッピーディスクを抜いてリセットボタンを押すとHDDから起動します。

FreeDOS98_HDD_Boot.png

以上でHDDからブートするようになりました。

以降はアプリケーションを追加しますが、作業PCからデータを転送するのにフロッピーディスク経由というわけにもいかないので、大容量ストレージを実機に認識させることとします。

PC-9821As3のIDEで認識できるスリムドライブ

ファイルベイ仕様のPC-9821As3にHxC Floppy Emulatorを搭載するために5インチベイにスリムドライブと3.5インチドライブを搭載するマウンタを購入しましたが、PC-98のIDEではドライブによっては認識できなかったり起動中にハングアップしたりするので、いくつかドライブを購入して試してみました。

結果としては以下のドライブは認識して、ディスクの読み込みも可能でした。

・NEC ND-6500A
・Sony Optiarc AD-7590A


以下のドライブはNGでした。

・Panasonic UJ-850


試してみたドライブ以外の動作は不明ですが、結果から考えるとNEC、Sony NEC Optiarc、Sony OptiarcのNEC製チップセットを搭載したスリムドライブであれば使用可能と考えてよさそうです。
Optiarc製でもMediatek製チップセットのドライブがどうなるかはわかりません。

ファイルベイに搭載した画像は以下となります。

PC-98_SlimDrive_01.jpg

注意点として、IDEのコネクタ変換にAINEX社のWA-010MSを使用したのですが、ハーフハイトドライブとは40ピンコネクタの上下が逆となっているためにケーブルをひねって接続する必要があるのですが、元からついている短いケーブルでは長さがぎりぎりになります。
コネクタが逆なのはほかの変換基板でも同じようなものが多いようなので、IDEケーブルも別途用意したほうがよかったかもしれません。

EDWARD98.SYSとCD-SD StandardでMS-DOSに認識させた結果が以下の画像となります。

PC-98_SlimDrive_02.jpg

NECDCDC.SYS、NECCDM.SYSでも認識することを確認しているので問題なく使えそうです。

欠点としては、高速なドライブであるため回転音がかなりうるさいことがあります。
本体側にそこまで高速に読み込む能力がないので、回転速度を抑えられるとよさそうです。



PC-9821Ap3サウンドサブ基板のコンデンサ交換

久方ぶりにPC-9821Ap3の電源を入れてみたところ、内蔵音源の音量が非常に小さくなっており、ほとんど聞き取れない状態となっておりました。
第三研究所様のPC-9821Ap3の記事によれば、サウンドサブ基板のコンデンサが液漏れするとのことでしたので確認してみたところ、確かに220uFのコンデンサから液漏れしておりました。
交換すれば治る可能性があるということですので、交換してみることにしました。
表面実装コンデンサの交換は初体験です。

以下がサウンドサブ基板の画像です。
上面にスペックが記載されていない大きいコンデンサは220uF 16Vとなります。

Ap3AudioBoard_01.jpg

使用されているコンデンサのリストは以下となります。

220uF 16V × 4
47uF 16V × 8
33uF 25V × 3
4.7uF 25V × 4
10uF 16V × 1

コンデンサを取り外した後の基板の写真は以下になります。

Ap3AudioBoard_02.jpg

失敗したくなかったので、高価ではありますが、サンハヤトの表面実装部品取外しキット SMD-21を使用しました。
簡単に取り外せるものだろうと思っていたのですが、低融点はんだが周囲に飛び散りやすく、余計なところに付着する危険があるので、チップ部品が多数実装されているこの基板で使うのはよくなかったかもしれません。
基板に細かいはんだが残ってしまい、その除去が手間でした。

また、低融点はんだと通常のはんだが混ざるのはよくないそうなので、コンデンサ除去後のランドに残った低融点はんだは吸い取り線できれいに取り除く必要があります。

余談として、けち臭い話ですが、コンデンサの除去に使ったはんだはうまくランドから回収できれば別のコンデンサの取り外しに流用できます。
普通に使っていると低融点はんだの減りが案外早いので可能な限り再利用しました。

交換用のコンデンサですが、無駄に長寿命品のNichicon UCBを使いました。
105°C 7000時間というスペックですが、マザーボードに乗っているアルミ電解コンデンサの寿命がそこまでないのでオーバースペックで無駄です。単に使ってみたかっただけなのです。

以下がコンデンサ取り付け後の写真になります。
220uFの極性をしっかり確認するのを忘れてしまったので写真で向きを確認しました。ちょっと怪しいかもしれません。
実装は上から見るとそれほどひどくないように見えますが、実際は若干斜めについています。
表面実装コンデンサのはんだ付けって難しいですね。X68030の修理をする人はすごいです。

Ap3AudioBoard_03.jpg


動作確認してみたところ、無事正常な音量で内臓音源が出力されるようになりました。
よかったです。



GPPC-Nのボリューム調整

PC-9821As3のライン入力にローランド社製のCバス内蔵MIDI音源 GPPC-Nの出力を接続しているのですが、以下の問題があります。

・PC-9821As3にはライン入力の音量をハードウェア的に調整する機能が無い
・GPPC-Nには出力音量をハードウェア的に調整する機能が無い

結果、そのままつなぐと内蔵音源に比べてMIDIの音がかなり大きくなってしまう問題があります。

ソフトウェア的にはVectorで入手できる86VOLなどのソフトウェアで対応可能ですが、ゲームの場合、MS-DOSが常に使えるわけではないのでハードウェアで対策することにします。

要件としては、

・内蔵音源とのバランスを取れればよいので、無音から最大音量まで調整できる必要は無い
・信号ラインのインピーダンスはなるべく低くする
・ただし、GPPC-Nの出力に負荷がかかりすぎないようにするため、全体のインピーダンスが低くなりすぎないようにする(10kΩ以上)
・簡易的に対応するので、信号ラインへの直列抵抗か、L型アッテネータとする。インピーダンス整合が取れないのはあきらめる

市販品に条件に合うものがあるのかが分からなかったので、自作することにしました。
調べてみたところ、PC-9821As3のライン入力の入力インピーダンスは50kΩ程度(47k~51kぐらいと思われる)でした。
信号ラインへの直列抵抗だとインピーダンスが高くなりすぎるので、L型アッテネータとします。
等価回路は以下のようになります。

GPPC_N_Volume_EquivalentCircuit.png

この回路でまずはVR=5k、R=8.2kで試してみましたが、まだ音量が大きかったので、VR=10k、R=3kとした回路で作成しました。回路図は以下になります。

GPPC_N_Volume.png

完成後の写真です。部品点数の少ない簡素な回路ですので単純な中身になります。

GPPC_N_Volume1.jpg

GPPC_N_Volume2.jpg

これでバランス調整ができるようになりました。
ノイズが乗ることが心配されましたが、気にするほど変化はなかったので問題なしです。

ちなみに市販品で同等のものが本当にないのか探してみたところ、fostexのPC-1eは単純な10kΩのボリュームを内蔵しているだけらしいので、要件で妥協すれば代用できそうです。

http://www.fostex.jp/products/pc-1e/
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。