Радио-86РК на SRAM 128K Alpha (2014) & Beta (2024)
Moderator: Shaos
-
- Doomed
- Posts: 585
- Joined: 19 Feb 2017 03:46
- Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Похоже, что объект данной темы ("сабж") это единственный в мире клон РК86 в котором осуществлена доработка по существенному расширению ОЗУ. К сожалению, тема засорена сторонними обсуждениями, информативные по теме посты только в первой странице из семи.
К сожалению, в теме нет даже чёткого описания архитектуры (хотя бы словами, хотя принято приводить и графическое представление карты памяти). Прочитав тему, с трудом уяснил архитектуру, может и неправильно (по схеме, кстати, архитектуру не понять).
Для понимания того как устроена расширенная память доступно лишь одно предложение: "расширенная память 128К в SOIC, переключающаяся четвертинками через 2 младших бита нового порта #F000". Не сразу сообразил, - речь о четвертинке ОЗУ в 128К (т.е 32К) или о четвертинке адресного пространства в 64К (т.е 16К). Обычно описывая диспетчер памяти пишут, что "дополнительная память коммутируется в таком-то окне" (например, 0...7FFF или 4000...7FFF). Тогда из одной фразы всё ясно.
И лишь из того, что для управления памятью служат только два бита, сделал вывод, что используется так называемая полубанковая коммутация. Т.е вся память в 128К прокачивается в каком-то окне в 32 кб половинками банки (считая банкой 64К, в принципе 8 штук 565 РУ3 с размером в 16К тоже именуются банкой).
Про ПЗУ тоже нет кристальной ясности в описании. Из предложения "ПЗУ 8К, когда при включении управление передаётся на #F800, а не на #E000" - для знакомых со схемотехникой РК кое-что проясняется. Но незнакомый с базовой архитектурой РК вообще ничего не поймёт про ПЗУ из такого описания.
Предположительно доп.ПЗУ в 8 кб устанавливается на область адресации ПДП E000...FFFF, т.к в эту область процессор только пишет, потому ПЗУ можно совместить с ПДП, что и было сделано в РК-КНГМД Е.Седова. В общем, картинка карты памяти с указанием адресов дополнительно введённых чип-селектов для подключения расширений была бы нагляднее слов.
Ещё полезно было бы обоснование именно такой архитектуры в развитие РК86. Какова цель доработки? Понятно, что при любых доработках сто-процентная совместимость с базовым РК это аксиома. И желательно сохранить совместимость с единственной DOS для РК86 на базе РК-КНГМД, который адресуется по адресу F000.
Конечно, если предполагается последующая программная поддержка новой улучшающей архитектуры, то нет смысла обращать внимание на предыдущие доработки железа. Например RK-DOS и десяток программ (а именно, утилиты DOS, дисковый бейсик, текстов редактор, нортон и диск-доктор) не проблема перетранслировать под другие адреса КНГМД. Т.е совершенно одна ситуация, когда планируется мощная программная поддержка новой архитектуры, т.е выпуск основного набора системных программ, поддерживающих доработки и новую периферию и совсем другое, когда делается доработка нарушающая совместимость со старым ПО и ничего не предлагается взамен.
Разумеется любой вариант расширения ОЗУ полезен и может быть с пользой использован. Но основным недостатком РК86 является маленькое сплошное ОЗУ, что мешает применению DOS CP/M, которая отнимает ~10 кб памяти из 29-ти доступных, что делает её бессмысленной для базового РК (т.к половина программ РК имеет размер больший, чем 19 кб, что можно загрузить в ОЗУ пользуясь такой файловой системой). Возможность использовать CP/M резко повысило бы потребительные качества новой реплики РК86. Мало кого интересуют убогие игры от РК86, тогда как ради CP/M-программ энтузиасты специально изобретают уникальные собственные CP/M-машины.
Сейчас мало кто пишет программы для РК86, хотя появляется пара новых программ в год. Причём только под базовое железо, т.к ничего другого просто нет. Никто, кроме авторов РК-Макси, не предпринимал попыток улучшения архитектуры РК. Разговоров много, а дел 0. Потому-что то, что надо, понимают только те, кто программирует. А печ.платы новоделы делают другие, равнодушные. Данная реплика это единственное развитие РК86 за 25 лет.
Полубанковая идеология расширения ОЗУ не даёт CP/M (т.к даже если напрячься и вволю потрахавшись, переместить код CP/M в другую полубанку, то TPA в 32 кб для фирменных программ CP/M всё-равно мало). Для программ лишние 96 кб вообще не нужны. Сейчас имеет смысл писать только используя ЯВУ CP/M, а они не поддерживают многобанковость (потому и от CP/M 3.0 толку не намного больше, чем от 2.2, реальная польза только даты).
Потому, единственная польза которую можно придумать для доп.ОЗУ в такой архитектуре, это организация эл.диска в 96 кб, доступного подпрограммами F836 и F839 (что позволит без переделок прогонять DOS для ОРИОНА использующие эл.диск из запасного ОЗУ). У меня есть несколько DOS (при Z80 вдвое больше), которые могут работать и без наличия внешнего физического носителя, используя RAM-диск из излишнего ОЗУ. В ту же РК-ДОС, адаптируя её на ОРИОН я в 1994 встроил эл.диск (из излишних банок ОРИОНА), что позволяет использовать РК-ДОС совсем без дисковода. Также эл.диск существенно ускоряет копирование дискет при одном дисководе и ускоряет трансляцию.
На моём РК с 565 РУ5 сейчас сделано аналогично, - есть вторая полубанка из банки РУ5-тых. Больше смысла полубанковая коммутация имела бы при использовании 565 РУ7. Но РУ7-мые, т.к у них вектор регенерации не 7-ми битовый, а 9-ти битовый, в схеме РК работают с нарушением ТУ, т.е период регенерации превышает допустимое. Хотя было одно утверждение, что РУ7 с упехом работали в РК (но одно дело новые РУ7-мые, а другое 30-ти летней давности полудохлые с сильно утекающими накопительными емкостями).
Потому более правильно расширять ОЗУ на SIMM-30 на 256К или 1 мб. У них период регенерации вдвое выше. Эмулятор EMU поддерживает такую архитектуру с полубанковой коммутацией до 16 мб (могу поделиться соответствующим конфигом или можете сами его составить, если почитаете форум на эту тему на ZX-PK.ru). Но кроме этого у меня добавлено 8 кб из статического ОЗУ 6264 в окне A000...BFFF, чтобы было где работать DOS-ам и отладчикам.
Я реализовывал на своём РК много разных вариантов расширения ОЗУ (как совместимых, так и с полной сменой адресации портов). При этом у меня на плате РК обычно был смонтирован десяток доп.корпусов в три этажа. В итоге в 90-тые остановился на варианте с окном в 15К в области 8400...BFFF (это делалось и на 62256 и из РУ5-тых). Но это не лучший вариант, т.к порт 8000 всё-равно остаётся посередине памяти. Но самое главное, что пайка микросхем в три этажа вряд-ли может стать популярной.
Недавно кто-то придумал конструктивно более удобный и перспективный вариант расширения ОЗУ.
К сожалению, в теме нет даже чёткого описания архитектуры (хотя бы словами, хотя принято приводить и графическое представление карты памяти). Прочитав тему, с трудом уяснил архитектуру, может и неправильно (по схеме, кстати, архитектуру не понять).
Для понимания того как устроена расширенная память доступно лишь одно предложение: "расширенная память 128К в SOIC, переключающаяся четвертинками через 2 младших бита нового порта #F000". Не сразу сообразил, - речь о четвертинке ОЗУ в 128К (т.е 32К) или о четвертинке адресного пространства в 64К (т.е 16К). Обычно описывая диспетчер памяти пишут, что "дополнительная память коммутируется в таком-то окне" (например, 0...7FFF или 4000...7FFF). Тогда из одной фразы всё ясно.
И лишь из того, что для управления памятью служат только два бита, сделал вывод, что используется так называемая полубанковая коммутация. Т.е вся память в 128К прокачивается в каком-то окне в 32 кб половинками банки (считая банкой 64К, в принципе 8 штук 565 РУ3 с размером в 16К тоже именуются банкой).
Про ПЗУ тоже нет кристальной ясности в описании. Из предложения "ПЗУ 8К, когда при включении управление передаётся на #F800, а не на #E000" - для знакомых со схемотехникой РК кое-что проясняется. Но незнакомый с базовой архитектурой РК вообще ничего не поймёт про ПЗУ из такого описания.
Предположительно доп.ПЗУ в 8 кб устанавливается на область адресации ПДП E000...FFFF, т.к в эту область процессор только пишет, потому ПЗУ можно совместить с ПДП, что и было сделано в РК-КНГМД Е.Седова. В общем, картинка карты памяти с указанием адресов дополнительно введённых чип-селектов для подключения расширений была бы нагляднее слов.
Ещё полезно было бы обоснование именно такой архитектуры в развитие РК86. Какова цель доработки? Понятно, что при любых доработках сто-процентная совместимость с базовым РК это аксиома. И желательно сохранить совместимость с единственной DOS для РК86 на базе РК-КНГМД, который адресуется по адресу F000.
Конечно, если предполагается последующая программная поддержка новой улучшающей архитектуры, то нет смысла обращать внимание на предыдущие доработки железа. Например RK-DOS и десяток программ (а именно, утилиты DOS, дисковый бейсик, текстов редактор, нортон и диск-доктор) не проблема перетранслировать под другие адреса КНГМД. Т.е совершенно одна ситуация, когда планируется мощная программная поддержка новой архитектуры, т.е выпуск основного набора системных программ, поддерживающих доработки и новую периферию и совсем другое, когда делается доработка нарушающая совместимость со старым ПО и ничего не предлагается взамен.
Разумеется любой вариант расширения ОЗУ полезен и может быть с пользой использован. Но основным недостатком РК86 является маленькое сплошное ОЗУ, что мешает применению DOS CP/M, которая отнимает ~10 кб памяти из 29-ти доступных, что делает её бессмысленной для базового РК (т.к половина программ РК имеет размер больший, чем 19 кб, что можно загрузить в ОЗУ пользуясь такой файловой системой). Возможность использовать CP/M резко повысило бы потребительные качества новой реплики РК86. Мало кого интересуют убогие игры от РК86, тогда как ради CP/M-программ энтузиасты специально изобретают уникальные собственные CP/M-машины.
Сейчас мало кто пишет программы для РК86, хотя появляется пара новых программ в год. Причём только под базовое железо, т.к ничего другого просто нет. Никто, кроме авторов РК-Макси, не предпринимал попыток улучшения архитектуры РК. Разговоров много, а дел 0. Потому-что то, что надо, понимают только те, кто программирует. А печ.платы новоделы делают другие, равнодушные. Данная реплика это единственное развитие РК86 за 25 лет.
Полубанковая идеология расширения ОЗУ не даёт CP/M (т.к даже если напрячься и вволю потрахавшись, переместить код CP/M в другую полубанку, то TPA в 32 кб для фирменных программ CP/M всё-равно мало). Для программ лишние 96 кб вообще не нужны. Сейчас имеет смысл писать только используя ЯВУ CP/M, а они не поддерживают многобанковость (потому и от CP/M 3.0 толку не намного больше, чем от 2.2, реальная польза только даты).
Потому, единственная польза которую можно придумать для доп.ОЗУ в такой архитектуре, это организация эл.диска в 96 кб, доступного подпрограммами F836 и F839 (что позволит без переделок прогонять DOS для ОРИОНА использующие эл.диск из запасного ОЗУ). У меня есть несколько DOS (при Z80 вдвое больше), которые могут работать и без наличия внешнего физического носителя, используя RAM-диск из излишнего ОЗУ. В ту же РК-ДОС, адаптируя её на ОРИОН я в 1994 встроил эл.диск (из излишних банок ОРИОНА), что позволяет использовать РК-ДОС совсем без дисковода. Также эл.диск существенно ускоряет копирование дискет при одном дисководе и ускоряет трансляцию.
На моём РК с 565 РУ5 сейчас сделано аналогично, - есть вторая полубанка из банки РУ5-тых. Больше смысла полубанковая коммутация имела бы при использовании 565 РУ7. Но РУ7-мые, т.к у них вектор регенерации не 7-ми битовый, а 9-ти битовый, в схеме РК работают с нарушением ТУ, т.е период регенерации превышает допустимое. Хотя было одно утверждение, что РУ7 с упехом работали в РК (но одно дело новые РУ7-мые, а другое 30-ти летней давности полудохлые с сильно утекающими накопительными емкостями).
Потому более правильно расширять ОЗУ на SIMM-30 на 256К или 1 мб. У них период регенерации вдвое выше. Эмулятор EMU поддерживает такую архитектуру с полубанковой коммутацией до 16 мб (могу поделиться соответствующим конфигом или можете сами его составить, если почитаете форум на эту тему на ZX-PK.ru). Но кроме этого у меня добавлено 8 кб из статического ОЗУ 6264 в окне A000...BFFF, чтобы было где работать DOS-ам и отладчикам.
Я реализовывал на своём РК много разных вариантов расширения ОЗУ (как совместимых, так и с полной сменой адресации портов). При этом у меня на плате РК обычно был смонтирован десяток доп.корпусов в три этажа. В итоге в 90-тые остановился на варианте с окном в 15К в области 8400...BFFF (это делалось и на 62256 и из РУ5-тых). Но это не лучший вариант, т.к порт 8000 всё-равно остаётся посередине памяти. Но самое главное, что пайка микросхем в три этажа вряд-ли может стать популярной.
Недавно кто-то придумал конструктивно более удобный и перспективный вариант расширения ОЗУ.
-
- Senior
- Posts: 139
- Joined: 11 Jun 2012 07:30
Re: Радио-86РК на SRAM 128K Alpha
Как видно из принципиальной схемы
, управление памятью в сабже выполняется путем записи байта по адресу 0xFxxx. Два младших бита записанного байта при этом запоминаются в IC33A (бит 0) и IC33B (бит 1) и выбирают одну из четырех 32кб страниц ОЗУ, которая занимает логические адреса с 0x0000 по 0x7FFF. Сделано весьма экономно с точки зрения аппаратных ресурсов, однако есть неудобство в том, что переключается все имеющееся ОЗУ. В частности, Монитор после сброса настраивает только нулевую страницу, и переключение на любую другую приводит Монитор в некоторое недоумение.
Возможны другие, более сложные, но и более гибкие подходы, см., например, прилагаемую классическую (20-летней давности) двухстраничную статью (на английском). Вместо 74LS170 сегодня есть 74LS670, так что можно попробовать в следующей инкарнации.

