Inferno #09
31 июля 2006

Будущее Спектрума - Диалоги об игровой приставке ZX-Box на основе Spectrum'а.

     ZX-Box в диалогах
Alone: 
Для  запуска ZX-софта нужна клавиатура, не 
всем программам достаточно джойстика. Воз─ 
можно,нужна и возможность втыкания мыши. И 
то,и другое,надо полагать,должно втыкаться 
в дырки типа PS/2. 

Shiru: 
Безусловно,и это предусмотрено в концепции
изначально. Иначе большинство оригинальных
игр  даже запустить не получится - те, где
надо  нажать  цифру  или  букву для выбора
джойстика, а потом  ещё одну, для запуска.
Для  отечественных  игр ситуация такая же,
плюс они ещё могут использовать мышь. Так─
же, помимо оригинальных игр, для собствен─
ных  игр  клавиатура  и мышь совершенно не
помешают.Мышь для квестов и стратегий (го─
раздо приятнее играть с ней,чем с джойсти─
ком - на 'взрослых' приставках подключение
мыши для таких случаев предусматривалась).
Клавиатура  может пригодиться, скажем, для
музыкального  редактора - почему бы и нет?
Играют  же люди музыку, используя GameBoy.
И трекеры на приставках встречаются, напи─
санные любителями,даже на том же GameBoy -
а там ведь всего 8 кнопок,включая стрелки.
Поэтому контроллеры клавиатуры и мыши дол─
жны быть штатно, без них  возможности 'го─
лой' системы сильно ограничиваются.

────────────────────────────────────────── 
Alone: 
Мегабайт,  полагаю, нужен  не  для  образа 
дискеты, а для  хранения  кучи спрайтов. В 
принципе,можно обойтись 512k (одна линейка 
ОЗУ),пока не станет тесно. Hо у меня подо─ 
зрение, что тесно станет очень скоро. Ведь 
даже видеоОЗУ имеет 512k. 

Shiru: 
Наиболее приемлемыми  для динамических игр
являются  видеорежимы V9990 P1, P2. Разре─
шения 256x212 и 512x212 соответственно.Это
тайловые  видеорежимы, то  есть нет буфера
растра, под него память не тратится. Почти
вся память видеосистемы остаётся для спра─
йтов и фона. Спрайты 16-цветные (цвета вы─
бираются из палитры),размером 16х16 пиксе─
лей.Максимум 125 спрайтов на экране, 16 на
строке. Слои  фона  составляются из блоков
8х8 пикселей,всего можно иметь чуть больше
15000 таких блоков. Два слоя фона в режиме
P1, каждый  16-цветный (31 цвет на экране,
плюс цвет задника),для каждого блока выби─
рается одна из четырёх палитр. Цвета в па─
литре  выбираются  из 32768 возможных цве─
тов. Для достижения всех этих параметров и
нужно 512 килобайт видеопамяти (если мень─
ше - меньше  блоков  поместится в память и
меньший размер видеобуфера в растровых ре─
жимах).Я думаю,этих возможностей более чем
достаточно. Если  недостаточно - тогда да,
обмен  с видеопамятью, подкачка графики из
основной  памяти (медленно и печально), но
маловероятно, что  дело  дойдёт до такого.
Поэтому мегабайт основной памяти нужен для
хранения  остальных  игровых данных - код,
карты, звук (нет желания дополнять систему
отдельной 'звуковой' памятью). А также для
полноценной  реализации ZX-составляющей, в
частности, для vTR-DOS. Изначально я пред─
полагал  меньший  объём основной памяти (в
районе  256 кб), но потом решил не мелочи─
ться.

