Пзу тест: Тест на тему : ОЗУ и ПЗУ

Содержание

Тест памяти, прошиваемый в ПЗУ

6 / 16 760

Версия для печати

Неисправности, связанные с ОЗУ, занимают «почётную» нишу среди всевозможных причин неработоспособности Спектрумов. Микросхемы памяти относительно ненадёжны и склонны выгорать (в особенности при проблемах с питанием). И особенно если источник питания Спектрума трансформаторный. Уже сколько раз было замечено на моём компьютере Ленинград-1 с трансформаторным блоком питания — случайно перемкнёшь питание компьютера (+5В и массу), и одна-две микросхемы КР565РУ5 уже «вылетели».

Как правило горит микросхема памяти полностью. Т.е. не так, что в ней какой-то один бит не работает, а вообще вся микросхема перестаёт работать. Память Спектрума организована так, что каждая микросхема ОЗУ отвечает за свой бит памяти (для 48К спектрума это 8 микросхем по одному биту, итого имеем 64КБ адресуемой памяти). При старте компьютера ПЗУ производит свой тест памяти, и, если какая-либо ячейка ОЗУ «сбоит», компьютер устанавливает границу доступной памяти на адрес ячейки, предыдущей перед неисправной.

При этом значение границы доступной памяти устанавливается в системной переменной P_RAMT (она находится по адресам 23732-23733 в ОЗУ. В исправном компьютере значение этой системной переменной будет равно #FFFF (т.е. в обеих ячейках памяти будут записаны числа 255). Если в системной переменной находится число, не равное #FFFF, к примеру если там #F000, то это означает, что ячейка памяти #F001 уже дефектная.

Всё это очень хорошо, но только в том случае, если обнаруженная дефектная ячейка памяти находится не в начале доступного ОЗУ. Дело в том, что для работы BASIC-48 тоже требуется какая-то доступная исправная память. И если дефект памяти выявится в начале ОЗУ, то BASIC просто-напросто не запустится, и мы ничего не сможем узнать. В случае, когда сгорела одна из микросхем ОЗУ полностью, компьютер не запустит BASIC.

Далее остаются только «пляски с бубном», чтобы найти что же в действительности сгорело. Применимо к микросхемам памяти можно попробовать примитивную, но иногда полезную диагностику. Дело в том, что дефектная микросхема памяти (КР565РУ5) может отличаться по температуре от остальных рабочих микросхем. При работе ОЗУ КР565РУ5 греется. Если приложить к микросхемам ОЗУ палец, можно почувствовать, что микросхемы ощутимо тёплые. Неисправная микросхема может греться как утюг, а может быть вообще холодной. Это необязательно будет так, но данный метод можно запомнить и применять от случая к случаю.

Вообще при производстве Спектрумов правилами хорошего тона является установка на панельки микросхемы ПЗУ и процессора. Это очень сильно облегчает жизнь при ремонте компьютера. В данном случае нас интересует микросхема ПЗУ. В «древних» Спектрумах, производимых в конце 80-х (начале 90-х годов) как правило ставилось две микросхемы ПЗУ. Это продиктовано тем, что микросхему ПЗУ объёмом 16К (буржуинское наименование 27128) достать в то время было не так-то просто, поэтому было проще и дешевле заменить её на две микросхемы объёмом по 8К, благо у них был отечественный аналог КР573РФ4, КР573РФ6.

И обычно одну из микросхем (как правило это ПЗУ-0) ставили на панельку. Почему ПЗУ-0? Т.к. ПЗУ собрано на двух микросхемах, его адресное пространство разбито на две части. Всего объём ПЗУ составляет 16К. Поэтому первые 8К считаются как ПЗУ-0, а вторые 8К — ПЗУ-1. При старте компьютера процессор начинает выполнять программу, расположенную с адреса #0000, а это как раз область, адресуемая ПЗУ-0.

Таки да, нам очень надо, чтобы хотя бы одно ПЗУ было на панельке. Если на плате компьютера вообще одно ПЗУ на панельке, это тоже очень хорошо. Всё дело в том, что ПЗУ можно снять и вместо него поставить своё ПЗУ, в котором «прошит» тест памяти. Тогда при включении компьютера будет запущен нужный нам тест памяти, который явно покажет, что у нас творится с памятью в компьютере.

Очень-очень давно, когда у меня ещё не было программатора ПЗУ, приходилось ехать на радиорынок и там суровые дядьки за соответствующую мзду прошивали в ПЗУ что угодно. Были у них и тесты памяти для Спектрумов.

Да, хорошее было тогда время…

Так вот, прикупив заветную прошитую микросхему ПЗУ можно было потестить свой компьютер. Однако сперва нужно было решить вопрос — как правильно вставить ПЗУ в панельку? Дело в том, что тест ПЗУ прошивается в микросхему объёмом 2К. Она имеет 24 вывода. В Спектруме используются 28-выводные ПЗУ. В этом случае у микросхемы с тестом поднимались выводы 21 и 24 и объединялись следующим образом:

Вставляется такая микросхема в панельку так, как показано на фотографии:

Думаю, на фотографии всё ясно видно. Контакт 12 ПЗУ (GND) должен совпасть с контактом 14 в панельке. А оттопыренный вывод тестового ПЗУ должен попасть в 28-й контакт панельки (питание +5В).

Можно не уродовать ПЗУ, а сделать переходную плату. Сверху ставим панельку на 24 контакта для тестового ПЗУ, снизу торчат штыри для установки платы в 28-выводную панельку в компьютер. Все требуемые изменения в присоединении 21 и 24 выводов ПЗУ можно сделать прямо на такой плате:

Дальше всё просто — включаем компьютер, и запускается тест, прошитый в микросхему ПЗУ.

В своей практике я часто пользуюсь следующими тестовыми прошивками:

Тестовое ПЗУ для ZX-Spectrum 48K

Как следует из названия, проверяет 48К ОЗУ. Работает очень медленно (порядка 12 минут). Сначала чистятся атрибуты экрана, потом поочерёдно экран закрашивается и очищается, затем показываются результаты теста ОЗУ. После этого идёт тест ПЗУ, но он всегда завершается с ошибкой, но для нас это не играет никакой роли. Главное — проверить ОЗУ.

ВНИМАНИЕ!
У этого теста есть одна «фишка» — если держать при старте теста пробел, то графическая часть с закрашиванием атрибутов пропускается и начинается непосредственно тест ОЗУ. Проверка на нажатый пробел делается в момент, когда заканчивается перебор цветов бордюра в начале теста.

Как проходит тест на исправном компьютере можно посмотреть на следующем видео:

Прохождение теста 48К на исправном компьютере

Прохождение теста, если неисправна одна из микросхем ОЗУ, можно увидеть в первом выпуске Байт Tales #01: