×Закрыть

Служба в «компьютерной роте»: ЭВМ, дедовщина и гостайна

[От редакции: автор статьи попросил сохранить его анонимность. Материал опубликован в рамках конкурса статей на DOU]

Image Source

Это было в то время, когда Украина уже обрела независимость, но одесское отделение военной разведки, куда меня направили, все еще находилось в прошлом. Советская атрибутика, устав и, конечно, самое интересное — спецоборудование.

Сердцем особо секретного отдела радиоразведки была огромная советская ЭВМ в военном исполнении, с тщательно удаленными надписями и вообще без опознавательных признаков. Надо сказать, что с этим было очень сурово, все было сделано для того, чтоб ты не мог понять принципа работы, а если случайно узнал, то тебя следовало расстрелять. Шутка.

Хотя доля военной паранойи присутствовала, и майор Андрущенко, который убедил меня делать карьеру в «компьютерной роте», посулив спецпаек, шеврон с летучей мышью и звание лейтенанта по окончании службы, разрешал только смотреть, но руками не трогать. Впрочем, трогать там было нечего — ЭВМ работала полностью автономно, без участия человека. Насколько я понимаю, это была какая-то разработка ЕС ЭВМ для армии — как гражданский вариант, только более надежная и в бронебойном корпусе.

Суть службы в «компьютерной роте» заключалась в сканировании радиоэфира — поиск морзянки. А потом обработка записи найденного эфира, пропущенных через АЦП, в поисках заветных признаков букв, которые складывались в столь ценные слова. А дальше начиналось самое интересное, потому что дальше работа выполнялась на специализированных персональных военных компьютерах, к которым у меня был полный доступ.

Сам военный компьютер представлял собой переделанный гражданский компьютер ПК-01 «Львов», выполненный в виде сдвоенной платы в металлическом корпусе, блок питания и монохромный дисплей, который, как ошибочно считали, умеет показывать только буквы и цифры. ПК был основан на КР580ВМ80А, это была единственная причина, по которой меня и направили в «компьютерную роту» — я успел выучить ассемблер этого процессора в журналах «Радио». Выпущенный полностью на отечественной базе, с тридцатью двумя килобайтами ОЗУ, он подходил под суровые требования военных, но даже этого было мало. Каждый раз, когда со склада выдавали новый взамен сломанного, а запас их был там очень приличный, то карательная тройка вандалов выполняла одну и ту же экзекуцию — корпус вскрывался, микросхемы ПЗУ с заводской прошивкой выкусывались и уничтожались при помощи молотка, затем припаивались микросхемы с собственной прошивкой ПЗУ, после чего корпус собирали и пломбировали, вносили запись в журнал, потом в журнал учета записей и, наконец, записывали все в журнал учета журналов.

Гражданский компьютер ПК-01 «Львов» (Image source)

На мое предположение, что делать это глупо, майор ответил с усмешкой, что это я еще зелен виноград, а в схемах может быть миниатюрный передатчик, поставленный шпионом, который устроился на завод и через который будет сливать всю информацию о прослушиваемом диапазоне и туда начнут гнать дезу. О как!

В рабочем режиме этот военный компьютер предназначался для расшифровки морзянки.

Чтоб его запустить, нужно было выбрать режим связи с ЭВМ, ввести пароль (одинаковый для всех, был в ПЗУ), далее шла утомительная загрузка данных от Ески, которая имитировала считывание записи с магнитофонной кассеты, потом проверялась контрольная сумма с эталонной, если все было ОК — нажималась клавиша ВВОД и эта программа запускалась.

Потом каждому бойцу из роты выставлялись данные по радиочастотам. Сигналы шли по той же паре проводов, что и загрузка с ленты, причем ЭВМ уже преобразовывала морзянку в бинарный формат: ноль — это пауза, а единичка — уже сигнал. Процесс преобразования морзянки в буквы и читабельный текст было уже задачей бойца.
Так как очень часто передачу ловили не с начала, то основной задачей было правильно определить несколько первых символов, чтоб подсчитать длину паузы. Причем делать это следовало в реальном режиме времени, и чем больше времени уходило на разгадку — тем меньше текста оставалось для декодирования.

Кстати, сразу (ну после дизассемблирования) было видно, что программу писали самые настоящие военные: точка, тире и пауза записывались в программе при помощи символов (целый байт, Карл) — «точки», «минус» и «пробел» соответственно.

Если удалось получить читабельный декодированный текст, то он передавался обратно в ЭВМ. Такой расход на хранение был оправдан тем, что не требовалось тратить время на упаковку данных, но зверски жрало память.

Как дедушка над духом шутил

В военном компьютере был еще и автономный режим. Там можно было вводить программу в шестнадцатеричном формате, байт за байтом, без права на ошибку, а пустой ввод выполнял запуск. Программа, кстати, записывалась по смещению 0×100, это я почему-то запомнил. Как запомнил и специфический порт C4.

А было дело так: однажды один старослужащий хитро прищурился и стал мне вопросы задавать:
— Эй, салага, а ты-то хоть ассемблер хорошо знаешь?
— Да.
— А машинный код можешь писать без ассемблера?
— Могу, но со справочником и тетрадкой.
— За сколько времени сможешь написать программу, которая пошлет в цикле 200 байт со значением 255 и паузой в 20-30 тактов на порт C4, а по окончании — нулевой байт?
— Ну, минут за пять. Надо просто код записи в порт посмотреть и такты в нопы перевести, а циклы я на память умею.
— Вот это да! А у нас никто меньше чем за полчаса не справлялся. Покажешь на автономке?
— Ладно...

И вот я ввел эти команды, запустил программу, и дальше, правильно — меня дернуло током. Не сильно, но ощутимо. И все вокруг засмеялись, а я заплакал.

На самом деле не заплакал, но очень удивился. Как это произошло? Ну а дальше меня посвятили в тайны компьютера, которые удалось раскрыть, и их передавали из уст в уста, от дембелей к духам.

Кстати, на самом деле никакой дедовщины не было, вероятно потому, что вся солдатская энергия была направлена на то, чтоб заставлять работать компьютеры по прямому их назначению — для развлечения и игр.

А тайна дерганья была проста: когда военные делали заказ, то они хотели, чтоб по команде от центральной ЭВМ можно было сжечь все компьютеры, желательно с потенциальными захватчиками.

Завод реализовал это требование при помощи того самого порта, который подавал заряд на конденсатор, который разряжался на металлический корпус и бил довольно ощутимо. Ну, а для того, чтоб превратить мирный компьютер в машину-убийцу, завод прислал схему и инструкцию о том, как, правильно, все догадались — напаять последовательно много конденсаторов и бахнуть весь мир в труху. Управлялось это хозяйство с помощью того самого порта с номером C4.

В последствии, занимаясь более глубоким хакингом, мы обнаружили, что там еще был и компаратор, который выдавал бит состояния заряда на порт B2. Для полной зарядки конденсаторов требовалось больше времени, чем цикл из 200 записей.

Служба

Потом Андрущенко огласил мне поставленные боевые задачи. Пароль на все компьютеры один, а это плохо. Надо сделать так, чтоб были разные пароли. Но изменять содержимое микросхемы ПЗУ нельзя. Это раз.

Все данные о радиочастотах передаются от ЭВМ операторам устно, а это опасно — враги могут подслушать и гонять на частотах дезу. Это два.

По той же причине нельзя, чтобы оператор видел содержимое текста, когда определяет паузу.

Нужно ускорить загрузку и передачу данных. Но к ЭВМ и ее программе у меня доступа нет, если что — заявку на модификацию проведут через центр. Но это маловероятно, и надо придумать что-то другое. Это три.
Еще научится подтягиваться на турнике, стрелять и пить, не пьянея.

На вопрос: а как я это все сделаю без знаний внутренностей военного компьютера, не говоря про ЭВМ — мне был дан ответ, что я в армии и должен применять смекалку и военную хитрость.

И вот я начал изучать доверенный мне компьютер. Так как автономный режим был убог и неправильно введенный символ нельзя было изменить, то, прежде всего, я стал изучать возможные варианты. Самым оптимальным было адаптировать готовый «Монитор» от РК-86.

Мы все, кто знал ассемблер, собрались и стали записывать дизассемблированную версию Монитора, чтобы выбрать самое необходимое, потом написать свое, перевести в коды и вбить в автономном режиме. Мы были сами себе дизассемблер, трассировщик и ассемблер. Мы сами отлаживали все ветки и циклы. Можно сказать, что мы были компьютерными саперами — без права на ошибку. Любая ошибка приводила к тому, что вводить команды приходилось заново, а это было очень долго.

