Радио-86РК на SRAM 32K

Советский компьютер Радио-86РК (1986) и его клоны

Moderator: Shaos

gdv2002
Fanat
Posts: 52
Joined: 22 Mar 2018 20:46

Re: Радио-86РК на SRAM 32K

Post by gdv2002 »

Огромное спасибо Юрию Лесных (ник на полигоне призраков Juriy за проверку платы, в целом ошибок не было, кроме перевернутой шины на ВИ53.
Исправил, выложил поправленную схему и картинку платы.
На этом и остановлюсь скорее всего.

 
123.JPG

You do not have the required permissions to view the files attached to this post.
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: Радио-86РК на SRAM 32K

Post by PVV »

При использовании в РК-86 SRAM на 32КБ, во вложении вариант адресного дешифратора, который применен у меня, без использования новых микросхем. На каждый чипселект выделяется участок в 4КБ, а не 8КБ, как в оригинале. Это дает возможность использовать дополнительные участки памяти для своих целей. Это хоть РКДОС, хоть дополнительная память, хоть SD интерфейс.
Остальные узлы в схеме, это мои эксперименты, под разные микросхемы, под два узла видеовыхода, ТВ и VGA, выбор типа выхода осуществляется перепайкой нескольких проводов и заменой ПЗУшек. Кроме того в варианте ТВ сделана замена ИЕ4 на ИЕ5, с соответствующим разгоном ВМ80 из-за замены кварца с 16МГц на 21.48МГц.
Дополнительные чипселекты у меня задействованы под ОЗУ на 6264 (4КБ из 8и), которое используется в SDOS и SD интерфейс. В этом варианте основное ОЗУ ни как не занимается SDOS, и не мешает ни одной программе РК.
You do not have the required permissions to view the files attached to this post.
User avatar
barsik
Doomed
Posts: 585
Joined: 19 Feb 2017 03:46
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь

Post by barsik »

Схема PVV удачна, т.к добавляет чип-селекты без доп.микросхем, но в части включения ПЗУ в окне 8 кб немного неточно нарисована. Кроме того у меня есть сомнения по работе узла начального пуска. Так сработает, но конфликт на шине сознательно задавать неправильно. PVV предложил вот такую схему:

Image

Сигнал НП сбрасывается по первому чтению из памяти выше 8000. Первой командой в ПЗУ стоит JMP в область F800. При чтении второй команды из области F800 - НП=А15=1 и на обоих входах ЛП5 оказываются 1. Исключающее-ИЛИ в этом случае на выходе даёт 0. Таким образом при чтении этой второй команды на шину кратковременно выдастся и содержимое ОЗУ 62256 и содержимое ПЗУ в области F800. Спустя время задержек элементов триггер НП сбросится и чип-селект на 62256 исчезнет и в итоге (если за время конфликта на шине ПЗУ не сдохнет) вторая команда из ПЗУ считается правильно. Правильно будет вместо вентиля из ЛП5 применить вентиль из ЛЛ1.

Так как нарисовано, ПЗУ включено лишь в окне F000...FFFF (а зачем тогда заводить на ПЗУ адрес А12 ?). В таком включении дешифратор даёт выборки по 4 кб и чтобы поиметь для ПЗУ выборку на все 8 кб надо сложить по И две выборки E000 и F000, для чего проще всего использовать схему "монтажное-И" на двух диодах (или может вентиль из ЛИ1 остался неспользованным).

- - - Добавлено - - -

Несмотря на то, что к такому же некорректному варианту выборки ОЗУ на ЛП5 пришёл и другой разработчик клона РК86 (по имени kovdry) http://ipic.su/img/img7/fs/RK_New.1578199071.png, это всё-равно не отменяет кратковременного встречного включения ОЗУ и ПЗУ до сброса сигнала НП с триггера.
Villiam
Novelist
Posts: 35
Joined: 26 Nov 2019 12:00
Location: Санкт-Петербург

Re: Радио-86РК на SRAM 32K

Post by Villiam »

У меня вопрос новичка, прошу не кусать меня сильно :roll:
Собрал РК по схеме сабжа. ПЗУ для Монитора 8Кб. Сам Монитор занимает последние 2Кб. И в самом начале этого ROM диска 3 байта заняты на JMP F836h.
Вопрос: могу я на это же ПЗУ записать, допустим, интерпретатор БЭЙСИКа и подгружать его из монитора дерективой "Т"?
Будет ли это работать?
Пример: Дополнил ПЗУ интерпретатором или игрой. В Мониторе напечатал Т(начало области),(конец области),0000. Дальше G0.
Костыли и велосипеды... :rotate:
User avatar
barsik
Doomed
Posts: 585
Joined: 19 Feb 2017 03:46
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь

Post by barsik »

Villiam wrote:ПЗУ для Монитора 8 Кб. Сам Монитор занимает последние 2 Кб. И в самом начале этого ROM диска 3 байта заняты на JMP F836.
Получается, что в старых версиях этой платы, ПЗУ 8 кб включалось на всё окно в 8 кб, а gdv2002, или ещё кто-то до него, это свойство сгубил. Сделав окно ПЗУ всего в 2 кб, чтобы выиграть дешифратором из области в 8 кб четыре чип-селекта E000, E800, F000 и F800, как сделано в Микроше и журнале Радио 01.1993 для установки РК-КНГМД.

Если окно ПЗУ всего 2 кб, то иметь доступ к другим страницам по 2 кб программно нельзя, а только вручную переставляя перемычки (на адресах A11,A12) можно выбрать одну из 4-х предустановленных прошивок ПЗУ. В базовом РК86 по адресу E000 тоже читается код JMP F836, а следом и все остальные JMP-ы, что стоят на F803, F806, F809. Потому что в базовом РК86 из-за неполной дешифрации ПЗУ РФ2 один и тот же код повторяется четыре раза в окне 8 кб.

В оригинальном ПЗУ РК86, если первая буква команды не резидентная директива, то делается JMP F000. Это не приводит к беде, т.к в базовом РК86, как вышеуказано, с F000 повторяется ПЗУ F800. При этом по JMP F836 происходит очистка экрана и вывод титра. Когда пользователь расширил обработчик команд монитора своими дополнительными директивами прошитыми в ПЗУ F000, то тоже не возникает горя. Зато, если по инструкции Е.Седова поставлен дешифратор дающий 4 чип-селекта, то с тем же самым ПЗУ из F000 уже не читается ПЗУ F800, а читается что-то иное из РК-КНГМД и потому по ошибочной директиве происходит улёт. Потому при установке РК-КНГМД полезно в ПЗУ F800 поменять JPM F000 на JMP F800.

Кстати, непонятно как у авторов РК86 при ПЗУ начинающемся с F000 получался сброс, если по сбросу с адреса 0 выполнялся код стоящий на F000, где должен стоять уже не JMP F836, а расширитель директив монитора, т.к его CCP, если первая буква командной строки не является командой резидентного монитора делает JMP F000 (на расширитель монитора). Это противоречие по коду на адресе F000 может быть снято, если схемотехника узла сброса изменена так, чтобы по сбросу происходил старт не с начала ПЗУ, а именно с ПЗУ F800. Что существенно усложняет схему, если применено не две ПЗУ РФ2 с дешифратором, а одно ПЗУ двойной ёмкости типа 2732 с объёмом в 4 кб.

Если же у Вас с E000 стоят лишь 3 байта JMP-а, а последующие байты это $FF (что бывают в пустом ПЗУ), то в этом ПЗУ действительно свободно 6 кб минус три байта. Увы, я не встречал РК-бейсиков размером до 6 кб, все что попадались были под 8 кб. Самый маленький бейсик это бейсик 1A20 размером в 7 кб (опубликован в трёх первых номерах журнала "Радио" за 1985 год).

Где-то читал, что для CPU 8080 существовал и совсем крошечный бейсик размером в 1860 байт (таких мелких бейсиков в ПЗУ 6 кб влезет сразу 3 штуки и ещё останется свободным более килобайта). Но такой версии для РК86 мне не попадалось. А в Википедии читал, что Билл Гейтс написал для CPU 8080 целочисленный Альтаир бейсик размером всего в 4 кб. Так что в 6 кб как раз влезут эти 2 бейсика на 4.0 и 1.8 кб . Но их нужно адаптировать под РК86.

Зато в 6 кб можно уместить отладчик адаптированный от DDT (он 4 кб) или текстов редактор МИКРОН-2 (он тоже 4 кб) или пакет Микрон-1 целиком: редактор, ассемблер и дизассемблер. Они как раз вместе 6 кб. Особенно, если дизассемблировать их IDO-й и перетранслировать для работы прямо из ПЗУ E000 (это увеличит размер буфера текста). Хотя сейчас от этого пользы - ноль, т.к сейчас уже никто не пишет программы пакетом Микрон (потому что на IBM PC есть более удобные текстовые редакторы и даже ассемблеры макро, а не примитивные).

Много всего полезного в ПЗУ с 8-ми килобайтовым окном E000...FFFF можно уместить только, если оно многостраничное, т.е если применено 27128 / 27256 / 27512, на чьи старшие адреса для выбора страницы поступают веса с какого-то доп.регистра или запасного ППА D14.
Вопрос: могу я в это же ПЗУ записать [какой-либо софт]... и подгружать его в ОЗУ директивой T монитора? ... Дальше - G[addr]<ВК>. Будет ли это работать?
Конечно. Если недохлый код прошит в ПЗУ без ошибок и целиком скопирован на правильные адреса, то что может помешать ему работать? Коду без разницы как он попал в ОЗУ.

Только зачем мучиться и всякий раз вручную набирать с клавиатуры длинную ком.строку? Так как в ПЗУ F800 для доработок доступно свободное место в 285 байтов, то всего десяток дополнительных команд КР580 заменят утомительный ручной набор набор директивы T. Легко сделать, чтобы, например, по команде A<ВК> в ОЗУ из ПЗУ E004...F003 копировался и запускался редактор-ассемблер в 4 кб или отладчик.

Хотя, если есть ROM-диск, то в резидентном ПЗУ нет смысла хранить прикладные программы (игры, текстовые редакторы и т.п.), т.к их удобнее хранить во внешнем ROM-диске, применяя доработанное ПЗУ F800 с поддержкой ROM-диска. В резидентном ПЗУ стОит хранить только тот код, что работает из самого этого ПЗУ, например отладчик. Или то, что нужно для работы системы, например, программу приёма файлов по проводной линии из IBM PC.
Last edited by barsik on 03 Mar 2020 22:16, edited 5 times in total.
gdv2002
Fanat
Posts: 52
Joined: 22 Mar 2018 20:46

Re:

Post by gdv2002 »

barsik wrote:Получается, что в старых версиях этой платы, ПЗУ 8 кб включалось на всё окно в 8 кб, а gdv2002, или ещё кто-то до него, это свойство сгубил. Сделав окно ПЗУ всего в 2 кб, чтобы выиграть дешифратором из области в 8 кб четыре чип-селекта E000, E800, F000 и F800, как сделано в Микроше и журнале Радио 01.1993 для установки РК-КНГМД.
Нет, изначально автор этой версии так спроектировал.
Для РК чего тока нет, РОМ-диски разные, флеш-диск со своей ДОС, адаптер СД-карты тоже с ДОС. Зачем в ПЗУ что-то кроме МОНИТОРа пихать?!
Villiam
Novelist
Posts: 35
Joined: 26 Nov 2019 12:00
Location: Санкт-Петербург

Re: Re:

Post by Villiam »

gdv2002 wrote:Для РК чего тока нет, РОМ-диски разные, флеш-диск со своей ДОС, адаптер СД-карты тоже с ДОС. Зачем в ПЗУ что-то кроме МОНИТОРа пихать?!
У меня сейчас всё на макетке МГТФом растянуто. ППА Д14 ещё не впаял. И магнитафонные входы-выходы тоже ещё не сделал(и вряд ли буду). Поэтому из доступного пока только ПЗУ с Монитором, вот и изгаляюсь. Ну и параллельно изучаю принципы построения подобных компьютеров) До недавнего времени я только для AVR и STM32 писАл/собирал. :oops:
Костыли и велосипеды... :rotate:
PVV
Doomed
Posts: 463
Joined: 12 Feb 2016 13:39

