nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 15:31



Reply to topic  [ 39 posts ]  Go to page 1, 2, 3  Next
Советское ретро на современной элементной базе (размышления) 
Author Message
Doomed

Joined: 16 Mar 2002 17:00
Posts: 490
Reply with quote
Я, как обычно, со своими nedo-здоровыми идеями;) Как обычно, это просто мысли на тему, которые иногда возникают, и которые как-то жалко просто забыть.


Когда-то давно, когда ещё только увлёкся ZX, и не забросил электронику (т.е. лет в 13-14) было у меня желание собрать компьютер. Схем попалось тогда немного - ЮТ-88 (ужас, даже не пытался), Специалист (давали журнал, надолго не задержался), Радио-86РК. Последний даже пытался собрать - достал плату (как потом выяснилось - с кучей ошибок;), почти все детали, литературу (по ней позднее осваивал асм Z80;). Но не собрал, ума не хватило. Сейчас жалею, что всё это утеряно/выкинуто - несколько ВГ75, процессоров, и т.п., - то, что сейчас сложно найти.

С советскими компьютерами у меня в жизни, так сказать, вообще не особо сложилось - из них юзал только Вектор, и недолго - меньше года. Сейчас иногда жалею. А наверстать упущенное сложно - т.к. достать что-либо, кроме БК-0010-01 (который мне не очень интересен), стало 'несколько' затруднительно (малые тиражи других машин и охотники за КМками).

Поэтому иногда возникает желание повторить какой-нибудь старый радиолюбительский компьютер. Разумеется, желания мало, тут ещё громадную роль играет лень:), но всё-же. Однако, сейчас это, похоже, ещё сложнее, чем было в момент появления этих схем. Старые детали так просто не достать. Опять-же, проблема с корпусом и печаткой - платы почти всех конструкций были достаточно большими, на макетке собрать сложновато, заказывать дорого, травить надо уметь; корпус - банальная PC-шная башня не очень радует, тем более для устройства такого класса. Вобщем, не очень-то по-радиолюбительски.

Исходя из всего этого, периодически возникает такая мысль - переделать какую-нибудь схему под современную элементную базу. Ясное дело, что сейчас легко можно засунуть хоть все такие компы разом в одну ПЛИС, вместе с процессором и памятью. Но это несколько не то - не по-любительски: относительно дорого, и интерес несколько другого рода - сидеть за компом, писать модель схемы, вместо махания паяльником и дышания канифолью. Дешевле получается эмулятор написать - процесс похож, и на том успокоиться (а я вот не успокоился:). Ну, думаю, тут все понимают это ощущение - хочется реала.

Идеи примерно такие: взять наиболее простую конструкцию из известных, и попытаться её упростить; м.б. немного изменить. Основные идеи: никаких лишних наворотов (только 'бесплатные', появляющиеся вследствии изменения элементной базы), программная совместимость с оригиналом, уменьшение числа элементов, микросхемы в DIP-корпусах, возможность обойтись макеткой, малые габариты схемы. Габариты в идеале - чтобы можно было впихнуть в PC-клавиатуру, т.е. вытянутая узкая плата; но это, конечно, труднодостижимо (клавиатуры нынче измельчали). Никаких дисководов, хардов, крутых звуковых и видео примочек - всё это можно получить от существующих компьютеров, как PC, так и тех старых, что можно достать/собрать/купить. Носитель программ - как и было, лента (я думаю, теоретически вполне можно адаптировать ZX Taper; а при наличии 'большого' компьютера можно загружаться с него); устройство отображения - ТВ. Если цвета в оригинальной конструкции нет - то и не надо, только проще будет. Крайне желательно сохранить оригинальный процессор, всё-таки сердце машины. Хотя, я смотрю, сейчас 580ВМ80 достать нелегко; и не очень радует необходимость нескольких питающих напряжений. Можно попытаться использовать 8085, Z80, ещё что-то (будут проблемы с совместимостью).

По выбору из известных любительских конструкций. Кто там у нас был: 'Микро-80'. 'Радио-86РК', 'ЮТ-88', 'Специалист', 'Орион-128'. 'Микро' и 'ЮТ', думается, отпадают сразу. 'Радио-86РК' использует ВГ75, который сейчас не достать, а заменить сложно. Остаются два варианта, близкие по сложности и характеристикам. Мне чуть больше нравится вариант 'Специалист', незнаю почему. М.б., потому-что он чуть более отвечает моему пониманию ретро-машины. 'Орион' всё-же любители наворачивали, пытались сделать из него машину посовременнее, цепляли к нему всякое - возникнет желание тоже всё это прицепить, в итоге уход от начальной концепции. М.б. я не прав; так или иначе - два подходящих варианта.

