Just plugging it in instead of the .96" display there's a little garbage on the far right of the display.
I found on an Adruino forum that this turns out to be because the SH1106 needs the column to be offset by 2 - here in the OLED_MOD code :
// Set the cursor position in a 16 COL * 8 ROW map.
static void setXY(unsigned char row,unsigned char col)
sendcommand(0xb0+row); //set page address
sendcommand(0x02+(8*col&0x0f)); //set low col address // mdj added offset 0x02
sendcommand(0x10+((8*col>>4)&0x0f)); //set high col address
but it appears that the SH1106 doesn't handle auto-scrolling when sending byte data like the SSD11306 does, so the graphics display is just not right.
I tried to handle the XY positioning manually during the draw functions but so far haven't been able to get it right.