Кроме того, нельзя забывать, что от основной службы нас никто не освобождал, все делалось после окончания смены и в выходные. Работа в субботу и воскресенье допускалась по специальному разрешению, которое нам выдали. Тогда отношение к службе все еще оставалось советским, было много энтузиазма, командование поддерживало инициативу.

Кроме того, наш майор еще и взял под личную ответственность компьютер с заводским ПЗУ, с которым мы занимались под его присмотром в кабинете, превратив в конце концов его в лабораторию совершенствования программ, куда были подключены еще люди, занимавшиеся аппаратным обеспечением, в частности, доработкой автономного режима с модификацией прошивки ПЗУ.

Мы добавили возможность редактирования кодов в пределах одного ввода, добавили редактор, которым можно было поправить код перед запуском и т. д.

Увы, но финансирование было резко приостановлено, завод перестал поставлять компьютеры. По сути, мы делали уникальную работу, которая в будущем не имела никаких шансов на выживание. Тем не менее мы ее делали. Потому что это было интересно, черт возьми!

На умняке

Насколько я понимаю, отделы радиоразведки работали практически без координации со своими нестандартными компьютерами. Основная причина была в том, что на самом высоком уровне было принято решение собрать IBM PC/XT на собственной базе и пользоваться широкими наработками из братских стран, которые уже давно перешли на этот стандарт. Все остальное отвергалось и, соответственно, не финансировалось.

IBM PC/XT (Image source)

Я думаю, что наш собственный код тогда был на уровне западных, а, возможно, и лучше. Но именно принятие решения о копировании и привело к нашему отставанию в области вычислительной техники. Сейчас я думаю, что наверху кто-то очень сильно не хотел развивать собственные разработки.

Ведь если вспомнить, какие мы делали игры, как передавали данные по телефонной связи, напаивали память, то дай хотя бы просто продержаться еще лет пять, мы бы могли начать конкурировать с зарубежными персоналками, которые стоили уже дешевле автомобиля, но все еще намного дороже отечественного восьмиразрядного компьютера.

В бой!

Когда я влез в компьютер с оригинальной прошивкой ПЗУ с головой, то понял, что без документации не обойтись. Обращения к заводу-производителю даже через начальника военчасти ничего не дало, кроме электрической схемы, которая и так была в комплекте. Пришлось заняться своей прямой деятельностью — разведкой, только не против потенциального противника, а против отечественного же завода.

Это был первый и самый трудный этап — работа с оригинальным ПЗУ в машинных кодах, когда все постигалось методом проб и ошибок. Первая программа, которую написал лично я, позволяла подключить барабанное печатающее устройство и выводить туда символы. Получить к нему допуск было нереально сложной задачей, и только прикрытие нашего майора позволило сделать первый шаг. Стоял неимоверный грохот, пока я скидывал дампы ПЗУ. Эти дампы потом совместно изучались и дизассемблировались. Приходилось обвешиваться справочниками по микропроцессорам, и воображать в голове, что же должно происходить в компьютере. Потом это проверялось на практике.

Именно тогда я и обнаружил, что в прошивке была куча зашифрованных через xor программ, которые обслуживали непонятные устройства по несуществующим портам.

Я сообщил об этом Андрущенко. Он внимательно на меня посмотрел и спросил:
— Кому ты еще рассказал об этом?
— Никому.
— Правильно. И мне ты тоже ничего не рассказал. Понимаешь, почему?
— Догадываюсь...
— Даже не догадывайся. Разведчик должен уметь все забывать. Повтори, что я сказал?
— Я не запомнил.
— Молодец!

Это был наш секрет Полишинеля. Разумеется, об этом давно знали те, кому было положено знать. С этого момента я понял, что основная задача разведчика — это не просто добыть информацию, а еще правильно ей распорядиться. И, конечно, такие тайны были у всех. Не то, чтобы кто-то жучил коды какой-то игрушки, нет, такими все делились. Но вот пример с мифами про дисплей и знакогенератор дал мне отлично понять, что надо держать язык за зубами.

Мифы о дисплее

Разумеется, что после сдампливания заводского ПЗУ, делом чести было сдампить и военное.

Дизассемблинг показал интересную штуку, помимо прошитого намертво пароля и способа связи с ЕС. Там была программа, которая принимала символы и затем считывала фрагмент памяти по смещению, играла с портами и записывала фрагмент по специальному смещению, которое хитро вычислялось.

Разумеется, что я тоже написал программу, где стал играть портами и писать последовательность чисел и смещением памяти, в которое они записываются.

Результатом стал «мусор» на экране. В общем, оказалось, что в компьютере есть видеоадаптер со своей памятью, который можно подключить и получить адресацию как по обычной памяти, но только содержимое будет привязано к экрану. Кстати, в этой памяти код без проблем отрабатывал и отрисовывался одновременно. Получалось, что есть еще кусок памяти, которая нигде не задокументирована!

Улучив момент, когда я остался наедине с одним из разработчиков военного ПЗУ, я спросил, под что, мол, расходуется такой большой кусок, где ни данных, ни кода. Разумеется, я знал, под что, просто хотел услышать его ответ:
— А это символы для знакогенератора.
— Это как?
— Ну каждый знак состоит из точек, байт — это восемь точек по вертикали, а стопка из восьми байтов — изображение одного знака восемь на восемь точек.
— А все говорили, что можно только буквы на дисплее отображать...
— Я этого не говорил!
— И я тоже не буду.
— А ты молодец, хлопец, далеко пойдешь!

Фальшивая нота

Программа для загрузки и обмена информацией, которая была прошита в военном ПК для обмена информацией использовала три ноты, передаваемые через АЦП: нижняя нота — точка, верхняя — тире, а средняя — пауза. Для передачи морзянки от ЭВМ к компьютеру это был единственный вариант, но я не понимал, зачем в обратную сторону идет только одна нота, если при сбросе он высылал к ЭВМ восемь нот? Все это было давно изучено путем нехитрой прослушки, когда к проводам подсоединили пьезодинамик.

Естественно, что выдавать звук на динамик и считывать его с микрофона научились задолго до меня. Диапазон был широк и можно было считывать/записывать звук с дискретностью байт/нота, то есть — 256 нот! Но использовали всего три. Почему? Вопрос был без ответа.

При всем этом, никто не попытался написать программу, которая загрузит те самые коды, которые передает ЭВМ, и посмотреть, а что там происходит? Мне сказали, чтобы я не пытался, это безнадежное дело. Тем самым заставили меня на несколько месяцев покинуть нормальную жизнь и начать сражение с неизвестным гением отечественного программирования.

Прежде всего, я изучил программу в ПЗУ, которая занималась чтением/отправкой данных. Там было на вид все просто.

Первую проблему я получил тогда, когда набил в автономном режиме копию кодов режима связи ЭВМ и программы ПЗУ, которая считывала все это дело, но не запускала программы, а возвращала в режим автономной работы.

Программа загрузилась и запустилась в обычном режиме. Я не понял. Я точно проверил, что происходит возврат. Ошибки быть не могло. Черт, теперь опять все заново вводить, да еще мне говорят, что не я один такой умник, и до этого пытались — все бесполезно.

Ладно, тогда я решил подойти к проблеме иначе. Раз мне придется много раз вводить коды заново, то нужно ускорить этот процесс. А как?

Вывод напросился сам собой — раз там аналоговый сигнал, который можно прочитать и записать, то почему бы не сделать это с помощью магнитофона?

После многочисленных просьб «достать» магнитофон под предлогом, чтобы послушать музыку на день рождения, удалось получить магнитофон Маяк. С замиранием сердца я сделал копию сигналов с ЕС, потом подцепил микрофон к компьютеру — и загрузка прошла. Не всегда, иногда была ошибка контрольной суммы, а иногда и полный зависон, но тем не менее первый шаг был сделан.

Теперь я мог вбить небольшой код и читать/записывать данные. Я начал разбираться, почему так произошло, загрузив данные на компьютер с оригинальным ПЗУ, правда пришлось вбивать весь код загрузчика заново, но вот сейчас я запущу распечатку и все узнаю. Разумеется, что программа автоматически запустилась и на этом компьютере, перейдя в обычный режим.

