Старый 30.05.2006, 19:58   #1   
импровизатор
 
Аватар для Байт
 
Сообщений: 3,530
Регистрация: 04.12.2003
Возраст: 38
Записей в дневнике: 13

Байт вне форума Не в сети
Подскажите, программисты!..

Народ, такой вот вопрос... Есть задача: как через написанную программу эмулировать работу порта(не важно какого - гейм-порта или ком...) - нну то есть как бы его обманывать. Порт-то работает как? - принимает сигналы, оцифровывает их и как-то интерпретирует. А нужно из проги заставлять его как бы видеть, что на вход подаются сигналы.. Ну или вроде того - не знаю как лучше объяснить. Вообще - возможно ли такое и с чего стоит начать? С Windows-программированием неплохо знаком (visual c++), но вот как с драйверами работать - не знаю...
  Ответить с цитированием
Старый 30.05.2006, 23:00   #2   
Покинул БВФ
 
Аватар для zalex
 
Сообщений: 469
Регистрация: 28.06.2005

zalex вне форума Не в сети
Читай DDK для NT.
А вообще, как вариант, если не принципиально - можно в первый порт заливать, а во втором - слушать.
  Ответить с цитированием
Старый 30.05.2006, 23:14   #3   
импровизатор
 
Аватар для Байт
 
Сообщений: 3,530
Регистрация: 04.12.2003
Возраст: 38
Записей в дневнике: 13

Байт вне форума Не в сети
DDK в электронном есть где-нить? Если есть инфа по этому делу - киньте ссылочку, плиз... Чёт не понял насчёт "в первый заливать, а во втором слушать"...
  Ответить с цитированием
Старый 30.05.2006, 23:20   #4   
импровизатор
 
Аватар для Байт
 
Сообщений: 3,530
Регистрация: 04.12.2003
Возраст: 38
Записей в дневнике: 13

Байт вне форума Не в сети
Ту же как - к порту ничего не подключено. Я так подозреваю, что надо знать, что там АЦП даёт и как это всё интерпретируестя. Ну то есть, видимо, надо иметь исходнички дровов порта, правильно? Тока где их достать....
  Ответить с цитированием
Старый 31.05.2006, 08:15   #5   
Бывалый форумец
 
Аватар для J++
 
Сообщений: 687
Регистрация: 05.08.2005

J++ вне форума Не в сети
Попробовать соединить 2 порта?

Я на винде с железяками никогда не работала, не могу сказать, что будет при "прямом" замыкании портов друг на друга.

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

Заливаем данные на COM1, читаем с COM2, они соединены переходниками с распаянным кабелем между ними, обычно самопальным
  Ответить с цитированием
Старый 31.05.2006, 12:01   #6   
импровизатор
 
Аватар для Байт
 
Сообщений: 3,530
Регистрация: 04.12.2003
Возраст: 38
Записей в дневнике: 13

Байт вне форума Не в сети
А-а-а!!! То есть посредством одного порта, грубо говоря, управлять другим? Определённый сигнал с COM, допустим, просто подавать на нужные входы того же гейм-порта? Тогда ясно. Теперь нужно только порыться в инфе где-нить и узнать, как программно что-нить подавать на выход А в какой инфе смотреть - чёрт его знает... Буду поднимать литературу
  Ответить с цитированием
Старый 31.05.2006, 12:17   #7   
Бывалый форумец
 
Аватар для J++
 
Сообщений: 687
Регистрация: 05.08.2005

J++ вне форума Не в сети
Ну да, только соблюдать всякие стандарты напряжения/тока/частоты/длины импульсов/скважности и т.п. Если что, могут и преобразователи понадобиться.

А то вдруг, например, на выходе COMа оказывается +5В, а на входе гейма нужно +3В
  Ответить с цитированием
Старый 31.05.2006, 13:35   #8   
импровизатор
 
Аватар для Байт
 
Сообщений: 3,530
Регистрация: 04.12.2003
Возраст: 38
Записей в дневнике: 13

Байт вне форума Не в сети
Это верно, лично видел последствия неправильной подачи питания
  Ответить с цитированием
Старый 31.05.2006, 18:11   #9   
Покинул БВФ
 
