/*
 * 0x converter program for hex strings
 * from eeproms, assemblers, etc. To enable
 * C program strings into the flash programmer
 * module programming the three 28C16 eeproms that
 * ORG at :
 * 
 * CS2 1000-17FF
 * CS6 3000-37FF
 * CS7 3800-3FFF
 * 
 * cut and paste hex object machine code text strings 
 * into the Nano eeprom programmer program, cut and paste
 * the conveted '0x' strings, then re-program the Nano with
 * the new SDK-85 programs using the 'Move' M command to put
 * programs into RAM. A much quicker method than using the
 * very slow 110 baud 'I' command thru the serial port!
 * 
 */
 
char eeprom_string[] = "AABBCCDDEEFFAABBCCDDEEAABBCCDDEE";
byte eeprom_bytes[16];

void setup() {
  Serial.begin(9600);
}

void loop() {
 eeprom_0x();
}

void eeprom_0x(){
 
for(char i = 0; i < 16; i++)
{
  byte eeprom;
  char a = eeprom_string[2*i];
  char b = eeprom_string[2*i + 1];
  eeprom = Check_If_Hex(a)<<4 | Check_If_Hex(b);
  eeprom_bytes[i] = eeprom;
  Serial.print("0x");
  Serial.print(eeprom_bytes[i], HEX);
  Serial.print(","); 

}
   Serial.println("--------");
   while(1); 
}

char Check_If_Hex(char ch)
{
  char returnType;
  switch(ch)
  {
    case '0':
    returnType = 0;
    break;
    case  '1' :
    returnType = 1;
    break;
    case  '2':
    returnType = 2;
    break;
    case  '3':
    returnType = 3;
    break;
    case  '4' :
    returnType = 4;
    break;
    case  '5':
    returnType = 5;
    break;
    case  '6':
    returnType = 6;
    break;
    case  '7':
    returnType = 7;
    break;
    case  '8':
    returnType = 8;
    break;
    case  '9':
    returnType = 9;
    break;
    case  'A':
    returnType = 10;
    break;
    case  'B':
    returnType = 11;
    break;
    case  'C':
    returnType = 12;
    break;
    case  'D':
    returnType = 13;
    break;
    case  'E':
    returnType = 14;
    break;
    case  'F' :
    returnType = 15;
    break;
    default:
    returnType = 0;
    break;
  }
  return returnType;
}

Github link with this routine integrated into the 28C16 eeprom Flash programmer to follow soon.

------>   https://github.com/haroldmoore/Intel-SDK-85-Programmer

Here is a picture (above) of my SDK-85 as it is now, the teensy takes care of the boot-up timing, the communication to convert the 110 baud to 9600 baud, and the VFD display, (at the top).

---->   

To address the three 28C16 eeproms I use a 74ls573 to 'de-multiplex' out the low order address pins from the data bus, ( Shown in upper right corner with the three 28C16 eeproms ).

I use CS2 , CS6, and CS7.

To program the 28C16 eeproms I use Ben Eaters schematic, ( on YOUTUBE ) and his modified code. 

Schematic of EEPROM programmer

Here is a picture of the 110 baud connector, and the 9600 baud connector. ( The upper left DB9 connector, and below the small TTL to USB converter ). 

Here is a picture of the VFD display, controlled by the teensy.

I have a relay for the reset control of the SDK-85, because I cycle power as well.

Originally the 'SDK-85' monitor was made to work with the ASR33 Teletype, here is the circuit installed on the 'SDK-85' board, so that those with computers with a serial port will be able to communicate and debug assembly programs at 110 Baud. ( Or pipe it into a microcontroller first to up

the Baud rate to work with newer equipment).

And here is the circuitry installed within the ASR33 Teletype printer. I used DB9 connectors, only using pins 2 , 3 , and  5 on the DB9 connector. pins 1 , 4, and 6 are shorted together, and pins 7 an 8 are shorted together. This way TX and RX will always be  ON.

Here is a video of the SDK-85 , computer, and Teletype in action --->  https://youtu.be/U0AjybMDZm8