--------------------------------------------------------------------------
  PlayStation movie converter & viewer  ver 0.93
                                                    by shima
--------------------------------------------------------------------------



このプログラムは
PlayStationのムービーやXAオーディオファイルの変換ツールです。



・対応OS
    Windows95/98 DOS窓用
      WNASPI32.DLLが必要です。
      ASPIで認識するATAPIのCDドライブが必要です(SCSIは非対応)。
      CDドライブは東芝,MITSUMIかTEAC製推奨。
      リアルタイム再生時はDirectDraw,DirectSoundを使用します。



・起動方法
    psmconv   [オプション]   CD上のファイル名   出力ファイル名
    オプションの説明
      -file:番号        ファイル番号を指定します
                          インターリーブされてる場合のファイル番号
                          普通は1,たまに0からの時がある。
                          -viewer指定時は無効です。
      -channel:番号     チャネル番号を指定します
                          -fileオプションと同じようなもの。
                          -viewer指定時は無効です。
      -search:数値      検索終了セクタ数を指定します
                          インターリーブされているとデータの終了以後に
                          空白が入っている場合があります。
                          空白(関係ない他のデータ)が指定セクタ分続いたら
                          変換を終了します。
      -avi              非圧縮AVIに変換します(デフォルト)
                          途中で変換を止めた場合AVIファイルは壊れています
                          再生できません。
      -bmp              ビットマップに変換します
                          ファイル名はフレーム番号.BMPとなります。
                          出力先パスを出力ファイル名で指定します。
      -audio            XAオーディオをwaveに変換します
      -file-save        指定ファイルを別メディアに保存します
      -all              ファイルに含まれるムービー,XAオーディオを全て変換します
                          出力ファイル名はボディ部分まで指定します。
      -disc-all         ディスクに含まれるムービー,XAオーディオを全て変換します
                          CD上のファイル名は必要ありません。
                          出力ファイル名はボディ部分まで指定します。
      -detail           XAオーディオの範囲を厳密にチェックします
                          -all,-disc-allオプション指定時のみ有効です。
      -skip-movie       ムービーの変換をしない。
                          -all,-disc-allオプション指定時のみ有効です。
      -analyze          ファイルを解析して情報をFILE.INFに追加します。
                          出力ファイル名は必要ありません。
                          以後 -use-infオプションでファイル内のムービーが
                          再生できるようになります。
                          -no-cdrom指定時は無効です。
      -disc-analyze     ディスク全体を解析してムービー情報をFILE.INFに追加します
                          CD上のファイル名は必要ありません。
                          出力ファイル名にFILE.INF内のファイル名の
                          ボディ部分まで指定してください。
      -viewer:数値      リアルタイム再生。数値にはフレームレートを指定します
                          フレームレートを指定しなければ自動判別します。
                          出力ファイル名は必要ありません。
      -use-inf          FILE.INFを参照してファイルを検索します。
                          CD上のﾌｧｲﾙ名にFILE.INF内のﾌｧｲﾙ名を指定します。
      -no-cdrom         CDROM以外からファイルを読み込む
                          CD上のファイル名に別メディアに保存されている
                          ファイルを指定します。
                          ver 0.92からは内部でドライブの種類を判別するように
                          変更したのであまり意味なし。
      -check            2度読みによる読み込みｴﾗｰのﾁｪｯｸをする(ﾃﾞﾌｫﾙﾄは なし)
                          -viewerオプション指定時は無効です。
      -path:パス        psmconv.ini,file.infのパスを指定する
    環境変数で設定ファイルのパスを指定できます。
    例  PSMCONV_PATH=e:\psmconv
      この場合、起動時に'e:\psmconv\psmconv.ini'や'e:\psmconv\file.inf'を
      読み込みます。



