Разработка и ромхакинг > Ромхакинг и программирование
Нужна помощь по командам M68k
<< < (6/6)
Ti_:

--- Цитата: DrMefistO от 25 Декабрь 2012, 16:51:18 ---После инвертирования получается 0xFDB0. Вот и не понимаю, куда оно ссылается, если буфер то еще в позиции 8, а назад оно просит на 0x250.

--- Конец цитаты ---
Ну вообще в зоне E00000-F00000 всё зеркалится по 65кб . То есть $FF0000-$FFFFFF равно $FE0000-$FEFFFF.
Но странно конечно тут, надо уточнять.
DrMefistO:

--- Цитата: Ti_ ---То есть $FF0000-$FFFFFF равно $FE0000-$FEFFFF.
--- Конец цитаты ---

Но тогда выходит, что отнимать не неганое, что прибавлять неганое - один и тот же адрес, но там ничего нет, окромя нулей, т.к. туда ничего не распаковывалось еще..
Ti_:

--- Цитата: DrMefistO от 25 Декабрь 2012, 18:23:40 ---Но тогда выходит, что отнимать не неганое, что прибавлять неганое - один и тот же адрес, но там ничего нет, окромя нулей, т.к. туда ничего не распаковывалось еще..

--- Конец цитаты ---
Ну не знаю, надо ром смотреть. Это один архив такой или всё время.
По задумке то раз a6 буффер, и просто должны копироваться уже ранее распакованные цепочки продолжая распаковку.
DrMefistO:

--- Цитата: Ti_ ---уже ранее распакованные цепочки продолжая распаковку.
--- Конец цитаты ---

Именно, о том и говорю. А в моем случае просится вперед (видимо за нулями - их там много). Таких архивов больше чем 1.
Добавлено позже:
Сделал так:

--- Код: ---    if size >= ReturnTo then
    buffer^ := PByte(cardinal(buffer) - ReturnTo)^
    else
    buffer^ := PByte(cardinal(buffer) + (($10000 - ReturnTo) and $FFFF))^;
--- Конец кода ---
Ti_:

--- Цитата: DrMefistO от 25 Декабрь 2012, 18:39:28 ---
Именно, о том и говорю. А в моем случае просится вперед (видимо за нулями - их там много).

--- Конец цитаты ---
Если всегда за нулями... в нормальных анпакерах 0 и записывается.  А так мало ли, может там ещё какие-то данные для анпака.
DrMefistO:

--- Цитата: Ti_ ---Если всегда за нулями... в нормальных анпакерах 0 и записывается.  А так мало ли, может там ещё какие-то данные для анпака.
--- Конец цитаты ---

Просто буфер то по сути цикличный. Размером в 0x10000. Поэтому так и интерпретировал, как написал. Т.е. смотреть с другого конца.
Добавлено позже:
Какашка, в общем получается. Сравнил результат анпака архива отладчиком, с моим. В тех местах, где d0 больше позиции в буфере, у меня не то, что в дампе.
Добавлено позже:
Правда не во всех местах. Там где надо нули, у меня они и есть)
Навигация
Главная страница сообщений
Предыдущая страница

Перейти к полной версии