────────────────────────────────────────── 
Alone: 
Из  экзотических применений можно рассмот─ 
реть  предложенный когда-то Cyberdaemon'ом 
"компьютер  для  писателя", т.е., по сути, 
текстовый редактор. Он говорил,что за буг─ 
ром такие машинки в своё время были.Вопрос 
только - куда выгружать результат творчес─ 
тва. Видимо, нужно  добавить  слот для HDD 
(т.е. один  IDE-разъём  вытащить  наружу). 
По  идее, HDD  проблемнее  для юзверя, чем 
флеш-карточка, но, тем не менее,в перспек─ 
тиве (10 лет) мне видятся не совместимые с 
современными  стандартами карточки, однако 
всё  ещё совместимые винты. К тому же, для 
поддержки  HDD не надо добавлять железа :) 
Рассмотренная отгрузка на флеш-ПЗУ, в при─ 
нципе,тоже дармовая,но она для текста тес─ 
новата  и не позволяет переносить информа─ 
цию  с машины  на машину (а винт хоть как- 
то  позволяет  это сделать). Ещё вариант - 
RS232,  если  предполагается,  что  ZX-Box 
имеет  достаточную  портабельность,  чтобы 
его можно было принести, скажем,в редакцию 
газеты - сбросить свои опусы на комп реда─ 
кции. Во всех этих случаях предполагается, 
что горе-писатель не имеет PC, либо редак─ 
тор  на ZX-Box настолько приятен в работе, 
что от него не оторваться. V9990 позволяет 
сделать  фреймовый  редактор, ZX экран при 
Z80 @ 14MHz  -  тоже (но  V9990 красивее). 
Предполагается также,что сочинитель ломает 
глаза  не на семейном телевизоре объёмом в 
кубометр, а на маленьком наколенно/автомо─ 
бильном ж/к телевизоре. 

Shiru: 
Информации  о компьютерах, ориентированных
для работы чисто с текстом, я не нашёл, но
вполне возможно,что что-то такое было.Воз─
можность подключения HDD я упоминал,говоря
о плате расширения  возможностей ZX-Box до
полного  компьютера, там это безусловно не
помешает (можно и второй разъём IDE внутри
ZX-Box оставить,было бы только место в ко─ 
рпусе под сам HDD).

С поддержкой HDD в десятилетней перспекти─
ве есть проблемы - железо добавлять всё же
придётся.Уже сейчас прекращается производ─
ство IDE-дисков, гораздо проще (и даже де─
шевле)  стало  купить  SATA-150  диск, чем
обычный. В ближайшие годы IDE-HDD, видимо,
исчезнут совсем,а уже существующие подвер─
жены  механическому износу и в среднем ра─
ботают 2-5 лет. То есть понадобится добав─
лять  'переходник'.  Таковые  существовали
недолгое  время,  когда  появились  первые
SATA-HDD, но было очень мало PC с контрол─
лером  SATA, они  быстро исчезли в связи с
ненадёжностью и появлением новых материнс─
ких плат, имеющих штатный контроллер. В то
же время  мне ещё не встречалось даже упо─
минаний  о SATA CD-ROM'ах. О  SATA-HDD  на
ноутбуках я пока тоже ничего не слышал.

О долгосрочных перспективах форматов flash
карт  мне не известно, форматов до сих пор
много, сдаваться  никто не хочет, карточки
всё  улучшают, оставляя обратную совмести─
мость (она худо-бедно,но работает). Но га─
рантий,что выбранный для ZX-Box формат ка─
рты выживет, нет. В принципе,пока не соби─
рается умирать и не имеет конкурентов шина
USB и накопители под неё - USB-flash, USB-
HDD. Сделать  поддержку USB для таких уст─
ройств  непросто, это  уже не USB-джойстик
прицепить, но 'если бы да кабы' - это  был
бы  неплохой  вариант. Технически же самое
простое - использовать  Compact Flash кар─
ты, так как они имеют совместимость с IDE-
интерфейсом. В их  форм-факторе также есть
микро-HDD  с  объёмами  до 6 гигабайт. Что
касается  цен  на CF -карты - в Москве уже
нельзя  найти карту объёмом меньше 128 ме─
габайт,и карта такого объёма стоит $12-14.

────────────────────────────────────────── 
Alone: 
Если банальное  IN A,(cd):OUT (video),A 
V9990, насколько  я помню, есть автоинкре─ 
мент  адреса при записи в память) без упа─ 
ковки, то  при Z80 @ 14MHz nowait мы имеем 
видеоролик 256x192 в 256 цветах при 11 fps 
(коэффициент тормоза  из-за ожидания между 
секторами CD считаем равным 1.1). 

