Работа с портами в Win2k для старых программ

Тема в разделе "WASM.ELECTRONICS", создана пользователем Ensase, 27 фев 2008.

  1. Ensase

    Ensase New Member

    Публикаций:
    0
    Регистрация:
    23 янв 2008
    Сообщения:
    5
    Есть большое количество старых бесплатных программ которые работают с портами из-под доса. Понятное дело что в Вин2к такие фокусы не проходят. Возможно ли сделать эти программы работоспособными?

    Идея такова - запускать их под своего рода эмулятором, который перехватывает IN, OUT инструкции и выполняет их таким образом чтобы оные работали(например использует драйвер итп).

    Вопрос: существуют ли подобные реализации?
     
  2. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
  3. Ensase

    Ensase New Member

    Публикаций:
    0
    Регистрация:
    23 янв 2008
    Сообщения:
    5
    VDM под рукой не оказалось, а досбокс (в стандартной кофигурации) бесполезная ерунда. Ни пишет в ЛПТ не читает!

    ЗЫ:Меня досовские игры не интересуют, нужно запустить лптовый программатор для ПИКа из-под 2000ка
     
  4. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    NTVDM, он в винду встроен, но не безгрешен. Видимо, у тебя что-то специфичное. Порты-то можно просто открыть, но не факт, что поможет.
     
  5. Ensase

    Ensase New Member

    Публикаций:
    0
    Регистрация:
    23 янв 2008
    Сообщения:
    5
    мне просто нужно запускать старые программы без исходников. открыть порты попробую. из других вариантов есть allowio который позволяет разрешать доступ к портам по номеру. когда в вин 2к хр из 3 го кольца выполняются инструкции in-out генерируется исключение и приложение хлопается. я слыхал что из под сайса можно это дело перехватить - вывод надо просто написать драйвер который будет делать подобный перехват и выполнять инструкции.
     
  6. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    giveio.sys ?

    зачем такой изврат если можно разрешить просто доступ к портам из пользовательского кода. тогда in-out пройдут без исключений, можно даже ребутнуть комп)

    только вот помоему все не так просто для vm86 режима. хотя фиг его знает, я этим режимом никогда не интересовался с точки зрения защищенного - нафиг оно надо:)
    если твоя программа досовская, то 2к обернет ее в ntvdm, который еще както по-своему по идее должен эмулировать порты для своего vm86.
     
  7. Mikl_

    Mikl_ New Member

    Публикаций:
    0
    Регистрация:
    14 ноя 2006
    Сообщения:
    907
    Ensase
    Загружайся с дискетки из-под чистого DOS'а, проблем-то:) и работай с аппаратурой напрямую
     
  8. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    vmware поддерживает LPT, COM, USB
    http://www.vmware.com/support/ws5/doc/intro_vmspec_ws.html#wp1001591

    Great
    Виндоус многозадачная среда. Для того чтобы небыло конфликтов драйверов ОС и твоей программы если они одновременно будут работать с одним устройством.

    Вообще там просто, почти все также как в 32 битной задаче 3 го кольца .
     
  9. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    ну это конечно да, но можно ведь создать такие условия, чтобы программатор никто не трогал больше )
     
  10. Ensase

    Ensase New Member

    Публикаций:
    0
    Регистрация:
    23 янв 2008
    Сообщения:
    5
    ВМВаре это пушка, при чем платная и из нее по комарам палить не вариант. Плюс дело не только в программаторе, но и в куче наработок под дос, хотелось бы заставить их заработать и обязательно без перекомпиляции.

    GiveIO после загрузки открывает доступ к портам всем запущенным программам (к примеру досовским из под ntvdm)?
     
  11. wasm_test

    wasm_test wasm test user

    Публикаций:
    0
    Регистрация:
    24 ноя 2006
    Сообщения:
    5.582
    попробуй бошс:)
     
  12. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    Ensase
    Написание VDD. В ддк всё описано и есть примеры. Ничего сложного.
     
  13. dag

    dag New Member

    Публикаций:
    0
    Регистрация:
    17 авг 2004
    Сообщения:
    446
    Кто сказал что VMWare платная вся ???? http://www.vmware.com/download/server/open_source.html - VMWare Server + для готовых есть VMWare Player http://www.vmware.com/download/player/open_source.html
     
  14. drmad

    drmad New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    332
    Адрес:
    Russia
    Openports? По крайней мере, старые ДОС-игрушки с его помощью запросто тиндиликали динамиком через порты, будучи запущены в NT/2K.

    http://gl00my.chat.ru/downloads.html
     
  15. k3internal

    k3internal New Member

    Публикаций:
    0
    Регистрация:
    11 янв 2007
    Сообщения:
    607
    drmad
    Крис, чево тебя на старый ник то потянуло ?=))
     
  16. drmad

    drmad New Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    332
    Адрес:
    Russia
    k3internal

    Ы ?

    "Сеня! Ну-ка быстро отвечай, зачем Володька сбрил усы!" (с) :)))
     
  17. Ra_

    Ra_ New Member

    Публикаций:
    0
    Регистрация:
    4 мар 2007
    Сообщения:
    289
  18. Ensase

    Ensase New Member

    Публикаций:
    0
    Регистрация:
    23 янв 2008
    Сообщения:
    5
    В принципе проблема разрешилась путем использования UserPort.
    Как запасной вариант буду использовать утилиту от gl00my
    За NTLoader тоже спасибо - 3й рабочий вариант.
     
  19. Ra_

    Ra_ New Member

    Публикаций:
    0
    Регистрация:
    4 мар 2007
    Сообщения:
    289