JPH07503084A - 複数オペレーティングシステムで使用するcd−romディスクを作成する方法と装置 - Google Patents

複数オペレーティングシステムで使用するcd−romディスクを作成する方法と装置

Info

Publication number
JPH07503084A
JPH07503084A JP5507731A JP50773193A JPH07503084A JP H07503084 A JPH07503084 A JP H07503084A JP 5507731 A JP5507731 A JP 5507731A JP 50773193 A JP50773193 A JP 50773193A JP H07503084 A JPH07503084 A JP H07503084A
Authority
JP
Japan
Prior art keywords
file
name
fork
directory
format
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP5507731A
Other languages
English (en)
Inventor
ガルシア,ベン・エル
クラッパート,ウォルター・アール
ハーモン,エドワード
Original Assignee
ダブリュエヌエム・ヴェンチャーズ・インコーポレーテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ダブリュエヌエム・ヴェンチャーズ・インコーポレーテッド filed Critical ダブリュエヌエム・ヴェンチャーズ・インコーポレーテッド
Publication of JPH07503084A publication Critical patent/JPH07503084A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/02Editing, e.g. varying the order of information signals recorded on, or reproduced from, record carriers
    • G11B27/031Electronic editing of digitised analogue information signals, e.g. audio or video signals
    • G11B27/034Electronic editing of digitised analogue information signals, e.g. audio or video signals on discs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/21Disc-shaped record carriers characterised in that the disc is of read-only, rewritable, or recordable type
    • G11B2220/213Read-only discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2545CDs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2537Optical discs
    • G11B2220/2583Optical discs wherein two standards are used on a single disc, e.g. one DVD section and one CD section

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるため要約のデータは記録されません。

Description

