Как мы шили шаровару
АрхивКомментарий дняМесяц назад на страницах КТ-онлайн была опубликована статья о российском shareware-проекте, для развития которого требовались сторонние инвестиции. Инвестор нашелся, работа закипела - и два дня назад продукт, созданный в рамках этого проекта, появился в Сети. Наш сегодняшний рассказ - о подробностях создания ArmZX.
Одно из самых замечательных впечатлений, оставшихся у меня со школьных времён, составляют воспоминания о двухнедельной вахте за клавиатурой простенького 8-разрядного компьютера: свои зимние каникулы в последнем классе школы я целиком и полностью потратил на создание полноценной операционной системы с оконным интерфейсом для ZX Spectrum. Собранная через год "четвёрка" оставила все эти наработки на магнитофонных кассетах, но тем приятней сегодня, почти десять лет спустя, наблюдая, как гладко и красиво работает всё это на эмуляторе на суперсовременном наладоннике Palm Tungsten T, понимать: время не было потрачено впустую. Впрочем, ближе к теме. Постоянные читатели вспомнят колонку месячной давности ("Шаровары для венчурного капиталиста"), где была сделана попытка отыскать инвестора, который помог бы стартовать уникальному российскому shareware-проекту - эмулятору ZX Spectrum для вышеупомянутого наладонника. С гордостью сообщаю: история продолжается и пару дней назад продукт, созданный в рамках этого проекта, появился в Сети.
Честно говоря, публикуя ту колонку, никто - ни я, ни автор проекта, о котором шла речь - всерьёз на успех не рассчитывали. Но имидж "Компьютерры" оказался на высоте: уже к вечеру 24-го января, когда была опубликована статья, в моём ящике лежали пять предложений от заинтересованных лиц. А наутро всё уже было решено: роль инвестора взял на себя россиянин, занимающий должность президента небольшой американской компании Rolling Thunder Systems. Условия договора просты - инвестор получает 15% с продаж продукта. Вместо финансовых вливаний (предполагавшихся 500 долл. на покупку Tungsten T) было решено купить машинку непосредственно в США и прислать её в Екатеринбург - такая схема снижала затраты почти в два раза. Что и было сделано. Через неделю, когда наладонник срочной почтой был доставлен в российскую глубинку, работа закипела.
Впрочем, не сразу. Купленная в Штатах машинка комплектовалась зарядным устройством, рассчитанным, естественно, на американскую электросеть - что было благополучно забыто и выяснилось только при попытке вставить его в нашу, отечественную розетку. После часового мозгового штурма конфуз был устранён с помощью паяльника и пары попавшихся под руку деталей, из которых изготовили переходник для своего зарядника. Машинка заработала и следующие две недели были положены на программирование. Поскольку автор проекта - мой брат, Александр Золотов, я имел счастливую возможность непосредственно наблюдать за работой, внося по ходу дела поправки и стратегические предложения, и одновременно безмерно наслаждаясь ностальгией по старым добрым временам, когда весь экран умещался в четыре килобайта, а ассемблер и отладчик были главными рабочими инструментами. Конечно, пользуясь родственными связями, я таки свой кусочек славы урвал: ладошка на рекламном банере продукта - моя :-) Но шутки в сторону. Код эмулятора для старых компьютеров Palm (на процессорах DragonBall) уже был написан, задача заключалась в переносе его на быстрый ARM-процессор Tungsten'a. Основная часть работы выполнялась с помощью пакета FalschNet Developer Studio Pro - кстати, лицензионного, честно выигранного Саней в конкурсе Palm-демомейкеров. Портирование кода отняло ровно две недели. Ещё неделя ушла на исправление ошибок, в том числе вызванных и аномалиями самого компьютера (увы, Palm, как и другие производители наладонников, вынуждена бороться за рынок совершенно варварскими методами - выпуская сырые продукты: оригинальный софт, "зашитый" в Tungsten T, содержит множество ошибок, самые заметные из которых проявляются в некорректной обработке сенсорного ввода на экране и низкокачественном выводе звука). Наконец, последние перед выходом продукта четыре дня были отданы на изобретение имени. О, сколько вариантов было перебрано ради нахождения единственного и неповторимого! На заключительном этапе была определена цена программы ($19.90). 25-го января, рано утром, ArmZX 1.0, первый работающий эмулятор ZX Spectrum для наладонников Palm, был выложен в Сеть, на сайте продавца PalmGear.
ArmZX (пробная версия которого работает сеансами по 10 минут) полностью воссоздаёт стандартный ZX Spectrum с 48 килобайтами RAM без излишеств вроде музыкального сопроцессора AY, дисковода и расширенной памяти. Этого вполне хватает для нормальной работы тысяч программ, созданных с начала 80-х до конца 90-х. Сегодня большая часть этого богатства доступна в Сети совершенно бесплатно (см. к примеру этот архив). Таким образом, расчёт прост: заплатив двадцать долларов за эмулятор, пользователь превращает свой наладонник в игровую приставку - а уж по качеству игр со старым Speccy не сравнится ни одна 8-битная платформа.
Сейчас начинается, вероятно, самый интересный этап. Первые два дня принесли уже три продажи, а новость об эмуляторе только начинает расползаться по игровым и софтверным сайтам. Скачано более полутысячи копий, готовится первый апдейт с устранением замеченных тестерами ошибок (кстати, бывают очень забавные моменты: вроде бы наладонник у всех один, а у кого - тормозит звук, у кого появляется три экрана…) и версия для оказавшихся неожиданно популярными компьютеров Sony Clie (увы, Sony хоть и делает машины под PalmOS 5, но в лучших традициях коммерческого жанра переиначивает стандартный API на свой манер, лишая свои наладонники совместимости с PalmOS-устройствами от Palm). Дистрибутив программы в ближайшие дни появится также на сайтах других продавцов. О том, как пойдут дела у проекта дальше, я обязательно расскажу, а пока - приглашаю всех на форум, обсудить перспективы shareware-бизнеса: знающие люди поговаривают, что близится закат золотого века шароварщиков…