Re: Радио-86РК на SRAM 32K

Post by PVV »

Я чет упустил, клавиатура есть уже?
Касательно что зашить в ПЗУ в компанию к монитору, то на своей макетке РК, я добавлял SDOS. В мониторе РК, если не изменяет память, есть директива перехода на адрес F000, можно SDOS собрать с этого адреса, так все будет работать весьма красиво. SD карту же, можно подключить на ножках клавиатурной ВВ55, как раз, если не планируется использовать магнитофонные цепи, то это то, что надо. ОЗУ для SDOS для начала выделить в основной памяти, а дальше на один из свободных чипселектов во второй половине адресного пространства прицепить хоть 2КБ, хоть 8КБ ОЗУшку. Схема дешифратора под 4КБ сегменты, приведенная выше именно для этого и используется...
Villiam
Novelist
Posts: 35
Joined: 26 Nov 2019 12:00
Location: Санкт-Петербург

Re: Радио-86РК на SRAM 32K

Post by Villiam »

PVV wrote:Я чет упустил, клавиатура есть уже?
Касательно что зашить в ПЗУ в компанию к монитору, то на своей макетке РК, я добавлял SDOS. В мониторе РК, если не изменяет память, есть директива перехода на адрес F000, можно SDOS собрать с этого адреса, так все будет работать весьма красиво. SD карту же, можно подключить на ножках клавиатурной ВВ55, как раз, если не планируется использовать магнитофонные цепи, то это то, что надо. ОЗУ для SDOS для начала выделить в основной памяти, а дальше на один из свободных чипселектов во второй половине адресного пространства прицепить хоть 2КБ, хоть 8КБ ОЗУшку. Схема дешифратора под 4КБ сегменты, приведенная выше именно для этого и используется...
Клавиатура сейчас на этапе монтажа)
Очень полезные ссылочки, спасибо! Буду разбираться! :idea:
Костыли и велосипеды... :rotate:
User avatar
alexcp
Senior
Posts: 139
Joined: 11 Jun 2012 07:30

