ArdSCSino のCD-DA(音楽CD)、CUE/CCD/CDMファイル対応

 CD-DAは音楽CDなどの音声データ記録方式のことで、今回、ArdSCSinoで音楽CDなどのイメージファイルから音声(音楽)を再生できるようにしました。
※今までのArdSCSinoでもISO形式などCDイメージは扱えます。

 CD-DAの音声データは ゲームなどのCD-ROMでも使われています。
レトロPCでは 世界初CD-ROM標準搭載パソコン FM TOWNSの多くのソフトで使われるほか、PC-98でもCD-ROMで発売されたソフトの一部(ポリスノーツ等)で使われています。

また、合わせてCD-DA対応に必要なCDイメージの CUEファイル、CCD(CloneCD)ファイル、CDM(CD Manipulator)ファイルに対応しました。

X68 ゆみみえっくす        https://x.com/tomo_retro/status/1782042087955050702
FM TOWNS アフターバーナー    https://x.com/tomo_retro/status/1784535737565909203
PC-98 WinodwsのCDプレーヤー   https://x.com/tomo_retro/status/1791433842433438046
PC-98 PC-FXGA on WIndows    https://x.com/tomo_retro/status/1794347347922894973

1.CDイメージの指定方法
※CDドライブは1ドライブのみ設定可能です。
例:
 
cd1
CD60_CDIMAGE.CUE    または、CD60_CDIMAGE.CCD、CD60_CDIMAGE.CDM
CD60_CDIMAGE.IMG    または、CD60_CDIMAGE.BIN、CD60_CDIMAGE.ISO

・先頭 “CD”は固定
・次の数字は SCSI IDLUN ID を指定。SCSI ID は 0~6、LUN ID は 0を指定します。
その後は任意で文字を付けられます。※ファイル名は 拡張子を含め最大64文字
・CUE/CCD/CDMファイルがある場合はIMG/BINファイルと同名(拡張子除く)にしてください。CUEファイル内のファイル名は使用していません。
・対応しているイメージの拡張子  : IMG、BIN、ISO
・対応しているトラック情報ファイル: CUE、CCD、CDM
※単一トラックイメージの場合は CUE/CCD/CDMは無くても大丈夫です。

2.CDイメージの置き場所
※基板裏面のハードディスクイメージ等を入れるスロットを SD1、表面のスロットを SD2 とします。
SD2第1パーティションを SD2-1第2パーティションを SD2-2 とします。
SD1または SD2にイメージを入れることが可能ですが、少し設定方法が異なります。
(1)CDイメージをSD1に入れる場合
 SD1cd1
 手順1のファイル名で SD1にイメージファイルを入れます

(2)CDイメージをSD2-2に入れる場合
 SD1cd2 SD2-2cd1
(1)SD2用のSDカードにパーティションを2つ作る
 Windowsであれば”ディスクの管理”等で作成します。
 第1パーティションを疑似MOメディア用として2GB以内で作成、FAT形式でフォーマット
 ※容量によっては上手く認識しないかもしれません。980MB1980MBでテストしてます。
 第2パーティションには残りの容量を割り当てFAT32 または exFAT(推奨)でフォーマット
 ※カードによっては上手く認識しないかもしれません。他のカードで試してみて下さい。
 ※Windowsでのパーティション作成については「ArdSCSino Plus」も参照
(2)手順1のファイル名で SD2第2パーティション(SD2-2)にイメージファイルを入れます
(3)SD2にイメージファイルがあることを設定する0バイトファイルをSD1に入れます
 ファイル名は以下のように設定します。
 CD60_IN.TXT
 ・先頭の”CD”およびSCSI IDイメージファイルと同じにします。
 ・”_IN”は起動時からCDイメージが認識された状態になります。
 ・”_OUT”にするとSD2にカードがが入っていても、OSにはCDが未挿入状態と認識されます。ツール等でCDドライブに対してイジェクトを行うとCDが認識される状態になります。
 ※OS、ツールによってはイジェクト処理の違いから上手く動作しない場合があります。

※SD2-2にイメージを入れる方法では SD2のカードがホットスワップ(動作中の抜き差し)可能なので PC起動中にCDイメージの入れ替えが可能です。

3.対応しているCDイメージ
音楽CD
CD PLUS(CD EXTRA)
PC向けCD-ROMゲーム等