Аватар для zalex
 
Сообщений: 469
Регистрация: 28.06.2005

zalex вне форума Не в сети
Цитата:
Сообщение от Байт
А-а-а!!! Теперь нужно только порыться в инфе где-нить и узнать, как программно что-нить подавать на выход
Простите за ламерство, а как то разве можно по-другому ?
  Ответить с цитированием
Старый 31.05.2006, 18:12   #10   
Покинул БВФ
 
Аватар для zalex
 
Сообщений: 469
Регистрация: 28.06.2005

zalex вне форума Не в сети
Цитата:
Сообщение от J++
Ну да, только соблюдать всякие стандарты напряжения/тока/частоты/длины импульсов/скважности и т.п. Если что, могут и преобразователи понадобиться.
А то вдруг, например, на выходе COMа оказывается +5В, а на входе гейма нужно +3В
Мухи отдельно - котлеты отдельно. Ком - с комом, гейм с геймом. В таких делах важен не только уровень сигналов, но и форма представления инфы.
  Ответить с цитированием
Старый 31.05.2006, 18:13   #11   
Покинул БВФ
 
Аватар для zalex
 
Сообщений: 469
Регистрация: 28.06.2005

zalex вне форума Не в сети
Цитата:
Сообщение от Байт
DDK в электронном есть где-нить? ..
Есть, у меня Сидюк.
  Ответить с цитированием
Старый 31.05.2006, 22:20   #12   
импровизатор
 
Аватар для Байт
 
Сообщений: 3,530
Регистрация: 04.12.2003
Возраст: 38
Записей в дневнике: 13

Байт вне форума Не в сети
zalex, эт хорошо - я тогда как время найду - обязательно ПС кину, тогда и договоримся, как записать...
А зачем мне всё это понадобилось? - Да вот чисто для себя, для повышения навыков, хочу написать прогу, чтоб вот таким вот макаром можно было управлять в играх мишиной с помощью мыши. Просто как-то задумался и решил, что это было бы здорово! Такой универсальный драйверок. Как гейм-порт с рулём(простейшим) взаимодействует - знаю. Весь вопрос, видимо, состоит только в том(спасибо - разъяснили), чтобы com с game не конфликтовал, да реализовать это всё программно...
Вот так вот решил загнаться...
  Ответить с цитированием
Старый 01.06.2006, 16:42   #13   
Форумец
 
Аватар для zss_vrn
 
Сообщений: 2,045
Регистрация: 27.08.2003

zss_vrn вне форума Не в сети
Цитата:
Сообщение от J++
Во времена же моей работы с железками в ДОСе такая практика была обычной для тестирования софта.

Заливаем данные на COM1, читаем с COM2, они соединены переходниками с распаянным кабелем между ними, обычно самопальным
В Винде то же самое.
Кстати, как-то обходился вот этим, без мудростей с драйверами. Ну, правда, и задача не сложной была, всего-то читать поток данных.

BOOL ReadFile(

HANDLE hFile, // handle of file to read
LPVOID lpBuffer, // address of buffer that receives data
DWORD nNumberOfBytesToRead, // number of bytes to read
LPDWORD lpNumberOfBytesRead, // address of number of bytes read
LPOVERLAPPED lpOverlapped // address of structure for data
);
  Ответить с цитированием
Старый 01.06.2006, 19:44   #14   
Форумец
 
Сообщений: 1,696
Регистрация: 24.11.2002
Возраст: 39

LSL вне форума Не в сети
http://www.zealsoftstudio.com/ntport/
  Ответить с цитированием
Старый 02.06.2006, 23:14   #15   
импровизатор
 
Аватар для Байт
 
Сообщений: 3,530
Регистрация: 04.12.2003
Возраст: 38
Записей в дневнике: 13

Байт вне форума Не в сети
Мир не без добрых людей - всё уже и без нас сделано! Нашёл прогу, - называется Mouse Joystick - щас вот буду пробовать!.. эх... Обидно,... Попробую, думаю, всё-таки по аналогии что-то своё написать....
  Ответить с цитированием
Поиск в теме: 



Быстрый переход:

  Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Support by DrIQ & Netwind