Infact the halfvector is being calculated in the vertex shader, but since texcoords are automatically clamped between 0 and 1 in ps_1_1, I had to compress the halfvector to [0..1] and expand it again in the pixelshader. It doesn't seem to be a problem though, the compiler doesn't complain.
This is what it looks like in ps_2_0 with normalize:
Image This is what it looks like when I use cubemap normalization:
ImageAnd the cubemap:
ImageI'm not mipmapping the cubemap (I don't use bmap_to_mipmap and it's not a .dds image).