※正常動作しないCD/CD-ROMイメージがあるとは思います。
※CD/CD-ROMのイメージは CloneCD、CD Manipulator でイメージ化したもので動作確認していますが、取り込み設定によっては正常動作しないかもしれません。また、他のツール等で作成したイメージファイルでは正常動作しないかもしれません。
※マルチセッションは2セッション(CD PLUS)のみ対応です。

4.CD-DA(音声データ)再生の機種別情報
※ドライバによっては正常に動作しないかもしれません。まずは実ドライブで正常に動作する環境であることが前提となります。
(1)X68の場合
 (1)CD-DA対応ドライバ
 ・キャッシュ内蔵CD-ROMドライバ     Vector
 ・計測技研 CDDEV.SYS
 (2)CD-DA再生
 ・ゆみみ☆えっくす            Vector
 ・CDC(CDプレイヤー)           TNB製作所

(2)PC98の場合
 PC98はドライバ等多種多様で何が正解か判りませんが、基本は各ボード用のASPIマネージャとCDドライブのドライバの組み合わせが良さそうです。
 Windowsでは SCSIボードが正常に使用できていれば標準のCDプレイヤーで再生できると思います。
ドライバは フリーソフトやボード付属ソフトにドライバがあれば使用できるものもあります
※第三研究所さんサイトのSCSIボードのページにドライバへのリンクもあります。
第三研究所              http://www.amy.hi-ho.ne.jp/nakajima-jr/
(”企画課” –> ”第4回 PC-98 Cバス SCSIボードの活用” –> ”参考資料 PC-9800シリーズ対応 SCSI I/Fボード一覧”)

 検索ページ
 ・I・O DATA          https://www.iodata.jp/lib/
 ・BUFFLAO          https://www.buffalo.jp/download/software/
 ・Logitec           https://www.logitec.co.jp/down/down.html

 (1)ASPIマネージャ
 ・SC-UPCIシリーズ           I・O DATA
 ・IFC-DP                BUFFALO
 ・Logitec                https://logitec.co.jp/down/soft/if.html
 ・HENRRY               Vector
 (2)CDドライブのドライバ
 ASPIマネージャ要
 ・SC-UPCIシリーズ(UPCICD.SYS)     I・O DATA
 ・IFC-SCD2(SCASPICD.SYS)        BUFFALO
 ・LHA-521シリーズ(MIRA_CD.SYS)    Logitec
 ASPIマネージャ不要
 ・NECCDA.SYS/NECCDB.SYS (*1)     NEC MS-DOS等に付属
 ・CD-SD STD (*2)            Vector
 (*1)AがSCSI1、BがSCSI2用のドライバで 使えるのはNEC純正ボードでのみと思われます。
 ・PC98周辺機器情報局 98Station    https://navitoku.jp/archive/98station/
  (”Main” –> ”PC98の小技・裏技集” –> ”NEC純正CD-ROMドライブ用デバイスドライバの対応”)
 (*2)CD-SD STDは自分でソースファイルからビルドする必要があります。こちらの方のブログでのビルド方法が判りやすいかと思います。
 ・半透明狐人間のブログ          https://blog.tlfoxhuman.net/
 (”有用な投稿” –> “PC-9801で、NEC製以外のSCSI CD-ROMドライブを使用する”)
 (3)MS-DOS用拡張プログラム
 ・MSCDEX.EXE              NEC MS-DOS6.2等に付属
 ・MACCD.EXE              Vector

※動作確認等 UME-3(X(旧twitter))さんに ご協力いただきました。

