SCSIエミュレーションの紹介

Project M.P.SさんのArdSCSino解説 「ArdSCSino/BlueSCSIとは?」
https://projectmps.net/ardscsino_info.htm

(更に初心者の方向け?)
これはSCSIエミュレーションのArdSCSinoです。このシールドはBlueSCSIになります。ArdSCSinoは日本のX68000で誕生し海外でBlueSCSIとなり主にMac向けに成長したものです。PC98では動作する環境と動作しない環境が存在します。Project M.P.SさんからPC98に適したArdSCSino Project M.P.S版が爆誕しそうな気配なんだそうです。楽しみですね。

28

user.png えふでぃ~ time.png 2022/12/23(Fri) 13:27 No.28
Re: SCSIエミュレーション
こちらはArdSCSinoのすきま工房さんのシールドとなります。ArdSCSinoは日本のX68000から誕生した作品ですのでX68000向けです。PC98でも動作する環境と動作しない環境が存在します。ここはBlueSCSIと変わらない部分です。ArdSCSino Project M.P.S版の誕生を待っている人も多いと思います。(SCSIエミュレーションについて書いてみましたが初学者なので書いている事が間違っている部分があるかもしれません。順番が逆の方が良かったですね)

29

user_com.png えふでぃ~ time.png 2022/12/23(Fri) 13:40 No.29
Re: SCSIエミュレーションの紹介
Project M.P.SさんのArdSCSino解説
「ArdSCSinoで使えるブランクディスクイメージ詰め合わせセット」
https://projectmps.net/ardscsino_img2.htm
動作する時の画像です。このように固定ディスクの数を増やすことも可能です。

30

user_com.png えふでぃ~ time.png 2022/12/24(Sat) 14:52 No.30
Re: SCSIエミュレーションの紹介
Project M.P.SさんのArdSCSino解説「動作確認済みCバスSCSIボード」https://projectmps.net/ardscsino_cbus.htm

「PC98では動作する環境と動作しない環境が存在します」とは?

ArdSCSinoは「X68000」・BlueSCSIは「Mac」という感じですので、この状態でPC98でどうなのかという事をプチメンバー(?)は今までつぶやいていた感じになります。
ArdSCSinoカスタムファームウェアがArdSCSino Project M.P.S版「PC98」になります。動作確認済みCバスSCSIボードはProject M.P.S版での動作になります。同じSCSIボードでも私の環境では動作しないものがあるという事になります。
私もArdSCSino Project M.P.S版「PC98」の爆誕を待つ人という事になります。(とても簡単に書くとこんな感じでしょうか)
user_com.png えふでぃ~ time.png 2022/12/24(Sat) 18:54 No.31
Re: SCSIエミュレーションの紹介
私が入手したSCSIエミュレータたちの簡単なご紹介?です。(ほとんどが現在入手できないものばかりで申し訳ないですが…こんなのもあるよと言う程度でみてください。)

変換番長PRO(外付)[半導体不足で販売中止]
SCSIエミュレータの存在を初めて知ったものです。FAT32でフォーマットしたCF(SD→CF変換も可)を使用し、各種エミュレータ用のイメージを使用することが可能です。FAT32の制約から1ドライブあたり最大約4GiBと言う制約があります。また逐次CFのFATを追いかける処理のため容量の大きなドライブの後半部分の転送速度は劇的に遅くなります。SASIのエミュレータも兼ねているので小容量(40M程度)で使用するのに適しています。

RaSCSI[私が入手したシールドタイプは頒布終了]
Raspberry Piにレベルコンバータタイプのシールドを接続するタイプです。(他バリエーションは多々あります。)
Raspberry PiにOS込みのmicroSDにベタ形式のイメージファイルをHDD等として認識できます。このタイプの場合はpi OSのext4に従うので4GiBを超えるサイズのドライブも作成可能です。速度的には1MB/s程度ですがext4上のイメージの場合後半部で速度低下することはありません。
こちらもSASIのエミュレータとして使えます。(元々X68000用に作成してますので当然ですが)

SCSI2SD V6[STM32が世界的な半導体不足のため入手困難]
WindowsやLinuxのPCとUSB接続して専用のツールから、使用するSDカードの最終2セクタにID毎と全体の設定データを保存します。設定後はPCから切断しての使用です。SDカードのLBAのどこからどこまでをSCSI ID?のHDDにするとか言った設定になります。他のSCSIエミュレータと異なる点はここにありHDDイメージファイルでの扱いではないのでデータのやりとりの親和性が低いのですが、この設定した内容に応じて再度USBで接続するとUSB大容量記憶装置として認識されます。このときMBR仕様(まりも氏作のconv98atを使用すれば)であれば普通にPCから認識されます。ただしUSBとの転送速度は7MB/s程度なのでGiB単位のデータをやりとりするには不向きとなります。
SCSI2SD V6は転送速度がPCIのHAでRead時FAST SCSIのほぼ理論値である10MB/s近くの転送速度を叩き出します。

