REKLAMA

simpic_emu.zip

Jak wykorzystać simemulator v3670? Szukam wskazówek i lektury na start

Ja ostatnio dorwalem ciekawy emulator oparty na pic 16f84. Jak dotad sptrawuje sie bez zarzutu.


Pobierz plik - link do postu
  • simpic_emu.zip
    • SIM PIC v5.7.zip
    • WINEXP44.ZIP


simpic_emu.zip > WinExplorer.htm

WinExplorer by Dexter
A:hover {color: #FF00FF}










WinExplorer by Dexter


Intro
Getting Started
System Requirements
Trouble Shooting
Batch Files
Simple XPL Files
Using VB and Java Script in WinExplorer
VB and Java Script Basics
Contacting the Author
WinExplorer History




WinExplorer is a Win32 GUI application designed to communicate with a
wide variety of smartcards.
It's intended purpose is to give hobbyists and professionals a
powerful tool for programming smartcards using low cost interfaces. & nbsp;
It is also a great way to learn about smartcards, VBScript and JavaScript
programming.

WinExplorer will work on any speed machine, you DO NOT
need to slow down the CPU to use this program.
To use WinExplorer, you will need a Phoenix type interface.
A Phoenix interface is a simple device that plugs into a serial port and uses the RTS line to reset the card. & nbsp;
Usually the interface is clocked with
a standard color burst crystal (3.579545 MHz), or a EXO-3C+ oscillator chip programmed for 3.579545 MHz. & nbsp;
Every byte sent to the card is echoed back to the computer by the interface & nbsp;due to the way it's
designed.

If your interface needs drivers, and/or contains a CPU,
it's probably NOT Phoenix compatible.

WinExplorer can use several different script formats to direct it's interaction
with a smartcard.
Supported formats are:


Simple scripts & nbsp; & nbsp; .xpl

VB Script & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; .xvb

Java Script & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; .xjs

Batch execution of scripts is also supported.
Please look at the example files that are included to understand the formats of
the different files.

If anybody wants support for perl, python, or REXX, drop me a e-mail
and I'll add it in.
WinExplorer is written in Borland C++ Builder 4.0
The Inspiration for WinExplorer comes from & nbsp;
" Card Explorer " by TheBlob a.k.a. Chris Coe.



Getting Started

Run the program WinExplorer.exe

Open a Script file (.xpl, .xvb, .xjs), or a WinExplorer Batch file (.xpb)

Then Execute Script or Execute batch.

You can edit batch & amp; script files, then save them.





System Requirements:

Windows 95/98/NT/Windows 2000.
& nbsp; & nbsp; & nbsp; Note: If you are having problems with button graphics not being visible,
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; or other menu/button problems, the file you need to update is " comctl32.dll " & nbsp;
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; which is located in your windows\system dir.
& nbsp; & nbsp; & nbsp; The easiest fix is to install Microsoft Internet Explorer 5.x.

& nbsp; & nbsp; & nbsp; If you don't want to install IE5, then get the latest
comctl32.dll file from here:
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; http://www.microsoft.com/msdownload/ieplatform/ie/comctrlx86.asp

& nbsp; & nbsp; & nbsp; For more info read:
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; http://support.microsoft.com/support/kb/articles/Q186/1/76.ASP



The Microsoft Script Control.
& nbsp; & nbsp; & nbsp; The script control can be downloaded from:
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; http://msdn.microsoft.com/scripting/scriptcontrol/x86/sct10en.exe

A serial port.


A Phoenix compatible interface.




Trouble Shooting


WinExplorer will not even start up without installing the
Microsoft Script Control.
If you are getting the following message:


& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; This Version of WinExplorer will not run without installing the Microsoft Script
Control.

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Please read the file
& quot;readme.txt & quot; or & quot;WinExplorer.htm & quot; for information on how to

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; obtain and
install the Script Control, and additional files that might be required for this application to run.

You did not install the script control file sct10en.exe. The script control can be downloaded from:
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; http://msdn.microsoft.com/scripting/scriptcontrol/x86/sct10en.exe

If WinExplorer starts up but you are having problems running a VB or Java
Script, & nbsp;
please read this section:
Using VB and Java Script in WinExplorer


Common Error Messages and what to do about them.

Can't initialize port com x:


This problem occurs if you have the com port in use by another
program or device. A big problem with programs written to run in DOS is that they leave the port
open even after the program has exited. Do not run any DOS apps that use the com port
prior to running WinExplorer. If you do get a hung port, you have to reboot your computer.


& nbsp;

Reset Failed


This message indicates that WinExplorer is trying to reset the
smartcard, and no ATR response has been returned in the time specified for the Reset
Delay parameter. & nbsp;
The cause of this can be many things. & nbsp;
Common problems are:


Incorrect settings in WinExplorer.

A damaged smartcard.

Cable problems.

Interface problems.

Interface power supply problems.


& nbsp;
Timeout from 2A & nbsp; / & nbsp; Timeout from 58 command

WinExplorer will send a 2A instruction followed by a 58
instruction to read general information from a DSS smartcard under the following conditions:


When you do a & quot;Read Card Info & quot; by selecting the
menu item or clicking the camera button.

You have & quot;Log Transactions & quot; enabled.

You have & quot;Display USW After Each Script & quot;
enabled.

You have & quot;Display Fuse After Each Script & quot;
enabled.

If you look at the example scripts included with WinExplorer
you will find 2 scripts, & quot;Irdread.xpl & quot; and & quot;fuse.xpl & quot;.
These are the instructions sent to the card. A timeout occurs if the card does
not respond with enough bytes to satisfy the & nbsp;
request for information. The causes for this are many and most are caused by
the smartcard, not WinExplorer.


Try increasing the & quot;Byte Delay & quot; parameter
to a higher number. & nbsp;

Try increasing the & quot;Rec Timeout & quot; parameter
to a higher number.



To stop WinExplorer from requesting this information from your smartcard, disable the
following options:


& quot;Log Transactions & quot;

& quot;Display USW After Each Script & quot;

& quot;Display Fuse After Each Script & quot;


& nbsp;

Timeouts during a & quot;Read Card Info & quot; and/or during a script.


If a script tries to read data back from the smartcard, and
the smartcard does not supply enough bytes to satisfy the
request, a timeout occurs. & nbsp;


Try increasing the & quot;Byte Delay & quot; parameter
to a higher number. & nbsp;

Try increasing the & quot;Rec Timeout & quot; parameter
to a higher number.


Again, the causes for this are many and are most caused by
the smartcard, not WinExplorer.




Batch Files



A WinExplorer Batch file is a simple list of script files you want to run.

Example Batch:



; This is a WinExplorer Batch File.
; Simply list the script files you want to run in the order you wish to run them in.
; You can run any .xvb, .xjs, or .xpl files from the batch.

irdread.xpl & nbsp; & nbsp; & nbsp; ; General CAM info
ppvlist.xpl & nbsp; & nbsp; & nbsp; & nbsp; ; Dump PPV Info
fuse.xpl & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; ; Get Fuse info




Simple XPL Files


This is the most basic way of sending and receiving data. & nbsp;
You simply specify the bytes you wish to send in hex one after the other, and & nbsp;they will be sent. & nbsp;
If you wish to receive some data, simply enter Rxx, where xx & nbsp;is the number of bytes to receive, again in hex. & nbsp;
You must handle everything & nbsp;except for the ATR (Answer To Reset), including the 5-byte headers, INS echo and & nbsp;switch bytes.
You can add comments to an XPL file by placing a semi-colon character ';' on a line. The rest of the line after the ';' will be ignored.

Example files are supplied to illustrate how XPL files work.



Using VB and Java Script in WinExplorer


WinExplorer is a ActiveX Scripting Host.

This means WinExplorer can run Microsoft's VBScript, JavaScript,
and any other ActiveX scripting engines like perl, python, and REXX.

This Version of WinExplorer will not run without installing the
Microsoft Script Control.
You MUST run the file sct10en.exe to install it.

The script control can be downloaded from:
& nbsp; & nbsp; & nbsp; http://msdn.microsoft.com/scripting/scriptcontrol/x86/sct10en.exe

I also recommend you install the latest scripting engine runtimes from
Microsoft.
& nbsp; & nbsp; & nbsp; http://www.microsoft.com/msdownload/vbscript/scripting.asp


Important:

The Scripting Engines are for Windows 95, Windows 98 & amp; Windows NT 4.0.

If you are running Windows 98 or Windows NT 4.0 you are home free.

If you are running Windows 95 and are getting the following errors:

" A script engine for the specified language can not be created " or " Script Error on Line 0 "

or other errors when you try to run a VB or Java Script, you still need to install some components.

Windows 95 users must have OSR2 installed or be running Microsoft Internet Explorer 4.x or later for these files to work properly.
Windows 95 users without Microsoft Internet Explorer 4.x or OSR2 will need to install DCOM before using these files.

If you are running Windows 95 & amp; you feel that you MUST install this stuff piece by piece, & nbsp;
instead of installing Microsoft Internet Explorer 4.x, you will need the following files:




File & nbsp;

DL Location

& nbsp;Description




ste50en.exe
http://www.microsoft.com/msdownload/vbscript/scripting.asp & nbsp;
Version 5 VB & amp; Java Runtimes


dcom95.exe
http://www.microsoft.com/com/dcom/dcom1_2/download.asp
Decom 95


& nbsp;
For documentation on Programming in VB Script download:
& nbsp; & nbsp; & nbsp; http://msdn.microsoft.com/scripting/vbscript/download/vbsdoc.exe

For documentation on Programming in Java Script download:
& nbsp; & nbsp; & nbsp; http://msdn.microsoft.com/scripting/jscript/download/jsdoc.exe




VB and Java Script Basics

The first line in a script must be a comment to tell WinExplorer that
this a VB or Java Script.

Examples of the built in functions & amp; proprieties are contained in the demos.
Please look at the included example script files for reference.

The following is a list of the Built in's, the parameters in brackets [] are optional.


The & quot;Sc & quot; Object has the following
members:




Function / Property
Description





Sc.Verbose = true | false

When set to true, reads & amp; writes are displayed in the output window. & nbsp;
When false, reads & amp; writes are not displayed.



Sc.Debug = true | false

When set to true, writes are not performed & nbsp;
but the data is still displayed in the output window.



Sc.DebugBufferStuff(Data String)

When Sc.Debug is set to true, this command will stuff up to 255 bytes into the receive buffer.
& nbsp;
Sc.Read will return the stuffed bytes.

Sc.BytesInBuffer will return the number of stuffed bytes.



Sc.Read(Number of Bytes)

Read data from card. If Number of Bytes & gt; what is in the receive
buffer, you will get a timeout.



Sc.Write(Data String)

Write data to card. " Data String " is a string of ASCII Hex Chars.



Sc.PutByte(Integer Value)

Write a byte to card



Sc.GetByte(Byte Number)

Retrieve a byte from the read buffer (0 thru Bytes Read from last Sc.Read command)



Sc.Print(String)

Print a string to the output window.



Sc.Reset

Perform a Card Reset.



Ret = Sc.InputBox(prompt[, title][, default])

Get user input.



Ret = Sc.ButtonBox(prompt[, buttons][,title]
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [,button1str][,button2str][,button3str] & nbsp;
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; [,button4str][,button5str])

Display a dialog box formatted similarly to MsgBox but with up to 5 user-defined buttons. & nbsp;
The icon (vbCritical, vbQuestion, vbExclamation, vbInformation) can be specified in the second
parameter, as can the default button (vbDefaultButton1, vbDefaultButton2, vbDefaultButton3,
vbDefaultButton4, 1024). & nbsp;
The function returns a number from 1 through 5 (indicating which button was selected) or 0 if the user clicked the " X " in the corner
to close the dialog box.



Ret = Sc.MsgBox(prompt[, buttons] [,title])

Display a Message Box, Returns which button was pressed.



Sc.PictureBox(filename [, timeout]
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;[, ShowBorder])

Opens a button-less, title-less splash screen that contains the .bmp or .jpg
file specified, centered on the screen. Clicking anywhere in the box dismisses the
dialog, unless a non-zero timeout value is specified, in which case the dialog
box automatically disappears after the specified number of seconds.



Sc.ProgressBox(Prompt, CurrentStep, LastStep,
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;
[Title])

Displays a progress box with a " thermometer " that fills up based on the percentage of CurrentStep/LastStep. A CurrentStep value of " 0 " will close the
dialog box. If " Prompt " is " " , the last string is displayed. & nbsp;
If " Title " is " " , the last string is displayed.



Sc.Err( " Error Message " )

This function will abort a script and display the line number and the error message.



Sc.Delay(ms)

Delay for xx milliseconds.



Ret = Sc.Log(Text)

Write Text to Log File. & nbsp;
Returns 0 if successful. & nbsp;
Returns 1 if " Log Transactions " option is not enabled.



Sc.ByteDelay = DelayTime

Set the Delay Time Between Bytes Sent, in microseconds.



Ret = Sc.Version

Return WinExplorer's Version Number.



Ret = Sc.IsHex(Data String)

Returns true if Data String is Valid Hex Data,
False if Data String contains invalid chars. & nbsp;



Ret = Sc.Flush()

Flush Serial input buffer. Returns number of bytes flushed.



Ret = Sc.BytesInBuffer

Get the number of bytes pending in the receive buffer.
Returns -1 if the function fails.



Sc.MousePointer = Value & nbsp;

Changes the mouse pointer. The following values are valid: & nbsp;

0 (Default) Shape determined by the object. & nbsp;
1 Arrow. & nbsp;
2 Cross (crosshair pointer). & nbsp;
3 I beam. & nbsp;
4 Not Used. & nbsp;
5 Not Used. & nbsp;
6 Size NE SW (double arrow pointing northeast and southwest).
7 Size N S (double arrow pointing north and south). & nbsp;
8 Size NW SE (double arrow pointing northwest and southeast).
9 Size W E (double arrow pointing west and east). & nbsp;
10 Up Arrow. & nbsp;
11 Hourglass (wait). & nbsp;
12 No Drop. & nbsp;
13 Arrow and hourglass. & nbsp;
14 Arrow and question mark. & nbsp;



The & quot;Fs & quot; Object has the following
members:




Function / Property
Description





int FileOpen(String FileName, int Mode)

Opens a specified file using a specified access mode.

Use FileOpen to open a file and obtain its Windows file handle. & nbsp;
The access mode can be one of the following values:

Const fsoOpenRead = 0
Const fsoOpenWrite = 1
Const fsoOpenReadWrite = 2

If the return value is positive, the function was successful and the value is
the file handle of the opened file.
A return value of -1 indicates that an error occurred.



int FileCreate(String FileName)

Creates a new file.

FileCreate creates a new file with the specified name. If the return value is
positive, the function was successful and the value is the file handle of the
new file.
If the file already exists, FileCreate will overwrite the existing
file.
A return value of -1 indicates that an error occurred.



void FileClose(int Handle)

Closes a specified file.

FileClose closes a file given its handle. The handle is obtained when the
file is opened using FileOpen or FileCreate.



int FileExists(String FileName)

Tests if a specified file exists.

FileExists returns 1 if the file specified by FileName exists.
If the file does not exist, FileExists returns 0.



int FileSeek(int Handle, int Offset, int Origin)
Positions the current file pointer in a previously opened file.

Use FileSeek to position the file pointer in a file that was opened with
FileOpen or FileCreate. Handle contains the file handle that was returned by
FileOpen or FileCreate.

Offset specifies the number of bytes from Origin where the file pointer should
be positioned. Origin is a code with three possible values, denoting the
beginning of the file, the end of the file, and the current position of the file
pointer.

Origin & nbsp; & nbsp; & nbsp; & nbsp; Action
& nbsp; & nbsp; & nbsp; 0 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;
The file pointer is positioned Offset bytes from the beginning of the file.
& nbsp; & nbsp; & nbsp; 1 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;
The file pointer is positioned Offset bytes from its current position.
& nbsp; & nbsp; & nbsp; 2 & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;
The file pointer is positioned Offset bytes from the end of the file.

If FileSeek is successful, it returns the new position of the file pointer;
otherwise, it returns -1.



int FileGetc(int FileHandle)

Gets character from the specified file.

FileGetc returns the next character from the specified file.
The file pointer is incremented after the read to point to the next byte.
The return value is the byte read.



int FilePutc(int FileHandle, int Char)

Puts a character to the specified file.

FilePutc writes a byte to the specified file at the position pointed to
by the file pointer.
The file pointer is incremented after the write to point to the next byte.
The return value is a 1 if the write is successful, or -1 if an error occurred.



String FileOpenDialog(String FileFilter,
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;
[String Caption], & nbsp;
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;
[String DefaultFileName])

Display a modal Windows dialog box for selecting and opening files.

Filter Parameter:
& nbsp; & nbsp; & nbsp; To create file masks, assign a value to the Filter property that
& nbsp; & nbsp; & nbsp; consists of a description and a mask separated by a vertical bar (pipe)
& nbsp; & nbsp; & nbsp; character. Do not include spaces around the vertical bar. For example,
& nbsp; & nbsp; & nbsp; Filter = " Text files (*.txt)|*.TXT " ;

& nbsp; & nbsp; & nbsp; Multiple filters should be separated by vertical bars. For example,
& nbsp; & nbsp; & nbsp; Filter = " Text files (*.txt)|*.TXT|C++ files (*.cpp)|*.cpp " ;

& nbsp; & nbsp; & nbsp; To include multiple masks in a single filter, separate the masks with
& nbsp; & nbsp; & nbsp; semicolons. This works both in the Object Inspector and in program code.
& nbsp; & nbsp; & nbsp; For example,

& nbsp; & nbsp; & nbsp; Filter = " Script files|*.xpl;*.xvb;*.xjs " ;

& nbsp; & nbsp; & nbsp; If no value is assigned to Filter, the dialog displays all file types.

Caption Parameter:
& nbsp; & nbsp; & nbsp; Use Caption to specify the text that appears in the file-selection
& nbsp; & nbsp; & nbsp; dialog’s title bar. If no value is assigned to Caption, the dialog has the
& nbsp; & nbsp; & nbsp; title " Open " .

DefaultFileName Parameter:
& nbsp; & nbsp; & nbsp; Use DefaultFileName to specify a default file name in the dialog box.




String FileSaveDialog(String FileFilter, & nbsp;
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;
[String Caption], & nbsp;
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp;
[String DefaultFileName])

Display a modal Windows dialog box for selecting file names and saving files.

Filter Parameter:
& nbsp; & nbsp; Same as the FileOpenDialog function

Caption Parameter:
& nbsp; & nbsp; & nbsp; Use Caption to specify the text that appears in the file-selection
& nbsp; & nbsp; & nbsp; dialog’s title bar. If no value is assigned to Caption, the dialog has the
& nbsp; & nbsp; & nbsp; title & quot;Save & quot;.

DefaultFileName Parameter:
& nbsp; & nbsp; & nbsp; Use DefaultFileName to specify a default file name in the dialog box.



Notes: None of the functions in the Fs object will throw errors. (i.e. the
script will not abort if a file does not exist, etc.) & nbsp;
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; It is up to the
script to do any error handling when using these functions.

& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; When the script ends, any
open files will remain open until you close WinExplorer. & nbsp;
& nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; Don't forget to close any
files you open in your script!





Contacting the Author



Please note, there is NO OFFICIAL website for WinExplorer .

WinExplorer is freeware available to all smartcard users on many websites and irc channels. & nbsp;
I do not endorse any dealers or any particular websites. & nbsp;

If you have any comments, questions or suggestions about WinExplorer,
You can e-mail me at WinExplorer@yahoo.com

Please NO questions about the following, I will not even reply to
them:


Card programming issues.

Problems running a particular script. & nbsp;

Will programmer xxx work WinExplorer? (How could I possibly
know unless I have one?)

Why am I getting timeout 2A/58 messages? (the answer is in
this file!)


& nbsp;
You can also find me hanging around on the following IRC channels:

Novernet:
& nbsp; & nbsp; & nbsp; irc.c-plusnet.com - #DssWare, #Dss/Tech






WinExplorer History






1.0 (9/98)



First working version.







1.1 (9/98) & nbsp;


Fixed DTR & amp; RTS line default states. This was causing problems on some machines.






1.2 (9/98) & nbsp;


Added window save stuff & amp; line highlighting of bad script data.



Added script check button.


Added Card information button.






1.3 (9/98)


Added locking to edit panes during card I/O to prevent
Script/Batch changes while talking to card.


Cleaned up SIO code & amp; removed unnecessary delays during card reset.







1.4 (9/98)


Fixed & quot;unsigned char & quot; bug in & quot;Read Card Info & quot;
resulting in a bad Card / IRD numbers & nbsp;
if the least significant byte had the high bit set.






1.5 (9/98) & nbsp;


Added the Expiry day and hex values to the " Read Card Info " function.






1.6 (10/98)


Added " Batch/Script has been modified " warnings.


Added Time Zone to the " Read Card Info " function.


Fixed script check so it ignores tabs.






1.7 (10/98)


Added Transaction Logging based off of Cam ID. To turn on logging, & nbsp;
Click " Configuration " , & amp; make sure & nbsp; " Log Transactions " is checked. & nbsp;
The log file is the Cam ID EG 1234567.log & nbsp;
The file is stored in the same dir as WinExplorer.exe






1.8 (10/98)


Moved Log Transactions check box to new config page.


Added Line Highlight to batch window to show current step.


Added Search & amp; Replace for script editing.
You can use the & quot;Search & quot; item on the main menu, the Script
Popup,
or Ctl-F for find, Ctl-R for replace.


Added view for log files by clicking & quot;File & quot; then
& quot;View Log Files & quot;.


WinExplorer will run the application associated with
& quot;.log & quot; files
or Notepad.exe if no association exists.


Added Default settings button for serial config.


Added a step mode for the batch processing. When active, you must
press the next step button to continue the batch after each script
is processed. When the batch is paused, you can do a & quot;Read Card
Info & quot;.
Enable or Disable on config screen.


Added USW (Update Status Word) Display to output window.
The USW is displayed after each script is processed.
Enable or Disable on config screen.


Added & quot;Right Click & quot; Popup Menus to all 3 windows.
Open, Save, Execute functions are on the Popup.
In the Batch Window, you can open a script file
by doing a selection of the script name, right click,
select & quot;Open Script at Cursor & quot;.


Added a & quot;Hidden & quot; Function for Advanced users:
By placing the following lines in your WinExplorer.ini file
you can prevent WinExplorer from doing ALL card resets:



[Advanced]
ResetMode=0

WARNING - DO NOT USE THIS FOR NORMAL CARD PROGRAMMING!
Set ResetMode=1 to turn card resets back on.







1.81 (10/98)


Phantom Release, A Beta v1.8 file got into circulation, so I needed to differentiate the files.






1.9 (10/98)


Added " Execute From Cursor " to the batch popup menu and
batch button on tool bar. Just place the cursor anywhere on the
line in the batch window you wish to start from, Either right click
or click the down arrow on the batch button on the toolbar, then
select " Execute From Cursor " .


Added " Execute To Cursor " to the batch popup menu and
batch button on tool bar. Just place the cursor anywhere on the
line in the batch window you wish to stop at, Either right click
or click the down arrow on the batch button on the toolbar, then
select " Execute To Cursor " .


Fixed a problem in " Read Card Info " function that would cause an
occasional Exception Error if the card returned a incorrect number
of bytes for a " 58 " or " 2B " command. This only happened when the
card was REALLY messed up.






1.91 (11/98)


Fixed a problem with USW display. If a card reset was not done after
some types of xpl files, the USW would be incorrect.






2.0 (11/98)


WinExplorer now Accepts Command Line Parameters.
You can now associate .xpl and .xpb files then load
them by double clicking them like any other windows file.


Added a " Advanced " tab to the config form.
WARNING - DO NOT USE ANY ADVANCED FEATURES
UNLESS YOU KNOW WHAT YOU ARE DOING!


Added " No Card Resets " check box to the " Advanced " tab.
When checked, you prevent WinExplorer from doing ALL card resets.


Added " Ignore Receive Timeouts " check box to the " Advanced " tab.
When checked, WinExplorer will keep sending data to the card
even if a receive timeout has occurred.


Added " Reset After Timeout " check box to the " Advanced " tab.
When checked, WinExplorer will do a card reset after a receive timeout has occurred.






2.1 (11/98)


Added File DragDrop. WinExplorer will now accept .xpl, .xpb, .xjs, and .xvb files
dropped on the WinExplorer from the file manager.


Fixed command line filename not loading if it contained a space.


Reworked code to handle " file modified " checks better.
A cancel in a save dialog box now will cancel the entire
operation, not just the file save.






2.2 (11/98)


Added Rating, Spending Limit, and PPV Purchase info to " Read Card
Info & quot;.


Added new Communication Parameters for other card types.






3.0 (12/98)


Added VB Script and Java Script to WinExplorer.
See the files VBExample.xpl & amp; JavaExample.xpl for examples.






3.1 (12/98)


Added Sc.Log Function to Java & amp; VB Scripting.


Modified Sc.InputBox function to display more than one line.


Modified Sc.Read so it would not flush out the serial port.






3.2 (12/98)


Changed the Default Byte Delay back to 60000 micro seconds.
Some scripts were timing out at higher speeds. Better Safe than sorry.


Fixed a bug in the window restore routines. If a window is
hidden when you save window settings, it will now be hidden properly
when WinExplorer is restarted.


Added 2 new file types to WinExplorer:
.Xvb for VB Script files.
.Xjs for Java Script Files.


Added Flushing of serial input buffer before each Sc.Write command.
This is to keep the read requests synchronized with the
actual command responses from the card in the event there is
extra data in the input buffer.
The " Sc.PutByte " function does NOT check the serial input buffer.


Added Abort checking for VB & amp; Java Scripts. Abort is only checked
when executing a " Sc " function.


Added " Sc.PutByte " function.


Sc.InputBox function now returns a empty string if cancel button is pressed.


Added Sc.ByteDelay property to override WinExplorer Comm Settings for the
current script. The Original value will reset at the start of a new script.


Added Sc.Version to return the version of WinExplorer. Used to make sure
any script features needed exist.


Added Sc.IsHex Function to check if a string contains valid hex data.


Added Sc.Flush Function to flush serial input buffer.






3.3 (1/99) & nbsp;


Added " Favorite Files " to menu.


Cleaned up code to scroll the output window when focus is lost.


Made tab chars work properly in Script Window.


Tabs are set at 4 chars.


Fixed Sc.Flush, It was ignoring the verbose flag.






3.4 (1/99)


Modified " Manage Favorites " so you can remove more than 1 file at a time.


Modified " Open Script at Cursor " to prefix drive & amp; path to script name.


Fixed a bug in the " Read Card Info " Function. The Pacific Time Zone was
being displayed as " ??? " . Thanks ^Parrot^ :).


