summaryrefslogtreecommitdiff
path: root/third_party/fatfs/doc/ja
diff options
context:
space:
mode:
authorYuval Adam <yuv.adm@gmail.com>2014-08-08 14:42:07 +0300
committerYuval Adam <yuv.adm@gmail.com>2014-08-08 14:42:07 +0300
commita6163888f3c56123b1db313743c6147ba498732c (patch)
treeff7d15d991d1d09ba6cbc0cec80924f57445bfdd /third_party/fatfs/doc/ja
parentc3e4c9a25c2910d2d66d52215b3406b13d5b23d5 (diff)
Add third_party libs
Diffstat (limited to 'third_party/fatfs/doc/ja')
-rw-r--r--third_party/fatfs/doc/ja/appnote.html125
-rw-r--r--third_party/fatfs/doc/ja/chmod.html89
-rw-r--r--third_party/fatfs/doc/ja/close.html60
-rw-r--r--third_party/fatfs/doc/ja/dinit.html44
-rw-r--r--third_party/fatfs/doc/ja/dioctl.html65
-rw-r--r--third_party/fatfs/doc/ja/dread.html58
-rw-r--r--third_party/fatfs/doc/ja/dstat.html47
-rw-r--r--third_party/fatfs/doc/ja/dwrite.html66
-rw-r--r--third_party/fatfs/doc/ja/fattime.html50
-rw-r--r--third_party/fatfs/doc/ja/filename.html56
-rw-r--r--third_party/fatfs/doc/ja/getfree.html91
-rw-r--r--third_party/fatfs/doc/ja/lseek.html87
-rw-r--r--third_party/fatfs/doc/ja/mkdir.html83
-rw-r--r--third_party/fatfs/doc/ja/mkfs.html73
-rw-r--r--third_party/fatfs/doc/ja/mount.html59
-rw-r--r--third_party/fatfs/doc/ja/mountdrv.html58
-rw-r--r--third_party/fatfs/doc/ja/open.html135
-rw-r--r--third_party/fatfs/doc/ja/opendir.html73
-rw-r--r--third_party/fatfs/doc/ja/read.html71
-rw-r--r--third_party/fatfs/doc/ja/readdir.html89
-rw-r--r--third_party/fatfs/doc/ja/rename.html86
-rw-r--r--third_party/fatfs/doc/ja/sdir.html42
-rw-r--r--third_party/fatfs/doc/ja/sfatfs.html63
-rw-r--r--third_party/fatfs/doc/ja/sfile.html54
-rw-r--r--third_party/fatfs/doc/ja/sfileinfo.html43
-rw-r--r--third_party/fatfs/doc/ja/stat.html73
-rw-r--r--third_party/fatfs/doc/ja/sync.html61
-rw-r--r--third_party/fatfs/doc/ja/unlink.html68
-rw-r--r--third_party/fatfs/doc/ja/write.html71
29 files changed, 2040 insertions, 0 deletions
diff --git a/third_party/fatfs/doc/ja/appnote.html b/third_party/fatfs/doc/ja/appnote.html
new file mode 100644
index 0000000..ab82799
--- /dev/null
+++ b/third_party/fatfs/doc/ja/appnote.html
@@ -0,0 +1,125 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFsモジュール アプリケーション・ノート</title>
+</head>
+
+<body>
+<h1>FatFsモジュール アプリケーション・ノート</h1>
+<hr>
+
+<div class="para">
+<h3>移植の際に配慮すべきこと</h3>
+<p>FatFsモジュールは移植性に関して次の点を前提としています。</p>
+<ul>
+<li>処理系はANSI C準拠であること。<br>
+FatFsモジュールはANSI C準拠で記述されているので、ANSI C準拠のコンパイラなら特に処理系依存な点はありません。ただし、FATというシステム間でポータブルな構造体を操作するため、プロセッサのエンディアンの違いは意識する必要があります。これは ff.h(tff.h) で定義されているので、最初にこれを適切に設定します(忘れている場合はエラーを出す)。</li>
+<li>char/short/long のサイズは、それぞれ 8/16/32ビット で、intは 16ビット以上 であること。<br>
+これは integer.h 内で typedef されています。整数の型とサイズに関しては、まっとうな処理系なら問題ないはずですが、既存の定義と衝突した場合は矛盾がないように注意しなければなりません。</li>
+</ul>
+</div>
+
+<div class="para">
+<h3>メモリ使用量 (R0.04b)</h3>
+<p>各種環境でのモジュールのメモリ使用量の例を示します。数値の単位はバイトで、Dは論理ドライブ数、Fは同時オープン・ファイル数を示します。最適化オプションは、全てコード・サイズとしています。</p>
+<table class="lst2">
+<tr><th></th><th>AVR</th><th>H8/300H</th><th>MSP430</th><th>TLCS-870/C</th><th>V850ES</th><th>SH2</th></tr>
+<tr><td>コンパイラ</td><td>gcc</td><td>CH38</td><td>CL430</td><td>CC870C</td><td>CA850</td><td>SHC</td></tr>
+<tr><td>_MCU_ENDIAN</td><td>1</td><td>2</td><td>2</td><td>1</td><td>1</td><td>2</td></tr>
+<tr><td>FatFs コード<br>(標準, R/W構成)</td><td>8722</td><td>8776</td><td></td><td></td><td>6402</td><td>7338</td></tr>
+<tr><td>FatFs コード<br>(最小, R/W構成)</td><td>5814</td><td>5722</td><td></td><td></td><td>4094</td><td>4906</td></tr>
+<tr><td>FatFs コード<br>(標準, R/O構成)</td><td>4248</td><td>4096</td><td></td><td></td><td>3010</td><td>3506</td></tr>
+<tr><td>FatFs コード<br>(最小, R/O構成)</td><td>3038</td><td>3110</td><td></td><td></td><td>2210</td><td>2698</td></tr>
+<tr><td>FatFs 静的ワーク</td><td>D*2 + 2</td><td>D*4 + 2</td><td></td><td></td><td>D*4 + 2</td><td>D*4 + 2</td></tr>
+<tr><td>FatFs 動的ワーク</td><td>D*554 + F*544</td><td>D*554 + F*550</td><td></td><td></td><td>D*554 + F*550</td><td>D*554 + F*550</td></tr>
+<tr><td>Tiny-FatFs コード<br>(標準, R/W構成)</td><td>7264</td><td>7240</td><td>6634</td><td>8837</td><td></td><td></td></tr>
+<tr><td>Tiny-FatFs コード<br>(最小, R/W構成)</td><td>4750</td><td>4806</td><td>4366</td><td>6163</td><td></td><td></td></tr>
+<tr><td>Tiny-FatFs コード<br>(標準, R/O構成)</td><td>3600</td><td>3548</td><td>3212</td><td>4347</td><td></td><td></td></tr>
+<tr><td>Tiny-FatFs コード<br>(最小, R/O構成)</td><td>2568</td><td>2702</td><td>2394</td><td>3322</td><td></td><td></td></tr>
+<tr><td>Tiny-FatFs 静的ワーク</td><td>4</td><td>6</td><td>4</td><td>4</td><td></td><td></td></tr>
+<tr><td>Tiny-FatFs 動的ワーク</td><td>544 + F*28</td><td>544 + F*32</td><td>544 + F*28</td><td>544 + F*28</td><td></td><td></td></tr>
+</table>
+</div>
+
+<div class="para">
+<h3>FatFs vs. Tiny-FatFs</h3>
+<p>ポータブル・オーディオやデータ・ロガーなど、よくある用途ではTiny-FatFsで十分です。しかし、Tiny-FatFsは標準構成ではFAT32に対応していないので、使用できるディスクは2GB(FAT64で4GB)までという制約があります。<tt>_FAT32</tt>オプションでFAT32対応を追加できますが、その分コード・サイズが膨らみます。フル機能のFatFsは、複数ファイルを高速アクセスする場合や、複数ドライブの対応が必要な場合に有効です。</p>
+<div class="rset">
+<table class="lst2">
+<tr><th>メモリ容量</th><th>FATタイプ</th></tr>
+<tr><td>&lt;= 64MB</td><td>FAT12</td></tr>
+<tr><td>128MB〜2GB</td><td>FAT16</td></tr>
+<tr><td>&gt;= 4GB</td><td>FAT32</td></tr>
+</table>
+</div>
+<p>2GBまでのカードに限るなら、FAT32への対応は不要です。右の表にメモリ・カードの容量と規定のFATタイプ(SDメモリの場合)を示します。メモリ・カードの出荷時は、最大のパフォーマンスが出るようにデータ領域の境界が調整されたフォーマットになっています。したがって、PCでフォーマットするなどして規定と違うフォーマットになると、書き込み性能が大幅に低下する場合があるので注意が必要です。</p>
+</div>
+
+<div class="para">
+<h3>効率の良いファイル・アクセスの方法</h3>
+<p>資源の限られた組み込みシステムで効率よくアクセスするためには、ファイル・アクセスの仕組みをある程度意識した使用が求められます。FatFsモジュールでは、ディスク上のファイル・データは f_read()内で次のような手順で読み出されます。</p>
+<div class="lset">図1. セクタ・ミスアライメント・リード<br>
+<img src="../img/f1.png" width="490" height="73" alt="fig.1">
+</div>
+<br class="clr">
+<div class="lset">図2. セクタ・ミスアライメント・リード<br>
+<img src="../img/f2.png" width="490" height="140" alt="fig.2">
+</div>
+<br class="clr">
+<div class="lset">図3. セクタ・アライメント・リード<br>
+<img src="../img/f3.png" width="490" height="119" alt="fig.3">
+</div>
+<br class="clr">
+<p>ここでファイルI/Oバッファとは、データ・セクタの一部を読み書きするための1セクタ長のバッファで、FatFsではそのファイル・オブジェクト内の、Tiny-FatFsではワークエリア内のバッファのことを指しています。</p>
+<p>Tiny-FatFsでは、全てのデータ転送とFATやディレクトリへのアクセスをただ一つのセクタ・バッファで行っているため、データ転送によりFATのキャッシュが失われ、クラスタ境界を通過するたびにFATセクタを読み直す必要があります。FatFsの場合は、データ用バッファはFAT用とは別なので、FATセクタを読む頻度はTiny-FatFsの 1/341, 1/256 または 1/128で済みます(クラスタが連続している場合)。つまり、Tiny-FatFsは性能低下の代償を払ってRAM使用量を削減しているわけです。</p>
+<p>転送領域のうちセクタ全体を含む部分は(図2)のようにファイルI/Oバッファを介さず、ディスクとの間で直接転送されます。完全なセクタ・アライメント・アクセスの場合(図3)は、ファイルI/Oバッファは全く使用されません。直接転送では、可能ならdisk_read()に複数セクタを指定して最大限のマルチ・セクタ転送が行われます。ただし、クラスタ境界をまたぐときはクラスタが隣接していたとしても転送は分割されます。</p>
+<p>このように、極力セクタ・アライメント・アクセスになるように配慮すれば、無駄なメモリ・コピーが減って性能が向上します。さらに、Tiny-FatFsではFATのキャッシュが生きるようになり、省メモリ特性とFatFsの性能とが同時に得られます。</p>
+</div>
+
+<div class="para">
+<h3>クリチカル・セクション</h3>
+<p>ディスク上のFAT構造を操作している途中で、停電、不正なメディアの取り外し、回復不能なデータ・エラー等の障害が発生すると、処理が中途半端な状態で中断され、その結果としてFAT構造が破壊される可能性があります。次にFatFsモジュールにおけるクリチカル・セクションと、その間の障害により起きうるエラーの状態を示します。</p>
+<div class="lset">
+図4. 長いクリチカル・セクション<br>
+<img src="../img/f4.png" width="320" height="436" alt="fig.4">
+</div>
+<div class="lset">
+図5. 短くしたクリチカル・セクション<br>
+<img src="../img/f5.png" width="320" height="436" alt="fig.5">
+</div>
+<br class="clr">
+<p>赤で示したセクションを実行中に障害が発生した場合、クロス・リンクが発生して操作対象のファイル・ディレクトリが失われる可能性があります。黄色で示したセクションを実行中に障害が発生した場合、つぎのうちいずれかまたは複数の結果が生じる可能性があります。</p>
+<ul>
+<li>書き換え中のファイルの内容が破壊される。</li>
+<li>追記中のファイルがオープン前の状態に戻る。</li>
+<li>新規に作成されたファイルが消える。</li>
+<li>新規または上書きで作成されたファイルの長さがゼロになって残る。</li>
+<li>ロストチェーンの発生によりディスクの利用効率が悪化する。</li>
+</ul>
+<p>いずれも書き込み中や操作対象でないファイルには影響はありません。これらのクリチカル・セクションは、ファイルを書き込みモードで開いている時間を最小限にするか、f_sync()を適宜使用することで図5のようにリスクを最小化することができます。</p>
+</div>
+
+
+<div class="para">
+<h3>現リビジョンの問題点とその改善案</h3>
+<ul>
+<li>ファイル・オブジェクトの抽象化<br>
+現在はファイル・オブジェクトの実体をアプリケーション側で管理しているので、アプリケーション・モジュールでのスタック消費量が多くなります(Tiny-FatFsでは問題にならない)。これをハンドルで管理するなどより抽象化すればアプリケーション・モジュールでのスタック消費量を減らせるし、他のファイル・システムへの対応も容易になります。この場合、FatFs内でファイル・オブジェクトの領域を静的に確保しておくか、malloc()することになります。ただし、このようにするとファイル・オブジェクトを直接参照できなくなり、feofやftellなどムダな関数が新たに必要になります。</li>
+<li>セクタ・バッファ管理の改善<br>
+現在はセクタ・バッファを固定して使用しているため、無駄なディスクアクセスが多く効率が悪い。メモリの潤沢なシステムでは、複数のセクタ・バッファを使用してディスク・キャッシュを構成すれば性能を向上させることができます。</li>
+<li>長いファイル名への対応<br>
+FATの拡張仕様ではMS-DOSの8.3形式ファイル名に加え、255文字までの長いファイル名(LFN)を扱えるようになっていますが、現リビジョンでは未対応で8.3形式しか使用できません。これに対応するには、ファイル名だけでも500バイト以上のバッファが必要になったり、UCS-2とShift_JISの相互変換(巨大な変換テーブルを使う)が必要となるなど、メモリの消費が爆発的に増えてしまいます。なお、LFNの機能はMicrosoft社の特許になっているため、これを製品に使うにはライセンス契約が必要です。</li>
+<li>RTOSへの対応<br>
+FatFsモジュールを使用するタスクを一つに限るなら特に意識する必要はありませんが、同じ論理ドライブに複数のタスクから同時アクセスするには、何らかの排他制御が必要になってきます。FatFsモジュールのRTOSへの対応作業は、<a href="http://www.toppers.jp/">TOPPERSプロジェクト</a>で行われています。</li>
+</ul>
+<br>
+<p>そして、これらの機能拡張を行うとそれだけ多くのリソースが要求されるようになり、このプロジェクトの対象とする8/16ビット・マイコンのシステムに載せられなくなってしまうという問題もあります(これが一番の問題かも知れません)。</p>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/chmod.html b/third_party/fatfs/doc/ja/chmod.html
new file mode 100644
index 0000000..8c76674
--- /dev/null
+++ b/third_party/fatfs/doc/ja/chmod.html
@@ -0,0 +1,89 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - f_chmod</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>f_chmod</h2>
+<p>ファイルまたはディレクトリの属性を変更します。</p>
+<pre>
+FRESULT f_chmod (
+ const char* <em>FileName</em>, /* ファイルまたはディレクトリ名へのポインタ */
+ BYTE <em>Attribute</em>, /* 設定値 */
+ BYTE <em>AttributeMask</em> /* 変更マスク */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>FileName</dt>
+<dd>属性変更対象のファイルまたはディレクトリの<a href="filename.html">フルパス名</a>の入った<tt>'\0'</tt>で終わる文字列を指定します。</dd>
+<dt>Attribute</dt>
+<dd>設定する属性。指定可能な属性は次の通りで、これらの組み合わせで指定します。指定されなかった属性は解除されます。<br>
+<table class="lst">
+<tr><th>値</th><th>意味</th></td>
+<tr><td>AM_RDO</td><td>リード・オンリー</td></td>
+<tr><td>AM_ARC</td><td>アーカイブ</td></td>
+<tr><td>AM_SYS</td><td>システム</td></td>
+<tr><td>AM_HID</td><td>ヒドゥン</td></td>
+</table>
+</dd>
+<dt>AttributeMask</dt>
+<dd>変更する属性のマスク。指定した属性が設定または解除され、指定されなかった属性は状態が保持されます。<tt>Attribute</tt>と同じ値を使います。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>FR_OK (0)</dt>
+<dd>正常終了。</dd>
+<dt>FR_NO_FILE</dt>
+<dd>ファイルが見つからない。</dd>
+<dt>FR_NO_PATH</dt>
+<dd>パスが見つからない。</dd>
+<dt>FR_INVALID_NAME</dt>
+<dd>パス名が不正。</dd>
+<dt>FR_INVALID_NAME</dt>
+<dd>ドライブ番号が不正。</dd>
+<dt>FR_NOT_READY</dt>
+<dd>メディアがセットされていないなど、ディスク・ドライブが動作不能状態。</dd>
+<dt>FR_WRITE_PROTECTED</dt>
+<dd>メディアが書き込み禁止状態。</dd>
+<dt>FR_RW_ERROR</dt>
+<dd>ディスク・エラーまたは内部エラーによる失敗。</dd>
+<dt>FR_NOT_ENABLED</dt>
+<dd>その論理ドライブにワーク・エリアが与えられていない。</dd>
+<dt>FR_NO_FILESYSTEM</dt>
+<dd>ディスク上に有効なFATパーテーションが見つからない。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>解説</h4>
+<p>ファイルまたはディレクトリの属性を変更します。リード・オンリー構成および<tt>_FS_MINIMIZE &gt;= 1</tt>ではこの関数はサポートされません。</p>
+</div>
+
+
+<div class="para">
+<h4>使用例</h4>
+<pre>
+ // Set read-only flag , clear archive flag and others are left unchanged.
+ f_chmod("file.txt", AM_RDO, AM_RDO | AM_ARC);
+</pre>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/close.html b/third_party/fatfs/doc/ja/close.html
new file mode 100644
index 0000000..2da739a
--- /dev/null
+++ b/third_party/fatfs/doc/ja/close.html
@@ -0,0 +1,60 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - f_close</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>f_close</h2>
+<p>ファイルを閉じます。</p>
+<pre>
+FRESULT f_close (
+ FIL* <em>FileObject</em> /* ファイル・オブジェクトへのポインタ */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>FileObject</dt>
+<dd>閉じようとするファイルのファイル・オブジェクト構造体へのポインタを指定します。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>FR_OK (0)</dt>
+<dd>正常終了。</dd>
+<dt>FR_RW_ERROR</dt>
+<dd>ディスク・エラーまたは内部エラーによる失敗。</dd>
+<dt>FR_NOT_READY</dt>
+<dd>メディアがセットされていないなど、ディスク・ドライブが動作不能状態。</dd>
+<dt>FR_INVALID_OBJECT</dt>
+<dd>無効なファイル・オブジェクト。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>解説</h4>
+<p>ファイルを閉じます。書き込みの行われたファイルの場合、キャッシュされた状態(R/Wバッファ上のデータ、変更されたFATやディレクトリ項目)はディスクに書き戻されます。関数が正常終了すると、そのファイル・オブジェクトは無効になり、そのメモリも解放できます。読み込み専用モードで開かれたファイル・オブジェクトは、この関数によるクローズ処理を経ずに破棄することもできます。</p>
+</div>
+
+
+<div class="para">
+<h4>参照</h4>
+<tt><a href="open.html">f_open</a>, <a href="read.html">f_read</a>, <a href="write.html">f_write</a>, <a href="sync.html">f_sync</a>, <a href="sfile.html">FIL</a>, <a href="sfatfs.html">FATFS</a></tt>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/dinit.html b/third_party/fatfs/doc/ja/dinit.html
new file mode 100644
index 0000000..7a32450
--- /dev/null
+++ b/third_party/fatfs/doc/ja/dinit.html
@@ -0,0 +1,44 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - disk_initialize</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>disk_initialize</h2>
+<p>ディスク・ドライブを初期化します。</p>
+<pre>
+DSTATUS disk_initialize (
+ BYTE <em>Drive</em> /* 物理ドライブ番号 */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>Drive</dt>
+<dd>初期化する物理ドライブ番号(0-9)を指定します。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<p>この関数は戻り値としてディスク・ステータスを返します。ディスク・ステータスの詳細に関しては<tt><a href="dstat.html">disk_status()</a></tt>を参照してください。</p>
+</div>
+
+<div class="para">
+<h4>解説</h4>
+<p>ディスク・ドライブを初期化します。関数が成功すると、戻り値の<tt>STA_NOINIT</tt>フラグがクリアされます。</p>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/dioctl.html b/third_party/fatfs/doc/ja/dioctl.html
new file mode 100644
index 0000000..519f7c6
--- /dev/null
+++ b/third_party/fatfs/doc/ja/dioctl.html
@@ -0,0 +1,65 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - disk_ioctl</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>disk_ioctl</h2>
+<p>セクタの読み書き以外のディスク・ドライブ自体に対する様々な制御をします。</p>
+<pre>
+DRESULT disk_ioctl (
+ BYTE <em>Drive</em>, /* 物理ドライブ番号 */
+ BYTE <em>Command</em>, /* 制御コマンド */
+ void* <em>Buffer</em> /* データ受け渡しバッファ */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>Drive</dt>
+<dd>物理ドライブ番号(0-9)を指定します。</dd>
+<dt>Command</dt>
+<dd>制御コマンド・コードを指定します。</dd>
+<dt>Buffer</dt>
+<dd>制御コマンドに依存したパラメータを授受するバッファを指すポインタを指定します。バッファを使用しないコマンドの場合は、NULLを指定します。</dd>
+</dl>
+</div>
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>RES_OK (0)</dt>
+<dd>正常終了。</dd>
+<dt>RES_ERROR</dt>
+<dd>何らかのエラーが発生した。</dd>
+<dt>RES_PARERR</dt>
+<dd>コマンドが不正。</dd>
+<dt>RES_NOTRDY</dt>
+<dd>ドライブが動作可能状態ではない、または初期化されていない。</dd>
+</dl>
+</div>
+
+<div class="para">
+<h4>解説</h4>
+<p>物理ドライブの種類によりサポートされるコマンドは異なりますが、FatFsモジュールでは、ドライブの種類に依存した制御は行いません。次のドライブ共通コマンドを使用します。</p>
+<p>リード・オンリー構成ではこの関数は必要とされません。</p>
+<table class="lst">
+<tr><th>コマンド</th><th>解説</td></tr>
+<tr><td>GET_SECTOR_COUNT</td><td>Bufferの指すDWORD変数にドライブ上の総セクタ数を返します。</td></tr>
+<tr><td>CTRL_SYNC</td><td>ドライブがデータの書き込みを完了するのを待ちます。ライト・バック・キャッシュを持っている場合は、書き込まれていないデータを即時書き戻します。</td></tr>
+</table>
+</div>
+
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/dread.html b/third_party/fatfs/doc/ja/dread.html
new file mode 100644
index 0000000..f665b04
--- /dev/null
+++ b/third_party/fatfs/doc/ja/dread.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - disk_read</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>disk_read</h2>
+<p>ディスクからセクタを読み出します。</p>
+<pre>
+DRESULT disk_read (
+ BYTE <em>Drive</em>, /* 物理ドライブ番号 */
+ BYTE* <em>Buffer</em>, /* 読み出しバッファへのポインタ */
+ DWORD <em>SectorNumber</em>, /* 読み出し開始セクタ番号 */
+ BYTE <em>SectorCount</em> /* 読み出しセクタ数 */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>Drive</dt>
+<dd>物理ドライブ番号(0-9)を指定します。</dd>
+<dt>Buffer</dt>
+<dd>ディスクから読み出したデータを格納するバッファ。<tt>SectorCount * 512</tt>バイトのサイズが必要です。</dd>
+<dt>SectorNumber</dt>
+<dd>読み出しを開始するセクタ番号。LBAで指定します。</dd>
+<dt>SectorCount</dt>
+<dd>読み出すセクタ数。 1〜255で設定します</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>RES_OK (0)</dt>
+<dd>正常終了。</dd>
+<dt>RES_ERROR</dt>
+<dd>読み込み中にエラーが発生した。</dd>
+<dt>RES_PARERR</dt>
+<dd>パラメータが不正。</dd>
+<dt>RES_NOTRDY</dt>
+<dd>ドライブが動作可能状態ではない(初期化されていない)。</dd>
+</dl>
+</div>
+
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/dstat.html b/third_party/fatfs/doc/ja/dstat.html
new file mode 100644
index 0000000..9e04ccb
--- /dev/null
+++ b/third_party/fatfs/doc/ja/dstat.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - disk_status</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>disk_status</h2>
+<p>ディスク・ドライブの状態を取得します。</p>
+<pre>
+DSTATUS disk_status (
+ BYTE <em>Drive</em> /* 物理ドライブ番号 */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>Drive</dt>
+<dd>ステータスを取得する物理ドライブ番号を指定します。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<p>物理ドライブの状態が次のフラグの組み合わせの値で返されます。</p>
+<dl class="ret">
+<dt>STA_NOINIT</dt>
+<dd>ドライブが初期化されていないことを示すフラグ。システム・リセットやメディアの取り外し等でセットされ、disk_initialize() の正常終了でクリア、失敗でセットされます。</dd>
+<dt>STA_NODISK</dt>
+<dd>メディアがセットされていないことを示すフラグ。メディアが取り外されている間はセットされ、メディアがセットされている間はクリアされます。固定ディスクでは常にクリアされています。</dd>
+<dt>STA_PROTECTED</dt>
+<dd>メディアがライト・プロテクトされていることを示すフラグ。ライト・プロテクト機能をサポートしないメディアでは常にクリアされています。</dd>
+</dl>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/dwrite.html b/third_party/fatfs/doc/ja/dwrite.html
new file mode 100644
index 0000000..15eb2b2
--- /dev/null
+++ b/third_party/fatfs/doc/ja/dwrite.html
@@ -0,0 +1,66 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - disk_write</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>disk_write</h2>
+<p>ディスクにデータを書き込みます。</p>
+<pre>
+DRESULT disk_write (
+ BYTE <em>Drive</em>, /* 物理ドライブ番号 */
+ const BYTE* <em>Buffer</em>, /* 書き込むデータへのポインタ */
+ DWORD <em>SectorNumber</em>, /* 書き込み開始セクタ番号 */
+ BYTE <em>SectorCount</em> /* 書き込みセクタ数 */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>Drive</dt>
+<dd>物理ドライブ番号(0-9)を指定します。</dd>
+<dt>Buffer</dt>
+<dd>ディスクに書き込むデータを指定します。</dd>
+<dt>SectorNumber</dt>
+<dd>書き込みを開始するセクタ番号。LBAで指定します。</dd>
+<dt>SectorCount</dt>
+<dd>書き込むセクタ数。 1〜255で設定します。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>RES_OK (0)</dt>
+<dd>正常終了。</dd>
+<dt>RES_ERROR</dt>
+<dd>書き込み中にエラーが発生した。</dd>
+<dt>RES_WRPRT</dt>
+<dd>ディスクが書き込み禁止状態。</dd>
+<dt>RES_PARERR</dt>
+<dd>パラメータが不正。</dd>
+<dt>RES_NOTRDY</dt>
+<dd>ドライブが動作可能状態ではない(初期化されていない)。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>解説</h4>
+<p>リード・オンリー構成ではこの関数は必要とされません。</p>
+</div>
+
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/fattime.html b/third_party/fatfs/doc/ja/fattime.html
new file mode 100644
index 0000000..5473557
--- /dev/null
+++ b/third_party/fatfs/doc/ja/fattime.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - get_fattime</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>get_fattime</h2>
+<p>現在時刻を取得します。</p>
+<pre>
+DWORD get_fattime (void);
+</pre>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<p>現在のローカル・タイムが<tt>DWORD</tt>値にパックされて返されます。ビット・フィールドは次に示すようになります。</p>
+<dl>
+<dt>bit31:25</dt>
+<dd>1980年を起点とした年が 0..127 で入ります。</dd>
+<dt>bit24:21</dt>
+<dd>月が 1..12 の値で入ります。</dd>
+<dt>bit20:16</dt>
+<dd>日が 1..31 の値で入ります。</dd>
+<dt>bit15:11</dt>
+<dd>時が 0..23 の値で入ります。</dd>
+<dt>bit10:5</dt>
+<dd>分が 0..59 の値で入ります。</dd>
+<dt>bit4:0</dt>
+<dd>秒/2が 0..29 の値で入ります。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>解説</h4>
+<p>RTCをサポートしないシステムでも、何らかの日付として有効な値を返さなければなりません。リード・オンリー構成ではこの関数は必要とされません。</p>
+</div>
+
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/filename.html b/third_party/fatfs/doc/ja/filename.html
new file mode 100644
index 0000000..6689b14
--- /dev/null
+++ b/third_party/fatfs/doc/ja/filename.html
@@ -0,0 +1,56 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - ファイル・ディレクトリの指定方法</title>
+</head>
+
+<body>
+<div class="para">
+<h2>ファイル・ディレクトリの指定方法</h2>
+<p>FatFsモジュールでのファイル、ディレクトリ、ドライブの指定方法はMS-DOSとほぼ同じです。ただし、MS-DOSのようなカレント・ディレクトリの概念は無いので、常にルート・ディレクトリから辿る絶対パスでの指定となります。パス名の指定方法と例は次の通りです。</p>
+<pre>
+
+ "[<em>論理ドライブ番号</em>:][/]<em>ディレクトリ名</em>/<em>ファイル名</em>"
+
+ "file1.txt" ファイル(ドライブ0)
+ "/file1.txt" ↑と同じ
+ "dir1/dir2/file1.txt" ファイル(ドライブ0)
+ "2:dir3/file2.txt" ファイル(ドライブ2)
+ "2:/dir5" ディレクトリ(ドライブ2)
+ "" ルート・ディレクトリ(ドライブ0)
+ "/" ↑と同じ
+ "2:" ルート・ディレクトリ(ドライブ2)
+
+</pre>
+<p>FatFsモジュールは8.3形式ファイル名にのみ対応しています。長いファイル名には対応していないので、ファイル名やディレクトリ名は8.3形式の範囲内で指定します。ディレクトリ・セパレータには'/'を使用します。パス名先頭の'/'は、あってもなくても同じです。論理ドライブ番号は、'0'〜'9'の一文字の数字とコロンで指定します。省略した場合は"0:"を指定したことになります。Tiny-FatFsでは一つのファイル・システム・オブジェクトしか持てず、常に論理ドライブ0として動作します。また、パス名中に論理ドライブ番号を使用できません。</p>
+</div>
+<p><br></p>
+<div class="para">
+<h2>論理ドライブと物理ドライブの対応</h2>
+<p>標準構成では、それぞれの論理ドライブは同じ番号の物理ドライブに1:1で結びつけられていて、先頭の区画がマウントされます。構成オプションで<tt>_MULTI_PARTITION</tt>を指定すると、論理ドライブに対して個別に物理ドライブ番号・区画を指定できるようになります。この構成では、論理ドライブと区画の対応を解決するためのテーブルを次に示すように定義する必要があります。</p>
+<pre>
+例:論理ドライブ0〜2を物理ドライブ0(固定ディスク)の3つの基本区画に割り当て、
+ 論理ドライブ3を物理ドライブ1(リムーバブル・ディスク)に割り当てる場合。
+
+const PARTITION Drives[] = {
+ {0, 0}, /* Logical drive 0 ==> Physical drive 0, 1st partition */
+ {0, 1}, /* Logical drive 1 ==> Physical drive 0, 2nd partition */
+ {0, 2}, /* Logical drive 2 ==> Physical drive 0, 3rd partition */
+ {1, 0} /* Logical drive 3 ==> Physical drive 1 */
+};
+</pre>
+<p>複数区画指定を使用する場合、次の点に注意しなければなりません。
+<ul>
+<li>指定可能な区画は基本区画(0〜3)のみ。</li>
+<li>物理ドライブがSFD形式(区画テーブル無し)の場合、区画指定は無視される。</li>
+<li>複数の論理ドライブを持つ物理ドライブは、固定ディスクでなければならない。</li>
+</li>
+
+</div>
+
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/getfree.html b/third_party/fatfs/doc/ja/getfree.html
new file mode 100644
index 0000000..eb328e7
--- /dev/null
+++ b/third_party/fatfs/doc/ja/getfree.html
@@ -0,0 +1,91 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - f_getfree</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>f_getfree</h2>
+<p>論理ドライブ上の未使用クラスタ数を得ます。</p>
+<pre>
+FRESULT f_getfree (
+ const char* <em>Path</em>, /* 対象ドライブのルート・ディレクトリ */
+ DWORD* <em>Clusters</em>, /* 空きクラスタ数を格納する変数へのポインタ */
+ FATFS** <em>FileSystemObject</em> /* ファイル・システム・オブジェクトを指すポインタへのポインタ */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>Path</dt>
+<dd>対象の論理ドライブのルートディレクトリの<a href="filename.html">パス名</a>が入った<tt>'\0'</tt>で終わる文字列へのポインタを指定します。</dd>
+<dt>Clusters</dt>
+<dd>空きクラスタ数を格納する<tt>DWORD</tt>変数へのポインタを指定します。</dd>
+<dt>FileSystemObject</dt>
+<dd>対象ドライブのファイル・システム・オブジェクトを指すポインタが返されます。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>FR_OK (0)</dt>
+<dd>正常終了。<tt>*Clusters</tt>に空きクラスタ数が返されます。</dd>
+<dt>FR_INVALID_DRIVE</dt>
+<dd>ドライブ番号が不正。</dd>
+<dt>FR_NOT_READY</dt>
+<dd>メディアがセットされていないなど、ディスクドライブが動作不能状態。</dd>
+<dt>FR_RW_ERROR</dt>
+<dd>ディスク・エラーまたは内部エラーによる失敗。</dd>
+<dt>FR_NOT_ENABLED</dt>
+<dd>その論理ドライブにワーク・エリアが与えられていない。</dd>
+<dt>FR_NO_FILESYSTEM</dt>
+<dd>ディスク上に有効なFATパーテーションが見つからない。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>解説</h4>
+<p>論理ドライブ上の空きクラスタ数を取得します。返されたファイル・システム・オブジェクトの<tt>sects_clust</tt>メンバがクラスタあたりのセクタ数を示しているので、これを元に実際の空きサイズが計算できます。FAT32ボリュームにおいて、_USE_FSINFOが指定されている場合、不正確な値を返す場合があります。指定されていない場合、処理に時間がかかります。</p>
+<p>リードオンリー構成および<tt>_FS_MINIMIZE &gt;= 1</tt>ではこの関数はサポートされません。</p>
+</div>
+
+
+<div class="para">
+<h4>使用例</h4>
+<pre>
+ FATFS *fs;
+ DWORD clust;
+
+
+ // Get free clusters
+ res = f_getfree("", &clust, &fs);
+ if (res) die(res);
+
+ // Get free space
+ printf("%lu KB total disk space.\n"
+ "%lu KB available on the disk.\n",
+ (DWORD)(fs->max_clust - 2) * fs->sects_clust / 2,
+ clust * fs->sects_clust / 2);
+</pre>
+</div>
+
+
+<div class="para">
+<h4>参照</h4>
+<tt><a href="sfatfs.html">FATFS</a></tt>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/lseek.html b/third_party/fatfs/doc/ja/lseek.html
new file mode 100644
index 0000000..855894f
--- /dev/null
+++ b/third_party/fatfs/doc/ja/lseek.html
@@ -0,0 +1,87 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - f_lseek</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>f_lseek</h2>
+<p>ファイルのR/Wポインタを移動します。</p>
+<pre>
+FRESULT f_lseek (
+ FIL* <em>FileObject</em>, /* ファイル・オブジェクト構造体へのポインタ */
+ DWORD <em>Offset</em> /* 移動先オフセット */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>FileObject</dt>
+<dd>対象となるファイル・オブジェクト構造体へのポインタを指定します。</dd>
+<dt>Offset</dt>
+<dd>移動先のオフセット(R/Wポインタ)値。ファイル先頭からのオフセットをバイト単位で指定します。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>FR_OK (0)</dt>
+<dd>正常終了。</dd>
+<dt>FR_RW_ERROR</dt>
+<dd>ディスク・エラーまたは内部エラーによる失敗。</dd>
+<dt>FR_NOT_READY</dt>
+<dd>メディアがセットされていないなど、ディスク・ドライブが動作不能状態。</dd>
+<dt>FR_INVALID_OBJECT</dt>
+<dd>無効なファイル・オブジェクト。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>解説</h4>
+<p>ファイルR/Wポインタ(ファイル・オブジェクト内のfptrメンバで、次に読み出し・書き込みされるバイトのオフセットを示す)を移動します。オフセットの原点はファイル先頭からです。書き込みモードでファイル・サイズより大きな値を指定すると、そこまでファイルが拡張され、拡張された部分のデータは未定義となります。大容量データを遅延無く高速に書き込みたいときは、予めこの関数で必要なサイズまでファイルを拡張しておくと良いです。f_lseek関数が正常終了したあとは、ファイルR/Wポインタが正しく移動したかfptrをチェックするべきです。ファイルR/Wポインタが指定より小さいときは、次の原因が考えられます。</p>
+<ul>
+<li>非書き込みモードのため、ファイル・サイズでクリップされた。</li>
+<li>ファイル拡張中にディスクが満杯になった。</li>
+<li>FAT構造にエラーがある。</li>
+</ul>
+<p>_FS_MINIMIZE >= 3ではこの関数はサポートされません。</p>
+</div>
+
+
+<div class="para">
+<h4>使用例</h4>
+<pre>
+ // ファイル・オフセット5000へ移動
+ res = f_lseek(&file, 5000);
+
+ // 3000バイト進める
+ res = f_lseek(&file, file.fptr + 3000);
+
+ // 2000バイト戻す(オーバーフローに注意)
+ res = f_lseek(&file, file.fptr - 2000);
+
+ // ファイル追記の準備
+ res = f_lseek(&file, file.fsize);
+</pre>
+</div>
+
+
+<div class="para">
+<h4>参照</h4>
+<p><tt><a href="open.html">f_open</a>, <a href="sfile.html">FIL</a></tt></p>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/mkdir.html b/third_party/fatfs/doc/ja/mkdir.html
new file mode 100644
index 0000000..da2dbc4
--- /dev/null
+++ b/third_party/fatfs/doc/ja/mkdir.html
@@ -0,0 +1,83 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - f_mkdir</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>f_mkdir</h2>
+<p>ディレクトリを作成します。</p>
+<pre>
+FRESULT f_mkdir (
+ const char* <em>DirName</em> /* 作成するディレクトリ名へのポインタ */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>DirName</dt>
+<dd>作成するディレクトリの<a href="filename.html">フルパス名</a>が入った<tt>'\0'</tt>で終わる文字列へのポインタを指定します。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>FR_OK (0)</dt>
+<dd>正常終了。</dd>
+<dt>FR_NO_PATH</dt>
+<dd>パスが見つからない。</dd>
+<dt>FR_INVALID_NAME</dt>
+<dd>パス名が不正。</dd>
+<dt>FR_INVALID_DRIVE</dt>
+<dd>ドライブ番号が不正。</dd>
+<dt>FR_DENIED</dt>
+<dd>ディスクやディレクトリ・エントリが満杯の場合など。</dd>
+<dt>FR_EXIST</dt>
+<dd>同名のディレクトリやファイルが存在する。</dd>
+<dt>FR_NOT_READY</dt>
+<dd>メディアがセットされていないなど、ディスク・ドライブが動作不能状態。</dd>
+<dt>FR_WRITE_PROTECTED</dt>
+<dd>メディアが書き込み禁止状態。</dd>
+<dt>FR_RW_ERROR</dt>
+<dd>ディスク・エラーまたは内部エラーによる失敗。</dd>
+<dt>FR_NOT_ENABLED</dt>
+<dd>その論理ドライブにワーク・エリアが与えられていない。</dd>
+<dt>FR_NO_FILESYSTEM</dt>
+<dd>ディスク上に有効なFATパーテーションが見つからない。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>解説</h4>
+<p>空のディレクトリを作成します。リード・オンリー構成および<tt>_FS_MINIMIZE &gt;= 1</tt>ではこの関数はサポートされません。</p>
+<p>
+</p>
+</div>
+
+
+<div class="para">
+<h4>使用例</h4>
+<pre>
+ res = f_mkdir("sub1");
+ if (res) die(res);
+ res = f_mkdir("sub1/sub2");
+ if (res) die(res);
+ res = f_mkdir("sub1/sub2/sub3");
+ if (res) die(res);
+</pre>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/mkfs.html b/third_party/fatfs/doc/ja/mkfs.html
new file mode 100644
index 0000000..c6271f0
--- /dev/null
+++ b/third_party/fatfs/doc/ja/mkfs.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - f_mkfs</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>f_mkfs</h2>
+<p>ドライブ上にFATファイル・システムを作成(フォーマット)します。</p>
+<pre>
+FRESULT f_mkfs (
+ BYTE <em>Drive</em>, /* Logical drive number */
+ BYTE <em>PartitioningRule</em>, /* Partitioning rule */
+ BYTE <em>AllocSize</em> /* Allocation unit size */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>Drive</dt>
+<dd>フォーマットする論理ドライブ(0-9)。</dd>
+<dt>PartitioningRule</dt>
+<dd>0を指定すると、区画テーブルを作成したあとその区画にファイル・システムを作成します(FDISKフォーマット)。1を指定すると、先頭セクタから直接ファイル・システムを構築します(super floppy (SFD) フォーマット)。</dd>
+<dt>AllocSize</dt>
+<dd>クラスタ・サイズをセクタ単位で指定します。2の累乗でかつクラスタ・サイズが32Kバイトまでの範囲でなければなりません。</dd>
+</dl>
+</div>
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>FR_OK (0)</dt>
+<dd>正常終了。</dd>
+<dt>FR_INVALID_DRIVE</dt>
+<dd>ドライブ番号が無効。</dd>
+<dt>FR_NOT_READY</dt>
+<dd>メディアがセットされていないなど、物理ドライブが動作不能状態。</dd>
+<dt>FR_WRITE_PROTECTED</dt>
+<dd>メディアが書き込み禁止状態。</dd>
+<dt>FR_NOT_ENABLED</dt>
+<dd>その論理ドライブにワーク・エリアが割り当てられていない。</dd>
+<dt>FR_RW_ERROR</dt>
+<dd>ディスク・エラーまたは内部エラーによる失敗。</dd>
+<dt>FR_MKFS_ABORTED</dt>
+<dd>次の理由で開始前に処理が中断された。
+<ul>
+<li>ディスク・サイズが小さすぎる。</li>
+<li>何らかの引数が不正。</li>
+<li>そのクラスタ・サイズが使えない。クラスタ数が0xFF7と0xFFF7近辺になるとき発生する可能性がある。</li>
+</ul>
+</dd>
+</dl>
+</div>
+
+<div class="para">
+<h4>説明</h4>
+<p>f_mkfs関数はFATファイル・システムをドライブ上に作成します。リムーバブル・メディアのパーテーショニング・ルールとしては、FDISK形式とSFD形式がありますが、FDISK形式が一般的です。この関数は<em>複数区画には対応していない</em>ので、その物理ドライブの既存の区画は全て削除され、全体が一つの区画になります。</p>
+<p>FATタイプ(FAT12/FAT16/FAT32)は、ディスク上の<em>クラスタ数によってのみ決定</em>される[FAT仕様書より]決まりになっていて、それ以外の要因はありません。したがって、どのFATタイプになるかは、ディスク・サイズとクラスタ・サイズに依存します。クラスタ・サイズは大きいほど性能が上がるので、特に小容量のドライブでなければ64セクタを選択しておけばよいです。</p>
+<p>この関数は、FatFsで構成オプション<tt>_USE_MKFS</tt>を選択したときにサポートされます。また、Tiny-FatFsではサポートされません。<p>
+</div>
+
+
+<p class="foot"><a href="../00index_e.html">Return</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/mount.html b/third_party/fatfs/doc/ja/mount.html
new file mode 100644
index 0000000..e2bbfc3
--- /dev/null
+++ b/third_party/fatfs/doc/ja/mount.html
@@ -0,0 +1,59 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - f_mount</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>f_mount</h2>
+<p>論理ドライブのワーク・エリアを登録・抹消します。</p>
+<pre>
+FRESULT f_mount (
+ BYTE <em>Drive</em>, /* 論理ドライブ番号 */
+ FATFS* <em>FileSystemObject</em> /* ワーク・エリアへのポインタ */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>Drive</dt>
+<dd>論理ドライブ番号(0-9)。Tiny-FatFsでは常に0。</dd>
+<dt>FileSystemObject</dt>
+<dd>登録するワーク・エリア(ファイル・システム・オブジェクト)へのポインタ。</dd>
+</dl>
+</div>
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>FR_OK (0)</dt>
+<dd>正常終了。</dd>
+<dt>FR_INVALID_DRIVE</dt>
+<dd>ドライブ番号が無効。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>解説</h4>
+<p>FatFsモジュールではそれぞれの論理ドライブにファイル・システム・オブジェクトというワーク・エリアが必要です。この関数は論理ドライブにそのワーク・エリアを登録したり抹消したりします。何らかのファイル関数を使用する前にこの関数でその論理ドライブのワーク・エリアを与えておかなければなりません。<tt>FileSystemObject</tt>にヌル・ポインタを指定するとその論理ドライブのワーク・エリアの登録は抹消され、登録されていたワーク・エリアは破棄できます。</p>
+<p>この関数内では物理ドライブへのアクセスは発生せず、ワーク・エリアを初期化して内部配列にそのアドレスを登録するだけです。実際のマウント動作は、他のファイル関数(パス名を指定するもの)の中で必要に応じて行われます。</p>
+</div>
+
+
+<div class="para">
+<h4>参照</h4>
+<p><tt><a href="sfatfs.html">FATFS</a></tt></p>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/mountdrv.html b/third_party/fatfs/doc/ja/mountdrv.html
new file mode 100644
index 0000000..9411bea
--- /dev/null
+++ b/third_party/fatfs/doc/ja/mountdrv.html
@@ -0,0 +1,58 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - f_mountdrv</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>f_mountdrv</h2>
+<p>ファイルシステムを明示的に初期化します。</p>
+<pre>
+FRESULT f_mountdrv (void);
+</pre>
+</div>
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>FR_OK (0)</dt>
+<dd>正常終了。</dd>
+<dt>FR_NOT_READY</dt>
+<dd>メディアがセットされていないなど、ディスクドライブが動作不能状態。</dd>
+<dt>FR_RW_ERROR</dt>
+<dd>ディスクアクセスでエラーが発生した。</dd>
+<dt>FR_NOT_ENABLED</dt>
+<dd>FatFsモジュールが停止状態。</dd>
+<dt>FR_NO_FILESYSTEM</dt>
+<dd>ディスク上に有効なFATファイルシステムが見つからない。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>解説</h4>
+<p>ファイルシステムを強制的に初期化(マウント)します。FatFsモジュールではマウント動作はファイル関数呼び出し時に必要に応じて内部で行われるので、通常はこの関数を使用すべきではありません。自動マウント動作中に回復不能エラー(たとえば<tt>FR_INCORRECT_DISK_CHANGE</tt>)が発生した場合、全てのファイル関数が使えなくなるので、そのときはこの関数で再マウントして回復することができます。</p>
+<p>f_mountdrv関数内では次の処理が行われます。</p>
+<br>
+<ul>
+<li>下位レイヤ(ディスクI/Oモジュール)の初期化。</li>
+<li>FATブートレコードの検索。先頭セクタ(SFD)→第一基本区画(FDISK)の順に検索します。</li>
+<li>ファイルシステムオブジェクト構造体の初期化。</li>
+</ul>
+</div>
+
+
+<div class="para">
+<h4>参照</h4>
+<p><tt><a href="sfatfs.html">FATFS</a></tt></p>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/open.html b/third_party/fatfs/doc/ja/open.html
new file mode 100644
index 0000000..b6678c8
--- /dev/null
+++ b/third_party/fatfs/doc/ja/open.html
@@ -0,0 +1,135 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - f_open</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>f_open</h2>
+<p>ファイルをオープンまたは作成します。</p>
+<pre>
+FRESULT f_open (
+ FIL* <em>FileObject</em>, /* 空のファイル・オブジェクト構造体へのポインタ */
+ const char* <em>FileName</em>, /* ファイルのフルパス名へのポインタ */
+ BYTE <em>ModeFlags</em> /* モードフラグ */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>FileObject</dt>
+<dd>新しく作成するファイル・オブジェクト構造体へのポインタを指定します。以降、そのファイルを閉じるまでこのファイル・オブジェクトを使用してファイル操作をします。</dd>
+<dt>FileName</dt>
+<dd>開く(または作成する)ファイルの <a href="filename.html">ファイル名</a>が入った<tt>'\0'</tt>で終わる文字列へのポインタを指定します。</dd>
+<dt>ModeFlags</dt>
+<dd>ファイルのアクセス方法やオープン方法を決めるフラグです。このパラメータには次の組み合わせを指定します。<br>
+<table class="lst">
+<tr><th>値</th><th>意味</th></td>
+<tr><td>FA_READ</td><td>読み出しモードで開きます。読み書きする場合は<tt>FA_WRITE</tt>と共に指定します。</td></tr>
+<tr><td>FA_WRITE</td><td>書き込みモードで開きます。読み書きする場合は<tt>FA_READ</tt>と共に指定します。</td></tr>
+<tr><td>FA_OPEN_EXISTING</td><td>既存のファイルを開きます。ファイルが無いときはエラーになります。</td></tr>
+<tr><td>FA_OPEN_ALWAYS</td><td>既存のファイルを開きます。ファイルが無いときはファイルを作成します。</td></tr>
+<tr><td>FA_CREATE_NEW</td><td>ファイルを作成します。同名のファイルがある場合は、エラーになります。</td></tr>
+<tr><td>FA_CREATE_ALWAYS</td><td>ファイルを作成します。同名のファイルがある場合は、サイズを0にしてから開きます。</td></tr>
+</table>
+</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>FR_OK (0)</dt>
+<dd>正常終了。以降、<tt>FileObject</tt>構造体を使ってこのファイルを操作できます。</dd>
+<dt>FR_NO_FILE</dt>
+<dd>ファイルが見つからない。</dd>
+<dt>FR_NO_PATH</dt>
+<dd>パスが見つからない。</dd>
+<dt>FR_INVALID_NAME</dt>
+<dd>ファイル名が不正。</dd>
+<dt>FR_INVALID_DRIVE</dt>
+<dd>ドライブ番号が不正。</dd>
+<dt>FR_EXIST</dt>
+<dd>同名のファイルが既にある。</dd>
+<dt>FR_DENIED</dt>
+<dd>アクセスが拒否された。リード・オンリー・ファイルの書き込みモード・オープン、同名のディレクトリまたはリード・オンリー・ファイルがある状態でのファイル作成、ディスクまたはディレクトリ・テーブルが満杯でファイルを作成できないなど。</dd>
+<dt>FR_NOT_READY</dt>
+<dd>メディアがセットされていないなど、ディスク・ドライブが動作不能状態。</dd>
+<dt>FR_WRITE_PROTECTED</dt>
+<dd>メディアが書き込み禁止状態で書き込み系オープンをした。</dd>
+<dt>FR_RW_ERROR</dt>
+<dd>ディスク・エラーまたは内部エラーによる失敗。</dd>
+<dt>FR_NOT_ENABLED</dt>
+<dd>その論理ドライブにワーク・エリアが割り当てられていない。</dd>
+<dt>FR_NO_FILESYSTEM</dt>
+<dd>ディスク上に有効なFATパーテーションが見つからない。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>解説</h4>
+<p>作成されたファイル・オブジェクトは、以降そのファイルに対するアクセスに使用します。ファイルを閉じるときは、<a href="close.html">f_close()</a>を使用します。</p>
+<p>ファイル操作関数を使用する前にまず、<a href="mount.html">f_mount()</a>を使ってそれぞれの論理ドライブにワーク・エリア(ファイル・システム・オブジェクト)を与えなければなりません。この初期化の後、その論理ドライブに対して全てのファイル関数が使えるようになります。</p>
+<p>リードオンリー構成では、<tt>FA_WRITE, FA_CREATE_ALWAYS, FA_CREATE_NEW, FA_OPEN_ALWAYS</tt>の各フラグはサポートされません。</p>
+</div>
+
+
+<div class="para">
+<h4>使用例(ファイル・コピー)</h4>
+<pre>
+void main ()
+{
+ FATFS fs; // 論理ドライブのワーク・エリア(ファイル・システム・オブジェクト)
+ FIL fsrc, fdst; // ファイル・オブジェクト
+ BYTE buffer[4096]; // file copy buffer
+ FRESULT res; // FatFs function common result code
+ WORD br, bw; // File R/W count
+
+ // ドライブ0にワーク・エリアを与える
+ f_mount(0, &fs);
+
+ // ソース・ファイルを開く
+ res = f_open(&fsrc, "srcfile.dat", FA_OPEN_EXISTING | FA_READ);
+ if (res) die(res);
+
+ // デスティネーション・ファイルを作成する
+ res = f_open(&fdst, "dstfile.dat", FA_CREATE_ALWAYS | FA_WRITE);
+ if (res) die(res);
+
+ // ソースからデスティネーションにコピーする
+ for (;;) {
+ res = f_read(&fsrc, buffer, sizeof(buffer), &br);
+ if (res || br == 0) break; // error or eof
+ res = f_write(&fdst, buffer, br, &bw);
+ if (res || bw &lt; br) break; // error or disk full
+ }
+
+ // 全てのファイルを閉じる
+ f_close(&fsrc);
+ f_close(&fdst);
+
+ // ワーク・エリアを開放する
+ f_mount(0, NULL);
+}
+</pre>
+</div>
+
+
+<div class="para">
+<h4>参照</h4>
+<p><tt><a href="read.html">f_read</a>, <a href="write.html">f_write</a>, <a href="close.html">f_close</a>, <a href="sfile.html">FIL</a>, <a href="sfatfs.html">FATFS</a></tt></p>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/opendir.html b/third_party/fatfs/doc/ja/opendir.html
new file mode 100644
index 0000000..54e50e1
--- /dev/null
+++ b/third_party/fatfs/doc/ja/opendir.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - f_opendir</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>f_opendir</h2>
+<p>ディレクトリをオープンします。</p>
+<pre>
+FRESULT f_opendir (
+ DIR* <em>DirObject</em>, /* ディレクトリ・ブジェクト構造体へのポインタ */
+ const char* <em>DirName</em> /* ディレクトリ名へのポインタ */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>DirObject</dt>
+<dd>初期化するディレクトリ・オブジェクト構造体へのポインタを指定します。</dd>
+<dt>DirName</dt>
+<dd>オープンするディレクトリの<a href="filename.html">フルパス名</a>が入った<tt>'\0'</tt>で終わる文字列へのポインタを指定します。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>FR_OK (0)</dt>
+<dd>正常終了。</dd>
+<dt>FR_NO_FILE</dt>
+<dd>ディレクトリが見つからない。</dd>
+<dt>FR_NO_PATH</dt>
+<dd>パスが見つからない。</dd>
+<dt>FR_INVALID_NAME</dt>
+<dd>パス名が不正。</dd>
+<dt>FR_INVALID_DRIVE</dt>
+<dd>ドライブ番号が不正。</dd>
+<dt>FR_NOT_READY</dt>
+<dd>メディアがセットされていないなど、ディスク・ドライブが動作不能状態。</dd>
+<dt>FR_RW_ERROR</dt>
+<dd>ディスク・エラーまたは内部エラーによる失敗。</dd>
+<dt>FR_NOT_ENABLED</dt>
+<dd>論理ドライブにワーク・エリアが与えられていない。</dd>
+<dt>FR_NO_FILESYSTEM</dt>
+<dd>ディスク上に有効なFATパーテーションが見つからない。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>解説</h4>
+<p>ディレクトリをオープンします。正常終了したら、<tt>DirObject</tt>構造体を使ってこのディレクトリの項目を順次読み出せます。<tt>DirObject</tt>構造体は使用後は任意の時点で破棄できます。<tt>_FS_MINIMIZE >= 2</tt>ではこの関数はサポートされません。</p>
+</div>
+
+
+<div class="para">
+<h4>参照</h4>
+<p><tt><a href="readdir.html">f_readdir</a>, <a href="sdir.html">DIR</a></tt></p>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/read.html b/third_party/fatfs/doc/ja/read.html
new file mode 100644
index 0000000..3151f49
--- /dev/null
+++ b/third_party/fatfs/doc/ja/read.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - f_read</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>f_read</h2>
+<p>ファイルからデータを読み出します。</p>
+<pre>
+FRESULT f_read (
+ FIL* <em>FileObject</em>, // ファイル・オブジェクト構造体
+ void* <em>Buffer</em>, // 読み出したデータを格納するバッファ
+ WORD <em>ByteToRead</em>, // 読み出すバイト数
+ WORD* <em>ByteRead</em> // 読み出されたバイト数
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>FileObject</dt>
+<dd>ファイル・オブジェクト構造体へのポインタを指定します。</dd>
+<dt>Buffer</dt>
+<dd>読み出したデータを格納するバッファを指すポインタを指定します。</dd>
+<dt>ByteToRead</dt>
+<dd>読み出すバイト数(0〜65535)を指定します。</dd>
+<dt>ByteRead</dt>
+<dd>実際に読み出されたバイト数を格納する変数を指すポインタを指定します。</dd>
+</dt>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>FR_OK (0)</dt>
+<dd>正常終了。</dd>
+<dt>FR_DENIED</dt>
+<dd>非読み込みモードで開いたファイルから読み込もうとした。</dd>
+<dt>FR_RW_ERROR</dt>
+<dd>ディスク・エラーまたは内部エラーによる失敗。</dd>
+<dt>FR_NOT_READY</dt>
+<dd>メディアがセットされていないなど、ディスク・ドライブが動作不能状態。</dd>
+<dt>FR_INVALID_OBJECT</dt>
+<dd>無効なファイル・オブジェクト。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>解説</h4>
+<p>読み込み開始位置は、現在のファイルR/Wポインタからになります。ファイルR/Wポインタは読み込まれたバイト数だけ進みます。読み込み中にファイルの終端に達すると、<tt>*ByteRead</tt>は<tt>ByteToRead</tt>よりも小さくなります。</p>
+</div>
+
+
+<div class="para">
+<h4>参照</h4>
+<p><tt><a href="open.html">f_open</a>, <a href="write.html">f_write</a>, <a href="close.html">f_close</a>, <a href="sfile.html">FIL</a></tt></p>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/readdir.html b/third_party/fatfs/doc/ja/readdir.html
new file mode 100644
index 0000000..f6ad18f
--- /dev/null
+++ b/third_party/fatfs/doc/ja/readdir.html
@@ -0,0 +1,89 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - f_readdir</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>f_readdir</h2>
+<p>ディレクトリ項目を読み出します</p>
+<pre>
+FRESULT f_readdir (
+ DIR* <em>DirObject</em>, /* ディレクトリ・ブジェクト構造体へのポインタ */
+ FILINFO* <em>FileInfo</em> /* ファイル情報構造体へのポインタ */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>DirObject</dt>
+<dd>ディレクトリ・オブジェクト構造体へのポインタを指定します。</dd>
+<dt>FileInfo</dt>
+<dd>読み出したディレクトリ項目を格納するファイル情報構造体へのポインタを指定します。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>FR_OK (0)</dt>
+<dd>正常終了。</dd>
+<dt>FR_NOT_READY</dt>
+<dd>メディアがセットされていないなど、ディスク・ドライブが動作不能状態。</dd>
+<dt>FR_RW_ERROR</dt>
+<dd>ディスク・エラーまたは内部エラーによる失敗。</dd>
+<dt>FR_INVALID_OBJECT</dt>
+<dd>無効なディレクトリ・オブジェクト。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>解説</h4>
+<p>ディレクトリ項目を順次読み出します。この関数を繰り返し実行することによりディレクトリの全ての項目を読み出すことができます。全ての項目を読み出し、読み出す項目がもう無いときは、<tt>f_name[]</tt>メンバにヌル文字列が返されます。得られるファイル情報の詳細については <tt>FILINFO</tt>構造体を参照してください。<tt>_FS_MINIMIZE >= 2</tt>ではこの関数はサポートされません。</p>
+</div>
+
+
+<div class="para">
+<h4>使用例</h4>
+<pre>
+void scan_files (char* path)
+{
+ FILINFO finfo;
+ DIR dirs;
+ int i;
+
+ if (f_opendir(&dirs, path) == FR_OK) {
+ i = strlen(path);
+ while ((f_readdir(&dirs, &finfo) == FR_OK) && finfo.fname[0]) {
+ if (finfo._attrib & AM_DIR) {
+ sprintf(path+i, "/%s", &finfo.fname[0]);
+ scan_files(path);
+ *(path+i) = '\0';
+ } else {
+ printf("%s/%s\n", path, &finfo.fname[0]);
+ }
+ }
+ }
+}
+</pre>
+</div>
+
+
+<div class="para">
+<h4>参照</h4>
+<p><tt><a href="opendir.html">f_opendir</a>, <a href="stat.html">f_stat</a>, <a href="sfileinfo.html">FILINFO</a>, <a href="sdir.html">DIR</a></tt></p>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/rename.html b/third_party/fatfs/doc/ja/rename.html
new file mode 100644
index 0000000..1c5ece8
--- /dev/null
+++ b/third_party/fatfs/doc/ja/rename.html
@@ -0,0 +1,86 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - f_rename</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>f_rename</h2>
+<p>ファイルまたはディレクトリの名前の変更または移動。</p>
+<pre>
+FRESULT f_rename (
+ const char* <em>OldName</em>, /* 古いファイルまたはディレクトリ名 */
+ const char* <em>NewName</em> /* 新しいファイルまたはディレクトリ名 */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>OldName</dt>
+<dd>変更対象のファイルまたはディレクトリの<a href="filename.html">フルパス名</a>の入った<tt>'\0'</tt>で終わる文字列へのポインタを指定します。</dd>
+<dt>NewName</dt>
+<dd>新しいファイルまたはディレクトリのフルパス名の入った<tt>'\0'</tt>で終わる文字列へのポインタを指定します。既に存在するものと同じ名前は使えません。また、ドライブ番号は指定できず、<tt>OldName</tt>で指定されたドライブ上のオブジェクトとして扱われます。<br>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>FR_OK (0)</dt>
+<dd>正常終了。</dd>
+<dt>FR_NO_FILE</dt>
+<dd>ファイルが見つからない。</dd>
+<dt>FR_NO_PATH</dt>
+<dd>パスが見つからない。</dd>
+<dt>FR_INVALID_NAME</dt>
+<dd>パス名が不正。</dd>
+<dt>FR_INVALID_DRIVE</dt>
+<dd>ドライブ番号が不正。</dd>
+<dt>FR_DENIED</dt>
+<dd>新しい名前のオブジェクトが作れない。</dd>
+<dt>FR_EXIST</dt>
+<dd>NewNameと同じ名前のオブジェクトが既にある。</dd>
+<dt>FR_NOT_READY</dt>
+<dd>メディアがセットされていないなど、ディスク・ドライブが動作不能状態。</dd>
+<dt>FR_WRITE_PROTECTED</dt>
+<dd>メディアが書き込み禁止状態。</dd>
+<dt>FR_RW_ERROR</dt>
+<dd>ディスク・エラーまたは内部エラーによる失敗。</dd>
+<dt>FR_NOT_ENABLED</dt>
+<dd>論理ドライブにワークエリアが割り当てられていない。</dd>
+<dt>FR_NO_FILESYSTEM</dt>
+<dd>ディスク上に有効なFATパーテーションが見つからない。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>解説</h4>
+<p>ファイルまたはディレクトリの名前を変更します。別のディレクトリへの移動(同じドライブ内のみ)も可能です。リード・オンリー構成および<tt>_FS_MINIMIZE &gt;= 1</tt>ではこの関数はサポートされません。</p>
+<p>※現リビジョンでは、ディレクトリを別のディレクトリに移動するとファイル・システムが壊れます。</p>
+</div>
+
+
+<div class="para">
+<h4>使用例</h4>
+<pre>
+ // 名前を変更する
+ f_rename("oldname.txt", "newname.txt");
+
+ // 名前の変更と同時に別のディレクトリへ移動する
+ f_rename("oldname.txt", "dir1/newname.txt");
+</pre>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/sdir.html b/third_party/fatfs/doc/ja/sdir.html
new file mode 100644
index 0000000..350d10c
--- /dev/null
+++ b/third_party/fatfs/doc/ja/sdir.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - DIR</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>DIR</h2>
+<p><tt>DIR</tt>構造体は、f_opendir(), f_readdir()のワーク・エリアとして使用されます。</p>
+<h4>FatFs</h4>
+<pre>
+typedef struct _DIR {
+ WORD id; /* Owner file system mount ID (inverted) */
+ WORD index; /* Current index */
+ FATFS* fs; /* Pointer to the owner file system object */
+ DWORD sclust; /* Start cluster */
+ DWORD clust; /* Current cluster */
+ DWORD sect; /* Current sector */
+} DIR;
+</pre>
+<h4>Tiny-FatFs</h4>
+<pre>
+typedef struct _DIR {
+ WORD id; /* Owner file system mount ID (inverted) */
+ WORD index; /* Current index */
+ FATFS* fs; /* Pointer to the owner file system object */
+ CLUST sclust; /* Start cluster */
+ CLUST clust; /* Current cluster */
+ DWORD sect; /* Current sector */
+} DIR;
+</pre>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/sfatfs.html b/third_party/fatfs/doc/ja/sfatfs.html
new file mode 100644
index 0000000..999f612
--- /dev/null
+++ b/third_party/fatfs/doc/ja/sfatfs.html
@@ -0,0 +1,63 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - FATFS</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>FATFS</h2>
+<p><tt>FATFS</tt>構造体は、個々の論理ドライブのダイナミック・ワーク・エリアを保持し、f_mount()でFatFsモジュールに登録されます。標準状態では次のようなメンバになっています。アプリケーションから書き換え可能なメンバはありません。</p>
+<h4>FatFs</h4>
+<pre>
+typedef struct _FATFS {
+ WORD id; /* File system mount ID */
+ WORD n_rootdir; /* Number of root directory entries */
+ DWORD winsect; /* Current sector appearing in the win[] */
+ DWORD sects_fat; /* Sectors per fat */
+ DWORD max_clust; /* Maximum cluster# + 1 */
+ DWORD fatbase; /* FAT start sector */
+ DWORD dirbase; /* Root directory start sector (cluster# for FAT32) */
+ DWORD database; /* Data start sector */
+ DWORD last_clust; /* Last allocated cluster */
+ DWORD free_clust; /* Number of free clusters */
+ BYTE fs_type; /* FAT type (0:Not mounted) */
+ BYTE sects_clust; /* Sectors per cluster */
+ BYTE n_fats; /* Number of FAT copies */
+ BYTE drive; /* Physical drive number */
+ BYTE winflag; /* win[] dirty flag (1:must be written back) */
+ BYTE pad1;
+ BYTE win[512]; /* Disk access window for Directory/FAT */
+} FATFS;
+</pre>
+
+<h4>Tiny-FatFs</h4>
+<pre>
+typedef struct _FATFS {
+ WORD id; /* File system mount ID */
+ WORD n_rootdir; /* Number of root directory entries */
+ DWORD winsect; /* Current sector appearing in the win[] */
+ DWORD fatbase; /* FAT start sector */
+ DWORD dirbase; /* Root directory start sector */
+ DWORD database; /* Data start sector */
+ CLUST sects_fat; /* Sectors per fat */
+ CLUST max_clust; /* Maximum cluster# + 1 */
+ CLUST last_clust; /* Last allocated cluster */
+ CLUST free_clust; /* Number of free clusters */
+ BYTE fs_type; /* FAT type (0:Not mounted) */
+ BYTE sects_clust; /* Sectors per cluster */
+ BYTE n_fats; /* Number of FAT copies */
+ BYTE winflag; /* win[] dirty flag (1:must be written back) */
+ BYTE win[512]; /* Disk access window for Directory/FAT/File */
+} FATFS;
+</pre>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/sfile.html b/third_party/fatfs/doc/ja/sfile.html
new file mode 100644
index 0000000..4dea75e
--- /dev/null
+++ b/third_party/fatfs/doc/ja/sfile.html
@@ -0,0 +1,54 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - FIL</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>FIL</h2>
+<p><tt>FIL</tt>構造体は、f_open()で作成され、そのファイルの状態を保持します。アプリケーションから書き換え可能なメンバはありません。</p>
+<h4>FatFs</h4>
+<pre>
+typedef struct _FIL {
+ WORD id; /* Owner file system mount ID (inverted) */
+ BYTE flag; /* File status flags */
+ BYTE sect_clust; /* Left sectors in cluster */
+ FATFS* fs; /* Pointer to the owner file system object */
+ DWORD fptr; /* File R/W pointer */
+ DWORD fsize; /* File size */
+ DWORD org_clust; /* File start cluster */
+ DWORD curr_clust; /* Current cluster */
+ DWORD curr_sect; /* Current sector */
+ DWORD dir_sect; /* Sector containing the directory entry */
+ BYTE* dir_ptr; /* Ponter to the directory entry in the window */
+ BYTE buffer[512]; /* File R/W buffer */
+} FIL;
+</pre>
+
+<h4>Tiny-FatFs</h4>
+<pre>
+typedef struct _FIL {
+ WORD id; /* Owner file system mount ID (inverted) */
+ BYTE flag; /* File status flags */
+ BYTE sect_clust; /* Left sectors in cluster */
+ FATFS* fs; /* Pointer to owner file system */
+ DWORD fptr; /* File R/W pointer */
+ DWORD fsize; /* File size */
+ CLUST org_clust; /* File start cluster */
+ CLUST curr_clust; /* Current cluster */
+ DWORD curr_sect; /* Current sector */
+ DWORD dir_sect; /* Sector containing the directory entry */
+ BYTE* dir_ptr; /* Ponter to the directory entry in the window */
+} FIL;
+</pre>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/sfileinfo.html b/third_party/fatfs/doc/ja/sfileinfo.html
new file mode 100644
index 0000000..dc4aa05
--- /dev/null
+++ b/third_party/fatfs/doc/ja/sfileinfo.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - FILINFO</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>FILINFO</h2>
+<p><tt>FILINFO</tt>構造体は、<tt>f_stat(), f_readdir()</tt>で返されるファイル情報を保持します。</p>
+<pre>
+typedef struct _FILINFO {
+ DWORD fsize; /* Size [bytes] */
+ WORD fdate; /* Date [15-9]:Year-1980, [8-5]:Month, [4-0]:Mday */
+ WORD ftime; /* Time [15-11]:Hour, [10-5]:Minute, [4-0]:Sec/2 */
+ BYTE fattrib; /* Attribute */
+ char fname[8+1+3+1]; /* Name */
+} FILINFO;
+</pre>
+</div>
+
+<h4>メンバ</h4>
+<dl>
+<dt>fsize</dt>
+<dd>ファイルのバイト単位のサイズが格納されます。ディレクトリの場合は常に0です。</dd>
+<dt>fdate</dt>
+<dd>ファイルの変更された日付、またはディレクトリの作成された日付が格納されます。</dd>
+<dt>ftime</dt>
+<dd>ファイルの変更された時刻、またはディレクトリの作成された時刻が格納されます。</dd>
+<dt>fattrib</dt>
+<dd>属性フラグが格納されます。フラグは<tt>AM_DIR, AM_RDO, AM_HID, AM_SYS, AM_ARC</tt>の組み合わせとなります。</dd>
+<dt>fname[]</dt>
+<dd>8.3形式の名前が<tt>'\0'</tt>で終わる文字列として格納されます。</dd>
+</dl>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/stat.html b/third_party/fatfs/doc/ja/stat.html
new file mode 100644
index 0000000..5de8df9
--- /dev/null
+++ b/third_party/fatfs/doc/ja/stat.html
@@ -0,0 +1,73 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - f_stat</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>f_stat</h2>
+<p></p>
+<pre>
+FRESULT f_stat (
+ const char* <em>FileName</em>, /* ファイルまたはディレクトリ名へのポインタ */
+ FILINFO* <em>FileInfo</em> /* ファイル情報構造体へのポインタ *
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>FileName</dt>
+<dd>情報を得るファイルまたはディレクトリ名の<tt>'\0'</tt>で終わる文字列を指すポインタを指定します。</dd>
+<dt>FileInfo</dt>
+<dd>読み出したファイル情報を格納するファイル情報構造体へのポインタを指定します。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>FR_OK (0)</dt>
+<dd>正常終了。</dd>
+<dt>FR_NO_FILE</dt>
+<dd>ファイルまたはディレクトリが見つからない。</dd>
+<dt>FR_NO_PATH</dt>
+<dd>パスが見つからない。</dd>
+<dt>FR_INVALID_NAME</dt>
+<dd>パス名が不正。</dd>
+<dt>FR_INVALID_NAME</dt>
+<dd>ドライブ番号が不正。</dd>
+<dt>FR_NOT_READY</dt>
+<dd>メディアがセットされていないなど、ディスク・ドライブが動作不能状態。</dd>
+<dt>FR_RW_ERROR</dt>
+<dd>ディスク・エラーまたは内部エラーによる失敗。</dd>
+<dt>FR_NOT_ENABLED</dt>
+<dd>論理ドライブにワークエリアが割り当てられていない。</dd>
+<dt>FR_NO_FILESYSTEM</dt>
+<dd>ディスク上に有効なFATパーテーションが見つからない。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>解説</h4>
+<p>ファイルまたはディレクトリに関する情報を得ます。得られるファイル情報の詳細については <tt>FILINFO</tt>構造体を参照してください。<tt>_FS_MINIMIZE &gt;= 1</tt>ではこの関数はサポートされません。</p>
+</div>
+
+
+<div class="para">
+<h4>参照</h4>
+<p><tt><a href="opendir.html">f_opendir</a>, <a href="readdir.html">f_readdir</a>, <a href="sfileinfo.html">FILINFO</a>, <a href="sdir.html">DIR</a></tt></p>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/sync.html b/third_party/fatfs/doc/ja/sync.html
new file mode 100644
index 0000000..cfc159c
--- /dev/null
+++ b/third_party/fatfs/doc/ja/sync.html
@@ -0,0 +1,61 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - f_sync</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>f_sync</h2>
+<p>書き込み中のファイルのキャッシュされた情報をフラッシュします。</p>
+<pre>
+FRESULT f_sync (
+ FIL* <em>FileObject</em> /* ファイル・オブジェクト構造体へのポインタ */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>FileObject</dt>
+<dd>syncするファイルのファイル・オブジェクト構造体へのポインタを指定します。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>FR_OK (0)</dt>
+<dd>正常終了。</dd>
+<dt>FR_RW_ERROR</dt>
+<dd>ディスク・エラーまたは内部エラーによる失敗。</dd>
+<dt>FR_NOT_READY</dt>
+<dd>メディアがセットされていないなど、ディスク・ドライブが動作不能状態。</dd>
+<dt>FR_INVALID_OBJECT</dt>
+<dd>ファイル・オブジェクトが無効。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>解説</h4>
+<p>この関数は<tt>f_close()</tt>と同じ処理を実行しますが、ファイルは引き続き開かれたままになり、読み書きを続行できます。ロギングなど、書き込みモードで長時間ファイルが開かれているアプリケーションにおいて、定期的または区切りの良いところでsyncすることにより、不意の電源断やメディアの取り外しにより失われるデータを最小にすることができます。</p>
+<p>リード・オンリー構成ではこの関数はサポートされません。</p>
+</div>
+
+
+<div class="para">
+<h4>参照</h4>
+<p><tt><a href="close.html">f_close</a></tt></p>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/unlink.html b/third_party/fatfs/doc/ja/unlink.html
new file mode 100644
index 0000000..6d7f9cc
--- /dev/null
+++ b/third_party/fatfs/doc/ja/unlink.html
@@ -0,0 +1,68 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - f_unlink</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>f_unlink</h2>
+<p>ファイルまたはディレクトリを削除します。</p>
+<pre>
+FRESULT f_unlink (
+ const char* <em>FileName</em> /* ファイルまたはディレクトリ名へのポインタ */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>FileName</dt>
+<dd>削除対象の<a href="filename.html">ファイルまたはディレクトリ名</a>の入った<tt>'\0'</tt>で終わる文字列へのポインタを指定します。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>FR_OK (0)</dt>
+<dd>正常終了。</dd>
+<dt>FR_NO_FILE</dt>
+<dd>ファイルが見つからない。</dd>
+<dt>FR_NO_PATH</dt>
+<dd>パスが見つからない。</dd>
+<dt>FR_INVALID_NAME</dt>
+<dd>パス名が不正。</dd>
+<dt>FR_INVALID_DRIVE</dt>
+<dd>ドライブ番号が不正。</dd>
+<dt>FR_DENIED</dt>
+<dd>対象ファイル・ディレクトリがリード・オンリー状態、対象ディレクトリが空でない場合など。</dd>
+<dt>FR_NOT_READY</dt>
+<dd>メディアがセットされていないなど、物理ドライブが動作不能状態。</dd>
+<dt>FR_WRITE_PROTECTED</dt>
+<dd>メディアが書き込み禁止状態。</dd>
+<dt>FR_RW_ERROR</dt>
+<dd>ディスク・エラーまたは内部エラーによる失敗。</dd>
+<dt>FR_NOT_ENABLED</dt>
+<dd>論理ドライブにワーク・エリアが割り当てられていない。</dd>
+<dt>FR_NO_FILESYSTEM</dt>
+<dd>ディスク上に有効なFATパーテーションが見つからない。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>解説</h4>
+<p>ファイルまたはディレクトリを削除します。リード・オンリー構成や<tt>_FS_MINIMIZE &gt;= 1</tt>ではこの関数はサポートされません。</p>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>
diff --git a/third_party/fatfs/doc/ja/write.html b/third_party/fatfs/doc/ja/write.html
new file mode 100644
index 0000000..b7ff34e
--- /dev/null
+++ b/third_party/fatfs/doc/ja/write.html
@@ -0,0 +1,71 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
+<html lang="ja">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
+<meta http-equiv="Content-Style-Type" content="text/css">
+<link rel="up" title="FatFs" href="../00index_j.html">
+<link rel="stylesheet" href="../css_j.css" type="text/css" media="screen" title="ELM Default">
+<title>FatFs - f_write</title>
+</head>
+
+<body>
+
+<div class="para">
+<h2>f_write</h2>
+<p>ファイルにデータを書き込みます。</p>
+<pre>
+FRESULT f_write (
+ FIL* <em>FileObject</em>, /* ファイル・オブジェクト */
+ const void* <em>Buffer</em>, /* 書き込みデータ */
+ WORD <em>ByteToWrite</em>, /* 書き込むバイト数 */
+ WORD* <em>ByteWritten</em> /* 書き込まれたバイト数 */
+);
+</pre>
+</div>
+
+<div class="para">
+<h4>引数</h4>
+<dl class="par">
+<dt>FileObject</dt>
+<dd>ファイル・オブジェクト構造体へのポインタを指定します。</dd>
+<dt>Buffer</dt>
+<dd>書き込むデータを格納したバッファを指すポインタを指定します。</dd>
+<dt>ByteToWrite</dt>
+<dd>書き込むバイト数(0〜65535)を指定します。</dd>
+<dt>ByteWritten</dt>
+<dd>書き込まれたバイト数を格納する変数を指すポインタを指定します。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>戻り値</h4>
+<dl class="ret">
+<dt>FR_OK (0)</dt>
+<dd>正常終了。</dd>
+<dt>FR_DENIED</dt>
+<dd>非書き込みモードで開いたファイルに書き込もうとした。</dd>
+<dt>FR_RW_ERROR</dt>
+<dd>ディスク・エラーまたは内部エラーによる失敗。</dd>
+<dt>FR_NOT_READY</dt>
+<dd>メディアがセットされていないなど、ディスク・ドライブが動作不能状態。</dd>
+<dt>FR_INVALID_OBJECT</dt>
+<dd>無効なファイルオブジェクト。</dd>
+</dl>
+</div>
+
+
+<div class="para">
+<h4>解説</h4>
+<p>書き込み開始位置は、ファイルR/Wポインタの現在位置からになります。ファイルR/Wポインタは実際に書き込まれたバイト数だけ進みます。書き込み中にディスクが一杯になったときは、<tt>*ByteWritten</tt>は<tt>ByteToWrite</tt>よりも小さくなります。リード・オンリー構成ではこの関数はサポートされません。</p>
+</div>
+
+
+<div class="para">
+<h4>参照</h4>
+<p><tt><a href="open.html">f_open</a>, <a href="read.html">f_read</a>, <a href="close.html">f_close</a>, <a href="sfile.html">FIL</a></tt></p>
+</div>
+
+<p class="foot"><a href="../00index_j.html">戻る</a></p>
+</body>
+</html>