
/* Sequential read */
unsigned int seq_read( unsigned int size, __idata unsigned char *buf, unsigned int addr)  /* .kbv */
{
	/* read sequentially 'size' bytes to buffer 'buf' starting
	 * from address 'addr' */
	unsigned int num = 1;	/* count the number of bytes read */
	unsigned char byte = 0;
	
	buf[0] = byte_read(addr);     /* .kbv THE FIRST BYTE */

	start();
	
	if ( write(EEPROM_READ_ADDR) == ACK ) {
		for (  ; size -1; size-- ) {
			buf[num] = read(ACK);
			num++;
		}
		buf[num] = read(NACK); /* transmit NACK with last byte
					* followed by a STOP */
                num++;
	}
