| Игры > Игры на консолях 5-6 поколений |
| Tool64/2: еще одна бесполезная утилитка |
| (1/1) |
| mai:
Писал для себя, посоветовали выложить :) может кому пригодиться. Хотя честно сказать ума не приложу, кому она может понадобиться, кроме таких законченных педантов как я. А кому понадобилась, те давно уже сваяли себе подобное. Вообще-то, я профан в этом деле, так что поправьте меня, если что не так. Как вы, наверное, знаете дампилимь картриджы N64 разными девайсами и на выходе получали разные ромы. Отличия были в порядке байтов и только: --- Цитата --- z64 - [ABCD] Big Endian (not byteswapped); v64 - [BADC] Doctor V64 (byteswapped); n64 - [DCBA] Little Endian (wordswapped). --- Конец цитаты --- Если интересно, читайте подробнее о том, что такое, например, Doctor V64 здесь: http://en.wikipedia.org/wiki/Doctor_V64 а что такое Z64 здесь: http://en.wikipedia.org/wiki/Z64 Почитал я эту эмуляционную страничку Smiff'а (если не ошибаюсь, он участвовал в разработке Project 64) http://www.smiff.clara.net/beginner/roms.htm - тут описаны те проблемы, которые могут возникнуть с ромами с расширениями, не соотвествующими реальному порядку байтов в нем. Не исключаю, что могут возникнуть проблемы и с некоторыми ромами не тех форматов, что ожидает найти эмуль. Однако на сей момент последнее, думаю, мало актуально. Любой порядочный эмуль определяет тип рома не по расширению и читает его как надо - разве что время на загрузку может уйти чуточку больше, если это не z64-формат. Вообщем, как я и сказал - утилитка для педантов :) Так или иначе я решил проверить все ли мои ромы N64 в формате z64 действительно z64, а те что нет - перегнать в z64. Была такая утилитка от Deflection, которая конвертила ромы N64 в разные форматы: z64, v64 и n64, но она, видимо, секла ромы по их CRC, потому весь goodset им не взять. Моя же утилитка тупа как пробка :) она сечет ром N64 и его формат по первые 4-ем байтам заголовка и дает правильное расширение рому, если он имел неверное, а также конвертит в выбранный формат. Утилитка консольная - читайте пометку об использовании для подробностей. Вообщем, сами решайте, нужен ли вам z64 форат для всех ромов, а вот иметь верное расширение рому, согласно реальному порядку байтов в нем - это строго рекомендовано. Очень часто скачаеннй откуда-нибудь сет имеет пару десятков таких "самозванцев". Собственноручно проверять несколько тысяч лень, утилитка делает это махом. С некотороыми овердампами бывают проблемы, поскольку иногда они имеют не четный размер, что никогда не бывает с нормальными ромами N64.Тогда Tool64/2 предупредит вас о том, что размеры файла на выходе не совпадает с тем, что на входе. Чтобы размеры совпадали, она просто оставшийся кусок прочитанных данных допишет в конец без изменений, и напишет размер этих данных - от 1 до 3 байтов. Это сделано потому что определить со 100% точностью в таком случае как переставить байты не возможно :) Согласитесь, имея недостающее звено в последовательности 4-ех байтов нельзя их переставить. Если такое сообщение появилось, это не значит, что конвертация прошла не успешно - проверьте Good'ом, если не определил, тогда можно нужно слегка подправить вручную (hiew вам в помощь). Глянув в конец файла вы найдете, как правило, легко угадываемую последовательность и допишите верный байт. Можно бы сделать это и програмнно да лень, т.к. таких проблемных ромов крайне мало, например - Automobili Lamborghini (U) [o3] Все неопознанное кладется в подкаталог ".\Unknown". Короче, текста ту вышло больше, чем кода :) PS: Сами понимаете утилитка поставляется "As Is", пользуйте на ваш страх и риск. |
| Навигация |
| Главная страница сообщений |