Приветствую!
беглый просмотр по диагоналы сырков версии 1.8 обнаружил, что поверсдр работает с лпт через внешнюю длл-ку, которая обзывается porttalk.dll. и ничего удивительного тут нет, ибо дотнет на котором писан этот весь повер не предназначен для работы с железяками на низком уровне. дллка эта экспортирует аж 4ре процедуры - инициализация/финализация, читать-писать в порт. сама дллка в порт не пишет, а использует для этого обращение к драйверу porttalk.sys через ioctl. т.е. она является "переходником" между powersdr и драйвером который уже непосредственно работает с "железным" портом.
как перехватить порт. самое простое - переименовываем porttalk.dll в что-то типа porttalk_org.dll и пишем новую porttalk.dll, которая модифицирует весь трафик между powersdr и портом. чтобы не морочить себе голову новая porttalk для работы с портом вызывает оригинальную porttalk_org
теперь что с этого можно поиметь. как известно в режиме spur reduction powersdr шагает семимильными шагами. это позволяет применять не только ддс-синтезаторы, но и pll синтез с шагом в 3кгц.
что для всего этого нужно. самую малость - протокол обмена с лпт портом. мне такой документ не попадался. если у кого есть информация - выкладывайте. если нет - прийдется ковырять модуль hardware_v2.cs в исходниках 1.8 на предмет того что собственно суется в лпт порт