Здравствуйте Kooksha, Вы писали:
K>Приветствую! K>Имеется ISA карточка, у нее 1 порт. K>есть vxd с одной функцией, которая в этот порт данные закидывает. K>Есть еще програмулька досовая, которая под ДОСом нормально пашет, а вот под Win9x иногда принимается не то, что послал. Тоже самое и через VxD :-( K>Может кто знает, в чем тут дело и в каком направлении копать.
Здесь могут быть несколько граблей, 2 из них:
1. Неполная дешифрация адреса на карте. Вследствие чего под виндовозом в порт попадают данные не предназначенные для него. Например, если карта дешифрирует
линии адреса 0-9 выделяя адрес 0x300, а Win (другой драйвер, ядро или прога) пишет в порт 0x700, 0xb00 и т.д. то карта все равно дешифрирует 0x300. Могут быть и другие схемотехнические ляпы.
2. Под WIN возникают большие задержки в програмее и невозможность точно синхронизироваться с событиями. Win это не RT OS.
У нас на работе примерно тоже самое + обработка прерываний в RT, взвесив все за и против — мы "ушли" под ДОС.