PDA

Просмотр полной версии : Двухслотовая плата расширения УК-НЦ2+ (обсуждение)



hobot
19.04.2018, 06:59
Мне тут подумалось, а что если примирить всех активных на данный момент
и заинтересованных, а главное "умеющих" как и "имущих" "производство за мой счёт" с
"хотелками" любого рода поможет обсуждение такого сверх-мощного девайса призванного иметь на борту ну всё что только можно???


площадь платы на этом особо не сэкономишь.
квартирный вопрос - вечный???

у кого "хобби" православней
дело в том, что УК-НЦ действительно совершенно гол. Изначально разработчики
оставили поле для плат расширения не паханным, но соорудили при этом достаточно
грамотную двухпроцессорную ВМ2х2 PDP совместимую машинку. Это незащищённость
даёт и сегодня возможность любому "еретику" хотеть (как минимум) любую аляповатую
срамную железяку разрабатывать для себя или рынка под видом "УК-НЦ без этой железки - барахло" или "вот чего не хватает вашему УК-НЦ", при этом ребята даже пары команд местной операционки знают только по шпаргалке ))) Это меня смешило, но это и грустно.

Т.О. Предлагаю в этой теме обсуждение начать действительно чего-то нового, а именно
"Двухслотовая плата УК-НЦ2+ " на борту которой можно будет уместить сколько угодно
"хотелок" бренчалок сенсорных экранчиков и прочих бзделок и звенелок, а может и что то действительно полезное поместиться???

Вместо того, что бы "дербанить рынок и делить 3 рубля" ради продолжения производства заведомо устаревшего давайте сделаем супер-инновацию все, МИРом?

DonkeyHot
19.04.2018, 07:05
есть смысл тогда смотреть на FPGA PDP-11 с прикрученными слотами расширения УКНЦ. :)

hobot
19.04.2018, 07:18
Площадь такой платы надо прикидывать (желательно опытным топологом), но форм-фактор я предлагаю примерно такой


https://image.ibb.co/jDP8P7/uknc2.png (https://imgbb.com/)

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


Теперь под солнцем места всем хватит?
Предлагаю установить НАУЧНОЕ ПЕРЕМИРИЕ и начать конструктивное обсуждение.
Мнения спецов старой закалки и представителей вялотекущей промышленности современной особенно ценны. Господа маркетологи-палаточники - готовьте ваши инвестиции )))

DonkeyHot
19.04.2018, 07:25
аргументируй необходимость использования сразу двух слотов, причем такого адского размера. Что там такого, что не влезет в один, это раз. Второе - занимать сразу все слоты это лишить гибкости и опять же возможности расширения. Насчет топологии фигня, можно как угодно сделать.
Я вот решил извратиться и прикрутить с своему (sic!) контроллеру FDD-IDE-CF еще и RAM-disk. До кучи. :)

Hunta
19.04.2018, 08:21
http://www.KpXX.Ru/Pics/PDP-11 slash 2019.jpg


Горизонтально или вертикально - роли не играет. Вертикально немного проще пассивное охлаждение. База и модули расширения собираются по принципу стека. В базе сверху (прикрываемый) разъём-мама, в платах расширения внизу разъём-папа, сверху (прикрываемый) - разъём-мама для следующего модуля расширения.

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


есть смысл тогда смотреть на FPGA PDP-11
В современные можно запихать хоть сразу БК, УК-НЦ и ДВК плюс туева хуча периферии и тогда

слотами расширения УКНЦ
наф не нужны, а значит и поддерживать (достаточно не удачное) и (устаревшее) решение смысла нет

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


Мнения спецов старой закалки
вот именно что спецов, а не

AFZ
19.04.2018, 08:44
Я вот решил извратиться и прикрутить с своему (sic!) контроллеру FDD-IDE-CF еще и RAM-disk. До кучи.Угу. Только вот и FDD, и IDE, и CF тоже ретро. Не такое глубокое, как сама УКНЦ, тем не менее...

