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

Перейти вниз

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

Сообщение  barsik в Чт Сен 14 2017, 20:05

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

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

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

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


Схема получения ОЗУ 256К в ОРИОНЕ с помощью всего одной банки РУ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Б (либо один вариант либо другой, но не вместе).



Последний раз редактировалось: barsik (Пн Апр 16 2018, 12:23), всего редактировалось 8 раз(а)

_________________
***
avatar
barsik
новичёк

Сообщения : 71
Дата регистрации : 2016-11-10
Откуда : 600 км от Москвы

Посмотреть профиль

Вернуться к началу Перейти вниз

.

Сообщение  barsik в Чт Сен 14 2017, 21:31

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

Описанная в предыдущем посте схема расширения ОЗУ в ОРИОНЕ до 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 служит только для формирования видео, процессором она не читается (но пишется). Поэтому и буфер для неё не нужен.

_________________
***
avatar
barsik
новичёк

Сообщения : 71
Дата регистрации : 2016-11-10
Откуда : 600 км от Москвы

Посмотреть профиль

Вернуться к началу Перейти вниз

.

Сообщение  barsik в Чт Сен 14 2017, 21:33

Во вложении схема расширения ОЗУ за счёт напайки 565 РУ5 в два этажа.



Я больше всего использовал именно эту схему, т.к имел много РУ5, а РУ7-мые начали усиленно дохнуть от времени уже в 2000 году. Сейчас у меня все платы ОРИОН-ов (а их у меня 5 или 6 штук) используют именно такой вариант расширения ОЗУ.

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



Последний раз редактировалось: barsik (Пн Апр 16 2018, 12:26), всего редактировалось 4 раз(а)

_________________
***
avatar
barsik
новичёк

Сообщения : 71
Дата регистрации : 2016-11-10
Откуда : 600 км от Москвы

Посмотреть профиль

Вернуться к началу Перейти вниз

.

Сообщение  barsik в Чт Сен 14 2017, 21:34

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

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

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


_________________
***
avatar
barsik
новичёк

Сообщения : 71
Дата регистрации : 2016-11-10
Откуда : 600 км от Москвы

Посмотреть профиль

Вернуться к началу Перейти вниз

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

Сообщение  QUATTRO в Вс Апр 15 2018, 00:05

Ну надо же так, искал-искал и только тут нашел как увеличить память до 256 кб!
Я так понял, что мне нужно увеличивать память, если ROM диск работает, а на экране вот что:

avatar
QUATTRO
новичёк

Сообщения : 37
Дата регистрации : 2017-08-22
Возраст : 44
Откуда : Москва

Посмотреть профиль http://cnc-controller.ru/

Вернуться к началу Перейти вниз

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

Сообщение  QUATTRO в Вс Апр 15 2018, 00:09

barsik пишет:Вот ...А вот какой-то сопроводительный текст к этой схеме.
Жаль, что сопроводительный текст в каком то непонятном формате, сразу не прочтешь, придется переносить и открывать на другом компьютере.

С разрешения автора скину тут текст вложения в формате обычного блокнота. Но почему то тут описание про РУ7, а не про РУ5.

****************

КАК СДЕЛАТЬ 256 Кб в ОРИОНЕ на ИМС 565РУ7
       -----------------------------------------

1. Впаять 16 штук 565РУ7 вместо 565РУ5

2. На DD23 вторым этажом напять 555КП12 (155КП2 или 531КП2)
  Выводы 1,2,8,14,15,16 припаиваются в-параллель к ногам DD23
  остальные ноги укорачиваются и отгибаются в сторону.

3. Выводы 1 всех 565РУ7 соединить и подключить к 7 выводу
  дополнительной DD23'.

4. Выводы 4 и 6 дополнительной DD23' подать на землю (или на
  +5В если первые половинки РУ7-х с дохлотой)

5. Вывод старой (нижней) DD23/4 подать на +5В через резистор
  в 1 КОМ (естественно сначала отрезать печ.проводник цепи).