Это могло означать только одно — несмотря на различие ПЗУ, в чем-то они совпадают. Но в чем? Наверное в регистрах, потому что больше не в чем. Я долго и безуспешно искал решение, пока не дошел до глубины глубин — подсчета контрольной суммы. И тут я нашел первую закладку безопасности в военном ПЗУ: если контрольная сумма была ошибочна, но при этом равнялась 01FF, то программа переходила по этому адресу.

Тогда я написал свою программу, в которой была копия программы загрузки кода ПЗУ за исключением обработки контрольной суммы, она загрузила код. И знаете, что? Правильно, он опять автоматически запустился в обычном режиме. Тут мне реально захотелось зарыдать, потому что у меня на поиск закладки ушли все силы, и я чувствовал, что не смогу повторить все во второй раз, спускаясь в глубины глубин.

И вот я просто сидел и втыкал в нотный перелив загрузки с магнитофона, когда один из из старослужащих вдруг сказал, что последняя нота фальшивая!
— Чего?
— Последняя нота — фальшивая, слишком высокая.
— Точно?
— Сделай громче, да сам послушай!
— Я не услышу — мне медведь оба уха оттоптал.
— Да ладно! Прислушайся лучше!

Да, фальшивая нота там определенно была, это я услышал, подключив наушники и врубив звук погромче. И это определенно давало мне однозначную точку отладки — преобразование потока бит из порта АЦП в байты кода. Именно там и оказалась последняя закладка. При проверке верного сигнала, которым являлось многократное повторение одного и того же байта-ноты, был обработчик ошибок. Если сигнал не соответствовал нужному, то возникало переполнение регистра, проверяющего вывод с порта, потом осуществлялся переход в ПЗУ на адрес сообщения об ошибке. Именно там и стояла закладка — если регистр переполняется, то есть нота выходит за размер байта, то происходит переход по адресу регистра переполнения и последнего кода ноты. Не сложно было понять, что значение переполненного регистра становилось 01, а последняя нота естественно была FF. Наш знаменитый 01FF. А по адресу 0100 была размещена та самая программа с сообщением об ошибке, которая при загрузке копировалась туда из ПЗУ.

Программу с ЭВМ я получил. Дальше уже было не сложно написать загрузчик версии оригинального ПЗУ, в формате которого я записал программу ЭВМ на магнитофон. Скорость загрузки увеличилась вдвое.

Я отрапортовал, что справился с первым боевым заданием, продемонстрировав свою чудо-систему. Майор посмотрел, молча забрал магнитофон с кассетой и компьютером и точно так молча же удалился.

Несколько дней я не знал, чего мне и ожидать — медали или трибунала. Получил я не то и не другое, а лист купонов на 50 купонокарбованцев и 65 рублей рублями. Премия!

Её я потратил в этот же день совместно с карательной тройкой, накупив в буфете разной ерунды.

Свой

Скоро меня приняли в круг той самой карательной тройки — гражданские микросхемы уничтожать. Чувствовал себя белой вороной, никто из них со мной почти не общался. Кроме этого, я еще был назначен главным за новую прошивку, а под мое командование назначены куча взрослых и даже старых мужиков. На словах Андрущенко.

По факту оказалось, что должен самолично сделать новую прошивку ПЗУ, причем за все косяки отвечаю я лично, а награда за успех — общая. Такой себе Ванька Жуков, только вместо дедушки полковник, который в курсе всего расклада и считает это нормой. Следует отдать должное, мой код никто не проверял и не капал на мозги, за исключением одного момента — процедуры первоначального тестирования — ППТ или, как я назвал, ПыПэТц.

При включении из ПЗУ все копировалось в память, тестировалось на идентичность, ну примитивная проверка битой памяти, потом код исполнялся уже в памяти, где сверялось все с ПЗУ, уже, наверное, на предмет того, чтобы схему не вынули. Все попытки убедить в том, что это излишняя процедура, которая еще к тому же откусывает память, были тщетны. В конце концов я сдался, но после ПэПэТца я передавал управление обратно в ПЗУ, освобождая ценную память.

Свое действие я мотивировал тем, что это гарантирует наличие ПЗУ во время работы — если его удалить, программа остановится. Что так даже безопаснее. Мужики переглянулись между собой, и мне было разрешено не покидать помещение после работы. Не то, чтобы я перестал быть мальчиком на побегушках, пусть и электронных, но я вроде стал как свой. По крайней мере, меня приглашали играть в карты-шашки-пиво-вино-домино и слушать про рыбалку-охоту, так как мне поведать им было нечего.

Пользуясь этим, я смог поговорить в нормальной обстановке простым языком о том, куда мне лезть позволено и куда меня не пустят. Все было очень просто: мне позволено делать с военными компьютерами в операторской все, что угодно, в комнату к ЭВМ меня не пустят. Доступ только по кабелю связи. Протокол мне дадут, да и я сам, наверное, давно его декодировал (это было правдой).

Кроме того, мне были даны мудрые советы, среди которых: правило указания срока. Например, если ты делаешь программу за неделю, ты ее удваиваешь и добавляешь еще одну. Получается — три. Затем командование тебе говорит, что это много и сроку тебе — десять дней. И у тебя еще остается немного времени, чтобы сдать досрочно, например, за девять дней, а запас по времени — делать все без напряга. Это был один из самых ценных советов.

Когда я был готов зачитать рапорт о том, как планирую выполнить поставленную задачу, то просил доску с мелом, чтоб наглядней изображать.Сразу скажу, что рапорт, который скорее следовало бы назвать презентацией, прошел внезапно на ура, я получил досрочно лейтенанта, обмывал погон в самогоне и страдал от похмелья. Но это все обыденности, по сравнению с тем, что я сделал.

Deus ex machina

А придумал я следующую штуку. Один из военных компьютеров будет основным. Он берет на себя роль командира между ЭВМ и остальными компьютерами бойцов-операторов. У него будет свое ПЗУ, а у операторских оно будет вообще минимальное — никакого автономного режима и так далее. После включения операторских компьютеров, они загружают свою программу через запись с магнитофона, что сократит время простоя в полтора раза.

Кроме того, в основной компьютер можно загрузить пароли для подчиненных компьютеров, каждому свой. И их может вводить другой человек, а сверять результаты — оператор основного, то есть он паролей не знает.

Передача частот передается от ЭВМ на основной компьютер в устном режиме, а потом передается на подчиненные компьютеры уже при помощи сигнала.

Декодирование данных идет в визуально шифрованном режиме, когда оператор подчиненного компьютера наблюдает, что его дисплей очищается от «мусора», — он жмет пробел для инициации передачи. Кстати, оператор вообще не нужен, потому что можно автоматизировать этот процесс, но это уже отдельная задача, которую я один не реализовал.

Все это я описывал очень простыми словами, старательно рисовал кружки и линии на доске. Наверное, со стороны казалось, что учителя принимают экзамен, только все почему-то в военной форме.

— Что тебе нужно из обеспечения, человеческой силы и времени? — спросил, наконец, начальник военчасти.
— Шесть месяцев, запись модифицированного ПЗУ, магнитофон, детали для усилителя, провода.
— А для автоматизации дешифровки?
— Дополнительные ПЗУ со статическими данными по типичным наборам последовательностей, которые представляют собой наиболее часто встречающиеся слова. И их дополнительная обработка.
— Сделаешь за четыре месяца. Потом со мной в центр поедешь — за последовательностями и на повышение. Понятно, товарищ лейтенант?
— Так точно! Рад стараться! Служу Советскому Союзу! Ой...
— Отставить «ой». Мы с тобой оба все еще служим государству, которого уже нет.

Это была правда. СССР уже не существовал, а оскудевший поток финансирования показывал, что и независимой Украине мы сами не особо нужны.

Что будет со мной на гражданке, я представлял весьма смутно, а потому решил делать то, что мне было интересно — писать код для ПЗУ. Формально для двух, но код подчиненного компьютера был куцым обрубком гражданского ПЗУ, от которого мне было только и надо, что загрузка через магнитофон. Наступало время интересной работы.

Однако прежде чем писать код ПЗУ, мне надо было решить более приземленный вопрос — а как же будет происходить обмен данными? В плане у меня получалась своеобразная локальная сеть, и нужно было иметь некое устройство, которое отловит сигнал от нужного компьютера и соединит его с основным. А как быть, если сразу несколько захотят передавать данные? Это уже блокиратор придется паять.

Сразу скажу — хаб на отечественной базе у меня так и не получился. Слишком многого я захотел и слишком рукожопым я был. Так что все ограничилось парой усилков, которые передавали сигналы с магнитофона на подчиненные компьютеры. Заодно я спаял автоматическое управление Маяком, что позволило нажатием одного тумблера включать передачу, запускать воспроизведение кассеты, а потом прокручивать ее назад и, собственно, все. Звучит примитивно, но зато делать было интересно

А с коммутацией я решил сделать все вручную. Благо, теперь я мог выпросить под это нужные рюхи со склада. В поисках панели связи у меня была альтернатива между сломанным пультом управления ракетным комплексом и нерабочими телефонными станциями «Псков». И там, и там мне нужны были только клавиши, так как у меня тупо аналоговая коммутация — каждая клавиша подключала провода к выбранному компьютеру. Но у Пскова была еще и телефонная трубка, что мне очень подходило. Кроме того, их было несколько, а значит, я мог подключить намного больше компьютеров — тут пульт управления проигрывал.

Псковы мне выдали, предупредив, что они «пустые». Потом, обсудив все нововведения, я решил, что стоит упростить схему: у оператора основного компьютера будет стоять один Псков, а на столе у операторов подчиненных компьютеров — другой. Между собой Псковы будут подключены только для переговорной линии, она же будет использоваться для передачи данных: каждый подчиненный компьютер был подключен к личной кнопке, при нажатии сигнал поступал из компьютера через один Псков на другой, а от него — к основному компьютеру.

Это все выглядело так: один из операторов поднимает руку, я снимаю трубку, он подходит и берет свою тоже:
— Четырнадцатый просит команду на передачу данных.
— Передачу данных разрешаю.

Он бросает трубку, нажимает кнопку подключения своего компьютера, подходит к нему и уже там жмет пробел для передачи данных, а в это время я у себя переключаю в режим получения данных. По окончании передачи происходит сверка:
— Передача данных завершена, контрольная сумма 11AA
— Подтверждаю, линия свободна (или ошибка в сумме — повторить передачу).

Сейчас это очень смешно и наивно, но тогда... я ощущал себя диспетчером, нет, даже не авиа, а космических войск! Что характерно — серьезны были все. А если кто-то зевал и пытался снять трубку без команды линия свободна — его легко могли послать драить сортиры!

Я тогда распечатал всякие глупые бумажки и наклеил их у себя над нерабочими клавишами — «Старт на Луну», «Десант на Марс» и тому подобное. Не обошлось без «Ракеты на Америку».

Как-то полковник Андрущенко зашел и стал читать надписи. Стал хохотать, а потом дошел до «Ракеты на Америку» и погрустнел:
— А это убери. С Америкой мы больше не враги, да и ракет у нас нет.
— Как это? Не может быть! Как нет ракет?
— Пусковые шахты бетоном заливают...
— Все?!
— Все.

Для меня это было потрясением. Газет я тогда не читал, радио не слушал — все свободное время отдавалось работе или сну.

В то, что мы с Америкой не враги, я был готов легко поверить. Но в то, что страна остается без защиты, потому что ракеты — это не для войны, а наоборот — чтоб ее не было, — вот в это поверить было тяжело. Стало очень грустно, и мне теперь стало понятно, что никуда мы не полетим — ни на Луну, ни на Марс.

Все бумажки я потом поубирал.

Под основной компьютер отгородили приличный угол, обшили его фанерой и плексигласом, поставили дверь с замком, внутри повесили огнетушитель и аптечку. Суровый дядька из отдела безопасности потребовал, чтоб питание и связь шли из зала с ЭВМ и отключались там с помощью тумблера, а на стену, которая выходит в комнату с подчиненными компьютерами, — динамик для громкой связи. Идея мне понравилась, я добавил лампу, для которой прикрутил кожух с надписью «Линяя свободна».

Пришла пора делать свое ПЗУ. Основная проблема, для решения которой и был сделан автономный режим, — то, что прошьешь программатором — не исправишь монитором. В смысле программист ПЗУ ошибается раз на ПЗУ. Но это меня не пугало, так как я имел все навыки саперного программирования и отладки с помощью тетради с ручкой.

Между прочим, теперь распознание шло в графическом режиме. Каждый сигнал передавался битами — 00: пауза, 01: точка:, 10: тире, 11 — конец блока. Четыре сигнала формировали яркость точки на монохромном дисплее — бит. В остальном я пользовался вызовами оригинальной программы от ЭВМ — с помощью стрелок курсора менялись системы декодирования, если была выбрана правильная — экран очищался и можно было передавать текст. Не видя его самого, текст отображался у меня на дисплее, а я уже передавал его дальше, если все было нормально. Это позволяло здорово экономить память и работать с длинными передачами.

Начальник военчасти все осмотрел и остался доволен. Теперь осталось вызвать специалиста по безопасности из центра, и мое детище будет использоваться в реальной разведке. А еще мне было велено подготовиться к доступу к гостайне — заполнить анкету, договор о неразглашении и прочие бюрократические штуки.

Первую неделю я ждал спецбезопасника, мне даже снилось, что он пришел проверять, а у меня зажевалась кассета. На следующую неделю, по совету Андрущенко, я начал делать свой дембельский альбом. Сразу скажу — с собой мне его не отдали. Слишком много секретных объектов, на фоне которых я снимался, да еще все подписи делал то в шестнадцатеричных кодах, то морзе. А на подложке иголкой наколол инициацию ПЗУ в бинарном формате: на память.

Зато я и не заметил, как прошло время и внезапно ко мне явился тот самый специалист по безопасности. Он был совсем не страшным, а уставшим и раздражительным. Быстро осмотрев все мое творение, он спросил, а почему я выбрал такую допотопную связь. Я смутился и честно ответил, что пытался спаять автоматический коммутатор, но у меня не вышло.

Спецбезопасник посмотрел на меня как на идиота и раздраженно сказал:

Надо было выписать селектор, потому что белые люди давно уже перешли на IBM PC-совместимое и коаксиальную сеть, а старое оборудование никому не нужно, кроме таких дикарей, которые живут в прошлом и даже серпасто-молоткастый герб еще не успели поменять на тризуб.

Он быстро оформил нужные бумаги и свалил, потому что ему еще надо было попасть на Староконный рынок, а оттуда успеть на автобус с автовокзала. Мне кажется, что основной целью и было посещение Староконки, а я — досадной помехой на этом пути. В итоге пустышкой получался я и мой труд. Потому что я — неандерталец. Человекообразное. Занимался разработкой того, что уже устарело, и через десять, даже не десять, а пять лет станет никому не нужным.

Впрочем, начальнику военчасти было покласть с прибором на все чувства. Раз по документам все прошло, в срок я уложился, точнее даже немного раньше срока, то я, безусловно, герой, совершивший военный подвиг, пусть и в мирное время. Медалей, конечно, мне никаких не дадут, но вот подвиг будем отмечать прямо по пути в центр, где мне выдадут ту самую гостайну. Моя печень интуитивно содрогнулась.

Гостайна, которой нет

На ЖД вокзале стояли трое: начальник военчасти, полковник и лейтенант. Начальник что-то сказал, дал денег и остался в одиночестве — полковник с лейтенантом пошли покупать пару ящиков водки и закуску. Не ради пьянство окаянного, а... Кого мы обманывали? Конечно, ради пьянства. Полковник сразу велел купить только две бутылки и закуску и остался ждать меня за углом. Потом мы выжидали, когда поезд начнет давать пары, бегом бежали и заскакивали на последнем моменте

Потный и запыхавшийся полковник сообщил, что кругом дефицит и достать удалось только две бутылки, по одной в руки, зато холодные. Вернув неизрасходованные деньги, полковник отправился на поиски прекрасных дам, а мне выпала честь сервировать стол.

Вернувшись без дам, полковник философски заметил, что от женщин одни неприятности. И мы начали отмечать мой подвиг. Я отметился примерно в 150 грамм, полковник в 200 грамм, остальное моментально употребил начальник военчасти и заснул, громко храпя от обиды на недоперепой. Мы готовились встречать Киев.

Получение гостайны я представлял совершенно не таким, да и мое командование тоже. Конечно, никаких салютов и подземных бункеров я и не воображал, но думал, что данные будут разложены по папкам с грифами и печатями. В реальности оказалось все прозаично.

Во-первых, большинство декодированных передач уже было оцифровано, а оставшиеся были еще с доисторических времен.
Во-вторых, оцифрованные передачи хранились в базе данных.
В-третьих, база обрабатывалась самыми настоящими американскими компьютерами. С цветными дисплеями и огромными жесткими дисками на невероятные 240Mb!

