ArdSCSino-stm32 を改良してみた (その3)
「ArdSCSino-stm32 を改良してみた (その2)」
を更に改良
<関連>
「SCSI / SASI エミュレータ の ArdSCSino を導入」
「X68000 / X68030 で ArdSCSino を使う」
「PC-9801 / 9821 で ArdSCSino を使う」
主な改良点とメリット
MOドライブ専用モードを追加
・ArdSCSinoの電源投入時に SDカードが入っていない場合、MOドライブ専用として機能します。MOドライブ専用なので パソコン使用中にカードの出し入れ(ホットスワップ)が可能です。ただし、ホットスワップ対応のArdSCSinoが必要です。
・MO相当なので MOドライブが使える機種(ドライバ利用等)であれば利用でき、Windows機と通常のSDカードによるファイル交換が可能です。
MO専用モードの 想定する環境は 内蔵HDDを使っていて 外部とのやり取り用に MOドライブとして使う と言う感じでしょうか。
ホットスワップについて
電源が入っている状態で カードを挿入した場合、BluePillの電力が一時的に低下してフリーズやリセットする可能性があるようです。
こちらのサイトの情報を主に参考にさせてもらいました。
・えるむ by ChaN http://elm-chan.org/index_j.html
(秘蔵のテクニカルノート –> デバイス関連”MMCの使い方” –> “5. 端子処理と端子処理と活線挿抜”)
ホットスワップ未対応の ArdSCSinoの対応(改造)
簡単な方法としては 積層セラミックコンデンサを カードスロット付近の電源(3.3V)とグラウンド(GND)間に付けます。自分で試したところ、10uF~程度のコンデンサを付ければ大丈夫な感じでした。フリーズ等した場合は 電源を入れ直す必要があります。
※コンデンサは容量がなるべく大きい方が良いかもしれませんが 大きすぎると通常モードでカードが認識されなくなるかもしれません。
※SDカードによっても状況は異なるようです。
こんな感じで カードスロットに近い方の3.3V-GNDに 1個付けるのが楽かも。
使用方法
1.microSDカードをFATとしてフォーマットします。容量は最大2GBです。それ以上の容量のmicroSDカードを使う場合は、第1パーティションを2GB以内で作成します。
※容量によっては上手く認識しないかもしれません。980MB、1980MBでテストしてます。
※第2パーティションを作成し 通常のHDDイメージを入れておいて、SDカードの入った状態でArdSCSinoの電源を入れれば 通常モードで使用できます。詳細は「ArdSCSino-stm32 を改良してみた (その2)」を参照。
2.SDカード未挿入で ArdSCSinoの電源を入れます。
※通常モードと MOドライブ専用モードは、ArdSCSinoの電源投入時のカードの挿入状況で切り替わりますので、パソコンのリセットでは切り替わりません。
SCSI IDは “5”固定です。
その他、使い方は「ArdSCSino-stm32 を改良してみた (その2)」の”4.パソコン起動後について”を参照願います。※PC98のMOの”取出し命令~”の操作は不要です。
改良版ファームウェアについて
・ArdSCSino-stm32(2022/9/10版)を改良したものです。
ArdSCSino-stm32 https://github.com/ztto/ArdSCSino-stm32
・バグ等 問題が発生する可能性があります。使用は自己責任にてお願いします。
・ファームウェア(firmware.bin)のみ
ArdSCSino-stm32-master mod v3.7 bin.zip
・ファイル一式
ArdSCSino-stm32-master mod v3.7.zip
※BOOTH頒布版はブートローダが書き込まれていますので USB接続でのファームウェアの更新が可能です。正しい手順で更新すれば難しい作業ではないと思いますが、失敗等の責任は負いかねますので自己責任にてお願います。
「ArdSCSino-stm32 のファームウェア更新方法(USB接続)」
改良前(2022/9/10版)のファームウェアに戻したい場合は 以下のファイルの”STM32F1-USB”フォルダ内のファームウェア(firmware.bin)を使用してください。
・ArdSCSino-stm32_fix.zip
コメント
コメントを投稿