Shiru: 
Да, автоинкремент  при записи и чтении ви─
деопамяти у V9990 есть.Про возможный отде─
льный  видеорежим  под видео я упомянул из
следующих соображений. Во-первых,его можно
совместить с изображением с V9990, получим
оверлейное  видео. V9990 сможет отображать
нужную  графику поверх видео без проблем с
обновлением экрана.Не придётся гонять дан─
ные в его видеопамять, не придётся исполь─
зовать растровые видеорежимы (в которых мы
остаёмся без спрайтов, но с операциями ко─
пирования  блоков). Видеорежим  для  видео
(извиняюсь  за  каламбур) можно  организо─
вать, например,развив идеи Sprinter'а. Там
была  возможность задавать одну из четырёх
256-цветных  палитр для каждого знакоместа
8х8 точек (256 цветов на точку) и даже вы─
бирать видеорежим для каждого из знакомест
персонально. Для видео можно придумать ре─
жим, в котором  каждый квадрат 8х8 имеет 4
бита на точку,со своей палитрой (из неско─
льких, скажем,из 16-ти,задаваемых в начале
кадра). Это уменьшит объём данных, которые
нужно хранить и выводить, при неплохом ка─
честве  изображения. Память в таком режиме
можно  организовать  более удобным с точки
зрения скорости вывода образом.Конечно,всё
это  сильно зависит от всего - если вычис─
лительной  мощности  хватит для стабильных
15+ кадров в секунду при нормальном качес─
тве (для  ZX-Box  256-цветное  видео будет
вполне нормальным,мы не DVD смотреть соби─
раемся),то ничего изобретать не понадобит─
ся. В любом случае, обеспечить возможность
приличного воспроизведения видео нужно,так
как это наиболее вероятный кандидат (поми─
мо музыки в аудио-формате) на забитие объ─
ёмов CD. И при этом  надо не превысить их,
ведь  при  несжатых  кадрах  256х192 в 256
цветах  на  диск поместится около 20 минут
видео.

────────────────────────────────────────── 
Alone: 
Буферизованный  звук  было бы очень удобно 
кидать  в порты и опрашивать состояние бу─ 
фера тоже через порты. Hа чём будет реали─ 
зован буфер? Видимо,на отдельной микросхе─ 
мке памяти, а счётчик адресов - в ПЛИС. 

