Жeлезный век!

Тема в разделе "WASM.BEGINNERS", создана пользователем Shadovv13, 27 июл 2008.

  1. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    Всем привет!
    Я начинающий ASM'ер и поставил себе задачу разобратса в железе, от А и до ЗЮ.

    Прошу у всех помощи!
    А имено.
    Разпределение портов ввода - вывода в x86 совместимых.
    Разпределение памти, и все о функция BIOS, как их дизасемлить и заменить своими.

    Буду очень благодарен за любую инфу!
     
  2. s0larian

    s0larian New Member

    Публикаций:
    0
    Регистрация:
    15 июл 2004
    Сообщения:
    489
    Адрес:
    Крыжёпполь
    Амбициозно, однако... И сколько лет ты себе на это выдал? Это включая embedded вещи такие как контроллеры памяти, flash, DMA, PCI?

    Если ты хочешь копать железо, то советую начать с литературы по базовой электронике и низко-уровневом embedded программировании. Потом купить платку с мелким PIC и помучать её.

    Ну а если ты хочешь про операционку, то тогда книжки про ядро Linux и NT/2000/XP.
     
  3. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    Да имено контроллеры памяти, flash, DMA, PCI!

    А PIC и AVR уже узучен.... И другие микроконтролеры ТОЖЕ!!!

    Давай небудем тратить зря время! Есть инфа - выкладавай или давай адрес!

    P.S. .....только по теме!!!
     
  4. z_x_spectrum

    z_x_spectrum New Member

    Публикаций:
    0
    Регистрация:
    18 дек 2007
    Сообщения:
    145
  5. McHren

    McHren New Member

    Публикаций:
    0
    Регистрация:
    21 июл 2008
    Сообщения:
    25
    Резковато звучит. Операционки для МК в глаза видели? Принципы те же, даже легче осваивать ПК-ное железо если даже на среднем уровне кристаллы юзать. И заглянуть в раздел статьи и документация на данном сайте?
    З.Ы. А рідну мову потрібно знати. (я про підпис на суржику)
    З.З.Ы Бред, тему в null (IMHO)
    2 z_x_spectrum RTFM - под принца косишь?
     
  6. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    От А до ЗЮ я новерно железо знаю. А вот что насчет оставшихся букв.

    В качестве справочного матерьяла могу посоветовать Энциклопедия Гука(есть версия карманная и полная). И interupt list Ральфа Брауна- не нравиться он мне почти непользуюсь. В качестве справки по прерыванием также соверую Phoenix BIOS Programmer's Guide v10.pdf

    А так берешь спецификацию на нужную железку и читаешь.
    Шина PCI , технология PnP (ряд спецификаций найдешь у Microsoft), VESA BIOS EXTENDER - VBE (VESA разработала набор стандартов связанных с видео), ACPI, APM
    контроллер прямого доступа к памяти для устройств шины ISA - DMA( 8237),
    таймер PIT(8254), контроллер прерываний PIC (8259A), контроллер клавиотуры 8042 (82C42), расширенный контроллер прерываний APIC (мануэлы на процессор, мульт процессорная спецификация - MP), так называемые часы реального времени RTC (82885) плюс CMOS
    видео адаптор VGA/EGA совместимые и прочии XGA, CGA,
    ATA/ATAPI - спецификация команд жесткого диска плюс еще ряд спецификаций для сидирома.
    спецификация контроллера жеских дисков - PCI IDE.
    контроллер жестких дисков ACHI (AHCI)
    контроллер мягхих(флоппи) дисков - FDC несколько спецификаций.
    Звук Suund Blaster, современный встроенный Codec AC97 Realteck
    Сетевые карты NE2000, Realtek RTL8139 и другии они все похожи. Плюс современные.
    И протоколы изучаем RFC.
    Мышка PS/2 оригинальная спецификация у IBM так что то что найдешь в сети.
    COM мышь ряд протоколов.
    порты COM верн их контроллеры(8250,8250A, 16450,16550, современные аналоги совместимы с 16550A), тоже порты LPT и их контроллеры/режимы передачи (ECP, EPP)
    BIOS (куча спецификаций ряд уже был перечислен: основная справка по прерываниям Phoenix BIOS Programmer's Guide v10.pdf, раширение для работы с дисками EDD, SMBios(DMI) и тд)
    шина USB (ряд спецификаций)

    Также есть такие вещи как
    SMBus(I2C), Super I/O. Это связанно с датчиками. Плюс еще кое какие системные вещи. Програмирование специфично.

    Модемы есть ряд спецификаций. Принтеры через чур разнообразны.

    PS. Вроди ничего не забыл.
     
  7. Ra_

    Ra_ New Member

    Публикаций:
    0
    Регистрация:
    4 мар 2007
    Сообщения:
    289
    Нормально конечно написал
    В пору ТС застрелиться... :)
    Ну может ещё USB под DOS - темы попадаются.

    А увидел - есть оказывается "шина USB (ряд спецификаций)"
    PATA/SATA - по хард дискам - так стали называть вроде.
     
  8. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    ATA - Advanced Technology Attachment, продвинутая технология присоединения
    PATA - Parallel ATA (паралельный ATA)
    SATA - Serial ATA (последовательный АТА)
    AHCI- Advanced Host Controller Interface, расширенный интерфейс контроллера хоста, иногда встречается как ACHI

    PATA сейчас называется то, что раньше звалось IDE. Хотя IDE встречается чаще.

    IDE контроллер может работать в двух режимах Legacy (усторевший), Native (родной)
    SATA в трех Сompatibility (совместимость с IDE Legacy), SATA(Native по сути тот же самый Native IDE),AHCI (родной режим для SATA координально отличается от остальных режимов)

    Есть спецификация SATA, но там ничего полезного для програмиста не нашел. А вот AHCI стоит посмотреть.
     
  9. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    Спасибо Pavia.

    Мне никак неудаетса найти оисание портов, железно привязаных к устройству (к примеру DMA).
    Или хотяби как дизасеблить прырывание биоса. Например Int 13.
     
  10. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Ральф Браунс, скачаешь часть D там описание портов.
    http://www.cs.cmu.edu/~ralf/files.html

    Вот описание конроллера DMA
    http://homepage0.icehard.net/files/hardware_specs/CONTROLLERS/dma8237.pdf
    А тут можешь почитать старую книжку
    http://homepage0.icehard.net/files/hardware_specs/IO-DOC/IO.PRT
    есть и новые книжки.

    А если хочешь настоящие описание, то это надо искать документацию на чипсет.


    Что касается иследования прерываний. Первый килобайт отведен под таблицу прерываний это масив из 256 элементов где каждый элемен есть указатель(4байта сегмен:смещение) на код прерывания. А дальше берешь отладчик и дизассемблируешь. Можно скопировать память с 0E0000h-0FFFFFh это код биоса и его загрузить в дизассемблер. Только это надо делать из доса, а то виндоус там подменяет на свои вызовы.
     
  11. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    Да все интересное в чипсэте!
    До смоим познанием англ. трудновато будет!

    За линки спасибо.

    П.С. Тут нарыл книгу "Программирование дисковых подсистем" В. Кулаков - ЖЫР!
     
  12. Prince

    Prince New Member

    Публикаций:
    0
    Регистрация:
    9 июл 2008
    Сообщения:
    71
    вобщем-то просто спецификации переведенные на русский язык не более
     
  13. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    Ну можэт идля тебя Prince!
    А для миня смоими познаниями в англ. ето атличный док.
     
  14. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
  15. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Ничего выучишь. Я же выучил. А тоже незнал.
     
  16. PROFi

    PROFi New Member

    Публикаций:
    0
    Регистрация:
    13 июл 2003
    Сообщения:
    690
    Shadovv13

    DMA - странно это ж в каком веке :dntknw: Сейчас ДМА в том виде в котором описано в статьях ДОС осталось только для флопика. Самое интересное, что и флопики постепенно канут в лету - та же PCI может захватывать и управлять прямым доступом в память и передавать данные минуя процессор(ы), а уже есть PCI express (AGP тоже потиху в прошлом). Самое интересное, что нет ничего интересного в железе - есть интересное в технологии используемой железом для своей работы - но кто ж все детали выдаст. Есть современные технологии - их изучение - только реверсинг BIOS и драйверов.

    Так на всякий случай - "железный CPU" http://wasm.ru/forum/viewtopic.php?id=27377
    или железо от Криса http://www.insidepro.com/kk/138/138r.shtml
     
  17. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    А для IDE винтов DMA неиспользуетса!?
    .....та же PCI может захватывать и управлять прямым доступом в память и передавать данные минуя процессор... Ето как, сетевуха в слоте PCI дает запрос к к контролеру PCI, получить прямой доступ к памяти? Ну а какжэ DMA?


    P.S. Да, в одном ты прав на 100. Флопи, AGP, а вскоре IDE-ATA, да возможно и вовсе ISA-мост с своими устройствами ИЗЧЕЗНУТ :dntknw:
     
  18. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    В стате http://sizov.boom.ru/int8259.htm дано описание контролера прырываний.
    Но только одной микросхемы на 8-м каналов. Но их там должно быть две.

    Вопрос в том, какие порты управления второй микросхемой.
     
  19. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    В доке IO.PRT всё описано. Можно использовать её как отправную точку для начала ознакомления с низкоуровневым программированием.
     
  20. Shadovv13

    Shadovv13 Андрей

    Публикаций:
    0
    Регистрация:
    27 июл 2008
    Сообщения:
    65
    Адрес:
    Украина
    Есть у меня ета дока. Но меня терзают смутние сомнения! Так ли воно насамом дели!?