・オプションの内容補足
  -file-save (指定ファイルを別メディアに保存する)
    ファイルを別メディア(普通はハードディスク)に保存します。
    例  psmconv -file-save opening.str e:\opening.str
    CDから読むとコマ落ちする場合はこれで改善されることがあります。
    保存されたファイルはPlaySTRでも読めます。
  
  -all (ファイル内のムービー,XAオーディオを全て変換)
    いくつかのソフトではデータが1ファイルにアーカイブされているものがあります。
    このオプションはそういったファイルからムービーとXAオーディオを検索し
    変換するものです。
    しかしXAオーディオについては曲と曲の境目が判別できない場合があり
    つながって1ファイルに変換されることがあります(グランツーリスモの音声など)。
    出力ファイル名にはボディ部分まで指定します。
    例  psmconv -all tekken3.xas d:tekken3_
      このボディ名だと出力ファイル名は'd:tekken3_0000.avi','d:tekken3_0000.wav'
      のようになります。
    Waveファイルには'〜0000.wav'からと'〜1000.wav'のものが存在します。
    0000からのファイルはムービーと対応しています。
    1000からのファイルは独立XAオーディオです。
    ソフトによってはうまく動作しないものがあります(エースコンバット3など)。
    ちなみにtekken3.xasを変換すると合計3.6Gバイト分のファイルができます。
  
  -disc-all (ディスク内のムービー,XAオーディオを全て変換)
    スクウェアのゲームなどでディレクトリの取れないものが存在します。
    このオプションはそういったディスクからムービーとXAオーディオを検索し
    変換するものです。
    その他の動作内容は-allオプションと同じです。
    ゼノギアスでのみ動作確認。
  
  -detail (XAオーディオの範囲を厳密にチェック)
    -allオプション時にXAオーディオの曲間チェックを厳密にします。
    上手く動作すれば,曲が繋がってしまう現象が改善される場合があります。
    ただし,かなりの時間がかかります。
    メモリーズオフでのみ動作確認。
  
  -analyze (ムービー情報の追加)
    アーカイブファイル内のムービー位置をFILE.INFに書き込みます。
    以後 -use-infオプションでムービーファイル名を指定すれば
    特定のムービーがアクセスできるようになります。
    例  psmconv -analyze tekken3.xas
      この場合FILE.INFには
      TEKKEN3                         
        TEKKEN3_XAS_0
          ????????
          ????????
      というようなテキストが追加されます。
      psmconv -viewer -use-inf tekken3_xas_0
      でムービーが再生されるようになります。
      1カラム目からの文字列はディスク識別用です。書き換えないでください。
      3カラム目からの文字列はムービーファイル名です。書き換えてもかまいません。
      ????????は開始,終了ブロック番号です。
      スペースは削除しないようにしてください。
    FILE.INFが読み込めない場合などは,CD上のファイルを検索します。
  
  -disc-analyze (ムービー情報の追加)
    -analyzeのディスク全体版です。
    出力ファイル名にFILE.INF内のファイル名のボディ部分まで指定します。
    例  psmconv -disc-analyze XENOGEARS_DISC1
      この場合FILE.INFには
      XENOGEARS                       
        XENOGEARS_DISC1_0
          ????????
          ????????
      というようなテキストが追加されます。
    その他の動作内容は-analyzeオプションと同じです。
  
  -viewer:数値 (リアルタイム再生)
    数値にはフレーム数を指定してください。
    例  psmconv -viewer:10 str\waed.str   秒間10コマで再生します。
        psmconv -viewer openning.str      コマ数を自動判別して再生します。
    大抵は自動で大丈夫ですが,たまに可変セクタ方式のムービーが存在します。
    そういうムービーではフレームレートが違ってしまう場合があります。
  
  -check (2度読みによる読み込みエラーのチェックをする)
    XAオーディオにはエラー訂正用データがありません。
    よって読み込みエラーが発生しても訂正されません。
    このオプションを指定すれば,2度読みをしてエラーチェックをします。
    ただしドライブによってはキャッシュから同データを持ってくる場合があるので,
    必ず有効になるとは限りません。
  
  他に設定ファイル内で指定できるものはすべてコマンドラインでも指定できます。
  優先度はコマンドラインの方が上です。
    例  psmconv -viewer -cddrive:1/0 -filter:on openning.str



