Project tutorial
Super-fast memory-card made of the AMD's UV-EPROM's

Super-fast memory-card made of the AMD's UV-EPROM's © GPL3+

Innovative hande-made solution to build a superfast memory-card and/or data-storage device for a universal and multipurpose usage with MCU's

  • 1,279 views
  • 1 comment
  • 7 respects

Components and supplies

1 Megabit (128 K x 8-Bit) CMOS EPROM
size and amount can be varied upon personal needs
×4
Prototyping Copper Matrix Board
size depends on amount of EPROMs to be installed
×1
LED, SMD green
each EPROM has a dedicated small SMD-LED on top, indicating power supply to chip
×4
09590 01
LED (generic)
a small red-led indicator for a memory-card status on/off
×1
11026 02
Jumper wires (generic)
jumper wires for connections
×130
Ard due
Arduino Due
×1

About this project

The data and data-storage is of great importance for almost any kind of research project, even for tools. While nosediving in the deep sea of the physical computing and having a lack of memory for a project, whilst not willing to use any kind of flash-cards or anything similar via SPI, I realized that, one could make a great use of the old UV-EPROMs from AMD. Those are very good especially for fast-pace microprocessor read/write's. Having typically access times of ~c.a. 45ns. They maintain the speed via parallel interface which requires a ton of a GPIO but the Ard. Due with its MPU has enough GPIO and perfectly fits for this. The amount of addresses to be used is at our convinience (16) and can be easily manipulated. Then comes 8 bit data-bus into play, which is used for data-transmission obviously, nothing fancy. The nice thing here is the possiblity to hook-up many of those (256 Kbyte) EPROMs together (having them to share the data-bus and address-bus GPIO) and create a so called memory-card!, like we have in our desktops, laptops, in a form of RAM, raughly speaking. For µController projects much memory is not needed. The most of the memory is being used for the actual code. In case of measurements, place to store the measured data for later extraction. I made the design in a way that it can be easily removed and replugged. It is very convinient to use in outdoor/field or areas which have rough conditions too, in comparsion to flash-cards which can easily break. The form-factor is out of comparison, but I have no issues carrying couple of grams in my pocket ^^).

Code

