Альтернативные схемы расширения ОЗУ Орион-128 замена микросхем ОЗУ

Расширение памяти Оииона-128.

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

Внимание как попадутся схемы в хорошем качестве, заменим плохие.

Публиковать несколько старых альтернативных схем расширения ОЗУ, которые широко использовались в своё время. Тупой вариант расширения ОЗУ с помощью второэтажной дополнительной платки со своими буферами здесь не рассматривается. Нижеприведённые посты не новые, а просто скопированы с какого-то сайта.

Необходимость этих схем вызвана тем, что расширение ОЗУ с помощью громоздких и дорогих дополнительных плат расширения ОЗУ, устанавливаемых вторым этажом по схеме Орион-Софта, не только уродует внешний вид ОРИОНА, но просто глупо по схеме. Совершенно без всякого смысла ставятся ещё два печкообразных буфера ВА86, доводя общее энергопотребление до более 3 ампер. Буфера только бесполезно нагружают шину, делая невозможным турбирование Z80 до 5 МГЦ. Динамические ОЗУ банками во всём мире расширяют за счёт коммутации по /CAS, что экономит не только детали, но и электроэнергию.

Схема расширения ОЗУ всего на одной банке РУ7-мых:

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

Данная схема работает не на коммутации /CAS (в этом нет нужды, нет второэтажных банок). Схема на РУ5-тых в два этажа, которая использует коммутацию по /CAS - в следующем посте.

Автор этой схемы Максим Домарёв.

Схема получения ОЗУ 256К в ОРИОНЕ с помощью всего одной банки РУ7-мых

Схема расширения ОЗУ всего на одной банке РУ7-мых:

Ниже использована нумерация по схеме опубликованной в журнале РАДИО. Доработка позволяет иметь 256К с минимальными трудозатратами и расходами. Для реализации необходимо иметь

- 8 микросхем 565РУ7 (или 41256)
- 1 шт 555КП12, 155КП2 или 531КП12
- один свободный вентиль 'ИЛИ' или 'И' (это ЛЛ1 или ЛИ1)

Менять будем банк 1 (нумерация с 0), т.е банк 0 остаётся на РУ5-тых.

555 КП12 напаивается вторым этажом на DD23. Часть выводов КП12 укорачивается и отгибается в сторону. Выводы помеченные кружком не отгибать, они запаиваются в параллель DD23. Цепь 7-х ног всех РУ7-мых предварительно отрезать на печати от линии '201'. Соединение всех 1-вых ног РУ7-мых делают со стороны печати сплошным залуженным проводом диаметром 0.25 мм, имитируя печать. На этот провод между припайками к 1-м выводам РУ7-мых на проводник можно надеть кембрики (отрезки изоляции МГФ-0.3, полученные надрезанием изоляции острым ножом по кругу и затем вытягиванием отрезка изоляции).

У дешифратора банок вывод DD29/3 отрезать от печати и подать "1".

В зависимости какой свободный вентиль есть на плате, делается вставка вентиля по рисунку 2А либо 2Б (либо один вариант либо другой, но не вместе).

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

В этом посте не схема, а лишь предложения по экономии радиодеталей при реализации предыдущей схемы.

Описанная в предыдущем посте схема расширения ОЗУ в ОРИОНЕ до 256К за счёт лишь одной банки банки ОЗУ РУ7 (плюс банка РУ5), если её немного изменить, позволяет сократить нагрузку шины за счёт исключения буфера ОЗУ второй банки. Разгружать шину всеми средствами очень важно при турбировании до 7.5 МГЦ или даже 10 МГЦ.

В исходном варианте банка РУ5 работает как банка N1 (где цвет), как на чтение так и на запись процессором. Кроме процессора эту банку читает видео часть. Для исключения буфера, концепция меняется следующим образом.