・PSMCONV.INIの内容補足
  CDDrive (CDドライブのASPI管理番号の指定)
    ファイルが見つからない,コマンドが発行できないなどのエラーが出る場合は
    指定ドライブが違う可能性があります。
  
  PreLoadFrame (先読みフレーム数)
    再生前に読んでおくフレーム数を指定します(変換はしません)。
    オーディオセクタがあれば展開しておきます。
    再生開始直後に音が途切れる時などは
    この値を大きくすれば改善される場合があります。
  
  CdReadSector (CDから一度に読み込むセクタ数)
    プログラム内部では最大16セクタ分のバッファを持っていますが
    一部のドライブでは16セクタまとめて読むことができません(ReadCDコマンドで)。
    よってデフォルトでは4セクタ読み込みをしています。
    この値を大きくすれば読み込みが速くなります(がコマ落ちしやすくなります)。
    ただし内部で転送できる最大セクタ数を調べるので設定した数より
    小さくなる場合があります。
    また,1セクタ読み込みはドライブによってはエラーになる場合があります。
  
  Fixed (固定小数点演算の使用)
    MMXのあるCPUのみ有効です。
    逆DCT演算とYCbCrからRGBへの変換の処理が速くなります。
    見た目の画像は不動小数点演算とほとんど変わりません。
  
  DisplayMode (表示の倍率)
    グラフィックボードやディスプレイによっては
    ModeX(320x240)が使えない場合があります。
    その時はDisplayModeを2にして2倍表示をします。
    処理は重いです(グラフィックボードの性能による)。
    画像が320x240を超えるものは通常表示になります。
  
  Filter (フィルタの使用)
    MMXのあるCPUのみ有効です。
    16点逆DCTを使用して縦横2倍に拡大します。
    内部では固定小数点演算を使用しています。
    画像によってはノイズやブロック歪みが目立ってしまいますが
    単純な2倍表示や320x240モードの表示よりきれいになります。
    処理はすごく重いです。
    だいたいCeleron400MHzで320x240,15fpsがぎりぎり再生できるくらい。
    画像が320x240を超えるものは通常表示になります。
  
  StartWait (再生開始前のウェイト)
    モニタのモード切り替えに時間がかかって
    ムービーの最初が表示されない場合があります。
    その時はこの値を大きくしてください。
  
  表示モードの優先順位
    FilterON > DisplayMode > Normal(ModeX) です。



・開発,動作確認環境
  CPU
    Athlon 650MHz
  ビデオカード
    Voodoo3 3000
  サウンドカード
    Sound Blaster PCI128
  CDドライブ
    TEAC CD-532E-B(32倍速),Pioneer DVD-113(32倍速)



・その他
  動作確認ソフト(変換)
    ノエル, ワイルドアームズ, メルティランサー,
    RIDGE RACER TYPE 4, 鉄拳3, ワイルドアームズ2,
    ゼノギアス, ランナバウト2
  動作確認ソフト(リアルタイム再生)
    ノエル, ワイルドアームズ, メルティランサー,
    RIDGE RACER TYPE 4, 鉄拳3,
    サンダーフォースＶ, グラディウス外伝, 白き魔女, ダブルキャスト,
    バスト ア ムーブ, バイオハザード2, 子育てクイズ マイエンジェル,
    ときめきメモリアル, パラッパ ラッパー, ワイルドアームズ2,
    ゼノギアス, ランナバウト2
  
  たまにAVIファイルのフレームレートが正しくない場合があります。
  その時はavirate.exeで修正してください。
  
  AVIヘッダの構造がよく解らないので
  再生できないかもしれません (Premiere4.2J では読めました)。
  現在,10コマ/秒のムービーは上手くAVI変換できません。
  ビットマップ変換後,結合してください。
  
  サターンのXAも変換できます。
  拡張子は大体 ADP or XAです。
  
  このプログラムは動作保証していません。
  障害が起きても責任は持ちません。
  
  バグ報告は n-shima@af.airnet.ne.jp までお願いします。



