Simple combinatorial PAL/GAL reader

Hello,

I am new to arduino and programming. i am trying to create a simple PAL reader, with putting every possible combination to the input while reading the outputs. I am getting weird output in the serial monitor, I guess I have overlooked something, any ideas? I am posting the code and the output below.

Thanks,
Lukas.

Code:

int outPin[] = {2,3,4,5,6,7,8,9,10,11};
int inPin[] = {12,13,14,15,16,17,18,19};
int state;
char *padded = malloc(5);
String printBits(long int n) {
  byte numBits = 10;  // 2^numBits must be big enough to include the number n
  char b;
  String out;
  for (byte i = 0; i < numBits; i++) {
    // shift 1 and mask to identify each bit value
    b = (n & (1 << (numBits - 1 - i))) > 0 ? '1' : '0'; // slightly faster to print chars than ints (saves conversion)
    out += b;
  }
   return out;
}
void setup()
{
   Serial.begin(9600);
    Serial.println("Arduino simple PAL/GAL Reader");
    Serial.println("Code by Lulu 2021");
    Serial.println("-----------------------------");
  for (int i =0;i<10;i++)
  {
    pinMode(outPin[i], OUTPUT);
     Serial.print("Output pin ");
     Serial.print(i);
     Serial.println(" initialized");
  }
  Serial.println("-----------------------------");
   for (int i =0;i<8;i++)
  {
    pinMode(inPin[i], INPUT);
     Serial.print("Input pin ");
     Serial.print(i);
     Serial.println(" initialized");
  }
  Serial.println("-----------------------------");
}

void loop() {
   for (int i =0;i<1024;i++)
  {
     String binNumber = printBits(i);
     int binLength = binNumber.length(); 
     sprintf(padded, "%04d", i);
     for(int i = 0, x = 1; i < binLength; i++, x+=2) { 
     if(binNumber[i] == '0') state = LOW;
      if(binNumber[i] == '1') state = HIGH;
      digitalWrite(outPin[i] + binLength - x, state);
    } 
     //'b'0000=>'b'1111110 ; /* 0 */
     Serial.print("'b'");
     Serial.print(binNumber);
     Serial.print("=>'b'");
     for (int i =0;i<8;i++)
      {
        if(digitalRead(inPin[i]) == HIGH) Serial.print("1");
        if(digitalRead(inPin[i]) == LOW) Serial.print("0");
      }
      Serial.print(" ;  /* ");
      Serial.print(padded);
      Serial.print(" */");
     Serial.println();
     delay(50);
  }
  Serial.println("------------Done-------------");
  delay(50);
  exit(0);
}

Ouput:

