NAME CardProgramVoltage -- Set programming voltage. SYNOPSIS success=CardProgramVoltage( handle, voltage ); a1 d0 long cardprogramvoltage( struct cardhandle *, ulong ); FUNCTION Used to set programming voltages (e.g., for FLASH-ROM/EPROM cards). INPUTS handle - Same handle as that used when owncard() was called. voltage - See card.i/h for valid values. RETURNS 1 - Successful. 0 - Not successful. Most likely because the credit-card card has been removed, and you are no longer the owner. -1 - This function is not being supported. On some machines with a minimal (hardware) credit-card interface, this feature may not be possible. NOTES This function may be called from within a task, or from a level 1 or level 2 interrupt. !!!WARNING!!! Flash-ROM programming requires careful coding to prevent leaving the Erase command on too long. Failure to observe the maximum time between the Erase command, and the Erase-Verify command can make a Flash-ROM card unusable. Some Flash-ROM cards may provide an internal watch-dog timer which protects the card. Because of the relatively long time (e.g., 10ms) between Erase, and Erase-Verify which must be observed, the need for such critical timing can be problematic on a multi-tasking machine. Vendors of Flash-ROM's recommend a high priority interrupt generated by a 10ms timer be used to turn off Erase. On the Amiga this can be accomplished by using a CIA-B interval timer. The timer.device also provides a mechanism for generating a low priority interrupt. The timer.device is easier to use than cia interval timers, though not as accurate or as safe. Even if the Flash-ROM card provides an internal watch-dog timer, implementation of the code during Erase should assume that the Flash-ROM does not. SEE ALSO owncard(), resources/card.h, resources/card.i