Added Fuse byte display to output window.
The fuse byte is displayed after each script is processed.
Enable or Disable on config screen.






3.5 (2/99)


Now reading Fuse byte from 2B command for display.
This is faster because only one read is done at the end of a script.


No more " Class Not Registered " message for people who did not read the doc.
Now it says read the file " readme.txt "


The horizontal splitter is now maintained as a ratio of the main form size
during a resize.


Added a " Recent Files " List to the " File " , Right Click Popup, and toolbar menus.
The last 8 script & amp; batch files accessed are on the list.


Swapped the layout of the toolbar buttons for batch & amp; script functions.
It made more sense to have the button layout follow the window layout.






3.6 (4/99)


Set serial receive buffer size to 4096


Fixed window save & amp; restore yet again.


Changed " Read Card Info " to a 2A command.


Advanced features " No Card Resets " , " Ignore Receive Timeouts " , and
" Reset After Timeout " now work in VB & amp; Java script.






4.0 (8/99) & nbsp;


Well, I finally got around to messing with a " HU " (P3) card.
WinExplorer now talks to a HU just dandy. The problem seemed to be that the HU would
output a null for every byte sent to the card, except for the last byte in a packet.
The solution is to flush the serial port before each new write.
The downside is that in a VB or Java Script, I flush before each write, so I can't report a
problem with too many bytes in the receive buffer ala " Extra data in receive buffer ... Flushing buffer " .
A standard XPL file still works the same as before because of the way I parse the script.


