Timeweb.Cloud

Timeweb.Cloud

Блог компании
То самое облако Наш сайт: https://timeweb.cloud/ ТГ: https://t.me/timewebru Хабр: https://habr.com/ru/companies/timeweb/articles/
На Пикабу
- рейтинг 2055 подписчиков 19 подписок 385 постов 328 в горячем
Награды:
более 1000 подписчиков5 лет на Пикабу
22

Minecraft: история длиной в 16 (уже 17) лет

Будучи достаточно древним поклонником серии Minecraft (именно серии, потому что версии 1.5, 1.7 и 1.9 — совершенно разные поколения игр), я давненько загорелся желанием рассказать, что же такого интересного хранит это незамысловатое название. Как сложилась судьба ее разработчика, Маркуса Перссона, какими идеями он пренебрег, когда наступил его успех, и как он к нему шёл, как развивался этот самобытный мир, и что заставило создателя отказаться от своего творения?

История будет разбита на три (или более) статьи, в каждой из которых будет разобран огромный кусок информации. Будьте готовы к лонгридам.

Также в статье будет инструкция, как сделать своей сервер.


❯ Начало начал (заезженно, не так ли?)

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

❯ Вкратце об игре

Minecraft — игра в жанре «песочница», в которой игроку предлагается выживать и исследовать трехмерный мир, целиком построенный из кубов. Всем это и так известно, двигаемся дальше. Написана она изначально на Java шведом по имени Маркус Перссон, в дальнейшем взявшим псевдоним — Notch. Не секрет, что вдохновением для этой игры послужил Infiniminer.

Infiniminer

Еще одна песочница, на этот раз изначально многопользовательская. Она была разработана неизвестной никому командой, позже названной Zachtronics Industries, в 2009 году. Она (компания) и доселе остается забытой и имеет на своем счету десяток мелких игр, потуги в крупный инди-дев и печальное окончание работы ввиду того, что основатель нашел себя в сфере образования. Тем не менее, игры он делал неплохие, интересные и даже самобытные. У последнего его творения, Last Call BBS (2022), в «стиме» солидная тысяча отзывов, большинство из которых положительные, и даже сейчас в проекте есть игроки.

Infiniminer же была буквально прототипом Minecraft, но заточенным по какой-то причине на соревнование между игроками: кто добудет больше ресурсов для своей команды. Со временем игроки осознали, что самое интересное — возможность строить все, что душе угодно. Именно эту идею выразил Маркус Перссон, создавая свой «шедевр». Исходная игры была брошена разработчиками из-за того, что хакеры умудрились изменить код игры, создав свои версии. Их расплодилось много, и контролировать это уже было невозможно. Кто знает, может это повлияло на введение возможности создавать модификации в Minecraft?

❯ Маркус Перссон

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

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

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

Бог мира Minecraft — или таковым его считали

Для многих Notch — это не просто псевдоним, это целая легенда. Во времена расцвета игры среди игроков ходили слухи о том, что иногда он заходит на случайные сервера и даже общается с людьми. Также были слухи о том, что на каждом сервере у него были права администратора, и он мог делать буквально все, что угодно. Notch, в отличии от Херобрина, вполне живая легенда. Языкастый и общительный в сети разработчик новой популярной игры, подающий большие надежды, и обещающий очень многое. Когда-то он даже пообещал сделать Minecraft бесплатным… а потом продал его Microsoft. И здесь подходят его слова, в которых он же процитировал Леонардо Да Винчи:

«Произведение искусства нельзя закончить, им можно просто перестать заниматься».

The Temple Of Notch 1.6.4 2014y

The Temple Of Notch 1.6.4 2014y

Казалось бы, зачем отказываться от всемирной славы, бросать дело, которое тебе так нравится, и которое уже считают событием мирового масштаба? Все дело в людях, как ни странно. Маркус всегда старался реагировать на сообщения комьюнити, но они зачастую были негативными. Крайне негативными. Интернет всегда был очень жестоким местом, но не мне вам об этом рассказывать. Не выдержав давления со стороны общества, Нотч больше не мог поддерживать свой образ и оправдывать ожидания. Пытаясь угодить всем, он терял себя, свою мотивацию и смысл продолжать, но обретал все новых и новых хейтеров. Даже когда сам он перестал отвечать на сообщения, он их читал. Читал, и огорчался каждый раз, потому что негатив для него был «словно написан жирным текстом». Так пропал Нотч, и остался лишь Маркус. Без своей компании и игры, без своей славы, но с 2,5$ млрд наличных. И здесь его история в рамках Minecraft заканчивается.

В 2011 году Маркус принял решение раздать акционные дивиденды от Mojang своим 25 сотрудникам (доходы Minecraft в то время превышали 100 млн долларов)

В 2011 году Маркус принял решение раздать акционные дивиденды от Mojang своим 25 сотрудникам (доходы Minecraft в то время превышали 100 млн долларов)

❯ Cave Game — сырее свежей говядины

Игра была выкопана в горниле свободы и опасности. Именно эти ощущения хотел вызывать Перссон своей игрой. Когда весь мир подвластен тебе, но все еще есть, чего остерегаться, и иногда преодолеть это можно только смекалкой (что в целом относится скорее к более поздним версиям). Опубликована игра была на форуме TIGSource, и быстро стала получать первые отзывы. Люди делились своими постройками, хвалили разработку и предлагали свои идеи. Одной из таких идей оказалось название — Minecraft — «етить-колотить», то есть «копать-создавать», во.

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

Far lands — еще одна легенда

Немного скакнем вперед, к версии infdev, и появившейся в ней уникальной особенности. Нынешние игроки даже близко не знают, что такое far lands — «далёкие земли». Однако в свое время многие дети с компьютером хоть раз, но пытались туда попасть. Или слышали о том, как туда попадали другие игроки. Тогда способов это сделать было два: идти 800 часов по миру в одном направлении, достигнув «границы» мира, или отредактировать level.dat сохраненного мира, чтобы оказаться на нужных координатах. Надеюсь, никто не выбирал первый вариант, но увидеть это однажды — того стоило. Рассказывать тут нечего, смотрите скриншоты.

Старые и новые версии, думаю вы прекрасно понимаете, где какие

Старые и новые версии, думаю вы прекрасно понимаете, где какие

Far lands образовывались из-за ошибки при изменении алгоритма генерации ландшафта. С определенных координат, примерно в 12,5 миллионов блоков от центра мира, алгоритм начинал выдавать нелогичные и странные структуры, которые вызывали дичайшие лаги на любом ПК. Туда даже можно было попасть, и ходить там, но весь мир начинал вести себя странно. Блоки «съезжали» со своих законных мест, вещи не выпадали или исчезали, а игрок не шел, а «телепортировался» с блока на блок, двигаясь по этим землям.

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

Не знаю как у вас, но у меня «далекие земли» всегда вызывали, и до сих пор вызывают какой-то необъяснимый страх и ужас. Ощущение того, что что-то совсем не так, очень угнетает. Мне даже думать об этом сложно, не ощущая дискомфорта. Наверное, это связано с первым впечатлением из детства, когда я увидел громадину далеких земель в свои малые 8-10 лет. А осознание того, что за «далекими землями» находятся еще более далекие, более сломанные и аномальные места, будоражило сознание еще сильнее. Но давайте оставим в покое эти странные места, и вернемся к нашей истории.

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

❯ Multiplayer

Конечно, как и в Infiniminer, в Minecraft просто обязан был быть многопользовательский режим. В этом ведь и вся суть! Незамедлительно после первых продаж лицензионных копий игры, Маркус начал тестирование мультиплеера, и это позволяет нам и по сей день проводить время с друзьями и незнакомцами на серверах. Мультиплеер — это буквально самое главное, что есть в Minecraft. Это миллионы, а может и миллиарды человеко-часов, потраченных на самое настоящее искусство, войны, торговлю, дружбу, месть и даже любовь. Колоссальные постройки, целые города, и даже весь мир, построенный на одной карте. Сервера с историей длиннее, чем время, которое прожили нынешние семиклассники (за время редактуры текста они успели стать восьмиклассниками). Minecraft — это моя жизнь, б…

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

Локальные тусовки

В 2009 году в версии 0.0.12а была реализована первая версия мультиплеера. Это был самый первый тест, недоступный игрокам, и информации о нем практически нет. Конечно, с тех времен метод его работы толком не менялся, но я предпочту разделять периоды, чтобы понимать, когда было «не очень», а когда все «взорвалось».

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

Официальный релиз пришелся на версию 0.0.15а, и с этого момента возможности многопользовательского режима только оттачивались. До сего момента была возможность создавать в собственном мире людей. Правда двигались они крайне странно, и их интеллект не отличался особой проницательностью. А их модель была взята из более старой игры Нотча — Zombie Town. Впоследствии она лишилась бороды и стала именоваться «Стивом».

Затем выходили мелкие обновления, изменяющие команды администратора, улучшающие сетевой код. Была, наконец, добавлена команда /teleport, которая позволяла перемещать игроков по координатам или друг к другу, и команда /ban, которая делает то, что все и так знают. Кстати, знаменитый скриншот с Хиробрином — еще одной легендой Minecraft, был создан на версии 0.0.16_2.

Три последние версии под титулом Multiplayer Test отличались изысканными багами. В одной из них игроки застревали на месте по случайным причинам, в другой — пропадали, как только писали сообщение в чат. Вот сообщения самого Нотча по этому поводу: «everyone who chats gets removed from the clients :D», «doesn't seem to work, hold on»

Но самой фееричной оказалась версия, которая и вовсе не запускалась ни при каких обстоятельствах (ведь если Нотч ее выложил, значит у него все работало?).

Да, не тот скриншот, но он мне очень нравится

Да, не тот скриншот, но он мне очень нравится

Далее было множество изменений, но нас интересует 2010 год. Конкретно — два сервера, созданных тогда, с периодичностью в полгода — в августе и декабре, MinecraftOnline и 2b2t соответственно. Вы вполне вероятно слышали об этих проектах, но для других расскажу вкратце об их особенностях: оба сервера существуют непрерывно, поддерживаются и активно используются игроками со всей планеты. Сгенерированный в них мир ни разу не сбрасывался и не менялся (поправочка, 2b2t однажды все же пришлось немного изменить), однако большинство построек «старого» Minecraft безвозвратно утеряны. А теперь поговорим о них в частности, и об их различиях.

❯ MinecraftOnline

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

2b2t

Про историю этого сервера стоило бы написать отдельную статью, размером, пожалуй, с две «этих». Если обратиться к задумке — 2b2t создан исключительно для свободного развлечения. Здесь нет правил, нет античита, нет влияния администрации (почти). За все время у сервера был только один администратор (или два?) — некий Hausemaster, о котором практически ничего не известно за пределами игры. Почему все так неточно? Потому что этот Hausemaster вроде как даже и не создатель сервера. А нынешний — даже не Hausemaster. В 2014 году он объявлял о том, что уходит с сервера и передает управление «анонимному товарищу». И с тех пор поведение администратора действительно изменилось, до тех пор, как его аккаунт был удален в 2021 году.

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

