Загрузка на «Спектруме»

Игра «Ливингстон, я полагаю?», созданная испанскими разработчиками в ноябре 1986 года, выпускалась и версия под ДОС

Примерно три года моего детства были отданы компьютеру «Спектрум», с ним я проводил подавляющую часть своего свободного времени — играл, программировал, перепаивал. Игры хранились на обычных аудиокассетах (позже появились модели с дисководами, но не у меня) и средняя игра загружалась около пяти минут.

Мощи́ у компьютера хватало лишь на небольшое разрешение 256×192, пиксели были по современным меркам чудовищной величины и чтобы их ещё больше не растягивать, но сделать экран зрительно больше, создатели «Спектрума» сделали вокруг экрана специальную одноцветную область «бордюра» — используя 254-й порт ей можно было задавать один из небольшого набора цветов.

Если менять цвета достаточно быстро, в области бордюра появлялись разноцветные полосы — развёртка не поспевала за обновлением видопамяти. Встроенное ПО использовало этот эффект, чтобы оживлять процесс загрузки — пять минут можно было пялиться не только на заставку игры, но и на разноцветные полосы.

Так выглядел процесс загрузки стандартным загрузчиком

Разработчики игр и скучающие хакеры приделывали к играм собственный загрузчик, который после старта брал на себя процесс дальнейшей загрузки и менял цвета полос, их количество, ширину и прочее. Реже встречались такие, которые умели как-нибудь замысловато грузить заставку — стандартный грузил её сразу в видеопамять, без затей.

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

Мы с братишкой тоже поучаствовали в общем безумии — приделали к игре «Ливингстон, я полагаю?», которая на скриншоте, загрузчик собственного изготовления, помню моя была идея и графика, а братишка больше программировал.

Не помню трогали ли мы область бордюра, скорее да, чем нет, но что точно помню — мы тогда сделали загрузку заставки «змейкой», а после подключалась анимация — Ливингстон в гамаке качал ножкой, а птица (не помню какая из двух) махала крыльями.

Из-за обилия спецэффектов не хватало регистров, пришлось даже использовать ассемблерную команду EXX, позволявшую использовать второй набор регистров. В таких условиях тайминги выдержать было очень тяжело и загрузчик получился не очень-то стабильным — скачок напряжения сети не отфильтровывался нашим магнитофоном «Весна» и нередко рвал процесс загрузки, но мы всё равно были довольны результатом.

Недавно разговаривали с братишкой на эту тему, с удовольствием вспоминали то время.

Любопытно было бы взглянуть на тот загрузчик сейчас, но боюсь очень мало шансов, что где-то могла уцелеть кассета с этой модифицированной игрой. Скорее всего наши труды растворились в шуме Вселенной.

Поделиться
Отправить
Запинить
11 комментариев
Евгений Суреев

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

А так то я видел и картинки на бордюре рисовали, с учетом таймингов.

Евгений Степанищев

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

Не припомню других распространённых компьютеров с такой площадью бордюра.

А так то я видел и картинки на бордюре рисовали, с учетом таймингов.

Картинки? Гм, что-то сомневаюсь. Неподвижные полосы делали, как продолжение того, что на экране нарисовано — это да.

Евгений Суреев

Не припомню других распространённых компьютеров с такой площадью бордюра.

С такой может и нет, но у всех, кто работал с телевизором, поля по краям экрана были.

Вот тут все фотографии с бордюрами
https://en.wikipedia.org/wiki/Home_computer

С другой стороны, приставки игровые как-то с overscan научились работать же.

Так что тут двоякое скорее всего решение. И имитация увеличения области экрана, и работа с особенностями ЭЛТ.

zg

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

на хабре статья недавно была https://habr.com/post/256409/
на портативных приставках много и фантазии и ассемблера встречается.

Евгений Степанищев

Статья интересная, но я имел ввиду этот конкретный вид — модифицированные загрузчики с кассет для Спектрума.

SiMM

Картинки? Гм, что-то сомневаюсь. Неподвижные полосы делали, как продолжение того, что на экране нарисовано — это да.

Делали и подвижные https://youtu.be/dl3wWxJmIZw?t=2m33s
Но в целом да — особо не развернёшься — разрешение бордюра по ширине — не менее 24 пикселей https://zxpress.ru/article.php?id=1733

Евгений Степанищев

Сатанизм ))) Сомневаюсь только, что так можно рисовать во время загрузки.

masterspammer

Из интересного — делал как-то интересно __звучащий__ загрузчик: после какого-то момента звук постепенно ускорялся, а потом и вообще переходил в мелодию (то ли двух, то ли трёхголосую), а потому продолжался как ни в чём не бывало. Скопировать такое ни один стандартный копировщик не мог, естественно.

Секрет был прост — после «какого-то момента» загрузчик считал и пропускал известное число переходов через ноль и продолжал загрузку; кажется, ещё были несколько незначимых нулевых бит после — чтоб при не очень большой ошибке в счёте было можно продолжить загрузку.

Внешне же загрузчик выглядел обычно и на время музыки простом мигал экраном как обычно бывало в отсутствии сигнала — как будто это просто обычная загрузка, только вместо пилот-тона — музыка.

Евгений Степанищев

Хм… кажется я что-то такое тоже встречал, впрочем это может быть ложная память, столько лет прошло…

masterspammer

Есть ещё не равный нулю шанс, что я уже про это писал — может быть даже в прошлой версии этого блога.

Евгений Степанищев

Возможно, сейчас уже и не упомнишь. Но все комментарии перенесены.

Популярное