Fixed a bug in the parser where a trailing single digit would
get truncated. Thanks to TSoR for pointing this out.


Fixed a bug where a rating limit & gt; 0D could have caused a access violation fault.


Fixed a bug where in a standard xpl script, a " R " command had to be 2 digits.
I.E. " R01 " worked, " R1 " did not.


Modified the batch routine to append the current path name to the script to run if
the script name does not have a qualified path name.


WinExplorer now sets the current directory to where the script is located.


Added a button to the " Program Settings " page to register .xpl, .xpb, .xvb, and .xjs files with the shell.
After you click this button, you can double click on a script file and it will launch
WinExplorer
and load the file.


Redesigned the Sc.InputBox dialog to be auto sizing, and auto constrained to 90% of
the screen size. If the width constraint is hit, the text lines are automatically word
wrapped.


Added a ATR analyzer to the program. All ISO 7816 info is reported.


Added the Sc.BytesInBuffer property.


Added the Sc.Debug property.


Added the Sc.DebugBufferStuff function.


Added the Sc.PictureBox function.


Added the Sc.ButtonBox function. The dialog is auto sizing, and auto constrained to 90% of
the screen size. If the width constraint is hit, the text lines are automatically word wrapped.


Added the Sc.ProgressBox Function.


Added the Sc.Err function.


