U8glib - initialising without pin numbers

I am planning a board with an atmega32U4 (as per sparkfun pro micro) not all of the pins are mapped to arduino pin numbers and for layout reasons some of the pins I intend to use to drive the screen will be these un-numbered pins . I'll be using an SSD1306 OLED which I've had great success with before.

I thought I'd best try things on a known working configuration first, so I've hooked up one of my pro minis to a screen to try with that.

It works fine intialised as

U8GLIB_SSD1306_128X64_2X u8g(9, 8, 7);

but not intialised as

U8GLIB_SSD1306_128X64_2X u8g(PN(1, 1), PN(1, 0), PN(3, 7));

or

u8g_InitHWSPI(&u8g, &u8g_dev_ssd1306_128x64_2x_hw_spi, PN(1, 1), PN(1, 0), PN(3, 7));

I'm guessing that there is some pin mapping to hardware going on which is incompatible. Is there any way around it?

Looks like I was a bit too quick. If I compile as Leonardo then all the pins I need are mapped.