Доброго времени суток!
Разбираясь со старыми ПЗУшками, нашел микросхему РФ2, прошитую тестом для ZX-Spectrum.
Этот тест я написал в 1988 году. Его основная фича - работа без использования ОЗУ.
Уже не помню подробностей, но, видимо, если ОЗУ хоть как-то всё же работает, то можно увидеть циферки (номер теста) на экране. А если ОЗУ полностью неисправно или отсутствует, то тест все равно работает - читает/пишет память, выводит байты в порт цвета бордюра, пищит на ошибки ОЗУ. Т.е. можно искать причину неисправности осциллографом.
Исходники теста вряд ли сохранились - тогда всё было на кассетах
А вот РФ2 прочиталась без ошибок, хотя и прошло 30 лет. Сама микросхема тоже 1988 года, коричневая керамика
Выводы 21 и 24 отогнуты вверх, соединены между собой и к ним припаян проводок с выводом, который можно втыкать в 28-й контакт 28-выводной панельки (в те времена 2764 были дефицитом, поэтому для тестовых ПЗУ старались использовать что попроще).
Сейчас этот тест можно записать в 2764. Должен работать.
Сам тест занимает очень мало места. Оставшийся объем ПЗУ заполнен текстовой инструкцией. Вот она (с минимальными корректировками):
---
При прохождении теста на экран выводятся 2 цифры: первая - номер теста, вторая - его параметр.
0 - перебор цветов точек на экране дисплея от 0 до 7.
1 - перебор цветов фона от 0 до 7.
2 - перебор цветов бордюра от 0 до 7.
3 - вкл. повышенной яркости (параметр=1).
4 - вкл. мигания (параметр=1).
5 - тест ОЗУ дисплея по адресам 5B00H...7FFFH.
6 - тест ОЗУ по адресам 8000H...0BFFFH.
7 - тест ОЗУ по адресам 0C000H...0FFFFH.
При прохождении тестов ОЗУ в качестве параметра теста выводится номер отказавшего разрядa 0...7, причем проверка начинается с разряда D0.
Поэтому, если выводится параметр "0", то можно сказать, что озу совсем не работает.
При ошибке выдаётся звуковой сигнал. Появляющийся в правом верхнем углу экрана квадратик означает, что ОЗУ проверяется на запись байтов "0FFH", его отсутствие - запись нулей.
Тестовые программы работают без использования ОЗУ.
---
Вот так, только благодаря инструкции, прошитой в ПЗУ, тест не был потерян навсегда
Возможно, он кому-то пригодится и даже понравится
У меня сейчас нет возможности проверить его работу.
UPD: Проверил работу теста под эмулятором UnrealSpeccy.
Для этого пришлось скомпоновать 16K-образ ПЗУ из восьми исходных 2К-образов и получившийся в результате файл SOS.ROM подкинуть эмулятору. Этот SOS.ROM (прилагаю) можно записать в микросхему ПЗУ 2764, чтобы использовать на реальном железе.
Тест работает, сделал скриншот
В дополнение к вышеприведенному описанию:
- тесты памяти 5-6-7 циклически повторяются;
- если ошибок в памяти нет, на месте второй цифры выводится буква "G" (Good).