The Pinczakko's Guide to Award BIOS reverse engineering article has been updated. This update includes: improved Table of Contents for better navigation, improved BIOS chip addressing explanation, added new sections, i.e. "Relocatable" Hardware Port explanation and Expansion ROM Handling explanation, better code interpretation and also link to download compressed version of the article now provided as well. Still version Beta3, but I consider it as an operational article.
Все - получил и выложил. См. тут
Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P
Root
Как это нынче говорится, щас пачетайу...
- Ситчик веселенький есть?..
- Приезжайте, обхохочетесь!..
Семен Сатановский Начал читать перевод, он производит приятное впечатление, ну а о некотороые терминологические тонкости и другие правки, думаю стоит обсудить.
Из того, что хотелось бы поправить пока заметил
Думаю стоит использовать привычную терминологию переключение по фронту/уровню сигнала.
Хотелось бы решить как будет лучше - публиковать здесь предлагаемые правки, или отсылаем их Вам. Я думаю, что коль скоро Вы взялись за этот перевод то и выбор режима корректуры стоит "подгонять" под Вас.
За несоответствие действительности Вашим о ней представлениям администрация форума ответственности не несет.
rgt
гуд. ИМХО - правильное замечание.
Семен Сатановский
скорее - "Точка входа из бутблока в оперативе". Остальное пока читаю и вникаю
очепятка. Потому что ниже:
F000:600A BA F8 0C mov dx, 0CF8h что значит «немаскированное прерывание», а что такое «маскированное
F000:600D 66 EF out dx, eax прерывание», как всегда, термин встречал, объяснения нет L)
маскировать - означает применить операцию с неким заданным числовым операндом (который называется маской) к данному операнду.
маскированное (точнее - маскируемые) и немаскированное (немаскируемые) прерывания - означает источник прерывания. Первые - по входу контроллера прерываний, а вторые - по входу NMI
"and mask" имеет два значения:
1) аналогичное "or mask" - маска для операции and ("or mask" - для or)
2) и действительно союз И: чего-то там "и [его] маска"
там же в тексте встречаются вопросы по сигналам ROMCS#, SUSC# и пр. - см. даташиты на VIA СМ и ЮМ (596A/B & 686A/B) - там все описано :twisted: Линк в ПМ я посылал....
; Host контроллера и DRAM контроллера (хотел бы я знать, что такое
; Host контроллера и Host Bridge :-\, что есть какие-то еще мосты кроме
; северного и южного, и вообще, о каком таком Host-e идет речь?)
в оригинале было "PwrMgmt GPIO Ctlr, Host Ctlr and DRAM Ctlr"
DRAM Cntrl - контроллер памяти. Обычно в СМ.
Host Ctrl = Host Bridge.
регистр
ср. - "Is anybody here?"
в случае "Is_New_Decomp_Method" - ИМХО, проверка на New_Decomp_Method, т.е. применение "нового" метода распаковки.
dummy - пустышка, заглушка.
была даже известная серия книг "... for Dummies". По-русски - "... для чайников"
E000:628A ; ,ни один из этих вызовов не значит "relative"?)
ИМХО, Вам будет полезно почитать книгу Гука "Процессоры Pentium II, Pentium Pro и просто Pentium". Линк на скан, думаю, могу дать.
Идея в том, что функции (ладно - процедуры) можно вызывать не только по абсолютному адресу в памяти/смещению, но и по содержимому некоего регистра, причем его значение можети динамически меняться. Вот и называется такая адресация относительно, т.к. адрес высчитывается относительно некоего регистра....
туда же :twisted: это общепринятое англоязычное название бита. По-русски - бит присутствия сегмента в ОЗУ.
prt = сокр. от pointer ака указатель.
off = сокр. от offset, т.е. смещение.
мой перевод - восстановить значение [регистра] bx, чтобы он указывал на первый байт
Причем в общем случае это не эквивалентно тому, что bx содержит адрес первого байта.
по названию см.... Дополняем его до POST_decompression_return и получаем разумные перевод - концовка процедуры POST_decomp (ака распаковка ПОСТ)
Not = отрицание. Not_Old_Decomp_Method - нечто, выполняемое в случае нахождения не старого метода запаковки, а нового метода....
видимо, очистка памяти по адресам 80000 - 8FFFF
Резюме: в целом, перевод статьи производит очень хорошее впечатление, даже несмотря на некоторые "pecularities" и вопросы переводчика
В общем, большое спасибо переводчику
Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P
Господа, когда я отправил Root-у перевод, я попросил поместить некоторое предисловие для определения механизма внесения корректив, но, очевидно
по техническим причинам это не получилось. Предисловие таково:
"Текст в скобках написанный стилем "Arial" (голубой шрифт высотой 9)
яляется вопросами, задаваемыми мною в виду его недостаточной
компетентности. Ответы необходимы для написания корректного перевода
соответствующих мест. Свои варианты перевода или трактовки тех или иных
мест просьба писать в виде постов в соответствующей теме форума с
приведением оригинального текста статьи, моего варианта, своего варианта
и конструктивной аргументации своего предложения (аппеляции к авторитету
корифеев данного жанра всех мастей таковой не являются).
Убедительная просьба ко всем желающим принять участие в обсуждении: не
пытайтесь редактировать стиль моего изложения каким бы нудным,
многословным и тяжеловесным он Вам не казался, я писал таким образом
опираясь на идею автора статьи о том, что она должна дать знания тем, у
кого их нет, у кого они есть, в этой статье не нуждается, а в остроте
слова и лаконизме речи желающие могут поупражняться на страницах форума.
Все это относится лишь к форме изложения, Теперь о редактировании
содержания. Все изменения вношу ТОЛЬКО Я на основе Ваших профессиональных
и компетентных замечаний , но первоначально понятых мной. Это в
значительной степени гарантирует понимаемость текста перевода теми, для
кого он предназначен - новичками.
Если кого-то не устраивает такая постановка вопроса, то он может или не
участвовать в обсуждении, или написать свой перевод так, как считает
нужным, а поскольку никто из ветеранов форума еще не сподобился написать
оный, то очевидно и не напишет. Посему желательно согласиться с моей
постановкой вопроса, и да пребуду Я с Вами Аминь.
Семен Сатановский
P.S. Просьба исправлять также обнаруженные грамматические ошибки."
Еще хочу добавить, пожалуйста пишите точно, в каком разделе находится фраза, которая по Вашему мнению должна быть изменена. Если я согласен с содержанием предложенного изменения, то вношу его в тект перевода без дополнительных комментариев (чтобы не плодить пустые посты), если же не согласен, тогда обсуждаем почему.
To Pinczakko
Thank you very mutch for offering your help. I'll plan to send you some
questions about places in your articte I do not comprehend, but later, after
fixing some misunderstandings caused by my ignorance in programming (with
help of some educated guys from our forum).
P.S. Господа, извините за задержку с ответом, В Жуковском появился DanZer
Только сел писать этот пост, он позвонил, в результате пришлось отложить
это занятие на несколько часов.
После прочтения обширного, но малоэффективного поста Root-a, хочу сделать
еще несколько замечаний по процедуре редактирования.
1)Большинство вопросов адресовано к автору статьи и написаны мною в основном
как памятки для самого себя, однако, если кто-то из Вас ответит на часть из них, буду очень рад.
2)Если я задаю вопрос, то мне нужен на него ответ, а не ссылка на даташит, или рекомендация почитать объемный трактат на тему... В данном случае задача состоит в том, чтобы совместными усилиями привести перевод статьи к понятному и удобочитаемому виду, а не заниматься восполнением пробелов в моем образование.
3)Если я спрашиваю расшифровку незнакомой абревеатуры или непонятного термина, то мне нужно понятная расшифровка или объяснение, чтобы поместить их в статью. Я смутно догадываюсь, что слова "И" и "ИЛИ" могут быть как логическими операторами, так и грамматическими союзами, однако в данном случае мне нужно знать, в каком значении они применены конкретном контексте.
4)В состоянии ли кто-нибудь внятно и подробно объяснить мне, что такое "маска", маскируемое прерывание и немаскируемое прерывание?
Термин "Маска" применяется в применении к логическим операциям AND и OR (чаще AND).
AND - логическое "И".
1 AND 1 = 1
1 AND 0 = 0
0 AND 1 = 0
0 AND 0 = 0
OR - логическое "ИЛИ"
1 OR 1 = 1
1 OR 0 = 1
0 OR 1 = 1
0 OR 0 = 0
Маской называется второй операнд в логической операции, выбранный таким образом, чтобы изменить или отделить один или несколько бит в первом операнде.
Пример 1:
имеем байт 10101010, нужно выделить 2 младших бита. AND-Маска - 00000011.
Ибо 10101010 AND 00000011 = 00000010
Пример 2:
имеем байт 10101010, нужно установить младший бит. OR-маска - 00000001.
Ибо 10101010 OR 00000001 = 10101011.
Насчет прерываний - ну, тут не совсем прямая связь. Смысл в том, что маскируемое прерывание может быть программно запрещено. Термин "маскируемое" произошел от того, что для запрещения на соотв. регистр контроллера прерываний (а в нем состояние битов соответствует разрешению/запрещению прерываний, по биту на прерывание) накладывается маска для изменения соотв. бита для запрещения/разрешения определенного прерывания.
Немаскируемое прерывание не управляется программно. Т.е. его генерацию нельзя запретить.
Нормально? Понятно?
А кому счас легко...
Спасибо, более или менее на пока
I've added new section for IDA Pro. This section is an introductory material for people who struggle to use IDA Pro. Happy reading and thx goes to people that suggested me to add that section
-- Human knowledge belongs to the world --
-- Знания людей принадлежат миру --
Выложил новую версию на том же месте в том же виде, что и получил....
Все копирайты на перевод - Семен Сатановский, а на оригинал - Pinczakko
Аццкий ромбовод {:€
Я пока не волшебник - я только учусь! :-P
Отправить комментарий