Shiru: 
Снова упомяну Sprinter, а именно его Covox
Blaster ( Covox с буферным  ОЗУ) - как это 
было сделано там.Он был реализован в FPGA,
вместе  с памятью буфера (256 байт). Обра─
щаться  к нему  можно  было как через порт
(OTIR'ом), так и через запись в определён─ 
ную  страницу  ОЗУ с помощью акселератора.
По окончании буфера  генерировалось преры─
вание  и устанавливался бит в порте (чтобы
различать, экранное  это прерывание или от
звука).Частота дискретизации выбиралась из
фиксированных  значений  в диапазоне 7-109
кГц, моно или стерео в 8 или 16 разрядах.

На приставках и игровых автоматах с цифро─
выми  каналами  звука больше практиковался
другой  подход - практически самостоятель─
ная  система, со своим процессором и памя─
тью. Встречались разные варианты её реали─
зации.На Megadrive/Genesis Z80, обычно ис─
пользуемый  для проигрывания звука и музы─
ки, имеет доступ ко всем ресурсам системы,
так  же  как и центральный 68000 (в редких
играх, из числа первых, Z80 отдыхал, а 68K
тянул  и игру, и  звук). На  SNES звуковая
подсистема полностью отделена от остальной
системы, главный процессор только передаёт
ей данные и программу.Причём эта подсисте─
ма,помимо собственного процессора и памяти
(64 кб), имеет  8 аппаратных  16-разрядных
каналов с декодированием ADPCM  в реальном
времени (ещё и выполнена в одном чипе,спе─
циально разработанном для SNES ).Для срав─
нения,у Megadrive для цифрового звука есть
только  8-разрядный  DAC в составе YM2612.
На  игровых  автоматах нередко встречалась
ситуация, когда  для  звука  использовался
процессор,аналогичный центральному (напри─
мер, 68К  на  управление  игрой и ещё один
68K на звук). 

На мой взгляд,для ZX-Box в части цифрового
звука  подход 'компьютер в компьютере' (на
уровне GS ) нерационален,излишнее усложне─
ние  архитектуры  без  особой пользы - для
цифровых звуковых эффектов даже двух кана─
лов  вполне достаточно, четыре оптимально;
музыка, как упоминалось в концепции,синте─
зированная, либо аудио с CD. Поэтому огра─
ничимся минимальными аппаратными возможно─
стями, которые позволят не перегружать ос─
новной  процессор и не переусложнять прог─
рамму  воспроизведением оцифровок паралле─
льно с игрой, и в тоже время не сильно по─
влияют  на  цену устройства. То есть буфер
или  несколько буферов-каналов со смешива─
нием - зависит от того, какая производите─
льность  будет у основного процессора, мо─
жет,он сам смешивать звуки,или лучше пере─
ложить это на аппаратную часть.

Самый  простой вариант железной реализации
подсистемы, который  я  себе представляю -
на  микроконтроллере с прицепленным к нему
DAC'ом.Он вешается на порт,внутри крутится
простейшая программка (неизменная, зашива─
емая  один раз при сборке - со стороны ZX-
Box это 'чёрный ящик'), внутреннее ОЗУ ис─ 
пользуется как буфер.Программка равномерно
кидает  данные  из  буфера на DAC, попутно
проверяя  поступление  новых  данных через
порт. Можно  также  организовать несколько
буферов-каналов (со стороны ZX-Box на раз─
ных адресах) и смешивать их в процессе до─
бавления в буфер либо воспроизведения.Пре─
рывание делать необязательно,можно сделать
буфер длиной в 2-3 кадра (длина одного бу─
фера 40-60 мсек, в пределах пары килобайт)
и возможность узнать статус использованно─
сти буфера с момента последнего пополнения
(через чтение порта),подпихивая в него не─
обходимое количество данных. Но этот вари─
ант  не  самый  дешёвый - нужен контроллер
уровня  ATmega32 (до 16 mips, 2 кб ОЗУ, 16
кб ПЗУ) или выше, DAC,минимальная обвязка.
Набегает  около $15 по розничным ценам де─
талей. Реализация в FPGA получится дешевле
(всё  равно остальная часть схемы там), из
внешних деталей понадобится только DAC. Но
возможности будут несколько ограничены,так
как  сложную  схему (с суммированием кана─
лов) разработать на логическом уровне сло─
жнее, чем на программном, и она займёт не─
мало места в FPGA. В общем, возможны вари─
анты, разумный выбор должен последовать из
оценки стоимости.

────────────────────────────────────────── 
Alone: 
АТМ-овский менеджер памяти (любая страница 
в любое  окно), видимо, был  сделан  для 2 
целей: 1. CP/M  и 2. 16-цветные игрушки, у 
которых  спрайты  в  страничке  и экраны в 
страничке. В нашем случае CP/M нет,а экран 
уже не в страничке,а в портах...Hо на объ─ 
ёме  ПЛИС  наличие/отсутствие данной фичи, 
скорее всего, почти не отразится. 

Shiru: 
Я думаю, возможность  подключения банков в
любое окно никому не помешает - если кому-
то не нужно, можно просто не использовать.
А на  объем  FPGA  действительно не должно
повлиять. Так что не будем отказываться от
приятных мелочей.

────────────────────────────────────────── 
Alone: 
Больной  вопрос - блок  питания. Ведь пока 
CHRV  не освоил их производство/перепрода─ 
жу. Корпус - тоже больной вопрос, не выпи─ 
ливать же вручную лобзиком. 

Shiru: 
Производство  блоков питания своими силами
- действительно дело накладное (комплекту─
ющие, включая  намоточные  элементы, плата
под высокое напряжение, радиаторы и т.п.).
Роман их не делает,потому что нет смысла - 
легко  купить  дешёвый (вплоть до бесплат─
ных, на  свалке) БП  от PC, они  прекрасно
подходят  для  питания Spectrum'а (тем бо─
лее, что многие устанавливают платы в кор─
пуса от PC ).Для ZX-Box БП от PC - не луч─
ший  вариант  из-за габаритов (существенно
увеличит  размер)  и избытка мощности. Для
питания CD нужно 12 вольт, 2 ампера; и для
всего  остального  5  вольт, около 3 ампер
(сложно сказать точно, неизвестно, сколько
будет потреблять схема; CD потребляет чуть
меньше 1А) - в то время как, к примеру, БП
для ATX 350W обеспечивает 28А для 12 вольт
и 40А  для  5 вольт. Есть  очень небольшие
готовые решения с подходящими параметрами,
например,БП для PC мощностью 120W, имеющий
форм-фактор  разъёма  питания  материнской
платы (ему даже не нужно активное охлажде─
ние); блоки питания от принтеров,видеомаг─
нитофонов  и подобной  техники. Но все эти
варианты  стоят  дорого - порядка  $50. БП
ATX можно купить менее, чем за $20.