Added a full blown editor with Syntax Highlighting. Way too many features to list off.
Check out the " right click popup menu " and the new functions in the search menu.


Added a Script Print Function to the File Menu.


Added a font select dialog for the output window.






4.1 (8/99)


I removed the Key Requirement. Enough said.


Added a check box on the communication config page to turn the flush before write
on or off. This makes WinExplorer compatible with version 3.X of itself.
It seems a new script out there modifies the smartcard to respond with a 4 byte
" Key " when a command is issued. The card is answering BEFORE the packet send is complete.
The flush was eating the response bytes.






4.2 (11/99)


Added the following script editor options:
& nbsp; - Tab support added.
& nbsp; - Cursor Thru Tabs option.
& nbsp; - Line numbers in gutter option.
& nbsp; - Cursor Beyond Start Of Line option.


Added a & quot;Receive Timeout & quot; parameter to the Comm Settings.
This parameter (in milliseconds)
tells WinExplorer how long to wait for a byte to arrive in the receive
buffer before giving up.
This parameter used to be fixed at 100ms. The default is 200ms.


Added a Title to the Sc.ProgressBox function.


Modified the Sc.ProgressBox function, If Prompt is " " , the last string is
displayed


Added the Sc.MousePointer property



Rewrote this file to make it a little easier to read (I hope).