Первые несколько месяцев можно назвать временем «форчана». Была построена их «знаменитая» база со свастикой, которую в дальнейшем уничтожили, возможно, игроки сообщества Facepunch. Собственно, в честь них и была названа следующая эпоха в истории сервера. Их целью было построение «мирной анархии», в которой не будет места грифу (намеренному уничтожению чужих построек etc.) и войнам. Была объявлена война между анархистами 4chan и Facepunch Republic, которая продлилась более года и закончилась поражением Facepunch в виду ухода их идейного вдохновителя и значительных потерь баз. (И снова форчан, объединившись, уничтожил общего врага)

Здесь стоит остановиться и уточнить, что же из себя представляют войны в Minecraft. Дело это весьма нехитрое, и в особое время своей популярности задело многие сервера, не только 2b2t. Заключалось происходящее не только во внутриигровых битвах в виде слома баз или убийства игроков противоположного лагеря. Проводились также хакерские атаки, рейды на каналы и форумы, в чаты, захваты аккаунтов. Игроки не гнушались ни фишингом, ни реальным выслеживанием игроков в жизни. Однажды на 2b2t даже появилась система, позволяющая в реальном времени отслеживать всех игроков на карте сервера, но об этом чуть позже.

Одна из крепостей FacePunch

Одна из крепостей FacePunch

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

Дальнейшие эпохи описывают гораздо больше событий, поскольку сервер становился все более и более популярным с каждым годом. Были войны, затишья, империи, множество проблем, изученных дюпов (способов увеличения количества предметов) и лаг-машин. Единственный администратор кропотливо изучал особенности всех событий и исправлял каждую ошибку, которая могла привести к нарушению экономики или помешать свободной игре.

История 2b2t — это действительно целая эпопея, полная превозмоганий и абсолютно бессмысленных растрат человеческих ресурсов. Действительно великие программисты тратили множество часов на разработку эксплойтов, которые давали преимущество над остальными игроками. Один из таких эксплойтов был озвучен ранее, и создан командой NoCom.

Для начала стоит рассказать про метод перемещения по миру 2b2t. Помимо полета на элитрах (крылья для планирования), использовался даже банальный fly-чит, и «адская магистраль» — огромная дорога из обсидиана, простирающаяся на сотни тысяч блоков в восьми направлениях от центра в Аду. Это был один из главных методов перемещения, поскольку он был крайне удобен, и это подтверждает тепловая карта расположения игроков, полученная NoCom

Собственно, тепловая карта. Все черные точки - маршруты игроков, отслеженные эксплойтом

Собственно, тепловая карта. Все черные точки - маршруты игроков, отслеженные эксплойтом

Не будем вдаваться в причины возможности этого эксплойта, и потому просто взглянем на метод его работы. Боты команды NoCom постоянно проверяли наличие игроков на основной «адской магистрали» сервера. Обнаружив их, они отслеживали их местоположение вплоть до выхода с сервера. Таким образом, составлялась карта расположения баз игроков. В эту эпоху, названную exploitation period, а также в дальнейшую эру грифа были разрушены многие значимые постройки на сервере. Самые секретные базы обнаруживались и уничтожались командой NoCom, пока эксплойт не был исправлен.

Нынешняя эра названа «Прогрессивной» ввиду колоссальных изменений в структуре сервера. Больше 2b2t не анархический сервер, как гласил официальный сайт, а «сервер выживания». Многие игроки ушли после этого ребрендинга. Отток стал наиболее массовым за все время существования сервера. Многие посчитали, что администрация отвернулась от старых поклонников, которые годами поддерживали существование сервера материально. С переходом на версию Minecraft 1.19 была упразднена экономика методом удаления огромного количества ценных ресурсов. Также было удалено огромное количество «пустых» чанков, в которых игроки не проводили больше нескольких секунд. Чтобы понимать, какие последствия понесло такое решение, надо серьезно погрузиться в геймплей сервера, а потому я лишь укажу, что эти обновления в итоге были тоже упразднены. В связи с этим сервер вполне может пережить еще один всплеск популярности (что очень вряд ли, с новым античитом и явно коммерческой его направленностью).

❯ Survival

Не забыли еще, о чем статья? После выхода мультиплеера, в игре появился и режим выживания вместе с несколькими мобами: крипером, скелетом, зомби и свиньей. С крипером, буквально «лицом» Minecraft, вышла крайне забавная история, которую многие из вас наверняка знают и так. В процессе создания свиньи, Маркус Перссон (Notch) перепутал длину и высоту тела, и вышло существо высокого роста на четырех ногах. Разработчик добавил ему зеленую окраску, а затем, по совету друга, еще и возможность взрываться. В интернете также ходит байка о том, что Маркус записал звук «активации» крипера во время жарки бекона, но в это уже верится с трудом, и я не нашел подтверждений.

Indev

Затем, после нескольких обновлений, появилась версия игры Indev — In development. В ней продолжал улучшаться геймплей, а также появился новый моб — Рана. На ней зацикливать внимание не стоит, она была удалена как только из Mojang ушел ее (Раны) создатель. Еще бы, ведь она совершенно выбивалась из общего сеттинга игры, посмотрите сами!

Рана — нет, не открытая

Рана — нет, не открытая


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

Далее была хоть и уникальная, может даже, легендарная, но все еще довольно неинтересная версия infdev (infinite development). В ней мир стал действительно бесконечным во все стороны (не забываем о далеких землях), появились подземелья, подземные реки и рельсы, коренная порода (бедрок) и возможность выращивать деревья. На этом, кажется, почти всё.

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

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


Разрабатывайте и развивайте свою игру (и не только) с помощью облачного хостинга для GameDev

Написано при поддержке Timeweb Cloud

Больше интересных статей и новостей в нашем блоге на Хабре и телеграм-канале

Реклама ООО «ТАЙМВЭБ.КЛАУД», ИНН: 7810945525

Показать полностью 19
328

«Чернобыль» на диске: как вирус CIH поселился в Half-Life1

Всему виной компьютерный вирус CIH, физически уничтоживший мой компьютер, когда я собирался поиграть в «Халф-Лайф».

На диске сверху — штамм первого в мире компьютерного вируса, физически наносящего вред аппаратной части компьютера. Нет, не было искр, дыма, раскуроченного, как консервная банка, системного блока. Зато физически была уничтожена микропрограмма в BIOS, из-за чего компьютер «окирпичился». Ну, а бонусом было стёрто содержимое жёсткого диска. Если со вторым (в моём случае) можно мириться — ценных данных у меня не было, — то порча BIOS — задача для ремонтной мастерской либо квалифицированного специалиста с программатором, самой микропрограммой для определённой материнской платы, временем и мотивацией ремонтировать компьютер (время — деньги). Напомню, речь идёт о временном периоде выхода первого Half-Life: это было давно, и далеко не каждый мог «прошить» BIOS в домашних условиях.

Одна из версий, почему компьютерный вирус CIH имеет название «Чернобыль», — дата его активации, 26 апреля. Объемлющая информация здесь.

Исходник, написанный на ассемблере, обнародован здесь.

❯ Заражение

Подопытный — старенький компьютер, ещё не ретро, но далеко не топ.

Подопытный

Подопытный

Аппаратная конфигурация:

  • Процессор Intel Celeron с частотой 500 MHz;

  • Материнская плата Acorp 6via/zx85, Socket 370Ж.

  • Оперативная память, 256 Mb;

  • Накопитель CF-карта, 512 Mb.

«SSD для бедных» — это я о себе

«SSD для бедных» — это я о себе

  • Видеокарта ATI Rage 2+, 4 Mb видеопамяти.

Представьте себе неподготовленного, ни о чём не подозревающего человека, который включил компьютер просто поработать или поиграть. Я и есть тот самый бывший ребёнок 1998 года, с компьютером, не обременённым антивирусом. Халатность? Да! Вот и последствия.

Подведём дату к 26 апреля — дню активации — и посмотрим...

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

Физическому уничтожению данных BIOS подверглись материнские платы, не имевшие аппаратного джампера защиты от программирования BIOS. Счастливчики «с джампером» отделывались потерей данных на жёстком диске — правда, хорошего в этом тоже мало.

А это — формально-наглядное подтверждение присутствия вируса. Хотя по сломанному компьюстру можно и так понять, но мы должны знать, с чем имеем дело. Предупреждён — значит вооружён.

Современный ClamWin знает этого паразита.

SpIDer Guard «того времени» тоже справляется.

Инфицирован

Инфицирован

После этого чёрный экран даже после аппаратного сброса. Переходим к ремонту.

❯ Восстановление

Мы вооружены, так как в наших тепличных условиях был заготовлен бэкап прошивки BIOS.

BIOS еще в «кроватке»

BIOS еще в «кроватке»

Наконец-то я применю по назначению вот этот экстрактор.

Экстрактор DIP-элементов

Экстрактор DIP-элементов

Извлекаем ППЗУ. Оригинальная микросхема, содержащая BIOS — AE29F2008-12. Это многократно перепрограммируемое ППЗУ, с электрическим стиранием содержимого, выполненное в DIP корпусе, имеющем 32 ножки. Производитель ASD.

Оригинальный ППЗУ я оставил нетронутым, поместив на его место аналог — можно увидеть в ролике выше.

Делаем бэкап ППЗУ при помощи программатора.

Программатор

Программатор

Выбор ППЗУ и конструктивного исполнения корпуса

Выбор ППЗУ и конструктивного исполнения корпуса

Процедура чтения

Процедура чтения

Дамп, взгляд «изнутри»

Дамп, взгляд «изнутри»

Результирующий файл дампа BIOS, размер 256 Кб

Результирующий файл дампа BIOS, размер 256 Кб

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

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

Загружаться не с чего

Загружаться не с чего

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

  • fdisk, процедура разбиения накопителя;

  • format c:, форматирование;

  • sys c:, перенос системных файлов.

После ставим систему по новой. В компьютере домашнего применения сильнее не заморачивались, а в серьезных организациях данные поважнее железок, вот они-то пострадали. А мы возвращаем всё вспять и ставим Windows 95 (стихами заговорил).

Полураспад

Полураспад

❯ Эпилог

Даже сейчас, используя компьютер, оснащённый современным антивирусом с открытым программным кодом, использую этот CD-диск с игрой с содроганием и сомнением — а не грохнет ли вирус мои данные? Осадок остался.

Из любопытных наблюдений: CIH, он же «Чернобыль», зафиксирован на диске очень уж схожей игровой тематики. Стоит вспомнить сюжет игры «Халф-Лайф». Совпадение или тонкий троллинг CD-прожигателя — вопрос открытый, но как-то уж очень уместно ему находиться на этом диске. Возможно, просто цепь роковых случайностей.

