For Enhanced BasicCards, the card has no hardware generator. The Enhanced BasicCards contain a unique manufacturing number which cannot be read from outside the card. The Rnd function uses this number to generate random numbers which are different for each card.
For Professional and MultiApplication BasicCards, the random number is generated by use of a hardware random number generator.
When should WTX be called in a BasicCard program? At the start of a command. The Block Waiting Time BWT is reset every time a command is issued. For all current BasicCards the default value for BWT is 12.8 seconds when assuming a typical card clock of 3.57MHz. You can override these reset values with a #pragma ATR statement. See manuals for details. How can I know when I need more time? The simplest way is to experiment! If you think a command may need more than 1 second, you can call "WTX 5". It can't do any harm. What is wrong with "ReDim A()"? Empty bounds specifiers are not allowed in ReDim statements (see "3.6 Arrays"). Older versions of the compiler failed to handle this syntax error correctly. Can I delete variables from EEPROM at run-time, to save memory? No. String contents can be freed (e.g. S$ = "") but the 2-byte string pointer cannot.Aim: I want to be able to store text in the card EEPROM and to erase them later.Use the file system in the Enhanced BasicCard. I get a compiler error when compiling the following source code: Des(-1,5,Enc$)Use the following call instead: Enc$ = Des(-1,5,Enc$) The following code: S$ = Des (1,5,S$) S$ = Des (-1,5,S$) should restore S$ to its original value. Why doesn't it? The string parameter used in a Des function call must always be 8 bytes long. If the string is longer than 8 bytes, only the first 8 bytes are encrypted/decrypted. So the above example will only work if S$ was 8 bytes long to start with. How can I create a DES certificates without an appended &H80 byte? The following Basic code will do it: Function Cert$(DesType, Key$, Data$)