Added the ShowBorder param to Sc.PictureBox


Added File/New to the menu to create new xpl, xvb, and xjs files.


Added a Save As menu item for Script and Batch files.


Added Script and Batch Save buttons.


Added a Max ATR of 33 bytes so WinExplorer won't appear to hang getting the & nbsp;
ATR from a 99'd or FF'd card.


Fixed a bug in the ATR analyzer. It was giving inaccurate
information for internally clocked cards.








4.3 (2/00)


Added the following script editor options:
& nbsp; - You can now use multiple fonts and font sizes for the syntax
highlighting in the editor.
& nbsp; - Added a uppercase property for the syntax highlighting.
& nbsp; - Tab and shift Tab indents/outdents a block
& nbsp; - Added & quot;Draw Special Symbols & quot; to editor config - eol and eof are drawn.
& nbsp; - Added & quot;Select Found Text & quot; to editor config - found
text is selected.


Added a & quot;File Exists, overwrite file? & quot; prompt when doing
as & quot;Save As & quot; and the file already exists.


WinExplorer will now delete entries in the recent files lists if
they don't exist.


I increased the capacity of the output window from 64K to 256MB.
This should fix the & quot;RichEdit line insertion error & quot; and the
Sc.Print function
appearing to stop working that some users were reporting.


