Порты под ОС Windows

Использование и разработка софта (преимущественно на ПЦ)

Moderator: Shaos

User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Порты под ОС Windows

Post by Lavr »

Pyk wrote:А в чем проблема с запуском эмуляторов на новом ноутбуке? Если x64, должен выручить DoxBox, я уж не говорю о том, что есть новая java-версия эмулятора Шевцова, да и лругие эмуляторы Специалиста-MX, работающие на современном железе ;)
Вся прелесть эмулятора Шевцова была в том, что он мне сделал персональный экземпляр,
который работал из кода "Специалиста" на настоящие "железные" порты компьютера! :kruto:

Во всех ваших замечательных эмуляторах этого нет и, как я понял, никогда не будет... :(
Я, кстати, и Proteus за эту фичу уважаю: виртуальный процессор может работать с настоящими портами!
iLavr
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Язык FORTH

Post by Pyk »

Я с протеусом "постольку поскольку", ты хочешь сказать, что он даже на современных ОС может работать с реальными портами?
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Язык FORTH

Post by Lavr »

Pyk wrote:Я с протеусом "постольку поскольку", ты хочешь сказать, что он даже на современном железе может работать с реальными портами?
Именно! :esmile: Я фигею, конечно, но они даже USB поддержали в новых версиях! :o

А, собственно, там ничего особо сложного и нет, если работать, как М$ рекомендует.
Я вот тут недавно совершенно для себя неожиданно RS-232 через USB побитно покомандовал! :roll:
А я уж думал, такое "кино" кончилось с новыми Вендами... :-?
iLavr
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Язык FORTH

Post by Pyk »

Да я не прочь обсудить эту тему, собственно. Выделить в отдельную ветку, может быть?
Речь вообще о каких портах - только о последовательном или о параллельном тоже?
Можно ведь на уровне приема/отправки байт сделать - это проще. Можно кроме реального порта и в tcp завернуть или там в named pipe, например. А можно поставить задачу произвольное дрыгание ног реализовать - здесь уже все неоднозначно, особенно при использовании USB-COM переходников. Надо задачу понять.

А идеальным решением для любого варианта использования видится свое внешнее устройство для PC с портами на каком-то микроконтролере и научить эмуляторы с ним работать. Может, кто-то такое уже и придумал?
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Язык FORTH

Post by Lavr »

Pyk wrote:Да я не прочь обсудить эту тему, собственно. Выделить в отдельную ветку, может быть?
Речь вообще о каких портах - только о последовательном или о параллельном тоже?
Вот я тебе из дома не могу это сказать... Протеус 8.2 и хороший комп под него у меня на работе.
Pyk wrote: А можно поставить задачу произвольное дрыгание ног реализовать - здесь уже все неоднозначно, особенно при использовании USB-COM переходников.
Вот именно, что "дрыгание ног реализовать". Я почему и удивлён был - я купил самый распространённый
переходник USB-COM для использования по прямому назначению, т.к. на ноуте только USB порты.
Ну и я думал, что он только протокол последовательного интерфейса реализует...
А оказалось можно дрыгать ногами, хотя и не так как раньше - записал байт в порт.

Я и USB-LPT переходник себе купил сугубо под принтер, но читал уже где-то, что и он может дрыгать
ногами через функции Венды.
iLavr
forthuser
Senior
Posts: 165
Joined: 12 Jan 2023 07:26

Re: Язык FORTH

Post by forthuser »

Тоже когда то в ПО реализовывал симуляцию из виртуального процессора на реальный СОМ порт для соединения с внешней IDE, а также ногодрыгание на LPT порту пинами подключённой микросхемы.
Но это было в рамках использования Win XP (Win98), а повторить этот опыт даже в рамках виртуальных программ
предлагаемых для этого уже дальше на других WinOS и другом железе особо не получалось за редким исключением нестабильного коннекта.

P.S. Кстати тему USB-LPT популярно реализовывали на CY68013A (8051 по системе команд) популярных контроллерах (применённй и для народного логического анализатора)
Pyk
Maniac
Posts: 252
Joined: 21 Jan 2003 04:08

Re: Язык FORTH

Post by Pyk »

Lavr wrote:Вот я тебе из дома не могу это сказать... Протеус 8.2 и хороший комп под него у меня на работе.
Ну, я собственно, не только и не столько про Протеус, сколько про потребность этого в эмуляторах. Вот ты упоминал спец. сборку эмулятора Шевцова - там какие порты?
lavr wrote:купил самый распространённый
переходник USB-COM для использования по прямому назначению, т.к. на ноуте только USB порты.
Ну и я думал, что он только протокол последовательного интерфейса реализует...
А оказалось можно дрыгать ногами, хотя и не так как раньше - записал байт в порт.
Повезло. Помнится, я как-то искал переходник на определенном чипсете для программирования одной конкретной железки, ибо работало только на нем и не работало на распространенных Prolific...

Вообще, идеально сделать вывод портов на физические можно было только под ДОС, в современных системах наслаивается сразу несколько уровней проблем:

1. Переходник USB-COM или USB-LPT может просто не поддерживать необходимые функции. Но, допустим, это не наш случай и у нас физический COM-порт.
2. Windows может вроде бы управлять данными и DTR/RTS, в LPT тоже 8 бит данных + еще что-то (нужно вспоминать и уточнять) но произвольное управление остальными ногами может быть недоступно.
3. Допустим, мы подключили к ПК какой-то свой контроллер, которые принимает от эмулятора команды, управляет ногами своего выхода и передает эмулятору состояние. Но эмуляция производится фреймами, так что очень часто обмениваться данными с этим контроллером тоже не получится.
4. Даже если мы организуем некий буфер (примерно как в звуковой карте), который будет выдавать на ноги последовательное состояние во времени в течение целого фрейма эмуляции, все равно останется лаг между записью и чтением.

В общем, если и делать поддержку физических портов в эмуляторе, то все равно где-то придется остановиться, стопроцентной поддержки, как было можно в ДОС, добиться не получится...
Поэтому и интересуюсь, для каких задач нужна работа с реальными портами в эмуляторе? Насколько нужно вообще произвольное "дрыгание" ногами и оперативное реагирование с интервалом менее ну, скажем, 20 мс?
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Язык FORTH

Post by Lavr »

Pyk wrote:
Lavr wrote:Вот я тебе из дома не могу это сказать... Протеус 8.2 и хороший комп под него у меня на работе.
Ну, я собственно, не только и не столько про Протеус, сколько про потребность этого в эмуляторах. Вот ты упоминал спец. сборку эмулятора Шевцова - там какие порты?
Там были все порты типичного IBM PC и доступ к таймеру! :kruto:
Ну и поскольку Шевцов выдал мне исходники этого варианта, то я от себя добавил IN и OUT в любое
железо IBM PC. :wink:
Для прикола я где-то на форуме программировал звуковую карту из-под "Специалиста" в кодах К580ВМ80... :D
viewtopic.php?f=90&t=10521
Pyk wrote:
lavr wrote:купил самый распространённый
переходник USB-COM для использования по прямому назначению, т.к. на ноуте только USB порты.
Ну и я думал, что он только протокол последовательного интерфейса реализует...
А оказалось можно дрыгать ногами, хотя и не так как раньше - записал байт в порт.
Повезло. Помнится, я как-то искал переходник на определенном чипсете для программирования одной конкретной железки, ибо работало только на нем и не работало на распространенных Prolific...
Тут все путают "тёплое с мягким", и я тоже путал... :-?
Есть переходники USB-... которые понимают IN и OUT по адресам реальных портов через
библиотеки типа "INРOUT.DLL" - их много и под Вынь 64 тоже уже есть...
Такие переходники с их драйверами очень редкие, и я даже не надеялся такой купить. :(

Но через вызовы Win API все переходники типа USB-... дрыгать ногами обязаны! Иначе их виртуальные
порты просто не будут соответствовать этому Win API! :o

Тут у нас на форуме есть посетитель, кажется KVAS, я в Интернете скачивал где-то его пример работы
с LPT-портом вызовами Win API. Но руки не дошли попробовать... :oops:
iLavr
User avatar
Lavr
Supreme God
Posts: 16680
Joined: 21 Oct 2009 08:08
Location: Россия

Re: Язык FORTH

Post by Lavr »

Pyk wrote:... для каких задач нужна работа с реальными портами в эмуляторе? Насколько нужно вообще произвольное "дрыгание" ногами и оперативное реагирование с интервалом менее ну, скажем, 20 мс?
Ну я тебе уже показывал этот пример, когда я очень с пользой дрыгал ногами LPT-порта для управления
LCD-дисплейчиком Nokia-3310 через "Специалист" и Протеус по протоколу SPI чисто программно:
viewtopic.php?p=85996#p85996
iLavr