How do the SDI and SDO relate to the MISO and the MOSI?
THE mssp module of the pic can be either spi or i2c so the pin names aren't exactly the same
miso is sdo would connect to mosi on your device
misi is sdi would connect to miso on your device
sck is sck would connect to sck on your device

pbp has no spi hardware module commands at all , shiftin /out they can bit bang on any pins

in you examples folder there are demo spi slave/master programs