Корпус,если он деревянный,можно выпиливать
хоть  электролобзиком - уже какая-то авто─
матизация.С пластиком и металлом дело обс─
тоит сложнее.Существует большое количество
фирм, занимающихся  изготовлением и литьём
корпусов любой сложности, включая порошко─
вую окраску,нанесение надписей и чего уго─
дно - знай  только плати. Сколько именно -
тщательно  скрывается, но  по  минимальным
объёмам  заказов  вполне понятно, что этот
вариант не для ZX-Box. Неплохо разбираются
в самостоятельном  изготовлении малых пар─
тий  корпусов вполне приличного вида люди,
занимающиеся  созданием гитарного оборудо─
вания (обычно металлические корпуса не са─
мых простых форм) и акустики (дерево,формы
кубические). Иногда  среди них встречаются
и готовые выполнять заказы.В любом случае,
цена  даже  такого простого корпуса, какой
нужен ZX-Box, в малых партиях будет не ме─
ньше,чем у достаточно приличного ATX-блока
(причём  в  цену  последнего  входит ещё и
БП).

────────────────────────────────────────── 
Alone: 
Раскрутить девайс, пожалуй,можно только по 
бесплатным каналам,т.е. в интернете, среди 
компьютерщиков. Чтобы позиционировать что- 
то на серьёзном рынке (даже типа телевизи─ 
онного "андерграунда"),надо явно иметь се─ 
рьёзные связи-бабки-крышу. 

Shiru: 
Для 'раскрутки' чего угодно требуются баб─
ки, в даже большем количестве,чем для раз─
работки этого чего-нибудь. Они вкладывают─
ся,чтобы впоследствии получить ещё большие
бабки (или  место  для  ночёвки на улице).
Этот  путь не для ZX-Box, поэтому соглашу─
сь: единственный вариант популяризации та─
кого устройства - информация в интернете,в
местах скопления потенциально интересующи─
хся. Примеры продукции NedoPC и Sprinter'а
показывают, насколько это сложная и важная
задача.



Другие статьи номера:

Ликбез - Аккумуляторы. История, типа преимущества и недостатки.

Ликбез - Аккумуляторы. Практическое применение различных типов.

Inferno - Авторы журнала.

Gamedev - История создания игры Ball Quest.

Gameland - Описание игры Ball Quest.

Others - Двенадцать приёмов литературной полемики или Пособие по газетным дискуссиям.

Others - Вопросы о музыкальной консерватории.

For Coderz - Предложения по улучшению дисковых утилит.

Inferno - Вступление от редактора.

Ликбез - Распространённые приёмы неверного аргументирования и просто логические ошибки.

Звук - Ламповые усилители. Стерео лампочник 2х5 Вт из старых телевизоров. Часть 2.

Ремонт - Ремонт магнитолы Panasonic.

Inferno - Письма в редакцию.

Реклама - Реклама NedoPC.

Inferno - Об оболочке.

Others - О спортивном ориентировании.

Железо - История одного пентагона 1024SL.

Ликбез - Характеристика p-n переходов при слабом токе.

Ремонт - История ремонта принтера DAEWOO DP-2210.

DIY - Схема защиты компьютера от перенапряжения.

Sofтинка - Музыкальный редактор Pro Tracker v3.7. История изменений.

Sofтинка - Архиватор ZXRar v0.29. История изменений.

Реклама - Реклама от King Of Evil.

Реклама - Реклама от В. Богдановича.

Others - О роликовых коньках. Выбор, тоерия езды.

Others - О автоматах-рулетках в игровых клубах.

Inferno - О воксельном летающем слоне IG #5.

For Coderz - О сортировке элементов массива.

Others - Системный диск Alone Coder'а.

Gamedev - Ответы на вопросы по поводу игры Time Gal.

Gameland - об игре Time Gal, первой CD-игре для ZX!

Sofтинка - Video Player для ATM.

Будущее Спектрума - Размышления об игровой приставке ZX-Box на основе Spectrum'а.

Будущее Спектрума - Диалоги об игровой приставке ZX-Box на основе Spectrum'а.


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Реклама - реклама и объявления.
Ремонт - Продолжение цикла "Ремонт Пентагона".
Гейт - Описание Гейта SPbZXNet -> Fido, установленного на Centronic Station: гейтование SPbZXNet -> Fido , как это работает и чего это надо.

В этот день...   18 июля