ZuluSCSI v1.1 (現在入手可)
SCSI2SDとBlueSCSIのいいとこ取りをしたような内容です。SCSIコマンドの実装部にSCSI2SDの処理をSDカードとの処理をBlueSCSIをもとにしているようです。
これもSDカードを使用しますがBlueSCSI同様exFAT対応のため4GiBを超えるHDDもベタ形式のイメージで対応しています。各種設定もiniファイルに登録するだけなので非常に楽です。ベタ形式のイメージファイルはフラグメント化していない事が条件となっており後半部でも速度低下はありません。
転送速度はPCI HAでRead時7MB/s程度。CバスSMITでは非同期転送になりますが3.5MB/s程度出ます。

ZuluSCSI RP2040 (現在入手可)
ZuluSCSI v1.1で使用していたSoCをGD32F205からRaspberry Pi FoundationのRP2040に変更したものです。発展途上のようで私が所有しているPCI HAとでは相性が悪く現状ブートデバイスとして使用できません。
CバスSCSI(SMIT同期転送)で4.4MB/s程でました。
こちらもexFAT対応なので4GiB超えるHDDも作成可能です。

SCSI2SD V6以降に挙げたSCSIエミュレータはいずれも海外から個人輸入によるもので主眼はClassicMacで使用できることが前提の様子でSCSIであるからMac以外でも使えますよと言った感じのようです。
user_com.png くりすと time.png 2022/12/27(Tue) 22:22 No.53
Re: SCSIエミュレーションの紹介
ここでははじめましてになります。一度別の場所で大々的に宣伝すると宣言しましたので恥ずかしながら自前のものを紹介します。
AT互換機自体を外付けHDDにしてしまおう、というやり方です。
ソース全公開、ハードは事実上オープン規格のAT互換機、
ただし使用にはAdaptecのPCIなSCSIカードが必要です。

https://drive.google.com/file/d/1qjldfPrWH7iSkGKZ1NkicfYqTOj3jSQW/view?usp=share_link

メリットはwindows2000で32GBの壁を越えられること、1Gバグを持っている多くのSCSI-BIOSで8Gまででは計算間違えをさせないこと
速度がultraの20MB/sではまだまだ余裕がありPCIの限界くらいまでならなんとかなりそう。
でしょうか。デメリットは物がでかい。場所を取る。です。
user_com.png リウ time.png 2022/12/28(Wed) 01:49 Home No.54
Re: SCSIエミュレーションの紹介
くりすとさん&リウさん ありがとうございます。

私は本体の修理をしていた時期にPC98のフォロワーさんがRaSCSIやArdSCSinoとつぶやいていたのですが「それは何ですか?」みたいな状況でした。やっと少しずつ理解できるようになってきた状況ですので掲示板に書いていただけると現在わからない方も「なるほど!」とういような感じになると思います。
user_com.png えふでぃ~ time.png 2022/12/28(Wed) 09:06 No.55
Re: SCSIエミュレーションの紹介
SCSIエミュレータで使用するHDDイメージについて

以下は私の個人的な見解ですが、意外と便利と思っていますので書いてみます。

先日色々なSCSIエミュレータについて述べました。SCSI2SD V6を除いて基本的にはなにがしかのHDDイメージファイルをHDDと見立てています。
変換番長PROではベタ形式に加えてHDI形式やNHD形式もサポートしています。個人的にどちらもお勧めできませんがそれらにしか対応していないエミュレータとのやり取り前提であれば特に問題は無いと思います。
ベタ形式ですが基本的にはLBA 0から最終までを連続して一つのファイルとしたものです。ベタ形式はそのHDDに関する情報が一切無いので扱いが非常に不便です。特に98の場合はC(シリンダ数)H(ヘッダ数)S(セクタ数)[詳しくはwebで検索して調べてください。詳しい説明がたくさんあります。]がつきまといますのでどうしてもその情報が必要となります。ただ98関連でSCSIであれば55互換と92互換という言葉を耳にするかと思いますが、概ね92互換である8GiB以内のHDDの場合はH=8,S=32、8GiB超~32GiBの場合はH=8,S=128を覚えておけば十分です。Cは全HDD容量からH×Sの割り算で導き出されるため特に意識の必要はありません。(55互換でもHDD側から…つまるところSCSIエミュレータ側からその情報を返せば、その通りの挙動をします。SCSIエミュレータはベンダーIDも自在に設定できるのでNECとか言った設定も可能です。)