AMD_UV-EPROM_Write_Mode.ino.inoC#
I made the most simple way to write data to EPROM for easy understanding how everything works, but one might easily shorten this code up to 1/3 of the current size ^^). This code can be used to write data to all of the EPROMs addresses. Additionaly Arduino EPROM library might come in handy here.
       /* AMD UV-EPROM Programming on Arduino, Arduino-MEGA-2560 SDK Platform.
          --------------------------------------------------------------------
          AMD UV-EPROM Programming Program V1.01. suitable only for programming.
          ----------------------------------------------------------------------
          AMD UV-EPROM 8 bit - data bus is used and 8 - address lines used 17 from 17 available.
          --------------------------------------------------------------------------------------
          Program can be used to run through the EPROM's addresses and writes down the data,
          also print it in serial monitor. Program represents the basic concepts of UV-EPROM functionality
          combined with the MCU.
          ------------------------------------------------------------------------------------------------
          
          ----------------------------------------------------------------- */


          const int DQ_0_1=6;
          const int DQ_1_1=7;                       //RX  comm prot. DO NOT USE !  are needed for serial communication
          const int DQ_2_1=8;                       //TX  comm prot. DO NOT USE !  are needed for serial communication
          const int DQ_3_1=9;  
          const int DQ_4_1=10;  //Data-Bus 1
          const int DQ_5_1=11;
          const int DQ_6_1=12;
          const int DQ_7_1=13;


          const int DQ_0_2=22;
          const int DQ_1_2=23;
          const int DQ_2_2=24;
          const int DQ_3_2=25;   //Data-Bus 2
          const int DQ_4_2=2;
          const int DQ_5_2=3;
          const int DQ_6_2=4;
          const int DQ_7_2=5;
          
          // EPROM data-bus connection initialisation
          
          int X0_1, X1_1, X2_1, X3_1, X4_1, X5_1, X6_1, X7_1;  //Data-Bus X EPROM 1
          int X0_2, X1_2, X2_2, X3_2, X4_2, X5_2, X6_2, X7_2;  //Data-Bus X EPROM 2
          int X0_3, X1_3, X2_3, X3_3, X4_3, X5_3, X6_3, X7_3;  //Data-Bus X EPROM 3
          int X0_4, X1_4, X2_4, X3_4, X4_4, X5_4, X6_4, X7_4;  //Data-Bus X EPROM 4

          // variables to catch the EPROM data for Serial transmission RX-TX

          int t_time=1000;
          
          
          const int adr_A0=36;
          const int adr_A1=37;
          const int adr_A2=38;
          const int adr_A3=39;
          const int adr_A4=40;
          const int adr_A5=41;
          const int adr_A6=42;
          const int adr_A7=43;
          const int adr_A8=44;
          const int adr_A9=45;    // ADDRESS-BUS 
          const int adr_A10=46;
          const int adr_A11=47;
          const int adr_A12=48;
          const int adr_A13=49;
          const int adr_A14=50;
          const int adr_A15=51;
          const int adr_A16=52;

         
                    
          // EPROM Control-Lins connection initialisation
         
          const int Chip_enable_X1=34;
          const int Output_enable_X1=32;
          const int PGM_Program_X1=30;

          const int Chip_enable_X2=26;
          const int Output_enable_X2=27;
          const int PGM_Program_X2=28;

          const int Chip_enable_E_X3=31;
          const int Output_enable_G_X3=29;  

          const int Chip_enable_E_X4=35;
          const int Output_enable_G_X4=33;
                    
          // MCU digital interface port initialisation
         
         
         void setup()
        { 
          for(int a_data_bus_GPIO=13; a_data_bus_GPIO<=2; a_data_bus_GPIO--)
          {
            pinMode(a_data_bus_GPIO, INPUT_PULLUP);
          }
          for(int b_data_bus_GPIO=22; b_data_bus_GPIO<=25; b_data_bus_GPIO++)
          {
            pinMode(b_data_bus_GPIO, INPUT_PULLUP);
          }
          for(int address_bus_GPIO=26; address_bus_GPIO<=52; address_bus_GPIO++)
          {
            pinMode(address_bus_GPIO, OUTPUT);
          }
        /*for(int a_control_GPIO=18; control_GPIO<20; control_GPIO++)
          {
            pinMode(control_GPIO, OUTPUT);
          }
          */
          Serial.begin(9600);

          // EPROM Control setup  for Reading mode 
          
          digitalWrite(PGM_Program_X1, LOW);  // X1 UV-EPROM AMD
          digitalWrite(Chip_enable_X1, LOW);
          digitalWrite(Output_enable_X1, HIGH);

          digitalWrite(PGM_Program_X2, HIGH);  // X2 UV-EPROM AMD
          digitalWrite(Chip_enable_X2, HIGH);
          digitalWrite(Output_enable_X2, HIGH);

          digitalWrite(Chip_enable_E_X3, HIGH);
          digitalWrite(Output_enable_G_X3, HIGH);  

          digitalWrite(Chip_enable_E_X4, HIGH);
          digitalWrite(Output_enable_G_X4, HIGH);

          
          // Setting up EPROM for reading mode


             Serial.println("\t Reading from UV-EPROM.....- ACTIVE");
             Serial.print("\t\t\t\t Streaming values.....");
           
             Serial.println("");
          digitalWrite(DQ_0_1, HIGH);                                      
         digitalWrite(DQ_1_1, LOW);
       digitalWrite(DQ_2_1, LOW);
      digitalWrite(DQ_3_1, LOW);
    digitalWrite(DQ_4_1, LOW);       //data_bus
   digitalWrite(DQ_5_1, LOW);
   digitalWrite(DQ_6_1, LOW);
   digitalWrite(DQ_7_1, LOW);
   Serial.print("\t");                  
            digitalWrite(adr_A0, HIGH);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);


          
   /*
          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));*/
   
           delay(t_time);
           
                       Serial.println("");
          digitalWrite(DQ_0_1, HIGH);                                      
       digitalWrite(DQ_1_1, HIGH);
       digitalWrite(DQ_2_1, LOW);
      digitalWrite(DQ_3_1, LOW);
    digitalWrite(DQ_4_1, LOW);       //data_bus
   digitalWrite(DQ_5_1, LOW);
   digitalWrite(DQ_6_1, LOW);
   digitalWrite(DQ_7_1, LOW);
   Serial.print("\t");  
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, HIGH);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);

      

    /*
         Serial.print("\t");

          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));*/
   
            delay(t_time);
            
           Serial.println("");
          digitalWrite(DQ_0_1, HIGH);                                      
         digitalWrite(DQ_1_1, HIGH);
       digitalWrite(DQ_2_1, HIGH);
      digitalWrite(DQ_3_1, LOW);
    digitalWrite(DQ_4_1, LOW);       //data_bus
   digitalWrite(DQ_5_1, LOW);
   digitalWrite(DQ_6_1, LOW);
   digitalWrite(DQ_7_1, LOW);
   Serial.print("\t");
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, HIGH);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);

            
            