Правильно эту проблему начал решать Ярослав (Jarik65535), но его релиз еще сильно сырой - и в железе, похоже, не совсем все в порядке, и софт (фирмварь), похоже, тоже не без глюков. Тем не менее, его изделие работает на современном (не ретро-) носителе. Это вместо FDD. Ну, и то, что мы с ним обсуждали - вариант на шину ЦП, вместо СА. Оно пока зависло, но вдруг таки выйдет?

ИМХО, вариант Ярослава с FDD тоже не очень - там что-то грузится в память ПП, те самые "сугубо дискетные" (по Хоботу) игрушки тоже могут не пойти. То есть, по-хорошему, на шину ПП надо толкать не самодельное устройство с поддержкой его софтом на ПП, а точно эмулировать ВП1-128. Задача чисто софтовая, адаптер Ярослава годится в том виде, как он есть (если подправить косяки, буде таковые найдутся, что-то там не совсем в порядке на интерфейсе SD). Сочиняем новую прошивку для того самого CyPRESS'овского PSoC, и вперед.

Если умеешь программировать для ARM Cortex Mx и работать с ПЛИС, можешь подключиться.

А вот на шину ЦП можно толкать любые самопальные устройства. В частности, тот самый контроллер SD, над которым сейчас работает Ярослав.

В общем-то те самые PSoC от CyPRESS'а, с которыми воюет Ярослав, довольно хилые, много в них не засунешь. Поэтому, может быть, на них имеет смысл сделать только адаптеры подключения к шинам ЦП/ПП. Основной же функционал затолкать в какой-нибудь могучий STM32, вроде F407VET6 или, хотя бы F103VET6, а с CyPRESS-ными адаптерами связаться по SPI. Тогда, если вдруг захочется, в этот STM32 будет засунуть, допустим, самбовский клиент и предоставить УКНЦовине, в качестве дискеты или ЖД, файл на расшаренном ресурсе виндовой сети, да и что угодно другое. А еще можно будет (если оно влезет в PSoC) сделать контроллер магнитных лент. Прописать туда эмулятор контроллера МТ со стороны шины ЦП, основное обслуживание МТ сделать в отдельном STM32 (или даже в какой-нибудь АВР-ке), связь между ними, опять же, через SPI или даже через USART, 115200 этим СМ5003 хватит.

В общем, полная свобода.

Arseny
19.04.2018, 11:08
на шину ПП надо толкать не самодельное устройство с поддержкой его софтом на ПП, а точно эмулировать ВП1-128.Для БК контроллер с эмуляцией ВП1-128 сделан.

DonkeyHot
19.04.2018, 11:33
Для БК контроллер с эмуляцией ВП1-128 сделан.

да, думаю можно и на укнц его использовать, либо как есть (с согласия автора, разумеется если лицуха не GPL), либо исключив дешифрацию БКшной периферии и скажем заменив логикой HDD.

AFZ
19.04.2018, 11:57
Для БК контроллер с эмуляцией ВП1-128 сделан. URL ?

MM
19.04.2018, 12:56
Единственная существенная польза от ПЛИС вместо ВП1-128 - это возможность обслуживать дискеты 1.44 ( 1.6 ) метра ( теоретическая, после патча ).
*
Что можно существенно улучшить в УКНЦ - прицепить М1801ВМ3А+СОЗУ вместо сетевого ( телеграфного ) адаптера.
Если пригласить Гуру программирования, можно и USB1.1 SL811 туда пристроить ( аппаратно - нет проблем ).

Что даст ВМ3А-6 мгц ( или 1806ВМ3-8 мгц ) :
1. Возможность использовать старшие мониторы RT-11 ( польза чисто теоретическая )
2. ЭД VM.SYS
3. В пару раз более шустрое быстродействие ЦП.
4. Немного больше гибкости при работе с SL811, т.к. там пакетная обработка данных, требующая существенного быстродействия ЦП.

Hunta
19.04.2018, 13:13
(ехидно) Не взлетит ;)

Arseny
19.04.2018, 16:55
URL ?

