March
2004, Issue 164
BasicCard
101(Part 1):
Program Your First Smartcard
If
your application is simple and intended to run on a
PC computer, you might get by with writing the terminal
part of your application using ZeitControl’s ZCMBASIC
compiler. This compiler is a DOS program with a command
line interface. The Basic source code can be created
and modified using any text editor, or you can use ZeitControl’s
Windows-based ZCPDE professional development environment
application. Whether or not you use ZCMBASIC to write
the terminal portion of your program, you still have
to use it to compile the code that is loaded into the
BasicCard itself.
The
ZCMBASIC compiler is simple, quick, and doesn’t contain
a lot of fancy features. The programs it produces are
text-based; there is no provision for graphics. It supports
the various encryption schemes used in the BasicCard
itself, and the applications it produces consist of
one small EXE file, which is easy to distribute.
Although
I used ZCMBASIC to learn how to write a terminal program,
it did not have enough features for my target application.
Before getting too involved with the concepts of the
BasicCard, I investigated the two other pieces in the
puzzle that were necessary for a useful BasicCard application:
a Windows API to a high-level language and driver routines
to interface the BasicCard to the AVR family of microcontrollers
that I routinely use. The next two sections describe
my experience with these two pieces of software.