с масштабированием (растягиванием) в реальном времени.
на фон локации накладывается (растягиваясь) маска, потом спрайт.
hl=спрайт, de=маска.
вход в процедуру зависит скорее всего от ширины спрайта.
для наглядного понятия построения как вариант можно корректировать IX вручную (автоматом с учитыванием третей) для вывода сразу на экран, минуя буфер
....................
удваивание по-вертикали происходит при выводе на-экран из буфера.
(просто каждая строка печатается два раза)
видимо для упрощения растягивания (изначально нормальные) спрайты специально модифицируются (пауза после загрузки игры)