Atmel mega 16 bootloader q's

Hi all, new here.

i have been looking at getting a bootloader to work. all i want to do at
this stage is write something to flash so i know it's working and even
that isnt working.

i got some help from a good friend, who wrote some code for me for his dev
board but it was a mega 64. now, that shouldn't really matter, as it had
nothing in it that i couldn't use on my 16 other then the register name.

so i changed that and it didnt work. tried a few more different things and
that also didnt work.

Now i'm just wondering, maybe the micro hasnt been told it's supposed to
be acting as a bootloader.... because if it doesnt know, it wont do
anything with the SPM instruction.

How do i make sure that the micro is actually in bootloader mode rather
then application?

it writes to the right part of flash for the bootloader to be in, i set
the bootrst bit in the compiler so that it jumps straight to that address
on reset but cant get the thing to work.

Anyone have any ideas? i'm using CodeVisionAVR btw