Сообщество - TECHNO BROTHER

TECHNO BROTHER

2 083 поста 13 661 подписчик

Популярные теги в сообществе:

295

КПМ 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
615
TECHNO BROTHER

Ретропонедельник №231. Дистанционный измеритель температуры и влажности ИТВ-1М

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

Вообще прибор интересен тем, что он морально устарел на момент создания. Он 1990 года выпуска, документация - 1982 года. Технологии - годов 30х. При этом произведен аккуратно, с обилием ручного труда, так что его стоимость представить страшно. Полный комплект в укладке 310 кг, в основном из-за массы кабелей - до каждого датчика 100 м.

Произвел его свердовский завод гидрометприборов. Логотип завода долго был не опознан, пока не нашелся формуляр. В Ретропонедельнике №63 было радио, произведенное этим заводом, и там логотип был другой. (работа над каталогом логотипов ведется, но как то энтузиазм поугас)

Итак, прибор предназначен для измерения температуры и влажности, можно использовать до 10 датчиков, каждый со 100 м кабелем. Прибор стационарный, но если нужно - есть возможность подключения своего источника питания 30В (что странно, почему не использовали 24В - не ясно)

Датчик и спичечный коробок для масштаба:

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

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

Датчик:

Имеется шкала, показания влажности можно считать и так. Внутреннее пространство условно герметично. Стекло минеральное, гнутое.

Рычажный механизм:

Натяжитель:

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

Ну и конечно же я для вас сорвал все пломбы и сфоткал начинку:

Телеграм канал, для тех кому удобнее следить там - в профиле.

P.S. Всем комментаторам "а чо не помыл перед фото", "а чо свет не сделал нормальный", "а в чем фотошоп, вон на гистограмме недодержка" - я и так на этот пост потратил 4 часа, включая сканирование инструкции, формуляра, кадрирование и т.д. Если добавить время фотографирования, разборки - еще час можно накинуть. Если вы готовы помогать и взять на себя часть работы (да хоть даже поиск инфы и написание текста) - моя почта не менялась pavel@serkov.me Насильно потреблять мой контент никто не заставляет.

Показать полностью 22
1251
TECHNO BROTHER

Ответ на пост «Почему видюхи стали золотом — история Nvidia: от позорного эпик-фейла до ИИ-монстра»1

Если честно, статья - полный трешак) Написано быдлоязыком, отсутствует авторский стиль и почерк, ноль фактчекинга, обесценивание техник, применявшихся в те годы и подмена фактов. Как только автору указали на то, что 2D-карточки в 90-х уже были не "тупыми" RAMDAC'ами, выводившими фреймбуфер на монитор, а вполне полноценными 2D-акселлераторами с аппаратным блиттером и функциями для рисования примитивов - сразу слив мол "ну это для ботанов, а тут простым языком о бизнесе". Что-ж, если есть желание примкнуть к "ботанам" и почитать нормальные статьи про GPU тех лет - милости прошу в мои материалы про 3dfx и S3 ViRGE, которые набрали по 300 и 700 плюсиков, а не 3к:

Ответ на пост «Почему видюхи стали золотом — история Nvidia: от позорного эпик-фейла до ИИ-монстра»

Игровая легенда из 90-х: Как работала 3dfx Voodoo «под капотом»? Пишем 3D-приложение нуля на Glide (1/2)

3D видеокарта-«декселератор» из 90-х. Как работала S3 ViRGE «под капотом»?

Показать полностью 1
38
TECHNO BROTHER

А никто Xbox Original не продает часом?

Когда то досталась мне бесплатно из игрового автомата. Я на ней поиграл несколько лет и захотел обменять на пс2 слим, а в 2019 вообще никто меняться не хотел :) Я сдуру продал за 2.500 и пробухал (мне было 18). Теперь вот хочу снова купить и не только погамать, но и Хоумбрюшечку туда запилить (а конкретно портировать демку, которую сейчас пишу для ретропк).

На Авито недавно было пару вариантов по 6к с геймпадами и алладином, но я чуть не успел до аванса (: так что если кто то продает в пределах указанной выше цены - пните пожалуйста)) можно с нерабочим приводом.