Радио-86РК на SRAM 32K от Сергея Киселева

Post by alexcp »

Radio-86PK-1.0-With_Keyboard.jpg
Подробности на https://github.com/skiselev/radio-86rk
You do not have the required permissions to view the files attached to this post.
User avatar
Paguo-86PK
Maniac
Posts: 267
Joined: 12 Apr 2011 20:43
Location: Tashkent

Re: Радио-86РК на SRAM 32K

Post by Paguo-86PK »

Пo современным стандартам клавиатура привычнее смотрелась бы так:
Radio-86PK-With_Keyboard-std.jpg
(Сначала хотел просто написать, какие клавиши местами можно было бы поменять. Но, чтобы не выгладить совсем лентяем, решил чуток попотеть в Paint'е…)
И второй SHIFT справа не помешал бы…

P.S.: Или я не прав?
You do not have the required permissions to view the files attached to this post.
Last edited by Paguo-86PK on 02 Mar 2020 08:17, edited 1 time in total.
User avatar
alexcp
Senior
Posts: 139
Joined: 11 Jun 2012 07:30

Re: Радио-86РК на SRAM 32K

Post by alexcp »

IMHO это дело личного вкуса и предпочтений, принципиального значения не имеет. Сергей сделал так, я, к примеру, делал себе QWERTY. Кнопки можно двигать как угодно, но стандартная раскладка все равно не получится из-за особенностей Монитора.
Image
User avatar
fifan
Devil
Posts: 909
Joined: 06 Oct 2006 03:17
Location: г.Лянтор,Сургутского р-на,ХМАО

Re: Радио-86РК на SRAM 32K

Post by fifan »

Paguo-86PK, а в чём прикол цитировать вставляя ещё одну картинку платы с клавиатурой? Уже же указал, чтобы ты заменил. И так бы поняли.
User avatar
Icer
Senior
Posts: 163
Joined: 21 Aug 2018 07:39
Location: Кемеровская обл.

Re: Радио-86РК на SRAM 32K

Post by Icer »

fifan wrote:Paguo-86PK, а в чём прикол цитировать вставляя ещё одну картинку платы с клавиатурой? Уже же указал, чтобы ты заменил. И так бы поняли.
Paguo-86PK нарисовал клавиатуру своей мечты! И возможно, привел к стандарту?
Не хватает красных прямоугольников, отмечающих изменения, а то не сразу увидел различия :mrgreen: .
User avatar
barsik
Doomed
Posts: 585
Joined: 19 Feb 2017 03:46
Location: Санкт-Петербург, Россия, третья планета от Солнца, галактика Млечный Путь

Post by barsik »

В печатной плате Сергея Киселёва есть мелкое упущение, - отсутствует клавиша <F5> (дающая код 04). О том, как её ввести писали в журнале "Радио" (в статье о какой-то программе, не помню точно где, не перечитывал эти статьи > 30 лет). Эта клавиша вставляется в пустое место матрицы, а драйвер в оригинальном ПЗУ её уже обслуживает.