Эмуляция 1801ВП1-128 в ПЛИС (http://zx-pk.ru/threads/20406-emulyatsiya-1801vp1-128-v-plis.html?p=750103&viewfull=1#post750103) раз.

Контроллер SMK-512 на программируемой логике для БК10-01 / БК11М (http://zx-pk.com/forum/viewtopic.php?t=2802) два (практическая реализация).

AFZ
19.04.2018, 21:56
Ну, я, вероятно, не совсем четко изложил суть своей идеи. Эмулировать 128-ю для того, чтобы подключить к ней дисковод, на фиг не надо! Надо эмулировать 128-ю с подключенными двумя или четырьмя дисководами, в каждый из которых вставлена дискета (смонтирован файл-образ дискеты). Чтобы, если файл-образ не смонтирован, эмулируемая 128-я сигналила "диск не вставлен", иначе, по команде включения мотора, она должна начать "проигрывать" в регистры 128-й соответствующие 10 блоков файл-образа, как будто оно прочитано с дискеты (правильно прочитано, без ошибок), имитируя в регистрах якобы 128-й прохождение индекса, "прелюдию" сектора (блин, уже всю терминологию FDD забыл...), данные блока, посчитанный CRC, окончание сектора, и т.д. Это, ИМХО, не так сложно, если разобраться, как там все это читает программа обслуживания дисков в ПП. Ну, и при записи, имитирует найденный заголовок сектора, затем принимает в буфер (или сразу отправляет на устройство) коды слов блока, принимает и игнорирует "хвост" сектора и т.п. По команде "шаг" перемещается к следующей или предыдущей группе из 10 блоков файл-образа, и т.д.

При этом не надо вникать в тонкости синхронизации, опознания пропущенных синхроимпульсов и т.п. - нам же не надо читать реальные дискеты, у нас есть файл-образ, нам только надо имитировать, что все, что надо, найдено и передать данные из файл-образа. Надо будет внимательно поразглядывать программу ПП обмена, скорее всего, все будет понятно из нее. Я, когда-то хорошо отдизасмил и разобрал не то 091-ю, не то 093-ю ПЗУху от КМД, в общем-то, почти все было понятно. Не думаю, что программы для обмена с дискетой у УКНЦ и у КМД для одной и той же 128-й сильно отличаются, так, что, скорее всего, тут тоже почти все будет понятно.

TheGWBV
19.04.2018, 23:28
ИМХО, такая плата должна быть для внутренней установки, вторым этажом -- между БП и правой стенкой высокой части корпуса УК-НЦ.
Разместить на ней совмещенный контроллер FDD+IDE, добавить параллельный порт или два (на какие-то свободные адреса) и к ним подключить AY и Covox...

AFZ
20.04.2018, 08:39
Надо будет внимательно поразглядывать программу ПП обмена, скорее всего, все будет понятно из нее. Кстати, по этому пути уже прошли авторы эмуляторов УКНЦ. И задача, практически, та же - эмулировать ВП1-128 с подключенным дисководом и вставленной "дискетой" в виде файл-образа. И делается всё это на системе, отличной от PDP-11 - у них на писюке, у нас - на отдельном микроконтроллере. Может даже кусок кода подойдет - попробуйте скооперироваться с авторами эмуляторов.

nzeemin
20.04.2018, 17:12
AFZ, чего там кооперироваться, код открытый.
https://github.com/nzeemin/ukncbtl/blob/master/emubase/Floppy.cpp
См. функции EncodeTrackData() и DecodeTrackData().

- - - Updated - - -


Единственная существенная польза от ПЛИС вместо ВП1-128 - это возможность обслуживать дискеты 1.44 ( 1.6 ) метра ( теоретическая, после патча ).

Тоже думал сделать это в эмуляторе, но не знаю надо ли. Вместо 80-ти дорожек можно позволить делать намного больше.

DonkeyHot
20.04.2018, 18:05
Насколько качественно эмулятор воспроизводит вутреннюю адресацию памяти и портов? Есть ли какая-либо несовместимость?

hobot
20.04.2018, 18:42
Вместо 80-ти дорожек можно позволить делать намного больше.
но (я могу ошибаться) практического смысла в этом 0.
во первых - с таких дискет не загрузишся
во вторых - на реале ничего подобного не было
в третьих - зачем мучить классические флопы? смысл? надо просто их сделать (в виде флешки или ещё как-то и оставить в покое), ведь будет и доп. память в виде HDD, опять же HX-соединение реала с ПЦ никто не отменял.

Hunta
20.04.2018, 18:46
во первых - с таких дискет не загрузишся
Аха, конечно

nzeemin
20.04.2018, 18:55
Насколько качественно эмулятор воспроизводит вутреннюю адресацию памяти и портов? Есть ли какая-либо несовместимость?

Это скорее вопрос к Alex_K, как специалисту по УКНЦ.
Думаю что мелкие несовместимости наверняка есть.

hobot
20.04.2018, 19:05
во первых - с таких дискет не загрузишся
https://image.ibb.co/iXSNMn/mhsys.png
- не совсем то, но что то похожее уже на реале в 93 наш ув.Алексей Кислый делал эксперимент )
Пользоваться видимо можно, загрузки нет. Что то такое там и конечно свой спец. драйвер (см. картинку).

nzeemin
20.04.2018, 19:23
hobot, это другое.
"MH.SYS - драйвер дисковода для считывания дискет с размером сектора в 256 байт"

Hunta
20.04.2018, 19:56
во первых - с таких дискет не загрузишся
Ничё, что аппаратный загрузчик читает единственный сектор, который при любом количестве цилиндров, любом количестве дорожек в цилиндре, любом количестве сектором на дорожке никуда не переместиться и не денется? А дальше - корректно написанный загрузчик в загрузочном секторе и драйвер в системе. А, да, неплохо, что бы аппаратный загрузчик передавал корректно некоторую информацию. Но это может повлиять на загрузочный сектор и драйвер даже не переделанного устройства.

AFZ
21.04.2018, 06:04
Тоже думал сделать это в эмуляторе, но не знаю надо ли. Вместо 80-ти дорожек можно позволить делать намного больше. А место в регистре номера дорожки есть? Вот у MY под номер дорожки отведено 8 битов и один из драйверов MY имел параметр SET MYn NTRK=xxx. Полетаев в своем эмуляторе использовал этот факт (естественно, там эмуляция регистров контроллера на МПИ, а не "потрохов" MY, т.е. задача существенно проще), разрешил использовать полный диапазон возможных номеров дорожки (0-255) и дал нам возможность использовать "дискеты" емкостью до 2560К, очень даже неплохо.


во первых - с таких дискет не загрузишся Почему? Я, конечно, не помню работу с дисками УКНЦ со стороны ЦП, но помню, что это было похоже на MY. Эмулятор Полетаева весело загружается с таких дискет, что мешает подобным образом загрузиться с MZ ? Или на УКНЦ под номер дорожки отведено всего 7 битов?


во вторых - на реале ничего подобного не было Ну и что?


в третьих - зачем мучить классические флопы? смысл? надо просто их сделать (в виде флешки или ещё как-то и оставить в покое), ведь будет и доп. память в виде HDD С HDD, как раз, сложности, вот его в оригинале, как раз, не было. И прикрутили его довольно криво, я уже не раз говорил, что HDD должен быть на ЦП, а не на ПП.


чего там кооперироваться, код открытый.А это не ко мне, у меня УКНЦовины нет. Это, скорее всего, к Ярославу, у него есть и УКНЦ, и готовая плата, надо только переписать софт, чтобы, наконец, удовлетворить Хобота. :)

