Arduino mega with HCM5883L

Thank you for the answer!

Sadly its a running project. There was many device sold previously with the use of jarzebski's HCM5883L libraray. I don't want to change, rewrite code becouse this odd working compass. I want unified solution, that i can use with the good working compass, and the odd working compass...

Yesterday i did it to work: in my code i repalce the jarzebski's compass code to Adafruit one, wroted in a calibration function. Now it's working, but now i have two program version. One for each compass type.

I want to know what's the different between this two libraray...
This and This one...

I think it's becaouse the wrong register addressess. Maybe the odd working compass got different register address... Or uses 7bit vs 8bit addresses. But as i see both libraray uses the same register addresses. Dunno whats the different. Why it's work with Adafruit libraray, and why its isnt working with the
jarzebski's, that i used well before...

Maybe the working compass HMC5883L, the not working HMC5883 (without "L")? Is there any differencies?