Geekcreit 128x64 I2C OLED working but not working

Hello everyone,

A while ago I bought a Geekcreit 128x64 I2C OLED display from eBay and I'm having a really hard time getting it to work properly. I was wondering if anyone has experienced the same or similar problems and if they could help me figure out what is wrong.

I'm trying to use the Adafruit_SSD1306 and Adafruit_GFX libraries and I've changed the line in Adafruit_SSD1306.h to define the correct screen - #define SSD1306_128_64. I'm trying the example in the Adafruit_SSD1306 library named "ssd1306_128x64_i2c" and in it I changed the address to correspond to my display (from 0x3D to 0x3C).

When I upload the sketch in to the Arduino, the screen gets filled with a bunch of random dots (looks like noise) and it looks like it's displaying the correct things only on a few lines near the top. I've taken a picture of it to show what I mean. You can kind of see the stars that it's trying to draw...

Any ideas as to what's going on?