hobot
24.04.2018, 12:40
Попытка вернуть людей в эту тему
и проолжить обсуждение:

1. Давайте назовём плату ALLinONE ? )
2. Давайте создадим список контроллеров и устройств (минимальный) которые могут и должны
быть размещены на подобной плате расширения обязательно (!)
3. Можно ли на данном этапе оценить что ещё можно разместить на оставшейся площади?

Говоря о площадях и формфакторе:
=======================
Я изначально предлагаю использовать оба слота расширения.

в каждый слот ALLinOne втыкается правильной стороной платами в форме уголка,
высота плат может превышать стандартные контр. УК-НЦ, но не слишком, доп. площадь
нависает над крышкой корпуса влево от слотов расширения на необходимое кол-во
стандартной ширины контр. Плата для слота1 и для слота 2 соединены "соединительной" платой - донышком
которая так-же имеет площадь расстояния между п1 и п2 по всей длине контроллера.


ИМХО, такая плата должна быть для внутренней установки,
вот как раз место внутри под крышкой - предлагаю использовать для организации человеческого видео выхода и врзможно COM-порта ???

DonkeyHot
24.04.2018, 12:55
1) IDE
2) FDD
3) RTC
4) RAM-disk ?
5) PS/2 - но тут я не уверен можно ли безболезненно отключить порт штатной клавы

