Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как открыть лоток CD-ROM через INT 2f ? самый компактный код 
:(
    Опции темы
Spirtoza
  Дата 5.10.2002, 08:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 4.10.2002

Репутация: нет
Всего: нет



Как открыть лоток CD-ROM через INT 2f?
PM MAIL   Вверх
Chingachguk
Дата 6.10.2002, 06:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 18



Попробуй посмотреть interrupt list Ральфа Брауна.
Если не найдешь, пиши - я сам могу посмотреть ;)


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
Spirtoza
  Дата 8.10.2002, 01:53 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Цитата(Chingachguk @ 05.10.2002, 23:42)
Попробуй посмотреть interrupt list Ральфа Брауна.
Если не найдешь, пиши - я сам могу посмотреть ;)

Спасибо, я уже нашел API mscdex и все получилось. И я пришел к выводу, что такие вещи лучше делать непосредственно через порты. Но вот какой возник вопрос: как послать ATAPI пакет в порт? С жесткими дисками все и так ясно - там пишется байт. А с CD как же? Только не отсылайте меня к докам, лучше приведите конкретный пример типа:
mov dx,170
mov al,a0
out dx,al

[ ... ] чтобы лоток открывался. Комментировать необязательно.

Буду очень признателен за ответ.
  Вверх
Chingachguk
Дата 8.10.2002, 03:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 18



Смотри, ситуация такая: ни я, ни ты не знаем, какие команды подавать в порт. Более того, ты гораздо лучше разобрался, нашел апи и т.д. С другой стороны, мы знаем, что если вызвать ту апи, то где-то в недрах ДОС? WIN? - не важно, выполниться ПРАВИЛЬНЫЙ КОД. И надо его найти.
Как бы я поступил ? Трассировать тучи команд (даже в досе их дофига) - не катит. Нет, это тоже способ. Но я бы поставил бряк в СофтАйсе на доступ к порту и запустил бы эту апи:

bpio 170(десятичный, надо в хексе) ; Этот порт ?

И отладчик бы всплыл там, где произойдет обращение к этим портам. Более того, можно поставить несколько бряков на порты 170...170+??? - сколько там ? - и просто сидеть и записывать, что пишется/читается в порты эти.

Так я определял, кто и где лезет в порты из драйверов win, обращается ли винда к cmos  и т.п. Если хочешь, могу посмотреть твои порты, только апи мне скажи ;)


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
Spirtoza
  Дата 9.10.2002, 08:52 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Я только начинаю осваивать ASM и многих приемов не знаю. В частности,  про ваш метод я услышал впервые... Но ведь это то что мне нужно!!! Это ж клево, перехватывать обращение к портам! Про  СофтАйс я тоже ничего не знал, но как я понял, это крайне полезный инструмент... Мне еще много раз придется столкнуться с подобными задачами, и я научусь им пользоваться. Но... где его взять? Не могли ли вы прислать его на мыло [email protected] ? Буду очень благодарен!

170h - это командный порт secondary-IDE контроллера. Порты 171h-177h - порты обмена. В порт пишется ATA команда, взятая из спецификации ATA (www.t13.org). Например прога
mov dx,170h
mov al, e2h
out dx,al
останавливает шпиндель харда :-)

Код A0h как раз включает режим ATAPI - подготовка к приему пакета. Другие порты не используются.
А вот как сформировать этот самый пакет? У меня ничего не получается... (с хардами работает, а с сидюками - нет) - значит я что-то делаю не так.

Есть прога управления CD-ROM без драйверов, с исходником, написаная на СИ, но в ней ничего не понятно. Дизассемблирование еще больше запутывает... Есть описание API с использованием INT2f - могу прислать :-)
И еще много документации, если, что надо - подарю :)

Спасибо за помощь!
  Вверх
Chingachguk
Дата 9.10.2002, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1232
Регистрация: 25.3.2002
Где: Москва

Репутация: нет
Всего: 18



Значит, так.

> Где скачать СофтАйс ?

Зайди на wasm.ru, посмотри раздел "Инструменты". Лично я работаю под 98-ой, и к ней есть нормальная версия. Под NT,Xp... я слышал, версии что-то не могут и что-то нужно доустанавливать. Есть также версия фюр дос, Но вот поддерживает ли она аппаратные точки останова (те бряки по доступу к портам) - я не знаю. В принципе, ты их сам можешь сделать - для этого нужно работать с регистрами DRx (386+) - и это совсем просто.

> Где получить инфу по обучению ?

Там же. Вроде бы есть уже статьи по изучению айса для начинающих. Плюс в этом форуме я уже с кем-то на эту тему говорил. Можно взять почти любую статью по исследованию защит программ - в них есть примеры работы с ним.

> Работа с дос-задачами.

Под виндами айс прекрасно видит код дос-задач, позволяет все то же самое, показывает символьные имена int'ов типа int 21h ...

Короче, пробуй ;)))

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


--------------------
I don't like the drugs (but the drugs like me). M.Manson.
PM MAIL ICQ   Вверх
wawan
Дата 2.6.2008, 23:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 2.6.2008

Репутация: нет
Всего: нет



Spirtoza,  у тебя чтонибудь получилось с работой с CD-rom через порты ? 

я пытаюсь тоже прочитать диск посекторно, но чтото не выходит у меня каменный цветок пока...

поделись плз исходничком на любом языке
 smile 
PM MAIL   Вверх
MAKCim
Дата 3.6.2008, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Воін дZэна
****


Профиль
Группа: Экс. модератор
Сообщений: 5644
Регистрация: 10.12.2005
Где: Менск, РБ

Репутация: 1
Всего: 207



жесть  smile 


--------------------
Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі ©

PM MAIL   Вверх
W4FhLF
Дата 3.6.2008, 09:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


found myself
****


Профиль
Группа: Участник Клуба
Сообщений: 2831
Регистрация: 2.12.2006

Репутация: 3
Всего: 121



6 лет... кажется, это рекорд smile


--------------------
"Бог умер" © Ницше
"Ницше умер" © Бог
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0472 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.