Arduino simple PAL/GAL Reader
Code by Lulu 2021
-----------------------------
Output pin 0 initialized
Output pin 1 initialized
Output pin 2 initialized
Output pin 3 initialized
Output pin 4 initialized
Output pin 5 initialized
Output pin 6 initialized
Output pin 7 initialized
Output pin 8 initialized
Output pin 9 initialized
-----------------------------
Input pin 0 initialized
Input pin 1 initialized
Input pin 2 initialized
Input pin 3 initialized
Input pin 4 initialized
Input pin 5 initialized
Input pin 6 initialized
Input pin 7 initialized
-----------------------------
'b'0000000000=>'b'11111110 ;  /* 0000 */
'b'0000000001=>'b'11100111 ;  /* 0001 */
'b'0000000010=>'b'11100111 ;  /* 0002 */
'b'0000000011=>'b'11100111 ;  /* 0003 */
'b'0000000100=>'b'11101101 ;  /* 0004 */
'b'0000000101=>'b'11100111 ;  /* 0005 */
'b'0000000110=>'b'11100111 ;  /* 0006 */
'b'0000000111=>'b'11100111 ;  /* 0007 */
'b'0000001000=>'b'11000111 ;  /* 0008 */
'b'0000001001=>'b'11000111 ;  /* 0009 */
'b'0000001010=>'b'11000111 ;  /* 0010 */
'b'0000001011=>'b'11000111 ;  /* 0011 */
'b'0000001100=>'b'11001101 ;  /* 0012 */
'b'0000001101=>'b'11000111 ;  /* 0013 */
'b'0000001110=>'b'11000111 ;  /* 0014 */
'b'0000001111=>'b'10000111 ;  /* 0015 */
'b'0000010000=>'b'11001110 ;  /* 0016 */
'b'0000010001=>'b'11000111 ;  /* 0017 */
'b'0000010010=>'b'11000111 ;  /* 0018 */
'b'0000010011=>'b'11000111 ;  /* 0019 */
'b'0000010100=>'b'11001101 ;  /* 0020 */
'b'0000010101=>'b'11000111 ;  /* 0021 */
'b'0000010110=>'b'11000111 ;  /* 0022 */
'b'0000010111=>'b'11000111 ;  /* 0023 */
'b'0000011000=>'b'11000111 ;  /* 0024 */
'b'0000011001=>'b'11000111 ;  /* 0025 */
'b'0000011010=>'b'11000111 ;  /* 0026 */
'b'0000011011=>'b'11000111 ;  /* 0027 */
'b'0000011100=>'b'11001101 ;  /* 0028 */
'b'0000011101=>'b'11000111 ;  /* 0029 */
'b'0000011110=>'b'11000111 ;  /* 0030 */
'b'0000011111=>'b'11000111 ;  /* 0031 */
'b'0000100000=>'b'11001110 ;  /* 0032 */
'b'0000100001=>'b'11000111 ;  /* 0033 */
'b'0000100010=>'b'11000111 ;  /* 0034 */
'b'0000100011=>'b'11000111 ;  /* 0035 */
'b'0000100100=>'b'11001101 ;  /* 0036 */
'b'0000100101=>'b'11000111 ;  /* 0037 */
'b'0000100110=>'b'11000111 ;  /* 0038 */
'b'0000100111=>'b'11000111 ;  /* 0039 */
'b'0000101000=>'b'11000111 ;  /* 0040 */
'b'0000101001=>'b'11000111 ;  /* 0041 */
'b'0000101010=>'b'11000111 ;  /* 0042 */
'b'0000101011=>'b'11000111 ;  /* 0043 */
'b'0000101100=>'b'11001101 ;  /* 0044 */
'b'0000101101=>'b'11000111 ;  /* 0045 */
'b'0000101110=>'b'11000111 ;  /* 0046 */
'b'0000101111=>'b'11000111 ;  /* 0047 */
'b'0000110000=>'b'11001110 ;  /* 0048 */
'b'0000110001=>'b'11000111 ;  /* 0049 */
'b'0000110010=>'b'11000111 ;  /* 0050 */
'b'0000110011=>'b'11000111 ;  /* 0051 */
'b'0000110100=>'b'11001101 ;  /* 0052 */
'b'0000110101=>'b'11000111 ;  /* 0053 */
'b'0000110110=>'b'11000111 ;  /* 0054 */
'b'0000110111=>'b'11000111 ;  /* 0055 */
'b'0000111000=>'b'11000111 ;  /* 0056 */
'b'0000111001=>'b'11000111 ;  /* 0057 */
'b'0000111010=>'b'11000111 ;  /* 0058 */
'b'0000111011=>'b'11000111 ;  /* 0059 */
'b'0000111100=>'b'11001101 ;  /* 0060 */
'b'0000111101=>'b'11000111 ;  /* 0061 */
'b'0000111110=>'b'11000111 ;  /* 0062 */
'b'0000111111=>'b'11000111 ;  /* 0063 */
'b'0001000000=>'b'11001110 ;  /* 0064 */
'b'0001000001=>'b'11000111 ;  /* 0065 */
'b'0001000010=>'b'11000111 ;  /* 0066 */
'b'0001000011=>'b'11000111 ;  /* 0067 */
'b'0001000100=>'b'11001101 ;  /* 0068 */
'b'0001000101=>'b'11000111 ;  /* 0069 */
'b'0001000110=>'b'11000111 ;  /* 0070 */
'b'0001000111=>'b'11000111 ;  /* 0071 */
'b'0001001000=>'b'11000111 ;  /* 0072 */
'b'0001001001=>'b'11000111 ;  /* 0073 */
'b'0001001010=>'b'11000111 ;  /* 0074 */
'b'0001001011=>'b'11000111 ;  /* 0075 */
'b'0001001100=>'b'11001101 ;  /* 0076 */
'b'0001001101=>'b'11000111 ;  /* 0077 */
'b'0001001110=>'b'11000111 ;  /* 0078 */
'b'0001001111=>'b'01001111 ;  /* 0079 */
'b'0001010000=>'b'11001110 ;  /* 0080 */
'b'0001010001=>'b'11000111 ;  /* 0081 */
'b'0001010010=>'b'11000111 ;  /* 0082 */
'b'0001010011=>'b'11000111 ;  /* 0083 */
'b'0001010100=>'b'11001101 ;  /* 0084 */
'b'0001010101=>'b'11000111 ;  /* 0085 */
'b'0001010110=>'b'11000111 ;  /* 0086 */
'b'0001010111=>'b'11000111 ;  /* 0087 */
'b'0001011000=>'b'11000111 ;  /* 0088 */
'b'0001011001=>'b'11000111 ;  /* 0089 */
'b'0001011010=>'b'11000111 ;  /* 0090 */
'b'0001011011=>'b'11000111 ;  /* 0091 */
'b'0001011100=>'b'11001101 ;  /* 0092 */
'b'0001011101=>'b'11000111 ;  /* 0093 */
'b'0001011110=>'b'11000111 ;  /* 0094 */
'b'0001011111=>'b'11000111 ;  /* 0095 */
'b'0001100000=>'b'11001110 ;  /* 0096 */
'b'0001100001=>'b'11000111 ;  /* 0097 */
'b'0001100010=>'b'11000111 ;  /* 0098 */
'b'0001100011=>'b'11000111 ;  /* 0099 */
'b'0001100100=>'b'11001101 ;  /* 0100 */
'b'0001100101=>'b'11000111 ;  /* 0101 */
'b'0001100110=>'b'11000111 ;  /* 0102 */
'b'0001100111=>'b'11000111 ;  /* 0103 */
'b'0001101000=>'b'11000111 ;  /* 0104 */
'b'0001101001=>'b'11000111 ;  /* 0105 */
'b'0001101010=>'b'11000111 ;  /* 0106 */
'b'0001101011=>'b'11000111 ;  /* 0107 */
'b'0001101100=>'b'11001101 ;  /* 0108 */
'b'0001101101=>'b'11000111 ;  /* 0109 */
'b'0001101110=>'b'11000111 ;  /* 0110 */
'b'0001101111=>'b'11000111 ;  /* 0111 */
'b'0001110000=>'b'11001110 ;  /* 0112 */
'b'0001110001=>'b'11000111 ;  /* 0113 */
'b'0001110010=>'b'11000111 ;  /* 0114 */
'b'0001110011=>'b'11000111 ;  /* 0115 */
'b'0001110100=>'b'11001101 ;  /* 0116 */
'b'0001110101=>'b'11000111 ;  /* 0117 */
'b'0001110110=>'b'11000111 ;  /* 0118 */
'b'0001110111=>'b'11000111 ;  /* 0119 */
'b'0001111000=>'b'11000111 ;  /* 0120 */
'b'0001111001=>'b'11000111 ;  /* 0121 */
'b'0001111010=>'b'11000111 ;  /* 0122 */
'b'0001111011=>'b'11000111 ;  /* 0123 */
'b'0001111100=>'b'11001101 ;  /* 0124 */
'b'0001111101=>'b'11000111 ;  /* 0125 */
'b'0001111110=>'b'11000111 ;  /* 0126 */
'b'0001111111=>'b'11000111 ;  /* 0127 */
'b'0010000000=>'b'11110111 ;  /* 0128 */
'b'0010000001=>'b'11110111 ;  /* 0129 */
'b'0010000010=>'b'11110111 ;  /* 0130 */
'b'0010000011=>'b'11110111 ;  /* 0131 */
'b'0010000100=>'b'11110111 ;  /* 0132 */
'b'0010000101=>'b'11110111 ;  /* 0133 */
'b'0010000110=>'b'11110111 ;  /* 0134 */
'b'0010000111=>'b'11110111 ;  /* 0135 */
'b'0010001000=>'b'11110111 ;  /* 0136 */
'b'0010001001=>'b'11110111 ;  /* 0137 */
'b'0010001010=>'b'11110111 ;  /* 0138 */
'b'0010001011=>'b'11110111 ;  /* 0139 */
'b'0010001100=>'b'11110111 ;  /* 0140 */
'b'0010001101=>'b'11110111 ;  /* 0141 */
'b'0010001110=>'b'11110111 ;  /* 0142 */
'b'0010001111=>'b'11110111 ;  /* 0143 */
'b'0010010000=>'b'11110111 ;  /* 0144 */
'b'0010010001=>'b'11110111 ;  /* 0145 */
'b'0010010010=>'b'11110111 ;  /* 0146 */
'b'0010010011=>'b'11110111 ;  /* 0147 */
'b'0010010100=>'b'11110111 ;  /* 0148 */
'b'0010010101=>'b'11110111 ;  /* 0149 */
'b'0010010110=>'b'11110111 ;  /* 0150 */
'b'0010010111=>'b'11110111 ;  /* 0151 */
'b'0010011000=>'b'11110111 ;  /* 0152 */
'b'0010011001=>'b'11110111 ;  /* 0153 */
'b'0010011010=>'b'11110111 ;  /* 0154 */
'b'0010011011=>'b'11110111 ;  /* 0155 */
'b'0010011100=>'b'11110111 ;  /* 0156 */
'b'0010011101=>'b'11110111 ;  /* 0157 */
'b'0010011110=>'b'11110111 ;  /* 0158 */
'b'0010011111=>'b'11110111 ;  /* 0159 */
'b'0010100000=>'b'11110111 ;  /* 0160 */
'b'0010100001=>'b'11110111 ;  /* 0161 */
'b'0010100010=>'b'11110111 ;  /* 0162 */
'b'0010100011=>'b'11110111 ;  /* 0163 */
'b'0010100100=>'b'11110111 ;  /* 0164 */
'b'0010100101=>'b'11110111 ;  /* 0165 */
'b'0010100110=>'b'11110111 ;  /* 0166 */
'b'0010100111=>'b'11110111 ;  /* 0167 */
'b'0010101000=>'b'11110111 ;  /* 0168 */
'b'0010101001=>'b'11110111 ;  /* 0169 */
'b'0010101010=>'b'11110111 ;  /* 0170 */
'b'0010101011=>'b'11110111 ;  /* 0171 */
'b'0010101100=>'b'11110111 ;  /* 0172 */
'b'0010101101=>'b'11110111 ;  /* 0173 */
'b'0010101110=>'b'11110111 ;  /* 0174 */
'b'0010101111=>'b'11110111 ;  /* 0175 */
'b'0010110000=>'b'11110111 ;  /* 0176 */
'b'0010110001=>'b'11110111 ;  /* 0177 */
'b'0010110010=>'b'11110111 ;  /* 0178 */
'b'0010110011=>'b'11110111 ;  /* 0179 */
'b'0010110100=>'b'11110111 ;  /* 0180 */
'b'0010110101=>'b'11110111 ;  /* 0181 */
'b'0010110110=>'b'11110111 ;  /* 0182 */
'b'0010110111=>'b'11110111 ;  /* 0183 */
'b'0010111000=>'b'11110111 ;  /* 0184 */
'b'0010111001=>'b'11110111 ;  /* 0185 */
'b'0010111010=>'b'11110111 ;  /* 0186 */
'b'0010111011=>'b'11110111 ;  /* 0187 */
'b'0010111100=>'b'11110111 ;  /* 0188 */
'b'0010111101=>'b'11110111 ;  /* 0189 */
'b'0010111110=>'b'11110111 ;  /* 0190 */
'b'0010111111=>'b'11110111 ;  /* 0191 */
'b'0011000000=>'b'11110111 ;  /* 0192 */
'b'0011000001=>'b'11110111 ;  /* 0193 */
'b'0011000010=>'b'11110111 ;  /* 0194 */
'b'0011000011=>'b'11110111 ;  /* 0195 */
'b'0011000100=>'b'11110111 ;  /* 0196 */
'b'0011000101=>'b'11110111 ;  /* 0197 */
'b'0011000110=>'b'11110111 ;  /* 0198 */
'b'0011000111=>'b'11110111 ;  /* 0199 */
'b'0011001000=>'b'11110111 ;  /* 0200 */
'b'0011001001=>'b'11110111 ;  /* 0201 */
'b'0011001010=>'b'11110111 ;  /* 0202 */
'b'0011001011=>'b'11110111 ;  /* 0203 */
'b'0011001100=>'b'11110111 ;  /* 0204 */
'b'0011001101=>'b'11110111 ;  /* 0205 */
'b'0011001110=>'b'11110111 ;  /* 0206 */
'b'0011001111=>'b'11110111 ;  /* 0207 */
'b'0011010000=>'b'11110111 ;  /* 0208 */
'b'0011010001=>'b'11110111 ;  /* 0209 */
'b'0011010010=>'b'11110111 ;  /* 0210 */
'b'0011010011=>'b'11110111 ;  /* 0211 */
'b'0011010100=>'b'11110111 ;  /* 0212 */
'b'0011010101=>'b'11110111 ;  /* 0213 */
'b'0011010110=>'b'11110111 ;  /* 0214 */
'b'0011010111=>'b'11110111 ;  /* 0215 */
'b'0011011000=>'b'11110111 ;  /* 0216 */
'b'0011011001=>'b'11110111 ;  /* 0217 */
'b'0011011010=>'b'11110111 ;  /* 0218 */
'b'0011011011=>'b'11110111 ;  /* 0219 */
'b'0011011100=>'b'11110111 ;  /* 0220 */
'b'0011011101=>'b'11110111 ;  /* 0221 */
'b'0011011110=>'b'11110111 ;  /* 0222 */
'b'0011011111=>'b'11110111 ;  /* 0223 */
'b'0011100000=>'b'11110111 ;  /* 0224 */
'b'0011100001=>'b'11110111 ;  /* 0225 */
'b'0011100010=>'b'11110111 ;  /* 0226 */
'b'0011100011=>'b'11110111 ;  /* 0227 */
'b'0011100100=>'b'11110111 ;  /* 0228 */
'b'0011100101=>'b'11110111 ;  /* 0229 */
'b'0011100110=>'b'11110111 ;  /* 0230 */
'b'0011100111=>'b'11110111 ;  /* 0231 */
'b'0011101000=>'b'11110111 ;  /* 0232 */
'b'0011101001=>'b'11110111 ;  /* 0233 */
'b'0011101010=>'b'11110111 ;  /* 0234 */
'b'0011101011=>'b'11110111 ;  /* 0235 */
'b'0011101100=>'b'11110111 ;  /* 0236 */
'b'0011101101=>'b'11110111 ;  /* 0237 */
'b'0011101110=>'b'11110111 ;  /* 0238 */
'b'0011101111=>'b'11110111 ;  /* 0239 */
'b'0011110000=>'b'11110111 ;  /* 0240 */
'b'0011110001=>'b'11110111 ;  /* 0241 */
'b'0011110010=>'b'11110111 ;  /* 0242 */
'b'0011110011=>'b'11110111 ;  /* 0243 */
'b'0011110100=>'b'11110111 ;  /* 0244 */
'b'0011110101=>'b'11110111 ;  /* 0245 */
'b'0011110110=>'b'11110111 ;  /* 0246 */
'b'0011110111=>'b'11110111 ;  /* 0247 */
'b'0011111000=>'b'11110111 ;  /* 0248 */
'b'0011111001=>'b'11110111 ;  /* 0249 */
'b'0011111010=>'b'11110111 ;  /* 0250 */
'b'0011111011=>'b'11110111 ;  /* 0251 */
'b'0011111100=>'b'11110111 ;  /* 0252 */
'b'0011111101=>'b'11110111 ;  /* 0253 */
'b'0011111110=>'b'11110111 ;  /* 0254 */
'b'0011111111=>'b'11110111 ;  /* 0255 */
'b'0100000000=>'b'11111110 ;  /* 0256 */
'b'0100000001=>'b'11110111 ;  /* 0257 */
'b'0100000010=>'b'11110111 ;  /* 0258 */
'b'0100000011=>'b'11110111 ;  /* 0259 */
'b'0100000100=>'b'11111101 ;  /* 0260 */
'b'0100000101=>'b'11110111 ;  /* 0261 */
'b'0100000110=>'b'11110111 ;  /* 0262 */
'b'0100000111=>'b'11110111 ;  /* 0263 */
'b'0100001000=>'b'11110111 ;  /* 0264 */
'b'0100001001=>'b'11110111 ;  /* 0265 */
'b'0100001010=>'b'11110111 ;  /* 0266 */
'b'0100001011=>'b'11110111 ;  /* 0267 */
'b'0100001100=>'b'11111101 ;  /* 0268 */
'b'0100001101=>'b'11110111 ;  /* 0269 */
'b'0100001110=>'b'11110111 ;  /* 0270 */
'b'0100001111=>'b'10110111 ;  /* 0271 */
'b'0100010000=>'b'11111110 ;  /* 0272 */
'b'0100010001=>'b'11110111 ;  /* 0273 */
'b'0100010010=>'b'11110111 ;  /* 0274 */
'b'0100010011=>'b'11110111 ;  /* 0275 */
'b'0100010100=>'b'11111101 ;  /* 0276 */
'b'0100010101=>'b'11110111 ;  /* 0277 */
'b'0100010110=>'b'11110111 ;  /* 0278 */
'b'0100010111=>'b'11110111 ;  /* 0279 */
'b'0100011000=>'b'11110111 ;  /* 0280 */
'b'0100011001=>'b'11110111 ;  /* 0281 */
'b'0100011010=>'b'11110111 ;  /* 0282 */
'b'0100011011=>'b'11110111 ;  /* 0283 */
'b'0100011100=>'b'11111101 ;  /* 0284 */
'b'0100011101=>'b'11110111 ;  /* 0285 */
'b'0100011110=>'b'11110111 ;  /* 0286 */
'b'0100011111=>'b'11110111 ;  /* 0287 */
'b'0100100000=>'b'11111110 ;  /* 0288 */
'b'0100100001=>'b'11110111 ;  /* 0289 */
'b'0100100010=>'b'11110111 ;  /* 0290 */
'b'0100100011=>'b'11110111 ;  /* 0291 */
'b'0100100100=>'b'11111101 ;  /* 0292 */
'b'0100100101=>'b'11110111 ;  /* 0293 */
'b'0100100110=>'b'11110111 ;  /* 0294 */
'b'0100100111=>'b'11110111 ;  /* 0295 */
'b'0100101000=>'b'11110111 ;  /* 0296 */
'b'0100101001=>'b'11110111 ;  /* 0297 */
'b'0100101010=>'b'11110111 ;  /* 0298 */
'b'0100101011=>'b'11110111 ;  /* 0299 */
'b'0100101100=>'b'11111101 ;  /* 0300 */
'b'0100101101=>'b'11110111 ;  /* 0301 */
'b'0100101110=>'b'11110111 ;  /* 0302 */
'b'0100101111=>'b'11110111 ;  /* 0303 */
'b'0100110000=>'b'11111110 ;  /* 0304 */
'b'0100110001=>'b'11110111 ;  /* 0305 */
'b'0100110010=>'b'11110111 ;  /* 0306 */
'b'0100110011=>'b'11110111 ;  /* 0307 */
'b'0100110100=>'b'11111101 ;  /* 0308 */
'b'0100110101=>'b'11110111 ;  /* 0309 */
'b'0100110110=>'b'11110111 ;  /* 0310 */
'b'0100110111=>'b'11110111 ;  /* 0311 */
'b'0100111000=>'b'11110111 ;  /* 0312 */
'b'0100111001=>'b'11110111 ;  /* 0313 */
'b'0100111010=>'b'11110111 ;  /* 0314 */
'b'0100111011=>'b'11110111 ;  /* 0315 */
'b'0100111100=>'b'11111101 ;  /* 0316 */
'b'0100111101=>'b'11110111 ;  /* 0317 */
'b'0100111110=>'b'11110111 ;  /* 0318 */
'b'0100111111=>'b'11110111 ;  /* 0319 */
'b'0101000000=>'b'11111110 ;  /* 0320 */
'b'0101000001=>'b'11110111 ;  /* 0321 */
'b'0101000010=>'b'11110111 ;  /* 0322 */
'b'0101000011=>'b'11110111 ;  /* 0323 */
'b'0101000100=>'b'11111101 ;  /* 0324 */
'b'0101000101=>'b'11110111 ;  /* 0325 */
'b'0101000110=>'b'11110111 ;  /* 0326 */
'b'0101000111=>'b'11110111 ;  /* 0327 */
'b'0101001000=>'b'11110111 ;  /* 0328 */
'b'0101001001=>'b'11110111 ;  /* 0329 */
'b'0101001010=>'b'11110111 ;  /* 0330 */
'b'0101001011=>'b'11110111 ;  /* 0331 */
'b'0101001100=>'b'11111101 ;  /* 0332 */
'b'0101001101=>'b'11110111 ;  /* 0333 */
'b'0101001110=>'b'11110111 ;  /* 0334 */
'b'0101001111=>'b'01111111 ;  /* 0335 */
'b'0101010000=>'b'11111110 ;  /* 0336 */
'b'0101010001=>'b'11110111 ;  /* 0337 */
'b'0101010010=>'b'11110111 ;  /* 0338 */
'b'0101010011=>'b'11110111 ;  /* 0339 */
'b'0101010100=>'b'11111101 ;  /* 0340 */
'b'0101010101=>'b'11110111 ;  /* 0341 */
'b'0101010110=>'b'11110111 ;  /* 0342 */
'b'0101010111=>'b'11110111 ;  /* 0343 */
'b'0101011000=>'b'11110111 ;  /* 0344 */
'b'0101011001=>'b'11110111 ;  /* 0345 */
'b'0101011010=>'b'11110111 ;  /* 0346 */
'b'0101011011=>'b'11110111 ;  /* 0347 */
'b'0101011100=>'b'11111101 ;  /* 0348 */
'b'0101011101=>'b'11110111 ;  /* 0349 */
'b'0101011110=>'b'11110111 ;  /* 0350 */
'b'0101011111=>'b'11110111 ;  /* 0351 */
'b'0101100000=>'b'11111110 ;  /* 0352 */
'b'0101100001=>'b'11110111 ;  /* 0353 */
'b'0101100010=>'b'11110111 ;  /* 0354 */
'b'0101100011=>'b'11110111 ;  /* 0355 */
'b'0101100100=>'b'11111101 ;  /* 0356 */
'b'0101100101=>'b'11110111 ;  /* 0357 */
'b'0101100110=>'b'11110111 ;  /* 0358 */
'b'0101100111=>'b'11110111 ;  /* 0359 */
'b'0101101000=>'b'11110111 ;  /* 0360 */
'b'0101101001=>'b'11110111 ;  /* 0361 */
'b'0101101010=>'b'11110111 ;  /* 0362 */
'b'0101101011=>'b'11110111 ;  /* 0363 */
'b'0101101100=>'b'11111101 ;  /* 0364 */
'b'0101101101=>'b'11110111 ;  /* 0365 */
'b'0101101110=>'b'11110111 ;  /* 0366 */
'b'0101101111=>'b'11110111 ;  /* 0367 */
'b'0101110000=>'b'11111110 ;  /* 0368 */
'b'0101110001=>'b'11110111 ;  /* 0369 */
'b'0101110010=>'b'11110111 ;  /* 0370 */
'b'0101110011=>'b'11110111 ;  /* 0371 */
'b'0101110100=>'b'11111101 ;  /* 0372 */
'b'0101110101=>'b'11110111 ;  /* 0373 */
'b'0101110110=>'b'11110111 ;  /* 0374 */
'b'0101110111=>'b'11110111 ;  /* 0375 */
'b'0101111000=>'b'11110111 ;  /* 0376 */
'b'0101111001=>'b'11110111 ;  /* 0377 */
'b'0101111010=>'b'11110111 ;  /* 0378 */
'b'0101111011=>'b'11110111 ;  /* 0379 */
'b'0101111100=>'b'11111101 ;  /* 0380 */
'b'0101111101=>'b'11110111 ;  /* 0381 */
'b'0101111110=>'b'11110111 ;  /* 0382 */
'b'0101111111=>'b'11110111 ;  /* 0383 */
'b'0110000000=>'b'11110111 ;  /* 0384 */
'b'0110000001=>'b'11110111 ;  /* 0385 */
'b'0110000010=>'b'11110111 ;  /* 0386 */
'b'0110000011=>'b'11110111 ;  /* 0387 */
'b'0110000100=>'b'11110111 ;  /* 0388 */
'b'0110000101=>'b'11110111 ;  /* 0389 */
'b'0110000110=>'b'11110111 ;  /* 0390 */
'b'0110000111=>'b'11110111 ;  /* 0391 */
'b'0110001000=>'b'11110111 ;  /* 0392 */
'b'0110001001=>'b'11110111 ;  /* 0393 */
'b'0110001010=>'b'11110111 ;  /* 0394 */
'b'0110001011=>'b'11110111 ;  /* 0395 */
'b'0110001100=>'b'11110111 ;  /* 0396 */
'b'0110001101=>'b'11110111 ;  /* 0397 */
'b'0110001110=>'b'11110111 ;  /* 0398 */
'b'0110001111=>'b'11110111 ;  /* 0399 */
'b'0110010000=>'b'11110111 ;  /* 0400 */
'b'0110010001=>'b'11110111 ;  /* 0401 */
'b'0110010010=>'b'11110111 ;  /* 0402 */
'b'0110010011=>'b'11110111 ;  /* 0403 */
'b'0110010100=>'b'11110111 ;  /* 0404 */
'b'0110010101=>'b'11110111 ;  /* 0405 */
'b'0110010110=>'b'11110111 ;  /* 0406 */
'b'0110010111=>'b'11110111 ;  /* 0407 */
'b'0110011000=>'b'11110111 ;  /* 0408 */
'b'0110011001=>'b'11110111 ;  /* 0409 */
'b'0110011010=>'b'11110111 ;  /* 0410 */
'b'0110011011=>'b'11110111 ;  /* 0411 */
'b'0110011100=>'b'11110111 ;  /* 0412 */
'b'0110011101=>'b'11110111 ;  /* 0413 */
'b'0110011110=>'b'11110111 ;  /* 0414 */
'b'0110011111=>'b'11110111 ;  /* 0415 */
'b'0110100000=>'b'11110111 ;  /* 0416 */
'b'0110100001=>'b'11110111 ;  /* 0417 */
'b'0110100010=>'b'11110111 ;  /* 0418 */
'b'0110100011=>'b'11110111 ;  /* 0419 */
'b'0110100100=>'b'11110111 ;  /* 0420 */
'b'0110100101=>'b'11110111 ;  /* 0421 */
'b'0110100110=>'b'11110111 ;  /* 0422 */
'b'0110100111=>'b'11110111 ;  /* 0423 */
'b'0110101000=>'b'11110111 ;  /* 0424 */
'b'0110101001=>'b'11110111 ;  /* 0425 */
'b'0110101010=>'b'11110111 ;  /* 0426 */
'b'0110101011=>'b'11110111 ;  /* 0427 */
'b'0110101100=>'b'11110111 ;  /* 0428 */
'b'0110101101=>'b'11110111 ;  /* 0429 */
'b'0110101110=>'b'11110111 ;  /* 0430 */
'b'0110101111=>'b'11110111 ;  /* 0431 */
'b'0110110000=>'b'11110111 ;  /* 0432 */
'b'0110110001=>'b'11110111 ;  /* 0433 */
'b'0110110010=>'b'11110111 ;  /* 0434 */
'b'0110110011=>'b'11110111 ;  /* 0435 */
'b'0110110100=>'b'11110111 ;  /* 0436 */
'b'0110110101=>'b'11110111 ;  /* 0437 */
'b'0110110110=>'b'11110111 ;  /* 0438 */
'b'0110110111=>'b'11110111 ;  /* 0439 */
'b'0110111000=>'b'11110111 ;  /* 0440 */
'b'0110111001=>'b'11110111 ;  /* 0441 */
'b'0110111010=>'b'11110111 ;  /* 0442 */
'b'0110111011=>'b'11110111 ;  /* 0443 */
'b'0110111100=>'b'11110111 ;  /* 0444 */
'b'0110111101=>'b'11110111 ;  /* 0445 */
'b'0110111110=>'b'11110111 ;  /* 0446 */
'b'0110111111=>'b'11110111 ;  /* 0447 */
'b'0111000000=>'b'11110111 ;  /* 0448 */
'b'0111000001=>'b'11110111 ;  /* 0449 */
'b'0111000010=>'b'11110111 ;  /* 0450 */
'b'0111000011=>'b'11110111 ;  /* 0451 */
'b'0111000100=>'b'11110111 ;  /* 0452 */
'b'0111000101=>'b'11110111 ;  /* 0453 */
'b'0111000110=>'b'11110111 ;  /* 0454 */
'b'0111000111=>'b'11110111 ;  /* 0455 */
'b'0111001000=>'b'11110111 ;  /* 0456 */
'b'0111001001=>'b'11110111 ;  /* 0457 */
'b'0111001010=>'b'11110111 ;  /* 0458 */
'b'0111001011=>'b'11110111 ;  /* 0459 */
'b'0111001100=>'b'11110111 ;  /* 0460 */
'b'0111001101=>'b'11110111 ;  /* 0461 */
'b'0111001110=>'b'11110111 ;  /* 0462 */
'b'0111001111=>'b'11110111 ;  /* 0463 */
'b'0111010000=>'b'11110111 ;  /* 0464 */
'b'0111010001=>'b'11110111 ;  /* 0465 */
'b'0111010010=>'b'11110111 ;  /* 0466 */
'b'0111010011=>'b'11110111 ;  /* 0467 */
'b'0111010100=>'b'11110111 ;  /* 0468 */
'b'0111010101=>'b'11110111 ;  /* 0469 */
'b'0111010110=>'b'11110111 ;  /* 0470 */
'b'0111010111=>'b'11110111 ;  /* 0471 */
'b'0111011000=>'b'11110111 ;  /* 0472 */
'b'0111011001=>'b'11110111 ;  /* 0473 */
'b'0111011010=>'b'11110111 ;  /* 0474 */
'b'0111011011=>'b'11110111 ;  /* 0475 */
'b'0111011100=>'b'11110111 ;  /* 0476 */
'b'0111011101=>'b'11110111 ;  /* 0477 */
'b'0111011110=>'b'11110111 ;  /* 0478 */
'b'0111011111=>'b'11110111 ;  /* 0479 */
'b'0111100000=>'b'11110111 ;  /* 0480 */
'b'0111100001=>'b'11110111 ;  /* 0481 */
'b'0111100010=>'b'11110111 ;  /* 0482 */
'b'0111100011=>'b'11110111 ;  /* 0483 */
'b'0111100100=>'b'11110111 ;  /* 0484 */
'b'0111100101=>'b'11110111 ;  /* 0485 */
'b'0111100110=>'b'11110111 ;  /* 0486 */
'b'0111100111=>'b'11110111 ;  /* 0487 */
'b'0111101000=>'b'11110111 ;  /* 0488 */
'b'0111101001=>'b'11110111 ;  /* 0489 */
'b'0111101010=>'b'11110111 ;  /* 0490 */
'b'0111101011=>'b'11110111 ;  /* 0491 */
'b'0111101100=>'b'11110111 ;  /* 0492 */
'b'0111101101=>'b'11110111 ;  /* 0493 */
'b'0111101110=>'b'11110111 ;  /* 0494 */
'b'0111101111=>'b'11110111 ;  /* 0495 */
'b'0111110000=>'b'11110111 ;  /* 0496 */
'b'0111110001=>'b'11110111 ;  /* 0497 */
'b'0111110010=>'b'11110111 ;  /* 0498 */
'b'0111110011=>'b'11110111 ;  /* 0499 */
'b'0111110100=>'b'11110111 ;  /* 0500 */
'b'0111110101=>'b'11110111 ;  /* 0501 */
'b'0111110110=>'b'11110111 ;  /* 0502 */
'b'0111110111=>'b'11110111 ;  /* 0503 */
'b'0111111000=>'b'11110111 ;  /* 0504 */
'b'0111111001=>'b'11110111 ;  /* 0505 */
'b'0111111010=>'b'11110111 ;  /* 0506 */
'b'0111111011=>'b'11110111 ;  /* 0507 */
'b'0111111100=>'b'11110111 ;  /* 0508 */
'b'0111111101=>'b'11110111 ;  /* 0509 */
'b'0111111110=>'b'11110111 ;  /* 0510 */
'b'0111111111=>'b'11110111 ;  /* 0511 */
'b'1000000000=>'b'11101011 ;  /* 0512 */
'b'1000000001=>'b'11100111 ;  /* 0513 */
'b'1000000010=>'b'11100111 ;  /* 0514 */
'b'1000000011=>'b'11100111 ;  /* 0515 */
'b'1000000100=>'b'11101101 ;  /* 0516 */
'b'1000000101=>'b'11100111 ;  /* 0517 */
'b'1000000110=>'b'11100111 ;  /* 0518 */
'b'1000000111=>'b'11100111 ;  /* 0519 */
'b'1000001000=>'b'11001110 ;  /* 0520 */
'b'1000001001=>'b'11000111 ;  /* 0521 */
'b'1000001010=>'b'11000111 ;  /* 0522 */
'b'1000001011=>'b'11000111 ;  /* 0523 */
'b'1000001100=>'b'11001101 ;  /* 0524 */
'b'1000001101=>'b'11000111 ;  /* 0525 */
'b'1000001110=>'b'11000111 ;  /* 0526 */
'b'1000001111=>'b'10000111 ;  /* 0527 */
'b'1000010000=>'b'11000111 ;  /* 0528 */
'b'1000010001=>'b'11000111 ;  /* 0529 */
'b'1000010010=>'b'11000111 ;  /* 0530 */
'b'1000010011=>'b'11000111 ;  /* 0531 */
'b'1000010100=>'b'11001101 ;  /* 0532 */
'b'1000010101=>'b'11000111 ;  /* 0533 */
'b'1000010110=>'b'11000111 ;  /* 0534 */
'b'1000010111=>'b'11000111 ;  /* 0535 */
'b'1000011000=>'b'11001110 ;  /* 0536 */
'b'1000011001=>'b'11000111 ;  /* 0537 */
'b'1000011010=>'b'11000111 ;  /* 0538 */
'b'1000011011=>'b'11000111 ;  /* 0539 */
'b'1000011100=>'b'11001101 ;  /* 0540 */
'b'1000011101=>'b'11000111 ;  /* 0541 */
'b'1000011110=>'b'11000111 ;  /* 0542 */
'b'1000011111=>'b'11000111 ;  /* 0543 */
'b'1000100000=>'b'11001011 ;  /* 0544 */
'b'1000100001=>'b'11000111 ;  /* 0545 */
'b'1000100010=>'b'11000111 ;  /* 0546 */
'b'1000100011=>'b'11000111 ;  /* 0547 */
'b'1000100100=>'b'11001101 ;  /* 0548 */
'b'1000100101=>'b'11000111 ;  /* 0549 */
'b'1000100110=>'b'11000111 ;  /* 0550 */
'b'1000100111=>'b'11000111 ;  /* 0551 */
'b'1000101000=>'b'11001110 ;  /* 0552 */
'b'1000101001=>'b'11000111 ;  /* 0553 */
'b'1000101010=>'b'11000111 ;  /* 0554 */
'b'1000101011=>'b'11000111 ;  /* 0555 */
'b'1000101100=>'b'11001101 ;  /* 0556 */
'b'1000101101=>'b'11000111 ;  /* 0557 */
'b'1000101110=>'b'11000111 ;  /* 0558 */
'b'1000101111=>'b'11000111 ;  /* 0559 */
'b'1000110000=>'b'11000111 ;  /* 0560 */
'b'1000110001=>'b'11000111 ;  /* 0561 */
'b'1000110010=>'b'11000111 ;  /* 0562 */
'b'1000110011=>'b'11000111 ;  /* 0563 */
'b'1000110100=>'b'11001101 ;  /* 0564 */
'b'1000110101=>'b'11000111 ;  /* 0565 */
'b'1000110110=>'b'11000111 ;  /* 0566 */
'b'1000110111=>'b'11000111 ;  /* 0567 */
'b'1000111000=>'b'11001110 ;  /* 0568 */
'b'1000111001=>'b'11000111 ;  /* 0569 */
'b'1000111010=>'b'11000111 ;  /* 0570 */
'b'1000111011=>'b'11000111 ;  /* 0571 */
'b'1000111100=>'b'11001101 ;  /* 0572 */
'b'1000111101=>'b'11000111 ;  /* 0573 */
'b'1000111110=>'b'11000111 ;  /* 0574 */
'b'1000111111=>'b'11000111 ;  /* 0575 */
'b'1001000000=>'b'11001011 ;  /* 0576 */
'b'1001000001=>'b'11000111 ;  /* 0577 */
'b'1001000010=>'b'11000111 ;  /* 0578 */
'b'1001000011=>'b'11000111 ;  /* 0579 */
'b'1001000100=>'b'11001101 ;  /* 0580 */
'b'1001000101=>'b'11000111 ;  /* 0581 */
'b'1001000110=>'b'11000111 ;  /* 0582 */
'b'1001000111=>'b'11000111 ;  /* 0583 */
'b'1001001000=>'b'11001110 ;  /* 0584 */
'b'1001001001=>'b'11000111 ;  /* 0585 */
'b'1001001010=>'b'11000111 ;  /* 0586 */
'b'1001001011=>'b'11000111 ;  /* 0587 */
'b'1001001100=>'b'11001101 ;  /* 0588 */
'b'1001001101=>'b'11000111 ;  /* 0589 */
'b'1001001110=>'b'11000111 ;  /* 0590 */
'b'1001001111=>'b'01001111 ;  /* 0591 */
'b'1001010000=>'b'11000111 ;  /* 0592 */
'b'1001010001=>'b'11000111 ;  /* 0593 */
'b'1001010010=>'b'11000111 ;  /* 0594 */
'b'1001010011=>'b'11000111 ;  /* 0595 */
'b'1001010100=>'b'11001101 ;  /* 0596 */
'b'1001010101=>'b'11000111 ;  /* 0597 */
'b'1001010110=>'b'11000111 ;  /* 0598 */
'b'1001010111=>'b'11000111 ;  /* 0599 */
'b'1001011000=>'b'11001110 ;  /* 0600 */
'b'1001011001=>'b'11000111 ;  /* 0601 */
'b'1001011010=>'b'11000111 ;  /* 0602 */
'b'1001011011=>'b'11000111 ;  /* 0603 */
'b'1001011100=>'b'11001101 ;  /* 0604 */
'b'1001011101=>'b'11000111 ;  /* 0605 */
'b'1001011110=>'b'11000111 ;  /* 0606 */
'b'1001011111=>'b'11000111 ;  /* 0607 */
'b'1001100000=>'b'11001011 ;  /* 0608 */
'b'1001100001=>'b'11000111 ;  /* 0609 */
'b'1001100010=>'b'11000111 ;  /* 0610 */
'b'1001100011=>'b'11000111 ;  /* 0611 */
'b'1001100100=>'b'11001101 ;  /* 0612 */
'b'1001100101=>'b'11000111 ;  /* 0613 */
'b'1001100110=>'b'11000111 ;  /* 0614 */
'b'1001100111=>'b'11000111 ;  /* 0615 */
'b'1001101000=>'b'11001110 ;  /* 0616 */
'b'1001101001=>'b'11000111 ;  /* 0617 */
'b'1001101010=>'b'11000111 ;  /* 0618 */
'b'1001101011=>'b'11000111 ;  /* 0619 */
'b'1001101100=>'b'11001101 ;  /* 0620 */
'b'1001101101=>'b'11000111 ;  /* 0621 */
'b'1001101110=>'b'11000111 ;  /* 0622 */
'b'1001101111=>'b'11000111 ;  /* 0623 */
'b'1001110000=>'b'11000111 ;  /* 0624 */
'b'1001110001=>'b'11000111 ;  /* 0625 */
'b'1001110010=>'b'11000111 ;  /* 0626 */
'b'1001110011=>'b'11000111 ;  /* 0627 */
'b'1001110100=>'b'11001101 ;  /* 0628 */
'b'1001110101=>'b'11000111 ;  /* 0629 */
'b'1001110110=>'b'11000111 ;  /* 0630 */
'b'1001110111=>'b'11000111 ;  /* 0631 */
'b'1001111000=>'b'11001110 ;  /* 0632 */
'b'1001111001=>'b'11000111 ;  /* 0633 */
'b'1001111010=>'b'11000111 ;  /* 0634 */
'b'1001111011=>'b'11000111 ;  /* 0635 */
'b'1001111100=>'b'11001101 ;  /* 0636 */
'b'1001111101=>'b'11000111 ;  /* 0637 */
'b'1001111110=>'b'11000111 ;  /* 0638 */
'b'1001111111=>'b'11000111 ;  /* 0639 */
'b'1010000000=>'b'11110111 ;  /* 0640 */
'b'1010000001=>'b'11110111 ;  /* 0641 */
'b'1010000010=>'b'11110111 ;  /* 0642 */
'b'1010000011=>'b'11110111 ;  /* 0643 */
'b'1010000100=>'b'11110111 ;  /* 0644 */
'b'1010000101=>'b'11110111 ;  /* 0645 */
'b'1010000110=>'b'11110111 ;  /* 0646 */
'b'1010000111=>'b'11110111 ;  /* 0647 */
'b'1010001000=>'b'11110111 ;  /* 0648 */
'b'1010001001=>'b'11110111 ;  /* 0649 */
'b'1010001010=>'b'11110111 ;  /* 0650 */
'b'1010001011=>'b'11110111 ;  /* 0651 */
'b'1010001100=>'b'11110111 ;  /* 0652 */
'b'1010001101=>'b'11110111 ;  /* 0653 */
'b'1010001110=>'b'11110111 ;  /* 0654 */
'b'1010001111=>'b'11110111 ;  /* 0655 */
'b'1010010000=>'b'11110111 ;  /* 0656 */
'b'1010010001=>'b'11110111 ;  /* 0657 */
'b'1010010010=>'b'11110111 ;  /* 0658 */
'b'1010010011=>'b'11110111 ;  /* 0659 */
'b'1010010100=>'b'11110111 ;  /* 0660 */
'b'1010010101=>'b'11110111 ;  /* 0661 */
'b'1010010110=>'b'11110111 ;  /* 0662 */
'b'1010010111=>'b'11110111 ;  /* 0663 */
'b'1010011000=>'b'11110111 ;  /* 0664 */
'b'1010011001=>'b'11110111 ;  /* 0665 */
'b'1010011010=>'b'11110111 ;  /* 0666 */
'b'1010011011=>'b'11110111 ;  /* 0667 */
'b'1010011100=>'b'11110111 ;  /* 0668 */
'b'1010011101=>'b'11110111 ;  /* 0669 */
'b'1010011110=>'b'11110111 ;  /* 0670 */
'b'1010011111=>'b'11110111 ;  /* 0671 */
'b'1010100000=>'b'11110111 ;  /* 0672 */
'b'1010100001=>'b'11110111 ;  /* 0673 */
'b'1010100010=>'b'11110111 ;  /* 0674 */
'b'1010100011=>'b'11110111 ;  /* 0675 */
'b'1010100100=>'b'11110111 ;  /* 0676 */
'b'1010100101=>'b'11110111 ;  /* 0677 */
'b'1010100110=>'b'11110111 ;  /* 0678 */
'b'1010100111=>'b'11110111 ;  /* 0679 */
'b'1010101000=>'b'11110111 ;  /* 0680 */
'b'1010101001=>'b'11110111 ;  /* 0681 */
'b'1010101010=>'b'11110111 ;  /* 0682 */
'b'1010101011=>'b'11110111 ;  /* 0683 */
'b'1010101100=>'b'11110111 ;  /* 0684 */
'b'1010101101=>'b'11110111 ;  /* 0685 */
'b'1010101110=>'b'11110111 ;  /* 0686 */
'b'1010101111=>'b'11110111 ;  /* 0687 */
'b'1010110000=>'b'11110111 ;  /* 0688 */
'b'1010110001=>'b'11110111 ;  /* 0689 */
'b'1010110010=>'b'11110111 ;  /* 0690 */
'b'1010110011=>'b'11110111 ;  /* 0691 */
'b'1010110100=>'b'11110111 ;  /* 0692 */
'b'1010110101=>'b'11110111 ;  /* 0693 */
'b'1010110110=>'b'11110111 ;  /* 0694 */
'b'1010110111=>'b'11110111 ;  /* 0695 */
'b'1010111000=>'b'11110111 ;  /* 0696 */
'b'1010111001=>'b'11110111 ;  /* 0697 */
'b'1010111010=>'b'11110111 ;  /* 0698 */
'b'1010111011=>'b'11110111 ;  /* 0699 */
'b'1010111100=>'b'11110111 ;  /* 0700 */
'b'1010111101=>'b'11110111 ;  /* 0701 */
'b'1010111110=>'b'11110111 ;  /* 0702 */
'b'1010111111=>'b'11110111 ;  /* 0703 */
'b'1011000000=>'b'11110111 ;  /* 0704 */
'b'1011000001=>'b'11110111 ;  /* 0705 */
'b'1011000010=>'b'11110111 ;  /* 0706 */
'b'1011000011=>'b'11110111 ;  /* 0707 */
'b'1011000100=>'b'11110111 ;  /* 0708 */
'b'1011000101=>'b'11110111 ;  /* 0709 */
'b'1011000110=>'b'11110111 ;  /* 0710 */
'b'1011000111=>'b'11110111 ;  /* 0711 */
'b'1011001000=>'b'11110111 ;  /* 0712 */
'b'1011001001=>'b'11110111 ;  /* 0713 */
'b'1011001010=>'b'11110111 ;  /* 0714 */
'b'1011001011=>'b'11110111 ;  /* 0715 */
'b'1011001100=>'b'11110111 ;  /* 0716 */
'b'1011001101=>'b'11110111 ;  /* 0717 */
'b'1011001110=>'b'11110111 ;  /* 0718 */
'b'1011001111=>'b'11110111 ;  /* 0719 */
'b'1011010000=>'b'11110111 ;  /* 0720 */
'b'1011010001=>'b'11110111 ;  /* 0721 */
'b'1011010010=>'b'11110111 ;  /* 0722 */
'b'1011010011=>'b'11110111 ;  /* 0723 */
'b'1011010100=>'b'11110111 ;  /* 0724 */
'b'1011010101=>'b'11110111 ;  /* 0725 */
'b'1011010110=>'b'11110111 ;  /* 0726 */
'b'1011010111=>'b'11110111 ;  /* 0727 */
'b'1011011000=>'b'11110111 ;  /* 0728 */
'b'1011011001=>'b'11110111 ;  /* 0729 */
'b'1011011010=>'b'11110111 ;  /* 0730 */
'b'1011011011=>'b'11110111 ;  /* 0731 */
'b'1011011100=>'b'11110111 ;  /* 0732 */
'b'1011011101=>'b'11110111 ;  /* 0733 */
'b'1011011110=>'b'11110111 ;  /* 0734 */
'b'1011011111=>'b'11110111 ;  /* 0735 */
'b'1011100000=>'b'11110111 ;  /* 0736 */
'b'1011100001=>'b'11110111 ;  /* 0737 */
'b'1011100010=>'b'11110111 ;  /* 0738 */
'b'1011100011=>'b'11110111 ;  /* 0739 */
'b'1011100100=>'b'11110111 ;  /* 0740 */
'b'1011100101=>'b'11110111 ;  /* 0741 */
'b'1011100110=>'b'11110111 ;  /* 0742 */
'b'1011100111=>'b'11110111 ;  /* 0743 */
'b'1011101000=>'b'11110111 ;  /* 0744 */
'b'1011101001=>'b'11110111 ;  /* 0745 */
'b'1011101010=>'b'11110111 ;  /* 0746 */
'b'1011101011=>'b'11110111 ;  /* 0747 */
'b'1011101100=>'b'11110111 ;  /* 0748 */
'b'1011101101=>'b'11110111 ;  /* 0749 */
'b'1011101110=>'b'11110111 ;  /* 0750 */
'b'1011101111=>'b'11110111 ;  /* 0751 */
'b'1011110000=>'b'11110111 ;  /* 0752 */
'b'1011110001=>'b'11110111 ;  /* 0753 */
'b'1011110010=>'b'11110111 ;  /* 0754 */
'b'1011110011=>'b'11110111 ;  /* 0755 */
'b'1011110100=>'b'11110111 ;  /* 0756 */
'b'1011110101=>'b'11110111 ;  /* 0757 */
'b'1011110110=>'b'11110111 ;  /* 0758 */
'b'1011110111=>'b'11110111 ;  /* 0759 */
'b'1011111000=>'b'11110111 ;  /* 0760 */
'b'1011111001=>'b'11110111 ;  /* 0761 */
'b'1011111010=>'b'11110111 ;  /* 0762 */
'b'1011111011=>'b'11110111 ;  /* 0763 */
'b'1011111100=>'b'11110111 ;  /* 0764 */
'b'1011111101=>'b'11110111 ;  /* 0765 */
'b'1011111110=>'b'11110111 ;  /* 0766 */
'b'1011111111=>'b'11110111 ;  /* 0767 */
'b'1100000000=>'b'11111011 ;  /* 0768 */
'b'1100000001=>'b'11110111 ;  /* 0769 */
'b'1100000010=>'b'11110111 ;  /* 0770 */
'b'1100000011=>'b'11110111 ;  /* 0771 */
'b'1100000100=>'b'11111101 ;  /* 0772 */
'b'1100000101=>'b'11110111 ;  /* 0773 */
'b'1100000110=>'b'11110111 ;  /* 0774 */
'b'1100000111=>'b'11110111 ;  /* 0775 */
'b'1100001000=>'b'11111110 ;  /* 0776 */
'b'1100001001=>'b'11110111 ;  /* 0777 */
'b'1100001010=>'b'11110111 ;  /* 0778 */
'b'1100001011=>'b'11110111 ;  /* 0779 */
'b'1100001100=>'b'11111101 ;  /* 0780 */
'b'1100001101=>'b'11110111 ;  /* 0781 */
'b'1100001110=>'b'11110111 ;  /* 0782 */
'b'1100001111=>'b'10110111 ;  /* 0783 */
'b'1100010000=>'b'11110111 ;  /* 0784 */
'b'1100010001=>'b'11110111 ;  /* 0785 */
'b'1100010010=>'b'11110111 ;  /* 0786 */
'b'1100010011=>'b'11110111 ;  /* 0787 */
'b'1100010100=>'b'11111101 ;  /* 0788 */
'b'1100010101=>'b'11110111 ;  /* 0789 */
'b'1100010110=>'b'11110111 ;  /* 0790 */
'b'1100010111=>'b'11110111 ;  /* 0791 */
'b'1100011000=>'b'11111110 ;  /* 0792 */
'b'1100011001=>'b'11110111 ;  /* 0793 */
'b'1100011010=>'b'11110111 ;  /* 0794 */
'b'1100011011=>'b'11110111 ;  /* 0795 */
'b'1100011100=>'b'11111101 ;  /* 0796 */
'b'1100011101=>'b'11110111 ;  /* 0797 */
'b'1100011110=>'b'11110111 ;  /* 0798 */
'b'1100011111=>'b'11110111 ;  /* 0799 */
'b'1100100000=>'b'11111011 ;  /* 0800 */
'b'1100100001=>'b'11110111 ;  /* 0801 */
'b'1100100010=>'b'11110111 ;  /* 0802 */
'b'1100100011=>'b'11110111 ;  /* 0803 */
'b'1100100100=>'b'11111101 ;  /* 0804 */
'b'1100100101=>'b'11110111 ;  /* 0805 */
'b'1100100110=>'b'11110111 ;  /* 0806 */
'b'1100100111=>'b'11110111 ;  /* 0807 */
'b'1100101000=>'b'11111110 ;  /* 0808 */
'b'1100101001=>'b'11110111 ;  /* 0809 */
'b'1100101010=>'b'11110111 ;  /* 0810 */
'b'1100101011=>'b'11110111 ;  /* 0811 */
'b'1100101100=>'b'11111101 ;  /* 0812 */
'b'1100101101=>'b'11110111 ;  /* 0813 */
'b'1100101110=>'b'11110111 ;  /* 0814 */
'b'1100101111=>'b'11110111 ;  /* 0815 */
'b'1100110000=>'b'11110111 ;  /* 0816 */
'b'1100110001=>'b'11110111 ;  /* 0817 */
'b'1100110010=>'b'11110111 ;  /* 0818 */
'b'1100110011=>'b'11110111 ;  /* 0819 */
'b'1100110100=>'b'11111101 ;  /* 0820 */
'b'1100110101=>'b'11110111 ;  /* 0821 */
'b'1100110110=>'b'11110111 ;  /* 0822 */
'b'1100110111=>'b'11110111 ;  /* 0823 */
'b'1100111000=>'b'11111110 ;  /* 0824 */
'b'1100111001=>'b'11110111 ;  /* 0825 */
'b'1100111010=>'b'11110111 ;  /* 0826 */
'b'1100111011=>'b'11110111 ;  /* 0827 */
'b'1100111100=>'b'11111101 ;  /* 0828 */
'b'1100111101=>'b'11110111 ;  /* 0829 */
'b'1100111110=>'b'11110111 ;  /* 0830 */
'b'1100111111=>'b'11110111 ;  /* 0831 */
'b'1101000000=>'b'11111011 ;  /* 0832 */
'b'1101000001=>'b'11110111 ;  /* 0833 */
'b'1101000010=>'b'11110111 ;  /* 0834 */
'b'1101000011=>'b'11110111 ;  /* 0835 */
'b'1101000100=>'b'11111101 ;  /* 0836 */
'b'1101000101=>'b'11110111 ;  /* 0837 */
'b'1101000110=>'b'11110111 ;  /* 0838 */
'b'1101000111=>'b'11110111 ;  /* 0839 */
'b'1101001000=>'b'11111110 ;  /* 0840 */
'b'1101001001=>'b'11110111 ;  /* 0841 */
'b'1101001010=>'b'11110111 ;  /* 0842 */
'b'1101001011=>'b'11110111 ;  /* 0843 */
'b'1101001100=>'b'11111101 ;  /* 0844 */
'b'1101001101=>'b'11110111 ;  /* 0845 */
'b'1101001110=>'b'11110111 ;  /* 0846 */
'b'1101001111=>'b'01111111 ;  /* 0847 */
'b'1101010000=>'b'11110111 ;  /* 0848 */
'b'1101010001=>'b'11110111 ;  /* 0849 */
'b'1101010010=>'b'11110111 ;  /* 0850 */
'b'1101010011=>'b'11110111 ;  /* 0851 */
'b'1101010100=>'b'11111101 ;  /* 0852 */
'b'1101010101=>'b'11110111 ;  /* 0853 */
'b'1101010110=>'b'11110111 ;  /* 0854 */
'b'1101010111=>'b'11110111 ;  /* 0855 */
'b'1101011000=>'b'11111110 ;  /* 0856 */
'b'1101011001=>'b'11110111 ;  /* 0857 */
'b'1101011010=>'b'11110111 ;  /* 0858 */
'b'1101011011=>'b'11110111 ;  /* 0859 */
'b'1101011100=>'b'11111101 ;  /* 0860 */
'b'1101011101=>'b'11110111 ;  /* 0861 */
'b'1101011110=>'b'11110111 ;  /* 0862 */
'b'1101011111=>'b'11110111 ;  /* 0863 */
'b'1101100000=>'b'11111011 ;  /* 0864 */
'b'1101100001=>'b'11110111 ;  /* 0865 */
'b'1101100010=>'b'11110111 ;  /* 0866 */
'b'1101100011=>'b'11110111 ;  /* 0867 */
'b'1101100100=>'b'11111101 ;  /* 0868 */
'b'1101100101=>'b'11110111 ;  /* 0869 */
'b'1101100110=>'b'11110111 ;  /* 0870 */
'b'1101100111=>'b'11110111 ;  /* 0871 */
'b'1101101000=>'b'11111110 ;  /* 0872 */
'b'1101101001=>'b'11110111 ;  /* 0873 */
'b'1101101010=>'b'11110111 ;  /* 0874 */
'b'1101101011=>'b'11110111 ;  /* 0875 */
'b'1101101100=>'b'11111101 ;  /* 0876 */
'b'1101101101=>'b'11110111 ;  /* 0877 */
'b'1101101110=>'b'11110111 ;  /* 0878 */
'b'1101101111=>'b'11110111 ;  /* 0879 */
'b'1101110000=>'b'11110111 ;  /* 0880 */
'b'1101110001=>'b'11110111 ;  /* 0881 */
'b'1101110010=>'b'11110111 ;  /* 0882 */
'b'1101110011=>'b'11110111 ;  /* 0883 */
'b'1101110100=>'b'11111101 ;  /* 0884 */
'b'1101110101=>'b'11110111 ;  /* 0885 */
'b'1101110110=>'b'11110111 ;  /* 0886 */
'b'1101110111=>'b'11110111 ;  /* 0887 */
'b'1101111000=>'b'11111110 ;  /* 0888 */
'b'1101111001=>'b'11110111 ;  /* 0889 */
'b'1101111010=>'b'11110111 ;  /* 0890 */
'b'1101111011=>'b'11110111 ;  /* 0891 */
'b'1101111100=>'b'11111101 ;  /* 0892 */
'b'1101111101=>'b'11110111 ;  /* 0893 */
'b'1101111110=>'b'11110111 ;  /* 0894 */
'b'1101111111=>'b'11110111 ;  /* 0895 */
'b'1110000000=>'b'11110111 ;  /* 0896 */
'b'1110000001=>'b'11110111 ;  /* 0897 */
'b'1110000010=>'b'11110111 ;  /* 0898 */
'b'1110000011=>'b'11110111 ;  /* 0899 */
'b'1110000100=>'b'11110111 ;  /* 0900 */
'b'1110000101=>'b'11110111 ;  /* 0901 */
'b'1110000110=>'b'11110111 ;  /* 0902 */
'b'1110000111=>'b'11110111 ;  /* 0903 */
'b'1110001000=>'b'11110111 ;  /* 0904 */
'b'1110001001=>'b'11110111 ;  /* 0905 */
'b'1110001010=>'b'11110111 ;  /* 0906 */
'b'1110001011=>'b'11110111 ;  /* 0907 */
'b'1110001100=>'b'11110111 ;  /* 0908 */
'b'1110001101=>'b'11110111 ;  /* 0909 */
'b'1110001110=>'b'11110111 ;  /* 0910 */
'b'1110001111=>'b'11110111 ;  /* 0911 */
'b'1110010000=>'b'11110111 ;  /* 0912 */
'b'1110010001=>'b'11110111 ;  /* 0913 */
'b'1110010010=>'b'11110111 ;  /* 0914 */
'b'1110010011=>'b'11110111 ;  /* 0915 */
'b'1110010100=>'b'11110111 ;  /* 0916 */
'b'1110010101=>'b'11110111 ;  /* 0917 */
'b'1110010110=>'b'11110111 ;  /* 0918 */
'b'1110010111=>'b'11110111 ;  /* 0919 */
'b'1110011000=>'b'11110111 ;  /* 0920 */
'b'1110011001=>'b'11110111 ;  /* 0921 */
'b'1110011010=>'b'11110111 ;  /* 0922 */
'b'1110011011=>'b'11110111 ;  /* 0923 */
'b'1110011100=>'b'11110111 ;  /* 0924 */
'b'1110011101=>'b'11110111 ;  /* 0925 */
'b'1110011110=>'b'11110111 ;  /* 0926 */
'b'1110011111=>'b'11110111 ;  /* 0927 */
'b'1110100000=>'b'11110111 ;  /* 0928 */
'b'1110100001=>'b'11110111 ;  /* 0929 */
'b'1110100010=>'b'11110111 ;  /* 0930 */
'b'1110100011=>'b'11110111 ;  /* 0931 */
'b'1110100100=>'b'11110111 ;  /* 0932 */
'b'1110100101=>'b'11110111 ;  /* 0933 */
'b'1110100110=>'b'11110111 ;  /* 0934 */
'b'1110100111=>'b'11110111 ;  /* 0935 */
'b'1110101000=>'b'11110111 ;  /* 0936 */
'b'1110101001=>'b'11110111 ;  /* 0937 */
'b'1110101010=>'b'11110111 ;  /* 0938 */
'b'1110101011=>'b'11110111 ;  /* 0939 */
'b'1110101100=>'b'11110111 ;  /* 0940 */
'b'1110101101=>'b'11110111 ;  /* 0941 */
'b'1110101110=>'b'11110111 ;  /* 0942 */
'b'1110101111=>'b'11110111 ;  /* 0943 */
'b'1110110000=>'b'11110111 ;  /* 0944 */
'b'1110110001=>'b'11110111 ;  /* 0945 */
'b'1110110010=>'b'11110111 ;  /* 0946 */
'b'1110110011=>'b'11110111 ;  /* 0947 */
'b'1110110100=>'b'11110111 ;  /* 0948 */
'b'1110110101=>'b'11110111 ;  /* 0949 */
'b'1110110110=>'b'11110111 ;  /* 0950 */
'b'1110110111=>'b'11110111 ;  /* 0951 */
'b'1110111000=>'b'11110111 ;  /* 0952 */
'b'1110111001=>'b'11110111 ;  /* 0953 */
'b'1110111010=>'b'11110111 ;  /* 0954 */
'b'1110111011=>'b'11110111 ;  /* 0955 */
'b'1110111100=>'b'11110111 ;  /* 0956 */
'b'1110111101=>'b'11110111 ;  /* 0957 */
'b'1110111110=>'b'11110111 ;  /* 0958 */
'b'1110111111=>'b'11110111 ;  /* 0959 */
'b'1111000000=>'b'11110111 ;  /* 0960 */
'b'1111000001=>'b'11110111 ;  /* 0961 */
'b'1111000010=>'b'11110111 ;  /* 0962 */
'b'1111000011=>'b'11110111 ;  /* 0963 */
'b'1111000100=>'b'11110111 ;  /* 0964 */
'b'1111000101=>'b'11110111 ;  /* 0965 */
'b'1111000110=>'b'11110111 ;  /* 0966 */
'b'1111000111=>'b'11110111 ;  /* 0967 */
'b'1111001000=>'b'11110111 ;  /* 0968 */
'b'1111001001=>'b'11110111 ;  /* 0969 */
'b'1111001010=>'b'11110111 ;  /* 0970 */
'b'1111001011=>'b'11110111 ;  /* 0971 */
'b'1111001100=>'b'11110111 ;  /* 0972 */
'b'1111001101=>'b'11110111 ;  /* 0973 */
'b'1111001110=>'b'11110111 ;  /* 0974 */
'b'1111001111=>'b'11110111 ;  /* 0975 */
'b'1111010000=>'b'11110111 ;  /* 0976 */
'b'1111010001=>'b'11110111 ;  /* 0977 */
'b'1111010010=>'b'11110111 ;  /* 0978 */
'b'1111010011=>'b'11110111 ;  /* 0979 */
'b'1111010100=>'b'11110111 ;  /* 0980 */
'b'1111010101=>'b'11110111 ;  /* 0981 */
'b'1111010110=>'b'11110111 ;  /* 0982 */
'b'1111010111=>'b'11110111 ;  /* 0983 */
'b'1111011000=>'b'11110111 ;  /* 0984 */
'b'1111011001=>'b'11110111 ;  /* 0985 */
'b'1111011010=>'b'11110111 ;  /* 0986 */
'b'1111011011=>'b'11110111 ;  /* 0987 */
'b'1111011100=>'b'11110111 ;  /* 0988 */
'b'1111011101=>'b'11110111 ;  /* 0989 */
'b'1111011110=>'b'11110111 ;  /* 0990 */
'b'1111011111=>'b'11110111 ;  /* 0991 */
'b'1111100000=>'b'11110111 ;  /* 0992 */
'b'1111100001=>'b'11110111 ;  /* 0993 */
'b'1111100010=>'b'11110111 ;  /* 0994 */
'b'1111100011=>'b'11110111 ;  /* 0995 */
'b'1111100100=>'b'11110111 ;  /* 0996 */
'b'1111100101=>'b'11110111 ;  /* 0997 */
'b'1111100110=>'b'11110111 ;  /* 0998 */
'b'1111100111=>'b'11110111 ;  /* 0999 */
'b'1111101000=>'b'11110111 ;  /* 1000 */
'b'1111101001=>'b'11110111 ;  /* 1001 */
'b'1111101010=>'b'11110111 ;  /* 1002 */
'b'1111101011=>'b'11110111 ;  /* 1003 */
'b'1111101100=>'b'11110111 ;  /* 1004 */
'b'1111101101=>'b'11110111 ;  /* 1005 */
'b'1111101110=>'b'11110111 ;  /* 1006 */
'b'1111101111=>'b'11110111 ;  /* 1007 */
'b'1111110000=>'b'11110111 ;  /* 1008 */
'b'1111110001=>'b'11110111 ;  /* 1009 */
'b'1111110010=>'b'11110111 ;  /* 1010 */
'b'1111110011=>'b'11110111 ;  /* 1011 */
'b'1111110100=>'b'11110111 ;  /* 1012 */
'b'1111110101=>'b'11110111 ;  /* 1013 */
'b'1111110110=>'b'11110111 ;  /* 1014 */
'b'1111110111=>'b'11110111 ;  /* 1015 */
'b'1111111000=>'b'11110111 ;  /* 1016 */
'b'1111111001=>'b'11110111 ;  /* 1017 */
'b'1111111010=>'b'11110111 ;  /* 1018 */
'b'1111111011=>'b'11110111 ;  /* 1019 */
'b'1111111100=>'b'11110111 ;  /* 1020 */
'b'1111111101=>'b'11110111 ;  /* 1021 */
'b'1111111110=>'b'11110111 ;  /* 1022 */
'b'1111111111=>'b'11110111 ;  /* 1023 */
------------Done-------------