Далее, что можно упростить в этих схемах (они ведь и так упрощены до предела), учитывая современную элементную базу. С моими познаниями в электронике мне видится не очень много решений, но попытаюсь порассуждать.

Во-первых, память. Сейчас её можно заменить на SRAM, на два корпуса 32x8 или один 128x8 (64x8 мне что-то не попадались). По деньгам примерно одинаково с динамической памятью; выгода - в уменьшении количества корпусов - как следствие, упрощение платы, уменьшение габаритов. Также, отсутствие необходимости регенерации. Хотя в 'Специалисте' и 'Орионе', если я правильно понимаю, это делалось заодно с формированием изображения, одной схемой. Но, м.б., что-то ещё за счёт этого получится-таки упростить.

Во-вторых, генерация синхроимпульсов. В упомянутых конструкциях это генератор на 8/10мгц и куча счётчиков. Думаю, в принципе можно изобразить генератор всех нужных частот на простом микроконтроллере (базовую брать с генератора, а контроллер будет делить все частоты). Не очень любительски и рационально, но упрощает схему и уменьшает габариты. Возможно, есть и лучшие решения.

Третья мысль, связанная с предыдущим пунктом. Одна из сложностей, которые меня больше всего напрягали в своё время - это прошивка ПЗУ. Нужно иметь программатор, а они стоят неслабо. Знакомые с программатором или место, где могут помочь с этим, есть не всегда и не у всех. Собирать - они обычно достаточно сложные, не сильно проще, чем описываемый агрегат. Поэтому была такая мысль: убрать из системы ПЗУ вообще; а предполагаемый микроконтроллер, который генерирует синхросерию, заставить на старте системы закидывать в нужную область памяти (которую, правда, надо защитить от записи со стороны процессора) прошивку. МК шить всё-же проще, чем ПЗУ - вплоть до 'несколько проводков на LPT, и готово'. Правда, я и сам вижу тут ряд проблем - объём памяти у МК, количество ног для управления адресами, и т.п.

По поводу клавиатуры. Из доступных вариантов я вижу только использование PC-клавиатур. Но переразвести её довольно проблематично, хотя и возможно - кто-то такое делал: выкидывал нижнюю плёнку, и делал свою плату с контактами. Использовать-же её 'как есть' - это очередной контроллер и лишние сложности. Хороших идей по этому поводу не придумалось.

Пока мысли кончились.


12 Jun 2006 20:51
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Post 
Тематика вполне недопц-шная, поэтому перекинул в "Проект NedoPC". Поддерживаю! РК-86 зря отбросил - ВГ75 в нужном фунциональном объеме можно повторить в микроконтроллере, как собственно и всё остальное. 8085 совместимее с 8080, чем Z80, поэтому можно использовать его (либо заставить быстрый микроконтроллер типа SX28 эмулировать систему команд 8080). ПЗУ с 5-вольтовым напряжением на запись найти не проблема - заставить микроконтроллер, подцепленный к ПЦ через COM-порт, его прошивать - тоже. Полноценный контроллер PC-клавы тоже вроде бы подъемно. В качестве направлений реализации эмулятора в железе можно предложить РК-86, Орион или Специалист (или всё в одном флаконе ; ).

_________________
:dj: https://mastodon.social/@Shaos


12 Jun 2006 21:09
Profile WWW
Doomed

Joined: 16 Mar 2002 17:00
Posts: 490
Reply with quote
Post 
Shaos wrote:
РК-86 зря отбросил - ВГ75 в нужном фунциональном объеме можно повторить в микроконтроллере, как собственно и всё остальное.

У меня были такие мысли по этому поводу:

Первая - рациональная. ВГ75 в РК даёт только текстовый режим. У 'Специалиста' и 'Ориона' только графический режим. Мне кажется, выгоднее иметь только графический, чем только текстовый режим - т.к. текст вывести в графическом режиме несложно (пусть и несколько медленнее), а вот графику в текстовом - это уже сложнее. При этом в графическом режиме можно реализовать любую нужную матрицу символа и любой шрифт. Т.е. более функционально получается.