(3)FM TOWNSの場合
 (1)CD-DA対応ドライバ
 ・YSSCSICD.SYS            ysflight.com
 (”FM TOWNSの内蔵CD-ROMの代わりにSCSI CDドライブを使うドライバ YSSCSICD.SYS, SYSDRV.EXE”)(GitHub
 ・CD-SD STD              Vector
 ※CD-SD STDは自分でソースファイルからビルドする必要があります。山川機長さんのサイトでソースの修正とビルド方法が解説されてます。なお、ビルドについてはPC98用の方法を解説されてるブログの方法でも可能です。
 ・ysflight.com             http://ysflight.in.coocan.jp/
 (”CDドライブが死んだFM-TOWNS用にSCSI CD-ROMドライバCDSD.SYSをビルド”)
 ・半透明狐人間のブログ          https://blog.tlfoxhuman.net/
 (”有用な投稿” –> “PC-9801で、NEC製以外のSCSI CD-ROMドライブを使用する”)
 (2)CD-ROMソフトをSCSI接続CD-ROMドライブから起動する方法
 FM TOWNSでは こちらが本命でしょうか。
 山川機長さんの実機救済用ブートローダーとCDROMイメージを組み合わせます。
 ・ysflight.com 「FM TOWNS実機救済用ブートローダープロジェクト
  HDIMAGE.BIN            GitHub
 ※一部動作しない、パッチが必要なソフトがあるようです。

※起動時にCDが入っているとフリーズする場合は 起動後に入れるか ”_OUT” 指定をお試しください。

5.音楽CD
 通常、音楽CDをIMG/BINファイルでイメージ化する(している)人はいないと思いますので、音楽CDについては ディスク単一イメージの WAVE+CUEファイルに対応しました。それでも、使う人がいるか判りませんが(笑)
 CUE + WAVEファイルは Exact Audio Copy でリッピングしたもので動作確認しています。
 ・[アクション] ->[CDイメージをコピーしCUEシートを作成] ->[無圧縮]

それ以外のツール等で作成した CUE  + WAVEファイルでは正常動作しないかもしれません。
指定方法は、CDイメージと同様です。
例:
CD60_MUSIC.CUE
CD60_MUSIC.WAV
※音楽CD PLUSのデータ部も含める場合は CCD/CDM +IMG/ BINファイルのみ対応です。

6.CDドライブのベンダー名等設定
 CDドライブのベンダー名等は、optcd-config.txt で任意に変更可能です。必要な場合はSD1に入れてくください。
例:
 optcd
1行目:ベンダ名を設定。半角8文字。不足分はスペースで埋める
2行目:プロダクト名。半角16文字。不足分はスペースで埋める
3行目:バージョン。半角4文字。不足分はスペースで埋める
サンプルファイル       optcd-config.txt

7.複数イメージの設定
 CDドライブの使用は1ドライブのみですが、CDイメージを複数入れておいてイメージを切り替えて使用することが可能です
 (1)CDイメージの指定方法
 例
  CD60_CDIMAGE.CUE
  CD60_CDIMAGE.IMG
  CD61_CDIMAGE.CCD
  CD61_CDIMAGE.IMG
  CD62_CDIMAGE.CUE
  CD62_CDIMAGE.IMG

 ファイル名の SCSI IDに続く LUN IDを変えます
 ・LUN IDは 0 から連番
 ・LUN IDは 9 まで使用可能
 SD2-2にイメージを入れる場合は、イメージが1つの場合と同様にSD1にLUN IDを0とした0バイトのテキストファイル(例:CD60_IN.txt)を入れます
 (2)イメージ切り替え方法
 OSのツール等でCDドライブに対してイジェクトを行うと、未挿入状態 –> 次のイメージ –> 未挿入状態 ・・・ と変わります。最後のイメージまで行くと最初に戻ります。
 ※OS、ツールによってはイジェクト処理の違いから上手く動作しない場合があります。

  SD2-2にイメージを入れている場合は SD2のカードを入れなおすと最初のイメージに戻ります。

8.余談
 昨年のArdSCSino改良で CDDA対応も少し始めていたのですが、なかなか難しく、X68では ゆみみみっくすを動かすことぐらいしか用途が思いつかないしで、完成までのモチベーションが上がらず未対応のままでした(^^;

 山川機長さんのFM TOWNSの救済ブートローダーのことは以前から知ってはいたのですが、所有機ではCD-ROMも正常動作することもあり、それほど気に留めてなかったのですが、今年になってSCSI CDドライブからソフトの起動ができると言うことは・・・と、何かの拍子に気付いた!?

 FM TOWNSのCD-ROMソフトは多くがCDDA音源を使っているのでCDDA対応が必須!と言うことで対応への意欲があがり完成させました(笑)
ysflight.com        http://ysflight.in.coocan.jp/
 (“FM TOWNS実機救済ブートローダー” –> “SCSI HDDブートローダー”)

 PC98での動作確認ではWindowsも動いていたので Windows対応なども行うことになり・・・PC98対応が一番大変でした。。

<ArdSCSino関連>
SCSI / SASI エミュレータ の ArdSCSino を導入
X68000 / X68030 で ArdSCSino を使う
PC-9801 / 9821 で ArdSCSino を使う
ArdSCSino-stm32 を改良してみた※ハードディスクイメージのNHD、HDI形式対応
ArdSCSino Plus※疑似MOメディア専用SDスロットの追加



CDDA、CUE/CCD対応で特に参考にさせてもらいました。
Common Source Code Project       
FM TOWNS / Marty エミュレータ 「津軽」 
コンピュータ講座 応用編「第10回 データを光で記録する」        
etc.


コメント