- Адаптер мыши PS/2 в стандарт мыши Марсианка
- [+] Старые сообщения (6)
-
? TheGWBV@ - 08.09.2020 10:49
Пока работе программ это не мешает, если адаптер мыши и UART подключен к порту УП...
-
? svinka@ - 08.09.2020 14:30
+1 клиент на микросхемы 80)
;
Есть идея дальнейшего применения заморского контроллера на портах УП+ТЛГ
-
? TheGWBV@ - 08.09.2020 22:56
> +1 клиент на микросхемы 80)
Да, кто же против )) Во-первых, мне нужна 1515ХМ2-001 для ремонта УК-НЦ :) Ну, и пара чипов регистров порта УП не помешает (для БК0011М)... и ещё пара для БК0010-01 (там вроде даже больше битов прожжено джойстиком ещё в 90-х)...
¤
> Есть идея дальнейшего применения заморского контроллера на портах УП+ТЛГ
Поделитесь? ;-)
-
? svinka@ - 20.09.2020 23:16
***часы на ножке***
На один из входов УП микроконтроллер непрерывно транслирует дату-время как будто бы в радио-эфир
Когда требуется БК софт эту посылку принимает и декодирует
На стороне микроконтроллера любые часы реального времени с батарейкой
Первоначально часы устанавливаются на стенде
Код передачи любой последовательный хоть старт-стопный как в ТЛГ
Преимущества решения - только одна ножка порта УП на чтение
-
? TheGWBV@ - 27.09.2020 01:38
beta2 тут... https://my.oblako4u.ru/index.php/s/okXJe5xALGQQEe6
¤
>На стороне микроконтроллера любые часы реального времени с батарейкой
Вроде как можно прям в самом ATmega1284P запустить часы реального времени...
¤
>Преимущества решения - только одна ножка порта УП на чтение
Можно и одной ножкой обойтись, конечно. Слать по кругу строку вроде: CHR$(10) + "2020-09-26 23:20:28+03:00", всего 26 байт...
¤
Вот только мыслей уже море народилось... ради мыши/джойстика уже всё-равно 6 линий на вход УП подавать =)
Придумалось девять штырей входных использовать и девять для передачи данных в ATmega1284P...
¤
Использование штырей МК ATmega1284P
"""""""""""""""""""""""""""""""""""
¤
Порт D : PD0, PD1 - Последовательный (аппаратный) порт для связи МК с PC;
PD2, PD3 - Последовательный (аппаратный) порт для связи, например, по UART/Bluetooth;
PD4, PD5 - PWM-ы (пока ещё свободны или Интерфейс порта мыши PS/2);
PD6, PD7 - Мл. биты регистра порта ввода БК.
¤
Порт C : PC2..PC7 - Старшие биты младшего байта порта ввода УП БК0010/11М. PC0, PC1 - Шина I2C.
¤
Порт A : PA0,PA1,...,PA7 - Для подключения младшего байта регистра порта вывода УП БК0010/11М.
¤
Порт B : PB4..PB7 - Шина SPI (master); PB0..PB1 - Интерфейс порта мыши PS/2 (если возможно);
¤
Порт B : PB2, PB3 - сигналы управления. Для PB2(2/Rx): 0 - выбор виртуального устройства и его регистра,
1 - передача (запись) данных (байта) в регистр виртуального устройства (согласно протокола),
в котором биты поделены так: ddddRRRR, где dddd (биты 7..4) -- номер вирт. устройства, а
RRRR (биты 3..0) -- номер регистра виртуального устройства.PB3(3/Tx): 0 - Используется для подачи в БК сигнала ДАННЫЕ ГОТОВЫ. 1 - НЕТ ДАННЫХ (байта) для БК.
Подтверждение приема байта производится записью сигнала БАЙТ ПРИНЯТ, в регистр соответствующего устройства.
¤
PB2(2) dddd.RRRR (Данные инвертированы под код на БК0010/11М. В ардуине использовать инверсию!)
1 0000.0000 Выбор устройства адаптера мыши "Марсианка" (используется/работает по-умолчанию).
0 0000.0000 Очистка регистра вывода порта УП БК.
¤
PB2(2) dddd.RRRR (Данные инвертированы под код на БК0010/11М. В ардуине использовать инверсию!)
1 0001.0000 Выбор устройства последовательного интерфейса UART, например, для связи с PC.
0 хххх.хххх Запись байта в регистр данных UART.
1 0001.0001 Выбор регистра сигнала СТРОБ ДАННЫХ. Ардуино начинает его ждать...
0 0001.0001 СТРОБ ДАННЫХ. При его выставлении переданный байт данных отправляется на UART.
1 0001.1000 Выбор регистра сигнала БАЙТ ПРИНЯТ.
0 0001.1000 БАЙТ ПРИНЯТ. При его получении Ардуино выставляет на порт C новый инвертированный байт,
если он есть, либо пишет в него 0xFF (что для БК == 0).PB2(2) dddd.RRRR (Данные инвертированы под код на БК0010/11М. В ардуине использовать инверсию!)
1 0010.0000 Выбор устройства последовательного интерфейса UART, например, для связи по Bluetooth.
0 хххх.хххх Запись байта в регистр данных UART.
1 0010.0001 Выбор регистра сигнала СТРОБ ДАННЫХ. Ардуино начинает его ждать...
0 0010.0001 СТРОБ ДАННЫХ. При его выставлении переданный байт данных отправляется на UART.
1 0010.1000 Выбор регистра сигнала БАЙТ ПРИНЯТ.
0 0010.1000 БАЙТ ПРИНЯТ. При его получении Ардуино выставляет на порт C новый инвертированный байт,
если он есть, либо пишет в него 0xFF (что для БК == 0).PB2(2) dddd.RRRR (Данные инвертированы под код на БК0010/11М. В ардуине использовать инверсию!)
1 0011.0000 Выбор шины SPI для работы с видеоАдаптером "EMT16 - Эмулятор ТВ-драйвера БК0010(-01)".
1 0011.0100 Выбор регистра сигнала SS (выбор ведомого устройства, начало сеанса связи).
0 0011.0100 Выставить на шину сигнал SS для начала сеанса связи. Ардуино начинает ждать байты от БК.
...
1 0011.0000 Выбор устройства SPI для работы с видеоАдаптером.
0 хххх.хххх Запись байта в регистр данных интерфейса SPI.
1 0011.0001 Выбор регистра сигнала СТРОБ ДАННЫХ. Ардуино начинает его ждать...
0 0011.0001 СТРОБ ДАННЫХ. При его выставлении переданный байт данных отправляется на шину.
...
1 0011.0100 Выбор регистра сигнала SS (выбор ведомого устройства, начало сеанса связи).
0 0011.0000 Снять с шины сигнал SS для завершения сеанса связи. Ардуино завершает ждать байты от БК.
1 0011.1000 Выбор регистра сигнала БАЙТ ПРИНЯТ.
0 0011.1000 БАЙТ ПРИНЯТ. При его получении Ардуино выставляет на порт C новый инвертированный байт,
если он есть, либо пишет в него 0xFF (что для БК == 0).PB2(2) dddd.RRRR (Данные инвертированы под код на БК0010/11М. В ардуине использовать инверсию!)
1 0100.0000 Выбор шины для работы с ЦАП-ами SuperCovox. (Байт1L + Байт2L + Байт3L + Байт4L => ЦАП)
0 хххх.хххх Запись байта в регистр данных интерфейса.
1 0100.0001 Выбор регистра сигнала СТРОБ ДАННЫХ. Ардуино начинает его ждать...
0 0100.0001 СТРОБ ДАННЫХ. При его выставлении переданный байт данных отправляется на шину.
...
1 0100.1000 Выбор регистра сигнала БАЙТ ПРИНЯТ. (SuperCovox "возвращает" сумму в виде двух байт).
0 0100.1000 БАЙТ ПРИНЯТ. При его получении Ардуино выставляет на порт C новый инвертированный байт,
если он есть, либо пишет в него 0xFF (что для БК == 0).PB2(2) dddd.RRRR (Данные инвертированы под код на БК0010/11М. В ардуине использовать инверсию!)
1 0110.0000 Выбор шины для работы с ЦАП-ами SuperCovox @ Stereo Mode.
(Байт1L + Байт1R + Байт2L + Байт2R + Байт3L + Байт3R + Байт4L + Байт4R => ЦАП-ы)
0 хххх.хххх Запись байта в регистр данных интерфейса.
1 0110.0001 Выбор регистра сигнала СТРОБ ДАННЫХ. Ардуино начинает его ждать...
0 0110.0001 СТРОБ ДАННЫХ. При его выставлении переданный байт данных отправляется на шину.
...
1 0110.1000 Выбор регистра сигнала БАЙТ ПРИНЯТ. (SuperCovox "возвращает" суммы в виде двух пар байт).
0 0110.1000 БАЙТ ПРИНЯТ. При его получении Ардуино выставляет на порт C новый инвертированный байт,
если он есть, либо пишет в него 0xFF (что для БК == 0).PB2(2) dddd.RRRR (Данные инвертированы под код на БК0010/11М. В ардуине использовать инверсию!)
1 0101.0000 Выбор канала для работы с таймером реального времени.PB2(2) dddd.RRRR (Данные инвертированы под код на БК0010/11М. В ардуине использовать инверсию!)
1 0111.0000 Выбор канала для работы с ускорителем расчётов MUL16, DIV16, MUL32, DIV32PB2(2) dddd.RRRR (Данные инвертированы под код на БК0010/11М. В ардуине использовать инверсию!)
1 1000.0000 Выбор канала для работы с ускорителем векторной графики.
На вход подаем координаты ХY экрана БК, тип фигуры и её геом./цвет. параметры --
на выходе получаем поток адресов, масок гашения и свечения.PB2(2) dddd.RRRR (Данные инвертированы под код на БК0010/11М. В ардуине использовать инверсию!)
1 1001.0000 Выбор шины SPI, например, для работы с LCD-экраном.
1 1001.0100 Выбор регистра сигнала SS (выбор ведомого устройства, начало сеанса связи).
0 1001.0100 Выставить на шину сигнал SS для начала сеанса связи. Ардуино начинает ждать байты от БК.
...
1 1001.0000 Выбор устройства SPI, например, для работы с LCD-экраном или видеоАдаптером.
0 хххх.хххх Запись байта в регистр данных интерфейса SPI.
1 1001.0001 Выбор регистра сигнала СТРОБ ДАННЫХ. Ардуино начинает его ждать...
0 1001.0001 СТРОБ ДАННЫХ. При его выставлении переданный байт данных отправляется на шину.
...
1 1001.0100 Выбор регистра сигнала SS (выбор ведомого устройства, начало сеанса связи).
0 1001.0000 Снять с шины сигнал SS для завершения сеанса связи. Ардуино завершает ждать байты от БК.
1 1001.1000 Выбор регистра сигнала БАЙТ ПРИНЯТ.
0 1001.1000 БАЙТ ПРИНЯТ. При его получении Ардуино выставляет на порт C новый инвертированный байт,
если он есть, либо пишет в него 0xFF (что для БК == 0).
-
? svinka@ - 27.09.2020 16:17
Есть мнение что все выходные ножки порта УП заняты под СтереоКовокс и генератор музыкального шума типа AY-3-...
-
? TheGWBV@ - 27.09.2020 17:07
Во-первых, у кого как... В моей БК0011М - заняты, а в моём БК0010-01 - нет.
Во-вторых, при желании можно и на другой регистр всё это повесить, но смысла уже нет - AZ для БК скоро выйдет.
¤
Считайте, что это один из возможных вариантов периферийного процессорного модуля для БК с асинхронной магистралью связи :)
Думаю, все описанные выше функции потянет процессор вроде ВМ2 или ВМ3...
¤
Ещё где-то мелькало, что AY-3-... можно эмулировать прямо в Ардуино =)
-
? svinka@ - 27.09.2020 18:25
очень скоро.... после Бустера??
Деньги уже собирают???
$$$
Можно. есть проекты с открытым исходным кодом в том числе под Мегу. Но как всегда может оказаться чо ничего кроме этого мега делать не успеет.
$$$
ВМ2 и ВМ3 теперь многом не по карману.
Одна надежда что ММ еще натыбзит на Экситоне -)))
Или в ларек по скупке радиодеталей, где он работает, Павлово-Посадские алкаши принесут...
-
? svinka@ - 27.09.2020 18:38
посмотрел в словаре.
правильно писать - стыбзить
синонимы: стырить, стибрить
-
? TheGWBV@ - 28.09.2020 09:36
> Можно. есть проекты с открытым исходным кодом в том числе под Мегу. Но как всегда может оказаться чо ничего кроме этого мега делать не успеет.
По SPI или I2C можно будет подключить отдельную Мегу с эмуляцией AY, или ардуино по-медленнее с реальным AY :)
¤
Для приставки с ВМ2 (реальным или клоном на FPGA) можно использовать также отдельную Мегу с эмуляцией AY, или ардуино по-медленнее с реальным AY :-)
Цель мыслительного процесса была -- продумать протокол-шину и приставку-расширитель возможностей БК, которые можно было бы и в 90-е реализовать на ВМ2,
как промежуточный этап перед БК0011М2, в котором это было бы уже по-умолчанию, и сервисные ПП для нового функционала на квази-ПЗУ (SDRAM + Батарейка)...
-
? TheGWBV@ - 28.09.2020 09:45
> Есть мнение что все выходные ножки порта УП заняты под СтереоКовокс и генератор музыкального шума типа AY-3-...
Подумаю ещё, как на стороне БК отвязаться от приделанного реального AY-3-... программно-аппаратно =)
Вдруг, получится ))
-
? svinka@ - 29.09.2020 09:05
Магнитофонный вход наше все!! По нему тоже есть мысли в дурной голове...
-
? TheGWBV@ - 29.09.2020 20:28
>Магнитофонный вход наше все!! По нему тоже есть мысли в дурной голове...
И, видимо, не в одной )) У меня давно есть мысль прикрутить к нему UART, и стартовый звуковой загрузчик...
После запуска/ресета "магнитофонного" девайса он передает в формате БК сервисную программу,
с помощью которой уже можно общаться с новыми функциями, вроде каталога файлов на карте SD, или с РС по UART
(ну, или с другой БК или голосовым модемом и т.п. устройствами)...
-
? TheGWBV@ - 29.09.2020 20:31
Проблема при этом всегда одна - я не электронщик по образованию.
Вопросы электрического согласования приборов в голове не укладываются :)
Чертить схемы и разводку печатных плат ни времени, ни сил нет...
-
? svinka@ - 30.09.2020 21:13
Да да. Начальный загрузчик по кругу на магнитовонный вход пока не будет реакции на мг выходе. А в загрущчике том -меню с выбором например игрушкек. Согласовае до мг элементарное берется из схемы БК например. Или из спектрума
-
? TheGWBV@ - 01.10.2020 08:34
>Согласовае до мг элементарное берется из схемы БК например.
Это понятно. А питание девайса откуда можно взять? Не помню, выходит ли +5В на разъем ТВ у БК0010-01 (сейчас только она под рукой будет)...
Я так подумывала сначала -- реле управления магнитофоном включает питание такого девайса. Но как сделать схемо-технически,
чтобы реле только в первый раз своего срабатывания включила сей девайс, а потом уже не влияло на питание расширителя?
Хотя, если девайс всегда будет подключен UART-ом для связи с РС -- он его и запитает...
¤
Digispark Attiny 85 неделю назад прикупила под это дело даже :)
Все выводы могут быть использованы в качестве цифровых входов/выходов:
Pin 0 → I2C SDA, PWM (LED on Model B)
Pin 1 → PWM (LED on Model A)
Pin 2 → I2C SCK, Analog
Pin 3 → Аналоговый вход (Занят контактом USB+, в случае использования USD)
Pin 4 → PWM (Занят контактом USB-, в случае использования USD)
Pin 5 → Аналоговый вход
Вот Pin 1 и Pin 5 как раз к БК-ашному порту МГ и подключу ))
Кстати, можно будет даже клаву для РС тогда из БК-ашки сделать даже ;-)
-
? TheGWBV@ - 01.10.2020 08:37
А по I2C можно подключить флеш-память с БКашным софтом. Но ещё не продумывала, что лучше для этого использовать из микрух...
-
? svinka@ - 01.10.2020 09:00
как вариант использовать SD карту например на 2гигабайта.
Думал что обслуживанием магнитофонного интерфейса занимается все тот же микроконтроллер типа МЕГА что на УП.
Хвостик от той платы кинуть в разьем МГ
И питание и ноги свободные и главное вычислительные ресурсы для обслуживания SD карты с FAT там есть!
-
? TheGWBV@ - 02.10.2020 08:41
>Думал что обслуживанием магнитофонного интерфейса занимается все тот же микроконтроллер типа МЕГА что на УП.
Теперь-то уже, видимо, так и будет :) Просто мысль об утилизации порта МГ родилась уже давно (ещё год назад где-то).
А недавно кто-то пожелал адаптер мыши PS/2 -> Марсианка :)
¤
>И питание и ноги свободные и главное вычислительные ресурсы для обслуживания SD карты с FAT там есть!
Ага, все виртуальные устройства можно будет использовать попеременно же :)
У меня и модуль есть для SD-карты уже с год =) Ближе к НГ до него доберусь, думаю.
Первым делом надо порт МГ прокачать...
-
? TheGWBV@ - 04.10.2020 14:54
>Первым делом надо порт МГ прокачать...
Пока с этим засада... БК0010-01, что под рукой, глючит...
При включении два раза квакает звуком нажатия клавиши, Бейскик грузит, но в итоге пишет:
OK
_[]
где [] - курсор, и на этом виснет, на клавиши не реагирует :(
-
? svinka@ - 05.10.2020 22:10
Похоже на неисправную вп1-014
- << Форум