NFC driver patch V1.04
--------------------------------------------

1.NFCIT9000CEE.104.CAB (NFC driver patch for WCE)
2.NFCIT9000WME.104.CAB (NFC driver patch for WM)
3.NFCMifarePlusCE.100.CAB (registry setting for WCE)
4.NFCMifarePlusWM.100.CAB (registry setting for WM)

This driver expand the functionality to support MifarePlus cards and allow to set the maximum communication speed between PCD and PICC.
Please see specification of below.
 
 1.Mifare Plus support
Correspond of this specification is same as UltralightC support.(like a NFCIT9000WME.103 cab).
In NFCExchangeData function, you can use the command of the NXP_MIFARE_RAW if it matches the command that is specified in the registry.
In addition, If you don't specify the command to the registry,you can use the NXP_MIFARE_CMD.
 
(Specify to the Registry)
HKEY_LOCAL_MACHINE\Drivers\CASIO\NFC\MIFAREPLUS\COMMAND\XX
(XX:specify the command (Hex) for use Mifare_RAW)
 Exchange="Normal"
          "Raw"
(Example)
 HKEY_LOCAL_MACHINE \Drivers\CASIO\NFC\MIFAREPLUS\COMMAND\38
 Exchange="Raw"
 
 HKEY_LOCAL_MACHINE \Drivers\CASIO\NFC\MIFAREPLUS\COMMAND\A8
 Exchange="Raw"

R&D prepared cab file for registry setting (NFCMifarePlusCE.100.CAB, NFCMifarePlusWM.100.CAB).
(You don't need to install MifarePlus cab file, if you set related registry settings by yourself.)

[Note]
ISO-CRC of MIFARE command:
When send a command for the MIFARE Plus, the driver added the CRC.
When  receive a response from MIFARE Plus, the driver perform the CRC check and the remove of CRC.
At the exception, in the case of ACK / NACK and other SC, the response from the MIFARE Plus card doesn't remove the CRC and driver didn't perform CRC check (because no crc).


2.Communication speed control
There can be reasons where you would like to slow down the communication speed between smartcard and NFC chip by manual setting.
Setting a limit of maximum communication speed can result in faster overall transaction time because of less retransmission of packets due to external influerence and to much errors.
You can set a limit of maximum communication speed between PCD and PICC by using dwParam of NFCPollingCard API.
R&D has added parameter of dwParam in NFCPolling card.

int  NFCPollingCard  (
  DWORD  dwBaudRate,
  DWORD  dwTimeout,
  BOOL   (*fpCallBack)(void),
  DWORD  *pdwActBaudRate,
  DWORD  dwParam
);
 
dwParam :
NFC_PL_SAVE (0x0000_0001) : Save power consumption
---additional---
NFC_PL_TYPEA_MAX106 (0x0000_0002) : up to 106kbps
NFC_PL_TYPEA_MAX212 (0x0000_0004) : up to 212kbps
NFC_PL_TYPEA_MAX424 (0x0000_0008) : up to 424kbps


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++




NFC Patch 1.03(NFCIT9000WME.103.CAB)
--------------------------------------------
1. Additional function for authentication command of UltralightC.
2. When you read block data from NFC to buffer, data size is wrong. Therefore,you will get wrong data of 1byte.

1)
When NFCExchangeData function will send authentication command (1A00/AF XX XX...)of UltralightC,
it will use mifare raw command and not not use normal mifare command.

Method of specified registry:
Please reset the device to apply changes, after changing registry.

HEKY_LOCAL_MACHINE\Drivers\CASIO\NFC\MIFAREUL\COMMAND\XX
(XX:Hex  : NFC command)
Value:Exchange="Normal" (use NFC command for Read/Write command)
               "Raw"    (use NFC RAW command for Authentication command of Ultralight C)

[Note]
Normal Mifare command is used, if not specified in registry.

(Example)
HEKY_LOCAL_MACHINE\Drivers\CASIO\NFC\MIFAREUL\COMMAND\1A
Exchange="Raw"
(if specified '1A',it will send by RAW command.)

HEKY_LOCAL_MACHINE\Drivers\CASIO\NFC\MIFAREUL\COMMAND\AF
Exchange="Raw"
(if specified 'AF',it will send by RAW command.)


+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++



NFC Patch file Version 1.02 (NFCIT9000CEE.102.CAB)
--------------------------------------------

     This patch file have appended the following matter.

     1. Special Type A card will be accessed correctly.
     (You need to set additional registry setting.)


    [Additional function explanation and usage method]

     *About accessing special TypeA card
     Basically NFC driver will be changed transfer data format using by NFCExchangeData function 
     automatically according to the following card parameter.

     ================================================================
     |SAK value recieved by NFCGetCardResponse  | Using data format |
     |------------------------------------------+-------------------|
     |0x08, 0x18, 0x00, 0x88, 0x38              | Mifare            |
     |Except upper value                        | TypeA             |  
     ================================================================
 
     Therefore if SAK value which received by NFCGetCardResponse function is not matched with 
     card type, card accessing will be failed.
     At this tmie, please specify Type A card SAK value and using data format into the following
     registry.
     When you change registry setting and execute reset operation, setting detail will be affected
     to NFC driver.

     [HKEY_LOCAL_MACHINE\Drivers\CASIO\NFC\SAK\xx]
     (xx : specify SAK value by using hex-decimal value)

     =====================================
     |Key Name       | Using data format |
     |---------------+-------------------|
     |CommandSet     | sz: Mifare        |
     |               | sz: TypeA         |  
     =====================================

     Ex.1) Case of using TypeA format to SAK=0x38

      HKEY_LOCAL_MACHINE\Drivers\CASIO\NFC\SAK\38 
      CommandSet="TypeA"

     Ex.2) Case of using Mifare format to SAK=0x28 

      HKEY_LOCAL_MACHINE\Drivers\CASIO\NFC\SAK\28 
      CommandSet="Mifare"

