To program a block the block must first be erased through either an Erase Block SROM call or an Erase All SROM call. The Erase All command individually cycles through each block to perform the erase. After an Erase operation the Write Block SROM call can be executed. Both the Erase command and the Write command require 40ms each per block to complete, with a 100us delay between blocks. For 8K parts this equates to 40.1ms * 128 blocks = 5.13 sec for the Erase and an additional 5.13 sec for the Write in order to reprogram the entire flash array. Some additional overhead should be accounted for to conduct a verify operation, although this requires much less time than the actual erase/write operations. Note that when making the SROM calls a value for CLOCK and DELAY must be passed. CLOCK should be set to 0x15 and DELAY should be set to 0x56 when operating at 12MHz.