Я объяснил, что мне нужно записать самые повторяющиеся фразы из передач. Желательно в виде морзянки, упакованной по два бита. В ответ я получил вопрос, который меня поставил в тупик:
— В какой операционке работаешь?
— Эээ... ни в какой. Я данные переведу в сжатый формат и запишу в ПЗУ. Для быстрого сравнения в автоматическом режиме.
— А сколько у тебя там памяти?
— Много, целых 32k ОЗУ и 32k ПЗУ, правда 8 уходит под код и знакогенератор, но все равно хватит.
— Понятно. Для нормальной работы тебе понадобится 386 или выше, принеси пачку дискет — запишу операционку на них, сам поставишь, я думаю. Если что, запроси у руководства — вышлем, у нас есть лишние. А базу я тебе скину в архиваторе, потом распакуешь на жесткий и вольешь в базу, оттуда сможешь экспортировать в нужном тебе формате.
— Разрешите поинтересоваться — вмешался начальник военчасти — А вот это у вас считается нормальным, хранить такую информацию на враждебном оборудовании, да еще и передавать на дискетах?
— А у вас считается нормальным, что у моей жены зарплата стала в долларовом эквиваленте меньше пятнадцати баксов?
— Да при чем тут это!
— При том. Сейчас у нас других проблем хватает, а компьютеры не враждебные. Их нам американцы подарили. И у вас, наверное, скоро тоже будут такие. Не фирменные, конечно, но IBM-совместимые, на отечественной базе. Про компьютер «Поиск» слышали?
— Никак нет!
— Пройдитесь по магазинам, посмотрите. Все равно вам потребуется нормальный компьютер для работы с базой данных. И диск сразу на 240 метров как минимум берите.

Командование было мрачнее тучи. Во-первых, денег хватило только на коробку дискет, которые мне молча выдали из неизрасходованных «водочных» средств. Во-вторых, пятнадцать баксов тоже сыграли роль. А в третьих, совершенно понятно, что купить айтишку было нереально, и придется ее доставать. Перспективы не самые радужные.

Я же получил наказ: записать на дискеты операционку для работы с базой, взять документацию и выучить все, что надо, потому что доставать компьютер мне будут по частям, а это займет время.

Обратно мы ехали серьезные и трезвые. Командование обсуждало методы относительно честного добывания дисплея, жесткого и прочих компьютерных потрошков, которые я предусмотрительно записал в тетрадку. Я же начал читать руководство, которое оказалось на английском языке, что, впрочем, меня особо не смутило. Кто дампы в армии дизассеблировал — тот операционку одной левой освоить сможет. Руководство пугало безумно непонятным названием «Introduction to Sco’s Unix System V/386». Заканчивалась эпоха хакинга ПЗУ, и начиналась эпоха программирования в «Скотине».

Что мне нравится в нашей армии, так это умение «доставать» и «рожать». Все что угодно — от пачки сигарет до компьютера. Последний собирался мной по частям прямо в кабинете полковника. Сначала появилась материнка с процем, но без памяти, потом блок питания, кабели, клавиатура и так далее. В результате у меня оказалась троечка, с четырьмя метрами памяти и огромным жестким диском — на 320 метров. На диске стояла 95-я винда, и весь диск был забит картинками с порнухой. Как я потом узнал — раньше он использовался в Одесском институте сухопутных войск.

Победитель

Скотину я установил и окунулся в глубокий и неизведанный мир командного интерфейса Unix. К старому компьютеру интерЭВМ угасал, но все же я реализовал задуманное.

Наборы популярных фраз и самые частые слова из передач я ужал до бинарного формата, выкинув паузы. Этими данными прошили ПЗУ. Точно такую операцию я проводил с блоком памяти декодированной передачи для сравнения. Звучит непонятно? Показываю пример.

Предположим, у нас есть фраза «экстренный вызов», которая будет в виде морзянки записана так: ··—·· —·— ··· — ·—· · —· —· —·—— ·——— —···— ·—— —·—— ——·· ——— ·——
Выкидываем все паузы и получаем: ··—··—·—···—·—··—·—·—·——·————···—·———·————··———·——
Переводим в сжатый бинарный формат (0 — точка, тире — 1): 00100101000101001010101101111000101110111100111011
Что, в свою очередь, будет представлять набор байтов со значением 9452ADE2EF3B.

В ПЗУ была таблица адресов таких последовательностей с их размерами. Программа проверяла сначала первый байт по таблице, потом второй и, если последовательность совпадала, значит, смещение выбрано верно, и дальше шла попытка автоматически декодировать текст. Если все получалось — экран светлел (вычитались единички), и оператор мог приступать к передаче текста. Роль его была чисто утилитарная — если бы мне удалось автоматизировать коммутацию, то человек был бы не нужен. Впрочем, следует сказать, что автоматическое декодирование не всегда работало чисто — очень велик фактор ошибок, причем на многих уровнях.

Командование осталось очень довольным, я продолжал грызть премудрости Скотины, срок моей службы подходил к завершению. Продолжать карьеру военного в мои планы не входило, так что все шло своим чередом.

Меня хвалили перед строем, за неоценимый подвиг, настолько секретный, что мне даже никакая награда не полагалась, потому что я научил компьютер мыслить, и теперь все радиопередачи у нас как на ладони.

Потом я долго искал работу, пока не понял, что никому я не нужен со своим знанием Unix, а нужны бухгалтеры со знанием 1С.

Адаптировал свои игры под гражданский вариант ПК-01 и писал новые, пытаясь продавать их. Покупали мало — компьютер отжил свое.

По знакомству меня устроили работать кладовщиком на промрынке «Седьмой километр», где стоял компьютер, и мне разрешалось на нем работать. Собственно, ради этого я и пошел, так как денег было мало, хотя на вторую же зарплату я купил свой жесткий диск для опытов. Я много работал в бетонной каморке и заработал ревматизм в правом колене, так как обогреватель грел только слева. Потом я как-то купил журнал CHIP, в котором был диск с Linux Caldera, наследником Sco Unix, который и поставил на своем жестком диске, и проводил с ним время в свободные от работы часы.

Затем я, наконец, нашел более престижную, хотя и менее оплачиваемую работу, на которой у меня появлялся доступ к Linux серверу, да еще и с неограниченным подключением к интернету. Где я за полтора года победил его полностью, досконально изучив все аспекты.

Говорят, что человек со временем теряет способность к обучению. Вероятно, что тот брейнфакинг, который я сам себе устроил в армии, был своего рода «закалкой» мозга, поэтому я не прекращаю осваивать новое, хотя не редко чувствую себя полным идиотом. Наверное, мне просто повезло, так как я не был сломан или оболванен службой, а наоборот — провел время с пользой, тренировал мозг и набрался новых знаний. Иногда чудеса случаются.

LinkedIn

Лучшие комментарии пропустить

Это самый интересный рассказ, который я прочёл на DOU. После такого читать истории про релокейшны и дауншифтинги просто противно. По таким байкам можно было бы снять фильм интереснее, чем любой фильм про Стива Джобса, но из-за военной тайны не разрешили бы.

Спасибо автору.

Лучшая статья за долгое время

Материал опубликован в рамках конкурса статей на DOU

вот победитель конкурса и определен

Наверное, лучшее, что я читал на ДОУ, даже если это не реальная история, а просто художественная выдумка...

Раньше читал нечто подобное, может быть кому-то тоже будет интересно: samlib.ru/...​b/brigadir_j_a/test.shtml

Прям ностальгические воспоминания вызвало. Служил в армии программистом. Без всякого блата, просто образованных людей в армию после ВУЗа попадает очень мало, и военком мне сразу предложил работу на компе вместо марш-бросков и копания траншей. Должности такой в классификации воинских профессий не было, формально я относился к войскам связи а в ВУСе значится «вычислитель» :-) Разок отсидел 3 суток на гауптвахте за баг в программе . Работа(служба) в армии мой первый опыт работы, включая общение с невменяемыми заказчиками и выполнение нечетко сформулированных требований :- Выжил как-то , теперь когда народ жалуется на плохие проекты, думаю это вас ещё в тюрьму не отправляли за код :-)

113 комментариев

Подписаться на комментарииОтписаться от комментариев Комментарии могут оставлять только пользователи с подтвержденными аккаунтами.

Когда мало кто знал, что значит контрол, альт, дел
Когда не каждый ребенок калькулятор имел...

