// File: 16f767_g.lkr
// Generic linker script for the PIC16F767 processor

#IFDEF _DEBUG
  LIBPATH  .
  
  CODEPAGE   NAME=page0      START=0x0      END=0x7FF
  CODEPAGE   NAME=page1      START=0x800    END=0xFFF
  CODEPAGE   NAME=page2      START=0x1000   END=0x17FF
  CODEPAGE   NAME=page3      START=0x1800   END=0x1EFF
  CODEPAGE   NAME=debug      START=0x1F00   END=0x1FFF   PROTECTED
  CODEPAGE   NAME=.idlocs    START=0x2000   END=0x2003   PROTECTED
  CODEPAGE   NAME=.test_vect START=0x2004   END=0x2005   PROTECTED
  CODEPAGE   NAME=.device_id START=0x2006   END=0x2006   PROTECTED
  CODEPAGE   NAME=.config    START=0x2007   END=0x2009   PROTECTED
  CODEPAGE   NAME=.test      START=0x200A   END=0x203F   PROTECTED
  
  DATABANK  NAME=sfr0  START=0x0      END=0x1F     PROTECTED
  DATABANK  NAME=sfr1  START=0x80     END=0x9F     PROTECTED
  DATABANK  NAME=sfr2  START=0x100    END=0x10F    PROTECTED
  DATABANK  NAME=sfr3  START=0x180    END=0x18F    PROTECTED
  
  DATABANK   NAME=gpr0      START=0x20     END=0x6F  
  DATABANK   NAME=gpr1      START=0xA0     END=0xEF
  DATABANK   NAME=gpr2      START=0x110    END=0x164
  DATABANK   NAME=dbgspr2   START=0x165    END=0x16F  PROTECTED
  DATABANK   NAME=gpr3      START=0x190    END=0x1EF
  
  SHAREBANK  NAME=dbgspr      START=0x70     END=0x70     PROTECTED
  SHAREBANK  NAME=dbgspr      START=0xF0     END=0xF0     PROTECTED
  SHAREBANK  NAME=dbgspr      START=0x170    END=0x170    PROTECTED
  SHAREBANK  NAME=dbgspr      START=0x1F0    END=0x1F0    PROTECTED
  
  SHAREBANK  NAME=gprs      START=0x71     END=0x7F
  SHAREBANK  NAME=gprs      START=0xF1     END=0xFF     PROTECTED
  SHAREBANK  NAME=gprs      START=0x171    END=0x17F    PROTECTED
  SHAREBANK  NAME=gprs      START=0x1F1    END=0x1FF    PROTECTED
  
  SECTION    NAME=PROG0     ROM=page0       // ROM code space
  SECTION    NAME=PROG1     ROM=page1       // ROM code space
  SECTION    NAME=PROG2     ROM=page2       // ROM code space
  SECTION    NAME=PROG3     ROM=page3       // ROM code space
  SECTION    NAME=IDLOCS    ROM=.idlocs     // ID locations
  SECTION    NAME=TEST_VECT ROM=.test_vect  // Test vector 
  SECTION    NAME=DEVICEID  ROM=.device_id  // Device ID
  SECTION    NAME=TEST      ROM=.test       // Test 
#ELSE
  LIBPATH  .
  
  CODEPAGE   NAME=page0      START=0x0      END=0x7FF
  CODEPAGE   NAME=page1      START=0x800    END=0xFFF
  CODEPAGE   NAME=page2      START=0x1000   END=0x17FF
  CODEPAGE   NAME=page3      START=0x1800   END=0x1FFF
  CODEPAGE   NAME=.idlocs    START=0x2000   END=0x2003   PROTECTED
  CODEPAGE   NAME=.test_vect START=0x2004   END=0x2005   PROTECTED
  CODEPAGE   NAME=.device_id START=0x2006   END=0x2006   PROTECTED
  CODEPAGE   NAME=.config    START=0x2007   END=0x2009   PROTECTED
  CODEPAGE   NAME=.test      START=0x200A   END=0x203F   PROTECTED
  
  DATABANK  NAME=sfr0  START=0x0      END=0x1F     PROTECTED
  DATABANK  NAME=sfr1  START=0x80     END=0x9F     PROTECTED
  DATABANK  NAME=sfr2  START=0x100    END=0x10F    PROTECTED
  DATABANK  NAME=sfr3  START=0x180    END=0x18F    PROTECTED
  
  DATABANK   NAME=gpr0      START=0x20     END=0x6F  
  DATABANK   NAME=gpr1      START=0xA0     END=0xEF
  DATABANK   NAME=gpr2      START=0x110    END=0x16F 
  DATABANK   NAME=gpr3      START=0x190    END=0x1EF
  
  SHAREBANK  NAME=gprs      START=0x70     END=0x7F
  SHAREBANK  NAME=gprs      START=0xF0     END=0xFF     PROTECTED
  SHAREBANK  NAME=gprs      START=0x170    END=0x17F    PROTECTED
  SHAREBANK  NAME=gprs      START=0x1F0    END=0x1FF    PROTECTED
  
  SECTION    NAME=PROG0     ROM=page0       // ROM code space
  SECTION    NAME=PROG1     ROM=page1       // ROM code space
  SECTION    NAME=PROG2     ROM=page2       // ROM code space
  SECTION    NAME=PROG3     ROM=page3       // ROM code space
  SECTION    NAME=IDLOCS    ROM=.idlocs     // ID locations
  SECTION    NAME=TEST_VECT ROM=.test_vect  // Test vector 
  SECTION    NAME=DEVICEID  ROM=.device_id  // Device ID
  SECTION    NAME=TEST      ROM=.test       // Test 
#FI