Wat do youconsider weird?

Further, the use of malloc() throws a warning; invalid conversion from 'void' to 'char*' [-fpermissive]*. You will need to cast to a char pointer.
And I don't see a need for malloc(); you just as well can use

char padded[5];

Lastly, why the use of exit(0)? It might be better to use

for(;;);

If you want to stop loop(). Or just move the code that you have in loop() to setup(); in that case it will be executed only once.

byte numBits = 10; // 2^numBits must be big enough to include the number n
char b; // <--- this is only 8 bits - not enough for above

The variable b is only a 'temporary' storage in your code to store a character. It gets the value '1' or '0' and that is appended to the out variable.

Thank you for all the replies!

The b variable is indeed a temporary storage and the printBits() is working well I think. The malloc() really throws a warning so thanks for the tip.

The output section that feeds the inputs of the GAL works as a simple 10bit binary counter, I have chcecked the pins with LEDs and it seems to be ok.

I am worrying about the input section that receives the output from the GAL chip , maybe it has something to do with timing, because when I fiddle with the delay(0), the input is different for the same output. I am also not sure if the output and input is in sync, I mean line wise in the serial monitor (Serial.print() takes time?). Unfortunately I do not have enough LEDs right now to check if the real output/input on the pins corresponds to the line printed in the serial monitor.