【発明の詳細な説明】 検数オペレーティング/ステムで使用するCD−ROMディスクを作成する方法 と装置 &吸盆!れ 本発明は無関係なオペレーティングlステムを有するフッピユータ上r(t’用 できる、あるいは特に、2つの異なるオペレーティングlステムがマツキントノ /ユコノピュータで使用する階層ファイル/ステム(IIFs)及びI[3M及 びその互換性パーツナルコンピュータで使用するオペレーティングlステムであ るMS−DOSであるマルチメディアプラットフォーム用の単−CD−ROMを 作成する方法と装置方法と装置に関する。得られるコンパクトディスクはl5O 966Qフオーマ/トである。本発明の概念は、国際標準機構の標準であり、コ ンパクトディスク読取り専用メモリ(CD−ROM)上でデータを編成する論理 フォーマットを記述したl5O9660をサポートするいずれのオペレーティン グlステムでも作動することを意図したものである。 本発明を使用することで、例えば同−CD−ROMに2つのパーツ璽ンのプログ ラム、即ち1つはマ/キンドア/ココンピュータの実行用プログラム、もう1つ はIBM PC及びその互換性コンピュータの実行用プログラムを格納すること が可能になる。本発明を使用すると、1309660フオーマFト化デイスクに 格納するデータを、データの生成者ないし供給者から単一のオペレーティング7 ステムパーテイ/コノでベルヌーイ着脱可能カートリッジディスクなどの単−磁 気媒体上のコンパクトディスク・プレ1すに送ることができる。 図面の簡単な説明 図1は本発明と共に行う処理の図式的な表示である。 図2は図1のブロック23で行う処理の階層図である。 発明の詳細な説明 図1で、CD−ROMディスクに搭載することを望むデータとプログラムは、そ れらの固有のファイルフォーマット、例えばマツキンドブ/スフアイルIIとP Cファイル13でハードディスクドライブのようなフッピユータシステムと関連 した記憶媒体や/ステムに記憶されている。 実施例では、PCファイルとマノキット1/ユフアイルの両ファイルがMS−D OSフォーマット化ベルヌーイ・カートリフジに転送する。これは市販されてい るII F SファイルをMS−DOSフォーマブトに変換する製品を用いて行 うことができ(図1ブロック15)、変換されたファイルはベルヌーイ・カート リッジ17に記憶する。この機能を行う適切なソフトウェアパッケージはユタ州 イオ〆ガ・オブ・aイから入手できるベルヌーイ・ファイル交換として知られて いる。 変換ではMS−DOSフォーマットのファイルをPCファイル13からベルヌー イ・カートリッジ17へ単純に複製する。しかし物理的に1つのファイルである マアキントy/ユHFSファイルは、論理的には、データフォークと資源フォー クないしデータファイルだけあるいは資源フォークだけからのように構成するこ とができる。マツキ/トメンユファイルの完全性を維持するため、データフォー クと資源フォークの両方を有するマノキノトノンコファイルをMS−DOSパー ティ7wノにフビーする場合、MS−DOSは資源フォークに相当する構造を有 していないので、1つはファイルのデータフォーク部分用、もう1つは同一マノ キット1/ユフアイルの資源フォーク部分用に2つの物理的に区別されたMS− DOSファイルを作成する必要がある。両ファイルは同一名を持つが、資源フ1 −クツアイルはデータフォークファイルと同一レベルの資源FRKと呼ばれる隠 れディレクトリに搭載される。 一部のマノキントノ/Sファイルは資源フォークだけからなり、その他はデータ フォークだけからなるので、ベルヌーイ・カートリッツ17上のデータフォーク ディレクトリ内のファイルに対応する隠れ資源FRKディレクトリにはエントリ がないことがある。逆にそのような状況で、ベルヌーイ・カートリッツ17上の 隠れ資源FRKディレクトリ内のエントリに対応するデータフォークファイルが ないことがある。 更に8文字よりも長い名前(例: GUIDEDJOIIR)と正しいファイル 所有者(例:WILD)とタイプ(例: 5TAK)を有する+509660フ オーマツト化コンパクトデイスク上にI(F Sディレクトリとファイルを搭載 することは、処理の中間段階でMS−DOSパーティンッンを使用する必要があ る場合通常できない。なぜなら、MS−DOS名はオブ7g)の3文字までの拡 張子と共に8文字までに制限されているからである。更にMS−DOSはファイ ル所有者とタイプ情報を保持しない0 本発明は4列の情報を有するRENAMER(改名)と呼ぶASCIIファイル を参照することでそれらの問題をM決する。以下の表1に示すように、第1列は ベルヌーイ・カートリッツ17上でマツ牛ントノ/コの互換のために処理する全 てのファイルのファイル名リストであり、少なくとも後尾にXを付けて名前が8 文字になるようにしてあり、第2列は最終的なISOファイル名で、第3列は1 .IFSファイルタイプと所有者を結合したものであり、第4列はファイルのデ ータと資源フォーク部分を示す文字口、DないしRのリストである。Bはデータ と資源フォークの両方を有するファイルを示し、Dはデータフォークだけを有す るファイルを示し、Rは資源フォークだけを有するファイルを示す。 改名ファイル18は現在、媒体11上のHF Sファイルを規定のMS−DOS 名(例えば=2つのファイル名は8文字ないしそれ以下で固膏のものであり、埋 め込みスペースや特殊文字があってはならない)に変換したときに確実に問題を 生じないように命名することを確実にすることによって形成される。当業者には どの様な名前を問題を生ぜずに使用できるかは容易に分かる。改名ファイルは例 えば上述のように4つの列を有するASCIIファイルを生成するワープロによ り手動で作成する。改名ファイルはもちろん改名ファイルを形成する前記の処理 を行うルーチンにより形成することができる。 CD−ROMディスクを形成するには、最初にベルヌーイ・カートリッツ上のデ ータからl5O9960フオーマツトのCD−ROMディスクイメージを形成す ることが必要である(ブロック19で行う処理)。ブレマスタリングとしても知 られるCD−ROMディスクイメージの形成は、オプティカルメディア社からト ピックスなどの容易に入手できるソフトウェアを用いて行うことができる。CD −ROMディスクのイメージはハードディスク21に格納するが、ディスクは6 00メガバイトないしそれ以上ある(D−ROMディスクイメージを記憶できる 十分な容量を持っているものでなければならない。 CD−ROMはハードディスク21上のイメージからプレスすることができるが 、それで得られたコンパクトディスク上のプログラムはマツキントッンユコンピ ュータ上で実行できない。資源フォークに含まれる不可欠な情報は隠れ資源FR Kディレクトリ内の別ファイルに記憶されているためである。本発明はディレク トリ記録を変更して資源フォーク/データフォーク問題及びMS−DOSパーテ ィ/ヲン内での一時記憶装置から生じる完全ファイル名、所有者及びタイプ情報 の損失を解決する。 要するに本発明はハードディスク21上のCD−ROMイメージハードディスク ディレクトリに対して変更を行って、CD−ROMマスクを形成するのにコンパ クトディスク・ブレノサで使用するソフトウェア19では適切に取り扱うことが できない問題を処理する。 ベルヌーイ・カートリッツ17上のデータのブレマスク化ではハードディスク2 1上のCD−ROMイメージハードディスクディレクトリ内にどの様にファイル を搭載するかの順番に注意する必要がある。上述したように、HFSからMS− DOSフォーマットへの変換中、ベルヌーイ・カートリッツに搭載する資源及び データフォークの両ファイルは同一名を持つが、それらは異なるディレクトリ( ないしフォルタ)にあるので互いに矛盾しない。ブレマスク化の時、(データ及 び資源)の2つのファイルは同一ディレクトリ(フォルタ)レベルで搭載しなけ ればならない。しかし1つのファイル名しかHF Sファイルのデータフォーク 及び資源フォークと関連しないので、資源フォークとデータフォークファイルが 同一レベルディレクトリで同一名で形成されていると矛盾が生じる。 この矛盾を解決するため、各々の資源フォークファイル名を(例えばMS−DO 5改名コマ/ドを用いて)改名してその名前にrXJの文字を付ける(例:旧資 源フォーク名=−REQUIEM”、新資源フォーク名−”REQ[lIEMX −)、元々ノ名前が既に8文字長であれば、MS−DOSとの互換性を維持する ため、8番目の文字を強制的に文字rXJにする(例:旧資源フォーク名=”5 UPERCAR”、新資源フォーク名−−5UPERCAX−) a同様に、そ してI 5O96607# ?1)ディレクトリ記録で対応する資源フォークフ ァイルディレクトリエントリの後にデータフォークファイルディレクトリエント リを確実に配置するため、データフォークファイルを改名してその名前にrYJ の文字を付ける(例:旧データフォー7名= −REQUIEM”、新データフ ォーク名−−REQUIEMY”)。元々の名前が既に8文字長であれば、MS −DOSとの互換性を維持するため、8番目の文字を強制的に文字rYJにする (例:旧資源フォーク名−”5tlPERCAR”、新資源フォーク名=−SL IPERCAY−)。 資源及びデータフォークファイルのディレクトリエントリは継続していて分離し ていてはならないが、各々の資源及びデータフォークファイルの対応するデータ はCD−ROMディスクのどこにでも常駐できることに留意する。 以上の規約にしたがってベルヌーイ・カートリッジ17上の全てのファイルをプ ログラム19で処理してプレマスク化ワークステージ賃ン上のCD−ROMイメ ージハードディスク21に転送する。プログラム19を使用してデータをベルヌ ーイ・カートリy 9+7からハードディスク21に転送する前に、ベルヌーイ ・カートリ。 ノ17上のデータを前処理する必要がある。隠れ資源、FRKディレクトリに存 在するベルヌーイ・カートリッジ17上のファイルをエクスキューティブシステ ムズ社のXTPROなとの標準既成プログラムを用いて可視データ、FRKディ レクトリに移動する。資源、FRKディレクトリ内のファイルをタグし、ノーに セットしたXTPROの「目動既存ファイル交換」スイッチで移動して、移動し たファイルが既存のデータ、FRKディレクトリファイルを重ね書きしないこと を検証する。 次にデータ FRK内の全てのファイルをピータ−ツートン社の7−トン・ユー ティリティなどの既存のユーティリティを使用して昇順に名前によりソートする 。 ここでプログラム19を用いて、アルファベット順にソートした資源及びデータ ファイルの両方を含む前処理ディレクトリの名前をプロンプトしてファイルをベ ルヌーイ・カートリッジ17から転送する。プログラム19により行う処理によ り、資源及びデータファイルをベルヌーイ・カートリフッ17からCD−ROM イメージハードディスク21にフビーしたときに、l5O9660デイレクトリ 記録をも構築される。 CD−ROMイメージハードディスク21へ全ファイルを転送すると、CD−R OMイメージハードディスク2Iからの仮想CD−ROMディレクトリブロック が、ハードディスク21ないし別のMS−003ハードデイスクにある通常のM S−DOSファイル(ISO,DOS)に書き込まれる。CD−ROMディレク トリブロックはVCD2FILE、EXEと称するオプティカル・メディア社か らのプログラムを用いてISO,DOSに転送する。このプログラムにより仮想 CDブロックをハードディスク21から任意の宛先MS−DOSディスクドライ ブに簡単に転送することができる。ユーザは作成するファイルの名前でプログラ ムをプロノブトする。生じるファイルはユーザが指定した仮想CD−ROMディ レクトリブロックの内容を持つようになる。プログラムVCD2FILE、EX Eはディレクトリプロlりないし他のt4類のブロックに付いて知らず、従って ユーザは有効ディレクトリブロックを含む仮想CD−ROMハードディスク21 上の開始及び終了位置を識別する責任を有する。ディレクトリブロックの実際の 位置はプログラム19を用いてベルヌーイ・カートリーフジ17からハードディ スク21へ転送するときにユーザが指定する。ディレクトリブロックは、変換す るH F Sファイルの名前と位置を含むディレクトリファイルであるISO, DOSファイルを形成する。 上述したように、ISO,DOSファイルは資源フォークとデータフォークファ イル名を含んでいる。資源フt−クファイルがデータフォークファイル部分を持 っていない場合は、資源フォークファイル6のみがISO,DOSファイルにあ ることになる。データフォークファイルが資源フォークファイル部分を持ってい ない場合は、データフォークファイル名のみがISO,DOSファイルにあるこ とになる。 しかしデータフォークファイルが資源フォークファイル部分を持っている場合、 両ファイル名はlsO,Dosファイルにある。 資源フォークファイルが最初に現れ、すぐ後にデータフォークファイル名が続く 。 ISO,DOSファイル内の各々のファイル名(データないし資源)をエントリ と称する。従ってlsO,Dosファイル内では、資源フォークファイル名は第 !のエントリとなり、関連エントリとも呼ばれ、その関連ビットはrso、pc プログラムによりセ・1卜する。次のエントリはデータフォークファイル名であ り、他のエントリとは関連しておらず、従ってその関連ビットはISO,PCプ ログラムによりクリアされる。資源ファイルを持たないデータファイルとデータ ファイルを持たない資源ファイルでは、関連ビットは常にISO,PCプログラ ムによりクリアされる。 ISO,DOSファイルは、改名ファイルを用いてディレクトリ記録のデータを カスタム化する本発明(付録lとして添付)を形成し、生じるデータを書き込ん て新しいファイル(ISO,l5O)を作成するコンピュータプログラム23を 用いて処理する。 特にプログラムは改名ファイルを開いて読み取り、処理する。上述したように改 名ファイルはDOS名、HF S名、タイプと所有者、ファイルフォーク指示文 字を含んでいる。 ISO,DOSファイルは改名ファイルに含まれるファイル名の1つに整合する ファイル名を探すことで処理する。整合が見つかれば、150名をDO3名上に 挿入する。各々のファイル名の終わりにはパディングを付は加え、ディレクトリ 記録の長さを挿入した150名に相関して調節し、全ての長さを更新する(IS Oディレクトリ記録は可変長記録)。次にタイプと所有者情報を挿入し、再び長 さ値を調節する。この過程は、現在エントリが関連エントリであれば、次のエン トリに対して繰り返される。そして第1のエントリの関連ビットが設定され、次 のエントリの対応するビットがクリアされる。 上記の過程はISO,DOSファイルと改名ファイル間の各々のファイル名の突 合せについて繰り返される。 カスタム化により固有のマlキントlンユ資源及びデータフォークをl5O96 60フ★−7,トディレクトリ記録で形成するのに必要な変更を行い、対の両メ ンバは同一名を有する。 各々のファイルの対のファイル名もMS−DO3要件に制限されない名前(即ち 8文字プラス3文字の拡張子以上)に変えることができ、「、X (パージ冒) #)」で終っても終らなくてもよい。 ISO,ISOファイルを次に図1に示すCD−ROMイメージハードディスク 21に、ハードディスク25上の1s09660フオーマツトのCD−ROMデ ィスクの訂正イメージとして再び書き戻して、ISO,DOSを作成するのに元 々使用したデータに重ね書きする。このステップは本質的に古いディレクトリ記 録をCD−ROMイメージハードディスク25上の別のどこかの正確なデータを 依然上している新しい修正したディレクトリ記録で置き換えている。 図2は本発明で利用するルーチン(main 3+、addext 33、fi xfile 35.5etupxref 37、dosxrer 39、upd ateed 41)の階層図である。以下は各々のルーチン及び各々のルーチン に渡されるあるいは各々のルーチンからのパラメータの記述である。 肚([a、 [b]1) コマンドラインパラメータがなければ、ヘルプtn報が画面にプリントされる。 パラメータ(a)は「ソースファイルの名前(、dos拡張子を有するあるいは 、それなし〉であり、必要なものである。 パラメータ(b)は「リザルタント」ファイルの名前(、dos拡張子を有する あるいは、それなし)であり、オゾンプノである。 霞ainOルーチンはパラメータの有無をテストし、パラメータがなければヘル プ情報をブリットする。パラメータが存在すれば、mainOは、(i)デフォ ルトを用いてファイル名を作成、調節してオーバーライドし、(Ii)ノース及 びリザルタントファイルに必要な全作業用メモリを割当て、(l目)ソースファ イルと改名ファイルを開いて「ソース」ファイルの内容を読み取り、余分なパブ ファスペースをOOで満たして「ノース」ファイルを閉じ、(iv) r 5e txrefJ を呼び出して改名ファイルからの改名式を読み取り、改名ファイ ルを閉じ、(v) r fixfileJルーチンを呼び出して上述のようにデ ィレクトリ記録の変更を行い、(vi) rリザルタント」ファイルを開いて作 業用メモリ領域からの「ノース」ファイルから読み取った同一量のデータを書き 込み、(vii)作′Mmメモリをa由にして統計を印刷して退出する。 addext(a、 b) パラメータ(a)はファイル名でパラメータ(b)はファイル拡張子である。フ ァイル名に「、」がなければ、ファイル名にファイル拡張子を付は加えるが、さ もなくば変更は行われない。 胚旦P二庄住 ル〜f ン5etupxreroはパラメータを持たない。このルーチンは改名 ファイルを読み取り、4つのエントリを以下のように4つのアレイに入れる。こ こでlは1から500にわたる。 xref[iJ、old => ソースの1日r、dosJ名xrer(iJ、 new => リザルタントの新r、l5oJ名5ys−type[il g)  システム領域TYPE及びCREATORfile−type[+] 茎>  ファイルフォーク指示文字fixfile() ルーチンfixfile□はパラメータを持たない。複数のゼロは統計をだめに する。 最初のパス中、このルーチンはl5O9660基準(表11を参照)によるディ レクトリ記録を含む作業中のメモリ内の「ソースファイル」からのデータをルー プして、(バイト位置26のディレクトリビットに基づいて)ISOディレクト リの全ての出現を見つけ、dir−endと称する表内の各々のディレクトリに 含まれる全てのファイルの全てのディレクトリ記録に必要なバイト数を記憶する 。 2番目のパス中、(1)ディレクトリ記録に長さ0が見つかれば、プログラムは 2にバイト境界にわたる記録はなく<rso要件)、1つの2にバイドブC7, Fり内の記録間に00が残っていないことを保証する。(目ン実際の130デイ レクトリくフォルタ)を記述する記録を飛び越す。(iii)全ファイルサイズ とディレクトリ記録エントリについて長さに対する妥当性検査を行い、無効であ れば、エラーを回答して終了する。(Iν)現在エントリと次のエントリのファ イル名が整合するか判定し、更に各々のファイル名長さも整合するか検査する。 (v)両方とも整合し、dosxref機能が新しい名前を見いだすならば、ユ ーザに知らせて新しい名前を両エノトリ位置に移動してその名前の新しいサイズ を調節する。2にバイトバッファの終わりのように様々な特殊なケースを取り扱 う。即ち、dosχver機能が整合性を回答しなければ、エノトリを修正しな い。(vl)7文字以下のファイル名及び00バデイノグを処理する。(vii )マブキントツシエシステム領域を取り扱う。即ち表IからのTYPE及びCR EATORを/−ケンス<42X41XO6>の後に結合して<0IXOO>を 後に続け(あるいはタイプがapplの場合は<21XOO>)、そしてディレ クトリ記録を偶数にする必要がある場合には更に〈00〉を続ける。(V山)必 要に応じて次のISOディレクトリ記録から始まる全てのデータを次の2048 バイト境界に押し、終端を00で、fディングする。(+X)データだけ(D) 及びil源だけ(R)ファイルのファイル名と/ステム領域の変更を扱う。 表I+ I S 09660デイレクトリ記録レイアウアト(関連フィールド位置 1 現在ディレクトリ記))の長さく偶数でなけれ+fならな0)2−10 ( 関連なし) +1− 18 この記録が「ディレクトリ」 (なt)シ「フオルダ」)を君己 述するならば、それがそのディレクトリ内のファイルの記録の長さとな19−2 5 (関連なし) 26 ファイルフラッグ 27−32 (非関連) 33 ファイル名の長さく長さ) 34− (33+長さ) ファイル名 34→−長さ システム領域(全ディレクトリ記録を偶数の71′イト1こする 必要がある場合には余分な00ノイイトのみで終る)圧datec+匹旺 パラメータ(a)はコンパクトディスクディレクトリ長の位置を示す無符号の整 数である。このルーチンは、より多くのスペースが必要とされる場合、コン、e クトディスクブロックカウントに1を加えることでコンノイクトディスクディレ クトリ長を更新する。これは2048バイトの増分の追加スペースを割り当てる 。(しかしこのディレクトリ記録の拡張は、プレマスターリング過程中に成長の ために十分なディレクトリ記録スペースが予約されていた場合しかISOイメー ジに適合しない)。 dosxref(a,b,c) パラメータ(a)はDOS入カフカファイル名ラメータ(b)は+1 F S出 力ファイル名、パラメータ(e)はsetupxref Oにより作成された3 つのアレイの指標である。このルーチンはxre4[il.old array のDOS名を見いだし、xref[+].new arrayから130名をコ ピーして指標をもたらす。 sain 31、addext 33、fixfile 35、setupxr ef 37、dosxre( 39、updatecd 4P のルーチンのソースフードリストをここに付81として添付する。 #inducSe くsldlib.h>#indude くs4dio.h> #indude <dos.h> #indude <slring.h>#include <sys\〜ρes .h>#include <sysXslal.h>ffindude <ma lkic.h>IFinclude<io.h> #define true −1 #deline false O #delins OIR−ARRAY−SIZE 32 r 29 ’ 204 8 ( ONE CD BLOCK l − 59392 汲■ unsigned inl filasize;unsigned irltf ilecounl;un!iJgnedinl dir−end[DIR−AR RAY−SIZEI;inl lasjcl+r−ant; inl blocksize; inl dir−enlry, gen−entry;inl pairent ry, pair−entry−chd, pair−entry」ass峙i nl sng−entry,sng entry−chd, sng−entr y7assed;/” inl even; use+j to dele+m ine il new file name is odd ot even@ ’) char Hfilebul; Cha「’btrNet:: char sysarea[14] 冨i 0X42, OX4 +, OXO 6, ’S’,T,’A’,’に’,’W,’r,’L’,’D’。 OXOL OXOO, OXOO I;chat nullchar11] −  1 0xDO ];FLE ”xrellile; sjrucl ( char −々l: char new[331; l nellRENAMER−BUF−SIZEI;char sysJpe[ RεNAMER−BUF−SIZEI133];chat file−type [RENAk4ER−BLIF−SIZEI[33];inl xreTlin es; r””””’°j1 111461 1418+11111 jlllHIl  11 11111111111jllllllj tlo”h”””””””/ /’ main ”/ /”””°゛1°1°1°0°°°″′°゛0゛′。°°°″″°“°゛0°″ 1°°°0°″0°ー6°°0°6゛°゛°001゛°0°P°””/ main(inl argc,char ”argv[l)int i,cou nt; unsigned面size of buffer;inl source,+ esutt;char sou+cename[201,resultname [20];if [argc −− 1) 1 print+(’+nX@iso’+” syntax 二\n’);shcp y(sourcename、a+gvll);/’ Formal name  of output file、、、 ’/d伸rgc am 2) 1 slrcpy(+esullname、sourcenamel;’5lrch +(+esullname、’、’) =″Vσ;味モ slrcpy(+esullname、a+gv[211;adderl(so urcename、’、DO3’);addext(+esutlname、” 、lS○コ。 /’ Al1ocate file butlers、 open 5ourc e file and 【ead contents、、、@’/ 5ide−01−buffer II口’LE−BUF−3IZE;fileb ul −(char ’ l halloc(size of−buffer、 21;if (filebul −−NUu) (pnnn(’+nNo! e nough memory for I’ile bufle〜0;exit( 21; buffer −(char ’l malkic(20481;if (bu ffer −= NIJLLI (printl(’InNo! enough  memos for buffer file&つ。 exij(2); SOutce−open(sourcename、0BINARYIO−RDO NLYI;xreffile m 1open(’+ename八0”、Ylへ if (source−−一月l xreffile −−NUu)(if(s (3)「艶mm −1) prinH(’iEr+or opening 5ourca file ’/ 65\n”、sourcenamel;凶迫 printl(”vlError opening tile ’rename A”);hlree(filebuQ; tree(buffer); exit(3); filesize = O; 汰峠m1ze謬O: 市( filesize −filesize + blocksize;l whi le (bb水5ize > 01;if (filesize −= FIL E−BUF−3IZE) (prinH(’Vnsource file%s  too large (must be 1ess than%d byles 1m’。 sourcename、FILE−BUF−3IZE);hlree(file bul); free(buffer); exij[3); r clear out butler after use、 ’/for  (iにi<2048−++1 bufler[il −0x00; close(sourcel; /’ 5etup the x+el array by reading a nd formatling ’renamer”/5etupxref(1; Ic1ose(xreffile); r Go re−1ormal the diteCIory、、、 ’/fi 頑1eO; prinH(’+nEr「or opening result file ” /as\n”、+esullnamel;hf+ee(filebull; free(bufferl; exi141; filecounl −0; 市( if((Iilecounl + 20481 <! l1lesize l  (blocksile = 2048; lse 1 blocksize w−1i1esize −filecounj;file counl III’1lecounj + count;]v+1le(Ii lecounl < filesizel;dose(resunl)。 htree(tjlebu(’l; 什ee(bufferl; pint+(”single entries found m ’/Idv+ ”、sng−entry);prinfI(single entries c hanged−%$n”、sng entry−chdl;printl(’s ingle entries passed e ’/An’、sng−enb y 」assed);exit(0); r””°°゛°゛°°°°°°°°°°°°°°゛°°0°°0°°°0°0° 0°14111111111jlll°°°°°゛゛゛°…求求cl r 5etupxrel(1−Reads and p「ocessed th etile ’+ename〆Ior aoss−teIθ窒■獅モ奄獅■@’ / r”””°°°°°°°°°°°゛°°°°゛0°°”°”0”°0°°°0° °0°1111+16”°°””””””””’/5elupxref(1 /’ 5etup the xrel matrix by reading  the xrel tile and formaiing@1nto mem ory ’/ inj count; i−0゜ while (NULL lx Igels(cyline、RENAMERB UF−3IZE、 xreffilell 1count 奪5scanf(c u+1ine、 ”10(’>]>%l’>l>%l’〉]〉%[’krvI舊 dos name、 rnac−name、 aIea type、typel ;if (sjrlen(dos name) > 20 l counj l a 41 (if [slrlen(dos−name) > 201 tpi ntl(slderr、 ’DOS name ’/as is too@lo ngl’v1°、 dos−namel;else Iprintl(slde rr、 ’Cant understand 1nput 1ine%s[vl o、 curline戟G Tree(lilebuQ; exit(41; sscanl(dos−name、”/as”、xrel[すold); /”  Remove tIailing while−spac■f/ sscanl(mac name、”10s”、xrel[il、newl;5 lrcpy(sys−type[il、 area−typel;sl+cpy (file−type[il、 type);il (++i > RENAM E日−BUF−3IZE)exit(51;XrelIineS m fj r′1°°゛′。”1……°゛…°……°°゛°……°°°°………°°°…… ……””””//’ dox+eQ) −1ooks up ’dosname ’ in xrel malix & maps旧o mac equiv≠撃 ■祉rI r0″″−0°°°°9′″11パ6°III III 1j11111111 1111jl*111111j1111111j11111P1111ja*1 1jllll/ char doxrel(char ’dosname、 char ”mac name、 inj ’1ndexlnIE by (’;=o; i < xIellines; if+1if (slr cmp(dosname、xrellil、old)a、0)(sl+cpy( macname、 xrellil、new)。 ”1ndex m il 「θfu「ntrue; ’1ndex m −1; retum false; /””””°゛1°°°0゛°°°°0°0°′。゛0°′1°°°0°°°゛ 0゛9″−°′。°゛°0″60°Ij1111141@Ih°”/ /’ updalecd(1−updates the od diIecto ry length by adding 1 to cd@bbck cou nt ’/ /””’°0°″。I′11°0″″″°°゛°°′°°″。000″“0″′ 1000101゛000°”””’/md updalecd(unsigne d inl ’aj」x応1jon )unsigned inl i、i、に ;’+w’cdJ)os市Onl /’ calculate new value lo did−end an d CD block ’ /j禦(Iilebul[if161 ’ Ox+ α)) + filebul[i++ 7];j−if2048; k −i / Ox 100; j=i−(k”oxiool; r if di「ectory entry and di「ectory l ength > O°l/” updalecDblocklenglh ’/ H(((filebuqi+25] & 0XO21−−0x02 ) &&  (filebullil > Ol ) 1filebulli+10] −i ; !1lebIJqi++1] −k; filebuf[if121 m filebuf[if13] w 0xOO ;filebufli+14] −filebulli++5] w 0x00 ;fileburli++6] −k; filebu中+171− i; dir end[1asf dir−cnll −dir end[1asl  dir−cnll + 0x800;/’ if associated di 「ectory exists、 update tビl/’ l1lebuf l position + entry length + byte cou nt ’/H(((filebur[i + filebufl1+ 25]  & 0x02)=−0x021&& (filebuf[i + l1letx 川引>01)1filebuqi + filebuflil + 101 菖 j;fllebuii + filebulll+1月露k。 filebuIYi + filebufす+121 = 0xOO;file bufli + filebuflす+131 = 0xOO;filebuq i + filebuflil + +4] −0x00;filebufli  + filetxrQす++5] = 0x00;filebuル+l1le buflil + 161− k;filebuqi + filebulli l + 17]−j;r”””°18@jljj*I4°″′°°°゛09″′ °090°°゛10”0゛0°010°89ゝ°°“6°000°00°00− 0O0°8°”/ /” addext ’/ r0°++In++++*++11111111++++″1°°101°°° 03°°0°゛°°°°゛610°0°l1j11111+P11°jllj@ 66111117 adderj(char ’filename、 char ’m1r 5jr up+(Iilename); ’/if (slrch「(lilename 、’、’)−NLIu)sLrcal(Iilename、exil;/””” ”””””””””””””””””’°10000”0010166000° 001°””””’//’ fixfik+ 1ocates which f ile names will be changed、 1nserL、 t h■@new ’/ /’ name、 1nserjs the system slai dat a and adjusts the 「est ’/r oj the fi le、 会! r””°++++*+++++**°°°°°°°°°°00°1111111 11j11j***@*°°°0°°°1°°°0°111P111Tlj** °0°°I fixfile(1 unsigned inl fileindex、iJ、に;unsigned  inj paddng−1ength;ir+t l、m; ir+j match、 length、 added−length;1nI did; char curjext[801,n油erj[80];char ’cur plr、’ndptr、’5yspjr、’di+plr;unsigned  inj 1aslchunk; r memcpy statement us es an integer vanab撃■@’/ inl 5ysSize; inl 1ndex、1ast−dir、 dir a「ray;unsign ed inl fileindex−slai;char newname[3 3]; unsigned int cur−dr;/’ clear vaiable s used +o track entries ’/dr−en昨冨O1 gen−onjry −0; palr−enlrytIo; pmr entry−chd −0; pair−entryJ+assed −0;Sn9 entry w o; sng−entry−chd −0; sng−entry」assed −0;/” clear tyvl dir ectory end array ”/for (1−1;に−DIR−AR RAY−3IZE;l++1ldr−end[Il −0; r 1dentifies a directory and 5hould  be 5kipped ’/fileindex = fileindex +  length;/’ increment diledol entry c ounler’/dir−entry @ dir−enlry+ j ;αy +bnue; it ((fileindex + length) >@I’1lesize )(return Ialse; r Make 5ure existing dit length is e ven & ’ //’ it 5tarts on an even bou ndary ’/i+ ((length%2 l−0) ll (filei ndex%2 +、 01)(fprintl(slderr、” Bad d irectory length (must be even)m’);re +um false; r find where the ned entry is、 added −length is used to account’^ /’ lot paclding belo+e boundries、 ”  fadded−1englh = O; 1f((l1lebul[l1leindexl !−1ilebuQfile index + lenglhl l &&(filebufifileind ex + lenglhl waIOxOO) 1市( H(filebul[l1leindex + length 4 added −1englhl舞m 0xOO) 1 ack$ed−1ength −aged−1ength + 1 ;l wh ile ((filebulllileindexl 1xfilebuifi leindex + length + added−1engl叩&&(fi lebullfileindex + length + added−len glhl ga 0xOOl &&(aged−length < 256)  l;/’ il the two enll′yLength don’t m atch reset added−length ”/i+ (filebu fjfileindexl 1mfileb$1eindex + lengt h + added lenglhl ladded−1ength −0; r rm assuming that the padding is no  longer needed at 1lis po+n{ ’/ /’ because each pre■ous entry has ha d its name changed and ’/r system ar ea added、 Meaming that its 1ocation  is no longer on f/ r a boundry ’/ /” So move the entry up the added le ngth ’/if (added−length > 01 (dil sr  ackled−length ’ (−11;dilplr −&fileb ut[fileindex + length + added−1ength y;1aslchunk 式(unsigned 1nll (&filebu qtilesizell;−+memmove(dilplr+dil、 di lplr、 1aslchunkl;added−1ength = O; r 1nsert 0XOOatthe end or the file ’ /i −filasize + 1 +d+;for(i=i;i<−file size−++)ifilebufiり誼0x00; rGet pointe「s jo filenames Ior both  enlnes & ’ /r see it 1st 7 chars、 ma tch ”/curptr g &l1lebcrl[fileindex +  331nxtplr W &filebuf[fileindex + le ngth + added−1ength + 33];rnatch m t rue; for (i w O; + < filabullileindex + 3 2] &&iく乙i++、curpjr++、nrlptr++1H((”nd ptr) l−(’curptr)l 1match w−false; r general entry found、 increment cou nter ’/gen−entry m gen−entry + + ;r  Al5o venfy that filename lengths mat ch as well ’/1w dil−end[las奮dir−cnl  −11:/’ what if 1ast−dir−cnt is equal  to + ’ /e19( 1* 0x00; updalecd (&i l; 1 /’ end 1j ’/ l r end I+ ((rileindex + k+ngth、、、、  ’/r′l r1イold file name is even、the「e will  be a t「ailing 0xOO9]1” 1eave the t「a iling 0XOOand adjust the length ofth a ’//” filename so that the 0XOObeco mes part of the 1ife name、 ”/i+((fil ebuIIfileindex + 321%2) =−OHf1lebuQf ileindex + 32トfilebullfileindex + 32 ] + 1 ;fileMII’1leindex + 32 + lengt h + added lengthトfilebul[fileindex +  32 + length + added−1englhl + 1 ;/’ insertnewfilename’/cf+I m slrlen(new namel−ロ1ebuf[)ileindex + 321;if (dit  > 01 ( difptr m &filebulifileindex + 33 + d id;/’ Ptr to excess ’/1aslchunk −(un signed 1nl) (&filebullfilesize −dial  −dilp+rl; −Imemmove(difptr + dil、dilptr、 1aslc ++unkl;memcpy(&rIlebullfileindex + 3 3]。 newname、 slrlen(newnamel;length +−di l1 /” And、 for the companion entry、、、 ’ /dilplr s &filebuQtileinclex + lengt h + added−lengthfilebuりfileindex + l ength + added length + 32] −memcpy ( sysplr、 &5ysa+ealO1,5yssizel;r ″) r Set assoaaled byte of entry one、’/ r9ノ filebutlfileindex + 25] * 0x04;r Hty pe is APPL set the 1niled and bundle  bits ’/if ((ti1ebullfileindex+Iengl h−11m= 0x41) &&(fi1ebu1i1i1eindex+le ngth−101−−0X501 &&(fllebul[1ileindex +lenglh−91−Ox501 &&(1+1ebu11+11einde x+lenglh−8] gm 0x4C1l[!1lebu111ilein dex+lenglh−3] m 0x21;】 1ileindex * fileindex + k+nglh + add ed−length;/’ At this poinL the fi「st  and 5econd entries have had their n a高■刀@’/ /’ 「eplaced and the system aIea 1nse ied、 F「om p「evious checks、 狽■■@’/ /’ rust entry does not cross the 204 8 boundry、 Now you must cheモ求@’/ /’ if after all the moving of the fi 「st entry wil目e 5econd entr凵@’/ /’ aoss alhe 2048 boundry、 l1leindex  is poinbng to 5econd entry@’/ /’ length point ’/lo「(cu「 dil、、ox800 ;cur−dirく=fileindex、cur ciir−cur−dIj ox800);1f((fileindex + lenglhl >−cut −di「−+)[dil −cur−dir −fileindex;ditp lr m &l1lebul[fileindexl;1aslchunk I l (unsigned 1nll (&filebu111ilesize−di ll−di)plrl;fmemmove(dilpl「+di1.dilpl r、1aslchunkl;r padding enrJ ol previ ous directory with 0XOO’/for(i=filei ndex;i〈cur−dir;i++l[filebufiす= 0xOO; fileindex = cur tf+r。 r if your at the La5t CD blodt and 1 sopc needs mate 5pace ’/r update all  values to allow 1sopc ol continue 1 nto tha ’/r the next cd block ’//”wh alildir−endl?]1snolequaHoaJ「−dir ’/1 Qdir−encl[Iasjcjr−cntl 北cur−dirj(iQI asl−dir−cnj>す( i m dir endllasl−dir−cnj −1];rwhat i t 1ast−dir cnj is equal to 1 ″le1閾( i = 0XOO; updalecd (&i l; l r end il ”/ /’ clear co「「esponding byte of next  enlry ’/filebuqfileindex + 25] −0x00 ;ff ((filebu+11i1eindex+l1lebutlfile indexl−111am 0xAjl &&(Iilebul[filein dex+l1lebuqfileindexl−101−−0x501 &&( +1lebu11ti1eindex+l1lebuQfileindexl− 91am 0x501 &&(Iilebul[fileindex+file buIIfileindexl−81m= 0x4C11filebuf[fi leindex+filebulifileindexl−3] −0x21; fileindex II 1ilebu師1eindexl;r ’/ 1 /’ end if (doxrel 、、、、、 ’/els@ +11eindex += length;print+(”Pa1r ent ry passed :\’%sS”m”、curiexll;/” no n ame Iound in renamer、 pair enlnes no t processed ’//’ increment pair−enll y、、passed ’/pair−entry m= pair−entry  −1;paiI−enlry」assed * pai「−entry7as sed + 1 ;1 /’ end if (i>OA& 、、、、 ”/e lse( /’ Get pointers to lilenames lo[both  entries & ’ //’ see if Isl 7 chars、  match ’/curplr W &filebuf[1ileindex  + 331;for (i x o; i < l1lebul[l1lei ndex + 32] &&1く乙i++、curplr++) /’ Al5o verify lha口ilename lengths m atch as well ’/if (i > 01 ( /’ single enl!Yfound、inaemenl single  entry counter ’/sng−entry * sng ent ry + +;rErl+acl the Iilenames so we  can nabty user abou目he match ’/curp( r = &l1lebufl)ileindex + 33];for (i  lIO; i < filebulllileindex + 321; i+ +、curptr++l (curjedlil g ’corplr;] curlextlil=’10’; r dear out added length value ’/adde d−1ength −Oj /’ file and substiMe ’/r the resulL  ”/ r ρrint+(”curjer+−%s”、cuied); ’/げ(do x[e「(&curje、xtlO]、 newname、 &1ndex))  1printl(’Single entry found : S”%S\ ’ and\1嘲\−nl。 curIerl、newname); /” single entry found、name is in ren amer ’//’ increment sng−entry−chd ’/ sng anti chd = sng−enby chd + 1;/” c ur−dil is the value ol the next cd b order (2048,4096,、) ’/for(cur dir−Ox 800;cur−dir<Jileindex;cur−dir−cur−dI jox800);/’ get difference of old nam e and new name ’/dil −slrlen(newname )−filebuf[fileindex+32];/’ check il  new file entry will extend over the  CD border ’/r dil +、 dos−mac name、 + 4 is system 5ize and 1 is for even ’ /r file name lengths ’/ff((fileindex +length司i1++4+11>−(cur−dir−1))(dIj !  cur−dr −fileindex;cUIplr= &tilebutl lileindexl;1aslchunk II (unsigned面) (&1ilebu11fi1esize−dill− dilplQ;−Imemmove(di1pl++dil、dilptr、1 astchunk);/’ paclding end oj previou s directory w曲0xDO’/for (1=Iileindex ;i<cur dir;if+1filebullil −0XOO; /’ update the new fileindex value ’/ fileindex = cur dr;/’ 1j your at the  1ast CD block and 1sopc needs mote  5pace ’//” update all values Io allo w 1sopc ol co曲nue 1nlo the ’//” the  nerl cd block ’//’ whal if dir−end[? ] is not equal to aJr−dir ” /1f(dir− endllasl−dir cnl m= cur−dirlif(last− dir−cnl>す(i II dir−endllasl dir−cnl  −1;r what i目asjdir−cn口s equal to 1’/ e1鵠( i = 0XOO; updalecd (At l; l rend if ’/ 1 /’ end if ((fileindex + length、、、、  ’″lrIl rIl /’ il okj file name is even、there wi ll be a lrailing 0x00 ’//” 1eave the  lraiing 0x00 and adjust由e length of the ”/filebutlfileindex + 321− fileb uIIfileindex + 321 + 1 ;r 1nsert new  file name ’ /dil II slrlen(newnamel  −1ilebuTIIileindex + 32];it (dil >  01 ( dilptr 、、 &l1lebuflfileindex + 33 +  dial;r R+ to excess ’/ 1aslchunk −(unsigned 1nl) (&filebull filesize −difl −difplr); +memmove(cfitplr + dil、 difplr、1aslc hunk);memcpy(&filebul[1ileindex + 33 ]。 newname、slrlen(newnamell;length 4+++  dil; /’ now update the length bytes ’/fil ebulllileindexl +−dil;filebuIIfilein dex + 32 ] −slrlen(newname);/’ Th1s  new modification allows a file name  lo be 1ess than ’//” 5even characteI s but g「eater than or equal to one c haIactel、@’/ else it((did>−−151&& (dil<−0) l/’ ca lculate what data to move up ’ /dilp l+ −&filebull+1leindexl + filebullli leindexl;1aslchunk 寓(unsigned 1nll ( &filebul[l1lesizell;/’ move the data  up、 ’ /1memmove(dilpl++dil、 difplr、  1aslchunkl;/” copy the new file nam e 1nto place ’ /memcpyi&filebul[file index+331. newname、 slrlen(newnamel; length +−if; filebulllileindexl +−did;filebulIfil eindex + 32] * slrlen(newnamel;/’ 1n sorj 0xOOat the end oj tile ’//’ in  this 5ecbon、 dl is a negaMve number  ’//” dil is used twice because ol th e main directory and ’//’ compainion  entry ’ /j−filesize + 1 + dil + did ;jar(ilIj;i<IIIIlesize;if+1filebulli l = 0XOO;】 /’ Th1s 5don 1nserts a padding field  (OxOOl il the ’//’ 1ife name is eve n、 (see 5ection 9.L12 ofiso9660 sld、  ’/if ((slrlen(newname1%2+−01+dil−+; dilplr w、 &)ilebul[l1leindex + 33 +s !+len(newname)1 1aslchunk w−(unsigned 1nll (&filebul lfil+5lze −dial −difplr); −Imemmove(difplr + dil、 dilplr、 1asj chunkl;memcpy(&filebul[l1leindex + 3 3 + slrlen(newnamel。 nullchar、 11; length +−dil; filelxrllfileindexl −rilebuf[l1leind exl + 1;r In5erj some 5pace at end o l entry Ior the new ”//’ system area 、 updale the length bytes of both di reclory ’//’ enlnes and C0PY in the  new data、、、 ’//’ (We already know th at did length & boundal ate even、 so  ’//’ use the 5tandard 5ize Ior syst em areal ’/5ysSize w−13+ ((fileindex  + k=ngth + 13]%2);if ((fileindex +  (length + 5yssizel) > FILE−BUF−3IZE)  (tprinff(slde++、” Ran out of 5pace  for new direcloryW);ratum false; /” bump length ’/ filebuflfileindexl −leng由+ 5yssize。 r Get plr to 5ysa+ea lo be ’/5ysp+r  −&l1lebulllileindex + lenglhl;1aslch unk − (unsigned 1nll ((&l1lebullTilesize − 5yssizel) −5ysplrl;/’ 5ize of tail e nd ’/for(i−0−<−7;i−if1)(sysa+ea[if3]  −5ys−type[1ndexl[il;−tmemmove (sysp lr + 5yssize、5ysp+r、 Iaslchunkl;/” I n5ert the 5pace ’ //’ Copy in the sy stem 1nto ’/memcpy (sysplr、 &5ysarea lO1,5yssizel;/’ Account for 1nsorjed  data ”/length +−5ysSize; r hex 0x52 is a R’/if (file−typelind exllO] −−0x52 ) (filebulllileindex +  25]−0x04;】 else il(file−typelindexl[oj −−0x44)  (filebulllileindex + 25] * 0x00;/” i l type is APPL set the 1niled and bu ndle bits ’/if ((filebullfileindex+l englh41] == 0x41) &&(filebul[fileind ex+lengjh−101−−0X501 &&(fi1ebuflfile index+lenglh−91−−0x501 &&(fileb41ein dex+lenglh・81 g−0x4C) )[filebu11file index+Ienglh−31−0x21;rileindex wt 1i leindex + length;] r end of il (dox、 、、、、 ’/else( fileindex = fileindex + lenglh;r no  name found in renamer lor single ent ry ”//’ single entry not processed、  increment counter ’/sng−entry」assed  −sng−entry」assed + +;sng−enlry−sng−e ntry −1;print(”Single entry passed : \”/6S\”Sn”、curlexj);17” end it (i >  O、、、、、’/1 /’ end ol else ”/] /’ end  while 1oop ’/r At this poinL the new  file name and system area have been  ’/r 1nserted 1nto the cotreet place 、 ’/r Th1s nerl 5edion shi口s the did edories back 1nto place ’/fileindex− start −dir−end[las+−dir−cnl;fileinde x = dir−end[1asl−dir−cnll;while(lile index < dir−end[1asj−dir−cnj+1111eng th m filebuf[filmndexl;H(((Iilebullf ileindex+25] & 0x02 )−−0x02 )&&(leng th > O) I Iaslchunk −(unsigned iml (&filebuQfi lesizell;−Imemmove(di1pl++dil、dilpjr 、1aslchunkl;jt filesize+ 1 + d!I;jor  (k−i; k<−1i1esize;に++1ifilebuf[kl w r 0xOO;fileindex w dir−end[1asj−ci+− cnl+l];else fileindex w fileindex +  1 ;l r end while 1oop ’/fijeindex *  dir−end[tasf−dr−cnll;/’−’l end for 1 oop””’/1 /’ end lor 1oop ’/l r erid  fixfile 「outine ’/浄書(内容に変更なし) 補正書の写しくn訳文)提出書(特許法第184条の8)平成6年4月12日

Claims (6)

    【特許請求の範囲】
  1. 1.CD−ROMディスクのイメージを所定のフォーマットで作成するシステム であって、前記イメージはディレクトリ記録と、第1のオペレーティングシステ ム環境で使用する第1のフオーマットの第1のファイルと、第2のオぺレーティ ングシステム環境で使用する第2のフォーマットの第2のファイルを含み、前記 第1のフォーマットの前記第1のファイルは前記第2のオペレーティングシステ ムの環境と互換性はなく、前記第2のフォーマットの前記第2のファイルは前記 第1のオペレーティングシステム環境と互換性はなく、前記ディレクトリ記録は ファイル名エラーとシステム領域エラーを含み、a)前記第1のファイルを読み 取り、前記読み取った第1のファイルを前記第2のフォーマットの記憶媒体に書 き込む手段と、b)前記第2のファイルを読み取り、前記読み取った第2のファ イルを前記第2のフォーマットの前記記憶媒体に書き込む手段と、c)前記記憶 媒体上の前記第1と第2のファイルを読み取り、CD−ROMディスクの前記イ メージを前記所定のフォーマットで作成する手段と、d)前記第1ファイル読み 取り、書き込み手段によりもたらされた前記イメージ内のファイル名及びシステ ム領域エラーを訂正するのに必要なデータを含んだ第3のファイルを形成する手 段と、 e)前記第3のファイルと前記イメージを読み取り、前記イメージ内のファイル 名及びシステム領域エラーを訂正するイメージ訂正手段とからなる前記システム 。
  2. 2.前記ファイル名エラーは、前記第1のオペレーティングシステムが前記第2 のオペレーティングシステムのものよりも長いファイル名を受け入れるて生じる 請求項1のシステム。
  3. 3.前記システム領域エラーは、前記第1のオぺレーティングシステムがファイ ルフォーク情報を含み、そのディレクトリが各々のファイルのファイルクリエー タとフアイルタイプ情報を含み、その情報は前記第2のオペレーティングシステ ムでは得られない故に生じる請求項2のシステム。
  4. 4.前記第3のファイルは、対応する完全なファイル名、ファイルクリエータ、 フアイルタイプ、ファイルフォーク情報により前記第1のオペレーティングシス テムからの全てのファイルを識別する表を含む請求項3のシステム。
  5. 5.前記イメージ訂正手段は、 a)前記イメージをソースファイルとして読み取り、各々の前記ディレクトリ記 録について、ディレクトリ記録長、ファイル記録長、複数のファイルフラッグ、 ファイル名長、前記ファイル名、第1の作業用メモリの前記システム領域を記憶 する手段と、 b)前記第3のファイルを読み取り、その内容を第2の作業用メモリに記憶する 手段と、 c)前記第1の作業用メモリと前記第2の作業用メモリのファイル名を突き合わ せてその整合性があることを判定して i)前記第1の作業用メモリ内の突き合わせたファイル名を前記第2の作業用メ モリ内の対応する名前に変更し、 ii)前記第1の作業用メモリ内のシステム領域を変更して前記第2の作業用メ モリ内の前記ファイルクリエータ、前記フアイルタイプ、前記ファイルフォーク 情報を含める手段とからなる請求項4のシステム。
  6. 6.前記ファイルフォーク情報は対応するファイルがデータフォーク、資源フォ ーク、データフォークと資源フォークの1つを含むかどうかを識別する請求項5 のシステム。
