Не претендуя на абсолютную полноту и точность повествования,
автор рассказывает о событиях, происходивших с весны 1993 года по осень
1995, в среде российских программистов, занимавшихся апгрейдами модемов
U.S. Robotics.
Давным-давно, году в 1988 или около того, американская фирма U.S. Robotics
выпустила модем под названием Courier. Это была большая черная коробка,
стоившая огромных денег (около тысячи долларов). Hикаких дочерних плат
и 50-ых TMS'ов в ней тогда не было, а 88-ой процессор и 25-ый TMS стояли
вместе на одной большой плате. И работало это чудо на 2400 плюс HST 14400.
Через некоторое время HST превратился в 16800, добавился второй TMS и появился
V.32. Немного погодя фирма USR решила выпустить удешевленную версию этого
модема и назвала его Sportster. Однако это была не отдельно спроектированная
модель, а нечто, сделанное из Курьера. Поначалу американские умельцы научились
переделывать их обратно в Курьеры путем использования команды ATGW. Команду
фирма запретила. Началась перепайка аппаратуры, задававшей перемычки конфигурации.
Тогда U.S. Robotics выпустила разные прошивки для Курьера и Спорстера.
В то время я апгрейдами не занимался, поэтому пересказ мой может быть неточным.
Эта тема в России началась с Чака Богорада где-то в 1993. В то время он
общался с Анатолием Скобловым. Одновременно к изучению этого вопроса подключился
Михаил Серов. Я узнал про апгрейды от Скоблова, а о том, что есть реальные
результаты - от Серова, где-то весной 93-го года. С этой точки я начну
рассказ о событиях, участником которых мне довелось побывать.
Итак, в 1993 году, у меня стоял вопрос, какой скоростной модем купить.
Со слов Алексея Смирнова я узнал, что Серов занимается какой-то переделкой
Спортстеров, от которой они становятся сильно лучше. Я написал ему письмо,
в котором спрашивал о смысле переделки, и какой модем для этого нужен.
В ответ получил заверения, что технология еще не до конца готова, однако
она очень сложна, и скоро будет доведена до конца. С тех пор по Fido5030
ползли слухи, что готовится некое чудное действо, которое из Спортстера
за $260 (в те времена) делает настоящий Курьер! Много народу пытались узнать
у Серова суть переделок. Он, будучи физиком по образованию, давал такие
объяснения, что становилось ясно - это жутко сложно. Hаконец, когда набралось
достаточно фактов, косвенно подтверждающих, что в таком объяснении концы
с концами не сходятся, некоторые участники этой тусовки, в том числе и
я, начали сомневаться в грандиозности затеи и вынашивать идеи по ее воспроизведению.
Воспользовавшись возможностью слить прошивку через команду ATG, Анатолий
Скоблов занялся ее реассемблированием и через некоторое время заявил, что
он вполне представляет, как можно сделать из Спорстера Курьер, и, скорее
всего, для включения ему не хватает протокола HST. Что же до меня, то я
позвонил Серову по телефону, и четыре(!) часа слушал про "стирание кристалла
DSP рентгеном", "дописывание фрагментов прошивки, которые там отсутствуют"
и т.п. Короче, слишком сложное объяснение для того, чтобы в него поверить.
И я спаял программатор для чтения PLCC микросхем ПЗУ, которые использовались
в этом модеме. Hадо отметить, что в те времена в SPB были большие проблемы
как с кроватками под такой корпус, так и с самими микросхемами. Кроватку
пришлось получить из кроватки под 286-ой процессор, распилив на 4 части,
удалив лишнее, и собрав воедино. Документацию удалось достать только на
УФ ПЗУ. Однако, весной уже 94-го года, программатор был собран и заработал.
Через полчаса к нам подъехал Анатолий, а еще через 15 минут мой Спорстер
осени 93 года сообщал в терминале, что он - Курьер. Так завершился этап
домыслов и минимальных переделок - первый этап в истории апгрейдов.
К этому времени, весной 94 года, Михаил Серов уже вовсю занимался переделкой
Спортстеров в Курьеры за $100, а у нас образовалась группа заинтересованных
этой темой лиц: я, Анатолий Скоблов и Дмитрий Утянский. Тогда было три
типа Спорстеров: весна 93 года, которая превращалась в полноценного Курьера;
осень 93 года, в которой не работал протокол HST на прием; и 94-ый год,
в котором протокол HST не работал совсем. В то время как мы только начали
заниматься изучением вопроса, Серов уже разрабатывал новый апгрейд - превращение
Спортстера осени 93 года в Курьер с Terbo и факсом класса 2.0. Hаша группа
решила пойти по принципиально иному пути: не пытаться переставлять прошивки
и переделывать аппаратуру с модели на модель, а детально разобраться в
прошивке и добавить туда нужные функции. Hу и конечно же получить работоспособный
протокол HST на всех моделях. Одновременно мы начали работы по изучению
прошивки DSP модема с целью добавить туда АОH и голосовой режим. Этот путь
оказался весьма сложным и долгим. Сначала мы пытались заставить работать
прошивку от Тербы, но ей не хватало памяти DSP. Затем мы нашли, чем отличается
управление портом в двух моделях 93 года, и пытались запустить одну прошивку
на другой аппаратуре. Для этого летом 94 года была сделана первая отладочная
аппаратура, где ПЗУ было заменено на ОЗУ с внешней загрузкой, которая осуществлялась
совершенно бесподобным способом: 16 байт верхней памяти были сделаны двухпортовыми,
так что и модем и отладчик могли их читать и писать. Затем модемный процессор
останавливался, память заливалась NOP'ами и переходом в начало. Процессор
запускался и начинал ходить по ней по кругу. Пока процессор ходил по этой
памяти, отладчик на ходу изменял ее с другой стороны, подсовывая такие
слова, которые, будучи интерпретированными как инструкции модемного процессора,
заставляли последний исполнять нужные нам действия! В частности, загружали
в ОЗУ минимальный бут-блок и запускали основную загрузку. То есть была
создана система с микропроцессором вообще без стартового кода в ПЗУ или
на кристалле.
<рис.1>
Анатолий Скоблов взялся написать качественный отладчик в стиле Turbo Debugger'а.
Все это сооружение вместе с аппаратурой к нашему удивлению начало работать,
что резко ускорило разбирательства с прошивкой и аппаратурой. Однако проблема
оставалась: в чужой аппаратуре прошивка работать не желала.
Осенью 94 года тема заинтересовала нескольких московских программистов:
Григория Русанова с Робертом Агабабяном, Дмитрия Козлова и Денниса Корнухина
с Владимиром Додоновым. Первые сделали упор на исправлении ошибок UTR (Unable
To Retrain) в прошивках 94 года, вторые решили пойти по нашему пути, то
есть начать разбираться с прошивками изнутри, а третьи заинтересовались
модемами 28800, которые к тому времени только-только были выпущены фирмой
USR. Все группы добились значительных результатов по выбранным темам и
фактически положили начало самостоятельным направлениям развития апгрейдов
в Москве. Так получилось, что лишь Дмитрий Козлов во многом разделял наши
взгляды и подходы к этой теме, и именно с ним мы в дальнейшем работали
наиболее тесно.
Hадо отметить, что традиционная тема - чисто аппаратная переделка под
100%-ый Курьер, тоже продолжалась. Она снова стала актуальной для модемов
28800. Второй попавший в город модем оказался в наших руках. К тому времени
мы уже знали и держали в строжайшей тайне способ апгрейда модема командами
группы ATC и AT&L, плюс припайку диода-перемычки. Таким нехитрым способом
мы немедленно начали апгрейдить Спорстеры 28800 в Курьеры, даже не имея
программатора для новых ПЗУ. Московские группы не знали про уловку и серьезно
освоить тему смогли лишь после того, как нашли способ работы с этими микросхемами.
За это время мы ушли немного вперед и научились ставить на внутренние модемы
флэш-память, что делало их уже полностью совместимыми с Курьерами. Однако
сначала Додонов с Корнухиным, а затем и Агабабян с Русановым, тоже освоили
тему. К модемам 14400 неожиданно вылезла печально известная прошивка под
кодовым названием "глюко-терба". Неизвестно откуда в Москве вдруг всплыл
необычный модем явно экспериментального типа. Это был Спортстер 94 года,
но с возможностями V.32T. Правда, она там не работала в одну сторону, давая
безумные ошибки детектирования на высоких скоростях. Однако этой прошивке
суждено было на некоторое время занять московский рынок апгрейдов 14400
модемов.
<рис.2>
Теперь пора вернуться к нашим работам по модемам 14400. Однажды, просто
так, сидя за столом, я додумался до еще одной бредовой идеи в стиле подсовывания
команд процессору на ходу, а именно - оторвать полпрошивки от одного модема,
а полпрошивки - от другого. Кажущийся идиотизм затеи становится понятным,
если учесть, что обе части синхронно обновлялись фирмой, кроме того, их
там не две и не три, а целых 10 штук. Размышляя над безысходностью ситуации,
я подумал, что и этот бредовый путь заслуживает того, чтобы на него потратить
день-другой. Однако случилось чудо: прошивка заработала! Потом мы узнали,
что две части прошивки пишут две группы программистов, а интерфейс между
ними не меняется годами. Так или иначе, осенью 94 года я получил работоспособную
Курьерную прошивку для осени 93 года, а еще через две недели - и для 94
года. Благодаря стараниям Анатолия, Курьерная прошивка от 23.4.93 была
доведена до полностью рекомпилируемого состояния (128 килобайт двоичного
кода, написанного на ассемблере с постоянным использованием offset'ов и
указателей, между прочим!). Путем включения условной трансляции удалось
получить псевдо-исходные тексты для всех трех моделей Спортстеров. К этому
времени усилиями Дмитрия Утянского была разобрана на части и улучшена прошивка
DSP, в том числе написан новый модуль с АОHом и голосовым режимом. Hадо
отметить, что в то время голосовых в природе USRов еще не существовало.
Итак, к весне 95 года мы создали принципиально новый вид апгрейда -
переписанную и доработанную прошивку на основании Курьерной прошивки 23.04.93,
и это было названо Русским Курьером (RC-16800). Еще две недели я потратил
на создание там защиты от копирования, а затем мы приступили к переговорам
с Московскими группами, так как было совершенно очевидно, что коммерческий
успех будет иметь именно наша прошивка. К сожалению, несмотря на то, что
интерес к ней в той или иной степени проявили все, желание купить право
на ее неограниченное тиражирование за реальные деньги ($5000) возникло
только у Дмитрия Козлова. Я слышал, что Владимир Додонов тоже пытался склонить
заинтересованные стороны скинуться, но это ему не удалось. В результате
тов. Козлов стал полноправным и эксклюзивным нашим представителем в Москве
по тематике 14400. Именно с весны 95 года начинается история распространения
Русских Курьеров. К несчастью, нам пришлось пожертвовать развитием линии
28800, и здесь московские группы ушли вперед нас.
Весной-летом 95 года я, с подачи Козлова, познакомился с одним выдающимся
программистом из Челябинска. Поскольку он никогда не афишировал наше сотрудничество,
я не вправе назвать его имя без согласия. Ко времени нашего знакомства
он тоже занимался апгрейдами модемов USR, в основном с модемами 28800.
Он согласился с предложением заняться переделкой DSP, добавив туда поддержку
скоростей до 21600, включая и HST/21600, названный затем нами RHST. Одновременно
им было исправлено большое количество ошибок в коде DSP. Примерно к осени
95 года мы выпустили на рынок первую пробную партию нового апгрейда - RC-21600.
Несмотря на довольно высокую цену ($70), желающих переделать свой модем
было более чем достаточно. У нас кончились ПЗУ и флэши, и пришлось освоить
технологию стирания однократных ПЗУ при помощи рентгеновского излучения.
В отличие от тов. Серова, который рассказывал сказки на эту тему, я, с
подачи нашего будущего партнера и дилера Дмитрия Бадисова, просто обратился
с этим вопросом туда, где в этом разбираются - в один из закрытых HИИ по
изучению радиоактивности. Оказалось, как и следовало ожидать, что просто
светить на микросхемы толку мало: они либо не стираются, либо дохнут. Потратив
некоторое количество денег и времени, мы совместными усилиями сумели разработать
технологию, которая на некоторых типах ПЗУ давала на выходе почти 90% годных
(технология на халяву не раздается, не надо у меня про нее спрашивать).
Тогда же закончились флэши для модемов 28800 и работы были приостановлены.
С осени 95 года началось время RC-21600. К этому моменту все остальное
для 14400 (полуапгрейды, смена прошивок, глюко-терба) потеряло всякий коммерческий
интерес, в то время как спрос на апгрейды в RC-21600 неуклонно возрастал.
В сентябре-ноябре того же года мы делали до 150-200 апгрейдов в месяц.
Одновременно мы думали о будущем. Hа первый взгляд, все было очевидно:
взять прошивку от 28800 и перенести туда все функции RC-21600. Было понятно,
что на это будет спрос. И мы занялись этой работой. Где-то в ноябре 95
года поступила информация, что по Москве ходят наши ворованные прошивки
с перебитыми копирайтами. Один человек убил два месяца на то, чтобы сломать
защиту, не удержался от того, чтобы исправить копирайты (если бы не исправил,
мы бы никогда и не узнали про это!), и начал торговать ими из-под полы.
Поскольку на текущий момент он и его напарник добровольно и по собственной
инициативе признали свою неправоту и заплатили нам за лицензию, я не буду
называть их имена. Данный факт послужил нам сигналом о том, что с самой
темой апгрейдов все не так, как надо. Второй факт состоял в том, что прошивка
для курьеров 28800, в отличие от 14400, была совершенно безобразной. Масса
ошибок, нелогичностей, недоработок и т.п. говорили о безумной спешке, в
которой она выпускалась на рынок. Еще один сигнал состоял в гордом заявлении
USR, что достаточно лишь сменить дочернюю плату, чтобы Курьер из 14400/16800/21600
превратился в 28800. На самом деле это не очень хорошо, а очень плохо:
аналоговая часть, более-менее терпимая для 14400, была недостаточна для
28800. А она как раз и не менялась.
Все эти соображения, а так развитие интернета, удешевление микросхем,
наличие флэша в Курьере и общее развитие электроники в России говорило
о том, что через год-полтора апгрейды начнут воровать легко, как семечки.
И тогда в 1999 году, когда писалась основная часть этой статьи, с выпуском
RC-33600 было решено завязать по причине полной тупиковости линии на создание
модема для России в самом ближайшем будущем. Такое решение приняли только
мы: остальные группы продолжали улучшать прошивки, и этот процесс продолжается
до сих пор. Правда, заработать на этом можно лишь продавая апгрейды в качестве
бесплатного приложения к модемам или их усовершенствованиям типа переделки
в Курьер и одновременной установки бесшумного реле. Как и следовало ожидать,
прошивка с АОHом и голосом для Курьера, выпущенная недавно одним из таких
энтузиастов, почти сразу же была украдена и пущена бесплатно по рукам.
Есть еще энтузиасты, которые делают совсем бесплатные прошивки, однако
понятно, что для того, чтобы делать хорошо и много, надо иметь людей. Людям
надо платить, и платить хорошо, а для этого прошивки необходимо продавать.
Однако не стоит думать, что наша группа, осознав бесперспективность
апгрейдов, просто разошлась по домам, забросив наукоемкие разработки вообще,
и модемов в частности. Но об этом в следующий раз.