Реверс-инжиниринг: я не смог удержаться!

Oct 03, 2011 00:57

Решил не дожидаться, когда этому проекту стукнет ровно 20 лет -- случайно подвернувшиеся под руку уже выцветшие до желтизны листочки процесса, называемого обратной разработкой, положенные в основу моих старых программ на x86, вызвали ностальгические чувства. Это же надо, какой фигнёй я раньше занимался! :)

Read more... )

реверс-инжиниринг, дизассемблирование, обратная разработка, tvga-9000, trident

Leave a comment

Comments 4

sadko4u October 3 2011, 10:16:55 UTC
Да, чем-то похожим и мне приходилось заниматься.
А что, функции BIOS она нормально не реализовывала (это я к рисунку И даже начинать формировать прототип будущей "внутренней документации"...)? Или просто такой документации не было?

Reply

klark973 October 3 2011, 12:29:29 UTC
Не было вообще никакой документации, а мне необходимо было получить прямой доступ к железу (к портам и памяти без вызова сервисов BIOS) в реальном режиме x86, где вся видюшная память одновременно недоступна, надо переключать банки, к тому же не очень тривиально расположенные. Представь: 92 год. Интернета нет (есть, но не про нашу честь). Документации тоже нет. У меня самая шикарная машина во всей компании на базе i386 (Новеловский сервак из Сингапура). Тогда как у остальных самое топовое железо -- AT-286, а в основном -- XT'шки. Windows'ом и не пахло, да и про Линукс я тогда ещё ничего не слышал. Платка -- так себе, даже по тогдашним меркам, а надо было на неё живьём выводить два живых видео-потока, причём один -- на весь экран, а второй шёл в окошке. Через BIOS конечно можно вывести один пиксел, но это очень долго, сам понимаешь. Первые семь страниц -- как раз фрагмент процедуры отрисовки одного пикселя. :)

Reply

sadko4u October 3 2011, 18:23:56 UTC
Не, я понимаю, что вывод пикселя через BIOS - это мега-тормоза, всегда пользовался напрямую видеобуфером в диапазоне адресов 0a000:0000 - 0a000:ffff. Как понимаю, ты искал именно как отобразить на эти адреса банки памяти видеокарты?

Reply

klark973 October 4 2011, 05:22:52 UTC
Именно. Причём не один пиксел я выводил, а целый фрейм.

Reply


Leave a comment

Up