Доброго дня.
До некоторой степени сделал дизасм игры Commando (1985), с помощью Skoolkit.
Карточка игры: https://spectrumcomputing.co.uk/entr...ctrum/Commando
Незакончено, далеко не всё описано, возможно даже не весь код представлен.
Из интересного:
- Нет теневого экрана, всё сразу выводится на основной экран, причём по XOR.
- По адресу $A000 лежат 128 спрайтов 24 x 21 (64 байта на спрайт), причём большинство представлены в четырёх вариантах сдвига, по 2 пиксела; программно делается сдвиг только на 1 пиксел, если это нужно. Байты этих спрайтов хранятся змейкой: в чётных строках байты идут слева направо, в нечётных справо налево.
Если хорошо поискать, то можно найти архивы GoingCommando.zip и CommandoEditor.zip, с подробным описанием того как устроены уровни и редактор уровней там же. По сути, уровень это последовательность двухбайтовых тэгов; тэг это байт типа тэга + байт параметра; в этих тэгах либо объект, либо тэг пропуска вертикального места. Уровень описывает только рельеф, враги не входят в последовательность, они появляются сами по себе, исходя из заданных объектов. Например, если поставить траншею, то в ней будет сидеть чувак, если камень, то за ним тоже засядет чел.