Уважаемые ДВКшники, пожалуйста, расскажите, как Вы используете порт принтера ИРПР на МС1201.х ?
Возможные варианты :
1. Подключается принтер.
2. Навешиваются светодиоды
3. Управление внешним устройством ( каким ? )
Вид для печати
Уважаемые ДВКшники, пожалуйста, расскажите, как Вы используете порт принтера ИРПР на МС1201.х ?
Возможные варианты :
1. Подключается принтер.
2. Навешиваются светодиоды
3. Управление внешним устройством ( каким ? )
Есть родной принтер от Квант-а - под него и использовался
AY легко :)
Что даже BB55 не воткнули?
При желании, на "старых" платах, там где именно ИРПР реализован(а не ИРПР-М), можно дисплей прицепить или сделать межмашинный интерфейс(если есть
с чем). Быстрее, чем по токовой петле :)
Лично мне управление портом принтера на ДВК-шках нравится гораздо больше, чем на писюках. Послал байт в 177516, и жди либо бит 0200 в 177514, либо прерывания с вектором 0200, если разрешил. И никаких дополнительных телодвижений. В отличие от писюка, на котором надо еще самому выдать строб, вовремя снять его а, перед этим, еще выставить правильно все необходимые сигналы сопровождения...
Нет конечно. Там крутой аппаратный формирователь всех сигналов сопровождения ИРПР на ВП1-033, одна из функций этого камешка. Небольшим набором внешней логики трансформируется в ИРПР-М.
Преобразовав в ИРПР-М теряется возможность связи по ИРПР :(
Это внутри ВП1-033 - она описана в МПСС 1988 г., при необходимости можно уточнить номер. Вся подшивка МПСС есть на Рутрекере ( злопрещен в РФ ).
Можно читать только биты входного порта ( регистр состояния ) - Завершено 000040, Ошипка 100000 и еще какой-то бит. А вот на выход дать даже 1 шт. доп. сигнал - нетушки...
- - - Добавлено - - -
Как я использовал порт :
1. Принтер Роб-6329
2. Светодиоды
3. На сигнал "Завершено" пристраивал фотоприемник для ИК ДУ 36 Кгц - ЧПУ с ДУ !
4. Не пробовал - можно PS/2 клаву приделать - на сигналы сопровожденя, аж с прерываниями :confused: - если таки хватит быстродействия МС1201.02, и только под ОС.
Было бы желание владельцев :(
Да нет, не поэтому. Собственно ИРПР делается на двух ВП-шках: 033 - контроллер, 034 - канал данных. Подробностей я уже не помню, но главная беда в том, что на тех 1201, где ИРПР-М выведен на 40-контактный разъем, на него НЕ ВЫВЕЛИ обратный канал. Этот узел может работать по адресам 177550 - перфолента, 177560 - консольный терминал с ИРПР и 177514 - принтер. И в первых двух случаях у него два канала обмена информацией - входной, например для ПЛ, 177550/52 - считыватель перфолеты и выходной, 177554/56 - перфоратор. Соответственно, на ВП1-034 есть два набора ножек - для выходных данных (на перфоратор) и для входных (от считывателя). Ну, и на 033-м есть соответствующие ножки управления. А на платах с 40-контактными разъемами для принтера вся эта радость для входного канала никуда не распаяна (может быть заземлена или заединичена - не вникал).
Более того, принтеры к ранним ДВК тоже подключались по какой-то вариации ИРПР-М, перестройка производилась перемычками на том самом 60-контактном разъеме. И вообще, что мне всегда не нравилось в ИРПР - это дурацкие названия сигналов. Их невозможно запомнить, каждый раз, когда приходилось что-то подключать, приходилось изучать эту муть заново...
Где ИРПР-М выведен на 40-контактный разъем, сделали так же включаемую инверсию данных переключателем(перемычкой) , чтобы буржуйские принтеры подключались и выкинули интерфейс с 8 дюймовыми дисководами...
Из интересного, по стандарту ИРПР мог быть и 16-битным :)
Что должно ускорить скорость межмашинного обмена, но я таковых не видел интерфейсов :(
Кстати, этот вариант тоже заложен в эту парочку ВП1-33 и -34. Только его нигде ни разу не распаяли на официальных платах. Самоделки может кто и делал...
И не только. На платах с 60-контактным разъемом она также присутствует, просто ей мало кто пользовался - это одна из фич 034-й: нога 39 (COM) - инверсия данных. Еще, помнится, была какая-то нога, которая переключала выход данных - данные присутствуют на выходах либо постоянно, либо только во время действия импульса записи в 177516. И у ранних 1201 она стояла именно в этом положении, из-за чего не удавалось сразу подключить импортный дрюкер, я, помню, разбирался в этом однажды.
Только к сигналу INIT. Запись бита 14 (040000) в CSR принтера (177514) отправляет на ИРПР(-М) сигнал СБРОС ВУ Н. Select в ДВК не используется, не помню, как он там выдается, не то постоянным уровнем, не то в ответ на сигнал готовности периферии.
- - - Добавлено - - -
Собственно, аппаратное взаимодействие с сигналами периферии - это благо для программирования этих дел по их основному назначению. И, таки да, препятствие для использования этого ИРПР(-М) различными "левыми" способами.
У ДВК была одна проблема - маленькая корзина. Минимально необходимая. Вторую, можно было подцепить либо вставив платы с кабелем, такое видел на Мере-60, либо навивкой - видел у моего человека, который оказал большое влияние на мои компьютерные взгляды. С третьей корзиной были проблемы, как он сказал, по нагрузочной способности. Видел и большую корзину, но там стояла "Электроника-60".
По этому самоделки были не так часты :( Втыкать было некуда. Хотя макетные платы видел. И видел, как на них проводами кучу соединений делали. Мрак :)
А так есть впечатление, что любители сейчас устройств делают, почти столько же, сколько в СССР. Хотя любителей сильно менее стало ...
Как вариант, музыкальный процессор можно через микроконтроллер с эмуляцией принтера. Всё одно стандартного интерфейса с AY нет, придётся всё почти с нуля писать.
Ну, как сказать... У ранних ДВК, которые с 15ИЭ-00-013, эта корзина была, практически, пустой, максимум - стоял контроллер МХ. Да и у поздних ДВК одно свободное гнездо было. Хотя у меня в конторе тоже стояла сдвоенная корзинка - по-простому, запаял проводками. Дома хватало одной.Впрочем, были и ДВК-шники без свободных гнезд - это вариант с КЦГД+КЖД+КНГМД (МХ). Но у меня такие были только в одном месте - зато сразу класс в 16 шт... Но там никто ничего и не разрабатывал.
А почему бы и нет? Причем, заодно, свалить на этот МК и все временнЫе дела, реальное время - это, как раз, для него. А с ЦП залил туда последовательность команд и данных, на полной скорости, не занимая время ЦП, потом, когда МК это дело проиграет, выставит запрос на новое, пойдет 200-е прерывание, зальем следующую порцайку. Причем одна играет, вторая заливается или ждет своей очереди в ОЗУ МК. Какой-нибудь 40-ногой АТмеги для этого - за глаза!
Ну есть же вообще готовые MP3 модули. Конструкция мелкая и недорогая. К тому же музыкальному процессору прицепить в пару.
Вот вообще проект Ремулятора ... Деталей минимум. Хотя подумал, что для большей скорости обмена можно к эмуляции ПЗУ заставить контроллер ещё что-то делать :) Там мегагерц много, если не хватит, то можно что-то ещё более шустрое взять. Проблема провода аудио куда-то вывести. Но при прямых руках всё возможно :) Добавляем. например, флеш-память на интерфейс SPI(32 мегабайта может для много чего хватить) и получаем компактное дисковое устройство, а ежели сэмулировать какое-нибудь из устройств DEC то... :)
Получится очень недорогое и шустрое устройство, недостаток - карту не поменяешь... А с другой стороны - можно и само устройство поменять, ежели чего.
Готовый МП3-модуль на УКНЦ малополезен. Файлы МП3 толстые, устанешь их заталкивать через любой интерфейс на этот модуль. А вот 40-ногий МК плюс тот же AY - это для процессоров УКНЦ, как раз, ни разу не напряжно, особенно если все временнЫе дела свалить на тот самый МК.Подключил его в порт принтера, и вперед! А если он не подключен, то процедуру игры музыки элементарно пропустить...
Если поставить флеш-память, то ничего особо проталкивать и не надо будет... один раз натолкал и увсё...
От УКНЦ процессора приходит команда - типа, проиграй 33-й фрагмент... и вуаля :)
Можно игру какую-нибудь очень нехило озвучить ;) Самому процессору УКНЦ - минимум работы ...
Плюс халявная память, кою можно пользовать при правильном подходе не только для музыки ;)
Я, полагаю, что для ремулятора, при 512 кбайт флеша, 400 кбайт(или более) легко можно выделить под место для такой "дискеты". Достаточно только немного подправить софт. Даже микросхема дополнительной памяти не нужна...
Если стоит 1 мегабайтная, то там вполне можно и 800 кбайт.
А уж если её влепить, то там не только дискета, там сильно более... ;)
Самый прикол в том, что получится нечто универсальное, везде где используется ремулятор - везде будет диск. При том, не будет занято место в корзине или ещё где :)
При этом для диагностических целей - вещь незаменимая, будет устройство на локальной шине процессора.
Если доработать, сделать выводы для обмена по SPI или последовательному порту, получить можно логический анализатор внутренней шины :)
Конечно не всей шины, проблема с DMA и прерываниями :( но ....
Главное приложить голову и очумелые ручки :)
Зачем ретро машинке МП3? Чтобы звук был на порядок круче убогой графики??
Давайте тогда еще и радио прикрутим :) У китайцев все дешево.
Нужно как-то соответствовать реальности. Если собрались делать полезную звуковую плату то по моему личному мнению лучше AY на отдельном порту (как на БК РУ/РД в одном флаконе), COVOX и порт джойстика. Память в случае УКНЦ в 100000м окошке от картриджа, будет куда сэмплы грузить или перезаписываемый картридж сделать.
Если МП пихать то что-нибудь полезное его научить делать например синусы считать :)
Для AY, Covox и джойстика адреса 177718 и выше (нужно уточнить, может туда уже чего новодельного воткнули).
DB-9
https://pic.maxiol.com/thumbs2/15923...joysticksc.png
Хотя можно попробовать Сеговский (их китайцы по три рубля пучек продают). В прошлом году к Комоду успешно подключил (пару проводков перепаял).
Всё уже украдено до нас ;-)Код:ПРОГРАММИРОВАНИЕ ДЖОЙСТИКА НА УК-НЦ
РУКОВОДСТВО ОПЕРАТОРА
1. НАЗНАЧЕНИЕ
Программа JOIST.SAV предназначена для программирования
последовательностей кодов, выдаваемых джойстиком.
2. МЕТОДИКА РАБОТЫ.
Программа JOIST.SAV имеет два режима работы:
1) программирование (редактирование)
последовательностей кодов, выдаваемых
джойстиком.
2) запись на периферийный процессор подпрограммы,
посылающей на экран при работе с джойстиком
последовательности кодов, заданные в режиме 1.
Для хранения нескольких вариантов программируемых последо-
вательностей кодов можно задавать программе другие имена.
(1) РАБОТА В РЕЖИМЕ ПРОГРАММИРОВАНИЯ
--------------------------------
Запуск: R[U] JOIST Z либо
R[U] JOIST
Джойстик, режим P или Z?Z
На экране прорисовываются 2 таблицы кодов (для левого и
правого джойстиков). Перемещаться по таблице можно
при помощи клавиш-стрелок (вверх, вниз, влево, вправо).
В строках таблицы указаны направления перемещения ручки
джойстика и названия его кнопок, а также соответствующие
им последовательности кодов, выдаваемые при работе с
джойстиком на экран. Каждая последовательность содержит
не более 4-х кодов.
Установите курсор в нужную позицию таблицы. При нажатии
клавиши "Z" курсор переходит в строку с кодами. Задайте
нужную последовательность символов (нажатием соответст-
вующих клавиш). Не алфавитно-цифровые символы заменяются
на экране их восьмеричным кодом. В конце последоватьности
нужно нажать ВК или ПС. Если набраны 4 кода, то ввод пре-
кращается автоматически.
Для выхода нажмите клавишу "К".
(2) РАБОТА В РЕЖИМЕ УСТАНОВКИ.
--------------------------------
Запуск: R[U] JOIST P либо
R[U] JOIST
Джойстик, режим P или Z?Р
В этом режиме на периферийном процессоре запускается
подпрограмма, посылающая на экран при работе с джойстиком
заданные в режиме 1 последовательности кодов .
JOIST .SAV
JOIST .LST
Не выйдет. Эмуляция ПЗУ на обычном микроконтроллере - дело строго синхронное. МК должен поймать переход линии SYNC из высокого уровня в низкий и зафиксировать состояние линий DA00-015 в этот момент плюс-минус 10 нс. С этим легко справится элементарная логическая схема, но ее там нет, а имитировать это дело программой означает непрерывную "прополку" этой линии - прерыванием воспользоваться не выйдет, от сигнала прерывания до начала реакции на него 12 тактов минимум, то есть, в 10 нс не укладываемся. Что, в свою очередь, означает, что свободного процессорного времени у этого МК нет совсем.
Туда бы идеально подошло что-нибудь, вроде PSoC 5 или PSoC 6 от CyPRESS - МК Cortex-M3 или, соответственно, -М4 плюс небольшая ПЛИС на борту. В этой самой ПЛИС настраиваешь отлов SYNC с аппаратным запоминанием адреса, а остальное программируется примерно так же, как я это сделал в AZ. Только вот не знаю, как сейчас, а 2 года назад PSoC 5 стоили безобразно дорого, раз в 10-20 дороже STM-ки соответствующего класса. PSoC 6 тогда, вроде-бы, еще не было...
Вообще-то есть варианты:
1. Влепить что-то очень шустрое с тактовой 480 МГц, типа STM32H743/753 100 ног, там точно хватит :)
Хотя если контроллер умудряется мониторить адресное пространство ПЗУ... То справится при оптимизации :)
2 хотя можно и подумать над тем, что одновременно диск и ПЗУ не используются. В конце концов, что нам мешает, регистры в адресной области ПЗУ?
3. если использовать небольшую ПЛИС, то можно "слабым" микроконтроллером...
И ещё, мониторить пару регистров легче... можно сделать чисто контроллер чего-либо :)
На многих платах есть пустая кроватка для ПЗУ. И туда можно вставить устройство. Можно протокол HD поддержать...
Тем более никак не выйдет реализовать DMA или прерывания :(
Хотя если влепить STM32H743/753 - то можно получить кучу периферии ;) И USB, и SPI, и сеть, и кучу последовательных портов и даже видеоадаптер(видео ускоритель есть) :) Ой, там ещё FPU есть...(Можно замахнуться на эмуляцию ВМ4, но это совсем другая конструкция будет)
Если есть сомнения, что не справится, то внутри семейства STM32 - есть DMA контроллер, коий при правильном программировании может взять на себя большую часть обмена с периферией.
Уж с/из внутреннего ОЗУ данные точно успеют передаться :)