> Именно тогда я и обнаружил, что в прошивке была куча зашифрованных через xor программ, которые обслуживали непонятные устройства по несуществующим портам.

Что-то не могу понять, а в чем проблема то? Почему это секрет? Типа буржуи подслушивают?

Акцентирую: подобные истории часто читать не интересно. Интерес к ним быстро угасает, если быть точным, с первого, максимум второго раза.

Я о том, что с помощью конкурса DOU ищет тех, кто готов писать постоянно. То есть не статью, но автора. Отсюда, есть сомнения в победителе. Надо писать ещё.

Был один интересный, но его выперли. Теперь ищут...

Не Паламарчук? Тогда ничто не мешает читать его дальше на тупофеминоориентированных сайтах, и смотреть РенТВ. Ну а чё, там тоже интересно рассказывают.

Остальные в массе своей еще хуже. Или балшит или прописные сказки.

Человек не теряет способности учиться, скорее теряет способность очаровываться. ИМХО. Я когда-то текст набирал в хексе, потому, что не было русского на компе. Когда-то продумывал какие-то, на мой взгляд, гениальные решения. Сейчас уже не понимаю, зачем. Но хорошо, когда такое в жизни было. Это придает оптимизма.

«посулив спецпаек, шеврон с летучей мышью и звание лейтенанта по окончании службы»
«Продолжать карьеру военного в мои планы не входило»
«Меня хвалили перед строем, за неоценимый подвиг, настолько секретный, что мне даже никакая награда не полагалась»
— так что, только благодарность перед строем? а лейтенанта хоть присвоили по дембелю?

Скорее вопрос должен был про старлея. Ибо " я получил досрочно лейтенанта, обмывал погон в самогоне и страдал от похмелья" %)

Автор, я б тебе треснул по почкам.. но потом бы налил грамм 500.
Как там у ДДТ у Шевчука в песне «Мальчики-мажоры» — «Дружок, я всё знаю, я сам брат из этих» :)))

Армия сейчас на том же уровне что и 10 лет назад, практически ничего не изменилось, все за свой счет: ремонт, приобретение комплектующих, канцелярия и т.д + єто все приправить дыбильным руководством!

то, что Вы описали, подходит под любое госучреждение

Это верно, но в условиях войны это уже на уровне жизни и смерти!

Прям ностальгические воспоминания вызвало. Служил в армии программистом. Без всякого блата, просто образованных людей в армию после ВУЗа попадает очень мало, и военком мне сразу предложил работу на компе вместо марш-бросков и копания траншей. Должности такой в классификации воинских профессий не было, формально я относился к войскам связи а в ВУСе значится «вычислитель» :-) Разок отсидел 3 суток на гауптвахте за баг в программе . Работа(служба) в армии мой первый опыт работы, включая общение с невменяемыми заказчиками и выполнение нечетко сформулированных требований :- Выжил как-то , теперь когда народ жалуется на плохие проекты, думаю это вас ещё в тюрьму не отправляли за код :-)

Да ну не гони — на губу за багу я не поверю... или что-то тут не это... ;)

Чистая правда. Официальный повод был — дисциплинарное взыскание за нарушение уставной субординации

Странно, почему то у меня никогда не возникало мысли рассказать кому-то о месте где я служил и чем занимался. Единственное, что я позволял себе, рассказать, что Министр Обороны СССР Язов лично пожимал мне руку, хоть я был всего лишь сержантом на срочной службе.

Может быть потому, что болтливого языка одного человека достаточно для тго, чтобы в какой-то момент погиб целый город из-за того, что ракеты не взлетели или взлетели, но это не помогло?
Или погибла куча людей из-за того, что зашифрованная радиосвязь читается противником как обычная?

Расстрелять автора, конечно лишнее, а вот срок условно дать, чтобы неповадно ему и другим было... И не нужно рассказывать, что все это было давно. Сам факт, что при уничтожении одни микросхемы изымали, а другие впаивали уже о многом говорит. И местоположение секретной воинской части указал. По Староконному рынку город вычислит даже тупой.
А подавляющее количество разведывательной информации извлекается из открытых источников.

Так-то оно так, но государство, определенное текущей военной доктриной Украины в качестве вероятного противника, знает о местоположении этой воинской части.

И ещё тысячи фактов про эту часть. Увы.
Поэтому всё, что происходило примерно до 2010 (а местами до 2014), может быть секретом разве что от совсем левых участников вроде Индии.

Валик, ну ты это... не это... ты же в курсе.

Именно. Эта часть, а также многие другие, в советские времена входившие в ОСНАЗ ГРУ по профилю радиоразведки, обсуждались совершенно открыто на том же radioscanner.ru.

А увидев современное гражданское и общедоступное программное обеспечение для анализа радиосигналов и software-defined radio — да хотя бы Signal Analyzer, радиоразведчики из 90х вообще бы долго подбирали челюсть с пола.

Эти секреты только от бабушек. На западных картах давно все ЗАТО были обозначены а в совке головы морочили собственным гражданам , делая вид что этих городов не существует. А сейчас с помощью дронов можно произвести видеосьемку любой территории с ограниченным доступом

На период моей службы на срочке 2009-2010 морзянкой пользовались во всю армии нато и рф. Тоже служил в «Головне управління розвідки МО України» Компы правда повеселее были.

Я служил в Цахал с 2003 по 2006 + резерв до 2016. Никакой морзянки, ни в каком виде, ни для каких целей. Тот объём информации, невозможно передать морзянкой.

Что удивительно, что и в РФ, и в НАТО есть более современные стандарты телеграфной передачи. Та же «Mazhelka» (с которой был режим совместимости у какого-то из «изделий» ещё советских времён), или MIL-STD-188-141.

P.S. Все данные взяты исключительно из открытых источников.

Если это всё правда, то я рад, что автор извлёк выгоду для себя, потому что в армия потенциального противника никто уже не пользовался морзянкой. Не знаю, что эта разведка пыталась найти, но этого точно там не было, тем более морзянкой. Связь уже была цифровой и таким способом поймать что-то важное было пустой тратой времени.

Вопрос: какая связь более устойчива к последствиям ядерного взрыва и быстрее полностью восстановится в условиях ионизации атмосферы? Пользуясь какой связью из всех вышеперечисленных, подразделения быстрее получат приказ в условиях местности, пострадавшей от применения ядерного заряда?
А историю как стелсы уверенно опознаются более старым и примитивным радиолокатором ПВО знают все.

Стелсы не дураки делали. Старый и примитивный радиолокатор сам станет жертвой ракеты с наведением по его сигналу, такой как HARM. В то же время засечь самолет стеллс радар может на порядок меньшем расстоянии, по сравнению с обычным самолетом. В итоге стеллс выстрелит и улетит, а радар так ничего и не увидит.

А что до ядерного взрыва, то военная доктрина изменилась, с советских времен. У нас теперь более прозаические угрозы.

Метровые локаторы, которые его видят на приличном расстоянии, ЦУ давать не могут. Плюс достаточно легко подавляются.
На ионизацию атмосферы пофиг с 80х, когда начали прорабатывать концепцию неядерного конфликта в Европе. Окончательно убедившись, что ядерный конфликт, даже ограниченный, никто затевать не будет.

Любое устройство в железобетонном бункере выживет. После взаимного ядерного удара уже не важно.

Вопрос: какая связь более устойчива к последствиям ядерного взрыва и быстрее полностью восстановится в условиях ионизации атмосферы?

Я вот подозреваю, что это, всупереч Вашему посылу, будет что-то на частотной модуляции, а не амплитудной. Потому что на фоне того мусора, которым забит ионизированный эфир, выделяться будет чётче. Для этого, кстати, и ядерный взрыв не нужен, достаточно сравнить качество звука на КВ и УКВ :)

А дальше точно так же это не помешает современным технологиям вроде тех вариаций CDMA, где частота постоянно меняется.

А историю как стелсы уверенно опознаются более старым и примитивным радиолокатором ПВО знают все.

Или, наоборот, более современными.

какая связь более устойчива к последствиям ядерного взрыва и быстрее полностью восстановится в условиях ионизации атмосферы?

Есть такая чудесная штука, как Forward Error Correction, которая, вкупе с правильно выбранной модуляцией и сжатием, делает Морзе примерно настолько же эффективной, как передачу приказов при помощи гонцов.

А историю как стелсы уверенно опознаются более старым и примитивным радиолокатором ПВО знают все.