6. Вывод DD23/6 (старой нижней ИМС) отрезать от старой печати
  и соединить с выводом DD16/8

7. Вывод 5 верхней DD23' соединить с той цепью, что ранее
  шла на DD23/6
8. Вывод 3 верхней DD23' соединить с той цепью, что ранее
  шла на DD23/4

9. Отрезать DD16/10 от старой печати и соединить с DD18/16
10. DD29/3 отрезать от D16/8 и подать на +5В через 1 КОМ

ПРИМЕЧАНИЕ: Резисторы привязки на +5В можно не применять
если 155 серия (она допускает это), а для 555/1533 допустимо
подключать входы прямо на +5В. Поэтому резисторы тут тоже не
нужны (но 1533 серию нельзя оставлять с "висящими" входами).
Лучше применять КП12 (а не КП2), т.к они имеют нагрузку не
20 входов, а 50 входов (все ИМС с 3-им состоянием мощнее).

Это старый вариант 1992 года. В.Чистяков.


****************
avatar
QUATTRO
новичёк

Сообщения : 37
Дата регистрации : 2017-08-22
Возраст : 44
Откуда : Москва

Посмотреть профиль http://cnc-controller.ru/

Вернуться к началу Перейти вниз

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

Сообщение  barsik в Пн Апр 16 2018, 12:53

О нет. Вышла ошибка, извиняюсь.

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

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

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

Кодировка текста во всех древних текстах, естественно, альтернативная (т.е кодировка MSDOS). Все программисты используют UltraEdit, он позволяет использовать и Windows кодировку и кодировку MSDOS (альтернативная MSDOS кодировка называется на Западе OEM-кодировкой).

В UltraEdite поставьте шрифт Lucida Console, кирилица. Это моноширинный шрифт, что и нужен для программирования (т.к тогда форматирование правильное и позиции табуляций фиксированы). Или любой другой шрифт, который есть в моноширинном варианте и кирилице. UltraEdit как раз и хорош тем, что позволяет моноширинный шрифт и редактировать и тексты и HEX-дампы. И если для программиста для PC годятся и другие редакторы рассчитанные для программистов, то для программиста для рэтро-ЭВМ разумной альтернативы UltraEdit-у нет.

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

Только здесь уже добавлен доп.порт формирующий адрес 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 коммутируемость банки целиком даже лучше, т.к даёт в банках 4...7 на нужды эл.диска не по 60 кб, а по 61 кб, что гораздо приятнее, т.к даёт выигрыш в 4 кб.



Последний раз редактировалось: barsik (Вт Апр 17 2018, 11:00), всего редактировалось 3 раз(а)

_________________
***
avatar
barsik
новичёк

Сообщения : 71
Дата регистрации : 2016-11-10
Откуда : 600 км от Москвы

Посмотреть профиль

Вернуться к началу Перейти вниз

Ещё один вариант расширения ОЗУ в ОРИОНЕ

Сообщение  barsik в Пн Апр 16 2018, 18:28

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

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

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

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

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

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

Удобнее всего монтаж доп.панельки получается, если на плате не распаян преобразователь +12В. Я спаял более 20 плат ОРИОНА, но ни одной никогда не распаивал преобразователь +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 МГЦ).

Кстати, для использования HD-формата дискет, можно поставить 62256 в банке 1 в окне 8000...EFFF, что позволит CP/M в банке 0 использовать HD-дискеты. Так я не делал, т.к додумался до этого уже слишком поздно, но это вполне возможно и позволило бы иметь формат дискеты в 1640 кб на диск 3.5" при простом Турбо.

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

_________________
***
avatar
barsik
новичёк

Сообщения : 71
Дата регистрации : 2016-11-10
Откуда : 600 км от Москвы

Посмотреть профиль

Вернуться к началу Перейти вниз

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

Сообщение  Спонсируемый контент


Спонсируемый контент


Вернуться к началу Перейти вниз

Вернуться к началу

- Похожие темы

 
Права доступа к этому форуму:
Вы не можете отвечать на сообщения