==============================================================================
    L3 Disk Explorer 仕様
                                                              Version 0.4.3

                            Copyright(C) Sasaji 2015-2019 All Rights Reserved.
==============================================================================

●現在対応しているファイルシステム

  ・日立 LEVEL-3 DISK BASIC / S1 DISK BASIC
  ・富士通 F-BASIC
  ・NEC N88-BASIC / N66-BASIC
  ・MSX-BASIC / MSX-DOS
  ・MS-DOS FAT12 (PC-9801/PC-AT)
  ・シャープ X1 Hu-BASIC / MZ Hu-BASIC / S-OS SWORD
  ・シャープ MZ S-BASIC系
  ・シャープ MZ Floppy DOS
  ・シャープ X68000 Human68k
  ・東芝 パソピア T-BASIC
  ・ソニー SMC-777 Sony Filer
  ・カシオ FP-1100 C82-BASIC
  ・FLEX
  ・OS-9 Level I/II
  ・CP/M Ver.2.2
  ・TF-DOS
  ・キャリーラボ C-DOS
  ・キャリーラボ CDOS II
  ・システムソフト PC-8001用 PC-DOS
  ・X-DOS
  ・Frost-DOS
  ・Magical DOS
  ・S-DOS / Sn88-DOS
  ・L-os Angeles

  ※ 各々制限事項がありますのでご確認ください。

------------------------------------------------------------------------------