Штамм вируса, навечно впечатанный в пластик, хранится в боксе с памятной подписью, где и когда он был приобретён. Дело было в октябре, а сработал он в апреле — замедленное действие. В тот день я не поиграл в «Халф-Лайф».

Обратная сторона обложки CD-диска

Обратная сторона обложки CD-диска

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

На этом всё, спасибо за уделенное время.


Автор текста: MechNIX

Написано при поддержке Timeweb Cloud

Больше интересных статей и новостей в нашем блоге на Хабре и телеграм-канале

Реклама ООО «ТАЙМВЭБ.КЛАУД», ИНН: 7810945525

Показать полностью 18 1
97

EMG TR4401: Оживляем Венгерский Осциллограф

Смотреть видеоверсию статьи в Youtube или в VK

А ведь в какой-то момент у меня набралось больше десятка ламповых осциллографов! Но, в отличие от Артёма Денисовича я вовремя одумался и избавился почти от всех из них, но вот один — венгерский осциллограф TR-4401 — слегка задержался. Появился он у меня пять лет назад, во время ремонта осциллографа С1-54. Привлек меня красивой внешностью и исполинскими размерами, ну как тут не удержаться от покупки?

Радовался я недолго. Во-первых, прибор оказался значительно больше и тяжелее чем я думал. Во-вторых, из всех своих 63 ламп в нем стояло меньше половины. Осциллограф — разработки и производства Венгрии, но в корпусе витал призрак Tektronix, предположительно 541A. Отдельные части принципиальных схем были схожи как две капли воды, разве что сами радиолампы отличались — вместо американских стояли польские, венгерские и советские аналоги. С другой стороны у меня была родная документация на русском и желание прибор оживить.

❯ EMG — венгерский «Tektronix»

Логотип компании EMG в 60-е годы

Логотип компании EMG в 60-е годы

История предприятия  EMG (Elektronikus Mérőkészülékek Gyára — Завод электронных измерительных приборов) начинается в 1950 году, когда небольшой коллектив инженеров, техников и рабочих отделились от радиозавода Orion в самостоятельный завод, временно разместившись на территории мыловаренной фабрики в пригороде Будапешта. За первые четыре года работы предприятие  столкнулось и с хронической перегрузкой и с перебоями в поставках комплектующих; сменило четырех директоров, но смогло построить свой собственный завод в городе Сашалом (1953-54 гг.). Наступила стабильность — в 1954 году сформировалось новое руководства во главе с директором Ласло Кискапуши, который пробыл во главе предприятия до 1978г. Был налажен полный производственный цикл, а годовой объем производства вырос с 28 млн форинтов в 1951 году до 145 млн в 1960 году при почти полном отсутствии импортных компонентов в составе аппаратуры.

Минутка ликбеза. Фо́ринт официальная денежная валюта Венгрии. Хоть последняя и является членом европейского союза, в еврозоне она не состоит (Что типично для восточной Европы взять ту же Польшу (Злотые) или Чехию (Чешские кроны)). На декабрь 2025 курс 385 форинтов за 1 евро.

Цех непрерывной сборки измерительных приборов. 1959 год

Цех непрерывной сборки измерительных приборов. 1959 год

В 1959 году предприятие выпускало больше сотни различных наименований продукции, а также разрабатывало множество новых приборов. Так, в каталоге показан рисунок прибора EMG 1546. И тут есть один нюанс — эскиз сильно отличается и от итоговой реализации и от Tekronix 541A. Инженеры делали свою собственную разработку, но в последний момент все переиграли и слегка списали?

Разрабатываемые приборы: осциллограф EMG-1546

Разрабатываемые приборы: осциллограф EMG-1546

В 60-е годы завод динамично развивался, и постепенно переходил с ламповой техники на полупроводники. Объем производства достиг 469 млн форинтов в 1970 году. Немаловажен и тот момент, что предприятие активно сотрудничало с профессиональными средними учебными заведениями, и подготавливало для себя новые рабочие кадры. Одновременно совершенствовалось и производство — на место сборочно-измерительным цехам электротехнического производства приходили производственные линии, организованные по профилям семейств продукции. Активно внедрялась автоматизация — например механизированные линии подготовки электронных компонентов. От красивых корпусов с округлыми формами отказались в пользу высокотехнологичных шасси с литыми алюминиевыми боковинами и стальными штампованными крышками.

Программируемые и измерительные приборы коммутируемые общей шиной. Фото из каталога 1982 года

Программируемые и измерительные приборы коммутируемые общей шиной. Фото из каталога 1982 года

В 1971 году огромный единый завод был разделен на частично самостоятельные подразделения: Корпоративный центр, Завод по поставке радиодеталей, Будапештский и Эстергомский приборостроительные заводы, а также подразделение Управления и администрирования. Были выделены четыре ключевые группы продукции: электронные измерительные приборы, офисная техника, технологическое оборудование для электронной промышленности, а также системы управления станками. ЧПУ направление до последних лет жизни предприятия было основным направлением его развития, принося 1.5млрд форинтов в год в 1987 году.

Продукция завода EMG на выставке 1980г в Будапеште. Слева — прибор анализа рентгеновского излучения. Справа — универсальная система управления станками с ЧПУ — EMG HUNOR PNC 714

Продукция завода EMG на выставке 1980г в Будапеште. Слева — прибор анализа рентгеновского излучения. Справа — универсальная система управления станками с ЧПУ — EMG HUNOR PNC 714

Однако уже в 1991 году предприятие погибло вместе с распадом Совета Экономической Взаимопомощи. В 60-е годы правительство Венгрии монополизировало внешнюю торговлю и финансовую сферу страны, что принципиально повлияло на то, по какой цене, в каком количестве и качестве предприятия производят продукцию. Это привело к изменению торгового баланса внутри СЭВ в пользу венгерской стороны, а также, наряду с другими причинами, после 1990 года — к ликвидации государственных предприятий. 24 августа 1991 года суд вынес решение о ликвидации EMG по причине банкротства. Заводские активы были распроданы.

Территория завода с высоты птичьего полёта.

Территория завода с высоты птичьего полёта.

Вместе с тем, на территории бывшего завода, а теперь технопарка EMG, кипит жизнь в лице множества мелких и не очень предприятий. Один из таких — Auter Elektronikai Kft. — один из крупнейших в Европе заводов по производству печатных плат.

❯ Orion EMG-1546 или TR4401

Герой нашего рассказа собственной персоной

Герой нашего рассказа собственной персоной

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

  • Габариты: Ш320хВ420хГ620мм

  • Огромная 130мм ЭЛТ с тончайшим зеленым лучом и потрясающие округлые формы прямиком из 1966 года.

  • Масса: 40кг. И две ручки сверху для переноски

  • Потребляемая мощность ок. 500Вт.(в документации так «ок» и указано)

А остальное тут уже и не важно :) Шучу.

Осциллограф рассчитан на работу с сигналом частотой до 30МГц. Блок горизонтальной развертки позволяет наблюдать сигналы со скоростью от 5сек/см до 20нс/см. В качестве блока вертикальной развертки можно поставить один из четырех сменных блоков:

  • Одноканальную приставку 1589-U-1, которая и имеется у меня в наличии

  • Двухканальную приставку 1589-U-2 — осциллограф перейдет в режим чередования выводимых сигналов

  • Дифференциальную приставку 1589-U-3.

  • А приставка 1589-U-4 (TR4710) превращает осциллограф в прибор для проверки транзисторов

Виды подключаемых приставок

Виды подключаемых приставок

За другие блоки не скажу, но U-1 умеет работать с сигналом от 50мВ/см до 20В/см, и имеет типичные 1МОм и 25пФ импеданса. Разъемы тут, к слову, резьбовые UHF(или PL-259) — часто встречаются в современной СВ и КВ радиоаппаратуре. Исходя из наличия у меня документации на блок U-2 могу предположить, что комплект поставки мог включать в себя сразу несколько сменных блоков.

Сменный блок EMG 1589 U-1, вид сбоку

Сменный блок EMG 1589 U-1, вид сбоку

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

Сменный блок U-1, вид сбоку. Производство тех лет признавало только панельки

Сменный блок U-1, вид сбоку. Производство тех лет признавало только панельки

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

Схема расположения элементов в блоке. Я говорил что серийный номер на документации и на приборе одинаковый?

Схема расположения элементов в блоке. Я говорил что серийный номер на документации и на приборе одинаковый?

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

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

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

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

Снимаем правую крышку и видим массивный трансформатор питания на те самые около 500Вт. справа виднеется вентилятор, который эти «полкило» тепла должен выгнать из корпуса. Четыре больших лампы — сдвоенные триоды 6Н5С — отвечают за стабилизацию основных напряжений питания осциллографа: +500В, +350В, +225В, +100В и -150В. Их регулировка осуществляется потенциометрами возле края шасси. Стоило мне установить все лампы в осциллограф — как стабилизаторы ожили и после минимальных регулировок стали выдавать необходимые уровни.

Принципиальная схема источника питания осциллографа

Принципиальная схема источника питания осциллографа

Схема стабилизации тут классическая. Мощный триод включен по схеме с общей сеткой, потенциал на которой определяется усилителем на триоде или пентоде. Слева на схеме можно заметить несколько групп нитей накала. Электронная лампа имеет понятие «предельное напряжение между катодом и подогревателем». У 6Н5С оно составляет +300В — и это очень много, так как у большинства пальчиковых ламп это значение не превышает и 100В. Именно поэтому нити накала ламп V401-V403 — собраны в отдельную группу и подтянуты к уровню +350В. Иначе их пробьет. Разумеется есть некий запас прочности, но зачем нарушать рабочий режим?

На фото выше можно заметить небольшое электромагнитное реле. Оно отсчитает около минуты, прежде чем сработает и подаст напряжение +225В и +350В. Это необходимо чтобы дать лампам прогреться как следует, и не допустить работы холодного катода на полном потенциале. Хороший способ сберечь ресурс электронных ламп.

На верхней планке расположен генератор горизонтальной развертки, блок триггеров и  усилитель горизонтального отклонения.  Все собрано в лучших традициях навесного монтажа. Часть деталей расположена на монтажных планках, другая — идет непосредственно на панельки с лампами. Я уже говорил что до самих ламп проблематично добраться?

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

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

За левой дверцей открывается более интересное зрелище. Во-первых, с этой стороны живет Электронно-Лучевая трубка с электростатическим отклонением. Для защиты от наводок (еще вопрос откуда куда) ее поместили в кожух. Через прорези в нем на ЭЛТ подается анодное напряжение в 10кВ, а также подключаются выходы усилителей вертикального и горизонтального отклонения к отклоняющим пластинам.

За левой крышкой находим ЭЛТ, линию задержки и усилитель вертикального отклонения

За левой крышкой находим ЭЛТ, линию задержки и усилитель вертикального отклонения