Thanks,

Lukas

One thing might be that (some of) the PAL/GAL outputs are in tri-state and you have floating inputs. They will read randomly LOW or HIGH.

Do you know the logic in the PAL/GAL so you know what to expect? Or are you reverse engineering a "black box"?

Mode INPUT_PULLUP will help with tristate outputs. A bigger problem will arise if the chip contains feedbacks that turn strictly combinational logic into sequential networks (counters, state machines...).

I am afraid that I am more on the blackbox side, I know it is only a memory decoder and according to schematics for the original device I am assuming that it is only a combinational logic. I can post that part of the schematics If you guys are willing to take look at it, but I know that this is not directly arduino related. Anyway I will try the INPUT_PULLUP tip.

Further to INPUT_PULLUP, if you put a 47k to another Arduino pin - and you only need one such pin for all the connections - you can set it alternately HIGH or LOW to fully assess tri-state pins.

1 Like

I did consider mentioning INPUT_PULLUP. But how do you detect if the output of a PAL/GAL is tri-state or HIGH? That would require biased inputs and analogue reads.

See #9. Tri-state pins complicate the table storage because of their related enable states. Similarly for o.c. outputs.

1 Like

Why is ‘x’ being incremented by 2??? Why are you adding binLength-x to the pin number???

do you think it should be just like this?

for(int i = 0; i < binLength; i++) { 
     if(binNumber[i] == '0') state = LOW;
      if(binNumber[i] == '1') state = HIGH;
      digitalWrite(outPin[i], state);
    } 

beware that '0' is 48
If you want zero, use 0
(no quotes)

Yes. If you want to reverse the order, use 'outPin[7-i]' or just fill in the outPin array in the right order.

This topic was automatically closed 120 days after the last reply. New replies are no longer allowed.