Odie52,

Here is an example of writing 16 bytes, in one go, to external EEPROM. Some of the variables are byte sized:

Code:
' *****************************************************************************
' *                                                                           *
' * EEPROM WRITE. 512k EEPROM used. Control Byte for this one is $A8          *
' * Stores weather readings, 16 bytes/Record.  4096 Records/Chip              *
' * At one Record every 6 minutes this holds data for 17 days                 *
' * Write address 'Eaddress' stored in PIC EEPROM at addresses 1 and 2        *
' *                                                                           *
' *****************************************************************************

EEPROM_write: 	     	
    read 1,Eaddress.Byte0                     ' Next free EEPROM address for chip $A8
    read 2,Eaddress.Byte1                     ' TempInt is not stored

    i2cwrite Eprom_D, Eprom_C, $A8, Eaddress,_' Write to $A8 on ETT board
        [Mont,Days,Hour,Mins,_
        Pressure.lowbyte,Pressure.highbyte,_	
        Humidity,_			
        TempExt.byte0,TempExt.byte1,_		
        Wind_S,_
        Wind_S_Ave,_
        Wind_D,_
        Wind_D_Ave,_
        Rain,_
        Voltage,_                             ' Spare
        Voltage]                              ' Spare	 
    pause 10   
	
    Eaddress = Eaddress+16                    ' 16 bytes per record, must be an integer of 128/No of rcds	
    write 1,Eaddress.Byte0                    ' Write new Eaddress to PIC EEPROM
    write 2,Eaddress.Byte1	
    return
And reading it back:

Code:
' *****************************************************************************
' *                                                                           *
' * DATA DUMP. Read EEPROM $A8 from Address 0 to Address Eaddres              *
' * and send it to the PC                                                     *
' *                                                                           *
' *****************************************************************************
	
Data_dump:
	RCSTA=$90:TXSTA=$24:SPBRG=21	' Set up for 115200 Baud when oscillator is at 40 MHz
	pause 10
	
	read 1,Eaddress.Byte0
    read 2,Eaddress.Byte1
	
	hserout [13,13,"DUMP OF DATA FROM EEPROM CHIP $A8",13]' Print column headings with TAB command										
	hserout [_
    "Recd" ,9,_
    "Month",9,_
		"Date ",9,_
		"Hours",9,_
		"Mins ",9,_
		"Press",9,_	
		"ReHum",9,_
		"TeExt",9,_
		"WinSp",9,_
		"WinSA",9,_
		"WinDr",9,_				
		"WinDA",9,_
		"Rain ",9,_
		"Volts",9,_		
		"Volts",13]
			
    for Address=0 to Eaddress-16 step 16' 16 bytes per record													
	   i2cread  Eprom_D, Eprom_C, $A8, Address,_' Read from %1010100X on ETT board 
       [Mont,_
            Days,_
            Hour,_
            Mins,_
            Pressure.lowbyte,Pressure.highbyte,_		
            Humidity,_						
            TempExt.lowbyte,TempExt.highbyte,_
            Wind_S,_
            Wind_S_Ave,_
            Wind_D,_
            Wind_D_Ave,_
            Rain,_
            Voltage,_			
            Voltage]					
		
        hserout[_' Print weather data with TAB command
            dec5 Address,9,_
            dec2 Mont,9,_' Read from EEPROM $A8
            dec2 Days,9,_' Read from EEPROM $A8
            dec2 Hour,9,_' Read from EEPROM $A8
            dec2 Mins,9,_' Read from EEPROM $A8
            dec4 Pressure/10,".",dec1 Pressure,9,_ ' Read from EEPROM $A8					
            dec2 Humidity,9,_ ' Read from EEPROM $A8		
            dec2 TempExt/10,".", dec1 TempExt,9,_' Read from EEPROM $A8
            dec3 Wind_S,9,_' Read from EEPROM $A8
            dec3 Wind_S_Ave,9,_' Read from EEPROM $A8
            dec3 Wind_D,9,_' Read from EEPROM $A8		
            dec3 Wind_D_Ave,9,_	' Read from EEPROM $A8
            dec2 Rain/10,".", dec1 Rain,9,_ ' Read from EEPROM $A8
            dec2 Voltage/10,".", dec1 Voltage,9,_' Read from EEPROM $A8						
            dec2 Voltage/10,".", dec1 Voltage,13]' Read from EEPROM $A8
            pause 10			
		  					
    next Address
    hserout [13,13]			
    return
Note the 'WRITE' command to stores the address on the internal PIC EEPROM and the 'I2CWRITE' stores the variables on the external EEPROM

hope this helps?

Regards Bill Legge