Обновить

#05 — И целого байта мало… | Анимэ

Демосцена
Сегодня темой выпуска ИЦБМ будет… АНИМЭ. То самое, которое обычно обсуждают на irc-каналах про FreeBSD, в перерывах между патчами ядра. И вернемся мы назад во времени ажн к февралю 1999 года, то есть на двадцать один (!) год назад.


Перед нами видео-диск Locomotion для ZX Spectrum 128К + дисковый интерфейс. Авторы конверсии два простых самарских парня alkoro и unbeliever, а дело было так… После работы Blame для демопати Funtop'98 мы научились легко оперировать с видео-фрагментами из оперативной памяти Спектрума. Ролик с Биллом Гейтсом не являлся великим достижением, но он и сегодня смотрится вполне прилично, особенно если отойти от экрана и держать в голове, что все данные в момент видео находятся в ОЗУ 128К.

image

Спустя полгода после Funtop'98, в самый разгар экономического кризиса, мы освоили нестандартные способы работы с дисководом. Многое подглядели в работе Refresh, Condommed и других аналогичных релизах, загружающих данные с носителя без паузы в самой работе. Идея грузить данные с дисковода, под музыку, не прерывая показа работы, была настолько захватывающая, что хотелось немедленно ее попробовать. Именно так появилось это техническое демо, на основе оригинального видео:



Оригинал 1989 года от Pacific Data Images носил достаточно культовый статус в былые времена для пользователей PC. Этот ролик был у каждого на жестком диске и частенько использовался для бенчмарка производительности видеокарты, особенно после апгрейда. Главной целью было воспроизведение ролика на полный экран. Если твоя видеокарта S3 Trio «тянула» полный экран при проигрывании этого видео — ты был первым парнем на районе. Напомню, массовый выброс на рынок видео на основе DivX произошел летом 1999 года и на момент создания нашего релиза для ZX Spectrum на PC фактически нельзя было смотреть фильмы. Ну, разве что VideoCD закодированные легеньким MPEG-1 или чуть более тяжелым MPEG-2.

image

На стартовом экране Locomotion (ZX) дана исчерпывающая техническая информация. Работа занимает одну пятидюймовую дискету DS/DD, каждый кадр это 64x42 пикселя (точнее чанка), точка кодируется тремя битами в градациях серого, у видео 6 fps, а суммарное количество кадров — 778 штук. Мы были вынуждены использовать нестандартную разметку дискеты по двум причинам. Во-первых, все кадры не умещались в 640 килобайт стандартной разметки. Во-вторых, тут на порядок интереснее! Мы разметили дискету так, чтобы каждый сектор содержал один целый кадр видео и это позволило существенно поднять frame-rate вплоть до заветных 6 кадров в секунду, что для восьмибитной машины очень прилично…

Пока это все! У нас очень плотный график работ на ближайшие 24 часа в рамках подготовки к Revision Online 2020, но я обязательно дополню эту статью исходниками и другими деталями ближе к субботе!

Добавляем в закладки, возвращаемся, перечитываем позже…

UPD: Да, исходники кода сохранились у нас. Всё компилится, свежекомпиленный код запускается прямо из XAS, играет белый шум в 1/4 кадра, так как сектор диска 256 байт в эмуляторе. Потом всё корректно возвращается в главное меню, потом в XAS, а в главном исходнике закоментирован loop, специально для отладки. Так же нашелся исходник который кодирует видео из конвертированных с PC кадров — вот это настоящий монстр, раза в 4 больше самого locomotion по коду. Печально то, что потеряны исходные кадры LOCOMOTION c PC, из которых теоретически можно было бы собрать весь проект заново. Однако, у нас и не стоит такой цели.

Открытые вопросы к тем, кто умеет в ZX Spectrum:

Нужна помощь — как получить доступ к файлам внутри SCL/TRD на PC и сконвертить исходник XAS в plain text?

image

---EOF---

#FF — И целого байта мало… | Пилот)
#00 — ИЦБМ… | Приглашение на Revision Online 2020
#01 — ИЦБМ… | Какими бывают intro?
#02 — ИЦБМ… | The Cross of Changes
#03 — ИЦБМ… | 2B or not 2B
#04 — ИЦБМ… | Берем БК за рога
#05 — ИЦБМ… | Анимэ
#06 — ИЦБМ… | Метеоризмы
#07 — ИЦБМ… | Revision Online

Развлекательный канал деда в Телеграм: teleg.run/bornded

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

ТАК ПОБЕЖДАЛИ — ТАК ПОБЕДИМ!
Теги:demoscenesceneintroдемосценавнезапногалактеко безопасностеspeccyzx spectrumицбм
Хабы: Демосцена
Рейтинг +19
Количество просмотров 4,3k Добавить в закладки 17
Комментарии
Комментарии 9

Похожие публикации

Fullstack php developer
от 130 000 до 200 000 ₽LetterosМоскваМожно удаленно
Senior Golang Engineer [IT Operations team]
от 5 000 до 6 500 $Coins.phМожно удаленно
Разработчик Python/Django
от 90 000 до 150 000 ₽JustWorkМожно удаленно
DevOPS Engineer
от 3 700 до 6 500 $Coins.phМожно удаленно

Лучшие публикации за сутки