サイズというか、容量ですかね。
どこかで、NDEFフォーマット前にカードの容量はわからんかね、というようなことが書かれていた。
記憶を頼りに書くが、カード自体にはカードサイズを取得するコマンドはない。
FeliCa Standardにはあったと思うが、プロプライエタリなコマンドだ。
なので、けっこうめんどくさい。
さらに憶測になるが、まあいいや。
Type 2 Tag、つまりMIFARE UltralightやMIFARE Ultralight Cは64byteタイプがメジャーだ(と思う)けど、それ以外のサイズもある。
Ultralightとかだと、ポーリングに相当するコマンドを投げると、SAKというデータが返ってくる。
これを見て、まず大きく種別を把握することになる。
http://www.nxp.com/documents/application_note/130830.pdf
これの7ページあたりを見るとよかろう。
昔、記事に書いたような気もするが、記憶がないので書いてないかも。
これがわかったとしても、カードの種類くらいしかわからない。
MIFARE Classicは1Kと4Kの区別が付くのだけど、それ以外は特にないのだ。
むー。
ではどうやるかというと、実際に読むコマンドを投げる!だ。
読むときにはメモリアドレスみたいなものを指定するので、指定したアドレスに対して応答が返ってこなければ、そのアドレスはない、みたいな判別方法になる。
・・・だったと思う。
これも記事に書いたことがあるような気がする。
検索ページから削ってしまったのが悔やまれるのは、こういうときだ。
あった。libnfcの人がそういってたんだった。
http://hiro99ma.blogspot.jp/2012/02/mifareultralight-c.html
FeliCa LiteとLite-Sも同じようになるんじゃないかな。
まあ、あれはシステムブロック数が違うだけで、ユーザメモリは同じだったはず。
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。