Купил сегодня 155ЛП11, попробовал её вместо 8Т97, компьютер запустился. Набрал тест с отображением символов, все ок. Можно использовать их.
170АП3 продавец так и не нашёл, хотя говорит где то были.

- - - Добавлено - - -

Enter так и не заработал. У меня стоит 7451n (аналог ЛР11). Когда разбирался со схемой, увидел, что она отличается от 7450 (аналог ЛР1). Выводы 11 и 12 сажал на +5в через резистор 2кОм. Сегодня пробовал поставить 155ЛР1, комп работает по-прежнему, без перевода строки. Прозвонил цепи от 6820, все целое. Куда ещё можно покопать?

- - - Добавлено - - -

Начал уже грешить на прошивку ардуинки. а именно на код установки битов для символа. Я устанавливаю биты последовательно (код ниже. я не использую целиком порт, так как лапы припаяны к разным выводам ардуинки, определены в константах bit1-bit7). Может ли быть дело в последовательной подаче сигналов, а не одновременной?
Думаю что маловероятно. я пробовал использовать еще один свободный бит ардуинки, и через три диода подавал сигнал на 0, 2 и 3 биты (число 13) одновременно. это так же не сработало.

void pushChar(char ch)
{
int i;
String sData;
for (i = sizeof(ch) * 8 - 1; i >= 0; --i) {
sData = sData + (String)((ch >> i) & 1);
}
if (sData.substring(7) == "1") digitalWrite(bit1, HIGH); else digitalWrite(bit1, LOW);
if (sData.substring(6, 7) == "1") digitalWrite(bit2, HIGH); else digitalWrite(bit2, LOW);
if (sData.substring(5, 6) == "1") digitalWrite(bit3, HIGH); else digitalWrite(bit3, LOW);
if (sData.substring(4, 5) == "1") digitalWrite(bit4, HIGH); else digitalWrite(bit4, LOW);
if (sData.substring(3, 4) == "1") digitalWrite(bit5, HIGH); else digitalWrite(bit5, LOW);
if (sData.substring(2, 3) == "1") digitalWrite(bit6, HIGH); else digitalWrite(bit6, LOW);
if (sData.substring(1, 2) == "1") digitalWrite(bit7, HIGH); else digitalWrite(bit7, LOW);
digitalWrite(kbdStrobe, HIGH);
delay(50);
digitalWrite(kbdStrobe, LOW);
ResetBits;
}