В эту банку N1 (где цвет), что на РУ5-тых, процессор делает только запись, причём одновременно запись происходит и в банку N1 в РУ7-мых. Т.е банка N1 дублируется в РУ5 и РУ7. РУ7 для процессора, как по чтению, так и по записи даёт все 256 кб. Но в банке N1 параллельно 60К в РУ7 стоит банка РУ5. Если установлена текущая банка N1 и происходит запись (ниже F000), то данные записываются как в банку РУ5, так и в банку РУ7. Когда же при текущей банке N1 процессор считывает, то считывается только банка N1 из РУ7. При этом из банки РУ5 физически тоже происходит чтение, но т.к эта банка не имеет буфера, это не играет роли. Банка РУ5 служит как и ранее для хранения цвета и читается видеочастью в тактах её доступа к ОЗУ.

Конструктивно, это делается просто. /CAS на РУ7 формируется при обращении во все 4 банки. Буфер 580ВА86 (или АП6 в более грамотных платах) для банки N1 на РУ5-той выкусывается. Входы данных микросхем РУ5 этой банки (ноги 2) отрезаются от выходов (ноги 14) и подключаются к объединённым входам-выходам РУ7-мых (это также выводы буфера со стороны ОЗУ). Это надо чтобы в РУ5 записывалось то же самое, что пишется в РУ7-мые при включённой банке N1. Отрезанные от входов выходы РУ5 идут на регистр защёлку ИР82, участвуя в формирования видео. Вход D29/13 отрезают от печати и подают +5В, это обеспечивает открытие буфера у РУ7 всегда при обращении к ОЗУ (т.е ниже F400).

В итоге, банка РУ5 служит только для формирования видео, процессором она пишется, но не читается. Поэтому и буфер для неё не нужен.

Следующая схема

Схема расширения ОЗУ за счёт напайки 565 РУ5 в два этажа. ЛИ1 можно заменить двумя диодами и резистором. Я больше всего использовал именно эту схему.

Дополнительный мультиплексор 555КП12 напаивается вторым этажом над любым адресным мультиплексором КП2 на плате. Ноги с кружком в параллель. Этот доп.мультиплексор формирует две группы CAS-ов - для двух нижних РУ5-тых и для двух верхних РУ5-тых. Ещё есть схема в 3 этажа (её тоже часто делал, т.к имел напаянные РУ5-тые в 3 этажа от электронных дисков на РУ5-тых).

Расширение ОЗУ в ОРИОН-128 256KvORIONEnaRU5.1523870695

Схема установки уже двух банок РУ7-мых ОРИОН-128 512

А вот, использованная когда-то мной, схема установки уже двух банок РУ7-мых. Я эту схему в варианте для 256К (т.е без расширения на один бит порта F9) использовал в 1992, когда ещё не была известна более экономичная схема М. Домарёва (где банка РУ5 + банка РУ7).

Данная схема используется в Орионе Восточный Экспресс  512

Орион-512 восточный экспресс 512 тонкости сборки и натройки

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

Обратите внимание, что этот вариант немного упрощённый. А именно, он не рассчитан на работу программ в банках 4, 5, 6, 7, т.к в в этих банках область F000...F3FF в данной схеме является коммутируемой.

Хотя программ работающих в банках 4, 5, 6, 7 не существует и программы для банки 0 без проблем имеют доступ к банкам 4...7 через стандартные входы F836/39, но для ДОС в банке 1 использующий электронный диск это создаёт проблемы. Т.к из банки 1 п/подпрограммы ПЗУ F836/39 недоступны, то в ДОС для банки 1 подпрограммы, работающие с электронным диском размещаются в области F000, то при обращении к банкам 4...7 происходит улёт. Чтобы исправить эту недоработку необходимо обеспечить поступление вместо B2 на вход мультиплексора нуля, если сигнал /F000 нулевой. Это легко сделать схемой "монтажное И" на двух диодах и резисторе или на вентиле ЛИ1).

Самая любимая схема на двух банках РУ7