● 共通の制限事項

  ・フロッピーディスクイメージ以外には対応していません。

  ・論理フォーマットで作成できるのはユーザディスクです。
    システムディスクを直接作成することはできません。

  ・属性は、OSで想定していない組み合わせも設定できる場合があります。
    属性の変更はOSの仕様を理解したうえで行ってください。

  ・ファイルの書き込み禁止、隠し属性は無視します。 

  ・ファイル名のキャラクターコード
    ・0x20未満は"_"(アンダースコア)になります。
    ・0x80～0x9f,0xe0～0xff は各OSで異なるため、このコードを使用したファイル名
      が意図したものとならない場合があります。
    ・ファイル名にカタカナや漢字を含む場合は、エクスポートとインポート時の
      キャラクターコード体系は同じものに合わせてください。

  ・エクスポート時、ファイル名として使用できない文字は"%xx"(xxは16進数)と
    なります。(対象文字は、% \ / : * ? " < > | )

==============================================================================

● 日立 LEVEL-3 DISK BASIC / S1 DISK BASIC

  ■単密度版DISK BASIC
  ・ファイル名    ：8文字、拡張子の区別はありません。
  ・ファイルサイズ：最終セクタの終端コード(0x1a)の位置で判断します。

  ・ファイル末尾の終端コードは自動で付加/削除します。

  ・機械語属性の場合、ファイル本体内にある開始アドレス、サイズ、実行アドレスを
    読み込んで表示します。ただし編集は出来ません。

  ・エクスポート時は属性から以下のように拡張子を付加します。
    また、インポート時は拡張子から以下のように属性を設定します。その際これらの
    拡張子はファイル名から取り除きます。
      BASIC-バイナリ 属性  <-> "BAS"
      BASIC-アスキー 属性  <-> "TXT"
      機械語 属性          <-> "BIN"
      データ-アスキー 属性 <-> "DAT"
      ランダムアクセス属性 <-> "RND"

  ・インポート時、ファイル名のアルファベットは大文字に変換します。
    ただし、ダイアログにて入力した小文字アルファベットはそのまま設定します。

  ■倍密度版DISK BASIC
  ・ファイル名    ：8文字＋拡張子3文字

  ・ファイル末尾に終端コードがあっても無視します。
  →エクスポートする際、ファイルサイズはディレクトリに記録されているサイズに
    なります。

  ・機械語属性の場合、ファイル本体内にある開始アドレス、サイズ、実行アドレスを
    読み込んで表示します。ただし編集は出来ません。

  ・エクスポート時は属性から以下のように拡張子を付加します。
    （すでに、同名の拡張子がついている場合は付加しません。）
    また、インポート時は拡張子から以下のように属性を設定します。
      BASIC-バイナリ 属性  <-> "BAS"
      BASIC-アスキー 属性  <-> "TXT"
      機械語 属性          <-> "BIN"
      データ-アスキー 属性 <-> "DAT"

  ・インポート時、ファイル名のアルファベットは大文字に変換します。
    ただし、ダイアログにて入力した小文字アルファベットはそのまま設定します。

  ・ファイル名を編集した後、拡張子がない場合は自動で付加します。

------------------------------------------------------------------------------

● 富士通 F-BASIC

  ・ファイル名    ：8文字、拡張子の区別はありません。
  ・ファイルサイズ：最終セクタの終端コード(0x1a)の位置で判断します。

  ・ファイル末尾の終端コードは自動で付加/削除します。

  ・機械語属性の場合、ファイル本体内にある開始アドレス、サイズ、実行アドレスを
    読み込んで表示します。ただし編集は出来ません。

  ・エクスポート時は属性から以下のように拡張子を付加します。
    また、インポート時は拡張子から以下のように属性を設定します。その際これらの
    拡張子はファイル名から取り除きます。
      BASIC-バイナリ 属性  <-> "BAS"
      BASIC-アスキー 属性  <-> "TXT"
      機械語 属性          <-> "BIN"
      データ-アスキー 属性 <-> "DAT"
      ランダムアクセス属性 <-> "RND"

------------------------------------------------------------------------------

● NEC N88-BASIC / N66-BASIC

  ・ファイル名    ：6文字＋拡張子3文字
  ・ファイルサイズ：バイナリファイルはセクタサイズの倍数で丸められます。
                    アスキーファイルは終端コード(0x1a)の位置で判断します。

  ・エクスポートする際、バイナリファイル、機械語ファイルのサイズはセクタ境界に
    なります。このため、ファイル末尾にゴミが入っている場合があります。

  ・アスキーファイル末尾の終端コードは自動で付加/削除します。

  ・アスキー(ランダムアクセス)属性にセットすると、エクスポート時に終端コードを
    無視します。この属性はディレクトリ内部には持っていないため、ディスクを
    閉じた時点でアスキー属性になります。

  ・機械語属性の場合、ファイル本体内にある開始アドレス、終了アドレスを読み
    込んで表示します。ただし編集は出来ません。

  ・エクスポート時は属性から以下のように拡張子を付加します。
    （すでに、同名の拡張子がついている場合は付加しません。）
    また、インポート時は拡張子から以下のように属性を設定します。
      BASIC-バイナリ 属性  <-> "BAS"
      機械語 属性          <-> "BIN"
      アスキー 属性        <-> "TXT","DAT"

  ■N66-BASIC
  ・エミュで使用する場合、新規作成は2D/2DDで行い、1D/1DDでフォーマットを行う。

------------------------------------------------------------------------------

● MSX-BASIC / MSX-DOS

  ・ファイル名    ：8文字＋拡張子3文字 小文字不可
  ・日時          ：1980年以前に設定すると不正な値になります。(MSX-DOSの仕様)

  ・ファイル末尾に終端コードがあっても無視します。
  →エクスポートする際、ファイルサイズはディレクトリに記録されているサイズに
    なります。

  ・エミュで使用する場合、1DDを使用する場合でも新規作成は2DDで行い、1DDで
    フォーマットを行う。

------------------------------------------------------------------------------

● MS-DOS FAT12 (PC-9801/PC-AT)

  ・12ビットFATのみ読み込み可能。それ以外を開いた場合の動作は不明。

  ・ファイル名    ：8文字＋拡張子3文字 小文字不可
  ・日時          ：1980年以前に設定すると不正な値になります。(MS-DOSの仕様)

  ・サブディレクトリは１クラスタ分の領域を確保して作成します。

  【注意】Windows95以降のロングファイル名には対応していません。

------------------------------------------------------------------------------

● シャープ X1 Hu-BASIC / MZ Hu-BASIC / S-OS SWORD

  ・ファイル名    ：13文字＋拡張子3文字
  ・ファイルサイズ：Bin,Basは64KBまで。
                    Ascは終端コードの位置で判断します。
  ・日時          ：80～99が1900年、00～79が2000年代とします。

    日付を無視するにチェックを入れた時、日付フィールドは更新しません。

  ・ファイルパスワードの設定は出来ません。

  ・アスキーファイルの扱い
    ・Asc(Hu)属性の場合、終端コード0x1aを自動で付加/削除します。
    ・Asc(S-OS)属性の場合、終端コード0x00を自動で付加/削除します。
    ・Asc(ランダムアクセス)属性にセットすると終端コードは無視します。
      上記区分はディレクトリ内部には持っていないため、
      ディスクを閉じた時点でデフォルト属性になります。

    ・「Hu-BASIC」の場合、デフォルトはAsc(Hu)属性に、
      「S-OS SWORD」の場合、デフォルトはAsc(S-OS)属性になります。

  ・エクスポート時は属性から以下のように拡張子を付加します。
    （すでに、同名の拡張子がついている場合は付加しません。）
    また、インポート時は拡張子から以下のように属性を設定します。
      Bas 属性       <-> "BAS"
      Bin 属性       <-> "BIN"
      Asc(ランダムアクセス) 属性 <-> "RND"
      Asc(デフォルト) 属性       <-> "TXT","ASC","BAT","ASM"

  ・サブディレクトリは１クラスタ分の領域を確保して作成します。
  ・サブディレクトリサイズの増減には対応していません。

------------------------------------------------------------------------------

● シャープ MZ S-BASIC系

  ※ディスク内のデータは全て反転している。また、サイド番号も0,1が逆転している。

  ・ファイル名    ：16文字、拡張子の区別はありません。
  ・ファイルサイズ：BRD以外は64KBまで。
  ・日時          ：80～99が1900年、00～79が2000年代とします。

    日付を無視するにチェックを入れた時、日付フィールドは更新しません。

  ・ボリューム番号の編集は出来ません。

  ・派生OSやアプリケーション独自の属性
    0x54 VOL .. TAKE-DOSで使用しているボリューム属性。
    0x70 ASM .. EDAS-Assembler Ver.1.2 FD-SYSTEM(月刊I/O誌 1984/2月号掲載)で
                使用しているソースファイル属性。
                月刊I/O誌 1984/6月号p.367と1984/8月号p.241のデバッグを適用する
                と、ソースファイルの属性がBSDからASMに変更になります。

  ・エクスポート時は属性名を拡張子として付加します。
    また、インポート時は拡張子から属性を設定します。
    拡張子で判断できない場合、BSD属性になります。

  ・サブディレクトリは１クラスタ分の領域を確保して作成します。
  ・サブディレクトリサイズの増減には対応していません。

------------------------------------------------------------------------------

● シャープ MZ Floppy DOS

  ・ファイル名    ：16文字。
                    属性が拡張子として扱われます。
  ・ファイルサイズ：64KBまで。
  ・日時          ：80～99が1900年、00～79が2000年代とします。

  ・エクスポート時は属性名を拡張子として付加します。
    また、インポート時は拡張子から属性を設定します。
    拡張子で判断できない場合、ASC属性になります。

  ◆プロテクトやパスワードの設定/解除は出来ません。

------------------------------------------------------------------------------

● シャープ X68000 Human68k

  ・12ビットFATのみ読み込み可能。それ以外を開いた場合の動作は不明。

  ・ファイルの扱いは以下を除いてMS-DOSと同じです。
    ・ファイル名    ：18文字＋拡張子3文字 小文字可能
    ・日時          ：変更日付のみ

------------------------------------------------------------------------------

● 東芝 パソピア T-BASIC

  ファイルの扱いはN88-BASICと同じです。

------------------------------------------------------------------------------

● ソニー SMC-777 Sony Filer

  ファイルの扱いはCP/M Ver.2.2と同じです。

  ◆ディスクイメージは拡張子1ddで保存してください。

------------------------------------------------------------------------------

● カシオ FP-1100 C82-BASIC

  ・ファイル名    ：8文字＋拡張子3文字。
  ・ファイルサイズ：バイナリファイルは64KBまで。
                    アスキーファイルは終端コードの位置で判断します。

  ・ファイル末尾の終端コード0x1aは自動で付加/削除します。

  ・エクスポート時は属性から以下のように拡張子を付加します。
    また、インポート時は拡張子から以下のように属性を設定します。その際これらの
    拡張子はファイル名から取り除きます。
      BASIC-バイナリ 属性  <-> "BAS"
      BASIC-アスキー 属性  <-> "TXT"
      機械語 属性          <-> "BIN"
      データ-アスキー 属性 <-> "DAT"
      ランダムアクセス属性 <-> "RND"

------------------------------------------------------------------------------

● FLEX

  ・ファイル名    ：8文字＋拡張子3文字。ASCIIコードが前提です。
                    ASCII以外のコードを指定した場合の動作は不定です。
  ・日時          ：80～99が1900年、00～79が2000年代とします。

  ・ディレクトリサイズの増減には対応していません。

------------------------------------------------------------------------------

● OS-9 Level I/II

  ・ファイル名    ：28文字。ASCIIコードが前提です。
                    ASCII以外のコードを指定した場合の動作は不定です。
  ・日時          ：80～99が1900年、00～79が2000年代とします。

  ・エクスポート時、実行権限のあるファイルには拡張子"BIN"を付加します。

  ・インポート時、拡張子が"BIN","CMD","COM","EXE"の場合、実行権限を付加します。
    また、これらの拡張子はとり除きます。

  ・サブディレクトリはFDセクタ＋8セクタ分の領域を確保して作成します。

------------------------------------------------------------------------------

● CP/M Ver.2.2

  ◆確認したのは、PC-8801、X1、MZ-2500のみ。これら以外での動作は不定です。

  ・ファイル名    ：8文字＋拡張子3文字。ASCIIコードが前提です。
                    ASCII以外のコードを指定した場合の動作は不定です。
  ・ファイルサイズ：バイナリファイルは128バイトの倍数で丸められます。
                    アスキーファイルは終端コード0x1aの位置で判断します。

  ・バイナリ、アスキーの判断について

    拡張子が"CMD","COM","EXE","SYS"の場合バイナリ、
    それ以外をアスキーとして扱います。

    アスキーファイルの場合ファイル末尾の終端コード0x1aは自動で付加/削除します。

    バイナリ属性はプロパティダイアログで変更できますが、ディレクトリ内部には
    持っていないため、ディスクを閉じた時点でデフォルトに戻ります。

------------------------------------------------------------------------------

● TF-DOS

  ・ファイル名    ：8文字、拡張子の区別はありません。
  ・ファイルサイズ：64KBまで。

  ・エクスポート時は属性名を拡張子にして付加します。
    また、インポート時は拡張子から属性を設定します。
    拡張子で判断できない場合、TEX属性になります。

  ・TEXの時「BASE互換のテキストとして扱う」チェックボックスが有効になります。

      チェックを入れると、エクスポートする際に以下のような置換を行います。
      ・TABコード0x14を0x09に置換。
      ・ファイル末尾の0x00はとり除く。

      チェックを未決定とした場合、エクスポート時に自動判定します。
      ・ファイル末尾が0x00であれば、BASE互換のテキストとして置換を行います。

      インポート時、チェックを入れると以下のように置換を行います。
      ・TABコード0x09を0x14に置換。
      ・ファイル末尾に0x00を追加。

      コピー時チェックボックスは無効となり、置換も行いません。

  ※ TF-DOSは、福井氏が開発されたZ-80マシン上で動作するDOSです。
     (http://fukui.s17.xrea.com/comp/tfdos/index.html)

------------------------------------------------------------------------------

● キャリーラボ C-DOS

  ・ファイル名    ：16文字、拡張子の区別はありません。
  ・ファイルサイズ：64KBまで。
  ・日時          ：80～99が1900年、00～79が2000年代とします。

  ・拡張ディレクトリには対応していません。

  ・派生OSやアプリケーション独自の属性
    0x0a PAS .. qPASCAL(月刊I/O誌 1984/9,10月号掲載)で使用している属性。
                PASCALが書かれたソースコードファイル。
    0x84 SYS .. システムファイル。

  ・エクスポート時は属性名を拡張子にして付加します。
    また、インポート時は拡張子から属性を設定します。
    拡張子で判断できない場合、TEX属性になります。

  ・TEX(アスキー)ファイルの扱い

    エクスポートする際にファイル末尾の0x00はとり除きます。
    インポート時ファイル末尾が0x00,0xffでない場合は0x00を追加します。

------------------------------------------------------------------------------

● キャリーラボ CDOS II

  ◆システムディスクを読み込む際にセクタが重複している旨の警告が出ますが、
    これは正常な動作です。

  ・ファイルの扱いは以下を除いてMS-DOSと同じです。
    ・サブディレクトリ作成不可。

------------------------------------------------------------------------------

● システムソフト PC-8001用 PC-DOS

  ・ファイル名    ：16文字、拡張子の区別はありません。
  ・ファイルサイズ：セクタサイズ(256バイト)の倍数で丸められます。

  ・属性「BASIC + 機械語」ファイルの扱い
    エクスポート時、BASIC部と機械語部を結合したファイルとして出力します。

    インポート時、BASIC部と機械語部を結合したファイルを指定してください。
    ・BASIC部と機械語部のサイズは、それぞれ256バイトの倍数に合わせてください。

    ダイアログにて入力した、ロードアドレス、終了アドレスから機械語部のサイズを
    計算しインポートします。

  【注意】プロパティで「BASIC + 機械語」から「BASIC」や「機械語」に変更すると、
          機械語部へのリンクが失われます。

------------------------------------------------------------------------------

● X-DOS

  ・ファイル名    ：16文字。
                    属性が拡張子の役割を果たします。
  ・ファイルサイズ：64KBまで。

  ・ASC属性の時、ファイル末尾の終端コード(0x00)は自動で付加/削除します。

  ・サブディレクトリは1トラック分の領域を確保して作成します。

  ※ X-DOSは、Regulus氏が開発されたX1/turbo上で動作するDOSです。

------------------------------------------------------------------------------

● Frost-DOS

  ・ファイル名    ：6文字＋拡張子3文字。
  ・ファイルサイズ：64KBまで。

  ※ Frost-DOSは、MKR氏(FROSTFOREST)が開発されたPC-8801上で動作するDOSです。

------------------------------------------------------------------------------

● Magical DOS

  ・ファイル名    ：31文字、拡張子の区別はありません。
  ・ファイルサイズ：64KBまで。

  ・ASC属性の時、ファイル末尾の終端コード(0x1a)は自動で付加/削除します。

  ・サブディレクトリは9セクタ分の領域を確保して作成します。

  ※ Magical DOSは、Magical-BBSで開発されたPC-8801上で動作するDOSです。

------------------------------------------------------------------------------

● S-DOS / Sn88-DOS

  ◆フォーマットには対応していません。

  ・ファイル名    ：22文字、拡張子の区別はありません。
  ・ファイルサイズ：255セクタ(64KB)まで。

  ・ファイルを削除するとゴミが残ります。ガベージコレクションは行いません。

  ・エクスポート時は属性から以下のように拡張子を付加します。
    （すでに、同名の拡張子がついている場合は付加しません。）
    また、インポート時は拡張子から以下のように属性を設定します。その際これらの
    拡張子はファイル名から取り除きます。
      BASIC-バイナリ 属性  <-> "BAS"
      機械語 属性          <-> "BIN","OBJ"
      バイナリ 属性        <-> "DAT"

  ※ S-DOSは、猿田氏が開発されたPC-8001上で動作するDOSです。
     (月刊I/O 1982年11月号に掲載)
  ※ S-DOS Ver1.1は、エンジンルームK&S1氏によって改良されました。
     (別冊PC活用研究8001/8001mkII/8801に掲載)
     (月刊I/O 1984年6月号にパッチが掲載)
  ※ Sn88-DOSは、小宮氏が開発されたPC-8801上で動作するDOSです。
     (月刊I/O 1984年11月号に掲載)

------------------------------------------------------------------------------

● L-os Angeles

  ・ファイルの扱いは以下を除いてMS-DOSと同じです。
    ・日時          ：変更日付のみ
    ・開始アドレス、実行アドレス、LAバイナリを指定できる。
    ・サブディレクトリ作成不可。

  ※ L-os Angelesは、中川氏が開発されたX1/turbo上で動作するDOSです。

==============================================================================