Re-wrote the Sc.Write function to behave like the write in the xpl
engine.


Re-wrote the Sc.Read function to behave like the read in the xpl
engine,
it will dump all bytes read in the event of a timeout along with the
number of bytes requested and number of bytes actually read in the
error message.


The xpl engine will now return number of bytes requested and number
of bytes actually
read in the error message in the event of a timeout.


Fixed the card info function, it was returning & quot;100 & quot; for
years & gt; 99.
I now use a 4 digit date, WinExplorer is now Y2K compliant :)


Changed the Sc.Version property to return a double instead of a
float.
This fixes the weird rounding errors seen in a JavaScript.








4.4 (4/00)


Changed & nbsp; the & quot;Associate WinExplorer Files & quot; button to
a check box.
The default setting is for WinExplorer to register it's file types
with the shell
each time you run the application.


Added a & quot;Allow Multiple Instances & quot; to the & quot;Program
Settings & quot; on the config dialog.
The default setting is to only allow a single instance of WinExplorer
to run.
Any files launched from the shell will be invoked in the existing
instance in single instance mode.



Added a & quot;Prompt For File Name & quot; to the & quot;Program
Settings & quot; on the config dialog.
This will allow you to specify a file name for the log file instead of
using the CAM Id.
This is mainly to allow non DSS users to enable transaction logging.


