Выбрать главу

Марго с Мариной по очереди (младший ещё мал, он только иногда поглядывает на происходящее вокруг действо из «манежа») заняты тестированием игр на пятом вычислителе. Я сам работаю на шестом. (К слову говоря, замечу, что супруга потратила за прошедшие к тому моменту неполные 13 лет нашего совместного житья-бытья немало времени, играя и записывая геймплей множества «игр будущего» (нативные из числа имевших на ноуте и под эмуляторами старых платформ) в предвидении мною окончания срока службы «железа», попавшего в 1940-й.)

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

* * *

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

Поэтому, ещё до того, четвёрка помогла мне реализовать идеи насчёт «электронные игры — в массы!», корпеть НИИВТ и КБ МЗЭТ при проектировании видеочипа («дисплейного процессора») пришлось очень и очень, стараясь «достичь многого при учёте всех ограничений».

А лично мне — править ТЗ и чётко держать «руку на пульсе» разработки, всегда вытаскивая из головы и материалов на компе любой ценный «опыт будущего».

Стандартное разрешение, гарантированно поддерживаемое минимальной конфигурацией с 16 кб видеопамяти (как единственно возможной для приставки, так и для первого, не «прокачанного» платами расширения варианта М-7) 320×200.

Но даже в таком «скудном» (лишь в образах внутри моей, да немногих «допущенных» головах, да…) разрешении, поддерживаемых видеорежимов в нём целая куча:

8 двухцветных (черно-белый, жёлто-зелёный и прочие контрастные схемы) однобитных (на пиксель) режимов, соответственно использующих только 8000 байт из видеоОЗУ (320×200/8)

Есть и четырёхцветный видеорежим — двухбитный (на пиксель) режим (320×200/4)

Был забавный момент. Отдельный утончённый ум из КБ МЗЭТ, участвовавший в проектировании видеочипа для М-7/приставки, предложил реализовать «извращенскую» схему, которую я опознал как аналогичную «Спекки» — когда содержимому его, фактически черно-белого изображения (один бит на пиксель) предлагалось присваивать, в рамках знакоместа размером 8×8 точек (т.е. квадрату из 64 пикселей на экране) однобайтовый «атрибут», три бита которого давали цвет переднего плана, три бита цвет фона, 1 бит яркости и 1 бит мигания. Это давало возможность использования 15 цветов. На реальном «Спекки» таким образом, при разрешении 256×192 видеопамять занимала всего 6912 битов, т.е. менее 7 килобайт и давала приличное быстродействие без аппаратного скроллинга.

Но, помня, что:

а)…то, как тяжело было программистам игр и других программ на ZX Spectrum моего прошлого работать с подобным устройством видеопамяти…

б)…имея уже заложенные в видеочип возможность аппаратных вертикального (гладкого, через пиксель) и горизонтального (пусть и через 8 или 4 пикселя) скроллинга и, (главное) аппаратных спрайтов…

в)…предполагая быстрое развитие плат расширения с дополнительным видеоОЗУ, как и увеличение списка доступных многоцветных видеорежимов, что изначального закладывалось в возможности стандартного видеочипа…

г)…предполагая последующее появление плат расширения в виде «внешней видеокарты» с вообще новыми видеопроцессорами с более широкими возможностями…

…я пресёк ту идею, пояснив вышеуказанные моменты, адаптировав свои слова возражения к «текущей реальности»:-)

Стоит заметить, что в двухцветном видеорежиме была реализована та самая крайне приятная для программирования игр возможность использования аппаратных спрайтов, «накладываемых» видеочипом поверх основного изображения — до 64 спрайтов 8×8 или до 32 16×16, которые располагались, при потребности в них, программистом игры в оставшейся свободной видеопамяти. Каждый спрайт мог иметь один из 256 цветов!

Маски ( 0 — прозрачное, 1 — непрозрачное, цвет задаётся для всего спрайта отдельно) 64 спрайтой 8×8 пикселов занимали 512 байт видеопамяти или в случае 32 16×16 — 2 кб.