Снизу расположена батарея пальчиковых ламп, представляющая собой непосредственно усилитель вертикального отклонения. И вот тут мы натыкаемся на Tektronix 541A, принципиальная схема которого 1-к-1 совпадает со схемой усилителя вертикального отклонения:

Принципиальная схема усилителя вертикального отклонения Tektronix T541A

Принципиальная схема усилителя вертикального отклонения Tektronix T541A

Да и линия задержки, состоящая из конденсаторов и индуктивностей тоже взята от Tek-а:

Принципиальная схема части линии задержки

Принципиальная схема части линии задержки

Да, TR4401 не является клоном Tektronix541, но на операционном столе Венгерских разработчиков он явно присутствовал. Сравните левую сторону двух приборов:

Слева у Tektronix T541A можно найти ту же линию задержки и тот же усилитель вертикального отклонения

Слева у Tektronix T541A можно найти ту же линию задержки и тот же усилитель вертикального отклонения

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

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

❯ Оживление

Для оживления прибора необходимо было установить все недостающие лампы в блок. Например со стороны усилителя вертикального отклонения ситуация изначально выглядела следующим образом:

Исходное состояние прибора после прибытия в гараж

Исходное состояние прибора после прибытия в гараж

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

По документации составил список радиоламп:

Таблица используемых электронных ламп и их аналоги

Таблица используемых электронных ламп и их аналоги

Номер лампы на схеме, тип оригинальной лампы согласно документации и требуемое количество. Дальше, по справочникам аналогов зарубежных ламп пытаемся подобрать аналоги. Для части ламп это удается. В одном случае и вовсе стоит советская 6Н5С. В остальных — с переменным успехом. Недостаточно просто увидеть заветную строку: «лампа E180F, полный аналог 6Ж9П». Приходится сверять параметры из справочных листков. В некоторых случаях справочники твердили о возможности замены, но по факту отличий было слишком много. Отдельно стоит заметить, что в приборе есть лампы с напряжением накала на 12В и даже на 25В! Какие уж тут советские аналоги (Впрочем у нас подобные напряжения тоже встречались)… Что-то нашлось у местных, что-то удалось купить на ebay. Отдельное спасибо тов. Usagi за отправленный мешочек радиоламп, которые в итоге закрыли пробелы в моих поисках. Электронно-лучевую трубку на замену найти не удалось.. Но накал у нее звонился, так что шанс что она заработает — был высок.

Что я и говорил про спрятавшиеся проволочки. Легкая тряска и получи бусурманин спецэффект.

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

Общая схема расположения электронных ламп в приборе

Общая схема расположения электронных ламп в приборе

Моя любимая часть Марлезонского балета… Особенности документации… Во-первых, все схемы склеены из трех частей. Кто-то догадался распечатать их на листах А3, сложить вдвое, сброшюровать, а потом отрезать на сгибе целый сантиметр.. Хорошо что в интернете нашлись зарубежные сканы и удалось собрать исходную схему вместе. Но!  Взять, например, блок усилителя вертикального отклонения(III). В нем 18 ламп, хотя на чертеже присутствует лампа с номером V219... А также две лампы с индексом V218 и еще две — с индексом V207… Пришлось несколько раз сверяться со схемой, с отдельным чертежом расположения ламп чтобы быть уверенным, что все лампы стоят на своем месте. И зная итог — уверенности так и нет…

Первое включение и — у прибора появился луч! После пары ударов по корпусу, разумеется. Еще паре потенциометров пришлось вскрывать корпус и вычищать оттуда мусор и окислы. Нельзя верить внешнему виду — шасси чистое, никаких следов коррозии, но старение радиодеталей и их деградация происходят часто незаметно для глаз. Быстро обнаруживается, что с калибратора можно подать сигналы на входы X и Y и получить фигуры Лиссажу.

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

❯ Подводя итоги

В результате оживления имеем следующую картину:

  • Внешний сигнал Y до ЭЛТ доходит, но где-то по дороге теряется аж 20х усиления. Подавая на вход прибора сигнал с уровнем 1В — мы получим вожделенный 1см только на диапазоне 50мВ/см. Скорее всего проблема кроется в сменном блоке, но может и в одном из последующих каскадов. На структурной схеме сомнительные блоки пометил синим цветом.

  • Внешний сигнал X до ЭЛТ доходит прекрасно, выглядит все так, что усилитель по X абсолютно исправен и ничего не требует взамен. Хотя потенциометр регулировки уровня усиления просит его вскрыть и обслужить.

  • Равно как исправен калибратор. Свои от 1 до 100В сигнала он выдает.

  • А вот с разверткой все худо. От вертикального усилителя сигнал до генератора пускового сигнала доходит, а дальше творится магия. Все напряжения на ножках ламп — в номинале, сопротивления — тоже. Но в итоге — тишина. Не иначе как конденсатор какой течёт и наглухо шунтирует всё на себя. Впрочем, бумаги, как на С1-54, тут нет. Плёнка, да керамика. Ни та ни другая течкой особо не страдают, но ежели переменные резисторы все коррозией покрылись, ничто не мешает появиться токопроводящему каналу и на керамике.

Где совершенно нет никаких вопросов к работе схемы — так это к источникам питания. Именно эти схемы я использовал в источнике питания экспериментальной декатронной ячейки, но решил источник отрицательного напряжения скопировать с С1-54. И его передавливает….

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

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

❯ Источники

  • https://dekatronpc.com/index.php/EMG_TR-4401 принципиальные схемы на прибор с описанием «подходов к снаряду»

  • https://emg.hu/tortenet-osszefoglalo/ мемуары Золтана Сабо, последнего директора завода EMG. На венгерском(использовал автоперевод). Там же каталоги и мануалы


Автор текста: radiolok

Написано при поддержке Timeweb Cloud

Больше интересных статей и новостей в нашем блоге на Хабре и телеграм-канале

Реклама ООО «ТАЙМВЭБ.КЛАУД», ИНН: 7810945525

Показать полностью 24
910

Сам себе VoLTE. Запускаем сотовую сеть 4G LTE с поддержкой звонков и SMS1

Приветствую всех!

Два года назад я уже рассказывал о том, как запустить у себя дома базовую станцию 4G LTE. Тем не менее, в той сети работал только мобильный интернет, тогда как при попытке позвонить или отправить SMS связь немедленно обрывалась.

Самое время восполнить это упущение. Сегодня мы поднимем сеть, в которой будут работать все эти функции. Заодно разберёмся, как работают звонки в LTE-сетях, как запустить такую сеть при помощи SDR и как заставить это всё работать. Как водится, будет много интересного.

❯ Суть такова

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

Уверен, сейчас все (ну, или почти все) примерно представляют себе, что такое VoLTE и то, для чего он нужен. Если вы читаете этот текст с телефона, то звонит он наверняка благодаря поддержке этой функции.

Тем не менее, по сравнению с обычными сетями типа GSM устроено это совершенно иначе. Как оно работает и как запустить это в «домашней» сети, сейчас и узнаем.

❯ Как работает VoLTE

Начнём с самого начала: с того, как вообще совершаются звонки в 4G-сетях. Вариантов тут всего два.

Первый из них — откат на сеть предыдущего поколения (Circuit Switched Fallback). Он поддерживается и поныне, дабы трубки, где VoLTE выключен или не поддерживается, в принципе могли звонить.

Момент переключения на более старую сеть вы можете пронаблюдать лично, если выключите VoLTE на телефоне, включите мобильный интернет, а затем попробуете кому-то позвонить. При начале вызова значок «4G» в строке состояния пропадёт. Такую систему тоже можно воссоздать в домашних условиях, если поднять 2G-сеть с тем же PLMN (то есть с теми же кодами MCC и MNC) и настроить в ней SIP.

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

Так появился второй вариант — тот самый VoLTE. Это протокол передачи голоса в сотовых сетях через каналы пакетной передачи данных, проще говоря, через обычные сети TCP/IP. Чем-то он напоминает привычный VoIP, но всё же отличается от него другим форматом пакета, обеспечивающим чуть меньший его размер. Эти пакеты обрабатывает специальный модуль в ядре сети — IMS (IP Multimedia Subsystem). Таким образом, в выигрыше оказываются и операторы (VoLTE обеспечивает чуть ли не шестикратный прирост пропускной способности в сравнении с обычными сетями GSM, а, значит, положить сеть становится значительно труднее), и пользователи (качество звука в VoLTE значительно лучше , если, конечно, связь LTE вообще есть).

❯ Что такое SRVCC?

Так уж вышло, что стабильное соединение LTE есть далеко не везде. Если в момент вызова по VoLTE уровень сигнала просядет, то звонок прервётся. Поэтому существует специальная процедура переключения на сеть более старого поколения на тот случай, если её сигнал в это время лучше. Называется она SRVCC (Single Radio Voice Call Continuity).

Когда уровень сигнала от телефона начинает проседать и падает ниже некоего значения, которое БС считает критическим, отправляется запрос на резервирование голосового канала. MME связывается с MSC, находит ближайшую доступную вышку и выделяет на ней канал. После этого телефон переключается на эту вышку, а разговор продолжается. Для пользователя это выглядит как кратковременное заикание или некоторое ухудшение качества связи. Само собой, если в этот момент производилась передача данных, соединение либо (в случае с 2G) сбрасывается, либо (в случае с 3G) продолжается на более низкой скорости.
Также существует и обратный вариант: при возвращении абонента обратно в зону покрытия 4G звонок можно перевести на VoLTE. Впрочем, распространено это меньше из-за сложностей реализации: пока абонент находится в сети 2G/3G, ядро сети LTE не может получать информацию о состоянии соединения.

❯ SMS в LTE-сетях

Как и в случае со звонками, вариантов тут два.

Первый — SMS over SGs. В этом случае помимо LTE-сети телефон регистрируется и в «старом» центре коммутации (MSC) GSM. После этого он становится доступен как MME (для передачи данных в LTE-сети), так и MSC (для SMS). При отправке сообщения телефон формирует специальный пакет, а MME передаёт его MSC, который его обрабатывает абсолютно так же, как если бы абонент находился в обычной сети 2G. Аналогичным образом происходит и приём. Сообщение приходит в SMS-центр GSM-сети и передаётся в MSC. Тот передаёт его MME, который и производит отправку на абонентское устройство. На этот раз при отправке или приёме SMS сброса соединения LTE не происходит.

Второй — SMS over IMS. Как нетрудно понять, предыдущее решение хоть и работает, но всё же реализован был исключительно для совместимости. В «нативной» реализации сообщения упаковываются в обычные пакеты данных, передаваемые по TCP/IP. Обработкой этих пакетов занимается всё тот же IMS.

❯ Обзор оборудования

Как и в случае с «простой» 4G-сетью, для того, чтобы запустить такое дома, требуется SDR с комплектом антенн, программируемые симки и сами телефоны, которые будем подключать к сети. Поэтому комплект оборудования остаётся неизменным.

