Никто сабж не проходил?
Вид для печати
Никто сабж не проходил?
Сейчас буду оффтопить.
Игру не видел (хотя, помню, читал описание в "500 игр"), но книгу прочитать советую -- когда-то в числе любимых была, особенно последняя часть трилогии, про ядерную войну. Перечитывал раз десять. До сих пор ее считаю эталоном постапокалипсиса. Всякие трэшаки вроде "Путешествия Иеро" и близко не валялись. Автора, вроде, звали Фрэнк Херберт -- кажется, однофамилец автора "Дюны"? Или это он и есть? Не помню.
Автора звали Джеймс Херберт, а не Фрэнк... И на "Путешествие Иеро" не надо гнать, очень даже ничего книга.
Я не проходил, уж больно она тормозная, ибо на басике... Пройти?
и нифига не на васике, а на самом что ни на есть асемблере.
мы про одну игру? я про эту
ftp://ftp.worldofspectrum.org/pub/si...atsThe.tzx.zip
По инструкции выходит, что в игре все-таки есть отгрузка/восстановление состояния! Вызываются не через меню (вот - и не заметил), а через SS+L и SS+S - когда открыто главное меню карты.
Отгрузка какая-то странная, сохраняет по 4 блока, которые вместе занимают немало - килобайт 10. В диск-версии сделал одну отгрузку...
Смущает только то, что предупреждающие надписи перед загрузкой-сохранением на тему "дайте чистую кассету, запустите магнитолу" распаковываются, как и все остальные тексты в игре, каким-то непонятным способом. Перед полной публикацией хотелось бы их поправить.
Полностью отключить надписи проблематично, т.к. игра компилированная и программу своих действий вызывает через несколько JP (HL), при этом еще часто модифицирует код. Отследить все, касающееся исключительно этих надписей, пока не могу.
Удалось найти процедуру с входом C7AC, распаковывающую текст. С самого начала процедуры идет загрузка нужных ей регистров из переменных памяти, причем в DE - адрес-приемник текста (обычно 6AD1), а в HL - скорее всего адрес-источник (всегда BD16 для SAVE и BD47 для LOAD). Алфавит где-то в районе BDB8-BDD9 - точно не понял, он тоже как-то странно построен, в Iron Lord и то понятнее. В IX, HL' обычно кладутся одинаковые значения для не совсем понятных нужд распаковщика.
Процедура C7AC вызывает другую процедуру, которая возвращает код очередного символа - 0x25 означает CAPS для следующего символа, 0x5D - терминатор. Внутри распаковщика видно, что входные данные принимаются побитово (через регистр C). Но вот сам алгоритм пока темный лес. Еще непонятность - BC заполняется вместе с другими регистрами, и распаковщик сразу использует значение из регистра C - разное для разных фраз. Т.е., похоже, первый байт (или неск. бит) прочитаны до вызова этой процедуры...
Может ли кто-то помочь с расшифровкой, или с выключением фраз - пожалуйста, помогите.
__________________________
Кстати, игру в принципе реально сделать сильно быстрее, она компилированная и надо-не надо вызывает процедуру задержки... Стоит ли убыстрять?
Вот я поэтому и сказал, что на васике.
начал гонять эту игрушку - тормозная она конечно и глючная (наверно?). позже закину снапшоты с глюками (если это конечно они). кста если не читать книгу то вообще непонятно что там делать :)
Я приложил нечто из руководства в архив, добавив про релиз, но на русский его переводить можно не один день.
Это, кончено, в мануале говорят что до стратегии.
А без книжки, конечно, в тактике - метод научного тыка.
---------- Post added at 20:51 ---------- Previous post was at 20:47 ----------
2 Shadow Maker: если удастся, то конечно many thanks. Я уже несколько раз брался, подизучил несколько эпизодов, но до полной ясности (особенно о качестве релиза) далеко.
А? Чего? Пройти?
Да.