Вход

Просмотр полной версии : ZX Terminal



asve79
14.02.2019, 13:58
И так, представляю вашему вниманию простой терминал для работы с портом.

Зачем оно, если существуют много разных терминалов? Все просто: хочу все-таки сделать библиотеки под разные платформы с одинаковой функциональностью, чтобы как уже обсуждалось ранее можно было их использовать в качестве API или драйверов. Чтобы это сделать нужна программа которая умеет использовать эти библиотеки, при написании которой можно будет "обкатывать" универсальность решения и удобство использования.

Решил что для широкого круга пользователей и разработчиков может быть тоже полезной как просто терминал на предмет "что-то отправить в порт или получить из него". Можно развить и более богатыми функциями решение. Если нужно, берите - не стесняйтесь! )
Унификация кода низкоуровневой работы с портом пока далека от идеальной. Потихоньку выпрямляю.

И так, какие решения поддерживаются:

* ZX Evolution Base (RS232). По-идее она же должна работать на Профике 5.06, на порту реализованным по Кондратьеву(!). Буду очень признателен если протестируете.
* ZX Evolution TS-Conf(ZIFI)

Требует проверки работоспособности на железе версия:

* ZX Evolution TS-Conf(RS232)

Неспешно делается версия с использованием портов под ZX Next.
Если у вас есть какой-то другой Спеки с как-то реализованным портом и потребность работы с сетью - пробуйте эти утилитки, пишите, чего-нидь придумаем.

Проект (там же скомпилированные версии в SNA и Hobeta): https://github.com/asve79/z80-terminal

Демки:
Zifi verision:
http://alecnet.ae-nest.com/wp-content/uploads/2019/02/terminal-tsconf-zifi.gif

RS-232 version:
http://alecnet.ae-nest.com/wp-content/uploads/2019/02/terminal-evo-rs232.gif

solegstar
14.02.2019, 16:24
* ZX Evolution Base (RS232). По-идее она же должна работать на Профике(!)
Тут наверное стоит уточнить, что она должна работать на Профи 5.06, так как на нем интегрирована ZXMC2. Фирменный ком-порт Профи находится по другим портам. Попробую сегодня кинуть описание. А так, по идее, можно попробовать терминал и на Фениксах, и на компах, где есть слотовые версии мультикарты Камиля.

asve79
14.02.2019, 16:59
Тут наверное стоит уточнить, что она должна работать на Профи 5.06, так как на нем интегрирована ZXMC2. Фирменный ком-порт Профи находится по другим портам.
Ага, спасибо! Дополнил текст.


Попробую сегодня кинуть описание. А так, по идее, можно попробовать терминал и на Фениксах, и на компах, где есть слотовые версии мультикарты Камиля.
Давай, как буду желающие, а главное те, кто сможет это протестировать, то запилю и под них. )

CLR
14.02.2019, 19:03
У меня есть профи 5.02 с платой периферии 5.02, где распаян компорт, в работоспособности которого меня убедила ком-мышь, вполне работавшая в СР/М. Могу протестировать связь с той же убунтой, только распайку кабеля уточните.

Вообще, было бы забавно например запускать midnight commander (правда, тут очень бы помогла поддержка расширенного экрана профи).

Кстати, насчёт zifi - у меня есть пара платок с ESP8266, их как-нибудь можно подключить к этому компорту и порулить at-командами?

solegstar
14.02.2019, 22:56
asve79, для доступа к фирменной расширенной периферии Профи нужно установить 4й бит (считать от нуля) порта 7FFD в 1цу и 5й бит порта DFFD в 1цу. Далее появляются такие порты ком-порта:
- порт РУС ВВ51 (COM1) - F3h; (регистр управляющего слова)
- регистр данных BB51 (COM1) - D3h;
- регистр канала 0 ВИ53/1 (COM1) - 8F;
- регистр канала 1 ВИ53/1 (COM1) - AF;
- регистр канала 2 ВИ53/1 (COM1) - CF;
- порт РУС ВИ53/1 (COM1) - EFh; (регистр управляющего слова)
- регистр управления контроллером прерываний /w (на запись) (D0->”1”); /r (на чтение) (D7-D0) - B3h (или 93h);
Таймер 580ВИ53 устанавливает скорость работы ком-порта для микросхемы 580ВВ51 - канал 0, также генерирует частоту для преобразователя -12В - канал 1. Далее, как я понимаю нужно работать с 580ВВ51 по её мануалу. могу только уточнить, что клок на ВВ51 подается 1,75 МГц в спектрум режиме и 1,5МГц в режиме расширенного экрана, и далее делитель для определенной скорости передачи ВВ51 в ВИ53 нужно считать относительно него. Также, есть возможность с помощью контроллера прерываний смотреть сигналы RING и DCD ком-порта:
- Port B3h - Регистр управления контроллера служит для управления контроллером прерываний от компорта, 512ВИ1, а также для проверки некоторых сигналов.:
bit D0 - INT/RING - при записи 1цы -pазpешить прерывания, при 0 -запpетить прерывания, при чтение выдается состояние линии RING компорта;
bit D7 - Чтение сигнала DCD компорта;

