Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.03.2010, 22:06   #1
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию BIOS и USB

Доброго времени суток!
Кто хоть что не будь знает про прерывания к IBM PC для USB ...
Как как многие современные BIOSы поддерживают эту "интегрированые устроуства" я не могу найти хоть какие не будь толковые описания...кроме как на уровне настройки СMOSa..
Doholyan вне форума Ответить с цитированием
Старый 23.03.2010, 22:25   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

...имхо не туда вас повело ...читаем USB.ORG

upd
-------

на уровне железа поддерживают... подробнее выше.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 23.03.2010 в 22:47.
raxp вне форума Ответить с цитированием
Старый 23.03.2010, 22:36   #3
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

raxp
Поясни!

вот вот именно на уровне железа! Именно какое системное прерывание опрашивает USBюююдаже когда не загружен MS-DOS.. я так понимаю что сам так сказать ветор находиться прошитый в BIOSE
вот к примеру:
последовательный порт COM1 имеет вектор 0Сh
последовательный порт COM2 имеет вектор 0Вh
Для работы с диском вектор 13h
и т.д
все лит. которую нахожу прописанна под WINDOSW....
мне бы хотя под DOS узнать....уверен он есть

Последний раз редактировалось Doholyan; 23.03.2010 в 23:07.
Doholyan вне форума Ответить с цитированием
Старый 28.03.2010, 01:49   #4
f.hump
C/C++, Asm
Участник клуба
 
Аватар для f.hump
 
Регистрация: 02.03.2010
Сообщений: 1,323
По умолчанию

Всегда думал что USB хаб - PCI устройство, и выполняет опрос портов самостоятельно согласно USB протокола. Ну, и наверное, БИОС работает с USB как с PCI устройством.
f.hump вне форума Ответить с цитированием
Старый 28.03.2010, 09:11   #5
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

...по подобию обмена с PCI или ISA, шины все-таки разные ...непонятно нежелание TC почитать документацию разработчиков стандарта, ну тогда может Агуров будет авторитетом (на форуме выложена его книжка)

...если TC интересует поддержка USB под DOS, то почему поиск у него не работает:
Цитата:
возникает необходимость перенести большой объем данных на внешний же- сткий диск с интерфейсом USB, а поддержки этого интерфейса в DOS не предусмотрено. Между тем загрузить другую операционную систему по какой-либо причине не удается. Есть ли возможность ис- пользовать USB-винчестеры в среде DOS?Изначально поддержки USB в операци- онной системе DOS действительно нет, но ее можно добавить самостоятельно. Для начала нужно создать обычную загрузочную дискету. В Windows 98 это можно сделать через «Панель управления», открыв вкладку «Загрузочный диск» в утилите «Установка и удаление программ». В Windows XP создать загрузочную дискету еще проще: нужно просто отметить пункт «Копировать системные файлы» при форматировании дискеты. USB-винчестеры: На системную дискету следует скопировать файлы USBASPI.SYS и DI1000DD. SYS из архива MHAIRU.ZIP, доступного на Chip CD, и стандартный драйвер для DOS — HIMEM.SYS. После этого в файле CONFIG.SYS на загрузочном диске нужно прописать следующие строки:
device=himem.sys

dos=high,umb

devicehigh=usbaspi.sys /v /w

devicehigh=di1000dd.sys
Далее перезагружаем компьютер с дискеты. Драйвер USBASPI.SYS, прописанный в файле CONFIG.SYS, при загрузке попросит подключить USBустройство, и для него будет выделен логический том. Другие USB-устройства поl DOS: Кроме USB-винчестера к организованному таким образом USB-порту можно подключить, например, флеш-драйв или внешний привод CD-ROM с интерфейсом USB. В последнем случае файл CONFIG.SYS должен содержать следующую запись:
device=himem.sys

dos=high,umb

devicehigh=usbaspi.sys /v /norst

devicehigh=usbcd.sys /D:USBCD001


Файл AUTOEXEC.BAT на загрузоч- ной дискете должен содержать строку:


lh mscdex.exe /D:USBCD001
Здесь файлы USBASPI.SYS и USBCD. SYS — из комплекта архива SONICUSB. ZIP, также доступного на Chip CD. В качестве загрузочной дискеты можно использовать и USB-брелок, для этого в BIOS должна быть установлена опция загрузки с USB-накопителя, а сам брелок должен быть соответствующим образом отформатирован (USB HDD, USB FDD или USB ZIP — зависит от того, какие типы флеш-накопителей поддерживает BIOS). Все основные файлы поддержки USB под DOS остаются прежними, только загружаться соответствующие драйверы будут не с дискеты, а с флеш-брелока. Драйвер USBASPI.SYS производства компании Novac позволяет системе видеть подключенное к USB-порту устройство массовой памяти (винчестер, привод CD-ROM или флеш-драйв) как устройство SCSI. Драйвер диска ASPI (DI1000DD.SYS) поддерживает файловую систему FAT32, а также точно и правильно реагирует на ограничения ранних версий операционной системы DOS.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 29.03.2010, 18:29   #6
Doholyan
Форумчанин
 
