****************************************************** ***** Plug-In SmartCards Basic I/O [basicio.dll] ***** ****************************************************** ******** Copyright ゥ 1999 - 2002 MfG, MfGware ******** *************** http://www.mfgware.com *************** ******************* mfg@mfgware.com ****************** ****************************************************** Version : 00.99.025A (16-IX-2002) Status : stable News : QuickSettings (profile manager) *.ini, *.log and *.profiles files in directory with plugin Features : - COM ports : - supported COM1 .. COM4 - show only free COM ports - Detect card : - supported lines DCD, DSR, CTS, RING - supported state High or Low when card is inserted - enable or disable using Detect card (some readers don't support detecting interted card) - "Instert Card" notification - Reset line : - supported lines DTR or RTS (some readers use DTR line) - Port Access : - Direct Access only on Win95, Win98 and WinME (Win based NT kernel don't support direct port access) (only detection and presetting I/O lines (DTR,RTS,DCD,...)) - WinAPI Access (via WinAPI) on Win95,Win98,WinMe, WinNT,Win2000 and WinXP - Xtal frequency : - supported Xtal's range : from 1.00 MHz to 20.00 MHz - value in Hz - Timeouts : - TxTimeout, RxTimeout : - value in milliseconds - better is higher timeout (some cards have too long answer time) - Reset Timeout : - value in milliseconds - its time between reset card and ATR - higher is better - TxPause : - standart is 0 microseconds - bad some cards required longer time between two bytes - when use PTS, it's set to 500 us (lower value MAY BE unstable with PTS) - Echo : - enable or disable reception - default is enabled - some readers don't received echo - PTS : - dafault is disabled - some cards supported PTS (D a F parameter is nonstandard) - it's excellent function for "overclocking" smartcards with good xtal - Debug: log file for reporting bugs - QuickSettings : reader's profile manager Better settings : - detect card : enabled - port access : direct - echo : enabled - xtal : 3.57 MHz or 10.7 MHz - RxTimeouts : 500 ms - TxTimeouts : 500 ms - ResetTimeout: 250 ms - TxPause : see above - PTS : enabled (if supported) - see above Example: -------- With Xtal 3.57 MHz and card with F=512 and D=8 - without PTS is baudrate 3579545 / 372 * 1 == 9600 bps - reading ADN : cca 13 sec - writing ADN : cca 13 sec - reading SMS : cca 4 sec - writing SMS : cca 11 sec - with PTS is baudrate 3579545 / 512 * 8 == 57600 bps - reading ADN : cca 3-4 sec - writing ADN : cca 5 sec - reading SMS : cca 1 sec - writing SMS : cca 3-4 sec With Xtal 10.7 MHz and card with F=512 and D=8 (must support F=372 and D=4) - without PTS is baudrate 10700000 / 372 * 1 == 28800 bps - reading ADN : cca 2-3 sec - writing ADN : cca 5 sec - reading SMS : cca 1 sec - writing SMS : cca 3-4 sec - with PTS is baudrate 10700000 / 372 * 4 == 115200 bps - reading ADN : cca 2 sec - writing ADN : cca 4 sec - reading SMS : cca 1 sec - writing SMS : cca 2 sec Tested on SIM card with 200 records on ADN and 10 records on SMS Without PTS : TxPause = 0 us With PTS : TxPause = 500 us WARNING - maximal clock frequency (Xtal upto 5MHz) is very different. - if is frequency too high then card don't answer to reset or ATR(TS) is incorrect! - with xtal 6.144 MHz work all my cards (1/1) - with xtal 10.700 MHz work one half (1/2) - with xtal 14.318 MHz work only fifth (1/5) Versions : - 00.99.025A : current version - 00.99.024A : debug option (create log file) - 00.99.023A : a few cosmetic changes - 00.99.022A : - Insert card notification - 00.99.021A : - unsupported PTS notification (e_noptsanswer), else error $80009001; - 00.99.020A : - better PTS function - 00.99.019A : in CARDinal Release 01 for testers
MarcoVW