Это SDR, самый важный компонент, он же и самый дорогой.

В моём случае это USRP B200mini-i. Другого экземпляра за столько лет у меня пока не появилось.

Телефон Samsung Galaxy M12.

Телефон Samsung Galaxy S5.

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

Также надо учесть, что некоторые аппараты не поддерживают работу в частных VoLTE-сетях.

Обычно этим грешат айфоны и трубки некоторых китайских вендоров. Иногда помогает установить MCC 001 и MNC 01, но работает это далеко не всегда. Со всем этим тоже надо ознакомиться перед началом опытов.

И, наконец, программируемые SIM-карты. Что это такое, для чего они нужны и как их записывать, я уже рассказывал в посте про 4G.

Выбор их всё так же невелик, но с недавних пор появился ещё один вариант от китайской фирмы PISWORDS.

Записываются они стандартным ПО GRSIMWrite, ищутся в продаже на российском Али и, по отзывам, работают в таких частных сетях. Так что при отсутствии возможности купить Sysmocom или Gialer стоит обратить внимание на них.

❯ Ставим софт

В прошлый раз мы использовали софт srsRAN. Но есть один нюанс: компонентов, необходимых для работы VoLTE, там нет. Поэтому ставить будем следующее:

  • Сам srsRAN. В этот раз из всего комплекта понадобится только srsENB — софт базовой станции.

  • Open5GS. Это новое ядро сети. Сейчас оно будет использоваться как ядро 4G-сети, про 5G поговорим как-нибудь позже.

  • Kamailio. Тут всё просто — это SIP-сервер.

В этот раз ставить всё по отдельности не будем. К нашем счастью, существует уже установленный и настроенный софт, запиханный в Docker. Именно его-то мы и будем ставить.
В качестве ОС я использовал Ubuntu 22.04.5 LTS. Но никто не мешает использовать и другой дистрибутив: здесь это не так критично.

Для начала необходимо поставить Docker, поскольку штатно в Ubuntu он не стоит. Для этого выполним следующие команды:

sudo apt update

sudo apt install ca-certificates curl

sudo install -m 0755 -d /etc/apt/keyrings

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

sudo chmod a+r /etc/apt/keyrings/docker.asc

sudo tee /etc/apt/sources.list.d/docker.sources <<EOF

Types: deb

URIs: https://download.docker.com/linux/ubuntu

Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")

Components: stable

Signed-By: /etc/apt/keyrings/docker.asc

EOF

sudo apt update

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Теперь очередь самих контейнеров. Клонируем репозиторий и собираем их:

git clone https://github.com/herlesupreeth/docker_open5gs

cd docker_open5gs/base

sudo docker build --no-cache --force-rm -t docker_open5gs .

cd ../ims_base

sudo docker build --no-cache --force-rm -t docker_kamailio .

cd ..

sudo docker compose -f 4g-volte-deploy.yaml build

cd ../srslte

sudo docker build --no-cache --force-rm -t docker_srslte .

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

Да, если что, конкретно этот контейнер предназначен совсем для другого и в рамках данной статьи собирать его не требуется. Но нетрудно догадаться, что визуально процесс ничем не отличается. Занимает всё это порядочно времени, у меня на весь софт ушло чуть больше полутора часов. Так что запаситесь терпением.

Далее редактируем файл .env.

Поменять нужно следующие параметры:

  • MCC - код страны. В данном случае у меня стоит 460, то есть код Китая. Никакого подтекста тут нет, просто симка так и осталась прошитой под опыты с китайским железом.

  • MNC - код сети.

  • DOCKER_HOST_IP - IP-адрес машины, на которой работает ядро сети.

  • SGWU_ADVERTISE_IP - тот же самый адрес.

  • UE_IPV4_INTERNET - диапазон IP-адресов, выделяемых телефонам для мобильной сети.

  • UE_IPV4_IMS - диапазон IP-адресов, выделяемых телефонам для VoLTE.

Теперь запускаем контейнер с ядром сети:

cd docker_open5gs

source .env

sudo ufw disable

sudo sysctl -w net.ipv4.ip_forward=1

sudo docker compose -f 4g-volte-deploy.yaml up

Запуск начался.

Вскоре в консоли должны будут быстро посыпаться логи.

❯ Абоненты

Как и в случае с srsEPC, необходимо занести данные SIM-карт.

Итак, открываем браузер и переходим по адресу http://localhost:9999 (либо по адресу ПК, на котором работает сеть).

Авторизуемся с учётными данными admin@1423. Нас встречает вот такой экран, где располагается список абонентов. На свежераскатанной системе он будет пуст.

В углу жмякаем плюсик. Открывается окно добавления нового абонента. Заполняем поля IMSI, K, OPc, AMF. Нажимаем на жирный голубой плюс и вводим номер телефона (MSISDN).

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

Для добавления новых полей жмякаем голубой плюс.

После ввода данных нижняя таблица в свойствах абонента должна выглядеть как на этом скриншоте.

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

Теперь надо занести данные в OsmoHLR для работы SMS, для чего подключаемся к его консоли:

telnet 172.22.0.32 4258

Теперь заносим данные следующей командой:

enable

subscriber imsi [IMSI-1] create

subscriber imsi [IMSI-1] update msisdn [MSISDN-1]

subscriber imsi [IMSI-2] create

subscriber imsi [IMSI-2] update msisdn [MSISDN-2]

Само собой, IMSI и номера телефонов надо забить свои.

Вот так всё это выглядит.

❯ Пуск!

Ну что же, настал самый ответственный момент.

Открываем файл rr_enb.conf, выбираем нужный канал, на котором будет работать БС. Более подробно про это всё описывается тут. Подключаем к компьютеру SDR с накрученными антеннами. Выполняем команду:

sudo uhd_usrp_probe

В SDR загрузится ПО, и он станет готов к работе.

Аналогичным образом редактируем файл .env (если запуск производится на той же машине, что и ядро сети, то создаём копию):

  • MCC — код страны, должен совпадать с тем, что в ядре сети.

  • MNC — код сети, должен совпадать с тем, что в ядре сети.

  • DOCKER_HOST_IP — IP-адрес машины, на которой работает БС.

  • MME_IP — IP-адрес машины, на которой работает ядро сети.

  • SRS_ENB_IP — IP-адрес машины, на которой работает БС.

И теперь запускаем контейнер:

cd docker_open5gs

source .env

sudo cpupower frequency-set -g performance

sudo docker compose -f srsenb.yaml up -d && docker container attach srsenb

Секунд через десять на SDR загорится зелёный светодиод активной передачи, а в консоли ядра сети промелькнёт сообщение, что теперь число подключенных БС равно 1.

Всё, можно пробовать.

❯ Подключаем телефоны

Для начала произведём некоторую настройку.

На телефоне создаём точку доступа ims с типом ims. Так же создаём обычную точку доступа internet.

Вот так всё это выглядит.

Аналогичные действия производим на втором телефоне.

Если БС в этот момент уже запущена, то, скорее всего, телефон сходу увидит сеть и зацепит её.

Можно даже выйти в интернет и убедиться, что сетевое соединение есть.

Всё! Можно звонить!

SMS между двумя трубками тоже летают.

❯ Завершение работы

Выключить эту сеть после опытов тоже довольно просто:

В консоли с ядром сети нажимаем Ctrl+C и ждём, пока все контейнеры завершат работу. После этого вводим команду:

sudo docker stop srsenb

Через несколько секунд индикатор на SDR погаснет. В следующий раз развернуть сеть можно будет всё теми же командами.

❯ Что же у нас получилось?

Вот так вот, с помощью нехитрых приспособлений буханку белого (или чёрного) хлеба можно превратить в троллейбус. Но зачем?
Итак, теперь наша домашняя сеть теперь поддерживает не только мобильный интернет, но и привычные звонки и SMS, причём запускается всё это ненамного сложнее, чем вариант просто с Open5GS.

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

Такие дела.


Автор текста: MaFrance351. Больше фото и авторских комментариев — тут.

Написано при поддержке Timeweb Cloud

Больше интересных статей и новостей в нашем блоге на Хабре и телеграм-канале


Реклама ООО «ТАЙМВЭБ.КЛАУД», ИНН: 7810945525

Показать полностью 25
245

Братья Пилоты: вспоминаем ламповый русский квест из 90-х

Нич-чего не понимаю! Или это ностальгический обзор легендарной компьютерной игры «Братья Пилоты» и всех ее продолжений, или одно из двух!

Невозмутимый многомудрый Шеф, забавный расторопный Коллега, неуловимый злодей Карбофос… Отложим мухобойки, сверим часы и вспомним, как появился, чем запомнился и как тихо ушел в небытие один из первых русских квестов.

❯ Кто такие Колобки и как они стали Братьями Пилотами?

Сначала разберемся с предысторией. Откуда вообще взялись Братья Пилоты, они же Колобки?

Всё началось с  двухсерийного кукольного мультфильма Аиды Зябликовой «Следствие ведут Колобки» 1983 года по сценарию известного сказочника Эдуарда Успенского. По сюжету в неком Неотложном пункте добрых дел трудятся на благо общественного порядка двое сотрудников: шарообразное существо с мигалкой на макушке по имени Колобок и его помощник Булочкин, визуально похожий на батон с ушами. Эта парочка, пародирующая Шерлока Холмса и Доктора Ватсона, с готовностью бросалась расследовать любые дела.

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

Прародители Колобков — Колобок и Булочкин

Прародители Колобков — Колобок и Булочкин

В мультфильме были колоритные характеры главных героев (рассудительный Мегамозг и его фонтанирующий безумными версиями помощник), и фирменный юмор Успенского («В сквере его похитить не могли — там одни пенсионеры. Отобьют»), но подвело неяркое визуальное исполнение, и мультик в итоге не взлетел.

Тем временем сюжет, придуманный Успенским, появился в дальнейшем на бумаге (да-да, именно после мультфильма) и на пластинках (в формате аудиоспектакля).

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

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

Колобки: канон

Колобки: канон

Режиссеры Александр Татарский и Игорь Ковалев, подарившие миру мультфильм «Пластилиновая ворона» и ту самую заставку к «Спокойной ночи, малыши!», создали на экране отборную, сочную абсурдятинку: редкий полосатый слон, который обожает рыбий жир и млеет при звуках флейты, улетел из зоопарка на воздушных шариках…

На этот раз все сошлось: оригинальная рисовка, море визуальных гэгов и музыка Юрия Чернавского достойно обрамили юморной сценарий. Мультик заслуженно стал культовым: фразочки «Нич-чего не понимаю!», «А-на-ла-ги-чно», «Покупайте наших слонов!» ушли в народ.

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

Потом студия выпустила серию мультфильмов «Из личной жизни Братьев Пилотов», в которых уже не было никаких расследований, а просто приключения героев со все той же абсурдятинкой. Еще был комикс и серия ТВ-передач, где Братья Пилоты выступали в роли виртуальных ведущих.

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

