Ill Try again - Hopefully will work this time

Code:
' ________________________ Chip Setup ___________________________ 
                                                 
@ __config _XT_OSC & _WDT_OFF & _LVP_OFF & _CPD_OFF & _DEBUG_OFF            
                                                                                                                                  
' ___________________ Definitions & LCD Definitions _____________ 
                                                          
DEFINE OSC 4            ' Tell PBP using a 4 MHZ Crystal
DEFINE I2C_HOLD 1       ' 
define LCD_DREG PORTB   ' Declare data bus port 
define LCD_DBIT 0       ' Declare data bus starting address 
define LCD_RSREG PORTC  ' Declare Register Select
define LCD_RSBIT 7      ' port and bit
define LCD_EREG PORTC   ' Declare Enable port and bit
define LCD_EBIT 6       ' Declare Enabit bit
define LCD_BITS 4       ' Declare no. of Bits
define LCD_LINES 2      ' Declare no. of lines 
                         
' _________________________ Variables ______________________________

  BCDsecs   var  byte   '
  BCDmins   var  byte   '
  BCDHours  var  byte   ' Conversion Variables
  BCDday    var  byte   ' 
  BCDdate   var  byte   '
  BCDmon    var  byte   '
  BCDyear   var  byte   '
  
' ______________________ Clock Variables ___________________________

  ClkSec    var byte '$00   ' Seconds Register       
  ClkMin    var byte '$01   ' Minutes Register      
  ClkHour   var byte '$02   '   Hours Register             
  ClkDay    var byte '$03   '    Days Register                                  
  ClkDate   var byte '$04   '    Date Register                  
  ClkMonth  var byte '$05   '   Month Register                              
  ClkYear   var byte '$06   '    Year Register
  ClkCont   var byte '$07   '          Control
  ClkCal    var byte '$08   '      Calibration
  ClkBuffer var byte[9]     '      Time Buffer 

' ______________________ Alarm0 Variables ___________________________

  Alm0Secs  var byte '$0A   ' Seconds Register       
  Alm0Mins  var byte '$0B   ' Minutes Register      
  Alm0Hour  var byte '$0C   '   Hours Register             
  Alm0Day   var byte '$0D   '    Days Register                                  
  Alm0Date  var byte '$0E   '    Date Register                  
  Alm0Month var byte '$0F   '   Month Register                              
  Alm0Buff var byte[6]
' ______________________ Alarm0 Variables ___________________________
 
  Alm1Secs  var byte '$11   ' Seconds Register       
  Alm1Mins  var byte '$12   ' Minutes Register      
  Alm1Hour  var byte '$13   '   Hours Register             
  Alm1Day   var byte '$14   '    Days Register                                  
  Alm1Date  var byte '$15   '    Date Register                  
  Alm1Month var byte '$16   '   Month Register
  Alm1Buff var byte[6]  
 
' _____________________ Pin Definitions _________________________ 
                                                                           
  SDA var PORTC.4     ' Serial Data Pin RC.4    ( pin )                    
  SCL var PORTC.3     ' Serial Data Pin RC.3    ( pin )    
  SetButt  var PORTB.0     '
  UpButt   var PORTB.1
  DownButt var PORTB.1

' ____________________ Inital time setup ________________________
 
  ClkSec   = %10000000;$00     
  ClkMin   = $00    
  ClkHour  = $00        
  ClkDay   = $01                               
  ClkDate  = $17               
  ClkMonth = $10                           
  ClkYear  = $78
  ClkCont  = %10000000;$00
  clkcal   = $00

' _______________________ Main Program __________________________
 
'
pause 500
               ' Allow LCD to Wake Up !
gosub settime

goto Main
    
Main :
    gosub gettime
    gosub disptime
    goto main
    end
    

' _________________________ Subrountines ________________________


SetTime :   ;$DE = write
    i2cwrite sda, scl, $DE,$00,[str clkbuffer\9]
    'i2cwrite sda, scl, $DE,$00,[clksec,clkmin,clkhour,clkday,clkdate,clkmonth,clkyear,clkcont,clkcal]
    'i2cwrite sda, scl, $DE,$00,[clksec]
    return
    
GetTime :    ;$DF = read 11011111
    i2cread sda, scl, $DF,$00,[str clkbuffer\9]   
    'i2cread sda, scl, $DF,$00,[clksec,clkmin,clkhour,clkday,clkdate,clkmonth,clkyear]     
        
       bcdsecs  = (clksec>>4*10)  + (clksec & %00001111)      ; convert BCD to Decemal ??
       bcdmins  = (clkmin>>4*10)  + (clkmin & %00001111)      ;
       bcdhours = (clkhour>>4*10) + (clkhour & %00001111)     ;
       BCDday   = (clkday>>4*10) + (clkday & %00001111)       ;
       bcddate  = (clkdate>>4*10) + (clkdate & %00001111)     ;
       bcdmon   = (clkmonth>>4*10)+ (clkmonth & %00001111)    ;
       bcdyear  = (clkyear>>4*10) + (clkyear & %00001111)     ;
       
    return

DispTime :

    lcdout $FE,1,dec bcdhours,":",dec bcdmins,":",dec bcdsecs         
    lcdout $FE,$c0,dec bcddate,"/",dec bcdmon,"/",dec bcdyear
    pause 100
 
'    lcdout $FE,1,dec clkhour,":",dec clkmin,":",dec clksec            
'    lcdout $FE,$c0," ",dec clkdate,"/",dec clkmonth,"/",dec clkyear
'    pause 100
 
 
 
    return