Разработка и ромхакинг > Ромхакинг и программирование
Rob Northern Compression (RNC)
(1/1)
Zilog:
Где то в сети нашёл RNC compressor\decompressor.
В теме про МК1 evgeny говорил, что там (в MK1) используется именно этот формат.
Вопрос: может ли эта прога распаковать сжатые данные?
P.S Если что не так - ногами не пинать...
GManiac:
По идее должен, алгоритм везде стандартизирован. Щас проверил на Аладдине - работает. Только с утилзой от Dungeon Keeper какие-то непонятки, берите отсюда:
http://www.devrs.com/gb/asmcode.php

Добавлено позже:
В смысле нормальную прогу берите "отсюда".
cari:
Zilog Сам скачал, с другими поделись
Zilog:
To cari, тов. GManiac дал ссылку, а то что я скачал, не запустилось ни на XP, ни на DosBOX.
To GManiac, спасиб, полезная ссыль.
P.S да кстати, как вы узнаёте, каким алгоритмом какая игра пожата? :blush:
P.P.S Я так понял, что файлы пожатые RNC имеют такой-же (RNC) заголовок. Они идут друг за другом последовательно без перерывов. Но я никак не могу распаковать прогой извлечённый из рома файл. Может не так извлёк?  :?
GManiac:
В случае RNC очень просто - заголовок сжатых файлов "RNC\x01" присутствует в каждом сжатом куске в роме (т.е. это по сути архивы, сжатые RNC и внесённые в ром). Я ведь как проверял: нашёл такой кусок в Аладдине, скопировал некое число байт (где конец архива, неважно), разжал его этой прогой - получилось нечто, похожее на сеговскую графику. Потом сжал полученный файл и сравнил с вытащенным куском - они оказались совпадающими до конца нового архива, заодно и его размер можно узнать.
В других случаях в каждой игре какой-то свой алгоритм, чтобы узнать, как он работает, надо раскапывать его код.
Zilog:
Тоесть даже в сеговском РОМе у пожатой графики есть заголовки как у архивов?
GManiac:
У RNC - да. Я же говорю, это обычные архивы, засунутые в ром. Игра после указания нужного куска (адрсе в роме) просто сравнивает заголовок с "RNC" и дальше распаковывает кусок в память. Наверно, чтобы не создавать лишних действий при компиляции всей игры решили не трогать заголовки архивов.
В большинстве случаев никаких заголовков нет, иногда в самом сжатом куске могут быть указаны размеры сжатой/несжатой последовательности, но часто они (+адрес в ОЗУ, куда распаковывать) указываются перед вызовом процедуры декомпресии.

Добавлено позже:
Похоже, в MK1 изменённый формат. Куски из Aladdin или Earthworm Jim распаковывает спокойно.
sergi:
А Dune распакует? :?
Zilog:
Если в РОМе имеются данные с заголовком RNC то 95% распакует. ;)
GManiac:
Нету там.
Навигация
Главная страница сообщений

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