Этот сопроводительный текст относится к самой лобовой ранней схеме на двух банках РУ7, в каждой из которых используется только половинка, отчего из двух банок РУ7 получается не 512К, а всего 256К. Это конечно тоже выход, т.к избавляет от глупых второэтажных плат (с дополнительными печкообразными буферами 580 ВА86), что пропагандировались и продавались кооперативами. Но при наличии РУ7-мых есть и лучшие варианты. Эта схема применялась на заре цивилизации, когда вариант М. Домарёва был ещё не известен.

По объёму ОЗУ это не страшно, т.к на ОРИОНЕ до 2000 года и не было системных программ поддерживающих 512К, но вот расход двух банок вместо одной, это очень расточительно. Эта схема сразу же вышла из моды, как появилась схема М. Домарёва дающая те же самые 256К, но с расходом лишь в одну банку РУ7.

Кстати, по этому словесному описанию несложно нарисовать схему 256К из двух банок РУ7, - если есть желание, - сделайте.

Это описание относится скорее вот к такому варианту расширения на двух банках РУ7 (см картинку).

Орион-512 восточный экспресс 512 тонкости сборки и натройки

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

Только здесь уже добавлен доп.порт формирующий адрес A17, что и даёт доступ к 512К. Кстати эта схема двух банок РУ7-мых чуть упрощенная, отчего пригодна только для использования банок 4...7 только под VDISK, а не для прогона в них программ (в чём нужды и нет). Это из-за того, что в то время как при включении банок 0...3 область F000...F3FF как и положено не коммутируется, здесь для банок 4...7 специально этого нет, отчего можно только читать/писать в банки 4...7 стандартными подпрограммами F836/39, но нельзя располагать там код программ.

Коммутируемость участка F000...F3FF в банках 4...7 это не недостаток. При нужде можно съэммитировать некоммутируемое ОЗУ, если во все 4 банки 4...7 по адресам F000...F3FF скопировать содержимое банки 0 из этих же адресов, что и позволит использовать банки 4...7 для прогона в них программ.

Но это на самом деле никому не надо. Разве банку 3, хоть кто-то использовал для программ. Естественно нет. Потому и в банках 4...7 нет нужды прогонять программы. Все игры и убогие ORDOS-программы работают в банке 0 (хотя есть несколько древних дисковых DOS, что работают в банке 1).

А вот для для использования в DOS для банки 1 банок 4...7 для целей электронного диска коммутируемость этих банок целиком создаёт проблемы, т.к из-за невозможности из банки 1 использовать входы F836/39 в некоммутируемом ОЗУ выше F000 располагают аналог подпрограмм F836/39 отличающихся лишь тем, что возврат они делают не в банку 0, как F836/39, а в банку 1, откуда вызваны. Потому, если при включении банки 4 участок ОЗУ F000...F3FF, в котором работает подпрограмма, что включает банку 4, то произойдёт улёт.

Если это заранее знать, то несложно программно имитировать некоммутируемость, а именно из банки 0 подпрограмами F836/39 скопировать содержимое F000...F3FF во все 4 банки 4...7 (из банки 0 вызывать F836/39 можно, в отличие от банки 1). Тогда доступ в банки 4...7 подпрограммой в области F000 будет работать как будто область F000 некоммутируема во всех банках.

Но всё же лучше без особой нужды не использовать особенности схемы и добавить 2 диода, чтобы область выше F000 некоммутировалась во всех банках включая 4 и выше. Т.к с 2000 года ОРИОНСОФТ, а позднее В. Пушков распространяли схему М. Мистахова с полной коммутацией. Незачем разводить кучу вариантов, да и при одинаковом устройстве архитектуры во всех 3-х банках переделка старых DOS с электронным диском проще.

Еще вариант расширения ОЗУ в ОРИОНЕ-128

Здесь расскажу ещё об одном варианте расширения ОЗУ в ОРИОНЕ. Этот вариант, кстати, был исторически самым первым, я его применил в феврале 1991 года. Это простой и наилучший вариант в случае, если хочется турбировать Z80 до реальных 5 МГЦ.

