2016-07-02 7 views
1

У меня есть 2 образов диска из C64, например:C64 Признает общие закономерности между образами дисков

  • DISK1 это игра, и она начинается с некоторым всплеском экраном и музыки.
  • diks2 это демо-версия и содержит много песен и та же музыка как первый диск.

Есть ли вероятность, что рассмотрение двух изображений с помощью какого-либо редактора Hex? Я могу увидеть одну и ту же двоичную последовательность шаблонов в какой-то момент в двух файлах? Будут ли они сохранены таким же образом? И если да, то какой был бы правильный подход для соответствия шаблону?

(цель заключается в поиске этой песни в 150k + файлов программы и посмотреть, в каком диске он используется)

+0

Это было как 20+ лет, но я помню, что музыка обычно состояла из игрока и отмечает. Игроки были обычай, но многие музыканты (например, JCH) использовали в основном те же самые игроки для своих мелодий. Чтобы воспроизвести мелодию, вам нужно сначала запустить плеер, а затем начать воспроизведение. Множество мелодий (игроков и заметок) было загружено начиная с 1000 долларов, и вы могли бы сыграть их на 'jsr $ 1000; jsr $ 1003 (или jsr $ 1006) '. примечания игрока + должны быть общими, но они обычно находятся в одном блоке или памяти (обычно до 4 КБ/1000 долларов США). Удачи. – Pawel

+0

Потому что я только что вспомнил - при воспроизведении музыки ее нужно было приурочить к растровой рамке. Обычно вы либо использовали прерывание на $ d012, либо просто ждали, пока растровый луч достигнет той же строки (опять же используя $ d012), и это когда вы вызываете свой 'jsr $ 1003/jsr $ 1006' - вы можете увидеть его в [этом видео ] (https://www.youtube.com/watch?v=SmICoDUwttc) - мерцающая серая вещь на боковых границах - она ​​показывает, когда музыка начинает играть (с точки зрения растровой линии) и сколько раз растра игрока использует каждый кадр. (Это были отличные времена!) – Pawel

+0

Спасибо! Песня была R.I.S.K. Я ищу, какие демо были использованы. – powernemo

ответ

1

К сожалению, ответ в том, что это зависит. Здесь я опишу некоторые зависимости.

  1. В демонстрациях часто содержится разорванная музыка игр, или более новые игры могут содержать известную музыку какого-то демо. В обоих случаях музыка одинакова, а плеер для музыки будет таким же, потому что игрок большую часть времени был неотъемлемой частью самой музыки. Таким образом, в этом базовом случае одни и те же последовательности двоичных данных используются и в той или иной форме на диске.
  2. Демоны часто сжимали их содержимое, чтобы быстрее загружать или создавать меньшие программы. В этом случае последовательности двоичных данных определенно отличаются от. Вы можете проверить, что если в начале демонстрации есть некоторый «шум» от распаковки, часто линии цветов на границе или обновление символов на экране.
  3. Некоторые более крупные игры также сжимали содержимое, которое было загружено, например. GI Joe. Затем различные последовательности на диске. Некоторые инструменты дампа памяти, используемые для взлома, например. ISEPIC, также сжал образ памяти.
  4. Некоторые игры даже зашифровали их содержимое, например. Bards Tale 2. Затем различные последовательности на диске снова. Вы не можете знать, пока не разобрали рутину загрузки игры.

В случае 2 - 4 надежды. (Я не знаю точных типов игр или демо, которые вы смотрите.)

  1. Далее изображения на диске имеют определенный макет, см. http://unusedino.de/ec64/technical/formats/d64.html Учитывая, что такая же последовательность байтов будет распределяться по разным секторам диска. Также эти сектора не в последовательности, но (на самом деле) случайные. Если данные, которые вы ищете, меньше, чем сектор диска, поэтому менее 256 байт, последовательности вряд ли будут в одной последовательности на тех же дорожках и секторах. Поэтому, если файлы не были одинаковыми и скопированы на диск в том же порядке, вы получите различные последовательности.

Пункт выдачи 5 Я говорю, что, скорее всего, вы не найдете последовательность в том же порядке, даже если без сжатия или шифрования.

Вы можете искать куски последовательностей из 256 байтов. Но начало музыки может быть разным, поэтому даже секторы могут иметь разные данные, потому что, например, один сектор содержит музыку, начинающуюся со смещения 0, а другая начинается со смещения 15.

Необходимо хотя бы сохранить файлы, сохраненные на изображении. Вы можете легко анализировать FAT образа диска и находить файлы. Файл представляет собой серию дорожек и номеров секторов. Вы можете загрузить их в память. Затем сравните эти файлы. Здесь вам нужно будет использовать алгоритмы, которые найдут части массивов байтов внутри других байт-массивов, потому что любая часть демонстрации может быть музыкой, и это может быть в любой части кода игры. Поскольку данные для современных стандартов очень малы, грубая сила может даже работать.

  1. В некоторых редких играх используется их собственный макет диска и только что загруженные дорожки и сектора, предположительно для загрузки быстрее или для защиты от копирования. В этих случаях вы теряетесь.
+0

Очень интересно спасибо. Я попробую. Песня, о которой идет речь, относится к R.I.S.K. Я хотел знать, в каких демонстрациях он использовался (потому что мне нравились другие треки). – powernemo

+0

А РИСК. хороший. Является ли это «/MUSICIANS/B/Beben_Wally/R_I_S_K.sid» на http://www.hvsc.de? Всего 3 мелодии. –

+0

Да, это та песня, которую я получил в 90-х годах из демо или интро-продюсера (я только помню какой-то текст для выбора треков и без графики). Недавно я обнаружил, что это было от Р.И.С.К. из-за счастливой случайности: Я нашел трек в другом демо 1987 года из триады + светлоты (случайно выбрал из 3GB C64-программ 150k + файлов). Это не тот же демонстрационный/интро-создатель, которого я ищу. Я помню, что есть еще одна песня от одного и того же разработчика демо/интро (введение из Dead or Alive). У меня очень хорошая память для музыки, но это 25 лет назад, поэтому я не помню конкретный экран. – powernemo