Далее наверное нужно смотреть мануалы на ВИ53 и ВВ51, или на их интеловские аналоги.

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

Вроде неплохой документ по ВВ51 (https://www.sgu.ru/sites/default/files/textdocsfiles/2014/01/10/k580bb51.pdf).

asve79
15.02.2019, 08:11
asve79, для доступа к фирменной расширенной периферии Профи нужно установить 4й бит (считать от нуля) порта 7FFD в 1цу и 5й бит порта DFFD в 1цу. Далее появляются такие порты ком-порта:
< skip >
bit D7 - Чтение сигнала DCD компорта;
Далее наверное нужно смотреть мануалы на ВИ53 и ВВ51, или на их интеловские аналоги.
- - - Добавлено - - -
Вроде неплохой документ по ВВ51 (https://www.sgu.ru/sites/default/files/textdocsfiles/2014/01/10/k580bb51.pdf).

Даа, при такой схеме текущая реализация библиотеки работать не будет.
Это, как я понимаю, фирменный com-порт профика, который не по Кондратьеву?



У меня есть профи 5.02 с платой периферии 5.02, где распаян компорт, в работоспособности которого меня убедила ком-мышь, вполне работавшая в СР/М. Могу протестировать связь с той же убунтой, только распайку кабеля уточните.

Если работа с этим портом осуществляется по схеме, указанной уважаемым @solegstar, то текущая реализация либы работать не будет.
Когда я разбирался с темой передачи данных через ком порт на Спеке я где-то читал про фирменный профи-порт. Наверное даже на этом форуме. Что кто-то к нему пытался подключать модем, но он таки и не не работал стабильно из-за каких-то конструктивных особенностей порта. Даже мышь иногда подглючивала. Но боюсь что ссылок на пост не смогу найти.

solegstar
15.02.2019, 12:04
Это, как я понимаю, фирменный com-порт профика, который не по Кондратьеву?
да, именно так.

Когда я разбирался с темой передачи данных через ком порт на Спеке я где-то читал про фирменный профи-порт. Наверное даже на этом форуме. Что кто-то к нему пытался подключать модем, но он таки и не не работал стабильно из-за каких-то конструктивных особенностей порта. Даже мышь иногда подглючивала.
я пробовал подключать внешний модем и через терминал под СРМ конектился к инетовскому(или фидошному, не помню уже) номеру. всё работало. еще, я через нуль-модемный кабель перекидывал файлы с Профи на РС. связка Terminal (Profi) и HyperTerminal (PC) работала довольно стабильно. правда не помню по какому протоколу передавал, вроде по zmodem.

asve79
15.02.2019, 12:47
я пробовал подключать внешний модем и через терминал под СРМ конектился к инетовскому(или фидошному, не помню уже) номеру. всё работало. еще, я через нуль-модемный кабель перекидывал файлы с Профи на РС. связка Terminal (Profi) и HyperTerminal (PC) работала довольно стабильно. правда не помню по какому протоколу передавал, вроде по zmodem.

Уфф, ок.
Из этой истории мне только немного напряжно постягать логику работы микросхемы. )
Пока ставлю это в неприоритетные задачи.
Утрясу вид API для модулей, дальше скорее всего сделаю обвязку для ф-ций работы с сетью через зифу с использованием стандартезированных модулей.
Может за это время найдется доброволец который под Профик сделает низкоуровневые ф-ции для этого "классического" порта. )

Djoni
15.02.2019, 20:14
Уфф, ок.
Из этой истории мне только немного напряжно постягать логику работы микросхемы. )
Пока ставлю это в неприоритетные задачи.
Утрясу вид API для модулей, дальше скорее всего сделаю обвязку для ф-ций работы с сетью через зифу с использованием стандартезированных модулей.
Может за это время найдется доброволец который под Профик сделает низкоуровневые ф-ции для этого "классического" порта. )

По теме коммуникационного порта Profi документ:

Драйвер коммуникационного порта для Concurrent BIOS

https://yadi.sk/d/Sd778gdZ8NOiSw

CLR
15.02.2019, 20:53
я пробовал подключать внешний модем и через терминал под СРМ конектился к инетовскому(или фидошному, не помню уже) номеру. всё работало.

Я что-то упустил эту тему в своё время. Этот СРМ терминал умеет VT52/VT100 хотя бы?

solegstar
15.02.2019, 22:21
Этот СРМ терминал умеет VT52/VT100 хотя бы?
хороший вопрос. помню, что дозвонился провайдеру, ат-командами из терминала, соединение установилось, но дальше я не стал ничего делать. было тогда боязно, так как инет у нас только появился)