В то время ещё ни у кого не было ROM-диска (платы ROM-диска ещё нигде не продавались), отчего приходилось грузить систему и инструментальные программы с магнитофона. Чтобы упростить жизнь я смонтировал на месте преобразователя +12В панельку на 28 ног и встроил стартовое "теневое" ПЗУ. А именно, - при старте в области 0...7FFF в банке 0 включалось ПЗУ 27256, которое стартовало по сбросу и загружало ORDOS на B800 и копировало текстов редактор, ассемблер и CH$ в квазидиск 'B' (отключение теневого ПЗУ производилось имеющимся на плате стробом STA FB00).

Это позволяло избежать долгой загрузки системы и файлов с магнитофона и заниматься программированием на ассемблере не имея ROM-диска. Такой системой я пользовался с осени 1990 по февраль 1991.

А в январе 1991 мне удалось купить несколько статических ОЗУ 62256. Естественно возникла идея использовать их для расширения ОЗУ ОРИОНА. Благодаря тому, что панелька на 28 ног на плате уже стояла, а сигналы выборки банок 2 и 3 ОРИОН изначально формирует, то установка 62256 в качестве банки 2 (т.е третьей) потребовала всего лишь расход в два кусочка проволоки.

Так у меня, думаю первого в мире, появилась на ОРИОНЕ банка 2 (сначала размером лишь в 32 кб). Напаяв вторую 62256 вторым этажом и смонтировав один дополнительный вентиль 155 ЛА3 (чтобы выбиралась то одна 62256, то другая, в зависимости от адреса А15), я получил банку 2 уже полного размера в 60 кб, а общее полезное ОЗУ ОРИОНА достигло 3*60+1= 181 кб.

Как видите, это самый простой способ расширения ОЗУ, - смонтировать одну панельку на 28 ног и один корпус 155 ЛА3 это работа на час, даже если у Вас "руки-крюки" и паяльник Вы держите второй раз в жизни.

Удобнее всего монтаж доп.панельки получается, если на плате не распаян преобразователь +12В. Я спаял более 20 плат ОРИОНА, но ни на одной никогда не распаивал преобразователь +12В. Это бессмысленное дело, т.к для питания дисковода мощности этого преобразователя всё равно не хватает, потому и смысла в нём вообще нет. Тем более, что нормальные блоки питания дают +12В. При нера ценно, что отказ от преобразователя освобождает место на основной плате, где удобно смонтировать доп.панельку на 28 ног (и несколько доп.микросхем нужных при замене КР580 на Z80).

Впоследствии, когда появилась информация о расширении ОЗУ на РУ5, я сделал, как рекомендовалось, 256К с помощью второэтажной платы с буферами АП6. Но такой вариант, некрасивый и громоздкий я использовал меньше месяца, он меня совершенно не устроил. Потому я стал использовать вариант 256К на двух банках 565 РУ7 (как описано в вышеприведённом тексте), что экономичнее, а главное, конструктивно удобнее и красивее.

Кстати, как видно на фото моих плат ОРИОНА, на каждой из них стоит доп.панелька на 28 ног. В основном эта панелька использовалась для расширения ПЗУ на 27256, как в виде многостраничного ПЗУ с окном в 2 кб в области F800...FFFF, так и в виде "теневого ПЗУ" в области 0...7FFF. Коммутация при Z80 выполнялась портом FC, биты D0...D3 выбирают страницу ПЗУ, а бит D7 включает ПЗУ в окне 0...7FFF вместо ОЗУ (выводя ПЗУ из тени).

К сожалению, я слишком поздно (лишь в 1996) догадался, что 62256 позволяют получить эффективные 5 МГЦ даже при простой схеме турбирования ОРИОНА по варианту Турбо с WAIT (что ускоряет прогон лишь на 42%, зато ОЗУ не перегревается). Я догадался, что если поставить в банку 0 в адреса 0...7FFF статическое ОЗУ 62256, то программа в этих адресах без проблем работает без WAIT на такте 5 МГЦ.