svinka
24.04.2018, 13:07
если блок питания сделать внешним то еще аккумулятор внутрь всобачить. С дисководом и жестким диском нотебучным. Чтоб жужжало и похрюкивало

Hunta
24.04.2018, 13:29
Остапа и тут понесло...

S_V_B
24.04.2018, 13:38
6) Музыку ;)

Hunta
24.04.2018, 13:39
Музыку
Ударные :)

S_V_B
24.04.2018, 13:42
4) не RAM-DISK, а страничное доп ОЗУ хотя бы 512к как в СМК (только страницы не очень мелкие)

DonkeyHot
24.04.2018, 13:49
7) блэкджэк
8) самок с низкой социальной ответственностью
facepalm

S_V_B
24.04.2018, 13:52
А иначе зачем огород городить :)
Ради FDD and HDD да в двух слотах?

Hunta
24.04.2018, 14:02
А нахрена вообще вертикально. Можно сделать горизонтальный вариант - чем убить некоторое количество косых :)

DonkeyHot
24.04.2018, 14:06
А нахрена вообще вертикально. Можно сделать горизонтальный вариант - чем убить некоторое количество косых :)

можно вообще в форме креста, чтоб никогда не зависал :D

Hunta
24.04.2018, 15:16
горизонтальный вариант
он будет лежать и меньше шататься, а кроме того высотой не загораживать монитор(телевизор)

hobot
24.04.2018, 16:35
4) RAM-disk ? зачем он не нужен,
лучше уж вместо него любой интерфейс под HD устройство (под HD драйвер).


5) PS/2 - таких клавиатур уже очень трудно найти.
Классическую клавиатуру всё же хотелось бы сохранить

помниться где-то "рядом" MM говорил, что USB - сделать очень даже возможно,
т.о. промежуточно получаем



1) IDE
2) FDD
3) RTC

4)AY - звук - куда же его ещё "расширять-лепить" как не на наш мифический пока ALLinOne
5)BIOS - местная программа тестирования, настройки и управления всем что мы понавесили и разработали
6)USB - как HD устройство? (имеется в виду HD.SYS для RT-11

MM
24.04.2018, 17:22
6)USB - как HD устройство?
Просто 2 слова на шине, можно мл. байт.
Однако, если серьезно подойти к вопросу, понадобится и контроллер векторных прерываний.
Возможные варианты контроллера VIRQ - 1801ВП1-033 ( комплексный подход ), или 588ВН1 ( + кучка мелкоты, т.к. ВН1 не умеет сама опознавать адреса МПИ ).

Однако, с 1801ВП1-033 не всё так просто - она заточена прежде всего на 1 регистр данных, а в SL811 - их 2 шт. - адрес порт и данные порта.

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

Об использовании ВП1-033 довольно подробно написано в МПСС №5 1988 г., Рутрекер в помощь.
Предложу вариант адресов - 177550-177556, вектор прерывания - 70 ( источник ) и 74 ( приемник ). Соответственно, адресовать регист данных SL811 - как словный, а регистр адреса - как байтовый обмен ( 1801ВМ3 потерпит ). Соответственно, проволоку "требование данных устройства" в ВП1-033 активировать только при наличии запроса на прерывание от SL811.

Макет нуждается в макетировании, хотя бы с эквивалентами SL811 - 555ИР22 ( ? ), для отладки софта, и, возможно, Э3.

Hunta
24.04.2018, 17:30
таких клавиатур уже очень трудно найти
Это главный аргумент Хобота. Хорошо, что я не знал его, когда мне понадобилась PS/2 клавиатура - я просто пошёл и купил в ДНС. И сейчас их там есть. Моделей, правда, немного, но с покупкой проблем не будет - и в куче магазинов есть и цена - от 370 до 690 (690 - Logitech, которую я себе взял).