WinExplorer now handles spaces in file names & amp; directories
correctly when launching a file
from the shell.


Added a new object to the scripting model to support binary file
reading & amp; writing.
The functions contained in the & quot;Fs & quot; object are:
FileOpen, FileCreate, FileClose, FileExists, FileSeek, FileGetc, FilePutc,
FileOpenDialog, and FileSaveDialog.

Check out the sample file & quot;FileSystem.xvb & quot;.
For more info, see the section on the & quot;Fs & quot; object in & quot;VB and Java Script Basics & quot;.


simpic_emu.zip > README.TXT

**************************************************************************
*** This Version of WinExplorer will not run without installing the ***
*** Microsoft Script Control. ***
*** You MUST run the file sct10en.exe to install it. ***
**************************************************************************

The script control can be downloaded from:
http://msdn.microsoft.com/scripting/scriptcontrol/x86/sct10en.exe

Important:

The Scripting Engines are for Windows 95, Windows 98 & Windows NT 4.0.

If you are running Windows 98 or Windows NT 4.0 you are home free.

If you are running Windows 95 and are getting the message " Script Error on Line 0 "
or other errors when you try to run a VB or Java Script, you still need to install
some components.

Windows 95 users must have OSR2 installed or be running
Microsoft Internet Explorer 4.0 or later for these files to work properly.
Windows 95 users without Microsoft Internet Explorer 4.0 or OSR2 will need to
install DCOM before using these files.

If you are running Windows 95 & you feel that you MUST install this stuff piece by piece,
instead of installing Microsoft Internet Explorer 5.0, you will need the following files:

File DL Location Description
-------------------------------------------------------------------------------------------
ste50en.exe http://www.microsoft.com/msdownload/vbscript/scripting.asp Version 5 VB & Java Runtimes
dcom95.exe http://www.microsoft.com/com/dcom/dcom1_2/download.asp Decom 95


**************************************************************************

If you are having problems with button graphics not being visible,
or other menu/button problems, the file you need to update is " comctl32.dll "
which is located in your windows\system dir.

The easiest fix is to install Microsoft Internet Explorer 5.x.

If you are running windows 95, and don't want to install IE5,
then this is the file you need:
http://support.microsoft.com/download/support/mslfiles/COM32UPD.EXE

For more info read:
http://support.microsoft.com/support/kb/articles/Q165/4/87.asp

**************************************************************************