Таким образом программа прогоняемая в статическом ОЗУ 62256 (т.е в банке 0 в первых 32-х килобайтах) прогоняется с максимальной скоростью в 5 МГЦ (а фрагменты кода расположенные выше 8000 остаются в медленном ОЗУ 565РУ5, отчего прогоняются со скорость лишь 2.5 МГЦ *1.42 = 3.5 МГЦ). Ставить статическое ОЗУ в банки 0 и 1 можно только туда, где нет экрана. Так что когда ниже 8000 стоит статика, то если включить экран с 0 или с 4000, то изображения не будет.

Для использования HD-формата дискет (для чего нужно именно реальные 5 МГЦ), можно поставить 62256 в банке 1 в окне 8000...EFFF, что даст программе работающей в этих адресах реальные 5 МГЦ и позволит CP/M работающей в банке 1 использовать HD-дискеты. Экрану это не мешает, т.к его тогда ставим на 4000. Так я не делал, т.к додумался до этого уже слишком поздно, но это легко реализуемо и позволило бы иметь формат дискеты в 1640 кб на диск 3.5" при простом Турбо.

Можно подумать о варианте, когда одна 62256 в 32 кб может переключаться, т.е по потребности включаться то выше 8000, то ниже 8000 (экран при этом каждый раз тоже переключается, чтобы оставаться в РУ5). При этом программа в 62256 будет прогоняться на 5 МГЦ реального такта, а программа что работает из РУ5 прогоняется с эффективным тактом всего 3.5 МГЦ (по схеме Турбо с WAIT). Тут открывается простор для творчества.

Для работы только DOS в банке 1 достаточно ввести включение/выключение 62256 в областях B1:C000...EFFF и B0:C000...EFFF (т.е половина 62256 стоит в банке 0, другая половина в банке 1). Тогда в ORDOS и в играх, где экран на C000 быстрая статика 62256 отключена и как в оригинале работает экранное ОЗУ на C000 в РУ5-тых.

А в DOS банки 1 включается экран с 8000 и потому область C000...EFFF можно сделать скоростной на быстром ОЗУ. Код DOS как раз и располагается в области выше C000, что позволяет иметь HD-дисковод и максимально быстрый обмен с винчестером. И в то же время драйвер экрана, которому желательно максимальная скорость прогона расположенный в банке 0 выше C000 также работает на 5 МГЦ без тормозов.

Т.е затратой всего одной 62256 получается машина работающая на 5 МГЦ для критичных к скорости фрагментов кода, при этом и модификации минимальны и динамическое ОЗУ не перегревается, как в схеме Турбо-200%, т.к ОЗУ остаётся на том же низком такте 2.5 МГЦ.

Кстати, 62256 с одним тактом WAIT тянет и 10 МГЦ, а w24257 и без WAIT тянет столько. Потому можно сделать схему в которой при работе программы в скоростном ОЗУ на Z80B подаётся такт 10 МГЦ, а при доступе к областям медленного динамического ОЗУ такт переключается на 5 МГЦ. И использовал схемы на 10 МГЦ на динамическом ОЗУ. Они характерны сложностью настройки и ненадёжны. А вот статика позволит получить надёжную, повторяемую и в то же время быструю схему.

Исходя из всего вышеизложенного, считаю, что вышеописанный вариант расширения ОЗУ ОРИОНА на статических ОЗУ это самый удобный вариант. Особенно в настоящее время, когда найти исправные 565 РУ7 (или их аналог 41256) стало намного труднее и дороже, чем статические ОЗУ типа 62256, 62512 или скоростные w24512 (или ещё более ёмкие скоростные статические ОЗУ).

 

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

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

 

 

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

 

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

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