the borsch documentation for the chip is available at: http://ae-bst.resource.bosch.com/media/products/dokumente/bmp180/BST-BMP180-DS000-12.pdf
the chip documentation does not agree with the posted code.
Please read/understand the documentation, then design the code.
Amongst other things, the three byte pressure is not sequential bytes and the way to tell if a conversion is complete is to read the control register and look at bit 0x40, which will be 0 when the conversion is complete. The oversampling count is set by bits 0xC0 in the control register. and several other problems with the posted code.
If any more misunderstandings arise about the documentation or how to write the code, then update the question
register 0xD1 is not defined, so no version available.
Please read the documentation.