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'а
показывают, насколько это сложная и важная
задача.