Возможны другие, более сложные, но и более гибкие подходы, см., например, прилагаемую классическую (20-летней давности) двухстраничную статью (на английском). Вместо 74LS170 сегодня есть 74LS670, так что можно попробовать в следующей инкарнации.
You do not have the required permissions to view the files attached to this post.
-
- Doomed
- Posts: 585
- Joined: 19 Feb 2017 03:46
- Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Имеется ввиду, что по сбросу ROM-BIOS инициализирует рабочие ячейки, в частности ячейки 7600/7601 (экр.адрес курсора) и 7602/7603 (POSX и POSY).alexcp wrote:есть неудобство в том, что переключается все имеющееся ОЗУ. В частности, Монитор после сброса настраивает только нулевую страницу, и переключение на любую другую приводит Монитор в некоторое недоумение.
Не вижу в этом проблемы. Рабочие ячейки ПЗУ при переключении полубанок остаются в полубанке 0 и там же остаётся экранный буфер. Из-за чего п/п-ммы F803, F809, F818 и F815 можно вызывать только при текущей полубанке 0. Лишь п/п-мму F81B можно вызывать из любой банки (т.к она не использует рабочих ячеек). Также сделано и в ОРИОНЕ. Там тоже программа не в банке 0 не может вызывать подпрограммы в ПЗУ.
Для программ написанных на ассемблере хватает 29 кб в полубанке 0. Нет необходимости перемещать часть кода в другие полубанки. Потому ОЗУ других полубанок имеет смысл использовать лишь для хранения данных. И проще и лучше всего в качестве RAM-диска. Для чего требуется лишь ввести в ПЗУ две подпрограммы - чтение и запись байта из/в любой полубанке. Причём как и в ОРИОНЕ их можно вызывать только из полубанки 0, т.к возврат из этих подпрограмм всегда производится именно в полубанку 0.
Некоторые считают, что полезно иметь некоммутируемый участок ОЗУ, аналогично области F000...F3FF в ОРИОНЕ. Но на самом деле это вовсе не требуется. Т.к в случае необходимости записав во все полубанки по одинаковым адресам один и тот же код, получается как бы участок некоммутируемого ОЗУ. Это может быть полезным, если используются прерывания. В ОРИОНЕ при работе кода не в той банке где находится обработчик прерываний, прерывания приходится запрещать во избежание улёта.
В прошлом году я уплющил ROM-BIOS РК86 выиграв за счёт более оптимального программирования более 170 ячеек. Это позволило ввести подпрограммы F836/F839, а также клавиатурные переходы (программные прерывания) по сочетанию клавиш. Но вообще-то для полноценного RAM-диска объёма памяти в 128 кб явно мало. Эл.диск в 96 кб даже не позволяет использовать CP/M-компилятор Паскаля, т.к он имеет объём ~150 кб.
Похоже, что (а для РК из-за отсутствия буферов особенно) электронный диск лучше иметь внешний, использующий в качестве интерфейса запасной ППА D14 и построенный с использованием статических ОЗУ, снабжённых пуговичной батарейкой. Расход деталей, кроме собственно ОЗУ (и если их много, то и дешифратора ИД7) составляет всего один регистр (защёлка старших адресов). Преимущество в том, что внешний диск подключенный через ППА может быть любого размера и при этом совсем не нагружает шины. Преимущество такого устройства также в том, что оно универсальное, его легко снять и подключить к другой 8-ми разрядке.
Другой вариант получения RAM-диска большего размера это установка в РК86 в качестве ОЗУ SIMM-30 объёмом 1 мб (или даже 4 мб). Существует и статическое КМОП ОЗУ большого объёма, но они, похоже, все планарные с очень мелким шагом в 0.5 мм (в лучшем случае 0.75 мм), что не позволяет их применить в самодельном изделии.
Насчёт битов управляющих коммутацией ОЗУ. Можно было не вводить для этого дополнительный порт $F000, т.к в ППА клавиатуры при РК-матрице клавиш есть как раз два свободных бита PC1 и PC2.
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Радио-86РК на SRAM 128K Alpha
PC1 в этой схеме переключает шрифты и потом целый порт - это расширение на будущее 

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Doomed
- Posts: 585
- Joined: 19 Feb 2017 03:46
- Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Shaos wrote:микросхема ВВ55 ROM-диска (и сам ROM-диск) убрана на внешнюю платку... и такой же разъём выведен на адрес #9000 для подключения подобных же платок расширения
Shaos wrote:введены дополнительные дешифраторы #C000 (разделяемый ресурс с ВГ75), #C800, #D000, #D800 - все эти чип-селекты... выходят наружу через 28-дырочный разъём
Вот такая получается карта памяти области портов:Shaos wrote:ввод с магнитофона и контроллер ЭЛТ в области #C000...#C7FF будут работать только в нулевой странице памяти (индикация светодиодом LED5), а во всех остальных страницах (1,2,3) вместо ввода с магнитофона на PC4 клавиатурной ВВ5 пойдёт вертикальная синхра с ВГ75 (чтобы программно ловить момент окончания кадра), а в области #C000...#C7FF будет распологаться внешняя плата, подключенная через 28-пиновый разъём
8000...8FFF - ППА клавиатуры (PC1 выбор фонта, PC4 ввод с МГ в полубанке 0 и КСИ в других банках)
9000...9FFF - свободный чип-селект
A000...BFFF - свободный чип-селект
C000...C7FF - CRT ВГ75 в полубанке 0 и свободный чип-селект в других полубанках
C800...CFFF - свободный чип-селект
D000...D7FF - свободный чип-селект
D800...DFFF - свободный чип-селект
E000...EFFF - ПДП ВТ57
F000...F7FF - двухбитовый регистр вывода на 555 ТМ2, диспетчер ОЗУ
F800...FFFF - ROM-BIOS
Правильно понял? Не понял есть ли ПЗУ на весь участок в 8 кб в области E000...FFFF, т.к не разобрался, что с адресами A11 и A12 у ПЗУ с ROM-BIOS-ом. Схемы не по советскому ГОСТ-у понимать трудно.
Получается, что выкинули ППА пользователя D14 (что в стандарте по адресу $A000) и добавили выходной порт диспетчера памяти $F000. Последнее это очень неудачный ход, т.к во-первых, это разрушает совместимость с РК-КНГМД и РК-ДОС, во-вторых порты конфигурации всегда выгоднее реализовывать на ВВ55, так как тогда их можно читать.
В частности, именно так сделано в ИРИШЕ, ОКЕАНЕ, ОРИОН-ПРО и других машинах с диспетчером ОЗУ. А здесь повторена ошибка ОРИОНА - нет возможности узнать текущую конфигурацию. Потому я предпочёл управлять полубанковой коммутацией битами запасного ППА D14. Возможность читать порт конфигурации дала бы возможность вызывать подпрограммы ПЗУ из любой полубанки, т.е использовать дополнительное ОЗУ не только для данных, но и для исполняемого кода, и упрощает обработку прерываний.
В-третьих, разумнее всего вводить доп.порты именно в области F000...F7FF, например, с помощью 1533 ИД7 формируя здесь 8 чип-селектов с шагом в 100H. Т.к имея управляющий режимом и неотключаемый ППА в области F000, можно истратив всего один корпус 1533 КП11 отключать порты из области 8000...DFFF, заменяя их на доп.ОЗУ и создавая тем самым альтернативный режим со сплошным ОЗУ в 56К, не теряя при этом и совместиомсти с базовым РК.
А ROM-диск наиболее экономично было бы читать тем же ППА клавиатуры, как догадались сделать лишь в отечественной ретро ЭВМ "Ойрика" (это клон РК, но выполненный по схеме Специалиста, выпускаемый с 1989 в Прибалтике). Читать КСИ через ППА также не имеет особого смысла, т.к бордёр (который в РК как раз и есть КСИ) читается из регистра статуса ВГ75. Управлять фонтом при отсутствии цвета разумно с помощью атрибутов самого ВГ75, атрибуты для того и предназначены. Это даёт возможность в одном экране иметь более 128-ми разных символов (например, все латинские плюс КОИ-8 или КОИ-7 но с инверсией знакомест и настоящей псевдографикой для рамок).
Уже удалось запустить хотя бы один экземпляр платы?
PS. Недавно прочитал про Паскаль и Си и выяснил для себя, что сионисты HEX-адреса пишут так - 0xF809, пасквилянты и эпловоды так - $F809, синклеристы вот так - #F809, программисты на Intel-производных ассемблерах вот так - 0F809H, а те кто вообще ни на чём не программируют, пишут вот так - F809.
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Радио-86РК на SRAM 128K Alpha
barsik wrote:Получается, что выкинули ППА пользователя D14 (что в стандарте по адресу $A000)
Почему выкинули? Вынесли на внешнюю платку
И потом F000 является портом переключения памяти только если туда писатьbarsik wrote:и добавили выходной порт диспетчера памяти $F000. Последнее это очень неудачный ход, т.к во-первых, это разрушает совместимость с РК-КНГМД и РК-ДОС, во-вторых порты конфигурации всегда выгоднее реализовывать на ВВ55, так как тогда их можно читать.
Если читать, то это часть ПЗУ E000...FFFF (вроде так)
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Doomed
- Posts: 585
- Joined: 19 Feb 2017 03:46
- Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь
Все обсуждения вариантов улучшения архитектуры РК в форуме ZX-PK.ru всегда заканчивались тем, что желательно получить сплошное ОЗУ в 60 кб, а не консервировать навсегда базовую концепцию 32-х килобайтной машины, добавив к ней лишь внутренний электронный диск. Таким образом очевидно, что усовершенствование архитектуры памяти в данной разработке неудачное.
Однако при желании, истратив очень небольшое количество проволоки, т.е простейшими мерами можно всё-же кое-что исправить на данной плате.
Во-первых, можно используя решение, что я когда-то предлагал для ОРИОНА, получить возможность узнавать текущую страницу ОЗУ за счёт расширения ПЗУ. Достаточно поставить вместо ПЗУ 2764 более ёмкое ПЗУ 27256 и соединить его адреса A13 и A14 с битами 555 ТМ2 управляющими номером текущей полубанки ОЗУ. Тем самым страницы ПЗУ будут переключаться синхронно со страницами ОЗУ.
Тогда в одну ячейку каждого 8-ми килобайтового участка ПЗУ, что читается в адресах E000...FFFF, а именно в ту ячейку, что в каждой банке читается из адреса FFFF, прошивается номер банки. Т.е в абсолютных адресах ПЗУ 1FFF, 3FFF, 5FFF и 7FFF прошиваются соответственно байты 0,1,2,3 и процессор в любой момент считав ячейку FFFF может узнать текущий номер банки. Расход деталей на это - два кусочка проволоки, причём и объём резидентного ПЗУ увеличивается в разы.
Это даёт возможность программам работать в любой банке, а при желании даже поиметь коммутируемую на прерываниях многозадачность. Причём для программы в банке 0 доступно всего 29 кб (остальное отнимает экран и рабочие ячейки ПЗУ), а для программ в банках 1,2,3 доступны все 32 кб.
Ещё одним ценным улучшением архитектуры стало бы "открытие ОЗУ" в окне A000...BFFF. Для этого по-крайней мере есть программы и пользы от всего лишь 8 кб в верхнем ОЗУ намного больше, чем от остальных 96 кб, что пригодны лишь для RAM-диска.
Включение ОЗУ в окне A000...BFFF возможно потому, что запасной ППА D14 не требуется ставить именно в адрес A000. Этот ППА используется только для прошивателя УФ-ПЗУ (кстати, все приличные прошиватели позволяют программно изменить адрес ППА) и для нежурнальных решений - для чтения ROM-диска подпрограммой в ROM-BIOS, который не проблема перетранслировать для любых адресов В/У.
Соответствующая коррекция на данной плате - это два диода, резистор и кусок проволоки, что выполняют объёдинение по схеме "монтажное-И" имеющегося чип-селекта ОЗУ и чип-селекта участка A000...BFFF. То же самое дало бы включение в разъём внешней платки с 6264 выбираемой в окне A000...BFFF. Но зачем так сложно, если кусок проволоки и два диода решают ту же задачу.
Замечу также, что в любой новодельной реплике РК86 очень желательна доработка для улучшения качества и размера фонта с 6*8 до 8*8 (это достигается заменой 155 ИЕ4 на 155 ИЕ5 и кварца с 16 МГЦ до 20 МГЦ). А также сделать простейшую доработку (расход деталей 1 шт. 155 ЛИ1), чтобы при основном режиме в 25 видимых строк не было межстрочных промежутков в 2 линии растра. Именнно это, возможно, отвратило авторов РК от введения инверсии знакомест (что поддерживает ВГ75).
Широкие возможности даёт включение в области F000...FFFF ОЗУ, что позволяет загружать любой ROM-BIOS. Читал когда-то, что один пользователь РК в начале 90-тых поставил в него 565 РУ7 и сделал ОЗУ в области F800, куда грузил ROM-BIOS из ПЗУ.
По схеме не понял зачем нужна 555 АП6. Вроде бы, я уяснил архитектуру этой новодельной платы. Если уже есть работающие образцы, могу предложить для данной платы ROM-BIOS, двухстраничный фонт (шрифт 8*8) и несколько DOS на базе RAM-диска из излишнего ОЗУ.
Однако при желании, истратив очень небольшое количество проволоки, т.е простейшими мерами можно всё-же кое-что исправить на данной плате.
Во-первых, можно используя решение, что я когда-то предлагал для ОРИОНА, получить возможность узнавать текущую страницу ОЗУ за счёт расширения ПЗУ. Достаточно поставить вместо ПЗУ 2764 более ёмкое ПЗУ 27256 и соединить его адреса A13 и A14 с битами 555 ТМ2 управляющими номером текущей полубанки ОЗУ. Тем самым страницы ПЗУ будут переключаться синхронно со страницами ОЗУ.
Тогда в одну ячейку каждого 8-ми килобайтового участка ПЗУ, что читается в адресах E000...FFFF, а именно в ту ячейку, что в каждой банке читается из адреса FFFF, прошивается номер банки. Т.е в абсолютных адресах ПЗУ 1FFF, 3FFF, 5FFF и 7FFF прошиваются соответственно байты 0,1,2,3 и процессор в любой момент считав ячейку FFFF может узнать текущий номер банки. Расход деталей на это - два кусочка проволоки, причём и объём резидентного ПЗУ увеличивается в разы.
Это даёт возможность программам работать в любой банке, а при желании даже поиметь коммутируемую на прерываниях многозадачность. Причём для программы в банке 0 доступно всего 29 кб (остальное отнимает экран и рабочие ячейки ПЗУ), а для программ в банках 1,2,3 доступны все 32 кб.
Ещё одним ценным улучшением архитектуры стало бы "открытие ОЗУ" в окне A000...BFFF. Для этого по-крайней мере есть программы и пользы от всего лишь 8 кб в верхнем ОЗУ намного больше, чем от остальных 96 кб, что пригодны лишь для RAM-диска.
Включение ОЗУ в окне A000...BFFF возможно потому, что запасной ППА D14 не требуется ставить именно в адрес A000. Этот ППА используется только для прошивателя УФ-ПЗУ (кстати, все приличные прошиватели позволяют программно изменить адрес ППА) и для нежурнальных решений - для чтения ROM-диска подпрограммой в ROM-BIOS, который не проблема перетранслировать для любых адресов В/У.
Соответствующая коррекция на данной плате - это два диода, резистор и кусок проволоки, что выполняют объёдинение по схеме "монтажное-И" имеющегося чип-селекта ОЗУ и чип-селекта участка A000...BFFF. То же самое дало бы включение в разъём внешней платки с 6264 выбираемой в окне A000...BFFF. Но зачем так сложно, если кусок проволоки и два диода решают ту же задачу.
Замечу также, что в любой новодельной реплике РК86 очень желательна доработка для улучшения качества и размера фонта с 6*8 до 8*8 (это достигается заменой 155 ИЕ4 на 155 ИЕ5 и кварца с 16 МГЦ до 20 МГЦ). А также сделать простейшую доработку (расход деталей 1 шт. 155 ЛИ1), чтобы при основном режиме в 25 видимых строк не было межстрочных промежутков в 2 линии растра. Именнно это, возможно, отвратило авторов РК от введения инверсии знакомест (что поддерживает ВГ75).
Широкие возможности даёт включение в области F000...FFFF ОЗУ, что позволяет загружать любой ROM-BIOS. Читал когда-то, что один пользователь РК в начале 90-тых поставил в него 565 РУ7 и сделал ОЗУ в области F800, куда грузил ROM-BIOS из ПЗУ.
По схеме не понял зачем нужна 555 АП6. Вроде бы, я уяснил архитектуру этой новодельной платы. Если уже есть работающие образцы, могу предложить для данной платы ROM-BIOS, двухстраничный фонт (шрифт 8*8) и несколько DOS на базе RAM-диска из излишнего ОЗУ.
Last edited by barsik on 22 Nov 2018 14:44, edited 2 times in total.
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Радио-86РК на SRAM 128K Alpha
Ну игловые файлы доступны - берёте их и кромсаете как душе угодно 

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Devil
- Posts: 909
- Joined: 06 Oct 2006 03:17
- Location: г.Лянтор,Сургутского р-на,ХМАО
Re: Радио-86РК на SRAM 128K Alpha
Уже покромсали и запустили в производство - https://vk.com/id18110958?w=wall18110958_522%2Fall
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Радио-86РК на SRAM 128K Alpha
А чего он не взял поправленную версию то?fifan wrote:Уже покромсали и запустили в производство - https://vk.com/id18110958?w=wall18110958_522%2Fall
P.S. Наверное потому что исправленная версия НЕ на первой странице - вставил линк на первой
Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Devil
- Posts: 909
- Joined: 06 Oct 2006 03:17
- Location: г.Лянтор,Сургутского р-на,ХМАО
Re: Радио-86РК на SRAM 128K Alpha
Он испугал, что стоимость платы будет большой. Потом сравним цены?
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Радио-86РК на SRAM 128K Alpha
Ну дык четыре слоя - в любом случае будет дорого 

Я тут за главного - если что шлите мыло на me собака shaos точка net
-
- Senior
- Posts: 139
- Joined: 11 Jun 2012 07:30
Re: Радио-86РК на SRAM 128K Alpha
Сравниваем тут. Самые дешевые китайцы сделают партию из 5 штук долларов за 40, ещё столько же будет стоить доставка. Если заказывать больше плат, то цена растёт медленно: каждая дополнительная плата стоит около $1.5.
-
- Fanat
- Posts: 67
- Joined: 10 Mar 2018 12:50
Re: Радио-86РК на SRAM 128K Alpha
память конечно много не бывает, но 128кб нафига Р86? Или просто - мы могём?
-
- Admin
- Posts: 23989
- Joined: 08 Jan 2003 23:22
- Location: Silicon Valley
Re: Радио-86РК на SRAM 128K Alpha
Ну дык одним чипом всё равно...
Я тут за главного - если что шлите мыло на me собака shaos точка net