/*
           Serial.print("\t");

          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));*/

            delay(t_time);
           Serial.println("");
          digitalWrite(DQ_0_1, HIGH);                                      
         digitalWrite(DQ_1_1, HIGH);
       digitalWrite(DQ_2_1, HIGH);
      digitalWrite(DQ_3_1, HIGH);
    digitalWrite(DQ_4_1, LOW);       //data_bus
   digitalWrite(DQ_5_1, LOW);
   digitalWrite(DQ_6_1, LOW);
   digitalWrite(DQ_7_1, LOW);
   Serial.print("\t");
   
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, HIGH);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);


            
/*
        Serial.print("\t");

          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));  */
   
                  delay(t_time);
            Serial.println("");
          digitalWrite(DQ_0_1, HIGH);                                      
         digitalWrite(DQ_1_1, HIGH);
       digitalWrite(DQ_2_1, HIGH);
      digitalWrite(DQ_3_1, HIGH);
    digitalWrite(DQ_4_1, HIGH);       //data_bus
   digitalWrite(DQ_5_1, LOW);
   digitalWrite(DQ_6_1, LOW);
   digitalWrite(DQ_7_1, LOW);
   Serial.print("\t");   
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, HIGH);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);


           

    /*        Serial.print("\t");

          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));  */
   
                  delay(t_time);
            Serial.println("");
          digitalWrite(DQ_0_1, HIGH);                                      
         digitalWrite(DQ_1_1, HIGH);
       digitalWrite(DQ_2_1, HIGH);
      digitalWrite(DQ_3_1, HIGH);
    digitalWrite(DQ_4_1, HIGH);       //data_bus
   digitalWrite(DQ_5_1, HIGH);
   digitalWrite(DQ_6_1, LOW);
   digitalWrite(DQ_7_1, LOW);
   Serial.print("\t");
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, HIGH);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);

       
           
  /*
          Serial.print("\t");

          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2)); */
                
                  delay(t_time);
          
            Serial.println("");
          digitalWrite(DQ_0_1, HIGH);                                      
         digitalWrite(DQ_1_1, HIGH);
       digitalWrite(DQ_2_1, HIGH);
      digitalWrite(DQ_3_1, HIGH);
    digitalWrite(DQ_4_1, HIGH);       //data_bus
   digitalWrite(DQ_5_1, HIGH);
   digitalWrite(DQ_6_1, HIGH);
   digitalWrite(DQ_7_1, LOW);
   Serial.print("\t");
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, HIGH);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);

          
          

  /*  Serial.print("\t");

          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));   */
                
                  delay(t_time);
          Serial.println("");
          digitalWrite(DQ_0_1, HIGH);                                      
         digitalWrite(DQ_1_1, HIGH);
       digitalWrite(DQ_2_1, HIGH);
      digitalWrite(DQ_3_1, HIGH);
    digitalWrite(DQ_4_1, HIGH);       //data_bus
   digitalWrite(DQ_5_1, HIGH);
   digitalWrite(DQ_6_1, HIGH);
   digitalWrite(DQ_7_1, HIGH);
   Serial.print("\t");

            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, HIGH);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);


            /*
    Serial.print("\t");

          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));  */
                
                delay(t_time);      
          
            Serial.println("");
          digitalWrite(DQ_0_1, LOW);                                      
         digitalWrite(DQ_1_1, LOW);
       digitalWrite(DQ_2_1, LOW);
      digitalWrite(DQ_3_1, LOW);
    digitalWrite(DQ_4_1, LOW);       //data_bus
   digitalWrite(DQ_5_1, LOW);
   digitalWrite(DQ_6_1, LOW);
   digitalWrite(DQ_7_1, HIGH);
   Serial.print("\t");
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, HIGH);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);


             

  /*   Serial.print("\t");
   
          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));  */
            Serial.println("");
          digitalWrite(DQ_0_1, LOW);                                      
         digitalWrite(DQ_1_1, LOW);
       digitalWrite(DQ_2_1, LOW);
      digitalWrite(DQ_3_1, LOW);
    digitalWrite(DQ_4_1, LOW);       //data_bus
   digitalWrite(DQ_5_1, LOW);
   digitalWrite(DQ_6_1, HIGH);
   digitalWrite(DQ_7_1, HIGH);
   Serial.print("\t");  
            digitalWrite(adr_A0, HIGH);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, HIGH);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);

           

     /*      Serial.print("\t");
    
          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2)); */
   
                  delay(t_time);
             Serial.println("");
          digitalWrite(DQ_0_1, LOW);                                      
         digitalWrite(DQ_1_1, LOW);
       digitalWrite(DQ_2_1, LOW);
      digitalWrite(DQ_3_1, LOW);
    digitalWrite(DQ_4_1, LOW);       //data_bus
   digitalWrite(DQ_5_1, HIGH);
   digitalWrite(DQ_6_1, HIGH);
   digitalWrite(DQ_7_1, HIGH);
   Serial.print("\t");   
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, HIGH);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);


           
     /*        Serial.print("\t");
   
           Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2)); */
                
                  delay(t_time);
          
                        Serial.println("");
          digitalWrite(DQ_0_1, LOW);                                      
         digitalWrite(DQ_1_1, LOW);
       digitalWrite(DQ_2_1, LOW);
      digitalWrite(DQ_3_1, LOW);
    digitalWrite(DQ_4_1, HIGH);       //data_bus
   digitalWrite(DQ_5_1, HIGH);
   digitalWrite(DQ_6_1, HIGH);
   digitalWrite(DQ_7_1, HIGH);
   Serial.print("\t");         
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, HIGH);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);



   /*      Serial.print("\t");
    
          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2)); */
                
                  delay(t_time);
            Serial.println("");
          digitalWrite(DQ_0_1, LOW);                                      
         digitalWrite(DQ_1_1, LOW);
       digitalWrite(DQ_2_1, LOW);
      digitalWrite(DQ_3_1, HIGH);
    digitalWrite(DQ_4_1, HIGH);       //data_bus
   digitalWrite(DQ_5_1, HIGH);
   digitalWrite(DQ_6_1, HIGH);
   digitalWrite(DQ_7_1, HIGH);
   Serial.print("\t");
            digitalWrite(adr_A0, HIGH);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, HIGH);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);


            

      /*     Serial.print("\t");

           Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2)); */
                
                delay(t_time);      
          
            Serial.println("");
          digitalWrite(DQ_0_1, LOW);                                      
         digitalWrite(DQ_1_1, LOW);
       digitalWrite(DQ_2_1, HIGH);
      digitalWrite(DQ_3_1, HIGH);
    digitalWrite(DQ_4_1, HIGH);       //data_bus
   digitalWrite(DQ_5_1, HIGH);
   digitalWrite(DQ_6_1, HIGH);
   digitalWrite(DQ_7_1, HIGH);
   Serial.print("\t");
            digitalWrite(adr_A0, HIGH);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, HIGH);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);


              

      /*       Serial.print("\t");

           Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2)); */

             Serial.println("");
          digitalWrite(DQ_0_1, LOW);                                      
         digitalWrite(DQ_1_1, HIGH);
       digitalWrite(DQ_2_1, HIGH);
      digitalWrite(DQ_3_1, HIGH);
    digitalWrite(DQ_4_1, HIGH);       //data_bus
   digitalWrite(DQ_5_1, HIGH);
   digitalWrite(DQ_6_1, HIGH);
   digitalWrite(DQ_7_1, HIGH);
   Serial.print("\t");  
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, HIGH);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);

            

       /*        Serial.print("\t");

           Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2)); */
                
                delay(t_time);      
          
             Serial.println("");
          digitalWrite(DQ_0_1, HIGH);                                      
         digitalWrite(DQ_1_1, HIGH);
       digitalWrite(DQ_2_1, HIGH);
      digitalWrite(DQ_3_1, HIGH);
    digitalWrite(DQ_4_1, HIGH);       //data_bus
   digitalWrite(DQ_5_1, HIGH);
   digitalWrite(DQ_6_1, HIGH);
   digitalWrite(DQ_7_1, HIGH);
   Serial.print("\t");
          
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, HIGH);
            digitalWrite(adr_A16, LOW);


            
   /*   Serial.print("\t"); 
    
           Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2)); */
                
                delay(t_time);      
          
          Serial.println("");
          digitalWrite(DQ_0_1, LOW);                                      
         digitalWrite(DQ_1_1, LOW);
       digitalWrite(DQ_2_1, LOW);
      digitalWrite(DQ_3_1, HIGH);
    digitalWrite(DQ_4_1, HIGH);       //data_bus
   digitalWrite(DQ_5_1, LOW);
   digitalWrite(DQ_6_1, LOW);
   digitalWrite(DQ_7_1, LOW);
   Serial.print("\t");
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, HIGH);

             

     /*         Serial.print("\t");   
   
          Serial.print(X0_2=digitalRead(DQ_0_2));                               
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));*/
          
         }
         
          void loop()        
          {
            
          }