Это не история, это байка.
Золтан давно всем рассказал, что стелс летел по заранее известному маршруту и был сбит с наведением по оптическому каналу. С использованием французского тепловизора

Максим, ваши умозаключения довольно поспешны. В 90-х годах на вооружении многих стран Европы использовались средства связи, телеметрии и управления вооружением, разработанные и введенные в эксплуатацию (на боевое дежурство) в более ранние года (до 20 лет назад). Это если вы себе представите, что в то время было в армиях, авиациях и флотах сопредельных с Украиной государств. Протоколы физического и канального уровня были весьма тривиальны, и аналогия с морзянкой вполне уместная.

Лучшая статья за долгое время

Материал опубликован в рамках конкурса статей на DOU

вот победитель конкурса и определен

Прочитал не отрывая глаз. Даже потом удивился, что так много текста было. Автору нужно романы писать. На крайняк — сценарии фильмов. Хорошее чтиво даже для «неайтишников».

Про себя писать всегда легко.
Дай то Бог, чтобы автор не выдохся после окончания автобиографических историй, как блеснушие в свое время БорртехникФ и Глеб Бобров.

Хоть я и особо не разбираюсь в ассемблере и непосредственной прошивке микросхем — но описано так что даже я все понял)

Это было в то время, когда Украина уже обрела независимость

Всі невірять, бо пишуть що при совку такого не було. Як читають? :)

круто! желаю победы!

Так и не понял, почему в главах

В бой!

говорится об держании в секрете непонятной, и, возможно, шпионской деятельности, а в

Мифы о дисплее

 — об том, что нельзя символы выводить на экран?

Аж захотелось найти старый такой ПК и попробовать на нем что то программировать
Спасибо автору!

Так есть же эмуляторы массы бытовых ПК на этом чипсете. Например, lvovpc.cu.cc, или мульти-эмуляторы Башкирия-2М или Emulator 3000.

эмулятор не «вставляет». Хотелось б живой аппарат:) Учитывая то что я люблю занимается радиоэлектроникой.
Если не получится достать раритет, можно попробовать что то вроде AVR ZX Spectrum

Тогда уже на Альтере «поправославнее» будет :)
zx-pk.ru/...​-pk-01-na-altera-de1.html

А если найдёте где-то раритет и будете восстанавливать, вот эта тема вам в помощь:
zx-pk.ru/...​anovlenie-lvov-pk-01.html

Колись на ПК-01 «Львів» робив курсив через перепрограмування знакогенератора. А монітор від «Радіо» просто прекрасний деякими своїми рішеннями.

Где моих 13 лет... © ;)

«Совковый Криптономикон», читается интересно.

Хорошая байка, но к реальности имеет отношение чуть более чем никак. Вам бы книги писать ;)

Технически если что всё ок, но вот остальное... ;)

Странная какая-то статья. В институт я пошел в 1992, закончил в 1997. Независимость — август 1991. В школе последний год, а то и два уже было программирование. Вместо уроков, писал программу на бейсике по тестированию знаний (чтоб не мешал остальным в классе и не успевал за всех все решать). Каждый комп на 580 был с магнитофоном (какой Маяк, когда Весны завались было). Дома к завершению школы был уже Микроша с Весной 212 и монитором, который от 15В. Под завершение института в 1996-1997 купил вражеский системник, монитор и винда была 3.1. В институте с 1992 уже были в ходу пятидюймовые дикеты. Какая-то странная военная часть. На Мотор-Сичи в начале 90-хх уже большие наши машины в несколько шкафов, использовались/включались лишь как кондишины, чертежи они делали каде на 286/386-х.

Ничего странного. Компьютерный парк в начале 90-х был настолько неоднороден, что в одном помещении могли стоять и ЕС-1840, и Минск-22 и IMB PC XT.
Моему курсу повезло и в 1991 мы изначально сели за Искры-1030 и Мазовии, когда предыдущие года учились на ДВК-3, которые не обминули и нас.
Но вот проходил я производственную практику уже в 1993 году в ИВЦ крупного предприятия, где сидело 40 женщин, ежедневно пробивавших перфокарты, а в красном углу чуть ли не покрытый рушниками стоял 286-й, включать который можно было лишь в присутствии начальника ИВЦ.

Ключевое — у всех уже стояло, а у военных — не стояло. По статье выходит, что часть была настолько секретной, что для нее засекретили и внешний мир. Сами в себе развивались отдельным течением ... Дети в школу у комсостава в школу не ходили, ничего путного со школы не приносили и не рассказывали, воспитывались как истинные шпионы. Даже МК-ашек у них не было, и в игры на калькуляторах не играли. Дети уже между собой за бабки на компьютеры с 580-ым поиграть пускали, а они все в секрете сидели и держали.

В тексте во втором-же абзаце — особо секретный отдел радиоразведки. Сталкиваясь с военными на протяжении всей жизни, могу сказать, что большинство из встреченных до сих пор живут в совке, и любой компьютер для них в первую очередь проблема. Принцип «работает — не трожь» в ИТ пришел скорее всего от них.
А насчет развития — видимо плохо помните начало 90-х и зоопарк железа в различных местах, тем более бюджетных.

То есть характеристики гражданской модели им не известны были. По этому они опытным путем пришли к использованию магнитофона.
Процессор: КР580ВМ80А на частоте 2,22 МГц
Быстродействие: 200...300 тыс. оп./сек
Память: ОЗУ — 64 КБ (включая видеопамять 16 КБ, подключаемую странично во вторую четверть общего адресного пространства), ПЗУ — 16 КБ
Видео — 16 КБ с разрешением 256×256 — 4 цвета (общая палитра 8 цветов, но одновременно можно было использовать не более 4-х)
В качестве монитора использовался бытовой телевизор, количество выводимых на экран символов 32 × 24, точек 256 × 256 (рабочая область 200 × 225), количество цветов одновременно отображаемых на экране — 4 (из 8 цветов палитры).
Внешняя память: бытовой магнитофон
Расширение: подключение контролера НГМД, подключение принтера «ROBOTRON CM 6329.01 M» из состава комплекса «ДВК-3» и ему подобных.
Габариты: системный блок — 338×268×65 мм, блок питания — 200×157×97 мм
Потребляемая мощность: не более 30 Вт.

Все это понятно, особенно сейчас.

Начало 90-х вообще яркий показатель отсутствия стандартизации, когда любой ИТшник на новом месте работы должен был быть готов к неожиданностям и изобретанию любого велосипеда — написать драйвер для использования АЦПУ в качестве принтера, новый язык выучить «чтоб завтра заработало» и многое другое.

Ну а если вспомнить об уровне компетенции и закостенелости руководства любой военной структуры, абсолютно не удивляет ситуация, когда срочник, опираясь на собственную базу, строит решение для армии практически из говна и палок.

Вопрос, как я понял, не в характеристиках, а в отсутствии знаний, как с этой всей периферией работать на уровне портов ввода-вывода. Беда многих советских бытовых ПК — в комплекте к ним не поставлялось никаких руководств для системного программиста, где подобные нюансы были бы описаны с нужным количеством деталей.

По своему опыту — правда, у меня был не «Львов», а «Вектор-06ц», но чипсет микропроцессорный комплект один и тот же — могу достоверно сказать, что поначалу все эти премудрости постигались исключительно дизассемблированием доступных игровых программ. Причём, порой, целые куски кода приходилось копировать 1-в-1 как магическое заклинание, потому, что некоторые технические решения были далеко неочевидны из чтения только ассемблерного кода — например, в «Векторе» считывать нажатия клавиш клавиатуры можно было только в момент прерывания по обратному ходу луча, а из-за несовершенства схемотехники формирователя цветного изображения значения цветов в регистры палитры нужно было записывать в несколько попыток.

До сих пор помню очень правильный совет дядьки, у которого покупались первые игровые программы на «Вектор» — нужно смотреть схему и читать справочники по применяемым микросхемам. Маман даже достала такой справочник в библиотеке на работе, но я мало что в нём понимал, будучи 12-13 летним пацаном.

Да не «особо секретный отдел радиоразведки» (тут автор «жжет»), а части РТВ ОсНаз — петлички как у связистов и РТВ ПВО, только «девайсы» немгного другие

у военных — не стояло

мой Вам совет — прячтесь

