Forth
http://www.fforum.winglion.ru/

работаем с портами из под XP
http://www.fforum.winglion.ru/viewtopic.php?f=25&t=2646
Страница 1 из 1

Автор:  mOleg [ Ср сен 08, 2010 21:09 ]
Заголовок сообщения:  работаем с портами из под XP

используется утилитка giveio

source file: giveio.fts
\ 08.09.2010 ~mOleg
\ Сopyright [C] 2009 mOleg mOlegg@ya.ru
\ прямая работа с портами ввода\вывода под XP
\ с помощью драйвера giveio.sys http://www.pcports.ru/articles/3.php
\ спасибо за наводку WingLion !


ALSO IMPORT KERNEL32.DLL

\ открыть доступ к портам В/В
: open ( --> )
GetVersion 0 >
IF s" //./GiveIO" R/W OPEN-FILE
ABORT" Can't open GiveIO driver"
CLOSE-FILE DROP
THEN ;

\ ввести байт из указанного порта port
: inb ( port --> byte )
[ 0x8B B, 0xD0 B, \ mov edx, eax
0x33 B, 0xC0 B, \ xor eax, eax
0xEC B, \ in al, dx
] ;

\ вывести байт в указанный port
: outb ( byte port --> )
[ 0x8B B, 0xD0 B, \ mov edx, eax
0x8B B, 0x45 B, 0x00 B, \ mov eax, [ebp][0]
0xEE B,
0x8B B, 0x45 B, 0x04 B, \ mov eax, [ebp][4]
0x8D B, 0x6D B, 0x08 B, \ lea ebp, [ebp][8]
] ;

PREVIOUS

\ EOF - пример использования:
\ играть ноту на спикере
: PlayNote ( freq duration --> )
0x1234DC ROT / 0x61 inb 3 OR 0x61 outb
0xB6 0x43 outb DUP 0x42 outb 8 RSHIFT 0x42 outb
PAUSE 0x61 inb 0xFC AND 0x61 outb ;


open
1000 500 PlayNote

Автор:  Alexander [ Сб сен 18, 2010 22:38 ]
Заголовок сообщения:  Re: работаем с портами из под XP

Рекомендую ознакомится также с драйвером WinRing0. В нем имеется возможность работы с конфигурационным пространством PCI, регистры MSR, а также поддерживается использование х64-кода.

Автор:  mOleg [ Вс сен 19, 2010 08:24 ]
Заголовок сообщения:  Re: работаем с портами из под XP

Alexander писал(а):
Рекомендую ознакомится также с драйвером WinRing0. В нем имеется возможность работы с конфигурационным пространством PCI, регистры MSR, а также поддерживается использование х64-кода.

конечно, спасибо за наводку, но ссылочку бы хорошую приложить не мешало бы.

Автор:  Alexander [ Вс сен 19, 2010 09:38 ]
Заголовок сообщения:  Re: работаем с портами из под XP

Похоже что ссылочки в инете подчистили... Последнее что я успел урвать это WinRing0-v1.3.0.
вот понравилась статья про светоиды подключенные к LPT

Автор:  mOleg [ Вс сен 19, 2010 09:40 ]
Заголовок сообщения:  Re: работаем с портами из под XP

Alexander писал(а):
Похоже что ссылочки в инете подчистили... Последнее что я успел урвать это WinRing0-v1.3.0.

дык, на sourceforge ничего скачать не дают, найти сам *.dll и *.sys вроде можно, но..
с другой стороны мне пока giveio хватит 8)

Автор:  Ilya [ Пт сен 24, 2010 09:48 ]
Заголовок сообщения:  Re: работаем с портами из под XP

Малость ОФФ, но всё же, есть ещё такая полезность как http://www.libusb.org/ . SPF4.20 под Линуксом уже удалось подружить. ;)

Автор:  Hishnik [ Пт сен 24, 2010 10:47 ]
Заголовок сообщения:  Re: работаем с портами из под XP

На сегодняшний день влезание в систему с посторонним полухакерским софтом выглядит уже некоторым анахронизмом. Есть очень недорогие мосты USB -> ..., есть модули с Ethernet (доступ из всей локалки), есть стандартные мосты PCI и PCIe. С помощью giveio можно вдумчиво настроить свою машину, но при попытке куда-то унести проект придется тащить и ворох драйверов, а также убеждать хозяина другого компьютера в необходимости и безопасности их установки. По большому счету, даже драйверы USB-мостов не особо привлекательны.

Автор:  WingLion [ Пн окт 04, 2010 07:40 ]
Заголовок сообщения:  Re: работаем с портами из под XP

A еще, есть старые LPT-шные девайсы, которые из под XP без этого анахронизма не работаютъ... А прилеплять к ним USB - смысла сейчас нет.

p.s. это к тому, что мне сегодня с подобным девайсом надо будет разбираться.

Автор:  WingLion [ Пт окт 08, 2010 19:33 ]
Заголовок сообщения:  Re: работаем с портами из под XP

Сегодня добрался таки до LPT.
Собрал вот такой кабель:

Изображение

Воткнул его в LPT, а во второй разъем вставил светодиоды.

И запустил вот такой код вместе с тем, что описан в начале темы:

Код:
open

: testLPT 0x378 outb ;

: xx
   0x01 testLPT 500 200 PlayNote
   0x02 testLPT 600 200 PlayNote
   0x04 testLPT 700 200 PlayNote
   0x08 testLPT 1000 200 PlayNote
   0x10 testLPT 1200 200 PlayNote
   0x20 testLPT 1400 200 PlayNote
   0x40 testLPT 2000 200 PlayNote
   0x80 testLPT 2400 200 PlayNote
   0x00 testLPT ;

   xx xx xx xx


Вместе с пиликанием спикера моргают и светодиодики ;)

Страница 1 из 1 Часовой пояс: UTC + 3 часа [ Летнее время ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/