JP5507731A 1991-10-15 1992-10-09 複数オペレーティングシステムで使用するcd−romディスクを作成する方法と装置 Pending JPH07503084A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US07/776,661 US5359725A (en) 1991-10-15 1991-10-15 Method of creating CD-ROM image of files of different format with proper directories to be read by respective operating systems
US776,661 1991-10-15
PCT/US1992/008623 WO1993008530A1 (en) 1991-10-15 1992-10-09 Method and apparatus for creating a cd-rom disc for use with multiple operating systems

Publications (1)

Publication Number Publication Date
JPH07503084A true JPH07503084A (ja) 1995-03-30

Family

ID=25108047

Family Applications (1)

Application Number Title Priority Date Filing Date
JP5507731A Pending JPH07503084A (ja) 1991-10-15 1992-10-09 複数オペレーティングシステムで使用するcd−romディスクを作成する方法と装置

Country Status (6)

Country Link
US (1) US5359725A (ja)
EP (1) EP0608329B1 (ja)
JP (1) JPH07503084A (ja)
DE (1) DE69229121T2 (ja)
HK (1) HK1011433A1 (ja)
WO (1) WO1993008530A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0895836A (ja) * 1994-09-21 1996-04-12 Midori Denshi Kk 記憶装置の区画データ変換装置および方法
WO1997029426A1 (fr) * 1996-02-09 1997-08-14 Sony Corporation Processeur d'informations, procede de modification de noms de fichiers, et support d'enregistrement sur lequel un programme de changement de nom de fichier est enregistre

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5628014A (en) * 1992-03-20 1997-05-06 Paranode, Inc. Methods and apparatus for node caching at the file level
DE69429378T2 (de) * 1993-04-01 2002-05-23 Microsoft Corp., Redmond Gemeinsamer Speicherbereich für lange und kurze Dateinamen
US6286013B1 (en) * 1993-04-01 2001-09-04 Microsoft Corporation Method and system for providing a common name space for long and short file names in an operating system
CA2126740A1 (en) * 1993-07-06 1995-01-07 Naveen Jain Method and system for incorporation of a utility function into an operating system
JPH08137904A (ja) * 1994-11-14 1996-05-31 Daikin Ind Ltd 動画cdromソフト制作支援方法およびその装置
US5745752A (en) * 1994-12-13 1998-04-28 Microsoft Corporation Dual namespace client having long and short filenames
US6108759A (en) * 1995-02-23 2000-08-22 Powerquest Corporation Manipulation of partitions holding advanced file systems
US5930831A (en) * 1995-02-23 1999-07-27 Powerquest Corporation Partition manipulation architecture supporting multiple file systems
US5675769A (en) * 1995-02-23 1997-10-07 Powerquest Corporation Method for manipulating disk partitions
US5706472A (en) * 1995-02-23 1998-01-06 Powerquest Corporation Method for manipulating disk partitions
US5819290A (en) * 1995-04-10 1998-10-06 Sony Corporation Data recording and management system and method for detecting data file division based on quantitative number of blocks
US5608905A (en) * 1995-04-25 1997-03-04 Software Architects, Inc. DOS and Macintosh preformatted computer storage media
FR2734380B1 (fr) * 1995-05-19 1997-07-04 Syseca Dispositif de distribution et de memorisation d'informations multimedias
US5953514A (en) * 1995-10-23 1999-09-14 Apple Computer, Inc. Method and apparatus for transparent remote execution of commands
DE69717360T2 (de) * 1996-02-16 2003-06-18 Koninklijke Philips Electronics N.V., Eindhoven Subsystem-platform zum ausführen von multimediaanwendungsprogrammtiteln, und verfahren und medium zur speicherung von multimediaanwendung informationen
US6035396A (en) * 1996-07-01 2000-03-07 Iomega Corporation Method for sharing a storage medium between computers having disparate operating systems
US6101506A (en) * 1997-05-01 2000-08-08 Hitachi, Ltd. Method and system for managing files by version and programs therefor
US6658417B1 (en) 1997-12-31 2003-12-02 International Business Machines Corporation Term-based methods and apparatus for access to files on shared storage devices
US6694317B1 (en) * 1997-12-31 2004-02-17 International Business Machines Corporation Method and apparatus for high-speed access to and sharing of storage devices on a networked digital data processing system
US7010532B1 (en) 1997-12-31 2006-03-07 International Business Machines Corporation Low overhead methods and apparatus for shared access storage devices
US6285774B1 (en) 1998-06-08 2001-09-04 Digital Video Express, L.P. System and methodology for tracing to a source of unauthorized copying of prerecorded proprietary material, such as movies
US6578054B1 (en) * 1999-10-04 2003-06-10 Microsoft Corporation Method and system for supporting off-line mode of operation and synchronization using resource state information
JP2001126407A (ja) * 1999-10-27 2001-05-11 Sony Corp 情報管理方法及び装置
US6957425B1 (en) * 1999-11-30 2005-10-18 Dell Usa, L.P. Automatic translation of text files during assembly of a computer system
US6604152B1 (en) * 1999-12-27 2003-08-05 Intel Corporation Executing program installed in computer slot in one of plural environments comprising a main operating system or small operating system or no operating system
US6725258B1 (en) * 2000-01-20 2004-04-20 Family Man, Inc. Removable storage medium with network enhancement and method of presenting same
DE10008145A1 (de) * 2000-02-22 2001-08-30 Axel Urbanski Verfahren zur Bereitstellung von Inhalten aus Wechselmedien in einem Computernetzwerk
DE10008144A1 (de) * 2000-02-22 2001-08-30 Axel Urbanski Verfahren zur Bereitstellung von Inhalten von Datenträgern in einem Computernetzwerk
US6810446B1 (en) * 2000-03-31 2004-10-26 Sony Corporation System and method for navigating and deleting descriptors
KR100386237B1 (ko) * 2000-12-13 2003-06-02 엘지전자 주식회사 정보 재생장치의 파일 관리 방법
US20020143779A1 (en) * 2001-03-27 2002-10-03 Backman Drake A. Data structures and methods for imaging computer readable media
US7016920B2 (en) * 2001-05-25 2006-03-21 International Business Machines Corporation Method for tracking relationships between specified file name and particular program used for subsequent access in a database
US20030081932A1 (en) * 2001-10-25 2003-05-01 Hanes David H. Computer-readable medium and method for providing a generic interface to a CD-recorder device
US6830065B2 (en) * 2002-01-11 2004-12-14 Broan-Nutone Llc Duct connector apparatus and method
US6909910B2 (en) 2002-02-01 2005-06-21 Microsoft Corporation Method and system for managing changes to a contact database
CA2391717A1 (en) * 2002-06-26 2003-12-26 Ibm Canada Limited-Ibm Canada Limitee Transferring data and storing metadata across a network
US7761488B2 (en) * 2003-05-06 2010-07-20 Apple Inc. File creation API
US7644376B2 (en) 2003-10-23 2010-01-05 Microsoft Corporation Flexible architecture for notifying applications of state changes
US8321439B2 (en) 2004-12-17 2012-11-27 Microsoft Corporation Quick filename lookup using name hash
US7873596B2 (en) 2006-05-23 2011-01-18 Microsoft Corporation Extending cluster allocations in an extensible file system
US8606830B2 (en) 2004-12-17 2013-12-10 Microsoft Corporation Contiguous file allocation in an extensible file system
US9639554B2 (en) 2004-12-17 2017-05-02 Microsoft Technology Licensing, Llc Extensible file system
US7454406B2 (en) * 2005-04-29 2008-11-18 Adaptec, Inc. System and method of handling file metadata
CN103432693A (zh) * 2013-08-07 2013-12-11 郁赛华 一种防火降温的消防服

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0317753A (ja) * 1989-06-14 1991-01-25 Fuji Xerox Co Ltd ファイルアクセス方式

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5101494A (en) * 1986-09-26 1992-03-31 Bull Hn Information Systems Inc. System for producing memory maps by interpreting a descriptor file which identifies and describes the data structures present in memory
US5121492A (en) * 1987-03-02 1992-06-09 Meridian Data, Inc. System for simulating access times of a CD ROM on a hard disk by slowing the operation of the hard disk
US5040110A (en) * 1987-10-30 1991-08-13 Matsushita Electric Industrial Co., Ltd. Write once read many optical disc storage system having directory for storing virtual address and corresponding up-to-date sector address
US4947367A (en) * 1988-03-28 1990-08-07 Emc Corporation System for converting digital data from magnetic tape format apparatus and method for converting a sequentially accessible magnetic tape data format to directly accessible write-once disk data format to worm optical disk format
US4956806A (en) * 1988-07-12 1990-09-11 International Business Machines Corporation Method and apparatus for editing source files of differing data formats using an edit tracking file
JPH02165241A (ja) * 1988-12-19 1990-06-26 Toshiba Corp ファイルアクセス方式
US5029125A (en) * 1989-03-07 1991-07-02 Drexler Technology Corporation Method of reading and writing files on nonerasable storage media
US5119465A (en) * 1989-06-19 1992-06-02 Digital Equipment Corporation System for selectively converting plurality of source data structures through corresponding source intermediate structures, and target intermediate structures into selected target structure

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0317753A (ja) * 1989-06-14 1991-01-25 Fuji Xerox Co Ltd ファイルアクセス方式

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0895836A (ja) * 1994-09-21 1996-04-12 Midori Denshi Kk 記憶装置の区画データ変換装置および方法
WO1997029426A1 (fr) * 1996-02-09 1997-08-14 Sony Corporation Processeur d'informations, procede de modification de noms de fichiers, et support d'enregistrement sur lequel un programme de changement de nom de fichier est enregistre
US6144969A (en) * 1996-02-09 2000-11-07 Sony Corporation File name conversion

