Как заменить ROM в ZX Spectrum на EPROM |
![]() |
Добавил(а) microsin |
Замена оригинального ПЗУ (ROM) ZX Spectrum на стандартное 28-выводное DIL EPROM (в корпусе DIP28, такое как 16-килобайтное 27C128 или 32-килобайтное 27C256, или их аналоги) очень прямолинейна (приведен перевод статьи [1]). Однако требуются некоторые модификации монтажа печатной платы:
2. Расположение выводов /ROM_CS и /MREQ отличается для разных EPROM и даже варьируется между используемыми в Sinclair ZX Spectrum оригинальными ROM, так что имеется 4 выбираемые связи на печатной плате Spectrum. Это удобно, поскольку не нужно перерезать другие дорожки, нужно переделать только эти возможные 4 соединения – все сигналы, требуемые в модификации, доступны как точки пайки. По существу Вы должны сделать логический элемент ИЛИ, чтобы из сигналов /ROM_CS и /MREQ сформировать выходной сигнал, который придет на 20 вывод EPROM 20. Этот элемент OR может состоять из диодов и резистора. При этом рекомендуется использовать диоды Шоттки (например BAT85), поскольку на них падает напряжение меньше, чем на обычных кремниевых диодах. Однако, как это известно из экспериментов, обычные диоды 1N4148 тоже работают. Значение для резистора 10K должно хорошо подойти. Примечание: на некоторых платах ZX Spectrum переделка на EPROM была сделана так, что вывод 20 был просто замкнут на /ROM_CS, без формирования логики OR с сигналом /MREQ. Это плохой вариант: вроде Spectrum работает нормально, но появляется проблема с клавиатурой, если программа читает из порта $00fe (например, для детектирования нажатия на клавишу за одну операцию) – данные ROM попадают на шину данных во время такого чтения, конфликтуя с предоставленными через ULA данными от клавиатуры. Одной из программ, где эта проблема проявляется, является "Zynaps" – игра запускается сразу после вывода нескольких титров на экран даже без какого-либо ввода со стороны пользователя.
Примечание: автор статьи [1] сделал диагностическое ПЗУ, образ которого можно найти и скачать по этой ссылке: http://www.retroleum.co.uk/electronics-articles/a-diagnostic-rom-image-for-the-zx-spectrum/ . [Взаимозаменяемость микросхем 27C64, 27C128, 27C256, 27C512] Все эти микросхемы похожи тем, что имеют аналогичные корпуса и совместимую друг с другом цоколевку. Отличия только в нескольких выводах, назначение которых зависит от объема памяти микросхемы. Ниже на рисунке (взят их даташита на 27C64 компании National Semiconductor) показано соответствие выводов микросхем 27C16, 27C32, 27C64, 27C128, 27C256, 27C512. Например, одну микросхему 27C128 можно заменить на 2 микросхемы 27C64, если напаять их друг на друга бутербродом, оставив не соединенными друг с другом только ножки разрешения выхода /CE. У нижней микросхемы на сигнал /CE нужно подать сигнал от адреса A13 напрямую (это будет младшая половина памяти заменяемой 27C128), а у верхней микросхемы на /CE надо подать A13 через инвертор (это будет старшая половина памяти). Также микросхемы EPROM 27Cxxx можно заменить на совпадающие по цоколевке микросхемы EEPROM 29Cxxx. [Ссылки] 1. How To Replace The ROM Of A ZX Spectrum With An EPROM site:retroleum.co.uk. |