DonkeyHot
24.04.2018, 18:49
Об использовании ВП1-033 довольно подробно написано в МПСС №5 1988 г., Рутрекер в помощь.


оно?
http://archive.pdp-11.org.ru/BIBLIOTEKA/MPSS/1988/

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


Это главный аргумент Хобота. Хорошо, что я не знал его, когда мне понадобилась PS/2 клавиатура - я просто пошёл и купил в ДНС. И сейчас их там есть. Моделей, правда, немного, но с покупкой проблем не будет - и в куче магазинов есть и цена - от 370 до 690 (690 - Logitech, которую я себе взял).

+1 за полупиську, кроме того цепляние её к разным проектам уже хорошо документировано

MM
24.04.2018, 19:03
оно?
Вероятно, да. Страницы - с 87-й по 94-ю, особенно с 92-й.
Т.е. будет представлено регистрами :
177550 - Регистр состояния приемника
177552 - Регистр данных приемника ( читается из SL811 )
177554 - Регистр состояния передатчика
177556 - Регистр данных на запись ( пишется в SL811 )
Байтовая запись в регистр 177556 - запись адреса в регистр адреса SL811 ( вход "А0" ИС SL811 подсоединяем к линии WTBT МПИ ).
Чтение из регистра адреса ИС SL811 вроде как не используется.
Сброс SL811 - сигналом INIT МПИ или командой ВП1-033 ( см. её ТО в МПСС ).
Запрос ПДП SL811 - обе проволоки подтягиваем к +5в. через ~1 ком.
Запрос IRQ SL811 - как-нибуть присобачиваем к ВП1-033, возможно через инвертор, это следует проработать на макете, особенно моменты начала и окончания запроса.

Маленький момент - стаб +3.3 вольт необходим, или 4 компонента : стабиллитрон КС139, треножник КТ817А, резистор 100 ом 0.25 ватт, конд керамический Мурмурата 10 мкф 6.3 в.

ИМХО - целесообразно заказывать у китайцев готовые блочки с ИС USB, но конструктору девайса виднее.

Hunta
24.04.2018, 19:10
кроме того цепляние её к разным проектам
Оно вроде как должны быть и достаточно простым, не?

DonkeyHot
24.04.2018, 19:52
Оно вроде как должны быть и достаточно простым, не?

не забывай про трансляцию кодов кнопок в код укнц + полупись это serial. caro сварганил теперь уже классику, которую суют... да куда только не суют...

Hunta
24.04.2018, 20:33
про трансляцию кодов кнопок в код укнц
Так на современных клавах оно ж везде

nzeemin
24.04.2018, 21:05
и к ним подключить AY и Covox...

Робко надеюсь что хоть в этой теме мне скажут на каком порту ПП будет висеть AY.

MM
24.04.2018, 21:12
на каком порту ПП будет висеть AY.
А если на 177514-177516 с вектором прерывания 200 ?
( Регистр состояния / Регистр данных, запись словная и байтовая - т.к. надо обслуживать 2 регистра по записи )

Как это выглядит схемотехнически - см. Э3 МС1201.03 или др. похожую - порт принтера. Сигнал "запись" получается на выв. 28 ВП1-033, уровень 0в. - собственно запись. Выв. 29 "SET" присоединить к выв. "Сброс" звуковой ИС. Проволоки "Требование", "Завершено" и пр. непонятные - пристроить куда-нибуть по вкусу, можно через RC - цепочку, что бы получать векторные прерывания через определенные промеЩутки времени ( "темп воспроизведения" ).
Предположительно, надо добавить 555ЛА3 для селекции портов в Звуковой ИС, в зависимости от сигнала WTBT ( запись байта - 0 в. ).

Hunta
24.04.2018, 21:49
на каком порту ПП
У PDP-11 нет понятия портов :) У ней есть понятия адреса регистров устройства (обычно говорят ввода-вывода - но тут можно поспорить) и адрес вектора прерывания :)

hobot
11.03.2021, 05:21
подниму тему... может новые мысли у кого то всколыхнутся ;-)
А если нет, так она плавно снова уползёт на донышко )))