❯ Рождение легенды

Релиз будущей легенды «Братья Пилоты: По следам полосатого слона» состоялся 22 сентября 1997 года.

Ее создатели — вышеназванная студия «Пилот» и Gamos — одна из первых российских компаний-разработчиков, до тех пор известная в основном тетрисоподобными игрушками и прочими головоломками сначала для DOS, а потом и для Windows. Издателем выступила компания 1С.

Игра имела нехитрые системные требования: Windows 95, Процессор Intel 486/66, 8 МБ RAM.

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

❯ Геймплей

Игра состоит из 15 уровней и реализована по простому принципу: один уровень — один экран. На каждом локации  одна задача, например, попасть в ворота зоопарка. Где-то ищем и используем предметы, где-то разгадываем головоломки, а где-то — аркада. Предметы для удобства подписаны (если на них навести курсор), но регулярно попадаются обманки. Так, кирка ничего не даст: если сломать ей стену, дыру тут же закроет задом бегемот.

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

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

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

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

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

Так выглядит травма твоего детства

Так выглядит травма твоего детства

Между тем, если знать ключ, то все просто: сначала запомнить/зарисовать все вертикальные переключатели и последовательно их переставить в горизонтальное положение. Затем снова переключить все новые вертикальные переключатели. И вуаля!

А так выглядит кайф

А так выглядит кайф

Впрочем, долго страдать можно было почти на любом уровне. Я, например, была на грани отчаяния, когда на шестом уровне, в дцатый раз пытаясь пройти мимо раскачивающихся крыс, Коллега набубенивался в канализационную жижу. И с каждой попыткой все жалобнее попискивал: «Твари!», вылезая.

Твари!

Твари!

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

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

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

❯ Резонанс

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

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

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

❯ Продолжения

На волне успеха разработчики быстренько состряпали вторую часть — «Братья Пилоты: Дело о серийном маньяке» (релиз 2 декабря 1998 года).

От проверенной схемы решили не отклоняться: братья снова ищут пропавшее животное, но на сей раз это кот Мышьяк (тот самый котяра из первой части, который возникал тут и там), а похитило его синее неопознанное существо по имени Сумо.

За рулем мясорубки — тот самый маньяк из названия игры — Сумо

За рулем мясорубки — тот самый маньяк из названия игры — Сумо

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

Полноценного «холодильника» тут не было. Запоминалась мини-игра «перепрыгни по плывущим коровам на другой берег». Надо дождаться, когда копытные профанируют ровной цепочкой (а они, заразы, все норовят вразнобой).

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

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

Первой ласточкой стала вышедшая 11 июня 2004 года «Братья Пилоты: Обратная сторона Земли» от молодой студии Pipe Studio, известной по игре «Полная Труба». Их коллеги из  «К-Д Лаб» в этой части отвечали только за квестовский движок QD Engine.

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

Братья Пилоты 3: наконец-то действительно пилоты

Братья Пилоты 3: наконец-то действительно пилоты

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

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

В остальном геймплей тот же: ищем предметы и методом перебора их применяем + несколько мини-игр. В роли «холодильника» — задачка «поднимись по выдвигающимся дощечкам», которые периодически самопроизвольно задвигаются обратно.

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

Резюме: ярко, разнообразно — вполне себе «возвращение легенды».

Четвертая часть «Братья Пилоты: Олимпиада» вышла 27 августа 2004 года аккурат во время Олимпийских игр в Афинах. Первый эксперимент с жанром внутри франшизы: на этот раз Pipe Studio разработала аркаду.  

По сюжету Карбофос потравил (какая ирония) всех атлетов на состязаниях. Теперь братьям нужно победить бородача во всех спортивных дисциплинах.

Бердичевская Олимпиада: бессмысленная, беспощадная, но забавная

Бердичевская Олимпиада: бессмысленная, беспощадная, но забавная

По сути, это серия из 20 спортивных мини-игр: от футбола до прыжка с шестом. Герои проходят испытания то в одиночку (либо Шеф, либо Коллега), то вдвоем.

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

Пятую часть («Братья Пилоты 3D: Дело об Огородных вредителях», 22 октября 2004 года) доверили студии «К-Д Лаб», уже известной по оригинальным играм «Вангеры» и «Самогонки». Разработчики подошли к делу радикально: перевели игру в 3D формат.

Вообще-то в трехмерном обличье Пилоты уже появлялись — на телевидении, в роли ведущих в передаче «Чердачок Фруттис» и «Академия собственных Ашибок». Но все равно нововведение было воспринято юзерами крайне неоднозначно.

Тем более что, как часто бывало в те годы, 3D в игре было относительным: сами-то колобки Пилоты округлились, но окружали их довольно простенькие плоские задники. На фоне сочной отрисовки предыдущих частей франшизы это прям разочаровывало.

Собакомобиль? Нет, машина медведеведа (не спрашивайте)

Собакомобиль? Нет, машина медведеведа (не спрашивайте)

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

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

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

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

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

С этой части, по распространенному мнению, началось угасание франшизы. Но разработчики об этом не подозревали, и в финале игры почти пойманный Человек в черном произносит «Мы еще встретимся» и улетает.

Шестая часть, «Братья Пилоты 3D-2: Тайны Клуба Собаководов», вышла 29 апреля 2005 года — это прямое продолжение предыдущей игры и вполне себе ее клон по геймплею.

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

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

Игра запомнилась скорее бесславным финалом: припертый к стенке главгад в духе голливудской классики опять произносит: «Я вам все расскажу. Но только в следующей части!». Что он собирался поведать, так никто и не услышал: из-за неуспеха первых двух 3D игр третью решили не выпускать. Участие «К-Д Лаб» во франшизе на этом закончилось.

(Между тем, если верить интервью вышеупомянутого Пискунова, в следующей части готовился твист: Человек в черном оказывался не злодеем, а секретным агентом, который передаст свое расследование Пилотам. Дальше предполагалась забористая конспирология: Братьям предстояло узнать, что местный клуб собаководов  на самом деле культ Анубиса, земля плоская, а Бердичев — самый ее центр.)

Седьмая часть — «Братья Пилоты: Загадка атлантической сельди» вышла 27 января 2006 года. Pipe Studio, ответственные за третью и четвертую части, вернули привычный 2D формат и привычную стилистику, но продолжили эксперименты с жанром: на этот раз они создали платформер. По сюжету вся атлантическая сельдь куда-то пропала, и братья бросаются на ее поиски.

Куда по помытому!

Куда по помытому!

В игре 20 уровней,но локаций, строго говоря, пять. Герои перемещаются по ним, сталкиваясь с разнообразными препятствиями и врагами. Тут и там разбросана сельдь, дающая персонажу здоровье. Наша задача, таким образом, и рыбку съесть, и на следующий уровень перейти — тремя персонажами поочередно. Тремя, потому что в самом начале Братья Пилоты переманили на свою сторону арабского Слугу Карбофоса. У каждого из героев своя особенность — Шеф дерется и стреляет, Коллега прыгает, а Слуга использует крышку от люка как щит и парашют. Да-да, геймплей открыто скопирован с классической The Lost Vikings — за что одни упрекали игру, а другие наоборот радовались такой ее «русификации». Правда, даже последние сетовали, что испытания могли быть и поразнообразнее.

Следующая часть — «Братья Пилоты: Догонялки» — вышла 2 марта 2007 года в сотрудничестве со студией DiP Interactive, уже известной по другим сказочным догонялкам.

Название говорит само за себя — на каждой уровне сначала Коллеге, а потом Шефу приходится много бегать, причем нередко — удирать (уплывать, улетать). Секунда промедления — и с тобой расправятся враги: Медведь, Змей Горыныч, Карбофос…  На каждом уровне локации меняются, но всегда они связаны со сказками, потому что, согласно номинальному сюжету, Братья расследуют дело о бардаке, учиненном Карбофосом в сказочном мире.

Главное, что хочется сказать об этой игре: получилось лучше, чем другие «Догонялки» от этого разработчика («Ну, погоди!» или «Леопольд»). В целом довольно живенько и ярко, но по смыслу очень далеко от оригинала. Как говорится, полюбили мы Пилотов не за это.

На этой сказочной ноте франшиза тихо-мирно скончалась. С 2007 года никаких продолжений больше не выходило.

Да, в 2002 году 1С выпустила еще игру «Бильярд с комментариями братьев Пилотов» — просто бильярд, в котором периодически звучали реплики Пилотов («Шеф, а можно я один раз стукну?»). Но это уже имеет слабое отношение к легендарной серии.

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

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

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

❯ Переиздания

Начиная с декабря 2014 года 1С Wireless поочередно переиздала первые три игры серии в Steam, появились версии для Android и iOS.

Обновленные версии получились даже чересчур гуманными: сначала игроку предлагают пройти обучение. В любой момент доступны подсказки. А можно вообще нажать на иконку камеры и увидеть полное прохождение всего уровня — даже гуглить ничего не надо!

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

А третья часть («Обратная сторона Земли») еще и пострадала от ножниц: количество уровней сильно урезано.

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

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

На фоне всевозможных зарубежных пираток хотелось чего-то своего, близкого, понятного. «Пилоты» идеально подходили, чтобы купить такую игру ребенку (добрый юмор, никакой расчлененки), да и папе с мамой самим поиграть.

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

«Пилоты» — это, простите за пафос, была не просто игра, это был мостик между золотым веком советской анимации и совсем молодой российской игровой индустрией. Было в этом что-то очень жизнеутверждающее: и мы могем, и у нас все будет.

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


Написано при поддержке Timeweb Cloud

Больше интересных статей и новостей в нашем блоге на Хабре и телеграм-канале

Реклама ООО «ТАЙМВЭБ.КЛАУД», ИНН: 7810945525

Показать полностью 14
838

Иногда компьютеры ошибаются. Воспроизводим тот самый баг на $475 000 000

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

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

❯ Суть такова

Думаю, все вы не раз (думаю, даже тут) читали посты про самые сокрушительные ошибки в истории ЭВМ. Одной из них неизменно значится предмет нашей сегодняшней статьи: Intel Pentium и его ошибка деления. Суть её была довольно проста: на некоторых комбинациях чисел с плавающей запятой сопроцессор «пенька» при делении выдавал неверное значение. Этих самых комбинаций было не так уж и много, поэтому обнаружили проблему не сразу, однако после выяснения обстоятельств стало ясно, что пренебрегать дефектом нельзя.

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

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

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

Это Intel Pentium A80501-66, некоторые спецификации (S-spec) которого имели эту ошибку. Конкретно на фото представлен SX837, у которого данный нюанс присутствует.

Далеко не все «пеньки» имеют данный дефект. Более того, даже у вышеупомянутой модели у некоторых экземпляров (например, SX950) данный баг отсутствует.

