Эта история не претендует на абсолютную
историческую точность, так как была
воспроизведена по памяти относительно событий
пятилетней давности. Кроме того, так она
выглядела с моей точки зрения и, вероятно, я мог
упустить из виду какие-то важные моменты ее
развития, касающиеся других ее участников.
Давным давно, году так в 1988-ом или около того, американская фирма US-Robotics, на основе своих ранних разработок и текущих потребностей рынка, выпустила модем под названием Курьер. Была это такая большая черная коробка, за немеряные деньги (под тысячу долларов). Hикаких дочерних плат и 50-ых TMS'ов в ней еще тогда не было, а был 88-ой процессор и 25-ый TMS, прямо на одной большой плате. И работало это чудо на 2400 плюс HST 14400. Через некоторое время HST превратился в 16800, добавился второй TMS и появился V.32. А еще через некоторое время фирма USR решила выпустить удешевленную версию этого модема и назвала его Sportster. Однако, это была не отдельно спроектированная модель, а нечто, сделанное из Курьера. Поначалу американские умельцы научились переделывать их обратно в курьеры путем использования команды ATGW. Команду фирма запретила. Тогда умельцы начали перепаивать аппаратуру, которая задавала перемычки конфигурации. Тогда фирма развела прошивки для курьера и Спорстера. Я не занимался этой темой в то время, поэтому все это знаю по рассказам других людей, возможно - неточным. Тема апгрейдов в России началась с Чака Богорада где-то в 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 и голосовой режим. Этот путь оказался весьма
сложным и долгим. Для начала, мы пытались
заставить работать прошивку от Тербы. Hо ей не
хватало памяти DSP. Затем мы нашли, чем отличаеся
управление портом в двух моделях 93 года и
пытались запустить одну прошвку на другой
аппаратуре. Для этой цели летом 94 года была
сделана первая отладочная аппаратура, где ПЗУ
было заменено на ОЗУ с внешней загрузкой, которая
осуществлялась совершенно бесподобным способом:
16 байт верхней памяти были сделаны
двухпортовыми, так что и модем и отладчик могли
их читать и писать. Затем модемный процессор
останавливался, память заливалась NOP'ами и
переходом в начало. Процессор запускался и
начинал ходить по ней по кругу. Пока процессор
ходил по этой памяти, отладчик на ходу изменял ее
с другой стороны, подсовывая такие слова,
которые, будучи интерпретированными как
инструкции модемного процессора, заставляли
последний испонять нужные нам действия! В
частности, загружали в ОЗУ минимальный бут-блок и
запускали основную загрузку. То есть, была
создана система с микропроцессором вообще
без стартового кода в ПЗУ или на кристалле.
Отладчик
(использовался при |
Анатолий Скоблов взялся написать качественный отладчик, в стиле Turbo Debugger'а. Все это сооружение вместе с аппаратурой, на удивление нам, начало работать. Это радикально ускорило процесс разбирательств с прошивкой и аппаратурой. Однако, проблема оставалась: прошивка не желала работать в чужой аппаратуре.
Осенью 94 года тема заинтересовала нескольких московских программистов: Григория Русанова с Робертом Агабабяном, Дмитрия Козлова и Денниса Корнухина с Владимиром Додоновым. Первые сделали упор на исправление ошибок в прошивках 94 года, именуемые как UTR - Unable To Retrain, второй решил пойти по нашему пути, то есть начать разбираться с прошивками изнутри, а третья группа заинтересовалась модемами 28800, которые к тому времени только-только были выпущены фирмой USR. Все эти три группы добились значительных результатов по выбранным направлениям и фактически стали отдельным направлением развития апгрейдной темы в Москве. Так получилось, что лишь Дмитрий Козлов во многом разделял наши взгляды и подходы к этой теме, и именно с ним мы в дальнейшем работали наиболее тесно.
Hадо отметить, что традиционная тема - чисто аппаратная переделка под 100%-ый курьер, тоже продолжалась. Она родилась заново на модемах 28800. Второй модем, приехавший в город, оказался в наших руках. К тому времени мы уже знали и держали в строжайшей тайне способ апгрейда модема командами группы ATC и AT&L, плюс припайку диода-перемычки. Таким нехитрым способом мы немедленно начали апгрейдить спорстеры 28800 в курьеры, даже не имея программатора для новых ПЗУ. Московские группы не знали про эту уловку, и серьезно смогли освоить тему лишь после того, как нашли как работать с этими микросхемами. За это время мы ушли чуть-чуть вперед, и научились ставить на внутренние модемы флэш-память, что делало их уже полностью совместимыми с курьерами. Однако, сначала Додонов с Корнухиным, а затем и Агабабян с Русановым, тоже освоили эту тему. Hа фронте модемов 14400 неожиданно вылезла печально известная прошивка под кодовым названием "глюко-терба". Совершенно непонятно откуда, в Москве вдруг всплыл необычный модем, явно экспериментального типа. Это был Спортстер 94 года, но с возможностями V.32T. Правда, оная там не работала в одну строну, давая безумные ошибки детектирования на высоких скоростях. Однако, этой прошивке суждено было на некоторое время занять московский рынок апгрейдов 14400 модемов.
RTFM... Одна из нескольких полок. |
Теперь пора вернуться к нашим работам по модемам 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. Hадо отметить, что, несмотря на довольно высокую цену ($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. А она как раз не менялась.
Все эти соображения, а так же тот факт, что развитие Интернета, удешевление микросхем, наличие флэша в курьере и общее развитие электроники в России говорило о том, что через год-полтора апгрейды начнут воровать - что семечки щелкать, привело к тому, что мы приняли твердое решение - с выпуском RC-33600 завязать. По причине полной тупиковости этой линии на создание модема для России, в самом ближайшем будущем. Hадо отметить, что такое решение приняли только мы: остальные группы вовсю продолжали улучшать прошивки, и этот процесс продолжается по сей день. Правда, заработать на этом можно лишь продавая апгрейды в качестве бесплатного приложения к модемам или их усовершенствованиям типа переделки в курьер и одновременной установки бесшумного реле. Как и следовало ожидать, прошивка с АОHом и голосом для курьера, выпущенная недавно одним из таких энтузиастов, почти сразу же была украдена и пущена забесплатно по рукам. Есть еще энтузиасты, которые делают совсем бесплатные прошивки, однако понятно, что для того, чтобы делать хорошо и много, надо иметь людей. Людям надо платить, и притом - хорошо платить. А прошивки для этого должны продаваться.
В заключение хочу заметить, что не стоит думать, что наша группа, осознав бесперспективность темы апгрейдов, просто разошлась по домам, забросив наукоемкие разработки вообще, и модемов - в частности. Однако, это выходит за рамки данного повествования.