<?xml version="1.0" encoding="utf-8" ?>
<rdf:RDF
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:content="http://purl.org/rss/1.0/modules/content/"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
 >

  <channel rdf:about="http://sourceforge.jp/projects/felicalib/wiki/!feeds/list">
    <title>FeliCa Library Wiki</title>
    <link>http://sourceforge.jp/projects/felicalib/wiki/!feeds/list</link>
    <description>
      SourceForge.jp Wiki pages for FeliCa Library project.    </description>
        <dc:date>2010-05-09T23:49:24+09:00</dc:date>
        <items>
      <rdf:Seq>
                <rdf:li rdf:resource="http://sourceforge.jp/projects/felicalib/wiki/x64" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/felicalib/wiki/USB2-NFC%E5%AF%BE%E5%BF%9C" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/felicalib/wiki/FrontPage" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/felicalib/wiki/suica" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/felicalib/wiki/QUICPay" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/felicalib/wiki/WAON" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/felicalib/wiki/nanaco" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/felicalib/wiki/Edy" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/felicalib/wiki/SideBar" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/felicalib/wiki/Cpp" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/felicalib/wiki/%E5%90%84%E3%82%AB%E3%83%BC%E3%83%89%E3%81%AE%E8%A7%A3%E6%9E%90%E6%83%85%E5%A0%B1" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/felicalib/wiki/CSharp" />
                <rdf:li rdf:resource="http://sourceforge.jp/projects/felicalib/wiki/C%2FC%20%20%E3%81%A7%E3%81%AE%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95" />
              </rdf:Seq>
    </items>
  </channel>

      <item rdf:about="http://sourceforge.jp/projects/felicalib/wiki/x64">
    <title>x64</title>
    <link>http://sourceforge.jp/projects/felicalib/wiki/x64</link>
    <dc:identifier>x64</dc:identifier>
    <dc:date>2010-05-09T23:49:24+09:00</dc:date>
        <description>
      <![CDATA[= x64 対応

Windows x64 には、felicalib ver 0.4 から対応しています。

なお、ver 0.4.3 からは x64ネイティブアプリからも利用できるようになる予定です。

== 注意事項

felicalib は Windows x64 環境で動作しますが、x86(32bit)アプリケーションのみに対応し、
x64 アプリケーションには対応しませ]]>
    </description>
    <content:encoded>
      <![CDATA[<h1 id="h1-x64.20.E5.AF.BE.E5.BF.9C">x64 対応</h1><p>Windows x64 には、felicalib ver 0.4 から対応しています。
</p><p>なお、ver 0.4.3 からは x64ネイティブアプリからも利用できるようになる予定です。
</p><h2 id="h2-.E6.B3.A8.E6.84.8F.E4.BA.8B.E9.A0.85">注意事項</h2><p>felicalib は Windows x64 環境で動作しますが、x86(32bit)アプリケーションのみに対応し、
x64 アプリケーションには対応しません。
</p><p>このため、felicalib を使用するアプリケーションは必ず x86 を指定してビルドしてください。
x64 環境では、アプリケーションは WOW64 上で動作することになります。
</p><p>この理由は、<a href="http://sourceforge.jp/projects/felicalib/wiki/FeliCa">FeliCa</a>ポートソフトウェア自体が提供する felica.dll が x86 版しかないからです。
</p><h2 id="h2-C.23.20.E3.81.AA.E3.81.A9.E3.81.8B.E3.82.89.E4.BD.BF.E3.81.86.E5.A0.B4.E5.90.88">C# などから使う場合</h2><p>C# など、.NET アプリケーションをビルドするときは、ターゲットプラットフォームを
&quot;Any CPU&quot; ではなく x86 限定にしておかなければなりません。Any CPU でビルドした
アプリケーションを x64 環境で実行しても、felicalib.dll をロードできません。
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/felicalib/wiki/USB2-NFC%E5%AF%BE%E5%BF%9C">
    <title>USB2-NFC対応</title>
    <link>http://sourceforge.jp/projects/felicalib/wiki/USB2-NFC%E5%AF%BE%E5%BF%9C</link>
    <dc:identifier>USB2-NFC対応</dc:identifier>
    <dc:date>2008-06-08T21:35:55+09:00</dc:date>
        <description>
      <![CDATA[= USB2-NFC 対応 =

IO-DATA の [http://www.iodata.jp/prod/mobile/nfc/2008/usb2-nfc/ USB2-NFC]には、現行の felicalib は対応していません。
USB2-NFC にアクセスするための方法は PaSoRi とは違うようです。

ですが、USB2-NFC には、felicatonfc.dll という A]]>
    </description>
    <content:encoded>
      <![CDATA[<h1 id="h1-USB2-NFC.20.E5.AF.BE.E5.BF.9C">USB2-NFC 対応</h1><p>IO-DATA の <a href="http://www.iodata.jp/prod/mobile/nfc/2008/usb2-nfc/" class="external" rel="nofollow">USB2-NFC</a>には、現行の felicalib は対応していません。
USB2-NFC にアクセスするための方法は <a href="http://sourceforge.jp/projects/felicalib/wiki/PaSoRi">PaSoRi</a> とは違うようです。
</p><p>ですが、USB2-NFC には、felicatonfc.dll という API ラッパ DLL があります(USB2-NFC版<a href="http://sourceforge.jp/projects/felicalib/wiki/EdyViewer">EdyViewer</a> に付属)。
これを使えば、felicalib から USB2-NFC にアクセスできるようになるはずです。
</p><p>このため、以下の API を追加予定です (Subversion にはコミット済み)
</p><pre>pasori * pasori2_open(TCHAR *dllpath)

pasori をオープンする。dllpath には、デバイスにアクセスするための DLL のpathを指定する。
ここに felicatonfc.dll のパスを指定すれば、USB2-NFC にアクセスできる。
</pre><p>注意点: felicatonfd.dll には、polling_and_request_system_code など一部 API が欠けています。
このため、<a href="http://sourceforge.jp/projects/felicalib/wiki/FelicaDump">FelicaDump</a> は動作しません。ID 読み取りとか、普通のブロックリードなどは動作するはずです。
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/felicalib/wiki/FrontPage">
    <title>FrontPage</title>
    <link>http://sourceforge.jp/projects/felicalib/wiki/FrontPage</link>
    <dc:identifier>FrontPage</dc:identifier>
    <dc:date>2008-06-08T21:28:05+09:00</dc:date>
        <description>
      <![CDATA[= felicalib プロジェクト Wiki =

felicalib の Wiki です。

== News

felicalib 0.2 を公開しました(2007/11/10)

== プログラムから felicalib を利用する方法 (開発者向け)

 * [Cpp] - C/C++での利用方法
 * [CSharp] - C#での利用方法
 * [x64] - ]]>
    </description>
    <content:encoded>
      <![CDATA[<h1 id="h1-felicalib.20.E3.83.97.E3.83.AD.E3.82.B8.E3.82.A7.E3.82.AF.E3.83.88.20Wiki">felicalib プロジェクト Wiki</h1><p>felicalib の Wiki です。
</p><h2 id="h2-News">News</h2><p>felicalib 0.2 を公開しました(2007/11/10)
</p><h2 id="h2-.E3.83.97.E3.83.AD.E3.82.B0.E3.83.A9.E3.83.A0.E3.81.8B.E3.82.89.20felicalib.20.E3.82.92.E5.88.A9.E7.94.A8.E3.81.99.E3.82.8B.E6.96.B9.E6.B3.95.20.28.E9.96.8B.E7.99.BA.E8.80.85.E5.90.91.E3.81.91.29">プログラムから felicalib を利用する方法 (開発者向け)</h2><ul><li><a href="http://sourceforge.jp/projects/felicalib/wiki/Cpp">Cpp</a> - C/C++での利用方法
</li><li><a href="http://sourceforge.jp/projects/felicalib/wiki/CSharp">CSharp</a> - C#での利用方法
</li><li><a href="http://sourceforge.jp/projects/felicalib/wiki/x64">x64</a> - Windows x64 環境での利用について
</li></ul><h2 id="h2-.E3.83.A1.E3.83.A2.E9.A1.9E">メモ類</h2><ul><li><a href="http://sourceforge.jp/projects/felicalib/wiki/%E5%90%84%E3%82%AB%E3%83%BC%E3%83%89%E3%81%AE%E8%A7%A3%E6%9E%90%E6%83%85%E5%A0%B1">各カードの解析情報</a>
<ul><li><a href="http://sourceforge.jp/projects/felicalib/wiki/nanaco">nanaco</a>
</li><li><a href="http://sourceforge.jp/projects/felicalib/wiki/suica">suica</a>
</li><li><a href="http://sourceforge.jp/projects/felicalib/wiki/Edy">Edy</a>
</li><li><a href="http://sourceforge.jp/projects/felicalib/wiki/WAON">WAON</a>
</li><li><a href="http://sourceforge.jp/projects/felicalib/wiki/QUICPay">QUICPay</a>
</li></ul></li><li><a href="http://sourceforge.jp/projects/felicalib/wiki/USB2-NFC%E5%AF%BE%E5%BF%9C">USB2-NFC対応</a>
</li></ul><h2 id="h2-.21ToDo">ToDo</h2><ul><li>API のドキュメントを整備する
</li><li>書き込み用の API
<ul><li>API はだいたいわかっているのですぐ作れるが、テスト環境がない。
誰かテストしてくれるなら作るけど。
</li><li>と、思ったら、<a href="http://sourceforge.jp/projects/felicalib/wiki/DoCoMo">DoCoMo</a> のモバイルFelicaのフリー領域なら普通に書き込みできることが判明。
ちゃんと書き込みできることを確認した。次バージョンには API 追加予定。
</li></ul></li><li>.NET 向けライブラリも作る &gt; 完了
</li></ul><p>あと、Edy とか Suica とか nanaco の読み込み用の API もあると便利？
</p><h2 id="h2-felicalib.20.E3.82.92.E4.BD.BF.E7.94.A8.E3.81.97.E3.81.A6.E3.81.84.E3.82.8B.E3.82.BD.E3.83.95.E3.83.88">felicalib を使用しているソフト</h2><ul><li><a href="http://moneyimport.sourceforge.jp" class="external" rel="nofollow">http://moneyimport.sourceforge.jp</a> : Felica2Money (同じ作者)
</li><li><a href="http://hp.vector.co.jp/authors/VA001911/freeware/doc_felica.html" class="external" rel="nofollow">http://hp.vector.co.jp/authors/VA001911/freeware/doc_felica.html</a> : <a href="http://sourceforge.jp/projects/felicalib/wiki/FeliCa">FeliCa</a> Raw Viewer
</li></ul><h2 id="h2-.E3.83.AA.E3.83.B3.E3.82.AF">リンク</h2><ul><li><a href="http://felicalib.tmurakam.org" class="external" rel="nofollow">http://felicalib.tmurakam.org</a> : プロジェクトWebページ
</li><li><a href="http://libpasori.sourceforge.jp" class="external" rel="nofollow">http://libpasori.sourceforge.jp</a> : <a href="http://sourceforge.jp/projects/libpasori/" class="project">project:libpasori</a>
</li><li><a href="http://pc11.2ch.net/test/read.cgi/tech/1100532582/" class="external" rel="nofollow">http://pc11.2ch.net/test/read.cgi/tech/1100532582/</a> : <a href="http://sourceforge.jp/projects/felicalib/wiki/FeliCa">FeliCa</a> でソフトを作りまくるスレ
</li><li><a href="http://www.tmurakam.org" class="external" rel="nofollow">http://www.tmurakam.org</a> : 作者のサイト
</li><li><a href="http://takanory.net/takalog/824" class="external" rel="nofollow">http://takanory.net/takalog/824</a> : <a href="http://sourceforge.jp/projects/felicalib/wiki/FeliCa">FeliCa</a> の Id を python で読む
</li></ul>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/felicalib/wiki/suica">
    <title>suica</title>
    <link>http://sourceforge.jp/projects/felicalib/wiki/suica</link>
    <dc:identifier>suica</dc:identifier>
    <dc:date>2008-04-20T15:50:23+09:00</dc:date>
        <description>
      <![CDATA[= Suica

以下の情報は、でんのすけさんにいただいた情報、および guisaの実装(page3.nifty.com/slokar/pasori/gsuica)をベースにしています。 

Suica/ICOCA/PiTaPa/PASMO/TOICA は基本的に同じフォーマットです。
Suica には入出場記録と履歴の２つのサービスコードがある。以下の説明は履歴のほうのみ。サービスコー]]>
    </description>
    <content:encoded>
      <![CDATA[<h1 id="h1-Suica">Suica</h1><p>以下の情報は、でんのすけさんにいただいた情報、および guisaの実装(page3.nifty.com/slokar/pasori/gsuica)をベースにしています。 
</p><p>Suica/ICOCA/<a href="http://sourceforge.jp/projects/felicalib/wiki/PiTaPa">PiTaPa</a>/PASMO/TOICA は基本的に同じフォーマットです。
Suica には入出場記録と履歴の２つのサービスコードがある。以下の説明は履歴のほうのみ。サービスコードは　0x090f。
(なお、<a href="http://sourceforge.jp/projects/felicalib/wiki/IruCa">IruCa</a> はシステムコードが 0xde80 に変わるが、フォーマットは基本的に Suica 系と同じ) 
</p><p>各エントリは１６バイト。フォーマットは以下の通り。
</p><ul><li>0: 端末種
</li><li>1: 処理
</li><li>2-3: ??
</li><li>4-5: 日付 (先頭から7ビットが年、４ビットが月、残り５ビットが日)
</li><li>6 : 入線区
</li><li>7 : 入駅順
</li><li>8 : 出線区
</li><li>9 : 出駅順
</li><li>10-11: 残高 (little endian)
</li><li>12-14: 連番
</li><li>15: リージョン
</li></ul><p>残高だけ little endian なので注意。
</p><p>なお、物販とバスの場合、以下のようにフォーマットが変わる。
</p><ul><li>物販 : 6-7バイト目が時刻となる。先頭から5ビットが時,6ビットが分,下5ビットは不明(秒にしてはビット数が足りない?)
<ul><li>物販とは処理の値が 70, 73, 74, 75, 198, 203 のときである。
</li></ul></li><li>バス : 入線区/入駅順がなくなり、出線区/出駅順が各16ビットになる（それぞれ 6-7, 8-9バイト目)
<ul><li>バスとは、処理の値が 13, 15, 31, 35 のときである。
</li></ul></li></ul><p>端末種の値は以下の通り
</p><ul><li>3 : 精算機
</li><li>4 : 携帯型端末
</li><li>5 : 車載端末
</li><li>7 : 券売機
</li><li>8 : 券売機
</li><li>9 : 入金機
</li><li>18 : 券売機
</li><li>20 : 券売機等
</li><li>21 : 券売機等
</li><li>22 : 改札機
</li><li>23 : 簡易改札機
</li><li>24,25 : 窓口端末
</li><li>26 : 改札端末
</li><li>27 : 携帯電話
</li><li>28 : 乗継精算機
</li><li>29 : 連絡改札機
</li><li>31 : 簡易入金機
</li><li>70 : VIEW ALTTE
</li><li>72 : VIEW ALTTE
</li><li>199 : 物販端末
</li><li>200 : 自販機
</li></ul><p>処理の値は以下の通り
</p><ul><li>1 : 運賃支払(改札出場)
</li><li>2 : チャージ
</li><li>3 : 券購(磁気券購入)
</li><li>4 : 精算
</li><li>5 : 精算 (入場精算)
</li><li>6 : 窓出 (改札窓口処理)
</li><li>7 : 新規 (新規発行)
</li><li>8 : 控除 (窓口控除)
</li><li>13 : バス (<a href="http://sourceforge.jp/projects/felicalib/wiki/PiTaPa">PiTaPa</a>系)
</li><li>15 : バス (<a href="http://sourceforge.jp/projects/felicalib/wiki/IruCa">IruCa</a>系)
</li><li>17 : 再発 (再発行処理)
</li><li>19 : 支払 (新幹線利用)
</li><li>20 : 入A (入場時オートチャージ)
</li><li>21 : 出A (出場時オートチャージ)
</li><li>31 : 入金 (バスチャージ)
</li><li>35 : 券購 (バス路面電車企画券購入)
</li><li>70 : 物販
</li><li>72 : 特典 (特典チャージ)
</li><li>73 : 入金 (レジ入金)
</li><li>74 : 物販取消
</li><li>75 : 入物 (入場物販)
</li><li>198 : 物現 (現金併用物販)
</li><li>203 : 入物 (入場現金併用物販)
</li><li>132 : 精算 (他社精算)
</li><li>133 : 精算 (他社入場精算)
</li></ul><h2 id="h2-.E9.A7.85.E3.82.B3.E3.83.BC.E3.83.89.2F.E5.BA.97.E8.88.97.E3.82.B3.E3.83.BC.E3.83.89">駅コード/店舗コード</h2><p><a href="http://www.denno.net/SFCardFan/" class="external" rel="nofollow">http://www.denno.net/SFCardFan/</a> にあるサイバネ駅コードデータベースで調べられる。
</p><h3 id="h3-.E9.A7.85.E5.90.8D">駅名</h3><p>端末種が 0xc7, 0xc8, 0x05 以外の場合。
</p><p>駅名については地区コード(<a href="http://sourceforge.jp/projects/felicalib/wiki/AreaCode">AreaCode</a>)、線区コード(<a href="http://sourceforge.jp/projects/felicalib/wiki/LineCode">LineCode</a>)、駅順コード(<a href="http://sourceforge.jp/projects/felicalib/wiki/StationCode">StationCode</a>)から調べる。
ここで、地区コードは以下のように求める。
</p><ul><li>線区が 0x7f 以下のとり : 0 (JR線)
</li><li>線区が 0x80 以上でリージョンが 0 のとき : 1 (関東公営・私鉄)
</li><li>線区が 0x80 以上でリージョンが 1 のとき : 2 (関西公営・私鉄)
</li></ul><h3 id="h3-.E5.BA.97.E8.88.97.E5.90.8D">店舗名</h3><p>端末種が 0xc7, 0xc8 の場合。
</p><p>店舗については、エリア(<a href="http://sourceforge.jp/projects/felicalib/wiki/AreaCode">AreaCode</a>)、端末(<a href="http://sourceforge.jp/projects/felicalib/wiki/TerminalCode">TerminalCode</a>)、線区(<a href="http://sourceforge.jp/projects/felicalib/wiki/LineCode">LineCode</a>)、駅順(<a href="http://sourceforge.jp/projects/felicalib/wiki/StationCode">StationCode</a>)の４バイトで検索する。
エリアコードは 1:Suica/PASMO, 2:ICOCA, 4:<a href="http://sourceforge.jp/projects/felicalib/wiki/IruCa">IruCa</a> となっている。しかし、履歴にはエリアコードは記録されておらず、
さらに Suica/PASMO 間でコード重複があるので、100% 確実に店舗名を知ることは不可能。
</p><h3 id="h3-.E8.BB.8A.E8.BC.89.E7.AB.AF.E6.9C.AB.28.E3.83.90.E3.82.B9.29">車載端末(バス)</h3><p>端末種が 0x05 の場合。
</p><p>このときは、線区/駅順をキーに <a href="http://sourceforge.jp/projects/felicalib/wiki/IruCa">IruCa</a>停留所コードテーブルを見れば良い。
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/felicalib/wiki/QUICPay">
    <title>QUICPay</title>
    <link>http://sourceforge.jp/projects/felicalib/wiki/QUICPay</link>
    <dc:identifier>QUICPay</dc:identifier>
    <dc:date>2008-04-08T22:36:00+09:00</dc:date>
        <description>
      <![CDATA[* QUICPay

QUICPay ID は、SystemCode 04C1, ServiceCode 100B に書かれている。
10バイト、HEX。

履歴が入っているかどうかは不明。]]>
    </description>
    <content:encoded>
      <![CDATA[<p>* QUICPay
</p><p>QUICPay ID は、<a href="http://sourceforge.jp/projects/felicalib/wiki/SystemCode">SystemCode</a> 04C1, <a href="http://sourceforge.jp/projects/felicalib/wiki/ServiceCode">ServiceCode</a> 100B に書かれている。
10バイト、HEX。
</p><p>履歴が入っているかどうかは不明。</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/felicalib/wiki/WAON">
    <title>WAON</title>
    <link>http://sourceforge.jp/projects/felicalib/wiki/WAON</link>
    <dc:identifier>WAON</dc:identifier>
    <dc:date>2008-03-20T22:27:20+09:00</dc:date>
        <description>
      <![CDATA[= WAON

システムコード 0x00fe, サービスコード 0x680b に履歴情報がある。
履歴は３件。ややこしいことに、履歴１つに対して２ブロック(32バイト)となっている。

カード番号はサービスコード 0x67cf、ブロック番号0より、13バイト目から８バイトに渡り入っている。

== 履歴情報

履歴情報(32バイト)の構成は以下の通り(数値はオフセット)

 ]]>
    </description>
    <content:encoded>
      <![CDATA[<h1 id="h1-WAON">WAON</h1><p>システムコード 0x00fe, サービスコード 0x680b に履歴情報がある。
履歴は３件。ややこしいことに、履歴１つに対して２ブロック(32バイト)となっている。
</p><p>カード番号はサービスコード 0x67cf、ブロック番号0より、13バイト目から８バイトに渡り入っている。
</p><h2 id="h2-.E5.B1.A5.E6.AD.B4.E6.83.85.E5.A0.B1">履歴情報</h2><p>履歴情報(32バイト)の構成は以下の通り(数値はオフセット)
</p><ul><li>0-12 : 備考 (文字列?)
</li><li>13-14: 連番
</li><li>15-16: 備考１(??)
</li><li>17 : 種別 (0x04:支払,0x0c:チャージ,0x10:チャージ)
</li><li>18-21 : 日付 (年:5bit?, 月:4bit, 日:5bit, 時:5bit, 分:6bit) 
<ul><li>年と思われる値には 3 が入っていた。2005年基準？
</li></ul></li><li>21-23 : 残高 (先頭1bit飛ばして、18bit)
</li><li>23-25 : 出金額 (先頭3bit飛ばして、18bit)
</li><li>25-27 : チャージ額 (先頭5bit飛ばして、17bit)
</li></ul><p>データが思いっきり詰め込まれてるので読みにくい。。。
下のビット割り当てを参照のこと。
</p><pre>     7 6 5 4 3 2 1 0
    +-+-+-+-+-+-+-+-+
18  |  year?  |month|
    +-+-+-+-+-+-+-+-+
19  | |   day   | ho|
    +-+-+-+-+-+-+-+-+
20  |ur   | minutes |
    +-+-+-+-+-+-+-+-+
21  | |  value      |
    +-+-+-+-+-+-+-+-+
22  |    value      |
    +-+-+-+-+-+-+-+-+
23  |value| outgo   |
    +-+-+-+-+-+-+-+-+
24  |     outgo     |
    +-+-+-+-+-+-+-+-+
25  |  outgo  |incom|
    +-+-+-+-+-+-+-+-+
26  |    income     |
    +-+-+-+-+-+-+-+-+
27  |    income | |?|
    +-+-+-+-+-+-+-+-+
28  |???|           |
    +-+-+-+-+-+-+-+-+
</pre><div class="indent"></div>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/felicalib/wiki/nanaco">
    <title>nanaco</title>
    <link>http://sourceforge.jp/projects/felicalib/wiki/nanaco</link>
    <dc:identifier>nanaco</dc:identifier>
    <dc:date>2008-03-16T02:29:18+09:00</dc:date>
        <description>
      <![CDATA[== nanaco

システムコード FE00。

nanaco ID はサービスコード 0x558b に入っている。
先頭８バイトに ID が BCD エンコードでそのまま入っている。

履歴は、サービスコード 564F に入っている。１ブロック=１履歴。
各ブロックの内容は以下の通り。

 * 1バイト目 
   * 35=引継
   * 47=支払
   * 6F=]]>
    </description>
    <content:encoded>
      <![CDATA[<h2 id="h2-nanaco">nanaco</h2><p>システムコード FE00。
</p><p>nanaco ID はサービスコード 0x558b に入っている。
先頭８バイトに ID が BCD エンコードでそのまま入っている。
</p><p>履歴は、サービスコード 564F に入っている。１ブロック=１履歴。
各ブロックの内容は以下の通り。
</p><ul><li>1バイト目 
<ul><li>35=引継
</li><li>47=支払
</li><li>6F=チャージ
</li><li>70=チャージ
</li><li>83=ポイント交換によるチャージ
</li></ul></li><li>2～5バイト目 : 金額
</li><li>6～9バイト目 : 残高
</li><li>10～13バイト目 : 日付と時刻
</li><li>14～15バイト目 : 連番
</li></ul><p>値は全て Big Endian で格納されている。
</p><p>日付と時刻は4バイトあり、MSB 側からビットが切られている。
</p><ul><li>11bit : 年 (2000年 を 0 とする)
</li><li>4bit : 月
</li><li>5bit : 日
</li><li>6bit : 時
</li><li>6bit : 分
</li></ul><p>例えば、00F5F49B の場合、7年 10月 31日 18時 27分となる。
(年が本当に 11bit もあるのかは不明)
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/felicalib/wiki/Edy">
    <title>Edy</title>
    <link>http://sourceforge.jp/projects/felicalib/wiki/Edy</link>
    <dc:identifier>Edy</dc:identifier>
    <dc:date>2008-03-06T23:10:57+09:00</dc:date>
        <description>
      <![CDATA[= Edy

サービスコードは 0x1317。

各ブロック(16バイト) のフォーマットは以下のとおり。

 * 0: 処理 (20:支払い, 02:チャージ, 04:Edyギフト)
 * 1-3: 連番
 * 4-7: 時刻
 * 8-11: 金額
 * 12-15: 残高

エンディアンはすべてビッグエンディアン。金額の値は常に正。

日付のフォーマットはちょっと]]>
    </description>
    <content:encoded>
      <![CDATA[<h1 id="h1-Edy">Edy</h1><p>サービスコードは 0x1317。
</p><p>各ブロック(16バイト) のフォーマットは以下のとおり。
</p><ul><li>0: 処理 (20:支払い, 02:チャージ, 04:Edyギフト)
</li><li>1-3: 連番
</li><li>4-7: 時刻
</li><li>8-11: 金額
</li><li>12-15: 残高
</li></ul><p>エンディアンはすべてビッグエンディアン。金額の値は常に正。
</p><p>日付のフォーマットはちょっと面倒。まず上位15bitに日付が入る。これは 2000/1/1からの経過日数。(なので、2089年くらいまでしか表現できない)
</p><p>時刻は下17bit に入っている。これは0時0分からの経過秒数となっている。
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/felicalib/wiki/SideBar">
    <title>SideBar</title>
    <link>http://sourceforge.jp/projects/felicalib/wiki/SideBar</link>
    <dc:identifier>SideBar</dc:identifier>
    <dc:date>2008-03-02T13:47:32+09:00</dc:date>
        <description>
      <![CDATA[==
{{{ comment
以下はサンプルの Google Adsense コードです。
自分のものに置き換えるか、不要であれば削除してください。
プロジェクト Wiki での Adsense の使い方は
http://sourceforge.jp/projects/sourceforge/wiki/Guide%2FAffiliateSetting
を参照してください。
}}}
]]>
    </description>
    <content:encoded>
      <![CDATA[<h2 id="h2-"></h2><span class="wiki-system-error">AdSense is disabled. Please <a href="/projects/felicalib/admin/wiki">check setting</a>.</span><h1 id="h1-.E6.9C.80.E8.BF.91.E3.81.AE.E6.9B.B4.E6.96.B0">最近の更新</h1><h4 id="h4-2010-05-09">2010-05-09</h4><ul><li><a href="http://sourceforge.jp/projects/felicalib/wiki/x64">x64</a>
</li></ul><h4 id="h4-2008-06-08">2008-06-08</h4><ul><li><a href="http://sourceforge.jp/projects/felicalib/wiki/USB2-NFC%E5%AF%BE%E5%BF%9C">USB2-NFC対応</a>
</li><li><a href="http://sourceforge.jp/projects/felicalib/wiki/FrontPage">FrontPage</a>
</li></ul><h4 id="h4-2008-04-20">2008-04-20</h4><ul><li><a href="http://sourceforge.jp/projects/felicalib/wiki/suica">suica</a>
</li></ul><h4 id="h4-2008-04-08">2008-04-08</h4><ul><li><a href="http://sourceforge.jp/projects/felicalib/wiki/QUICPay">QUICPay</a>
</li></ul><h4 id="h4-2008-03-20">2008-03-20</h4><ul><li><a href="http://sourceforge.jp/projects/felicalib/wiki/WAON">WAON</a>
</li></ul>
<script src="/projects/felicalib/files/compact.js" type="text/javascript" charset="utf-8"></script>
<h1 id="h1-.5Bwiki.3Asourceforge.3AWikiGuide.20Wiki.E3.82.AC.E3.82.A4.E3.83.89.5D"><a href="http://sourceforge.jp/projects/sourceforge/wiki/WikiGuide" class="external-wiki">Wikiガイド</a></h1><ul><li><a href="http://sourceforge.jp/projects/sourceforge/wiki/Guide%2FWikiSyntax" class="external-wiki">Wikiの文法</a>
</li><li><a href="http://sourceforge.jp/projects/sourceforge/wiki/Guide%2FWikiLinks" class="external-wiki">リンクの種類と文法</a>
</li><li><a href="http://sourceforge.jp/projects/sourceforge/wiki/Guide%2FBlockProcessor" class="external-wiki">ブロックプロセッサ</a>
</li><li><a href="http://sourceforge.jp/projects/sourceforge/wiki/Guide%2FPlugins" class="external-wiki">拡張文法</a>
</li><li><a href="http://sourceforge.jp/projects/sourceforge/wiki/Guide%2FSideBar" class="external-wiki">サイドバー</a>
</li><li><a href="http://sourceforge.jp/projects/sourceforge/wiki/Guide%2FAffiliateSetting" class="external-wiki">プロジェクトWikiでの広告設定</a>
</li></ul><h1 id="h1-.E3.82.B5.E3.82.A4.E3.83.89.E3.83.90.E3.83.BC">サイドバー</h1><ul><li><a href="http://sourceforge.jp/projects/sourceforge/wiki/Guide%2FSideBar" class="external-wiki">このサイドバーについて</a>
</li><li><a rel="nofollow" href="/projects/felicalib/wiki/SideBar?action=edit">サイドバーの編集</a>
</li></ul><h1 id="h1-"></h1>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/felicalib/wiki/Cpp">
    <title>Cpp</title>
    <link>http://sourceforge.jp/projects/felicalib/wiki/Cpp</link>
    <dc:identifier>Cpp</dc:identifier>
    <dc:date>2007-11-19T20:40:43+09:00</dc:date>
        <description>
      <![CDATA[== C/C++ での利用方法

C/C++ から felicalib を利用するには以下のようにします。
どちらでもお好きな方法で。

API については、http://felicalib.tmurakam.org/refdoc/ を見てください。

=== felicalib.dll を使う場合

まず、felialib.h を #include してください。
そして f]]>
    </description>
    <content:encoded>
      <![CDATA[<h2 id="h2-C.2FC.2B.2B.20.E3.81.A7.E3.81.AE.E5.88.A9.E7.94.A8.E6.96.B9.E6.B3.95">C/C++ での利用方法</h2><p>C/C++ から felicalib を利用するには以下のようにします。
どちらでもお好きな方法で。
</p><p>API については、<a href="http://felicalib.tmurakam.org/refdoc/" class="external" rel="nofollow">http://felicalib.tmurakam.org/refdoc/</a> を見てください。
</p><h3 id="h3-felicalib.dll.20.E3.82.92.E4.BD.BF.E3.81.86.E5.A0.B4.E5.90.88">felicalib.dll を使う場合</h3><p>まず、felialib.h を #include してください。
そして felicalib.lib (インポートライブラリ) を一緒にリンクします。
</p><p>実行プログラムを同じディレクトリに felicalib.dll を置いて実行してください。
</p><h3 id="h3-.E3.82.BD.E3.83.BC.E3.82.B9.E3.82.92.E3.81.9D.E3.81.AE.E3.81.BE.E3.81.BE.E4.BD.BF.E3.81.86.E5.A0.B4.E5.90.88">ソースをそのまま使う場合</h3><p>felicalib.h, felicaint.h, felicalib.c をあなたのプログラムと一緒に
コンパイル、リンクしてください。この場合、felicalib.dll は必要ありません。
</p>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/felicalib/wiki/%E5%90%84%E3%82%AB%E3%83%BC%E3%83%89%E3%81%AE%E8%A7%A3%E6%9E%90%E6%83%85%E5%A0%B1">
    <title>各カードの解析情報</title>
    <link>http://sourceforge.jp/projects/felicalib/wiki/%E5%90%84%E3%82%AB%E3%83%BC%E3%83%89%E3%81%AE%E8%A7%A3%E6%9E%90%E6%83%85%E5%A0%B1</link>
    <dc:identifier>各カードの解析情報</dc:identifier>
    <dc:date>2007-11-10T19:39:46+09:00</dc:date>
        <description>
      <![CDATA[]]>
    </description>
    <content:encoded>
      <![CDATA[]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/felicalib/wiki/CSharp">
    <title>CSharp</title>
    <link>http://sourceforge.jp/projects/felicalib/wiki/CSharp</link>
    <dc:identifier>CSharp</dc:identifier>
    <dc:date>2007-11-10T18:47:53+09:00</dc:date>
        <description>
      <![CDATA[== C# での利用方法

PInvoke 経由で felicalib.dll を使用するライブラリを添付してあります。

src/CSharp ディレクトリにある!FelicaLib.cs ファイルをプロジェクトに追加して利用してください。
felicalib.dll を実行プログラムを同じディレクトリにおいて実行してください。

以下にサンプルを示します。これは nanaco の]]>
    </description>
    <content:encoded>
      <![CDATA[<h2 id="h2-C.23.20.E3.81.A7.E3.81.AE.E5.88.A9.E7.94.A8.E6.96.B9.E6.B3.95">C# での利用方法</h2><p>PInvoke 経由で felicalib.dll を使用するライブラリを添付してあります。
</p><p>src/CSharp ディレクトリにあるFelicaLib.cs ファイルをプロジェクトに追加して利用してください。
felicalib.dll を実行プログラムを同じディレクトリにおいて実行してください。
</p><p>以下にサンプルを示します。これは nanaco の履歴をダンプするもの。
</p><pre>using System;
using System.Collections.Generic;
using System.Text;
using FelicaLib;

namespace FelicaLib
{
    public class Nanaco
    {
        public static void Main()
        {
	    try
	    {
		using (Felica f = new Felica())
		{
		    readNanaco(f);
		}
	    }
	    catch (Exception ex)
	    {
		Console.WriteLine(ex.Message);
	    }
	}

	private static void readNanaco(Felica f)
	{
	    f.Polling((int)SystemCode.Common);
	    byte[] data = f.ReadWithoutEncryption(0x558b, 0);
	    if (data == null)
	    {
		throw new Exception(&quot;nanaco ID が読み取れません&quot;);
	    }
	    Console.Write(&quot;Nanaco ID = &quot;);
	    for (int i = 0; i &lt; 8; i++) {
		Console.Write(data[i].ToString(&quot;X2&quot;));
	    }
	    Console.Write(&quot;\n&quot;);

            for (int i = 0; ; i++)
            {
                data = f.ReadWithoutEncryption(0x564f, i);
                if (data == null) break;

                switch (data[0])
                {
                    case 0x47:
                    default:
                        Console.Write(&quot;支払     &quot;);
                        break;
                    case 0x6f:
                        Console.Write(&quot;チャージ &quot;);
                        break;
                }

                int value = (data[9] &lt;&lt; 24) + (data[10] &lt;&lt; 16) + (data[11] &lt;&lt; 8) + data[12];
                int year = (value &gt;&gt; 21) + 2000;
                int month = (value &gt;&gt; 17) &amp; 0xf;
                int date = (value &gt;&gt; 12) &amp; 0x1f;
                int hour = (value &gt;&gt; 6) &amp; 0x3f;
                int min = value &amp; 0x3f;

                Console.Write(&quot;{0}/{1:D2}/{2:D2} {3:D2}:{4:D2}&quot;, year, month, date, hour, min);

                value = (data[1] &lt;&lt; 24) + (data[2] &lt;&lt; 16) + (data[3] &lt;&lt; 8) + data[4];
                Console.Write(&quot;  金額 {0,6}円&quot;, value);

                value = (data[5] &lt;&lt; 24) + (data[6] &lt;&lt; 16) + (data[7] &lt;&lt; 8) + data[8];
                Console.Write(&quot;  残高 {0,6}円&quot;, value);

                value = (data[13] &lt;&lt; 8) + data[14];
                Console.WriteLine(&quot;  連番 {0}&quot;, value);
            }
        }
    }
}
</pre>]]>
    </content:encoded>
      </item>
        <item rdf:about="http://sourceforge.jp/projects/felicalib/wiki/C%2FC%20%20%E3%81%A7%E3%81%AE%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95">
    <title>C/C  での利用方法</title>
    <link>http://sourceforge.jp/projects/felicalib/wiki/C%2FC%20%20%E3%81%A7%E3%81%AE%E5%88%A9%E7%94%A8%E6%96%B9%E6%B3%95</link>
    <dc:identifier>C/C  での利用方法</dc:identifier>
    <dc:date>2007-11-10T18:08:20+09:00</dc:date>
        <description>
      <![CDATA[== C/C++ での利用方法


]]>
    </description>
    <content:encoded>
      <![CDATA[<h2 id="h2-C.2FC.2B.2B.20.E3.81.A7.E3.81.AE.E5.88.A9.E7.94.A8.E6.96.B9.E6.B3.95">C/C++ での利用方法</h2>]]>
    </content:encoded>
      </item>
    </rdf:RDF>