Александр, взять на вооружение определенный вид компьютера ни чуть не легче, чем новый вид ПЗРК. При этом самодеятельностью в войсках заниматься нельзя ни с первым, ни со вторым устройством.
Но — приходилось дотачивать, «хачить» тоесть.... (ага — англ. hacker, от to hack — обтёсывать).
Дома могло быть что угодно, а на службе — то что принято по стандартам, получен индекс ГРАУ, проведены испытания в лаборатории РЭБ, присвоена категория, приказ на ввод в эксплуатацию.
Принесешь свой комп — имеешь шанс влететь за нарушение требований легендарного 010-го приказа...
Поэтому темп модернизации был очень низкий, плюс 90-е года, когда зарплаты офицера (плюс подработка на леваках после службы) хватало кака раз в ноль до следующей (если её конечно не задержут на несколько месяцев).
Характеристики были известны, до эпохи массового Интернета кто хотел те посещали компьютерные выставки, там активно собирали раздаточные материалы.
Но вывести из эксплуатации обедневшую на расходники СМ-ку, или еще круче — ЕС-ку, что влечет за собой сокращение штата!!! (ага — люди, спирт, драгметалы в расходниках) задача весьма сложная была в те времена.

При этом самодеятельностью в войсках заниматься нельзя ни с первым, ни со вторым устройством

 — так как это не уровень доступа и ответственность срочника, который стал вникать больше чем надо, модернизировать, стал прикручивать касеты/бабины (считай носители информации, который комплекс не предполагал, по соответствующим причинам). Как на меня сказка, и менять мнение не буду.

самодеятельностью в войсках заниматься нельзя тчк всем тчк

но выполнить боевую задачу гораздо важнее, поэтому самодеятельности «не было», в общем «сказки всё это!»

и IMB PC XT

IBM (к) (тм) ))

ЗЫ: и даже IBM PC/AT у ней внутре была кнопка «турбо» и «вольфенштейн»!

Волшебная кнопка „Turbo” на клавиатуре, Wolf, retaliator, vikings, Prehistorik и т.д.
Данке за IBM

Наверное, лучшее, что я читал на ДОУ, даже если это не реальная история, а просто художественная выдумка...

Раньше читал нечто подобное, может быть кому-то тоже будет интересно: samlib.ru/...​b/brigadir_j_a/test.shtml

Нічого собі... Знімаю капелюха. Блін, шкода, що такі люди не викладали в нас в універі. Можна своїх «Хакерів» знімати.

очень увлекательно написано, читал не отрывая глаз

Но в то, что страна остается без защиты, потому что ракеты — это не для войны, а наоборот — чтоб ее не было, — вот в это поверить было тяжело.

Вот

Это самый интересный рассказ, который я прочёл на DOU. После такого читать истории про релокейшны и дауншифтинги просто противно. По таким байкам можно было бы снять фильм интереснее, чем любой фильм про Стива Джобса, но из-за военной тайны не разрешили бы.

Спасибо автору.

да уж — это не формошлёпить как сейчас

Честно говоря, многие моменты понять не смогу, но читалось как художественная литератураю
Отлично написано!

Отличная статья, с радостью почитал бы еще от автора, жаль, что анонимною

Чувак скільки служив? троєчку з 95 віндою він в фантазіях своїх придумав? чи в нього термін службив був 5 років мінімум? Стаття наполовину технічно безграмотна і наповнена пофосом.

System requirements for installing Windows 95:

Personal computer with a 386DX or higher processor (486 recommended)
4 megabytes (MB) of memory (8 MB recommended)

В теорії можна звичайно запустити. Але це тільки в теорії. На трієчку в той час ставили в кращому випадку 3.11. Та й не збігається по роках. Совок і 95 рік.

там купоны и карбованци. это 92-96 вроде как.

Ти уважно статтю читав? Він говорив за купони які були до введення гривні в 96 році. Ше одне несвпівадіння в статті яке начисто довіру до цього зборніка байок.

При чому тут купони до купонокарбованців ???
Купони давали на покупку товарів, які були в дефіциті. Щоб купити товар, потрібно було мати купони + гроші (купонокарбованці, а потім гривні).

Тим більше це було до епохи 95 вінди.

купони давали до радянських рублів на купівлю непродуктових товарів. Їх називали одноразовими купонами і водилися вони між жовтнем 1990 і груднем 1991. В січні 1992 зявилися багаторазові купони чи купонокарбованці і до них вже ніхто нічого відрізного не додавав. І до гривні ті відрізні купони не дожили.

Були купони на продуктові товари, точно пам’ятаю. Вже коли купонокарбованці були. От до якого року — хз, вже не пам’ятаю.

То талони були. Хоча здається якийсь час вони й купонами звалися...

купоны давали к советским рублям вместе с зарплатой для того чтобы приезжие из россии не скуповывали мешками сахар масло и прочие товары. такой доморощенный вариант экономической независимости. на продуктовые товары давали отдельно талоны, чтобы хватало на всех. какое-то время при покупке сахара, например, кроме денег продавщицы должны были отрезать и купоны, и талоны, что вселяло суматоху и еще больше усугубляло очереди.

та збочувалися по різному. Був свідком вінди 95 на 386dx з 8 метрами RAM. Але вінда 95 в бета-версії в наші краї заповзла тільки восени 1995

Дык на диске была 95 венда. В статье не утверждалось, что автор её запускал на троечке.

мы в школе на 386 4мб запускали 95ю. правда, работало только со свопом и ужасно свопилося. нужно было для работы игрушки xcom, первой.

А нафіга для першого ікскома віна 95? Альо такий же фантазер як автор?

потомушо не работало оно у нас нормально без 95й. я хз почему. вываливалося постоянно. а на 95й работало. но были танци с бубнами, ибо диска не хватало и на иском и на 95 и на своп. у нас вообще проц в защищенном режиме странно в dos работал. Возможно, он был бракованный)

Нормально ікском працював під дос без вивалювання навіть з соундбластером. Ставити 95 вінду 95 шоб пограти ікском це вершина ізврата.

Ну это класно, что у вас оно работало в дос. А у нас — не работало. Вернее работало, но падало.

Ще раз повторю — в піздніх 90 бавилися з такими речами. повторю — в ПІЗДНІХ. Вирізати апендицит через сраку саме то порівняння. На 95 рік коли появилася нова вінда — вона ставилася і одразу зносилася. Більш-менш для роботи 95 нормально працювала почанаючи вже з 486 і то DX. Я ніколи в житті не повірю шо чувак служив ще за початку розпаду совка і дослужився до 95 вінди. Це при умові шо він вінду отримав одразу як вона вийшла. Це як мінімум 5 років різниці між початком служби і цією гарною байкою.

Автор и не пишет, что он служил с распада. Автор пишет, что он служил в 94м(именно тогда Украина заливала шахты ядерных ракет). 94-96 вполне два года армии.

короче, в конфигурации 386dx 4mb 40mb hdd винда 95 таки работает, точно знаю. несмотря на то, что в requirments написано 60Мб диск.

Вона може й працює тільки якби автор прибрехав про 486 хоча б — віри було б більше.

486й у нас появился только в 99м. что было, на то и ставили. В других школах вообще компьютерных классов не было в городе.

Це вже ближче до істини — я про роки. Засилля б/у 386/486 якраз прийшлося на 95-99 роки. Но не розпад совка. Розпад совка зустрічав клонами спектрума поісками і поісками-2, ес-1841, іскра.

Да не, в 99м я школу уже закончил. 95я винда у нас была гдето в 96. А 386 еще раньше года на два.

Ігор, ти неправий. 286 почали масово на ринок попадати у 89-91. 386sx а часом і dx можна було знайти в конторах де діаспора свої гранти давала в 91-му.

еммм... XCom кагбе навесні 94 появився і ніякою віндою 95 ще не пахло. Для чого насправді ви практикували такі збочення?

я ж написал выше. У нас был странный процессор, он в досе имел траблы с защищенным режимом. Я не в курсе почему. В досе вылетало(три разных доса пробывали),а в 95 й — не вылетало. Компьютер был «по помощи», возможно неисправный.

Скорее всего, сыграла какая-то особенность реализации встроенного в 95ю винду DPMI.

Мой первый компьютер sx386 40MHz, 4 метра оперативы, винт на 120 МБ, видеокарта Traindent 512KB, всё покупалось отдельно, на винте стояла 95-я винда — грузилась около получаса но грузилась — потом я её снёс.

Как здорово, что мое программирование с ассемблером и машинным кодом 580ВМ80, дампами в журнале Радио, программаторами ПЗУ, спектрумом прошли в местном радиокружке, а не в армии.

Подписаться на комментарии