Also Published As

Publication number Publication date
DE69229121D1 (de) 1999-06-10
WO1993008530A1 (en) 1993-04-29
EP0608329B1 (en) 1999-05-06
EP0608329A4 (en) 1996-10-02
DE69229121T2 (de) 1999-12-16
EP0608329A1 (en) 1994-08-03
US5359725A (en) 1994-10-25
HK1011433A1 (en) 1999-07-09

Similar Documents

Publication Publication Date Title
JPH07503084A (ja) 複数オペレーティングシステムで使用するcd−romディスクを作成する方法と装置
CA2137492C (en) System for and method of providing delta-versioning of the contents of pcte file objects
US5355472A (en) System for substituting tags for non-editable data sets in hypertext documents and updating web files containing links between data sets corresponding to changes made to the tags
AU707161B2 (en) Compact disc recording system and method
US5267351A (en) Media storage and retrieval system
CA2099911C (en) Method and system for transactioning of modifications to a tree structured file
JP4660607B2 (ja) 拡張可能ファイル形式
CN1101627C (zh) 数据传输设备及其相应指令的使用方法
JPH04504018A (ja) 消去不可能な記憶媒体上にファイルを読出しかつ書込む方法
EP0263014B1 (fr) Procédé de gestion de fichiers sur un support d'information non-effacable
US20040205583A1 (en) System and method for supporting non-native XML in native XML of a word-processor document
CA2533770A1 (en) Serialization of file system item(s) and associated entity(ies)
KR20080020647A (ko) 표준적 재생목록을 생성하고 일관성을 유지하는 방법,컴퓨터 판독가능 매체 및 시스템
WO2002082258A2 (en) File management method
JPH10188481A (ja) Cd−romの作成方法とその作成システム
US8239544B2 (en) Removable storage content transfer
WO2003025935A1 (en) Method for processing information parts of recorded data
JP2003030065A5 (ja) 管理情報データベース構造定義ファイル結合方法、ネットワークデバイス管理システムおよび管理情報データベース構造定義ファイルを結合するための処理プログラムならびに管理デバイス
Karnoouh Mervyn James, Family, Lineage and Civil Society. A Study of Society, Politics and Mentality in the Durham Region, 1500-1640.
JP3467701B1 (ja) 不正複製防止機能付cd−rom
Sanghera Input and Output in Java
Story A Proposal for Data Formats within DELPHI
Yue Archiving New Zealand Digital Games From 80's and 90's
Summers Introduction to ISO 9660
JP2003015924A (ja) ファイル管理方法

Legal Events

Date Code Title Description
A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20041006

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20041012