AMD_UV-EPROM_Read_Mode.inoC#
This part of the code is simple represantation of the reading process and how to read data from the memory-card. Same logic holds here, the actual code can be shortened up to 1/4 of the current size..and /or used with Arduino EPROM library.
       /* AMD UV-EPROM Programming on Arduino, Arduino-MEGA-2560 SDK Platform.
          --------------------------------------------------------------------
          AMD UV-EPROM Reading Program V1.01. suitable only for reading mode.
          -------------------------------------------------------------------
          AMD UV-EPROM 8 bit - data bus is used and 8 - address lines used 17 from 17 available.
          --------------------------------------------------------------------------------------
          Program can be used to run through the EPROM's addresses and read out the data,
          also print it in serial monitor. Program represents the basic concepts of UV-EPROM functionality
          combined with the MCU.
          ------------------------------------------------------------------------------------------------
          
          ----------------------------------------------------------------- */


          const int DQ_0_1=6;
          const int DQ_1_1=7;                       //RX  comm prot. DO NOT USE !  are needed for serial communication
          const int DQ_2_1=8;                       //TX  comm prot. DO NOT USE !  are needed for serial communication
          const int DQ_3_1=9;  
          const int DQ_4_1=10;  //Data-Bus 1
          const int DQ_5_1=11;
          const int DQ_6_1=12;
          const int DQ_7_1=13;


          const int DQ_0_2=22;
          const int DQ_1_2=23;
          const int DQ_2_2=24;
          const int DQ_3_2=25;   //Data-Bus 2
          const int DQ_4_2=2;
          const int DQ_5_2=3;
          const int DQ_6_2=4;
          const int DQ_7_2=5;
          
          // EPROM data-bus connection initialisation
          
          int X0_1, X1_1, X2_1, X3_1, X4_1, X5_1, X6_1, X7_1;  //Data-Bus X EPROM 1
          int X0_2, X1_2, X2_2, X3_2, X4_2, X5_2, X6_2, X7_2;  //Data-Bus X EPROM 2
          int X0_3, X1_3, X2_3, X3_3, X4_3, X5_3, X6_3, X7_3;  //Data-Bus X EPROM 3
          int X0_4, X1_4, X2_4, X3_4, X4_4, X5_4, X6_4, X7_4;  //Data-Bus X EPROM 4

          // variables to catch the EPROM data for Serial transmission RX-TX

          int t_time=100;
          
          
          const int adr_A0=36;
          const int adr_A1=37;
          const int adr_A2=38;
          const int adr_A3=39;
          const int adr_A4=40;
          const int adr_A5=41;
          const int adr_A6=42;
          const int adr_A7=43;
          const int adr_A8=44;
          const int adr_A9=45;    // ADDRESS-BUS 
          const int adr_A10=46;
          const int adr_A11=47;
          const int adr_A12=48;
          const int adr_A13=49;
          const int adr_A14=50;
          const int adr_A15=51;
          const int adr_A16=52;

         
                    
          // EPROM Control-Lins connection initialisation
         
          const int Chip_enable_X1=34;
          const int Output_enable_X1=32;
          const int PGM_Program_X1=30;

          const int Chip_enable_X2=26;
          const int Output_enable_X2=27;
          const int PGM_Program_X2=28;

          const int Chip_enable_E_X3=31;
          const int Output_enable_G_X3=29;  

          const int Chip_enable_E_X4=35;
          const int Output_enable_G_X4=33;
                    
          // MCU digital interface port initialisation
         
         
         void setup()
        { 
          for(int a_data_bus_GPIO=13; a_data_bus_GPIO<=2; a_data_bus_GPIO--)
          {
            pinMode(a_data_bus_GPIO, INPUT_PULLUP);
          }
          for(int b_data_bus_GPIO=22; b_data_bus_GPIO<=25; b_data_bus_GPIO++)
          {
            pinMode(b_data_bus_GPIO, INPUT_PULLUP);
          }
          for(int address_bus_GPIO=26; address_bus_GPIO<=52; address_bus_GPIO++)
          {
            pinMode(address_bus_GPIO, OUTPUT);
          }
        /*for(int a_control_GPIO=18; control_GPIO<20; control_GPIO++)
          {
            pinMode(control_GPIO, OUTPUT);
          }
          */
          Serial.begin(9600);

          // EPROM Control setup  for Reading mode 
          
          digitalWrite(PGM_Program_X1, LOW);  // X1 UV-EPROM AMD
          digitalWrite(Chip_enable_X1, LOW);
          digitalWrite(Output_enable_X1, LOW);

          digitalWrite(PGM_Program_X2, HIGH);  // X2 UV-EPROM AMD
          digitalWrite(Chip_enable_X2, HIGH);
          digitalWrite(Output_enable_X2, HIGH);

          digitalWrite(Chip_enable_E_X3, HIGH);
          digitalWrite(Output_enable_G_X3, HIGH);  

          digitalWrite(Chip_enable_E_X4, HIGH);
          digitalWrite(Output_enable_G_X4, HIGH);
        }
          
          // Setting up EPROM for reading mode

            void loop()
            {
             Serial.println("\t Reading from UV-EPROM.....- ACTIVE");
             Serial.print("\t\t\t\t Streaming values.....");
           
                
            digitalWrite(adr_A0, HIGH);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);


           Serial.println("");
           /*
          Serial.print(X0_1=digitalRead(DQ_0_1));                                      
         Serial.print(X1_1=digitalRead(DQ_1_1));
       Serial.print(X2_1=digitalRead(DQ_2_1));
      Serial.print(X3_1=digitalRead(DQ_3_1));
    Serial.print(X4_1=digitalRead(DQ_4_1));       //data_bus
   Serial.print(X5_1=digitalRead(DQ_5_1));
   Serial.print(X6_1=digitalRead(DQ_6_1));
   Serial.print(X7_1=digitalRead(DQ_7_1));
   Serial.print("\t");  */
   
          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));
   Serial.print("\t");
           delay(t_time);
   
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, HIGH);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);

      
     /*      Serial.println("\t"); 
          Serial.print(X0_1=digitalRead(DQ_0_1));
         Serial.print(X1_1=digitalRead(DQ_1_1));
       Serial.print(X2_1=digitalRead(DQ_2_1));
      Serial.print(X3_1=digitalRead(DQ_3_1));
    Serial.print(X4_1=digitalRead(DQ_4_1));       //data_bus
   Serial.print(X5_1=digitalRead(DQ_5_1));
   Serial.print(X6_1=digitalRead(DQ_6_1));
   Serial.print(X7_1=digitalRead(DQ_7_1)); */
    
         Serial.print("\t");

          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));

   
   
            delay(t_time);
           
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, HIGH);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);

            
     /*       Serial.println("\t");
          Serial.print(X0_1=digitalRead(DQ_0_1));
         Serial.print(X1_1=digitalRead(DQ_1_1));
       Serial.print(X2_1=digitalRead(DQ_2_1));
      Serial.print(X3_1=digitalRead(DQ_3_1));
    Serial.print(X4_1=digitalRead(DQ_4_1));       //data_bus
   Serial.print(X5_1=digitalRead(DQ_5_1));
   Serial.print(X6_1=digitalRead(DQ_6_1));
   Serial.print(X7_1=digitalRead(DQ_7_1)); */

           Serial.print("\t");

          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));

         delay(t_time);
   
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, HIGH);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);


    /*        Serial.println("\t");
          Serial.print(X0_1=digitalRead(DQ_0_1));
         Serial.print(X1_1=digitalRead(DQ_1_1));
       Serial.print(X2_1=digitalRead(DQ_2_1));
      Serial.print(X3_1=digitalRead(DQ_3_1));
    Serial.print(X4_1=digitalRead(DQ_4_1));       //data_bus
   Serial.print(X5_1=digitalRead(DQ_5_1));
   Serial.print(X6_1=digitalRead(DQ_6_1));
   Serial.print(X7_1=digitalRead(DQ_7_1));  */

        Serial.print("\t");

          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));
   
                  delay(t_time);
   
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, HIGH);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);


      /*     Serial.println("\t");   
          Serial.print(X0_1=digitalRead(DQ_0_1));
         Serial.print(X1_1=digitalRead(DQ_1_1));
       Serial.print(X2_1=digitalRead(DQ_2_1));
      Serial.print(X3_1=digitalRead(DQ_3_1));
    Serial.print(X4_1=digitalRead(DQ_4_1));       //data_bus
   Serial.print(X5_1=digitalRead(DQ_5_1));
   Serial.print(X6_1=digitalRead(DQ_6_1));
   Serial.print(X7_1=digitalRead(DQ_7_1)); */

            Serial.print("\t");

          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));
   
                  delay(t_time);
   
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, HIGH);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);

       
       /*    Serial.println("\t");     
          Serial.print(X0_1=digitalRead(DQ_0_1));
         Serial.print(X1_1=digitalRead(DQ_1_1));
       Serial.print(X2_1=digitalRead(DQ_2_1));
      Serial.print(X3_1=digitalRead(DQ_3_1));
    Serial.print(X4_1=digitalRead(DQ_4_1));       //data_bus
   Serial.print(X5_1=digitalRead(DQ_5_1));
   Serial.print(X6_1=digitalRead(DQ_6_1));
   Serial.print(X7_1=digitalRead(DQ_7_1)); */

          Serial.print("\t");

          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));
                
                  delay(t_time);
          
          
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, HIGH);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);

          
     /*     Serial.println("\t");  
          Serial.print(X0_1=digitalRead(DQ_0_1));
         Serial.print(X1_1=digitalRead(DQ_1_1));
       Serial.print(X2_1=digitalRead(DQ_2_1));
      Serial.print(X3_1=digitalRead(DQ_3_1));
    Serial.print(X4_1=digitalRead(DQ_4_1));       //data_bus
   Serial.print(X5_1=digitalRead(DQ_5_1));
   Serial.print(X6_1=digitalRead(DQ_6_1));
   Serial.print(X7_1=digitalRead(DQ_7_1)); */

    Serial.print("\t");

          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));
                
                  delay(t_time);
          
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, HIGH);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);


      /*      Serial.println("\t");
          Serial.print(X0_1=digitalRead(DQ_0_1));
         Serial.print(X1_1=digitalRead(DQ_1_1));
       Serial.print(X2_1=digitalRead(DQ_2_1));
      Serial.print(X3_1=digitalRead(DQ_3_1));
    Serial.print(X4_1=digitalRead(DQ_4_1));       //data_bus
   Serial.print(X5_1=digitalRead(DQ_5_1));
   Serial.print(X6_1=digitalRead(DQ_6_1));
   Serial.print(X7_1=digitalRead(DQ_7_1)); */

    Serial.print("\t");

          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));
                
                delay(t_time);      
          
          
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, HIGH);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);


      /*       Serial.println("\t");
            Serial.print(X0_1=digitalRead(DQ_0_1));
         Serial.print(X1_1=digitalRead(DQ_1_1));
       Serial.print(X2_1=digitalRead(DQ_2_1));
      Serial.print(X3_1=digitalRead(DQ_3_1));
    Serial.print(X4_1=digitalRead(DQ_4_1));       //data_bus
   Serial.print(X5_1=digitalRead(DQ_5_1));
   Serial.print(X6_1=digitalRead(DQ_6_1));
   Serial.print(X7_1=digitalRead(DQ_7_1));  */

     Serial.print("\t");
   
          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));

            digitalWrite(adr_A0, HIGH);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, HIGH);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);

     /*      Serial.println("\t");   
          Serial.print(X0_1=digitalRead(DQ_0_1));
         Serial.print(X1_1=digitalRead(DQ_1_1));
       Serial.print(X2_1=digitalRead(DQ_2_1));
      Serial.print(X3_1=digitalRead(DQ_3_1));
    Serial.print(X4_1=digitalRead(DQ_4_1));       //data_bus
   Serial.print(X5_1=digitalRead(DQ_5_1));
   Serial.print(X6_1=digitalRead(DQ_6_1));
   Serial.print(X7_1=digitalRead(DQ_7_1)); */

           Serial.print("\t");
    
          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));
   
                  delay(t_time);
   
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, HIGH);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);


     /*      Serial.println("\t"); 
          Serial.print(X0_1=digitalRead(DQ_0_1));
         Serial.print(X1_1=digitalRead(DQ_1_1));
       Serial.print(X2_1=digitalRead(DQ_2_1));
      Serial.print(X3_1=digitalRead(DQ_3_1));
    Serial.print(X4_1=digitalRead(DQ_4_1));       //data_bus
   Serial.print(X5_1=digitalRead(DQ_5_1));
   Serial.print(X6_1=digitalRead(DQ_6_1));
   Serial.print(X7_1=digitalRead(DQ_7_1)); */

             Serial.print("\t");
   
           Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));
                
                  delay(t_time);
          
          
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, HIGH);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);

   /*         Serial.println("\t");
          Serial.print(X0_1=digitalRead(DQ_0_1));
         Serial.print(X1_1=digitalRead(DQ_1_1));
       Serial.print(X2_1=digitalRead(DQ_2_1));
      Serial.print(X3_1=digitalRead(DQ_3_1));
    Serial.print(X4_1=digitalRead(DQ_4_1));       //data_bus
   Serial.print(X5_1=digitalRead(DQ_5_1));
   Serial.print(X6_1=digitalRead(DQ_6_1));
   Serial.print(X7_1=digitalRead(DQ_7_1)); */

         Serial.print("\t");
    
          Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));
                
                  delay(t_time);
          
            digitalWrite(adr_A0, HIGH);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, HIGH);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);


   /*            Serial.println("\t");
          Serial.print(X0_1=digitalRead(DQ_0_1));
         Serial.print(X1_1=digitalRead(DQ_1_1));
       Serial.print(X2_1=digitalRead(DQ_2_1));
      Serial.print(X3_1=digitalRead(DQ_3_1));
    Serial.print(X4_1=digitalRead(DQ_4_1));       //data_bus
   Serial.print(X5_1=digitalRead(DQ_5_1));
   Serial.print(X6_1=digitalRead(DQ_6_1));
   Serial.print(X7_1=digitalRead(DQ_7_1)); */

           Serial.print("\t");

           Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));
                
                delay(t_time);      
          
          
            digitalWrite(adr_A0, HIGH);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, HIGH);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);


       /*       Serial.println("\t");
            Serial.print(X0_1=digitalRead(DQ_0_1));
         Serial.print(X1_1=digitalRead(DQ_1_1));
       Serial.print(X2_1=digitalRead(DQ_2_1));
      Serial.print(X3_1=digitalRead(DQ_3_1));
    Serial.print(X4_1=digitalRead(DQ_4_1));       //data_bus
   Serial.print(X5_1=digitalRead(DQ_5_1));
   Serial.print(X6_1=digitalRead(DQ_6_1));
   Serial.print(X7_1=digitalRead(DQ_7_1));   */

             Serial.print("\t");

           Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));


            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, HIGH);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, LOW);

     /*       Serial.println("\t");
          Serial.print(X0_1=digitalRead(DQ_0_1));
         Serial.print(X1_1=digitalRead(DQ_1_1));
       Serial.print(X2_1=digitalRead(DQ_2_1));
      Serial.print(X3_1=digitalRead(DQ_3_1));
    Serial.print(X4_1=digitalRead(DQ_4_1));       //data_bus
   Serial.print(X5_1=digitalRead(DQ_5_1));
   Serial.print(X6_1=digitalRead(DQ_6_1));
   Serial.print(X7_1=digitalRead(DQ_7_1));*/

               Serial.print("\t");

           Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));
                
                delay(t_time);      
          
          
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, HIGH);
            digitalWrite(adr_A16, LOW);


         /*   Serial.println("\t");
            Serial.print(X0_1=digitalRead(DQ_0_1));
         Serial.print(X1_1=digitalRead(DQ_1_1));
       Serial.print(X2_1=digitalRead(DQ_2_1));
      Serial.print(X3_1=digitalRead(DQ_3_1));
    Serial.print(X4_1=digitalRead(DQ_4_1));       //data_bus
   Serial.print(X5_1=digitalRead(DQ_5_1));
   Serial.print(X6_1=digitalRead(DQ_6_1));
   Serial.print(X7_1=digitalRead(DQ_7_1)); */

      Serial.print("\t"); 
    
           Serial.print(X0_2=digitalRead(DQ_0_2));                                      
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));
                
                delay(t_time);      
          
          
            digitalWrite(adr_A0, LOW);
            digitalWrite(adr_A1, LOW);
            digitalWrite(adr_A2, LOW);
            digitalWrite(adr_A3, LOW);
            digitalWrite(adr_A4, LOW);  // address-bus
            digitalWrite(adr_A5, LOW);
            digitalWrite(adr_A6, LOW);
            digitalWrite(adr_A7, LOW);
            digitalWrite(adr_A8, LOW);
            digitalWrite(adr_A9, LOW);
            digitalWrite(adr_A10, LOW);
            digitalWrite(adr_A11, LOW);
            digitalWrite(adr_A12, LOW);
            digitalWrite(adr_A13, LOW);
            digitalWrite(adr_A14, LOW);
            digitalWrite(adr_A15, LOW);
            digitalWrite(adr_A16, HIGH);

         /*    Serial.println("\t");
           Serial.print(X0_1=digitalRead(DQ_0_1));
         Serial.print(X1_1=digitalRead(DQ_1_1));
       Serial.print(X2_1=digitalRead(DQ_2_1));
      Serial.print(X3_1=digitalRead(DQ_3_1));
    Serial.print(X4_1=digitalRead(DQ_4_1));       //data_bus
   Serial.print(X5_1=digitalRead(DQ_5_1));
   Serial.print(X6_1=digitalRead(DQ_6_1));
   Serial.print(X7_1=digitalRead(DQ_7_1));*/

              Serial.print("\t");   
   
          Serial.print(X0_2=digitalRead(DQ_0_2));                               
         Serial.print(X1_2=digitalRead(DQ_1_2));
       Serial.print(X2_2=digitalRead(DQ_2_2));
      Serial.print(X3_2=digitalRead(DQ_3_2));
    Serial.print(X4_2=digitalRead(DQ_4_2));       //data_bus
   Serial.print(X5_2=digitalRead(DQ_5_2));
   Serial.print(X6_2=digitalRead(DQ_6_2));
   Serial.print(X7_2=digitalRead(DQ_7_2));
          
            }

Schematics

Memory-Card schematic for general overview
Use the schematics to understand the basics, you have to read the datasheet to find the correct address lines and data line to connect them correctly. The data-lines and address lines are shared for all EPROMs only Control line GPIO needs dedicated pins on µCU.
Amd memory bb bi0o20uc7m

Comments

Similar projects you might like

Preemptive Multitasking Scheduler for AVR

Project tutorial by Akash Kollipara

  • 1,191 views
  • 0 comments
  • 2 respects

Password-Protected, Arduino-Controlled Servo Gate

Project tutorial by Aayush Sharma

  • 713 views
  • 0 comments
  • 6 respects

Version 2.0 Advanced Attendance System (Without Ethernet)

Project tutorial by Team GadgetProgrammers

  • 15,083 views
  • 45 comments
  • 60 respects

How to Use Modbus with Arduino

Project tutorial by hwhardsoft

  • 5,353 views
  • 2 comments
  • 14 respects

Morse Code Transmitter - Light Signal

Project showcase by Alireza Karkon

  • 1,232 views
  • 1 comment
  • 7 respects

Arduino PC Monitor

Project tutorial by zakrzu

  • 29,114 views
  • 13 comments
  • 39 respects
Add projectSign up / Login