С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Не совсем вручную (использую две программы и результат беру из одной или другой кусками), но пока подходящего инструмента (IDA не предлагать) нет. Начал потихоньку писать, но ещё самое начало.
На первом проходе я на логику смотрю только если надо поточнее понять - код или данные. Ну, иногда глаз цепляет вышеприведённое. Особенно учитывая, что имеем своеобразный вариант оверлеев, резидентных в памяти
Разобрал (логика не до конца) ПЗУ от MXV11-B (использовал для нашей М8), там тоже страничная организация, но вызов кода из других страниц сделан малость по другому - в конца страницы две процедуры (страничный вызов, возрат из страничного вызова) и типа дальнего (на другую страницу) JMP-а.
У KDJ11-B вроде как нет - прямая запись в регистр отображения страниц и переход-вызов.
На первый взгляд - в случае MXV11-B легче анализировать код, но.. посмотри, как пойдёт..
Если не секрет, то в чем проблема с IDA?
За текущую версию не скажу, но та, которую в своё время пробовал - не позволяла задать (или я не нашёл) базовый адрес для кусков кода. Например - ПЗУ от KDJ11-B - это файл размером 32 кб, но принцип его работы - отображение 512-байтных страниц через два окошка с фиксированными адресами. То есть то, что с точки зрения IDA находится с адреса 1000 (2000, 3000) - на самом деле работает с адреса 165000 или 173000, причём понять - с какого адреса оно работает, можно только после логического анализа.
Возможно, это и можно задать, но даже если так - на втором этапе я начинаю переделывать код под использование пакета макросов структурных операторов (пример - на предыдущей странице) - и вот что то мне подсказывать, что это не получится сделать в IDA. То есть после первоначального дизассембла - всё равно выгружать в файл и дальше работать не с IDA
Хунта.. ты же самый умный в этой контореВот скажи какую арифметику с фиксированной точкой лучше использовать для 2D для физики 640х264?
Чего-то я маханул по моему с s15x16?
БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO
Да.. диапазон.. можно же s7x8..
Я не сталкивался, ты то же?
БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO
640 на 264 больше тянет на 10 бит на 9, так что для хранения всё равно будет 15 бит
Вычисления можно слегка оптимизировать, так как 640 - это 512+128, а 264 - это 256+8, то есть вместо умножения можно использовать сдвиги
Дальше пока не понял суть вопроса
- - - Добавлено - - -
Ну и результат умножения в общем случае вылезет за 16 бит
Суть вопроса про разрядность арифметики.
Про 512 я тоже думал..
Ты в курсе что Джон Кармак написал Doom на такой арифметике? Только проц у него был 32бит.
- - - Добавлено - - -
Два слова дофига..
БK 0010-01, БК 11М, БК11М+,МС 0511 (УКНЦ)х3, Atari 65XE, Commodore 64, AMIGA 500 (HDD), ZX EVO
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)