❯ Чуть-чуть про деление в Pentium

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

Но кое-что всё-таки стоит упомянуть. Причиной данного глюка являлся переход на более быстрый алгоритм деления (SRT, названный по именам создателей — Sweeney, Robertson, Tocher) вместо shift-substract, использовавшегося в более старых сопроцессорах. Алгоритм этот использует в своей работе таблицу поиска на основе делимого и делителя. В Pentium использовалась реализация SRT-4 (Radix 4), где ячейки таблицы могли принимать одно из пяти значений: -2, -1, 0, +1 и +2. Это должно было значительно упростить вычисления, так как такое решение позволяет выбирать частное, ориентируясь только на старшие биты делимого и делителя, а скорректировать результат уже потом. Также данный алгоритм позволял обрабатывать несколько бит за один такт, что также повышало скорость. Именно в этой таблице поиска и была проблема: некоторые её ячейки были пусты.

Сама таблица была реализована в виде программируемой логической матрицы.

Такое решение было сделано из-за куда большей простоты по сравнению с ПЗУ. Поэтому под пустыми ячейками тут понимаются не оставшиеся незаписанными участки памяти, а ошибочно не предусмотренные в нужных местах транзисторы. На самом деле число таких битых участков в таблице было вовсе не 5, как говорят в большинстве источников, а 16, однако 11 из них не вызывали неверный результат. Это и была та самая аппаратная ошибка, приводившая к сбоям. Была ли причиной опечатка в программе, генерировавшей данную таблицу, или математическая ошибка разработчиков Intel, теперь уже неведомо.

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

Ну а мы переходим к опытам.

❯ Обзор оборудования

Чтобы воспроизвести данный баг, необходим компьютер и два процессора Pentium — обычный и дефектный.

За основу для ПК возьмём материнку A-Trend ATC-1000 на чипсете i430FX «Triton», как раз одном из первых чипсетов для процессоров Pentium. Само собой, поддержка нужных нам процессоров здесь тоже в наличии. Ещё круче было бы взять плату с Socket 4 или 5, но у меня такой пока нет.

PCI видеокарта SiS 6202, первая из попавшихся под руку карт.

Самый важный элемент машины — пенёк.

Это Pentium A80502-100 на 100 МГц. Позолоченный, керамический, приятно тяжёлый. Круче него из x86-процессоров, наверное, только Pentium Pro. Достался мне этот камень ещё лет десять назад, будучи вытащенным из процессорной платы от некоего брендового сервера на платформе Intel Xpress Server LX, кажется, HP NetServer LM. Сама плата (а, может, и материнка) оказалась в нерабочем состоянии, оживить её я в своё время не смог и в итоге продал весь этот комплект какому-то другому любителю ретроПК.

Смотрим, что там по характеристикам. FDIV bug, как и положено, в наличии.

Второй процессор, на этот раз намного более поздний и данной ошибки в себе не содержащий.

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

Также, само собой, понадобится и другая периферия: клавиатура с мышью, жёсткий диск (на который я уже успел накатить Windows 98), две планки памяти по 16 МБ, AT блок питания.

❯ Запускаем

Ну что же, собираем тестовый стенд и включаем БП.

А вот и наша Windows 98.

Также видны наши характеристики — 32 мегабайта ОЗУ и тот самый процессор Pentium. В данный момент тут вставлен самый обычный пень, данного недостатка лишённый.

❯ Как же это работает?

Перейдём непосредственно к проверке.

Открываем стандартный калькулятор Windows. Да-да, даже в этом простом приложении можно без труда воспроизвести данный глюк.

Теперь переключаем его в инженерный режим и вводим туда следующее выражение:

(4195835 / 3145727) * 3145727 — 4195835

Объяснить код с

На нормальном процессоре результатом его выполнения должен быть ноль.

Его-то мы и наблюдаем.

Выключаем компьютер. Время устанавливать золотой пень.

Загружаемся и снова пробуем вычислить данное выражение.

На этот раз мы получаем неверный ответ -256. Это и есть влияние данного бага.

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

❯ Что же в итоге?

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

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

❯ Ссылки

  1. Computational Aspects of the Pentium Affair

  2. Intel Pentium FDIV bug reverse engineered

  3. Pentium FDIV bug

  4. How Intel makes sure the FDIV bug never happens again

  5. Intel's $475 million error: the silicon behind the Pentium division bug


Автор текста: MaFrance351

Написано при поддержке Timeweb Cloud

Больше интересных статей и новостей в нашем блоге на Хабре и телеграм-канале

Реклама ООО «ТАЙМВЭБ.КЛАУД», ИНН: 7810945525

Показать полностью 19
347

КПМ 32/16 «Кировец» — электрический монстр времен СССР

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

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

Герой нашей сегодняшней истории — кран портальный монтажный КПМ-32/16-10,5В-К, сошедший со стапелей завода подъёмно-транспортного оборудования им. С. М. Кирова в Ленинграде. Предназначен он для монтажных и сварочных работ в портах и на судостроительных предприятиях. При вылете стрелы от 8 до 17 метров он способен поднимать груз 32 т, а при максимальном вылете до 30 метров – 16 т. Дополнительно имеется вспомогательный подъём на 5 т. Передвигается наш двухсот тридцати трех тонный колосс по рельсовому пути со скоростью до 30 м/мин.

«Завод ПТО им. С.М. Кирова» – некогда ведущее предприятие машиностроительной отрасли СССР, был перепрофилирован в 1930 году из петербургских ремонтных мастерских при Варшавской железной дороге (не путать с Кировским заводом). Завод обеспечивал металлургические предприятия, атомные, гидро- и тепловые электростанции и другие объекты народного хозяйства высокопроизводительными грузоподъемными кранами тяжелых режимов работы. За время своего существования заводом было изготовлено более 15 000 единиц крановой продукции. А сегодня о нем напоминает только эмблема на одной из стальных оград вдоль набережной Обводного канала.

Создать такой кран в 1970-е годы было задачей, мягко говоря, нетривиальной. Никаких AutoCAD, Компаса, SolidWorks или MATLAB тогда не существовало. Зато были высокие нагрузки, невысокое качество прокатных материалов, жёсткие условия эксплуатации и… кульман с логарифмической линейкой. Плавность подъёма и точность позиционирования приходилось обеспечивать, не имея современных частотных приводов и даже электронных систем управления, — только хитроумная механика, релейные схемы управления с реостатными ступенями пуска.

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

Чтобы понять масштаб инженерной задачи, достаточно взглянуть на конструкцию самого крана. КПМ-32/16 — это сложная пространственная система, в которой каждая деталь работает на устойчивость и безопасность. Высокий четырёхопорный портал позволяет крану перемещаться вдоль причала, оставляя под собой просвет для проезда техники. На портале установлена поворотная платформа с кабиной управления и машинной кабиной, в которой скрываются лебедки, а сверху — длинная коробчатая стрела, уравновешенная массивным противовесом. Вся кинематика — от изменения вылета до подъёма груза — приводится в движение электродвигателями с реостатными схемами пуска.

Механизм подъема монтажного крана состоит из механизма главного подъема грузоподъемностью 32 т и вспомогательного – грузоподъемностью 5 т.

Для того чтобы с ювелирной точностью ворочать огромными агрегатами в тесных трюмах строящихся судов, лебедку основного подъема оснастили двумя приводами. Главный привод мощностью 75 кВт обеспечивает скорость основного подъема 17 метров в минуту, а установочная скорость 0,5 метра в минуту обеспечивается дополнительным микропроводом мощностью 5 кВт. Сопряжение двух двигателей с редуктором лебедки обеспечивается планетарной муфтой за счет разной комбинации блокируемых тормозов. Лебедка вспомогательного подъема имеет скорость 37 метров в минуту и мощность 37 кВт.

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

Отличительной особенностью портального крана КПМ-32/16 является конструкция механизма изменения вылета. Его шарнирно-сочлененная укосина состоит из стрелы, выполненной в виде жесткой коробчатой семнадцатитонной балки, прямолинейного восьмитонного хобота и гибкой оттяжки. Гибкая оттяжка представляет собой два стальных каната, верхние концы которых через балансир присоединяются к заднему плечу хобота, а нижние — через натяжное устройство закрепляются на каркасе.

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

Стрела с помощью стреловой тяги соединена с качающимся тридцатитонным коромыслом, на заднем плече которого находится подвижный бетонно-металлический противовес массой примерно 48 т. Конструкция позволяет обеспечить три точки равновесия системы без груза и две точки равновесия с номинальным грузом, который составляет от 32 т до 16 т в зависимости от положения вылета стрелы. Это значительно снижает нагрузку на тормозные механизмы и лебедку механизма изменения вылета.

Лебедка механизма изменения вылета установлена непосредственно на каркасе в отдельном защитном кожухе. Благодаря слаженной работе стрелы и противовеса, для изменения вылета достаточно электродвигателя мощностью всего 11 кВт. Чтобы движение начиналось плавно, в составе редуктора лебёдки установлен массивный маховик, сглаживающий рывки при пуске. Плавность остановки дополнительно обеспечивается наличием двух тормозных механизмов, которые включаются по очереди с задержкой чуть больше секунды, благодаря чему тяжёлая стрела не останавливается рывком.

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

Для предохранения от перегрузки и опрокидывания крана в верхней части его каркаса установлен ограничитель грузового момента (ОГМ). Его механизм состоит из системы блоков и рычагов, сопряженных с канатами главного подъема. Результирующее усилие от веса груза, возникающее при огибании канатом подвижного блока на рычаге ОГМ происходит смещение системы рычагов, уравновешиваемой специальным грузом. Если момент от давления каната на блок превысит момент от веса регулировочного груза, то палец на рычаге через концевые выключатели разомкнет электрическую цепь механизма главного подъема и цепь увеличения вылета.

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

Вспомогательный подъём снабжён аналогичным ограничителем грузоподъёмности. Но его конструкция проще, чем у ОГМ, так как предельный момент не зависит от вылета стрелы, а допустимая грузоподъёмность вспомогательного подъёма не должна превышать 5 т во всех режимах.

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

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

Поворотная часть нашего портального крана имеет неограниченный угол поворота. Ее поддержание и центрирование осуществляется опорно-поворотным устройством. Два концентрических круговых швеллера диаметром почти 6 метров образуют сепаратор, в котором крепятся 36 цилиндрических катков. Только оцените его масштаб.

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

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

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

Масса самого крана во много раз превышает массу поднимаемого груза, и это сделано не случайно. При полной массе конструкции в 233 тонны номинальный груз 32 т составляет всего около 14% от веса машины. Во время приёмочных испытаний кран кратковременно проверяют повышенной нагрузкой — 40 т (перегрузка 25%), что всё равно не превышает 18% его собственной массы. На этой фундаментальной устойчивости построена вся механика крана — от поворотного механизма до уравновешивающей системы стрелы.

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

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

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

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

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

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