А никто Xbox Original не продает часом?
159

Программирование для 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
267
TECHNO BROTHER

[Здесь должен быть остроумный заголовок, который все объясняет]

В комментариях можно предположить, что хотел сказать автор этими арт-работами.

Показать полностью 5
546
TECHNO BROTHER

Ретропонедельник №230. Перочинные ножички

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

Сегодня у нас перочинные (и не только) ножички.

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

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

Свой первый перочинный ножик я не сохранил, но он был довольно простой.

Ретропонедельник №230. Перочинные ножички

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

Кухонный ножик из нержавеющей стали из 1980х. До этого в ходу были ножи из обычной углеродистой стали, ржавели от косого взгляда.

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

Телеграм канал, для тех кому удобно там - в профиле.

Показать полностью 34
1429
TECHNO BROTHER

Тайна самой дешевой Linux-консоли с Ozon

Год назад на просторах маркетплейсов появилась невиданная ранее диковинка — ретро-консоль с Linux на борту под немудреным названием R36s. На первый взгляд кажется что это очередная нонейм-консоль собранная из неликвидных комплектующих, однако при детальном рассмотрении выясняется, что это очень мощный гаджет не только для любителей ретро-игр, но и для гиков!

Сейчас консоль стоит на маркетплейсах всего 1.800 рублей. Но если бы всё так было просто... Если вам интересно узнать, откуда в 2025 году взялся 2х-ядерный MIPS с частотой 1ГГц, что представляет из себя R36s на практике и как не запутаться в великом множестве ревизий — жду вас под катом!

Предисловие

Портативные игровые консоли с Linux на борту берут своё начало с 2000-х годов. Изначально это были относительно дорогие малотиражные гаджеты, созданные исключительно для гиков, а их стартовая библиотека игр была слишком мала для рядового геймера. Однако мощное железо, наличие свободного SDK и возможность запускать любое хоумбрю привлекали энтузиастов со всего света — и сообщество не только разрабатывало новые игры «с нуля», но и портировало эмуляторы и игры с других платформ. Одной из первых таких консолей была известная в узких кругах GP2x от корейской компании GamePark Holdings:

GP2x во всей красе!

GP2x во всей красе!

Однако GP2x, как и её последователи, так и осталась исключительно гиковским гаджетом не получив широкого распространения. С одной стороны на это повлиял малый рынок сбыта (США, Корея и ещё некоторые страны), с другой — консоль стоила слишком дорого, целых 190$. За 250$ можно было купить уже PSP 1000 — которая была не только в разы мощнее, но ещё и предоставляла куда более обширный мультимедийный функционал. Ближе к 2007 году, в Китае случился бум мощных мультимедийных чипсетов (SoC) от локальных чипмейкеров, благодаря чему практически каждую неделю выходили новые модели MP4-плееров. Помимо базового функционала просмотра видео и прослушивания музыки, производители добавляли возможность читать электронные книги, снимать фото на встроенную камеру и даже играть в игры...

И вот с играми у таких консолей всё было хорошо. Дело в том, что чипсеты в этих плеерах обычно базировались на современном и мощном для тех лет ядре ARM926EJ-S, которое свободно работало на частоте от 104 до 208МГц. Помимо этого, в таких чипсетах был достаточно продвинутый контроллер дисплея, который позволял не только выводить фреймбуфер на ЖК-матрицу, но и быстро рисовать примитивы по типу линий и прямоугольников, а также копировать изображения на дисплей (BitBLT). Покумекав, китайцы поняли — если MP4-плееру приделать игровые кнопки и портировать туда эмулятор NES, то он становится вполне полноценной портативной ретро-консолью. Учитывая что встроенная память позволяла загрузить почти весь ромсет NES, это были почти ультимативные устройства для ретро-гейминга!

Это было гениально... И ведь эта консоль появилась за 3 года до PSP Go! Иронично что эта модель выпускалась также под брендом Sony (как клон).

Это было гениально... И ведь эта консоль появилась за 3 года до PSP Go! Иронично что эта модель выпускалась также под брендом Sony (как клон).

Но такие устройства все равно стоили достаточно дорого. Qumo GameBox LE на фото выше стоил около 4.000 рублей в московской рознице по состоянию на 2008 год и поэтому был по карману далеко не всем. Однако всё изменилось, когда в феврале 2009 года, малоизвестная китайская компания Dingoo представила свою первую ретро-консоль — A320, по цене всего лишь в 70$. Консоль стала настоящим бестселлером: уже из коробки она предлагала возможность играть в игры с GBA, NES, Neo Geo, SNES и Sega Mega Drive, а также функционал полноценного плеера. A320 был удобен в использовании, у него был неплохой 2.4 дисплей с приличным разрешением в 240x320, да и с точки зрения эргономики консоль очень хорошо ощущалась в руках.

Однако главной особенностью Dingoo A320 была отнюдь не цена или форм-фактор кирпичика, а используемый чипсет. Дело в том, что одним из чипмейкеров, который посодействовал буму мультимедийных чипов, была китайская компания Ingenic. В отличии от конкурентов, её чипсеты использовали MIPS-совместимое ядро собственной разработки под названием XBurst, которое могло работать на частоте аж до 400МГц. Ingenic была публичной компанией и поэтому предоставляла доступ к своему ftp-серверу с даташитами, схемами на референсные платы, а также портами Windows CE/Linux всем желающим. В какой-то момент испанский инженер Игнасио Гарсиа заметил схожесть платы консоли с одной из референсных плат (Caetus) и смог успешно запустить ядро Linux от рефборды. Вот тут всё и началось...

После написания драйвера ввода и дисплея, Игнасио опубликовал гайд по установке Dingux, после чего на A320 начали портировать софт с GP2x и других консолей. Маленький кирпичик за 70$ не только научился эмулировать даже весьма экзотические платформы, но и обзаводился своими собственными играми. Сообщество поддерживало A320 даже спустя 4 года после релиза...

Итогом стало появление Ritmix RZX-50 — игровой консоли с Dingux на борту.

Итогом стало появление Ritmix RZX-50 — игровой консоли с Dingux на борту.

Но время шло, Android становился всё популярнее, а портативный гейминг понемногу «переезжал» в смартфоны и планшеты. Здесь китайские производители тоже были на шаг впереди и на базе бюджетных планшетных чипсетов начали выпускать игровые консоли, представляющие из себя эдакий планшет с стиком и кнопками. Цена и функционал таких устройств снова поражали: уже в 2012 году, за ~150$ можно было получить игровую консоль с 7"-дисплеем, одноядерным 800МГц-процессором, видеоускорителем Mali-400, 512МБ оперативной памяти и Wi-Fi модулем. И вот тут то Dingoo A320, как и её бесчисленные клоны, начали отходить на второй на план...

Однако было ещё несколько попыток сделать Linux-консоль. Самой перспективной была GCW Zero с Kickstarter, которая использовала куда более мощный чипсет Ingenic JZ4770 с видеоускорителем Vivante GC960... Но увы, консоль постигла та же участь, что в 2005 и GP2x. Рынок портативных Linux-консолей спал примерно до 2019 года — пока не появились реинкарнации GCW-Zero в виде Retro PocketGo V2 и Anbernic RG-350. Эти консоли — немного доработанные ревизии оригинальной GCW Zero с Type-C вместо MicroUSB. А уже к 2020 году начали появляться консоли на базе чипсетов AllWinner F1C100s и RK3326, и индустрия портативного рейтро-гейминга заиграла новыми красками!

Как итог — на рынке появилось множество брендов по типу Anbernic, Miyoo и Data Frog, в бюджетном сегменте все они продают +- похожие консоли, аппаратную часть которых предположительно разрабатывает и производит одна и та же компания. Сначала эти консоли стоили около 100$, затем стало возможным найти вариант за ~75$, а теперь — так вообще за 23$ или 1.800 рублей! Но всё ли так просто? Для проверки я приобрел 3 вида R36s: «клон» на MIPS-процессоре от подписчика под ником Avia, новую консоль за 1.800 рублей с Ozon и ещё один «как-бы клон» R36s у подписчика Романа. Давайте же узнаем что у них находится под капотом!

Отделяем котлеты от мух

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

Особо внимательные читатели могут обратить внимание на разную обвязку вокруг 3.5мм разъёма.

Особо внимательные читатели могут обратить внимание на разную обвязку вокруг 3.5мм разъёма.

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

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

На этом фото клон расположен справа.

На этом фото клон расположен справа.

И вот здесь то мы и видим главное отличие: при общей схожести обеих плат, в клоне используется экзотический процессор в корпусе LQFP вообще без какой-либо маркировки. При детальном рассмотрении оказывается что это не просто какой-нибудь ARM-чипсет в духе AllWinner F1C100s, а настоящая экзотика — HiChip C3100 с MIPS-ядром, работающим на частоте аж до 1ГГц! К сожалению детали реализации неизвестны, но скорее всего используется либо лицензированное ядро Ingenic XBurst II, либо HiChip разработали что-то своё.

C3100 представляет из себя систему на кристалле с контроллером DDR3 памяти и большим количеством самой разной периферии по типу I2C, I2S, SPI, UART, USB и eMMC. Однако в отличии от оригинальной консоли, у чипсета нет полноценного GPU, из-за чего мы лишаемся поддержки 3D-игр, а также шейдеров в эмуляторах. Зато в отличии от оригинальной консоли, у C3100 есть поддержка HDMI и даже NTSC/PAL!

В остальном же, элементная база у клона стандартная для устройства подобного формата. Чуть ниже процессора распаяна SPI-флэшка 25-ой серии, на которой содержится загрузчик ОС и предположительно ядро. Ближе к динамику расположилась неизвестная микросхема-усилитель звука, а два чипа с нижней части платы — это I2S ЦАП TM8211, который отвечает за воспроизведение звука и чарджер литий-ионных аккумуляторов ETA9740.

С обратной стороны платы можно найти один единственный чип памяти Samsung K4B2G1646E-BCK0 типа DDR3 и объёмом всего в 256МБ.

Как же отличить клон от оригинала? Да очень просто: достаточно лишь вытащить MicroSD-карту с ОС и если устройство при включении попросит вставить карту памяти — значит это клон на MIPS-процессоре. Но если вы фанат гаджетов на необычном железе — рекомендую всё же оставить такой интересный экземпляр себе!

Оригинальная консоль конструктивно практически не отличается за исключением используемых моделей чипов. Здесь всё также используется усилитель TCS7191A, а в качестве чарджера выступает микросхема 4057AN (да, брат той самой TP4056!), при этом необходимости в отдельном ЦАПе уже нет. Но вот железо — уже совершенно другого уровня!

В качестве сердца устройства, здесь выступает чипсет Rockchip RK3326, который состоит из четырех ядер Cortex-A35, работающих на частоте до 1.5ГГц, видеоускорителя Mali-G31 с поддержкой Vulkan, а также контроллеров различной периферии — SPI, I2C, UART и MIPI. В тандеме с ним работают два чипа DDR3-оперативной памяти Micron D9SHD (MT41K256M16TW-107), каждый объёмом в 512МБ. Как и в случае с клоном, постоянной памяти у устройства нет — предполагается использование двух MicroSD карт памяти: первая с системой и встроенным паком игр, а вторая — на усмотрение пользователя.

Как я уже говорил ранее, дисплеи на устройствах одинаковые — это 3.5" IPS-матрица с разрешением 640x480 и интерфейсом MIPI DSI, однако контроллеры у разных ревизий отличаются. Дело в том, что заказывая замену на AliExpress или используя дисплей от донора, у вас есть все шансы получить белый экран или артефакты. Решается это относительно просто: достаточно лишь найти подходящий dt-оверлей с корректно-прописанным контроллером дисплея и подкинуть его на карту памяти.

В качестве аккумулятора обе консоли используют литиевый элемент ёмкостью в 3.500мАч. Вполне неплохо!

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

Однако даже если вам попалась ревизия на RK3326 — это не повод сразу же радоваться. Дело в том, что на маркетплейсах продаётся ещё одна вариация R36s (предположительно просто другая ревизия), где объём оперативной памяти сокращен вдвое — с 1ГБ до 512МБ. Её можно опознать и без разборки устройства: если у вас версия с прозрачным корпусом, то один чип памяти - прямой признак «клона».

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

Тестируем

В комплекте с консолью идёт MicroSD карта памяти объёмом 64ГБ с операционной системой и набором ромов. Важно сразу же подключить флэшку к ПК и скопировать все файлы из корневого FAT32-раздела: производитель использует отбраковку, которая даже в режиме «только чтение» умудряется полностью сыпаться и «кирпичить» консоль. В случае если у вас нет бэкапа — поищите подходящий dtb, ядро или попробуйте поставить прошивку от K36s — у этих консолей огромное коммьюнити и всевозможные бэкапы уже есть в сети.

В зависимости от установленной прошивки, вас могут встречать два вида меню: EmuELEC на MIPS-клоне и ArkOS на оригинальном устройстве. Прошивку всегда можно обновить, скачав образ вот здесь. Есть и другие кастомные прошивки — на любой вкус!

Слева консоль с свежей ArkOS 2.0, справа — с чуть более старой ArkOS.

Слева консоль с свежей ArkOS 2.0, справа — с чуть более старой ArkOS.

Конечно-же «эмуляторным» сердцем консоли выступает RetroArch. В комплекте с каждым дистрибутивом предустановлено огромное количество ядер самых разных систем: от классических NES/SMD/Neo Geo, до экзотики по типу Amstrad и даже сложных для эмуляции консолей по типу N64 и PSP. Помимо эмуляторов, в консоли предустановлен рантайм Pico-8 (платформа предлагает современные игры в ретро-стилистике, написанные на Lua), а также есть возможность установки других нативных приложений как, например, reVC для игры в GTA: Vice City!

За свою цену, консоль показывает себя в играх просто прекрасно. Её даже нельзя сравнить с устройствами 2020-2022 года по типу Powkiddy X12, она лучше них вообще во всем. Классические платформы по типу NES и SMS консоль эмулирует прекрасно: лагов нет, нагрев минимален, а благодаря сочному дисплею с соотношением сторон 4:3, игры ощущаются почти также, как в свое время на CRT-телевизорах (с поправкой на отсутствие сглаживания, конечно. Но при желании можно включить соответствующий CRT-шейдер).

Тоже самое касается и консолей потяжелее. R36s свободно тянет любое игровое устройство до PlayStation 1 включительно и благодаря хорошему ромсету, можно долгие часы залипать в классику по типу Crash Bandicoot. У консоли всё очень даже неплохо с 3D, единственный момент — хоть GPU и поддерживает Vulkan, в самой системе libvulkan нет, только GLES 3.0.

Даже с играми для Nintendo DS консоль показывает себя в лучшем свете. Есть специальная кнопка для переключения дисплеев, плюс виртуальный курсор для эмуляции стилуса. В New Super Mario играть одно удовольствие.

А вот реальные проблемы начинаются уже с PSP при игре в нативном разрешении, причём даже с пропуском софтовых эффектов. Если в кадре есть ощутимый Overdraw — игра начинает жутко тормозить и при этом у меня есть большие сомнения, что Mali G31 не тянет сцены уровня PSP. Но учитывая что у PSP был аппаратный вершинный конвейер, навряд-ли здесь упор в процессор...

Заключение

Да уж... до чего дошёл прогресс, полноценная Linux-консоль с «трушным» квадратным IPS-дисплеем и достаточно мощным чипсетом стоит всего 1.800 рублей. Для кого-то эти устройства покажутся одноразовым мусором, однако на практике R36s — чудо инженерной мысли!

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

А если вам интересна тематика ремонта, моддинга и программирования для гаджетов прошлых лет — подписывайтесь на мой Telegram-канал «Клуб фанатов балдежа», куда я выкладываю бэкстейджи статей, ссылки на новые статьи и видео, а также иногда выкладываю полезные посты и щитпостю. А ролики (не всегда дублирующие статьи) можно найти на моём YouTube канале.

Если вам понравилась статья и вы хотите меня поддержать, у меня есть Boosty, а также виджет на Пикабу ниже. Всем огромное спасибо!

Что думаете о R36s?
Всего голосов:
Что думаете о таком формате статей?
Всего голосов:

Подготовлено при поддержке @Timeweb.Cloud

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