と前置きが長くなりましたが私のお勧めのHDDイメージ形式は固定容量のvhd形式です。その理由としては(あくまでwindows視点でですが)
(1)ベタ形式のイメージの最終512バイトにそのvhd形式の情報が登録されている
(2)98エミュレータのnp21/wではvhd形式のファイル作成とマウントができる
(3)vhd形式はWindows7以降では直接マウントできるためconv98atを適用しているとUSBメモリのように直接やり取りが可能になる
と言ったところです。

(1)は何が便利かというとvhd形式のファイル拡張子をhds等に変更してSCSIエミュレータで使用すると92互換のSCSI HAであればそのまま認識します。55互換の場合は明示的にHSを指定できるSCSIエミュレータで1GiB以内であればOKです。ZuluSCSIに至っては頭文字がHDであれば拡張子を変える必要すらありません。私はHDDの最終LBAに余計なことをするようなソフトは知りませんのでこの使い方で問題は無いと思っています。イメージファイルの先頭にHDDイメージの情報があるタイプのものはこの方法には適していません。

(2)np21/wでは(SCSIではない)固定ディスクとしてvhd形式を扱うことができます。このvhdのHSをいわゆる92互換にして作成すればnp21/wではそのまま認識します。ただし固定ディスクのためシリンダ数がSCSI経由より1多く表示されます(というよりSCSIの場合-1されていると言うべきですが)。なので目一杯領域を確保すると怪しい動きをする可能性があるのでその点だけ注意が必要です。
np21/wである程度の準備ができるのであれば、実機で作業する手間も省けると思います。
ちなみにvhd作成時LBA 0には98用HDDの識別子であるIPL1が書き込まれた状態となっています。

(3)は言わずもがなですがHDDイメージファイルの中身をUSBメモリ感覚で使用できます。難点があるとすればマウントすると問答無用にSystemVolumeInformationという隠しフォルダを作ってロングファイル名のファイルを作るのでそれでは困るという方にはお勧めできません。
そのような場合はeuee氏作のNDを使用してファイルのやり取りをすることをお勧めします。vhd形式の98フォーマットを素直に認識してくれます。
vhd形式はEDITDISKでは意外と面倒で辛いです。

おまけ SCSI2SDでvhdファイルを使う方法
色んなイメージファイルをとっかえひっかえする方法には適していませんが、私は次のようにしています。
SDXCカードを標準的なSDフォーマット(exFAT)する
このSDカードにvhdファイルを普通にコピーする
コピーしたvhdファイルがSDカードの(LBAで)どこからどこまで登録しているかを調べる。私はHxDというバイナリエディタでSDカードのドライブを物理ドライブの直接アクセスで検索しました。開始LBAさえ分かれば容量分だけ連続しているはずなので計算して割り出します。その結果をSCSI2SDのツールで開始と終了LBAとして設定する。これでSDカードをSCSI2SDから取り出してSDカードリーダに接続するとvhdファイルとして使用できSCSI2SDに接続すると設定したSCSI機器として機能すると言った使用が可能になります。
user_com.png くりすと time.png 2022/12/28(Wed) 22:42 No.58
Re: SCSIエミュレーションの紹介
くりすとさん。ありがとうございます。

PC-98オンボードIDEのCompact Flashの時に出てきた「CFリセット」にCHSという方式とLBAという方式があります。というのをまりも氏の記事を読んだ時のC(シリンダ数)H(ヘッダ数)S(セクタ数)ですね。
55互換と92互換という言葉は、Project M.P.SさんのArdSCSino解説「ArdSCSinoで使えるブランクディスクイメージ詰め合わせセット」PC-9801-55用ディスクイメージ&PC-9801-92用ディスクイメージの部分ですね。
ここをもう少し理解できるように調べて読んでみます。考えてみますと自分がArdSCSinoをはじめたのは、PC98のストレージに関するつぶやきを見た事が始まりだったことを思い出しました。
X68000メインの方にArdSCSinoのPC98対応のBINファイルを送っていただいて動作させるだけなら何とか出来るようになった状態です。
user_com.png えふでぃ~ time.png 2022/12/29(Thu) 17:55 No.59
処理 記事No 暗証キー

- JoyfulNote -