Платой за простоту такого способа управления является низкое КПД. Очень много энергии превращается в тепло регулировочными сопротивлениями.

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

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

И, может быть, когда в следующий раз вы будете любоваться пейзажем портового города и среди множества мачт и грузовых стрел узнаете силуэт нашего старого знакомого — портального крана КПМ-32/16, помашите ему рукой, передавайте привет...


Автор: OldFashionedEngineer

Написано при поддержке Timeweb Cloud.

Больше интересных статей и новостей в нашем блоге на Хабре и телеграм-канале.

Реклама ООО «ТАЙМВЭБ.КЛАУД», ИНН: 7810945525

Показать полностью 24
181

Программирование для Windows 1.0 в 2025 году

«...Одним из примеров громоздкой и, по мнению авторов, бесполезной надстройки является интегрированная система WINDOWS фирмы Microsoft. Эта система занимает почти 1 Мбайт дисковой памяти и рассчитана на преимущественное использование совместно с устройством типа "мышь".» — вы точно знаете, откуда это

Приветствую всех! Буквально неделю назад прошло сорок лет с момента выхода первой релизной версии Windows. Именно в тот день в 1985 году началась история ныне повсеместно распространённой ОС.

И вот, узнав об этом, я подумал: а что, если попробовать запустить эту ОС и узнать, как предполагалось писать софт для неё? Именно этим мы сейчас и займёмся. Заодно и узнаем, насколько это было проще или сложнее, нежели сейчас.

❯ Суть такова

Уверен, если вы интересуетесь историей ОС, то хорошо знаете, что вообще такое Windows 1.0 и что она собой представляла. Хотя Windows 1.X были не полноценными ОС, а графическими оболочками под DOS, для них существовал SDK, позволяющий писать оконные приложения. Тем не менее, из-за высокой по меркам тех лет сложности разработки самих приложений было не так уж и много.
Особой популярности система тоже не заполучила, поскольку имела значительные системные требования и малое количество софта. Очень многие из тех, у кого в те годы был ПК, про этот продукт вообще ни разу не слышали. В общем, это самая подходящая платформа, под которую сейчас стоит попробовать что-то написать. Этим-то мы и займёмся.

❯ Обзор оборудования

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

Намного более аутентичного для такой системы PC XT у меня нет, поэтому для запуска был вытащен вот такой промышленный одноплатник. Конечно, можно было бы взять и просто плату на 286 или 386, но этот девайс лежал у меня уже больше полугода и всё ждал, когда я сделаю с ним что-то интересное. Так что сейчас будем пробовать с ним.

Это ROCKY-328E-M4. На борту процессор 386SX-40 (точнее, SoC Ali M6117C, объединяющая процессорное ядро и чипсет Ali M1217), четыре мегабайта памяти, IDE, флоппи-контроллер, в данный момент ненужный Ethernet, панелька под DiskOnChip и стандартные для любого ПК интерфейсы. Когда-то давно он работал на одном неназванном предприятии и управлял какими-то устройствами при помощи плат дискретного ввода-вывода и платы последовательных портов. Впрочем, про эти модули поговорим как-нибудь в другой раз, а сейчас будем рассматривать его просто как обычный ПК.

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

Встроенного видео на плате нет, поэтому для запуска понадобится ещё и видеокарта.

Это довольно популярная в своё время плата на чипе Realtek RTG3105i. Особых причин выбрать именно её у меня нет: просто когда-то она досталась мне вместе с этим промПК.

Всё вместе втыкается в кросс-плату.

У меня она вот такая, от Advantech. Конкретно эта сделана под размер обычной материнки типа AT. Даже предусмотрен разъём DIN-5 для клавиатуры с отводом от него для подключения к процессорной карте.

❯ Что нужно, чтобы начать писать софт под Windows 1.X?

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

Изначально я хотел использовать SDK 1.01 и Microsoft C 3.0, но...

...во всяком случае, я пытался.

То ли ему чего-то не хватает, то ли устанавливается он не так просто, как мне думалось, но ни одна программа им не собралась. Поэтому выбор был сделан в пользу того, на что имелась документация. Никаких PDF, никакой онлайн-справки в те годы не было, все мануалы были бумажными. Так уж вышло, что на Microsoft C 4.0 и Windows SDK 1.03 их сканы имелись в наличии.

Ну что, приступим?

❯ Эмулятор

Как я уже упомянул, собирать всё будем в эмуляторе. Им стал 86box (пришедший на смену почившему PCem). Как его поставить, описывается тут.

Создал виртуалку с процессором 386SX и чипсетом как у моей платы (дабы, если что, заранее обнаружить, что что-то пошло не так, и это решить).

Далее добавляем винт, а в разделе контроллеров выбираем «PC/AT Floppy Drive Controller» и «[ISA16] PC/AT IDE Controller (Dual-channel)».

В BIOS указываем параметры жёсткого диска. Загружаем в дисковод образ DOS и перезагружаемся.

Далее выполняем стандартные действия для установки DOS: размечаем диск при помощи fdisk, форматируем при помощи format, делаем его загрузочным при помощи sys и копируем остальные файлы. На этом загрузочная дискета нам больше не понадобится. Компьютер теперь будет запускаться с винта.

Процесс установки Windows 1.0 особых сложностей тоже не вызывает, так что показывать его я тут не буду. При установке надо указать следующие параметры: мышь — Microsoft Mouse (Bus/Serial), видеокарта — EGA with Enhanced Color Display or Personal Computer Color Display, принтер — не используется.

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

❯ Компилятор

Теперь очередь компилятора.
Установочной программы у него нет. Поэтому всё придётся копировать самому. На системном диске создаём папки BIN, INCLUDE, TEMP, LIB. В BIN копируем всё содержимое первой дискеты, ещё несколько экзешников со второй и link.exe с третьей, в INCLUDE — всё с расширением *.H и *.INC, в LIB — всё с расширением *.OBJ и *.LIB, TEMP оставляем пустой. В INCLUDE создаём папку SYS и копируем туда содержимое одноимённого каталога на третьем диске. Дискеты 6, 7 и 8 для первого запуска можно пока не трогать.

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

Поэтому продолжим установку, для чего создадим в корне системного диска ещё два файла.

Первый, AUTOEXEC.BAT, следующего содержания:

PATH C:\WINDOWS;C:\BIN;C:\INCLUDE;C:\LIB
SET INCLUDE=C:\INCLUDE
SET LIB=C:\LIB
SET TMP=C:\TEMP
SET TEMP=C:\TEMP

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

Второй, CONFIG.SYS, вот такой:

FILES=20 BUFFERS=40

Это файл конфигурирования системы. Здесь мы задали число максимально возможных открытых файлов и число максимально возможных дисковых буферов.

Если у вас не чистая установка DOS, то прописываем эти параметры и имена переменных в соответствующих файлах.

После этого тестовая программа (из комплекта компилятора) должна будет собраться и запуститься. Отлично.

❯ SDK

Теперь нужно установить Windows SDK. Поставляется он опять таки на нескольких дискетах.

Вставляем диск номер два и выполняем следующие команды:

C:
copy A:\INSTALL.BAT C:\INSTALL.BAT
CD \
INSTALL \BIN \WINDOWS \INCLUDE \LIB

После этого начнётся установка.

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

❯ Ставим Windows

А пока что отвлечёмся от установки инструментария и произведём ещё одну установку Windows.

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

Собираем тестовый стенд.

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

❯ Пишем первую программу

Ну что же, время попробовать что-нибудь собрать. В составе SDK есть и какие-то примеры кода. С них-то и начнём.

Находим папку HELLO и копируем её на жёсткий диск. Теперь заходим в неё и выполняем команду:

make hello

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

Можно даже попробовать запустить свежесобранный экзешник и убедиться, что приложение действительно требует для работы Windows.

Поэтому заходим в Windows, запускаем, и, если всё получилось, на экране должно будет появиться примерно следующее:

Отлично!

❯ Что же тут происходит?

Взглянем на исходник этого приложения.

Файл достаточно внушительной длины (больше полутора сотен строк). Тем не менее, там можно встретить много того, что есть и в куда более свежих программах для Windows на Си.

Вообще, первые версии Windows были просто оболочками, не имели никакой многозадачности, а целью их создания было не выпустить полноценную ОС, а облегчить работу с DOS. Несмотря на это, кое-что из появившегося в них либо претерпело значительное развитие и используется и до сих пор (например, GDI, много позже ставший GDI++ и использующийся и сейчас, появился с самых первых сборок Windows), либо ушло в историю, но оставило свой след (например, параметр hPrevInstance, использовавшийся в Win16 и всегда равный NULL в Win32).

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

❯ Тесты на ПК

Теперь попробуем запустить тестовый стенд.

Насаживаем перемычку между контактами PS_ON и землёй на кросс-плате, запуская тем самым блок питания. Через несколько секунд компьютер проходит POST и начинает загружаться. Можно набирать WIN и пробовать запускать софт.

Всё успешно работает!

И ещё одно приложение — показ фигуры заданного мышкой размера.

❯ Утилиты

Помимо инструментария для сборки в комплекте с SDK идёт несколько графических приложений. Само собой, никаких интерактивных редакторов кода с ним не поставлялось: для написания программы надо было открыть текстовый редактор, набрать там код, закрыть редактор, попробовать собрать приложение, затем при необходимости снова открыть редактор и исправить ошибки. И так очень много раз. Но всё же несколько интересных утилит тут имеется.

Первая из них — это редактор шрифтов.

Следом идёт редактор иконок.

В Windows 1.0 нет ни рабочего стола, ни панели задач. Единственное место, где видны эти иконки, так это при сворачивании приложения. Снизу видны открытые HELLO.EXE, MS-DOS Executive и калькулятор.

Вот так выглядит процесс редактирования.

И, наконец, самое важное. Это редактор диалогов.

Весь интерфейс программы создаётся в нём и сохраняется в виде двух файлов — ресурсов и заголовков.

❯ Что же в итоге?

Несмотря на то, что программирование под Win16 по сути умерло, некоторые порой всё же пробуют что-то написать. Кому-то это надо из любви к ретрокомпьютерам, кому-то — ради того, чтобы оживить какой-то древний, но очень нужный и приносящий очень много денег софт.
Но всё же если вдруг вас так и тянет попробовать что-то написать под древнюю ОС, то рекомендую начать опыты с Windows 95 или 98. Под них куда больше документации и примеров кода, а инструментарий намного более удобен.
Такие дела.

❯ Ссылки


Материал получился очень объемным, но весьма интересным. Все иллюстрации не влезли. Но их можно изучить в

оригинальной статье.


Написано при поддержке Timeweb Cloud.

Больше интересных статей и новостей в нашем блоге на Хабре и телеграм-канале.

Реклама ООО «ТАЙМВЭБ.КЛАУД», ИНН: 7810945525

Показать полностью 24
Отличная работа, все прочитано!

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества