Re-map SPI pins

If your shield says pin 10 is SD's CS, then pin 10 it is, so stop arguing. On Mega, I believe it's still the case that you set pin 53 as output , irrespective of whether it is being used or not.

So yea this all makes a lot more sense now. SS/CS is just for the Slave/Peripheral to know the message is for it. The "hey you over there!". Once this crystallised it all became pretty easy. (And the SS pin53 on the arduino is for when it is in slave/peripheral mode and not relevant if it is the controller)

I ended up getting a couple custom boards made and just physically routed pins to suit my needs in the PCB so I didnt have to use softSPI. Oh yea and the correct pins routed for 8bit parallel. The shield could just go bang on. Also added a level shifter so the SD card worked.

What a silly thing to say! The state of that pin is absolutely critical to the hardware.

Good luck with your project.

Wrong.

21.1.2 Master Mode

When the SPI is configured as a Master (MSTR in SPCR is set), the user can determine the direction of the S̅S̅ pin.

If S̅S̅ is configured as an output, the pin is a general output pin which does not affect the SPI system. Typically, the pin will be driving the S̅S̅ pin of the SPI Slave.

If S̅S̅ is configured as an input, it must be held high to ensure Master SPI operation. If the S̅S̅ pin is driven low by peripheral circuitry when the SPI is configured as a Master with the S̅S̅ pin defined as an input, the SPI system interprets this as another master selecting the SPI as a slave and starting to send data to it. ...

Luck certainly paid off this time. Its working pretty nicely. I will just set the pin to an output in any case and just leave it not connect.