Предлагаю выкладывать в этой теме патчи к играм.
Начну с игры, над которой бился последние несколько дней.
"Overkill"
Изначально игра распространялась на дискетах, была защищена от копирования и даже содержала в себе вирус.
С этими проблемами справился многоуважаемый gid ещё в 2014-ом году.
Но как следует из описания на сайте, игра привязана к подпрограммам прошивки контроллера дисковода, а потому не запускается с жёсткого диска или требует прописывания драйвера расширенной арифметики в начальный загрузчик HDD, что может быть в ряде случаев нежелательно.
Поэтому я расковырял игру и выяснил, что из расширенной арифметики она использует только команду MUL, причём всегда умножает регистр R1 на число 64
Написал патч, который расшифровывает 6 файлов игры, находит в них последовательности с использованием MUL и заменяет на другой код (который делает то же самое, но гораздо быстрей).
Во вложении - патч, исходники и инструкция.
Overkill-BK0011-patch.zip
На тот случай, если в игре присутствуют MULы, которые я не нашёл (чтобы это узнать, надо пройти всю игру), сделал запасной вариант: драйвер расширенной арифметики, который эмулирует только умножение регистра R1 на 64, и ничего больше. Работает только при наличии контроллера SMK. Нужно запускать перед стартом игры. К сожалению, на дискете с игрой нет места, чтобы записать этот драйвер. Но в теории можно втиснуть его в один из исполняемых файлов.
Если вдруг окажется, что в игре используются другие команды расширенной арифметики (игра будет вылетать всё время в одном и том же месте по вектору @#10) - пишите. Полный драйвер я тоже написал. Надеюсь просто, что он не пригодится.




Ответить с цитированием
Размещение рекламы на форуме способствует его дальнейшему развитию 


