3v0 if you look above thats what i was reading...
I must have missed that part.
The problem is how does one intertwine the 2?
The bootloader specific linker script sorts out memory allocation etc. The user program has to be linked to start after the boot loader, where the boot loader expects it to be ! So a non-bootloader build will not work.
Like if i write a bootloader or use one from there. when i write the MAIN code i want to use in the chip do i need to alter the C018 file? or is that only for the bootloader portion?
You do not alter the C018 file, it is taken care of for you. The C018 file is used to configure the PIC system to run C, mostly it sets up the stack and inits vars. IF you write your bootloader in C there will be a C018 associated with the loader and another that is part of the users program (his hex).
When you build a program for bootloading the bootloader specific linker command file/script should setup the memory map to work with the bootloader.
Bootloader..... check if user wants to upgrade/download new hex if not then
main code... this is whats messing me up... can i write a normal file?
Are you trying to write a hex file not intended for the boot loader. Remember it must be built with a special linker script.
Like i have some older projects like my Nokia 7110 code. Can i alter the PIC to use a bootloader and without changing nothing download my old hex into it using the bootloader?
See above.