Вторая - чистая лирика. Хочется ограничить 'эмуляционную' составляющую, оставить значимые элементы системы (которые и делают её именно этой системой) в железе. То, что делает мелкая логика - это можно заэмулировать, т.к. это жёстко заданная часть схемы, она не изменяет своё поведение в зависимости от программы. А у процессора, ВГ75, и прочих подобных вещей - есть свои тонкости, свои ошибки, свои недокументированные режимы. Я вот написал эмулятор 8080 (кстати, действительно - один вечер) - а так и незнаю, что там происходит с недокументированными флагами, и действительно-ли всё, что написано в документации, так и есть (хотя программы работают, прикручивал автомат Space Invaders и пробовал запускать Монитор 'Специалиста'). Конечно, если чего-то уже не производится и нигде не достать, то ничего другого не остаётся, кроме как эмулировать.

Shaos wrote:
8085 совместимее с 8080, чем Z80, поэтому можно использовать его (либо заставить быстрый микроконтроллер типа SX28 эмулировать систему команд 8080).

Лучше конечно реальный 8085 (он в прайсах ещё попадается), чем эмуляция на SX'е:)

А Z80 действительно не совсем в тему, мне идея с ним не особо нравится (упомянул просто как вариант) - в отечественных компьютерах он не использовался, и это всё-же процессор другого поколения, нежели 8080/ВМ80. Получится что-то ближе к ZX, и если захочется что-то написать под такую машинку, будет трудно заставить себя писать только в наборе команд 8080, имея под рукой все возможности Z80.

Идея эмуляции процессора (на МК или ПЛИС) - сама по себе тоже интересна, но, мне кажется, не для подобного проекта. Когда есть возможность имитировать работу любого процессора, становится гораздо интереснее реализовать что-то своё, т.е. придумать свой процессор (взять лучшее от известного и получить монстра:). А это уже совершенно другой коленкор, другое направление, и к ретро, к истории имеет чуть меньшее отношение.


12 Jun 2006 22:12
Profile
Doomed

Joined: 16 Mar 2002 17:00
Posts: 490
Reply with quote
Post 
HardWareMan wrote:
А я вот в свой кружок собрал "Специалист", с расширением до МХ. правда, на Z80. Но по аппаратуре совместим (отличие тока в проце).
http://vis-image.narod.ru/SPEC.png
Мутор вокруг одной из микрух ОЗУ из-за экрана. Зато скорость второй - максимальная для процессора. =)

Мощно. HWM, как всегда, крут:)

Немного пугает наличие 3-х РТ-шек (дополнительные операции прошивки) - они зачем, чтобы уменьшить количество мелкой логики?

Вообще, МХ несколько круче того, что я описывал выше, более серьёзная машина получается. А лишние навороты и сложность для описанной идеи, в принципе, не нужны. Но от этого уже можно плясать. Не думал насчёт дальнейшего упрощения схемы? Я имею в виду лес счётчиков, кучку мультиплексоров.

А для чего используется второй ВВ55 в МХ?


13 Jun 2006 08:37
Profile
Senior

Joined: 28 Feb 2005 02:31
Posts: 159
Location: Krasnodar, Russia
Reply with quote
Post 
никогда не видел ни рк ни специалист :oops:
но желание есть и будет =)
что там за режимы видео и с чего проги грузит?


13 Jun 2006 12:17
Profile
Doomed

Joined: 16 Mar 2002 17:00
Posts: 490
Reply with quote
Post 
HardWareMan wrote:
РТшки - да , у меня их мешОк. Однако, вместе со счетчиками бы на какую-нить ПЛМ поменял-бы. Есть предложения? Давай, будем думать вместе.

Я в программируемой логике пока совсем чайник, только на днях Max+plus II поставил. Думаю, это реализовать несложно, но надо-ж ещё разобраться.. Насчёт элементной базы - вроде у Atmel'а есть подходящие решения, даже в DIP-корпусах (вот только незнаю, хватит-ли у них ячеек).

HardWareMan wrote:
Программатор самопальный на СОМ порту на АТ89С51 имеется.

А схемку можно?:)

acidrain wrote:
никогда не видел ни рк ни специалист
но желание есть и будет =)
что там за режимы видео и с чего проги грузит?


Посмотри сначала в http://ru.wikipedia.org по ключевым словам 'специалист (компьютер)' и 'радио 86рк' - там краткое описание характеристик.

В базовой модели - грузит с кассет; видеорежимы: у РК текстовый, у Специалиста растровый монохром 384x256.

Дальше можно проследовать на http://www.emulator3000.org/rus-e3.htm - эмулятор ряда русских компьютеров, включая эти два. Там-же есть и софт. Сможешь получить некоторое представление о том, что это за звери:)


