GCC Inline Assembler & Bios Interrupts

Тема в разделе "WASM.OS.DEVEL", создана пользователем Robotex, 20 окт 2008.

  1. Robotex

    Robotex New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    17
    Что-то не совсем понимаю... За отвечает каждый из файлов?
     
  2. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    directory - контроллер одного канала.
    atafile - собственно, ATA-устройство (жёсткий диск), пользующееся ресурсом, который предоставляет ему канал.
    const - определения структур из спецификации.
     
  3. Robotex

    Robotex New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    17
    А все инклюды и файлы необходимые для работы в какой директории?
     
  4. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    В пределах этой директории:
    http://xskernel.svn.sf.net/viewvc/xskernel/xskernel/include/
     
  5. Robotex

    Robotex New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    17
    Ясно, вижу функции чтения и записи сектора. А какие у них параметры? Что передается?
     
  6. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    во WriteSectors передаётся идентификатор устройства (0-1), lba-адрес сектора, количество секторов, которые нужно записать, и буфер, содержащий данные для записи. Аналогично и ReadSectors.
     
  7. Robotex

    Robotex New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    17
    Ага. А идентификатор устройства - это первый и второй жесткие диски? Или логические?
     
  8. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Это номер устройства на ATA-канале.
     
  9. Robotex

    Robotex New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    17
    Текс, а где прочитать про этот ATA-канал? На нем макс. два устройства висеть могут? Что это за устройства?
     
  10. Mika0x65

    Mika0x65 New Member

    Публикаций:
    0
    Регистрация:
    30 июл 2005
    Сообщения:
    1.384
    Robotex
    На http://t13.org есть нужные тебе спецификации.
     
  11. Robotex

    Robotex New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    17
    Ну с дискет оно читает? Если у меня в системе только флоп или флоп и жестяк с одним диском, то 0 это флоп, а 1 жестяк?
     
  12. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Ты не путай: флопп - это флопп, а жестяк - это жестяк. Флопп подключается к контроллеру FDC на шине ISA, а жестяк/дивидиром/компактфлэш - к контроллеру ATA/SATA на шине PCI, так же как USB Flash Drive подключается к шине USB.
     
  13. Robotex

    Robotex New Member

    Публикаций:
    0
    Регистрация:
    20 окт 2008
    Сообщения:
    17
    Посмотрел я исходник... Я умру прежде чем перепишу все это. Можешь дать ссылку на статьи по котором ты писал это?
     
  14. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Писал по книге Кулакова ("Программирование дисковых подсистем") и спецификации ATA/ATAPI-6.

    Вот это книжка Кулакова:
    ftp://xskernel.org/docs/books/Kulakov/ProgrammingDiskSubsystem.djvu
    Ну, а спецификация - http://t13.org/ или можно у меня слить (версия 6, есть уже седьмая):
    http://xskernel.org/files/documentation/hardware/ata-atapi-6-3b.pdf