New fast digital I/O and Software SPI libraries

fat16lib,
This library is just the idea that I needed for my project as I have been trying to make my own bit-blast SPI protocol, as I need to use pins other than 50,51,52,53 for my SPI calls.
I have my own crude bit-blast working, but I would like to take advantage of other device libraries, for example the MCP23S17 library, that are written for the SPI library, but I want to shift SPI over to pins 32, 34,36,38 on my Mega2560.

However, I'm having problems getting any signal from the GPIO pins on my Mega2560 using the SoftSPI library, or demo.
The below modified pin assigned demo compiles just fine with no errors, but when I probe pins 38 (CLK) or pins 36,34 I see nothing. Any ideas?

Also, I have a basic question about the SS line...
The standard SPI library includes the use of SS pin to select/deselect the slave, but I don't see the use of SS in this library, or example. Should the spi.transfer() calls be bounded calls to pull SS LOW,HIGH?
Why was the use of SS not included?

// scope test for development - assumes 328 processor
#include <DigitalPin.h>
#include <SoftSPI.h>

const uint8_t SOFT_SPI_MISO_PIN = 36;
const uint8_t SOFT_SPI_MOSI_PIN = 34;
const uint8_t SOFT_SPI_SCK_PIN  = 38;
const uint8_t SPI_MODE = 0;

SoftSPI<SOFT_SPI_MISO_PIN, SOFT_SPI_MOSI_PIN, SOFT_SPI_SCK_PIN, SPI_MODE> spi;

int test;
void setup() {
  Serial.begin(9600);
  spi.begin();
  while(1) {
    Serial.println("Enter:");
    Serial.println("R - Receive");
    Serial.println("S - Send");
    Serial.println("T - Transfer");
    while ((test = Serial.read()) <= 0) {}
    test = toupper(test);
    if (strchr("RST", test)) break;
    Serial.println("Invalid entry");
  };
  Serial.print("Starting test ");
  Serial.println((char)test);
}
void loop() {
  if (test == 'S') spi.send(0X55);
  if (test == 'R') {
    Serial.println(spi.receive(), HEX);
  }
  if (test == 'T') {
    Serial.println(spi.transfer(0XAA), HEX);
  }
  delay(10);
}