Регистрация: 26.04.2009
Сообщений: 270
По умолчанию

raxp
Павла Агурова...читал есть даже его книга 'Интерфейс USB'
Но, его описание жеско привязанно к Windows и DOS....
На счет загрузочного USB (памяти) MS_DOS есть проще варианты...
уже обсуждалась эта тема...
Меня нтересует само прерывание BIOSa которое оброщаеться в USB.
Все равно всем спасибо!!
Doholyan вне форума Ответить с цитированием
Старый 19.04.2010, 08:10   #7
svbezm
Форумчанин
 
Регистрация: 02.04.2010
Сообщений: 104
По умолчанию

Если Bios вашего компьютера имеет поддержку USB-IORQ , то согласно АГУРОВУ его можно установить выбрав enabled (стр 38 книги).
Большей информации к сожалению нет, хотя вопрос интересует меня тоже.

Добавлю еще , что программы раздела "Работа с USB в DOS (INT 1Ah)" работают под ХР , несмотря на на утверждения АГУРОВА. Для этого небходимо скопировать в директорию где находятся тесты command.com из директории windows/system32/ , и запустить command.com .Ну уж из под него запустить
тест3 к примеру.

Последний раз редактировалось svbezm; 19.04.2010 в 11:37.
svbezm вне форума Ответить с цитированием
Старый 27.04.2010, 11:22   #8
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,742
По умолчанию

...дополню информацию по работе с USB под DOS-ом (работа осуществляется как с шиной PCI):

1- при использовании контроллера Intel 82371SB USB controller
deviceId=$7020, vendorId=$8086
2- при использовании контроллера Intel PIIX4 USB
deviceId=$7112, vendorId=$8086
3- при использовании контроллера VIA AMD-645 USB
deviceId=$0571, vendorId=$1106
4- при использовании контроллера Opti 82C750 (Vendetta) USB
deviceId=$A0F8, vendorID=$1045
5- при использовании контроллера Opti 82C861/871 (Firelink/FireBlast) USB
deviceId=$C861, vendorID=$1045

Детектирование наличия USB на шине PCI можно осуществить так:
Код:
function onPCIdevice(DeviceID:Word;VendorID:Word;VAR BusNumber:Byte;VAR FunctionNumber:Byte):boolean; 
var found:boolean; 
    bn:byte; 
    fn:byte; 
begin 
  bn:=0; fn:=0; 
  found:= false; 
  asm 
    db 66h;pusha 
    mov cx,DeviceID 
    mov dx,VendorID 
    mov ax,0b102h 
    xor si,si 
    int 1ah 
    jc @nodevice 
    mov found,true 
    mov bn,BH 
    mov fn,BL 
  @nodevice: 
    db 66h;popa 
  end; 

  BusNumber:=bn; FunctionNumber:=fn; 
  onPCIdevice:= found
end;
...чтение:
Код:
function readPCIRegisterWord(RegisterNumber:word;BusNumber:Byte;FunctionNumber:Byte;var result:Word):boolean; 
var on_off:boolean; 
    res:word; 
begin 
  on_off:= false; 
  res:=0; 

  asm 
    db 66h; pusha 
    mov AX,0B109h 
    mov BH,busNumber 
    mov BL,functionNumber 
    mov DI,RegisterNumber 
    int 1Ah 
    jc @noaction 
    mov res,cx 
    mov on_off,true 
  @noaction: 
    db 66h; popa 
  end; 
  result:= res; 
  readPCIRegisterWord:= on_off 
end;
...запись:
Код:
function writePCIRegisterWord(RegisterNumber:word;BusNumber:Byte;FunctionNumber:Byte;input:word):boolean; 
var on_off:boolean; 
begin 
  on_off:= false; 

  asm 
    db 66h; pusha 
    mov AX,0B10ch 
    mov BH,busNumber 
    mov BL,functionNumber 
    mov DI,RegisterNumber 
    mov CX,input 
    int 1Ah 
    jc @noaction 
    mov on_off,true 
  @noaction: 
    db 66h; popa 
  end; 

  writePCIRegisterWord:= on_off; 
end
ЗЫ: обращаю внимание, что данная информация доступна на USB.ORG, которую так любят игнорировать/
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как к BIOS обращаться. Нужно чтение/запись BIOS. Dethon_ASM_Scarel Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 7 26.10.2011 11:40
mini USB на USB viks1 Компьютерное железо 5 07.12.2009 23:31
BIOS Kurmangazi Операционные системы общие вопросы 1 24.09.2009 10:47
Bios Bulatru Компьютерное железо 1 23.08.2009 21:43
BIOS smileman Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 17 24.05.2009 21:29