﻿Итак, перед вами - дизассемблированные исходники игр Бориса Бортника.
Которого многие ненавидели за эти его игры. По разным причинам.

За основу была взята серия игр с кассетной защитой, а не их однофайловые
клоны, с целью показать вам, как там всё внутри устроено. Собрать все файлы
в бинарники можно, но работать они не будут, т.к. для загрузки с кассеты
требуется немного другая модуляция, не стандартная. Дизассемблирование именно
этой серии сделано чисто из академического интереса.
Но, чтобы труд не пропал зря, были сделаны однофайловые варианты игр, без
всяких защит и обессмерченные, чтобы их можно было просто пройти.

Все файлы кроме магнитофонной защиты ещё и зашифрованы, чтоб всяким 
ковыряльщикам было труднее ковырять. Да и код местами довольно заковыристый.

Изучая код, можно наблюдать, как эволюционировали программистские навыки
Бортника.

1. Bally
    Технически игра очень просто внутри устроена, стиль написания довольно
ужасен. Очень много повторяющегося кода и неэффективного использования. Как
будто использовался MACRO-11 и злоупотребление макросами.
    Не знаю, мог ли кто-то пройти эту игру по честному, но я не мог, и считал
её непроходимой в принципе.

2. Second
    Уже более продвинутая игра в техническом плане. Код более затейлив.
    Эту игру даже можно пройти до конца по честному, я проходил.

3. Planet
    Это прямое развитие техники программирования, представленной в предыдущей
игре. Нового ничего, но старого больше и лучше.
    Эту игру тоже можно пройти до конца по честному, я проходил.

4. Runing
    Эта игра технически - уровня Bally, такая же простая и написана примитивно.
Как будто Бортник откопал её и допилил до играбельного состояния, используя
некоторые алгоритмы из Superman.
Игра выглядит недоделанной, там планировались ещё какие-то противники и есть
неиспользуемый код.
    Эту игру я тоже по честному пройти не смог.

5. Superman
    Очень технически продвинутая игра, и тут Бортник извращался как мог,
запутывая логику. Было тяжело дизассемблировать и разбираться в хитросплетениях
кода.
    Эту игру я смог пройти только после того, как полностью распотрошил её,
нарисовал карту лабиринта, и по ней исследовал все сундуки.
    Кстати, в игре планировался ещё один противник, но похоже на него не
хватило места в памяти.

6. Перевал
    Вершина творчества. Это просто пиздец какой-то. Там используется каскадно
самомодифицирующийся код, фактически - конечный автомат, модифицирующий сам
себя, чтобы переходить из состояния в состояние.
    Собрать оригинальный файл из исходников не получится, т.к. он монолитный,
с магнитофонной защитой с разной модуляцией модулей. Дизассемблировано просто
для того, чтобы иметь представление об устройстве кода. Да и то, в процессе
работы я крайне утомился и комментировать уже было не охота.
Но сделать оптимизированный вариант просто необходимо. Там и будут комментарии.
    Эта игра теоретически проходима по честному, но я её не смог пройти то ли
из-за того что была криво взломана/скопирована, то ли ещё из-за чего-то,
игра зависала или ломалась где-то посередине.