13 Jun 2006 12:42
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Post 
Shiru Otaku wrote:
Дальше можно проследовать на http://www.emulator3000.org/rus-e3.htm - эмулятор ряда русских компьютеров, включая эти два. Там-же есть и софт. Сможешь получить некоторое представление о том, что это за звери:)


За эмулятором советских компьютеров на основе ВМ80 всё же лучше проследовать сюда - http://www.uic.nnov.ru/~pyva

_________________
:dj: https://mastodon.social/@Shaos


13 Jun 2006 17:26
Profile WWW
Doomed

Joined: 16 Mar 2002 17:00
Posts: 490
Reply with quote
Post 
Shaos wrote:
За эмулятором советских компьютеров на основе ВМ80 всё же лучше проследовать сюда - http://www.uic.nnov.ru/~pyva

Нет, не лучше:) Ибо он, к сожалению, под DOS, а это в наше время абсолютно несерьёзно. Именно по этой причине я дал ссылку на Е3000, а не на него.


13 Jun 2006 17:37
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Post 
Shiru Otaku wrote:
Shaos wrote:
За эмулятором советских компьютеров на основе ВМ80 всё же лучше проследовать сюда - http://www.uic.nnov.ru/~pyva

Нет, не лучше:) Ибо он, к сожалению, под DOS, а это в наше время абсолютно несерьёзно. Именно по этой причине я дал ссылку на Е3000, а не на него.


Именно потому что он под ДОС - он может работать везде благодаря эмулятору доса DOSBox. Например я дома выхожу в винду только пару раз в месяц - и минут на 15 от силы. А так - только линукс! И потом скоро появится SDL-версия Emu80, которая будет работать и в винде, и в линухе.

_________________
:dj: https://mastodon.social/@Shaos


13 Jun 2006 18:24
Profile WWW
Doomed

Joined: 16 Mar 2002 17:00
Posts: 490
Reply with quote
Post 
Shaos wrote:
Именно потому что он под ДОС - он может работать везде благодаря эмулятору доса DOSBox. Например я дома выхожу в винду только пару раз в месяц - и минут на 15 от силы. А так - только линукс! И потом скоро появится SDL-версия Emu80, которая будет работать и в винде, и в линухе.

Ладно, убедил. Вложенная эмуляция - в этом есть что-то философское:) А SDL версия - это было-бы круто.



У меня накопилось ещё чуток мыслей.

Об использовании PC-клавиатуры без её переразводки. МК понадобится довольно немаленький - нужно аж 18 линий I/O для подключения к ВВ55 (считаю для 'Специалиста', у 'Ориона' примерно также). Ещё две линии I/O для подключения самой клавиатуры (Reset можно завести на общий сброс машины). Т.е., нужно 20 линий I/O минимум. Контроллер должен иметь достаточно памяти под обслуживающую программу, и, видимо, хоть немного ОЗУ (буфер скан-кодов). Получается что-то в духе ATmega8 (разумеется, не обязательно именно этот МК) - таракан на 28 или даже 40 ног. И выходят такие минусы: удар по габаритам и повторяемости без печатки, лишние 100р. Также, плата контроллера самой клавиатуры остаётся - влияет, если двигаться в направлении запихивания машины в корпус клавиатуры; хотя и так ясно, что зверя на DIP-ах туда никак не засунуть:). И остаётся ВВ55, т.к. на нём остаются порты звука и магнитофона. Заэмулировать эти функции вместе с контроллером клавиатуры на МК, думаю, никак не получится. Из плюсов: только отсутствие проблемы изготовления клавиатуры. По этим причинам в базовый вариант схемы включать контроллер клавиатуры как-то не хочется - лучше как необязательный элемент: кто может переразвести PC-клаву или найти/сделать подходящую - тот не делает лишних движений; кто не может или не хочет - получает штрафного таракана;)

