ZX81, наверное, одна из самых интересных и доступных машинок. Такая себе западная "Микроша". Себе я приобрел ее американский вариант - Timex 1000, отличающийся кадровой частотой 60Hz (в соответствии с американским стандартом), увеличенной с 1к до 2к памятью и чуть более низким быстродействием т.к. выводом занимается процессор, а при 60Hz его загрузка возрастает. Почему-то некоторые считают этот аппарат клоном ZX81. Это не так - машинка производилась для рынка США совершенно официально и на фирменной PCB с использованием оригинальных комплектующих. 2к памяти это, конечно, лучше, чем 1 - уже кое-что можно делать, но все-равно 16к модуль для запуска всего самого интересного просто необходим. Конечно, можно купить проверенные и исправные модули, но гораздо интереснее взять совсем недорого неисправный и попытаться довести его до ума, что я и сделал.
Как определить что модуль неисправен?
Во-первых модуль довольно прожорлив. Минимальный БП подходит 1500 7,5В, так что нужно обеспечить достаточное питание.
Далее: PRINT PEEK(16389)*256 + PEEK(16388)
Sinclair тестирует ОЗУ при запуске. Последняя успешно проверенная ячейка хранится в адресе (16389)*256 + 16388. Если там не 32768 (128 в 16389) - значит блок неисправен. Исправный модуль увеличивает время запуска примерно до 4-5 секунд. Без блока синклер запускается почти мгновенно. В случае с купленным блоком все останавливалось на ячейке 19328
Далее отсылаю к инструкции:
http://www.sinclairzxworld.com/viewtopic.php?t=1613
Вроде, написано все правильно - начинаем проверять напряжения, импульсы на адресных линиях и RAS/CAS, проверяем выходы данных. Для проверки WR можно написать коротенькую циклическую программку, пишущую периодически в проверяемую область памяти.
Кроме того там есть схема и расположение м/сх RAM в соответствии с рабочими разрядами. Sinclair при запуске обнуляет ОЗУ, поэтому по первой ячейке, не прошедшей тест, можно судить о неисправном разряде. В моем случае там был код 0x06 т.е. м/сх нужно проверять начиная с второго разряда. Я запаял панельку и в первом, но в этом не было небходимости - достаточно было бы заменить только второй разряд.
Плата ОЗУ до ремонта:
Плата логики:
Для проверки я ставил наш аналог 565РУ3. Микросхемы прекрасно уживаются с импортными 4116. Но переводить такую красоту на банальный блок расширения оперативной памяти как-то неохота, так что в итоге поставил нашу 565РУ6. Она так же прекрасно работает совместно с 4116.
Микросхема крупнее:
Необходим небольшой тюнинг - восьмой вывод отрезаем, чтобы он не касался контакта сокета и замыкаем его с 9-м тонким проводником. Для красоты я это сделал под м/сх.
Модуль после ремонта работает надежно, что уже проверено кучей 16к игр, в т.ч. и написанными в наши дни. Если бы такие игри писали в далеком 81-м - может к этому аппаратику было бы совсем другое отношение ))