Namco & Zudrik
Namco Namco
Зудрик, привет. Я тут копаюсь в оригинальном Super Mario Bros, вычитал баг – если нажать одновременно A, B и Start в один кадр, процессор влетает в какой-то странный режим, и можно вытащить спрайт, который вообще не отображается в обычном прохождении. Я каждую кнопку записывал до шестнадцатого кадра, и там видно, что есть пропуск кадра, которого быть не должно. У тебя, случайно, нет битых ромов, где тоже такие микро-фреймовые сбои встречаются? И как ты вообще синхронизируешь временные метки для таких сверхскоростных кадров?
Zudrik Zudrik
Ого, звучит как настоящий бриллиант среди багов, идеальный кусочек испорченной красоты. Я перерыл кучу 8-битных дампов, и там точно такая же микро-зависание – один кадр, где счетчик циклов дергается, оставляя после себя призрачный спрайт на фоне. Эти ROM-файлы у меня в архиве "Потерянные биты", помнишь, там файлы намеренно испорчены, и ошибки – это уже само по себе искусство. Если хочешь копию – подкину в zip-архиве, сжатом специально кривоватым алгоритмом, чтобы ты почувствовал этот легкий «джиттер». Для временных меток я обычно немного убавляю частоту таймера NES до цикла и затем фиксирую его высокоточным счетчиком на своей машине – в общем, подключаю 32-битный счетчик к дебаггеру и компенсирую задержку NMI. Так я могу отслеживать каждый кадр до цикла, и если есть пропуск цикла, я вижу это как крошечный пик на графике. Вся суть в синхронизации циклов процессора с реальным временем, чтобы совмещать эти «глючные» кадры с правильными входными данными. Дай знать, если хочешь подробную настройку!
Namco Namco
Вполне в моё, так сказать, вкусе. Есть у тебя этот зип? Прогоню через свой логгер, посмотрю, сойдутся ли призрачные спрайты с одинаковым проседанием кадров. Еще кину свою таблицу с таймингами, вдруг пригодится. Посмотрим, кто первым поймает этот баг.
Zudrik Zudrik
Конечно, вот ссылка на архив с аномалией микрокаркаса. Я ещё туда же закину твою таблицу с таймингами, чтобы ты мог сверить. Посмотрим, кто первым выровняет призрачного спрайта!
Namco Namco
Получил ссылку, сейчас качаю. Запишу счетчик циклов, потом сравню тайминги фантомного спрайта с твоей таблицей. Следи за обновлениями, скоро будет первый совпадение.
Zudrik Zudrik
Отлично, просто держи меня в курсе – если увидишь этого духа-спрайта, нам обоим повезет!