Mega 2560 as SPI Master Reading Atmega8 SPI Slave

I am banging my head against the wall and not getting too far. Maybe someone can help.

I can dump the Atmega8 EEPROM with a bus pirate, so the EEPROM has data and it is readable. I then hook the Mega 2560 up to the Atmega8 and cannot seem to figure out how to read the EEPROM on the Atmega8. I am attempting to use SPI interface. I have tried several different ways with no luck. I put an Oscilloscope on the MOSI and CLK pins and there doesn’t seem to be any data on them. Only for a second I see the CLK pin go high then nothing on either pins (when hitting reset or when uploading the code to the Arduino).

I ran a simple test to make sure I have the Mega 2560 pins configured correctly. They tested fine. As soon as I try to implement the built in SPI, I don’t see a CLK signal or anything on the MOSI line.

The result I am getting is always 0. I was getting FF at one point and changed a few things around and now just zeros. I also tried putting in a for loop to change the memory location but to no avail the same results. I tried to simplify this code posted here to just read one location at the moment, hard coded in. This is just test code and is no where near the final result:

Any help would be greatly appreciated…

//Atmega8 Read EEPROM loaded on the Mega 2560

#include <SPI.h>

#define MODE SPI_MODE0
#define BAUD 20000000L

#define DATAOUT 51 //MOSI
#define DATAIN 50 //MISO
#define SPICLOCK 52 //sck
#define SLAVESELECT 53 //ss

void setup() {

digitalWrite(SLAVESELECT, LOW);
digitalWrite(SPICLOCK, LOW);
delay(20); //Power-up sequence

// start the SPI library:

void loop() {
unsigned int result = 0; // result to return
digitalWrite(SLAVESELECT, LOW);
SPI.beginTransaction(SPISettings(BAUD, FORMAT, MODE));
// SPCR = (1<<SPE)|(1<<MSTR)| (1<<SPR1) |(1<<SPR0) ;
SPCR = B01010011 ;
SPI_MasterTransmit(B10100000); //Read EEPROM Memory Byte1 (Instruction)
SPI_MasterTransmit(B00000000); //Read EEPROM Memory Byte2 (Last Bit address high bit)
SPI_MasterTransmit(B00000000); //Read EEPROM Memory Byte3 (Address low bits)
// send a value of FF to read the first byte returned:
result = SPI.transfer(0xFF); //Byte4
digitalWrite(SLAVESELECT, HIGH);


void SPI_MasterTransmit(char cData)
/* Start transmission /
SPDR = cData;
Wait for transmission complete */
while(!(SPSR & (1<<SPIF)))