Насчёт использования различных МК, ПЛИС, и т.п. Что-то не очень красиво получается, если при сборке придётся программировать кучу разнотипных устройств - под каждое свой программатор, свой софт для программирования, и т.п. Лучше постараться этого избежать. С другой стороны, если схемы программаторов несложные (не сложнее ByteBlaster'а), то в этом можно найти и хорошее: сборщик получит больше опыта работы с разными устройствами.


13 Jun 2006 22:06
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Post 
Shiru Otaku wrote:
Об использовании PC-клавиатуры без её переразводки. МК понадобится довольно немаленький - нужно аж 18 линий I/O для подключения к ВВ55 (считаю для 'Специалиста', у 'Ориона' примерно также). Ещё две линии I/O для подключения самой клавиатуры (Reset можно завести на общий сброс машины). Т.е., нужно 20 линий I/O минимум. Контроллер должен иметь достаточно памяти под обслуживающую программу, и, видимо, хоть немного ОЗУ (буфер скан-кодов). Получается что-то в духе ATmega8 (разумеется, не обязательно именно этот МК) - таракан на 28 или даже 40 ног. И выходят такие минусы: удар по габаритам и повторяемости без печатки, лишние 100р. Также, плата контроллера самой клавиатуры остаётся - влияет, если двигаться в направлении запихивания машины в корпус клавиатуры; хотя и так ясно, что зверя на DIP-ах туда никак не засунуть:). И остаётся ВВ55, т.к. на нём остаются порты звука и магнитофона. Заэмулировать эти функции вместе с контроллером клавиатуры на МК, думаю, никак не получится. Из плюсов: только отсутствие проблемы изготовления клавиатуры. По этим причинам в базовый вариант схемы включать контроллер клавиатуры как-то не хочется - лучше как необязательный элемент: кто может переразвести PC-клаву или найти/сделать подходящую - тот не делает лишних движений; кто не может или не хочет - получает штрафного таракана;)


А кто требует точной имитации клавиатуры на уровне шины? Дело в том что в РК-86, Орионе и наверное Специалисте культивировалась идеология использования стандартных подпрограмм вместо лазания в порты - этим достигалась совместимость программ между разными машинами (в худшем случае нужно было лишь сменить адреса стандартных вызовов - как правило вектор переходов на стандартные подпрограммы размещали в начале кода программы).

_________________
:dj: https://mastodon.social/@Shaos


13 Jun 2006 22:11
Profile WWW
Doomed

Joined: 16 Mar 2002 17:00
Posts: 490
Reply with quote
Post 
Shaos wrote:
А кто требует точной имитации клавиатуры на уровне шины?

Так без особой разницы - только чуть меньшее количество ног у МК понадобится. ВВ55 всё равно остаётся (для упомянутых функций). Зато добавляется потенциальная несовместимость - кто его знает, куда кто лазил, может кто-то и напрямую (в существующем софте).


13 Jun 2006 22:36
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22412
Location: Silicon Valley
Reply with quote
Post 
Shiru Otaku wrote:
Shaos wrote:
А кто требует точной имитации клавиатуры на уровне шины?

Так без особой разницы - только чуть меньшее количество ног у МК понадобится. ВВ55 всё равно остаётся (для упомянутых функций). Зато добавляется потенциальная несовместимость - кто его знает, куда кто лазил, может кто-то и напрямую (в существующем софте).


На самом деле ВВ55 легко можно сымитировать микроконтроллером на том уровне, который используется в советских любительских компах - т.е. три порта ввода-вывода в режиме без прерываний. От микроконтроллера всего понадобиться 8 ног на шину данных, два адресных сигнала и два упрвляющих (чтение и запись).

_________________
:dj: https://mastodon.social/@Shaos


13 Jun 2006 22:43
Profile WWW
Doomed

Joined: 16 Mar 2002 17:00
Posts: 490
Reply with quote
Post 
Shaos wrote:
На самом деле ВВ55 легко можно сымитировать микроконтроллером на том уровне, который используется в советских любительских компах - т.е. три порта ввода-вывода в режиме без прерываний. От микроконтроллера всего понадобиться 8 ног на шину данных, два адресных сигнала и два упрвляющих (чтение и запись).

Да. Т.е. 12 ног. Плюс клава, вход-выход магнитофона, динамик - ещё 5. Получаем 17. Не сильно выиграли с ногами, но избавились от одного большого корпуса (что радует:). Зато получается проблема: МК должен одновременно имитировать ВВ55, опрашивать PC-клавиатуру, и достаточно быстро передавать сигналы магнитофона/динамика. Всё это в реалтайме. Я думаю, производительности МК на такое всё-таки не хватит. Или я не прав?


13 Jun 2006 23:03
Profile
Doomed

Joined: 16 Mar 2002 17:00
Posts: 490
Reply with quote
Post 
Хорошо-бы про программатор в отдельную тему выделить, это штука самодостаточная и очень полезная. Мне данная схема нравится - ничего лишнего и непонятного.

Есть вопросы:

- Кварц на сколько, 24мгц или меньше??
- Какое ОЗУ используется?
- Сопряжение с RS232 никогда не делал. Есть чипы типа MAX232, можно поюзать?

Прошивка, конечно-же, интересует:)


14 Jun 2006 01:26
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 39 posts ]  Go to page 1, 2, 3  Next

Who is online

Users browsing this forum: No registered users and 6 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.