Расширение ПЗУ в ОРИОН-128, замены микросхем

Увеличиваем размер ПЗУ к573рф2

Продаю платы и наборы микросхем, куплю микросхемы Продаю печатные платы ПК Ори сериион-128

Расширение ПЗУ в ОРИОН-128

Разработчики ОРИОНА, отвечая на соответствующий вопрос, писали в журнале РАДИО, что в ОРИОНЕ-128 расширение ПЗУ не предусмотрено (по заявлениям авторов), а для расширения числа резидентных программ служит ROM-диск.

Но увы, это отнюдь не одно и то же. Потому что в ПЗУ хранится ROM-BIOS и чем больше объём ПЗУ, тем более качественный ROM-BIOS можно иметь. Для сравнения, ROM-BIOS-ы западных 8-ми разрядок, выпущенных во второй половине 80-тых, составляли 64 кб и более (а минимум это 32 кб). Особенно это актуально для машины не имеющей внешней массовой памяти и диспетчера ОЗУ (что позволяло бы грузить расширение ROM-BIOS в ОЗУ). Из-за мизерности объёма ПЗУ, базовый набор драйверов, причём графической машины, оказался даже хуже, чем у текстового РК86, что и предопределило убогость внешнего вида основной массы системных программ ORDOS.

ROM-диск позволяет хранить некоторые резидентные программы, в частности базовую ОС, загрузчик с НГМД и т.п. Если бы, изначально была стандартизована концепция загрузки расширения ROM-BIOS в ОЗУ из ROM-диска, например, за счёт жёсткого резервирования ОЗУ B000...BFFF для этих целей, то ROM-BIOS можно было бы расширять, загружая его при включении ЭВМ из ROM-диска, что эквивалентно расширению ПЗУ. Однако увы, этого сделано не было. А использование в ORDOS и в играх качестве основной банки 0, окончательно похоронило идею загрузки расширения ROM-BIOS в ОЗУ, что впрочем всё равно нехорошая идея, т.к в банке 0 мало свободного ОЗУ (т.к там экран занимает 12 кб).

Мизерность ПЗУ не являлась бы проблемой, если бы в ОРИОНЕ был диспетчер ОЗУ, позволяющий в небольшом окне (обычно это 16 кб) включать фрагменты памяти дополнительного ОЗУ. Т.к большой ROM-BIOS нужен в основном для обслуживания экрана (работы с цветом, оконности, вывода рамок, разных шрифтов и даже графического интерфейса), то включение на время работы с экраном в окне 16К соответствующей программы, полностью заменило бы большое ПЗУ.

Оптимально для ОРИОНА в качестве ПЗУ было бы иметь отключаемое ПЗУ 27256 в окне 0...7FFF, что позволяет в объёме 32К уместить комфортабельный ROM-BIOS и существенно повысить качество программ. Такие попытки, кстати, были сделаны, хотя и не для программ в банке 0, а для CP/M-80, причём в банке 2. Установка доп.ПЗУ 27256 требует монтажа на плате ОРИОНА дополнительной панельки на 28 ног и несколько корпусов, образующих управляющую логику. В 32 кб легко умещаются драйверы 3-х шрифтов 6*10, 7*10 и 8*10, правда они пока существуют только в варианте для Z80.

Конструктивно проще всего ПЗУ расширяется напайкой на ПЗУ РФ2 другой ПЗУ РФ2 (или панельки для её установки, что удобнее при модификациях). Вот схема. ПЗУ 0 включается по сбросу или по записи 0 в порт FC, а альтернативное ПЗУ 2 кб включается записью туда 1. Нет смысла упоминать, что порт FC есть только при процессоре Z80. При КР580 в качестве порта управления ПЗУ можно использовать порт STA FB00 (но не OUT FB).

Исторически именно такой вариант и был первым и применялся на первых платках для установки Z80 (названных впоследствии Z80CARD-I). Это был 1991 год, когда большинство пользователей ещё не имели ROM-диска. Потому загрузка по сбросу ОС на адрес B800 из второго РФ2 решала проблему отсутствия ROM-диска. В Z80CARD-II эта проблема уже не стояла, т.к ROM-диск к тому времени уже стал стандартом для ОРИОНА, поэтому второе ПЗУ РФ2 там уже неиспользовано.

Наличие двух ПЗУ РФ2 позволяло иметь в ЭВМ два ROM-BIOS, переключаемых как программно, так и аппаратно. Но особой пользы наличие 2-х ПЗУ не давало. Для работы прямо из этого ПЗУ использовался так называемый 'Shadowy-Monitor', теневой монитор, преимущество которого было в том, что он делал всё то же, что и M3-EXT, но вообще не занимал ОЗУ. Это даёт кое-какие преимущества программисту, хотя по сути несущественные. Вот этот монитор. Он для Z80 и прошивается в две РФ2 установленные в 2 этажа, переключение портом FC по схеме приведённой выше.

"Звёздный час" второго ПЗУ РФ2 наступил лишь когда был написан эмулятор РК86 на ОРИОНЕ с Z80. Оказалось, что в ПЗУ F800 при работе эмулятора должен находиться ROM-BIOS РК86 (точнее совместимый). Теоретически можно обойтись за счёт транспонирования кодов ROM-BIOS на другие адреса, но для этого, во-первых, нет ресурса скорости CPU, а во-вторых, для этого просто нет ОЗУ в банке 0 (всё впритык, свободного ОЗУ нет).

Решить эту проблему (нехватки ОЗУ) можно существенно переделав эмулятор РК86 на ОРИОНЕ, перенеся код в банку 1 (или 2), где на 12 кб больше свободного места. Я давно хотел перенести эмулятор РК в банку 1, но не для исключения ПЗУ, а для того, чтобы в эмулируемом РК эмулировалось ОЗУ 8400...BFFF. Но даже, если это сделать, то ROM-BIOS РК86 всё-равно придётся иметь в альтернативном ПЗУ F800.

Автор под псевдонимом, источник  https://ruecm.forum2x2.ru/

Доработки и схемы прочие... непроверенные

 

 

 

Купить платы на Орион ПРО, классический Орион, Орион Восточный Экспресс 512, наборы микросхем на Орион-128, КР565РУ5В, КР565ру7В, к565ру5г AU, к565ру7г Au в позолоте к1818вг93, Z80, куплю микросхемы

 

Полезные и интересные статьи

На предыдущую страницу  На главную страницу  На следующую страницу