[o3.o5.2oo9] Widget  [NES; 2.5 kb]
==========================================
Небольшой генератор, тем не менее, таит в себе много опасностей. Проблема в том,
что пароль кодирует только 4 бита, а все остальные приходится затыкать разными уловками,
вроде условного распределения битов уровней по знакам в зависимости от счетчика фреймов.
Сам генератор мог бы получиться меньше, если бы было меньше мороки с логикой самой
игры: три уровня открываются после прохождения первого, один из фактически случайных
байтов не может быть равен нулю и так далее.
[26.o4.2oo9] Addams Family [SEGA; 2.4 kb] ========================================== Простенькая система паролей интересна криворукостью реализации: предполагается, что количество жизней обязано храниться в пароле, но под сегу это сделано настолько неаккуратно, что жизней всегда пять, даже если введен секретный пароль, который выставляет их в 99. Пароли подходят под Сегу и SNES. Впрочем, под SNES, оказывается, тоже есть баги: ввиду элементарного незнания создателем специфики использования флага переноса (bcc подразумевает bge, а не bgt после команды cmp), игра не хочет принимать количество жизней с цифрой 9.
[26.11.2oo8] Cannon Fodder [SEGA; 3.1 kb] ========================================== Кроме трудностей с отладкой кода Сеговской игры, система паролей особых сюрпризов не приподнесла. Правда, JavaScript не знает ни word'ов, ни longword'ов, поэтому с написанием самого генератора пришлось повозиться. Для тех, кто хочет лицезреть все возможные пароли игры, есть брутфорс с исходниками.
[o5.o6.2oo8] Blue Marlin [ENG] [RUS] [NES; 8.1 kb] =================================================== В случае этой игры, основную сложность составлял размер самого пароля (31 символ), а значит и количество кодируемых в него параметров. К счастью, кроме большого объёма, HOT•B никак не стало усложнять мне жизнь... Ну, разве что фирменный стиль криптовки всего и вся. Однако, как вы можете убедиться, генератор вышел несколько больше своих предшественников, это расплата, в том числе и за возможность вводить имя игрока с клавиатуры. Генератор позволяет использовать в качестве имени игрока 8 пробелов (в игре такое имя заменится на 'NONAME') и в имени может быть дополнительный символ '&', который не уместился в экран ввода имени, однако сохранился в таблицах кодировки внутри ROM'а.
[29.o3.2oo8] Black Bass USA [NES; 4.4 kb] ========================================== Система паролей в этой игре несколько сложнее тех, с чем я имел дело до этого. Не по наслышке зная о разработчиках HOT•B (надеюсь, когда-нибудь я добью их Blue Marlin c криптованными картами тайлов), я был готов к самому худшему. К счастью, неразрешимых проблем не возникло: генератор псевдослучайных чисел (его пришлось включить в генератор) несколько необычен и использует результат предыдущих итераций для своего нового зерна при криптовке каждого нового символа потока, что позволяет получать самые разнообразные по внешнему виду пароли. Поэтому он сохраняет первичное зерно в старшие 8 бит исходного потока. После чего вычисляется чексумма и полученный поток из 80 бит размазывается по 16 символам пароля (5 бит на символ).
[22.o3.2oo8] Best of the Best - Championship Karate [NES; 3.8 kb] ================================================================== Одна из игр, в которые я играл на железе обязана была получить свой генератор. Процедура более сложная, чем в Batman Returns: 45 бит значимых данных аккуратно размазываются в 5-битовой кодировке по 9 символам пароля.
[22.o3.2oo8] Batman Returns [NES; 3.4 kb] ========================================== В 2006-м я написал свой первый генератор паролей для этой игры на Delphi. Из-за отсутствия у меня должного опыта, он получился неполным. Зато теперь пришло время собирать камни: новый генератор получился функциональнее (выдает в 64 раза больше паролей на те же игровые ситуации) и в 184 (!) раза меньше по объему.
*Все генераторы можно сохранить как отдельный htm файл.