# Downgrade #33

uav1606

Журнал "Downgrade" #33

### От редактора


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

Коротко про этот номер. Он вышел на редкость объёмным, а ещё в этом выпуске есть необычная вещь – фантастический рассказ Артёма Курамшина. Собственно, почему бы и нет? Ведь рубрика Downgrade-арт создавалась в том числе и для публикации чего-то подобного.

Кроме того, в этом номере как всегда интересные обзоры различного софта от Андрея Шаронова, продолжение цикла Forza3dfx о создании трейнеров к играм, интервью с Rudiger Kurth – админом немецкого сайта robotrontechnik.de (посвящён компьютерной технике ГДР), а также многое другое.

Жаль, что авторы (кроме В. Веселова) не поддержали предложенную «зимнюю» тему номера, но что поделаешь.

Думаю, всё равно в этом номере для каждого найдётся что-то интересное.

Как обычно, если у вас есть пожелания, предложения, статьи и различное творчество на тему Downgrade, присылайте мне на e-mail uav16060 [ne kot] mail.ru


uav1606


### Теория Downgrade

#### Новости, события, комментарии


35 лет Windows 1.0

20 ноября 1985 года Microsoft официально объявила о выходе первой версии Windows. На самом деле, система была презентована Биллом Гейтсом ещё в 1983 году, затем два года шла разработка (в ходе которой было выпущено несколько тестовых версий, которые были переданы разработчикам ПО и OEM-поставщикам).

Официальная же презентация (версии 1.01) состоялась только через два года – 21 ноября 1985 года.

В состав системы вошли следующие программы: Write, Paint, калькулятор, календарь, блокнот, часы, картотека, эмулятор терминала и игра «Реверси».

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


Nintendo перевыпустила Fire Emblem: Shadow Dragon & The Blade of Light

В честь 30-летия игры (оригинал вышел 20 апреля 1990 года) компания выпустила переведённую на английский язык версию игры для платформы Nintendo Switch. (До этого первая Fire Emblem была доступна только на японском.)

Официальная страница игры:

https://www.nintendo.ru/-/-Nintendo-Switch/Fire-Emblem-Shadow-Dragon-the-Blade-of-Light-1861461.html


QEMU Advent Calendar 2020

QEMU Advent Calendar – своеобразное ежегодное мероприятие в сообществе QEMU – желающим предлагается присылать образы дисков с чем-нибудь интересным, в основном на ретротематику. Естественно, диски должны запускаться под QEMU. Затем образы публикуются по одному в день - с 1 по 24 декабря.

Посмотреть результаты 2020 года можно здесь:

https://www.qemu-advent-calendar.org/2020/

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


Новый мод для Doom

Кристофер Голден, разработчик из Южной Африки, в честь 25-летия Doom II выпустил масштабное дополнение к этой игре. DOOM Zero включает 30 уровней, новых монстров, а также обновлённую графику, звук и музыку, ну и некоторые другие модификации.

Самое приятное в этом моде то, что он нормально работает с классической DOS-версией Doom II (некоторые другие моды требуют современные порты вроде ZDoom), установка также очень простая – просто скопируйте все файлы мода в каталог с Doom II, а затем запустите DOOMZERO.BAT.

Здесь можно прочитать интервью с разработчиком:

https://slayersclub.bethesda.net/ru/article/4qkCTXEiilEgm☺aGzcgLgj/nods-to-mods-interview-doom-zero

А сам мод можно скачать тут:

https://www.moddb.com/mods/doom-zero/downloads


Snark Barker для MCA

Проект Snark Barker – попытка воссоздать звуковую карту Sound Blaster на современных (относительно) компонентах. Автор (schlae) провёл реверс-инжиниринг оригинального SB 1.0, чтобы затем точно воспроизвести его в новом воплощении – сначала для шины ISA. Ну а недавно появилась и довольно экзотическая версия проекта для шины MCA:

https://github.com/schlae/snark-barker-mca


Выпущена Zelda: Remastered

Разработчик с ником Aclectico опубликовал улучшенную версию классической NES-игры The Legend of Zelda (1986 года). Ремастер-версия имеет улучшенную графику, звук и музыку. Для работы требуется эмулятор Mesen:

https://ci.appveyor.com/project/Sour/mesen/build/artifacts

Сам HD-pack можно скачать тут:

https://www.romhacking.net/forum/index.php?topic=31559.0

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

https://st.emulroom.com/games/dendy/legend-of-zelda.zip

Ну а потом понадобится настроить Mesen в соответствии с ZeldaRemasteredReadme.


Новости с аукционов

На этот раз на RR Auction за 630 тыс. долларов была продана раритетная схема компьютера Apple II. Причём нарисована она была самим Стивом Возняком, что он подтвердил лично. Проданный лот включал 5 страниц схем, 12-страничное рукописное руководство по программированию и 6 фотокопий с различной информацией по аппаратуре (с рукописными пометками Возняка). Документы датируются 1975 годом.

Лот можно посмотреть тут:

https://www.rrauction.com/PastAuctionItem/3437880


Doom на Sega Mega Drive

На чём только фанаты не запускали Doom! На этот раз krikzz удалось запустить эту игру (использовались исходники Linux-версии) на 16-битной приставке от Sega. Правда, пока удалось достигнуть только чёрно-белой картинки с FPS не более 2, причём даже такой скромный результат удалось получить лишь с серьёзной оптимизацией кода.

Автор порта выложил исходники здесь:

https://github.com/krikzz/doom-68k

Короткое видео с игровым процессом можно посмотреть тут:

https://leonardo.osnova.io/a5af9ba0-ea42-582a-aedc-998529fa0f4e/-/format/mp4/


Обзор подготовили:

Вячеслав Рытиков (eu6pc)

uav1606


#### О «Роботроне» и не только: интервью с Rüdiger Kurth


Вашему вниманию предлагается интервью с Rüdiger Kurth – основателем и администратором известного немецкого сайта о старой компьютерной технике – http://robotrontechnik.de. Rüdiger любезно согласился ответить на вопросы редакции и рассказать про свой сайт, музей и вообще про компьютерную технику ГДР.


Расскажите о создании сайта robotrontechnik.de. Когда и как он появился? Кто его создавал, какова была ваша роль?


Я один из основателей этого сайта, администрирую его, также я автор многих описаний.

До 1990 года компьютерная индустрия в ГДР переживала времена расцвета.

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

Поэтому примерно в 2000-м году мы начали проект Robotrontechnik.de, чтобы собрать и сохранить факты о любых компьютерах ГДР.

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


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


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


Много ли людей сейчас в команде сайта?


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

Я также веду интернет-форум, там больше активности: люди общаются по поводу ремонта старых компьютеров, некоторые разрабатывают новые компоненты, новые компьютеры или программы в старом стиле. Есть также небольшая торговля этими вещами.


Сайт (тогда ещё robotron-net.de) в 2003 году


Как пополняется ваш виртуальный музей? Вы работаете со старыми книгами, журналами, архивами?


Я собираю всю информацию, которую могу добыть:


- провожу интервью с людьми, имеющими опыт работы на этих компьютерах;

- читаю руководства, книги, схемы и журналы (из антикварных магазинов, архивов, библиотек, eBay);

- ищу в интернете;

- учусь всякому при ремонте таких устройств;

- сохраняю содержимое старых носителей данных.


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


Общались ли вы (или кто-то из команды сайта) с разработчиками компьютеров и программ ГДР?


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

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

Лишь очень немногие разработчики до сих пор в восторге от своей прежней работы и готовы о ней рассказать.


Не планируете создать реальный музей с компьютерной техникой ГДР?


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


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


Он открыт для публики, но в настоящее время закрыт (как и все другие музеи) из-за пандемии коронавируса. Наша цель – представить экспонаты в рабочем состоянии. У нас больше экспонатов, чем наша небольшая команда сможет отремонтировать за всю свою жизнь.


У сайта когда-нибудь бывали проблемы с правообладателями?


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


Какие у вас планы на будущее? Планируются ли какие-то новые проекты на сайте?


Мой основной план – как можно дольше выжить в интернете. :-)


Общий вопрос: чем, по-вашему, компьютерная техника ГДР отличалась от аналогичной из СССР и стран Запада? Было ли что-то уникальное?


Я думаю, что технологические различия между ГДР и СССР были намного меньше, чем с западными странами: ГДР и СССР были экономиками, управляемыми государством. Таким образом, разработчикам приходилось ждать решения правительства, компоненты были редкими и перед покупкой должны были быть утверждены государством. С другой стороны, соперничество между компьютерными компаниями не было актуальным, поэтому не было необходимости делать много рекламы и не нужно было обгонять конкурирующие компании. Поскольку компьютеры ГДР было трудно достать, они были рассчитаны на более длительную работу, чем большая часть (но не все) западных компьютеров. Компьютеры ГДР требовали ремонта, и подробные описания и схемы были доступны для обслуживающего персонала. Большинство гражданских компьютеров ГДР получали разрешение на серийное производство только в том случае, если им срочно не требовались импортные компоненты из западных стран.

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

Советские компьютеры и компьютеры из ГДР также схожи тем, что были быстро сняты с эксплуатации в начале 1990-х годов, поэтому до сегодняшнего дня сохранились лишь немногие.


Был ли в то время какой-то обмен специалистами, документацией, компьютерами между СССР и ГДР?


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

Также совместно ГДР и СССР выполнялись и более мелкие проекты, такие как микропроцессор U830/К1883ИА0.


Много ли советских компьютеров эксплуатировалось в ГДР?


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

В другом же направлении это было обычным: более 50% компьютерной продукции в ГДР экспортировалось в СССР.


Какой компьютер ГДР вы считаете лучшим (самым интересным, необычным…)?


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

Очень интересный для меня компьютер – советский МН-17. Но я никогда не слышал о сохранившихся экземплярах...


Аналого-цифровой комплекс на базе  «Минск-22М» и АВМ «МН-17М». Источник фото – И.И. Гурчин,  О.Ф.Ковалев, «История кафедры  “Электронные вычислительные машины”»


Был ли KC-85 основным бытовым и школьным компьютером в ГДР?


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

В школах компьютеры серии KC85 были популярными с середины 1980-х годов. В конце эпохи ГДР у них появился преемник – BIC A5105.

А в частном использовании был более распространён Z1013. Ну и множество самодельных компьютеров.

Большинство современных энтузиастов KC85 получили свои KC85 только после исчезновения ГДР, после того, как такие компьютеры стали дешёвыми и устаревшими.


Компьютер «Роботрон KC85/2». Фото Enrico Grämer


Основная плата компьютера Z1013. Фото Holger Krull (Krulli)


Компьютеры KC-85 использовались в образовании. Существовали ли компьютерные классы с сервером IBM PC?


KC85 – это 8-битные компьютеры на базе процессора Zilog Z80, более близкие к бывшим бытовым компьютерам, чем к IBM PC.

IBM PC-совместимые компьютеры (такие как EC1834) также создавались в ГДР, но не для образовательных целей. Такие компьютеры были очень дорогими (один стоил больше двух автомобилей «Лада»), поэтому они не продавались частным пользователям.


Разрабатывались ли для KC-85 любительские периферийные устройства и контроллеры?


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

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

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


Ощущался ли дефицит программ и игр для KC-85 и CP/M? В СССР дефицит программ был одной из проблем компьютеров собственной разработки.


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

Но были и попытки и в обратном направлении: начать с западных технологий, а потом постепенно переходить на собственные технологии, после того, как развитие программного обеспечения в ГДР, как надеялись, вырастет. Иногда этого делали, чтобы сократить / избежать платежей западным странам.


Вопрос о SCP и CP/А: известно, что они были клонами CP/M. Была ли это самостоятельная разработка с нуля, или же им удалось официально приобрести исходные коды у Гэри Килдалла, и доработать под свои нужды? А может быть, это был пиратский дизассемблинг? Какие у них были особенности, изюминки, перспективы?


В ГДР были не только SCP и CP/A, но и гораздо больше совместимых с CP/M систем, созданных различными способами. Одна из них (MicroDOS) была создана в Советском Союзе. CP/A была написана с нуля Академией ГДР.

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


SCP в эмуляторе Robotron 1715 (EMU)


В СССР и ex-СССР выпускались платы для подключения периферии СМ ЭВМ и ЕС ЭВМ к IBM PC. Разрабатывались ли такие платы в Германии?


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

Подключение периферийных устройств ЕС к PC не было обычным делом.

С другой стороны, существовали интерфейсные карты для использования PC в качестве терминалов на мэйнфреймах СМ и ЕС.


В интернете пишут, что принтеров Robotron SD1154 осталось только пять штук. Вы не знаете, откуда такая цифра? Может быть, у Вас другие данные о количестве этих принтеров?


Это слишком маленькое число. Есть больше SD1154, но ненамного. Я предполагаю около 25 уцелевших экземпляров. На выставке у меня есть SD1154  – и как отдельно стоящие устройства, и как компоненты бухгалтерских машин.


Отдельный вопрос: разрабатывались ли контроллеры и драйвера для подключения SD1154 к IBM PC?


SD1154 выпускался с несколькими интерфейсами (такими как V.24 или Centronics, а также с экзотическими интерфейсами). Так что на этот вопрос нельзя ответить «да» или «нет».

SD1154 был принтером по умолчанию в компьютерах K1510 и типичной разработкой 1970-х годов. Когда началась эра PC и PDP, SD1154 уже был устаревшим, и были доступны более качественные принтеры.

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


Принтеры Robotron подключались к IBM PC. А подключали ли принтеры и другую периферию Robotron к AMIGA?


Поскольку производство A500 началось в 1987 году, а все игольчатые принтеры ГДР старше, конечно, нет встроенных специальных функций для Amiga.

Но почти все принтеры можно было купить с интерфейсом V.24, так что, по крайней мере, их можно было подключить к Amiga.

Принтеры K6313, K6314 и SD1152 продавались в западные страны (в основном с такими причудливыми брендами, как Prasident, Silentrix, Europrint или HandyType). «Роботрон» для этих вариантов изготовил также специальные интерфейсные модули (например, для Atari и C64). Для западных компьютеров принтеры были оснащены специальными наборами символов.

Для принтеров CBM 8028 ГДР производила только механические компоненты. Электронные компоненты поступали из другой страны.


Насколько было сложно приобрести в ГДР экспортные принтеры, например, Prasident? Пользовались ли успехом модели для Commodore C64 и ATARI?Экспортировался ли Prasident 6320 с интерфейсом ATARI в Польшу?


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


Разрабатывались ли модели принтеров и других устройств с интерфейсом GPIB?


GPIB был обычным интерфейсом для измерительных систем в 1980-х годах, также и в ГДР.

Этот интерфейс был у частотомеров с компьютерным управлением, цифровых вольтметров, измерительных компьютеров и принтера G3407.

Применение GPIB вне измерительной техники не было обычным явлением в ГДР.


На сайте у Вас указано несколько интересных 16-битных и 32-битных процессоров: U8001, U8002, U80601, U80701. Были ли они распространены? Были ли распространены компьютеры на их основе?


U8001 и U8002 были распространены, но меньше, чем U880. ГДР бросила линию продукции Zilog в середине 1980-х годов и перешла на линию Intel. Тем не менее, некоторые производители компьютеров использовали U8001 / U8002 в своих продуктах до конца существования ГДР.

Производство U80601 и U80701 началось в последний год существования ГДР, поэтому они не были более актуальны для серийного производства.


Процессор U80601. Фото Konstantin Lanzet


Существовали ли перспективные незаконченные проекты «Роботрона» (компьютеры, принтеры, может, ещё что-то), которые находились на стадии проектирования/разработки, но так и не были выпущены по причине ликвидации предприятия?


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

Для офисных пользователей были запланированы быстрые ПК, лазерные принтеры, струйные принтеры и быстрые рабочие станции (совместимые с VAX). А также некоторые LAN (как Ethernet) и WAN (как Datex). С другой стороны, разработки для мейнфреймов прекращались.


Помимо Robotron, какие ещё существовали  крупные производители электронно-вычислительной техники в ГДР?


·         Numerik: промышленная автоматизация, особенно для инструментальных станков.

·         Carl Zeiss: специальные компьютеры, измерительные приборы, военная техника.

·         EAW (Elektroapparatewerk Berlin-Treptow): промышленная автоматизация.

·         EAB (Elektroanlagenbau Berlin): промышленная автоматизация, роботы.

·         GRW (Geräte- und Reglerwerk Teltow): системы управления технологическими процессами.

·         Erfurt Electronic: промышленная автоматизация.

·         MPM (Mikroelektronik Mühlhausen): домашние компьютеры, карманные калькуляторы.

·         Mansfeld: промышленная автоматизация, ПК.


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


Ценят ли немцы память о технике ГДР? Не только Robotron, но и RFT, Praktica и т.д.


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


Общались ли Вы с другими любителями старых компьютеров из бывшего СССР?


У меня есть контакты с такими фанатами. Некоторые люди из бывшего СССР спрашивают информацию об устройствах из ГДР, которые они нашли в своих странах.

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

Ещё у меня в музее есть советские компьютеры, которые надо отремонтировать. Буду рад контактам с ещё большим количеством энтузиастов и людей, знающих, что такое компьютеры ГДР.


Большое спасибо за ответы!  Удачи и процветания Вашему сайту и музею.


На вопросы отвечал: Rüdiger Kurth

Вопросы задавали:

uav1606

Андрей Шаронов (Andrei88)

Вячеслав Рытиков (eu6pc)


### Downgrade-видео

#### Фан-клуб им. Дж. Кеннеди


В статье, посвящённой «Секретным материалам» в 25-м номере журнала, ваш покорный слуга упоминал об «Одиноких стрелках» – трёх хакерах, с которыми в первый раз столкнулся Малдер в эпизоде «Необычные подозреваемые» (сезон 5, эпизод 3, события же вообще происходят в 1989-м году). В нём молодой сотрудник одной из государственных контор, а именно отдела связи с общественностью федеральной комиссии связи (видимо, пресловутой FCC, идентификаторы которой любой периодически видит на платах), Джон Байерс встречает на выставке девушку, которая, как узнаем из серии, окажется втянутой в правительственный заговор. Парень втянет ещё двух ребят – уже действительно хакеров, а не умника, знающего «пару трюков с пятой версией VMS» – Мелвина Фрохике и Ричарда Лэнгли. Им предстоит столкнуться и с правительственным агентом Малдером, который будет казаться им злодеем, но в итоге огребут все, и с людьми в чёрном, и с американским правосудием :-).

Никто не ждал, никто не хотел, но все четыре героя если не сдружатся, то в дальнейшем будут работать вместе. Байерс, Фрохике и Лэнгли  станут жечь сердца людей глаголом, а вернее, издавать газету «Одинокий стрелок» с расследованиями тёмных делишек правительственных структур. Малдер же будет заниматься примерно тем же самым, но за счёт средств налогоплательщиков. В некоторых эпизодах «Секретных материалов» он будет прибегать к помощи троицы.

Трём товарищам – Байерсу, Фрохике и Лэнгли  – будет посвящён отдельный сериал – «Одинокие стрелки». Но сегодня мы коснёмся как некоторых серий «стрелков», так и эпизодов «Секретных материалов» с их участием.

Так получилось, что в «Одиноких стрелках» наши герои выступают не только как хакеры, но и как журналисты, ведущие расследования. Большинство серий посвящены именно таким расследованиям, посему в тематику журнала они не вписываются (но от этого не стоит отказываться их смотреть – я смотрел с интересом и удовольствием :-), но в статье мы коснёмся именно «компьютерных» эпизодов: пилотного и первой серии.


Хакеры идут по следу


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

Итак, перед вами три ухаря, которые решили утащить новый процессор – Octium IV. Они хотят продать его китайцам? Прогнать тесты производительности и написать об этом первыми? Нет! Оказывается, подлые разработчики ввели в новый камушек беспроводной модем, который будет пересылать обрабатываемые данные на нужный сервер. Бред сивой кобылы – скажете вы. Вот и ребята решили достать железобетонные доказательства своей правоты и... провалились.


Рис. 1. Мелвин Фрохике пытается утащить новый процессор


Рис. 2. Вот оно – яблоко раздора. Даже в корпусе с золотой крышкой :-)


Новые процессоры воруют не только ради того, чтобы рассказать людям правду о «закладках», но и в коммерческих целях. И если вы догадались, как можно украсть интересную многим вещь, найдётся и кто-то другой, который попытается сделать то же самое. В данном случае таким «кем-то другим» оказалась международная авантюристка, промышленный шпион (пардон, шпионка, как-то коряво звучит), хакер и просто симпатичная девушка – Ив Адель Харлоу (как узнает зритель потом – Лоис Ранс)


Рис. 3. Ив с процессором и в маске


Рис. 4. Ив без маски, но из другой серии


Но серия только начинается. Только в этой серии ребята столкнутся с загадочным «самоубийством» отца Байерса, коварными правительственными агентами и убийцами-чистильщиками. Окажутся на приговорённом к катастрофе самолёте. Но с честью выпутаются из неприятностей. Да и отец Байерса перестанет считать сына балбесом. Хоть на каплю :-)


Одна маленькая, но гордая...


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

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

Мало того, Лэнгли внедрится в логово злодеев в качестве нового, более лояльного хакера.

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


Рис. 5. Да, это Джеймс Бонд, вернее, чаще его называют всё же Джимми


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

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


Ваш личный «25-й кадр»


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

Однако в большинстве случаев ребята выступают как журналисты, эксперты по всем вопросам, но не как хакеры и электронщики – да, компьютер – наше всё, но он остаётся на втором плане. Исключением является, разве что, эпизод «Шутер от первого лица», описанный в 25-м номере, и, например, 23-й эпизод третьего сезона – «Сырой монтаж».

Про 25-й кадр и «зомбирование» по телевизору говорят давно. Что нам передают не только ту картинку, которую мы видим, но нечто, что воспринимается напрямую подсознанием. Что передаёт телевидение напрямую подсознанию, большинство не знает (да и знать не хочет – ахинеи, которая передаётся открыто, порой хватает :-), а кто-то и боится. В серии тоже телевизор «зомбирует» людей. Хотя, скорее не зомбирует – голубой экран не даёт готовых советов (таким экранам-советчикам посвятили отдельный эпизод :-), а просто поднимает из глубины души страхи и порождает зрительные галлюцинации – кто-то видит военного преступника в каждом встречном, кто-то в соседе – изменяющего мужа, кто-то в детях – волков – на любой вкус, и, главное, – строго индивидуальный подход. А всё из-за чего? Маленькая «капсулка» декодера шифрованных каналов кабельного телевидения, с дополнительным генератором.


Рис. 6. Вот такой декодер – немного отличается от других, зато проблем...


Ребята проверили декодер, привезённый Малдером – сперва осциллографом выявили «паразитный» сигнал, после – сумели декодировать и показать картинку.


Рис. 7. На экране осциллографа – обычное дребезжание сигнала


Рис. 8. Зато в декодированном виде на экране монитора, а заодно и для зрителя телевизора (хоть он понимает это только на уровне мозга) – та ещё «цветомузыка»


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


А что же в остальных эпизодах?


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

Приключений на долю ребят выпало предостаточно – гениальная обезьяна, придумавшая политического убийцу, чтобы переехать из исследовательского центра к подруге в зоопарк, друган Байерса – шантажист, случайно вклинившийся в операцию ФБР против русской мафии. Что только не было показано в сериях сериала! Приключения и загадки были и интересными, и разнообразными! Но сколько можно было придумать ещё приключений и страшных тайн! К сожалению, но сериал получил только один сезон. А ребята – в эпизоде «Секретных материалов» «Прыжок через акулу» (эпизод 15 девятого сезона) – умерли, пожертвовав собой, чтобы остановить новое бактериологическое оружие. Так и закончилась история борцов, жаждущих узнать и рассказать окружающим неприглядную правду о государственных структурах.

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

И да, причём же здесь 35-й президент Соединённых Штатов? Да, собственно, при всём – Джон Байерс родился в день его убийства и в честь сего президента назван. Ив Адель Харлоу – анаграмма имени и фамилии предполагаемого убийцы – Ли Харви Освальда (видимо, в английском варианте действительно анаграмма :-). И, видимо, Джон Кеннеди действительно культовая фигура современной американской истории, раз создатели сделали на него ставку. Почему читателю видится сомнение в голосе автора? Да просто передачи на эту тему по «РЕН-ТВ» больше вызывают тоскливые вздохи, чем интерес. Но у них, видимо, всё иначе.


Андрей Шаронов (Andrei88)


### Книжная полка

#### Две тысячи двадцатый. Частное мнение о книге Михаила Пименова и Павла Токарева «Наша игра».


Возможно, что историю истории отечественной игровой индустрии нужно отсчитывать с 2018 года, потому что именно тогда в издательском доме Synergy book (Москва) вышла в свет книга Михаила Пименова и Павла Токарева «Наша игра. История. Бизнес. Возможности». Через год книга была переиздана, а в 2020-м году вышло уже третье издание, дополненное статьёй Михаила Пименова «Почему люди играют в игры».

Увеличенный формат, твёрдый переплёт, 396 страниц текста… и никаких иллюстраций. Но есть пять страниц диаграмм, отображающих статистику российского рынка игр с 2010 по 2016 гг., а также отдельно по 2017-му и 2018-му годам. За исключением статьи Пименова, большая часть рассказанных историй обрывается планами на 2018-й год, из чего можно сделать вывод, что обновление информации при переизданиях не является приоритетом для авторов.


Дизайн обложки Е.Сущенко


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

Я рассмотрю только некоторые особенности этого знакового издания, полный же разбор ошибок и несуразностей потребовал бы слишком много времени[1].

Открывает книгу раздел «От авторов», с него и начнём наше путешествие.


Павел Токарев, глава студии локализации Inlingo:


Про игры никому рассказывать не надо. Стоит только оговориться, что мы переводим игры на все языки мира, как людям моментально становится все ясно.[2]


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

Я с удивлением узнал, что в современной России есть целых два музея советских действующих игровых автоматов, в Москве и Петербурге[3]. В тексте книги нет ссылок на адреса или ресурсы, вся подобная информация вынесена в раздел «Источники». Конкретно к разделу, в котором рассказано об игровых автоматах, отнесено две страницы интернет-адресов без каких-либо пояснений. У меня печатное издание. Иначе как заурядным хамством по отношению к читателю я это назвать не могу.


Уровень рассмотрения темы игровых автоматов: за основу были взяты западные образцы, а разработкой отечественных аналогов занимались военные заводы, «так как у большинства других не было ни средств, ни специалистов[4]». В СССР была плановая экономика, если заводу спускался план по выпуску продукции, то давалось и финансирование. Что касается именно военных заводов – у них были наиболее гибкие производственные линии, ведь речь шла о выпуске маленьких партий. Что касается специалистов: в СССР было достаточное количество радиотехнических предприятий, выпускавших аппаратуру первого и высшего классов, в том числе поставлявших свою продукцию за рубеж, и она была там востребована. Ни к первому, ни к высшему классу внутренняя начинка и внешнее оборудование игровых автоматов не относились, от них требовались повышенная износостойкость и долговечность – некоторые из них так и работают с тех времён, практически без ремонта.

К сожалению, логика, знание контекста и внимание к деталям не являются сильной стороной этой книги. Характерный пример:


Во времена СССР люди относились к игровым автоматам довольно неоднозначно. Было две категории людей: одни считали, что это что-то интересное, и их было гораздо больше; однако была и вторая категория людей, считавших, что игровые автоматы – это что-то наравне с азартными играми, парадигма неправильного воспитания и в целом некое вредное увлечение. Тем не менее находилось немало игроков как среди детей и подростков, так и среди взрослой аудитории.[5]


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


Игры уже сегодня влияют на нашу жизнь, и если раньше историки правили миром, то сейчас именно создатели игр определяют систему приоритетов, визуальные ценности и даже образование. Этот уровень власти влечет за собой соответствующую ответственность, и поэтому в книге много интервью с реальными людьми, чтобы читатель увидел, как они живут, думают и к чему стремятся.[6]


Даже в Океании, которая никогда не воевала с Остазией[7], правили вовсе не историки. Создатели игр лишь частично определяют систему приоритетов и прочее, в силу того, что игры – это лишь один из сегментов современной культуры. Интервью с реальными людьми практически не выходят за рамки корпоративной этики, не раскрывают психологические типажи интервьюируемых и ничего не сообщают об их образе жизни.


Михаил Пименов, директор разработки образовательных программ факультета игровой индустрии и киберспорта университета «Синергия»/Журналист IGN Russia:


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


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


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


«ГЭГ. Отвязное приключение» – фактически первый российский квест[11], созданный компаниями Auric Vision и ZES’t Corporation в 1997 году. Ориентированный именно на российскую аудиторию, на существующий культурный подтекст. Для своего времени очень хорошо сделанная игра. Это именно квест, с чёткой логикой и обоснованностью действий, а не аркада или сборник головоломок с аркадными вставками. По информации сайта «Нафталиновые квесты» (https://nquest.ucoz.com/):


Он был издан на четырёх языках (Русский Английский, Немецкий и Голландский), отобран для участия в международном шоу «Мир в ХХI веке» по результатам выставки «ECTS`97» в Лондоне, вошёл в десятку лучших игр в стиле Quest по итогам мировой таблицы «Internet WorldChart» Top10 и получил гран-при выставки «АНИГРАФ`98».[12]


История «ГЭГ»-а, пожалуй, заслуживает отдельной статьи, но в книге «Наша игра»… вы правильно догадались, эта игра даже не упоминается. Не упоминается и «пластилиновый» «Падал прошлогодний снег» (в двух частях), отечественная попытка подражания знаменитому квесту «The Neverhood» («Небывальщина»), который упоминается в нескольких разделах, но в тематическом указателе места ему не нашлось. И так далее.

Кстати, издателем «ГЭГ»-а была компания «Новый диск», история которой подана в чрезвычайно интригующей манере – по чуть-чуть в разных разделах и без каких-либо привязок к конкретным датам, и даже из контекста невозможно установить время описываемых событий.


Обещанные рассказы об играх – это только обещанные рассказы об играх. Тогда-то вышла, заработали столько-то, продолжений сделано столько-то. Очень увлекательно. И только о двух играх можно сказать, что они действительно удостоились рассказов о себе, хотя и очень своеобразных: «Тетрис» Пажитнова, потому что это та веха, которую невозможно миновать, и Lada Racing Club, знаковая игра заката отечественного геймдева.

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


В 2006 году вышла одна из самых неоднозначных и, пожалуй, спорных игр на просторах отечественного геймдева – Lada Racing Club от Geleos, изданная «Новым Диском». LRC разрабатывалась два года: сначала командой из 7 человек (руководитель проекта, программист, три художника, PR-менеджер), а под конец – из 13. Всего же в проекте было задействовано 40 человек и вложено в общей сложности полмиллиона долларов, из которых 120 тысяч долларов пришлись на маркетинг проекта. Сначала за программную часть должна была отвечать компания-соразработчик ArtyShock, используя собственный движок, но после критических проблем с программной частью Geleos была вынуждена расторгнуть договор с компанией и в срочном порядке за три месяца до релиза перевести проект на новый движок Dagor Engine 2.5, предоставленный Gaijin Entertainment. На тот момент у GE как раз выходила игра «Адреналин. Экстрим-шоу», на основе которой была воссоздана LRC.

По результатам опроса среди игроков было решено, что игра будет использовать преимущественно хип-хоп треки: главную тему «Капсулы скорости» написала группа «Каста», а клип группы использовал пререндер на основе игровой графики. У концерна «АВТОВАЗ» была получена эксклюзивная лицензия на использование отечественных марок автомобилей, начиная с «копейки» и заканчивая гоночными картингами класса LADA Revolution; также были заключены соглашения с производителями различных «обвесов» для тюнинга. С самого начала игра ориентировалась на внутренний рынок – постоянное мелькание в прессе, попытки удовлетворить всевозможные пожелания игроков и привлечение стендисток на мероприятия, где демонстрировалась игра, только подогревали интерес аудитории, и уже задолго до выхода ее окрестили «убийцей NFS». Игроки ожидали увидеть детально воссозданную Москву, на которой развернется стритрейсинг с участием российских тюнингованных автомобилей, а на КРИ-2005 LRC была названа «самой ожидаемой игрой года».

В день релиза компания «Новый Диск» отгрузила 160 тысяч копий. 20 марта 2006 года, в первый день, продажи в магазине «Всесоюзный» составили порядка 500 копий, что было равнозначно средним продажам топовой игры в рейтинге по всем магазинам «всесоюзного» за неделю. Спустя полгода с момента релиза LADA Racing Club ежемесячно продолжала продаваться в среднем по 10 тысяч копий в месяц, а на момент декабря продажи превысили 300 тысяч копий. Несмотря на объявления о том, что игру можно вернуть или обменять на другие игры издателя, разгромные статьи прессы и завышенные ожидания игроков, было возвращено всего 70 дисков, и это даже несмотря на то, что игра вышла на четырех дисках, с последнего из которых устанавливался ненужный файл: в директории /Levels можно было обнаружить файл levels.pak/bin размером около 1,4 Гб, без которого игра работала абсолютно также.[13]

<…> происшествие с играми «Корсары 3» и LRC, вышедшими с небольшим промежутком времени, очень сильно подорвало кредит доверия к играм отечественной разработки.[14]

<…> С Lada Racing Club тоже случилась, скажем так, выдающаяся история: оставалось 2-3 дня до сдачи номера в печать, когда мы получили на руки диск. Игру дали автору, который специализировался на гонках. Вышла рецензия на 7 баллов. Автор посчитал, что багги смогут поправить до финального релиза, при этом в игре были хорошие модели машин, интересная концепция, и в целом аргументация оценки выглядела вменяемой. Мы поверили – отправили журнал в печать. Далее последовал шквал негативных отзывов на игру, и мы с главным редактором (на тот момент это был Михаил Разумкин) пришли в редакцию, включили игру, и в первом же заезде произошло следующее: один из противников просто сдает назад и упирается в столб, пытаясь периодически предпринять попытки все-таки его протаранить, второй просто замирает на месте. Играл ли автор в другую версию игры или видел нечто менее «эксцентричное», сказать уже сложно, но если бы мы видели все это заранее, то текст бы просто не стали публиковать. Все усугубляла еще одна история: игра продавалась на трех дисках, причем третий диск содержал в себе swap-файл от Windows. То есть по факту набор бессмысленной информации, однако стоимость игры за счет наличия третьего диска была значительно выше. Несмотря на то что я тогда еще не был главредом, за эту историю именно мне приходится отвечать до сих пор. Что до автора, то его уволили, однако через три года он все-таки вернулся и больше в подобных косяках никогда замечен не был. К слову, после увольнения он как раз недолго поработал в студии, разработавшей Lada Racing Club.[15]


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


Вышеупомянутый раздел «Источники» состоит из десяти страниц интернет-адресов. Ни одной ссылки на печатные издания. Наиболее часто цитируемый в тексте книги ресурс – сайт ag.ru, «один из старейших сайтов рунета[16]». Авторы не берут во внимание тот факт, что доступным и массовым интернет стал примерно с середины двухтысячных, а до этого времени порядка десяти лет правили бал «бумажные» издания. Не всё из проходившего тогда «в бумаге» оказалось перенесённым в интернет, соответственно, этот пласт информации рассмотрен не был.

Собственно игровой прессе и тематическим интернет-ресурсам посвящена отдельная глава «Повелители рейтингов: кто определяет, быть ли игре популярной». Позиция редакций «бумажных» журналов, истории которых кратко изложены в этом разделе, была прямо противоположна заголовку: даже за деньги не писали хвалебные отзывы о плохих играх. Из «выходившего в бумаге» рассказаны истории «Великого Dракона», «Game.EXE», Страны Игр», «Игромании», «Навигатора игрового мира». Довольно кратко, с долей почтения, в энциклопедическом стиле. Наиболее обширными оказались воспоминания Константина Говоруна, в прошлом главного редактора журнала «Страна Игр», но в сентябре 2019-го издательство «Бомбора» анонсировало скорый выход его книги «Паладины во мгле», об истории отечественной игровой индустрии, поэтому имеет смысл дождаться этого события. Кратко, но по существу происходившего внутри индустрии в книге «Наша игра» повествует только один абзац:


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

Антон Юдинцев, генеральный директор Gaijin Entertainment[17].

Интервью для NIM.ru, 08.09.2017г.[18]


Книга «Наша игра» любопытна не содержанием, а антиидеями, которые она преподносит как нечто вполне естественное. Допустимость трижды издавать откровенно сырую и слабую книгу. Допустимость нецензурной лексики, потому что это позволяет лучше продавать товар. Допустимость заработка на низменных инстинктах. Практически ни слова о лутбоксах[19] и ящике Скиннера[20], с помощью которых игроки вовлекаются в игру. Подмена функциональной неграмотности[21] и клипового мышления[22] превосходством видеоконтента перед текстом, и прочее.

Уже сейчас в некоторых крупных российских компаниях существуют рекомендации для руководителей: «не привлекать к работе над долгосрочными проектами сотрудников, психологически принадлежащих “поколению Z”», но судя по отзывам в интернете, именно у этого поколения книга вызывает положительные эмоции.


Андрей Тумилович

(2:5020/570.10@Fidonet)


### Downgrade-железо

#### Звуковая карта от OPTi на старом компьютере


Что в первую очередь вы вспоминаете в связи с фирмой OPTi? Автор – VLB-материнки с чипсетами этой фирмы. Либо, как вариант, материнские платы стандарта LPX – не сказать, что данный чипсет ставили все – от Packard Bell до IBM/DELL/Compaq – встроенная видеокарта от Cirrus Logic встречалась чаще, но чипсеты от OPTi тоже встречались достаточно часто. Но попалась как-то автору в коробке комиссионки звуковая карточка с микросхемой OPTi в центре. В своё время звуковушки активно скупал, невзирая на производителя – главное, что можно поставить в ISA-слот. Так была приобретена и эта плата. Правда, она была отложена в долгий ящик и пролежала, возможно, лет десять. Ещё неизвестно, сколько бы лежала плата, но тут снова понадобилось для испытания программы поставить на компьютер звуковую карту. Так получилось, что на основной Downgrade-машине так и не прижилась ни одна звуковуха, и решено ради эксперимента поставить карточку от OPTi. Вроде бы, рутинная процедура – скачал драйвера, воткнула плату – если нормальная, то, скорее всего, запустится без проблем. Если будут проблемы, как показала практика – или где-то что-то прозевал, или какая плата вылезла из слота, пока втыкал звуковуху – поправил и двигайся дальше. Примерно этого ожидал и здесь, но оказалось всё несколько иначе – как именно – решил описать в статье.

Итак, сама звуковая карта собрана на чипсете OPTi 82C930 и представляет собой или программно конфигурируемую, или P’n’P ISA-плату без джамперов (см. рис. 1).


Рис. 1. Внешний вид звуковой карты


В принципе, ничего страшного – скорее всего, в составе драйверов будет менеджер для DOS, который всё настроит. Раз так, начинаем искать драйвера и качать их. Первым нашёлся вот этот архив https://download.shuttle.eu/Archive_2004/Drivers/audio/Opti/82c930/235dos.zip. В архиве есть драйвера для Windows 3.x, программа для определения платы под DOS – SNDINIT.exe – и достаточно большой набор различных утилит. Что ж, распаковываем его, переносим на старый компьютер, запускаем файл install.com и получаем сообщение о том, что инсталлятор запустится только с дискеты. Не самая большая проблема, но достать из кармана дискету – достаточно сложная задача – они у меня лежат сейчас весьма далеко. SNDINIT же вообще не захотела определять звуковую карту. Что делать? Отложить карту? Искать дискету? А если попробовать другие драйвера?

Ваш покорный слуга покопался и повытягивал ещё несколько архивов. Как-то так получилось, что наиболее удачно сложилось с содержимым архива ftp://ftp.control.slupsk.pl/pub/drivers/sound/OPTi930W.EXE. Здесь также не получилось запустить программу установки – экран окрашивался чёрным цветом и ничего не происходило. Не знаю – виноват ли процессор – автор экспериментирует на машине с UMC U5S, с которым дружат далеко не все программы, плюс у него отсутствует сопроцессор. О том, что нужен сопроцессор, говорит не всякая программа. Но удалось худо-бедно запустить программу SNDINIT.exe. Правда, только с параметром:


SNDINIT /?


В первый раз программа пожаловалась на отсутствие переменной окружения SOUND16. Что ж, лезем в интернет, узнаём, как её прописать (к своему стыду, автор никогда этого не делал) и открываем, например, эту страницу http://web.archive.org/web/20200615013404/http://old.ci.ru/inform20_97/xaxonov.htm (на момент публикация ссылка не работала, поэтому заменена на Веб-архив - прим. ред.). Ваш покорный слуга скопировал все файлы драйвера в каталог C:\OPTI_WIN и прописал в autoexec.bat строчку:


SET SOUND16=C:\OPTI_WIN


Теперь при запуске со знаком вопроса программа SNDINIT выдаёт возможные варианты запуска. Так, команда


SNDINIT /b


инициализирует звуковую карту. Программа сообщила, что плата обнаружена и включён режим эмуляции Sound Blaster Pro с параметрами:


I/O 220h

IRQ 5

DMA 1

I/O MIDI 330h

IRQ MIDI 9


Плюс выводились параметры, связанные с работой набортных контроллеров CD-ROM, но сейчас они нас не интересуют. Что ж, у нас есть инициализированная карта, есть эмуляция платы от Creative. В своё время ваш покорный слуга оказывался в такой ситуации с платой от ESS (см. Downgrade-журнал №20) – тогда задача была решена установкой драйвера от Sound Blaster 1.5, идущего в комплекте с Windows. Но существует отдельный пакет от Microsoft, содержащий новые драйвера звуковых карт, включая SBPro - Windows 3.1 Driver Library (Audio), доступный, например, на old-dos.ru:

http://old-dos.ru/dl.php?id=4091

Скачиваем его, разархивируем также на старый компьютер, запускаем Windows.

После запуска открываем Панель управления, где выбираем пункт «Драйверы». В открывшемся диалоге нажимаем кнопку «Добавить» и в открывшемся списке доступных драйверов выбираем пункт неизвестного устройства. В открывшемся новом диалоге вводим адрес, по которому располагается библиотека драйверов. Нажимаем OK, и нам открывается список драйверов, входящих в библиотеку (см. рис. 2).


Рис. 2. Список драйверов звуковых карт, входящих в Windows 3.1 Driver Library


Для Sound Blaster Pro Microsoft предлагает три драйвера – поддержки звука и MIDI, драйвер микшера (Auxiliary driver) и драйвер синтезатора MIDI. Установить понадобится все три драйвера. Автор их ставил именно в том порядке, как перечислил – сперва драйвер звука и MIDI. С этим драйвером поставился микшер, который не захотел нормально запускаться без соответствующего драйвера. Такой драйвер был установлен следующим. И последним был установлен драйвер MIDI.

При установке первого драйвера понадобилось выбрать адрес платы, прерывание и канал DMA (см. рис. 3).


Рис. 3. Настройка основного драйвера Sound Blaster Pro


Уже после установки этого драйвера в Windows появился звук, но музыка в играх не игралась. Плюс в наушниках звук искажался. Хотелось порегулировать – думал и, вдруг, MIDI выключено. Попытался открыть микшер (см. рис. 4), но тот перед открытием пожаловался на отсутствие драйвера.


Рис. 4. Микшер для Sound Blaster Pro, который устанавливается с драйверами от Microsoft


После установки драйвера звук в наушниках стал звучать тише, но увеличение громкости привело к искажениям. Музыка же появилась после установки драйвера поддержки MIDI. В процессе экспериментов автор запускал такой пункт в Панели управления, как MIDI-маппер (см. рис. 5).


Рис. 5. MIDI-маппер


Оказалось, что с драйверами установилось несколько вариантов, доступных на выбор. Играли только пункты с FM – видимо, на моей плате только такой синтезатор – когда разглядывал, видел микросхемку от Yamaha – возможно, что это как раз она :-). Сперва с вариантами MIDI баловался, чтобы уменьшить искажения, но это удалось сделать только с помощью уменьшения громкости. Но из режимов понравился больше всего SBP EXT FM (режим Vanilla не пробовал).

Ещё одна неприятная ситуация – в игре Floppy Killer мелодия проигрывалась только один раз. Не знаю, проблемы ли с эмуляцией или же Microsoft постарался, но вот так.

Конечно, существовало, как минимум, два других пути решить задачу – или же всё же записать драйвера на дискету, или поставить драйвера от Sound Blaster 1.5, как было с ESS. Но хотелось попробовать пакет дополнительных драйверов. И, всё же, автор доволен полученным результатом – получилось запустить ещё одну интересную звуковую карточку – пусть и запуск напоминает чесание левого уха правой рукой через голову, но и полученный результат того стоит. Кроме того, звуковая карта будет использована для дальнейших экспериментов, результатам которых, как надеется автор, тоже будет посвящена статья.


Андрей Шаронов (Andrei88)


### Downgrade-софт

#### Если мало двух панелей


Обычно, когда разговор заходит о файловом менеджере, в первую очередь, вспоминается двухпанельный интерфейс в стиле Norton Commander. Не буду разводить демагогию о том, что даже диалог открытия и сохранения – файловый менеджер – куцый, возможно, но всё же. Но одними понедельниками мир файловых менеджеров не ограничивается. Конечно, есть варианты в стиле проводника Windows – в том числе любимый за кордоном и не менее легендарный, чем творение Джона Соча, (в тех краях) XTree. Тем более что XTree появился куда раньше, чем Билли и компания решили использовать подобный интерфейс. Но сегодня мы поговорим о программах, авторы которых решили, что две панели – это... мало. Некоторые из них будут описаны в данной статье.


«Нортон» на три панели


О файловом менеджере с тремя панелями ваш покорный слуга знал давно. Почему-то отложилось в памяти, что это Nico’s Commander. Данный файловый менеджер автор откопал на купленном давно диске, установил, посмотрел, но не нашёл, как открывается третья панель, и не нашёл в интернете. Оказалось, что не он. О трёх панелях читал в известной статье «Дети капитана Нортона» http://neosoft.ru/norton/norton.htm. Что ж, идём туда и ищем именно трёхпанельный файловый менеджер. Ищем, ищем... ищем! И, да, находим! Только файловый менеджер действительно оказался другим, и зовётся он Control3.

Оказалось, что есть две версии файлового менеджера – для DOS и для Windows. Версия для DOS доступна на old-dos.ru (http://old-dos.ru/dl.php?id=4648). При первом запуске программы вы увидите нечто, похожее рис. 1.


Рис. 1. Главное окно ДОСовской версии Control3 сразу после запуска


Одна панель. Может быть, две остальные панели появились позже. Ведь были же файловые менеджеры с одной панелью, например, описанный в 14-м номере журнала PowerMenu. Но нет, все три панели есть. Только их необходимо открыть – сочетанием клавиш Alt+буква необходимого логического диска. Сперва откроется вторая панель, потом третья, на третий раз вы сможете поменять диск у первой панели. И так по кругу. Хорошо, хоть перемещаться между панелями можно проще – стрелками вправо и влево.


Рис. 2. Control3 с открытыми тремя панелями


Интересно, что лежащая на old-dos.ru версия – 98-го года. Казалось бы, все «изысканные» интерфейсы должны были отмереть – уж в DOS точно, ан нет – странный и непривычный (даже командная строка вызывается нажатием клавиши N, а так – не активна) интерфейс находит, видимо, своих почитателей. Более того, выпущена также версия для Windows. Третья версия также доступна на old-dos.ru: http://old-dos.ru/dl.php?id=22725. Весит дистрибутив меньше мегабайта, и программа запускается весьма резво.


Рис. 3. Control3 – версия для Windows


Элементами интерфейса можно управлять и мышью. Например, выбрать в строке над панелью нужный диск. Увы, командную строку всё равно нужно вызывать нажатием соответствующей кнопки окна или же горячей клавишей N – как и в DOS-версии.

Что можно сказать о данном файловом менеджере? Необычный интерфейс, к которому нужно привыкать – просто так нортоновские привычки не перенесёшь, да и интуитивно тоже не начнёшь работать. По крайней мере, в DOS-версии. Плюс версия для DOS как-то неадекватно реагировала на мышь – начинала прокручивать каталоги в панели.

Однако программа развивается. Выпущенную в этом году версию 7.33 можно скачать по ссылке https://www.download3k.ru/Install-Control3-File-Manager.html. Сейчас дистрибутив весит четыре мегабайта, но программа особо не тормозит, хотя и Р4 с тремя гигами ОЗУ и Windows XP трудно назвать очень тихоходной машиной.


Pie Commander – наш ответ Чемберлену


Оказалось, что двух панелей обычного Нортона мало не только зарубежным, но и отечественным программистам. Например, в файловом менеджере Валентина Черняка – Pie Commander’e – их целых четыре. Файловый менеджер доступен как на «Ностальгии»: http://nostalgy.net.ru/shells/cc.zip, так и на old-dos.ru: http://old-dos.ru/files/file_213.html. Автор скачал версию с сайта Антиквара.

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


Рис. 4. Pie Commander – первый запуск. Обычная Нортон-подобная оболочка


Горячие клавиши Norton Commander работают. Разве что помощь не удалось запустить, но, кажется, что перед нами урезанная версия – файловый менеджер и больше ничего. Зато другие основные сочетания нормально работают. В настройках можно переключить программу на русский язык. Если же вы хотите включить дополнительные панели, нажмите сочетания Ctrl+F3 или Ctrl+F4.


Рис. 5. Pie Commander  с тремя панелями


Рис. 6. Pie Commander  с четырьмя панелями


Есть ощущение, что перед нами действительно урезанный вариант программы, по возможностям, возможно, способной тягаться с Norton Commander. В меню есть, например, меню вызова почтовой программы – в меню Команды (Commands).


Рис. 7. Вызов почтового клиента – не вышло


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


TurboBrowser – файловый менеджер в духе почтового клиента


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

TurboBrowser 2001 (увы, оценочную версию) можно скачать по адресу ftp://ftp2.se.netbsd.org/mirror/archive/ftp.sunet.se/pub/simtelnet/win95/fileutl/tb2k1et8.exe. Главное окно программы можно увидеть на рис. 8.


Рис. 8. TurboBrowser 2001


Чем-то напоминает проводник Windows 7 – там тоже внедрили предпросмотр файлов и панель предпросмотра можно растянуть также. Однако здесь есть ещё и иконки смены дисков.

По большому же счёту функционал программы близок к стандартному проводнику. Может быть, некоторые функции прописаны более явно – например, FTP-клиент и браузер, хотя, и проводник тоже имеет возможность открывать файловые сервера и, вроде, подключать сетевые диски. По крайней мере, файловый менеджер Windows for Workgroups 3.11 такое, вроде, умел.


2xExplorer: Проводник+Нортон=Три панели


Вы думаете, что если объединить двухпанельность Нортон-подобных менеджеров и возможности проводника, обязательно получится подобие Windows/Total Commander? Вынужден вас разочаровать. Не всегда. Создатели 2xExplorer пристроили слева от двух панелей ещё древо а-ля проводник (см. рис. 9).


Рис. 9. 2xExplorer – версия Z1(1.4.1.12) с сайта old-dos.ru


Для экспериментов была скачана версия Z1 с сайта old-dos.ru (http://old-dos.ru/files/file_7469.html). Автор думал увидеть два одинаковых окна проводника, но оказалось, что программа представляет собой две панели и опционально отключаемую панель с древом папок.

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


Frigate – файловый менеджер с вкладками


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


Рис. 10. Открыта одна вкладка


Рис. 11. Открыто три вкладки


Программу, как и большую часть остальных, можно скачать на Old-DOS.ru: http://old-dos.ru/files/file_8240.html. Автор ставил версию 1.30.


Заключение


Обычно, обзор программы заканчивают либо на оптимистичной ноте в духе «Но, несмотря на необычный и непривычный интерфейс, либо невзрачный внешний вид, описанная программа может конкурировать с более известными аналогами». Нередко так заканчивает статьи и автор. Действительно, ему симпатичен и сероватый «Русский офис», и странноватый WinNavigator, и Works, и нравилось запускать тесты железа под Windows 3.x, хоть и не было в этом практической пользы... Но здесь иной случай – ни одна программа не вызвала отклика в душе. Разве что Pie Commander – достаточно толково сделанный аналог Norton Commander, сохранивший связь с прототипом (а на что особо ориентироваться в начале 90-х?) и предложивший свои «фичи» – три панели, а полный вариант, возможно, и почту, например. Да и программу хотел посмотреть после того, как увидел её в списке отечественных аналогов NC. Так что прошу рассматривать эту статью как некую кунсткамеру.

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


Рис. 12. Таким представляется Explor2000 при первом запуске


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


Рис. 13. А вот таким он может стать при нажатии двух кнопок


Так почему же так понравившийся автору файловый менеджер не был вынесен в обзор? Ответ прост – к сожалению, автор не сумел найти полную версию с серийным номером, а месячный срок всё же маловат. Но всё же привожу ссылку на Web-Archive с сохранёнными несколькими версиями, лежавшими на официальном сайте программы: http://web.archive.org/web/*/http://www.cmaufroy.com/2000/sfx2000.exe.


Андрей Шаронов (Andrei88)


#### Не только «Пропись» и «Апорт»


К сожалению, ваш покорный слуга познакомился с компьютером, когда эти два названия практически ничего не значили. Конечно, поисковик «Апорт» ещё работал, но реклама по телевизору и на курсах сделала своё чёрное дело – основным поисковиком был «Яндекс». К остальным – «Рамблеру», «Апорту» и, как ни странно, «Гуглу» – автор обращался поскольку-постольку – «Яндекс» вполне справлялся с большинством запросов, «Гугль» же был «окном в мир», когда требовалось найти что-то на иностранных ресурсах и не более того. Так что, получилось, что я узнал об «Апорте» и его авторах – компании «Агама» – абсолютно независимо. Даже сперва не мог найти практически ни одной программы. Однако со временем удалось раскопать информацию о некоторых разработках этой конторы. Удивительно, что большинство из них сделано для Windows 3.1. Фактически, приход платформы Win32 практически совпал с отходом агамовцев от прикладного программирования в сторону сетевых технологий – помянутого выше «Апорта», например. Однако знакомство показало, что программы, разработанные компанией, практически обрели статус народных. Автор сталкивался с половиной из них, полагая, что их склепал какой-то левша на коленке, но нет – программы объединяла одна и достаточно серьёзная контора. Об этих программах и утилитах будет рассказано в настоящей статье.

Единственная программа, которая не будет затронута в обзоре – это «Пропись» – последней и самой интересной была версия 4.0, которая на голову превосходила третью и вторую версию. Но именно полный дистрибутив «четвёрки» (он содержался на шести дискетах) найти так и не удалось, а ковырять более ранние варианты энтузиазма у автора нет. Хватило разочарований пятнадцатилетней давности. Разве что как-нибудь соберусь сделать отдельный обзор отечественных программ для третьей винды, с которых начинал. А вот остальные программы будут рассмотрены, так что, начинаем. :-)


С русского на русский


Одним из популярных классов офисных программ являются электронные словари – только в России их выпускают три компании – ABBYY, «Информатик», «МедиаЛингва» (правда, не очень понятно, существует ли эта контора сейчас, но «Мультилекс» где-то третьей или четвёртой версии найти можно). Плюс харьковская «Лингвистика 93» отметилась словарём Polyglossum. И это не считая полунаколенных поделий. Но словари этих компаний являются инструментом перевода. Т.е. используются при переводе с иностранных языков (конечно, в первую очередь с английского, но не только) на русский или обратно. Но ведь это не единственный тип словарей. Были ли попытки создать электронный словарь – толковый? Оказывается, что да – например, «Русский филолог». Данный пакет версии 1.1 доступен на сайте old-dos.ru http://old-dos.ru/dl.php?id=10863. Данный пакет, как и большинство разработок «Агамы», может быть запущен на Windows 3.11. Единственное пожелание к компьютеру – наличие звуковой карты. Увы, как обычно бывает, у автора возникли определённые проблемы с установкой. Так как DOS на машине устанавливался не с помощью стандартного установщика, некоторых компонентов не оказалось. Например, необходимой для установки команды subst. Поэтому автор просто запустил инсталлятор, вставил серийный номер, а потом скопировал недостающие файлы вручную. После этого открыл файл rusphil.ini в каталоге, куда была установлена программа, и исправил два параметра:


• HelpFileName в секции [Options]

• datapath в секции [Dictionaries]


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

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

Главное окно программы показано на рис. 1.


Рис. 1. Главное окно программы «Русский филолог»


При первом запуске программы откроется диалог настройки шрифтов (см. рис. 2). Автор выбрал один из шрифтов Times New Roman – другие даже не стал настраивать.


Рис. 2. Диалог настройки шрифтов


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


Рис. 3. Во встроенном редакторе набрано предложение


Рис. 4. Диалог выбора словарей для получения справки


Рис. 5. Словарные статьи по интересующему слову из словарей программы


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


Рис. 6. Диалог выбора значения многозначного слова


Кроме того, программа имеет возможность обращения к диалогу работы со словарями командой меню Показать->Новое слово. Также программа имеет возможность «проговорить» слово. Для этого необходимо нажать кнопку  . Конечно, требуется наличие звуковой карты. :-) Увы, автор, даже имея установленную звуковую карту, не смог насладиться произнесением слова. Хотел услышать слово «дядя». Кстати, в файле speech.ini оно указано в списке. Увы, звуковая карта отказалась воспроизводить. Отказался играть файл и встроенный плеер винды. При этом звуковые файлы от никитовских игр проигрывались нормально. Как оказалось, частота дискретизации wav-файлов «Русского филолога» – 44 кГц, никитовских же звуков – 11 кГц. Плюс 16 бит у филолога против восьми – у игры. Так что, если вы захотите использовать мультимедийные возможности программы, стоит всё же озаботиться звуковой картой и толковыми драйверами, а не доверяться режимам эмуляции с установкой майкрософтовских драйверов, как сделал автор, проводя очередной эксперимент с имеющимся старым железом. :-)

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


Рис. 7. Контрольное окно


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

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


Виртуоз клавиатуры


Каких только клавиатурных тренажёров не создали компании и программисты-одиночки. Да что там говорить, если существует даже полноценный электронный учебный курс «Соло на клавиатуре» – не просто тренажёр, а настоящий самоучитель. Как легко догадаться, не осталась в стороне и «Агама». Её тренажёр «Виртуозо» доступен на сайте old-dos.ru: http://old-dos.ru/dl.php?id=16811. К сожалению, и тут не обошлось без проблем на компьютере с Windows 3.11. Программа без проблем запускается на Windows XP, но на старом компьютере автора стала возмущаться. Оказалось, что запустить установку нужно файлом install.exe, и сделать это из-под любимого «ДИСКо Командира» не получалось – программа вываливалась – только родной диспетчер файлов. Также не хотела программа запускаться из файлового менеджера «ДИСКо» без установки – не могла найти библиотеку bitools.dll, куда бы автор её не затолкал – хоть в каталог Windows, а то и вообще в Windows\System. Отчаявшись, поставил даже Win32s, но, скорее, помог всё же запуск инсталлятора из диспетчера файлов. После окончания установки программа создала в диспетчере программ свою программную группу и ярлыком оттуда прекрасно запустилась. Как потом выяснилось, файл setup.exe предполагал установку с сетевого жёсткого диска – отсюда и проблемы с локальным запуском этого инсталлятора.

Итак, запускаем программу. Главное окно можно увидеть на рис. 8:


Рис. 8. Главное окно программы «Виртуозо»


Для начала тренировки выберем пункт меню Урок->Новый. Откроется диалог  ученика (см. рис. 9). Как и в «Русском филологе», создатели проявили оригинальность – теперь кнопка согласия зовётся «Есть!». Отмена, соответственно, – «Отставить!».


Рис. 9. Диалог ученика


В диалоге можно установить уровень сложности, а также настроить в отдельном диалоге раскладку клавиатуры, если таковая отличается от стандартной. Диалог настройки клавиатуры доступен по нажатию кнопки «Раскладка» (см. рис. 10).


Рис. 10. Диалог настройки клавиатуры


К сожалению, настраивать буквенные клавиши не получится – только символы. Так что, сделать раскладку ЯВЕРТЫ не получится, хотя было бы забавно, хотя не представляю, были ли клавиатуры с такой раскладкой для машин, совместимых с PC/AT. А уж, тем более, не очень верится, что существует русификатор винды с такой раскладкой. Хотя, средствами редакторов клавиатур запросто можно было бы сделать – хоть для ParaWin, хоть для CyrWin (а как делались клавиатуры для КОИ-8? :-). Но данная программа предполагает строго определённую раскладку букв.

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


Рис. 11. Идёт тренировка


В данной программе со звуковым сопровождением всё в порядке, правда, выводится оно через системный динамик. Но зато не требуется обязательного наличия звуковой карты. При этом вы можете настроить звуковое сопровождение – либо будет озвучиваться нажатие клавиши, либо программа сама будет задавать динамиком ритм печати. Сделать это можно командой меню Настройка->Звук либо нажатием кнопки . По нажатию кнопки на панели инструментов или выполнению команды меню откроется диалог, показанный на рис. 12.


Рис. 12. Диалог настройки звукового сопровождения занятий


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

Кроме программы тренажёра, в составе данной версии программы присутствует монитор преподавателя (см. рис. 13), доступный по ярлыку Virt_mon в группе диспетчера программ.


Рис. 13. Главное окно программы  «Виртуоз: монитор»


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


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


Двойной щелчок по значку пользователя ничего не дал, но показания качества обучения можно вывести на экран командой меню Показать->Диаграмму. Значок компьютера заменится столбиковой диаграммой (см. рис. 15).


Рис. 15. Диаграмма успехов обучаемого


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


Из «Лексикона» в Word – ещё одно решение


Разработанный Евгением Веселовым «Лексикон» для DOS стал одним из стандартных редакторов отечественных пользователей IBM PC-совместимых компьютеров в конце 80-х и начале 90-х годов. Правда, по утверждениям, он делил первое место с редакторами «Слово и Дело», а также локализованным Multi-Edit под названием «Фотон». Увы, но, с наступлением Microsoft, «Лексикону», как и другим редакторам, пришлось сдаться. И если версия ворда для DOS не пользовалась такой популярностью, то Word для Windows, похоже, не имел практически конкурентов. Зато встала во весь рост задача переноса текстов из ДОСовских редакторов в новый виндозный редактор от Microsoft. Если дополнения для импорта файлов зарубежных редакторов уже шли в составе ворда (да и Excel имела средства импорта таблиц Lotus 1-2-3, например), то задача более-менее правильного открытия файлов «Лексикона» решалась постсоветскими программистами. Кстати, возможность адекватного импорта файлов «Лексикона» для DOS была козырем двух «национальных» редакторов текста под Windows – «Лексикона» от «Арсенала» и «Ивана Фёдорова» от компании «Бикар». Но сейчас разговор не о них, а о конвертерах, позволявших импортировать лексиконовский файл в Word. Такая программа, предназначенная для использования совместно с Word для DOS, была разработана «Микроинформом» и также доступна на Old-DOS: http://old-dos.ru/dl.php?id=17355. Другой вариант был предложен компанией «Агама».

Программа называется незамысловато – «Конвертор Лексикон -> RTF». Архив с программой вообще назывался ещё проще – LEX2RTF. Правда, частенько и иначе. Ох уж и попортила автору эта утилита крови, в своё время. Фактически, по распространённости в интернете она занимала, наверное, первое место среди виндозных программ для работы с файлами ДОСовского «Лексикона». И уже за ней второе место занимал арсеналовский «Лексикон 97 для Windows 95» – программа далеко не редкая. Зато попытки отыскать «Лексикон 2.0» для Windows или же версию «Лексикона 97» для Windows 3.x рано или поздно приводили именно к этому конвертеру, что, откровенно, бесило. Но сейчас оба искомых «Лексикона» найдены, и ненависть к утилите-конвертеру поутихла. Тем более что конвертер тоже не менее интересен, ибо может запускаться не только под Windows 9x и работать в составе 95-го и 97-го ворда, но и имеет возможность запуска под Windows 3.x и поддержку шестой версии ворда.

Скачать программу, как и предшествующие, можно с old-dos.ru (http://old-dos.ru/dl.php?id=21206). Правда, для запуска установки и самой программы нам понадобится установить Win32s, да и после её установки вместо надписей на русском языке нам предстанут «кракозябры» (см. рис. 16).


Рис. 16. Увы, с отображением русскоязычного текста в этот раз трудно. Но вполне понятно, что модуль поддержки в Word 6.0 будет установлен


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


Рис. 17. Главное окно конвертера тоже не радует


Но в составе Word’a утилитой воспользоваться всё равно получится. После установки, в меню Файл редактора добавится пункт «Открыть файл Лексикона». Выбор данного пункта откроет диалог импорта, у которого проблем с отображением русскоязычного текста нет (см. рис. 18). Здесь мы можем выбрать нужный файл, а также шрифт, который будет использоваться для отображения импортированного текста в ворде.


Рис. 18. Диалог импорта файла «Лексикона», вызванный из Word’a – тексты на русском языке отображаются без проблем


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

Что ещё можно сказать про программу? Разве что отметить её, как ещё одну доступную автору русскоязычную софтину для Windows 3.x ещё со времён начала занятия даунгрейдом. Увы, но автор эту программу всегда недооценивал. Ну как можно радоваться, когда вместо полноценного редактора, поддерживающего лексиконовские документы, тебе с завидным постоянством подсовывают только конвертер? Хотелось всё же полноценный «Лексикон» и «Ивана Фёдорова». Последний и сейчас, увы, доступен только в виде демонстрационной версии.

Сейчас же ситуация повторилась с точностью, как и с версией Lines от Ивана Шмелева – когда его игра была единственной доступной автору под Windows 3.x, она вызывала резкое неприятие, сейчас же отношение не просто спокойное, но и автор питает к игрушке определённые симпатии. То же самое стало с конвертером – когда он был одним единственным – автор хотел от него плеваться, сейчас же – спокойно включает его в обзор агамовских программ.


Кодировки! Кодировки! Кодироооовкиииии!


Эх, сколько же проблем доставляли русскоязычному пользователю различные кодировки. Казалось бы, добавь национальные шрифты, драйвер клавиатуры – и вперёд. Ан нет – вроде бы, всё сделали именно так, да вот незадача – сделали несколько раз, и каждый раз по-разному. Вот и вышло, что есть и основная кодировка ГОСТ, и альтернативная кодировка ГОСТ, и CP866 (неизвестно, совпадающая ли с предыдущей), и CP1251 (а ещё и CP1252 :-), и КОИ-8, и КОИ-7, а ещё кодовая таблица «Макинтоша» и болгарская кодировка МИК. Верю, что ещё не все перечислил («Юникод», например, забыл :-). Да, используются не все кодировки, но можно встретить и текст в кодировке CP866 – документация к ДОСовской программе или игрушке (а «Агама», о которой идёт речь в статье, даже к виндозным программам писала readme в ДОСовской кодировке), и в кодировке КОИ-8 – конференции NNTP, а ваш покорный слуга любит в этой кодировке писать письма, ибо когда-то кодировка была стандартом в интернете, и никто официально её не отменил (ага, мы запрещаем эту кодировку во веки веков!), а подключённый советский принтер вообще предпочитает КОИ-7 :-).

Вот для таких целей и разрабатывались программы-перекодировщики. Более того, из-за проблемы кодировок, такие программы, как Norton Commander и Word для Windows, имеют средства перекодирования. «Нортон», как минимум, в пятой версии имел возможность указать, что отображается текст в кодировке Windows, творение же Microsoft имело возможность указания, что импортируется текст в кодировке CP866. Ну а отдельные программы-перекодировщики, да ещё и постсоветского разлива – это отдельная «дисциплина». Автор может назвать сходу четыре программы – MailReader от «Агамы», «Реаниматор» от «Арсенала», Tcode – уж не помнит от кого – и «Штирлиц 4.0». Все программы выполняли одну и ту же функцию – перекодирование из непонятной кодировки в CP1251 либо – наоборот.

О программе от «Арсенала» будет рассказано в статье, посвящённой интернет-утилитам пакета WWW SmartLine. Здесь же мы поговорим о MailReader’e.

Увы, в отличие от предыдущих программ, MailReader не рассчитан на работу в Windows 3.x, поэтому эксперименты с ним автор будет проводить на основном компьютере под управлением Windows XP. Программу, как и предыдущие, можно скачать с сайта old-dos.ru по ссылке http://old-dos.ru/dl.php?id=22558.

Установка программы не вызвала вопросов, но активация программы оказалась достаточно хитрой. Поэтому процесс активации смотрите в файле readme.txt. Кроме того, ещё одна особенность – программа по умолчанию не ставит редактор, поэтому в диалоге выбора компонентов его следует отметить, если вы хотите, чтоб кроме перекодировщика, который может интегрироваться, например, с MS Exchange, был установлен и простой текстовый редактор (см. рис. 19).


Рис. 19. Диалог выбора компонентов для установки. Если вам интересен встроенный редактор программы, отметьте его в этом диалоге


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


Рис. 20. Главное окно программы


Первое, что бросилось в глаза – невозможность вставить текст по контекстному меню правой кнопки мыши – только кнопка на панели инструментов или команда меню Правка->Вставить, ну или горячие клавиши – Ctrl+V или Shift+Insert – как обычно.


Рис. 21. Текст вставлен и готов к перекодировке


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


Рис. 22. Диалог настройки декодирования


Вместо «непонятных» названий кодировок нас встречает список вполне себе «понятных» названий профилей. Почему автор взял в кавычки слова? А вы сразу догадались, что профиль «Бакалавр» переводит из кодировки Mac’a? Автор узнал это только после нажатия кнопки «Параметры». А вот «Микромыло», как ни странно, не переводит из КОИ-8. Внезапно :-). Но для простых смертных, типа автора, есть кнопка «Автодетекция». После нажатия появляется диалог с результатами определения схем декодирования (см. рис. 23).


Рис. 23. Результат автоматического поиска схемы декодирования


Но расслабляться рано – после того, как программа завершила поиск оптимальной схемы декодирования – 16 именных и 8293 безымянных – пользователь должен выбрать оптимальную. Лучше всё же выбрать все – хоть и чуть больше восьми тысяч, но в диаграмме показан процент декодированных данных с помощью того или иного профиля (см. рис. 24).


Рис. 24. Статистика точности распознавания и декодирования текста. Впереди всех... безымянная схема


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


Рис. 25. Предварительный просмотр


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


Рис. 26. Результат декодирования в окне редактора


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


Заключение, или Почему же нет «Прописи»


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

Так почему же автор не описал данную программу в обзоре? Программа столь знаменита, что не нуждается в описании? Ну, как сказать – в FAQ по программам для Windows 3.x именно её рекомендовали для проверки орфографии в Word’e, а не «ОРФО». Но причина несколько другая – по ссылке https://www.itweek.ru/infrastructure/article/detail.php?ID=80069 можно увидеть обзор на четвёртую версию программы. В составе программы не только система проверки орфографии в различных программах, но и достаточно мощный и функциональный редактор, который, думается, может тягаться с «Лексиконом» и «Иваном Фёдоровым». При этом «Пропись 4.0» также может работать в Windows 3.x. Но эту версию найти до сих пор не удалось. Автор же когда-то ставил «Пропись 3.2», но редактор уровня блокнота, как у «Русского филолога» и MailReader’a, а также непонятная система проверки орфографии не впечатлили. В конце концов, правда, удалось тогда понять, как программа реагирует на неправильно написанное слово – миганием экрана, но хотелось чего-то большего и более эффектного. Поэтому ваш покорный слуга предпочёл бы найти лучше шесть дискет четвёртой прописи и уже писать обзор на эту версию.


Андрей Шаронов (Andrei88)


### Программирование

#### Режим обучения – своими руками (продолжение - ч.3)


ВСТУПЛЕНИЕ


И снова здравствуйте, уважаемый читатель. Если не всем, то многим доводилось хоть раз в жизни поучаствовать в какой-нибудь драке. В детском возрасте или позже – неважно. Помните свои ощущения? Синяки или шишки? Разбитые брови или губы? Выбитые зубы или суставы на пальцах? А, может быть, даже сломанный нос? Мне досталось всего понемногу, не могу сказать, чтобы это было приятно. Особенно с носом… Так уж вышло, что он был сломан аж два раза, причём второй раз так удачно, что я даже был рад ☺. В те же самые перестроечные времена стала популярной тема восточных и не только единоборств. Брюс Ли, Джеки Чан, Ж-К Ван Дамм, Чак Норрис… Насмотревшись подобных фильмов, в том числе и «Фанат» с Серебряковым, некоторые мои друзья детства и другие знакомые ребята стали похаживать в открывающиеся то тут, то там секции. Мне тоже захотелось занять себя дополнительно чем-то активным. Несколько лет я проучился в детско-юношеском спецклассе по футболу нашей областной команды, но в один прекрасный момент решил, что дальше пинать мяч неохота, поэтому перед поступлением в Универ два последних класса провёл в обычной школе рядом с домом, в которую когда-то и пришёл в первый класс. Вот и занялся «для разминки» рукопашным боем, за кампанию со своим увлечённым другом, с которым, кстати, мы и в школе за одной партой просидели эти два года – последней в ряду у окна. А что, с растяжкой было всё в порядке, шпагат там опять же, так как в первых двух классах спортивной гимнастикой занимался. В третьем классе в секции плавания научился руками махать, а потом и ногами в футбольной ☺. Так вот, вернёмся к носу… На одной из тренировок получил я по нему как следует, и стал он как буква «Сэ», ну или «эС», если угодно. Больно – это не то… Обидно, понимаешь, подростковый возраст, девчонки там уже в том числе, всё такое, а тут носяра набекрень… Ну а что делать? Зажило, конечно, через какое-то время. С другом мы и помимо секции занимались вдвоём. И вот месяца через два случилось чудо, во время спарринга с ним пропустил я «маваши» в голову, как раз пришлось по носу, но уже с другой стороны… Так что нос с тех пор опять прямой, почти ☺. К чему это я? Ах, да… В то же самое время «подсел» и на компьютерную тему на «Роботрон»-е CM 1910, в том числе и игрушки завлекли. И когда позже попалась достаточно интересная и трудная игра про единоборства, то она сразу стала одной из любимых.


ЭПИЗОД V – УЧЕНИК НАНОСИТ ОТВЕТНЫЙ УДАР


> Neo: I know Kung Fu.

> Morpheus: Show me.


> Х/ф The Matrix (1999)


Итак, следующий пример – игра Budokan: The Martial Spirit (https://www.old-games.ru/game/download/1271.html), помеченная в разделе «Файлы» как «Floppy-версия» или как «Образы дискет», не имеет значения – файлы там одинаковые. Очень достойный т.н. “fighting” от компании Electronic Arts.

Что ж, снова переодеваемся, джинсы и футболку – в стирку, а достаём из шкафа кимоно ☺.


Первое, с чем придётся столкнуться, это проверка знания руководства к игре, потребуется подобрать соответствующую надпись к указанному символу. Даже если не угадать сразу, то всё равно возможно пройти на игровой двор и поупражняться в одиночестве в разных школах, но при выборе любого спарринга нас попросят указать надпись повторно. Третьей попытки уже не будет, после второго неправильного выбора незадачливого зеваку вышвырнут в DOS. Сейчас, конечно, можно и скан оригинального руководства к игре в PDF-формате скачать и полистать, но в начале 90-х это было немножко нереально, выкручивались так – зарисовывали символы и надписи, при удачном подборе отмечали соответствие.


Надо отдать должное ребятам из Electronic Arts, они неплохо постарались, чтобы оградить своё детище от простых попыток взлома, исполнимый файл зашифрован, используются некоторые антиотладочные приёмы и т.п. Игру эту я впервые увидел где-то в конце 91-го, а в 92-ом пару раз пытался к ней подступиться на компьютере с процессором 286, но при помощи имеющихся на тот момент инструментов реального режима наскоком ничего толком не получалось, и это дело было временно заброшено. Но вот пришла зима 92/93, стал доступен компьютер с процессором 386SX, и некоторые отложенные проблемные задачки, в том числе и эта, были решены, но уже при помощи SOFTICE.

Ну что, приступим, уважаемый читатель? Только на этот раз мы задействуем в качестве главного инструмента не GAMETOOLS. И не SOFTICE. Хотелось бы обратить ваше внимание на достаточно интересный отладчик отечественного происхождения DEGLUCKER (http://old-dos.ru/files/file_940.html). В 97-ом знакомые подогнали версию 0.03, я с удовольствием с ней поигрался некоторое время, но она показалась мне не очень стабильной. Где-то через год-полтора попалась версия 0.04rc, которая работала более устойчиво, её мы сейчас и попользуем немножко ☺. Насколько я понял, позже CrazyMaX выпустил финальную версию 0.04 и потом отправил исходники в «свободное плавание».


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

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


По смещению 2E96 командой CALL 0C3F {1.1} вызывается процедура, которая производит работу по визуализации и выбору правильной надписи к указанному символу. Если всё прошло без ошибок, то на выходе имеем сброшенный Carry Flag (CF) и значение выбранной надписи в регистре AL. Чуть далее по смещению 2EAA командой MOV [69BB],AL {1.2} это значение сохраняется в сегменте данных.


Где-то в глубинах вышеуказанной процедуры происходит случайный выбор символа и по смещению 334B командой MOV [ss:5C4B],AL {2.1} его значение также сохраняется в сегменте данных. Как уже было сказано выше, непосредственная проверка на равенство этих значений будет осуществляться позже.

И вот стоит наш ученик посреди двора, репу чешет – куда пойти, куда податься? ☺ Может, сразу на турнир в спорткомплекс? Вообще мне как-то не нравится обезличенное обращение, давайте-ка нашего ученика как-нибудь назовём… ну, скажем, хотя бы – Джейсон. А что, вроде ничего ☺. Отправим его, пожалуй, в одну из школ и посмотрим, как ему будут отказывать в обслуживании. Ну а что вы хотите, уважаемый читатель, он же припрётся туда без ма… гхм… нуала официального, с правильными ответами.


Заходим, выбираем пункт меню KUMITE (SPAR), далее уровень сложности, средний IKKYU подойдёт в самый раз, так как первый слишком добрый и бьёт редко, а последний – злой и агрессивный, а, возможно, даже и нечуткий, чего доброго ещё вырубит нашего ученика раньше времени. Но в итоге получаем от ворот поворот, в вольном переводе надпись гласит примерно следующее… ну, в общем, вы поняли ☺. Интересно, а как всё это действо выглядело бы на мониторе оператора в рубке управления «Навуходоносора»? Возможно как-то так.


По смещению 55C3 командой MOV [byte 001E],7F {3.1} инициализируется переменная, в которую заносится текущее значение уровня жизни нашего ученика. По смещению 55D9 командой MOV DH,[ss:5C4B] {3.2} в регистр DH загружается значение символа, а по смещению 55F2 командой SUB DH,[ss:69BB] {3.3} из регистра DH вычитается значение выбранной надписи, и если она верна, то DH будет равен нулю и установлен Zero Flag (ZF). И, наконец, т.н. «момент истины» –  по смещению 5609 командой условного перехода JZ 562C {3.4} производится принятие решения, если ZF установлен, то «добро пожаловать», иначе – «досвидосики» ☺.

Позже всё будет красиво, а пока давайте-ка сделаем кое-что для возможности поучаствовать в спарринге. Курсор стоит на команде JZ , нажимаем комбинацию клавиш Alt-J, и условный переход превратится в безусловный JMP, то есть опкод инструкции поменяется с 74 на EB. Таким образом, уже неважно, подходит ли выбранная надпись указанному символу или нет. Как вариант, можно клавишей Tab перейти в окно флагов и клавишей Space установить ZF.

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

Ладно, продолжим… Начинается бой с учителем.


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


По смещению 4D18 командой CMP [byte 001E],00 {4.1} производится тест на ко… гхм… личество жизненных сил – зелёный индикатор (STAMINA). Если наш ученичок ужо, простите, трупачок, то… да какая разница что, это не про нас ☺. В противном случае по смещению 4D1F командой CALL 4F03 {4.2} вызывается процедура обработки информации о нанесённом ударе. Если всё прошло без ошибок, то на выходе также имеем сброшенный Carry Flag (CF). А что внутри этой самой процедуры интересного имеется?


По смещению 4F13 командой CMP [byte 0050],01 {5.1} проверяется флаг необходимости обработки. Устанавливается он в другом месте по факту того, что нанесённый удар достиг цели, причём как по нашему ученику, так и по его противнику. Процедура является универсальной для обоих бойцов, только значения используемых переменных берутся из разных мест в зависимости от состояния сегментного регистра DS. Далее в регистр BL загружается значение, соответствующее урону от удара, но оно может быть нулевым, если кто-то из бойцов удачно поставил блок. По смещению 4F22 командой SUB [001E],BL {5.2} производится уменьшение текущего значения уровня жизни, но как уже понятно – для обоих бойцов, со всеми вытекающими последствиями.

Итак, мы нашли те места в коде игры, куда придётся внести точечные изменения. Но дело в том, что в памяти код представлен уже в расшифрованном виде, а вот в файле BUDO.COM мы этих команд не найдём, универсальные распаковщики тут не помогут. Что же делать? Либо долго и нудно пытаться как-то ковырять файл, либо вносить изменения в памяти «на лету», то есть прямо во время исполнения. В данном случае второй вариант кажется проще, но загвоздка в том, что код нашего т.н. «patch» должен как-то получить управление. Выход такой – найти то, за что можно зацепиться, например, перехватить вызов какого-нибудь прерывания. То есть придётся написать полноценную, хоть и небольшую, программу-загрузчик, которая будет мониторить конкретный вызов и «патчить» код игры в реальном времени. Пробежимся глазками немного туда-сюда по игровому кодовому сегменту.


А вот и то, что нам подойдёт! По смещению 1FEE осуществляется вызов прерывания INT 21 {6.1}, перед этим в регистр AX заносится значение 2524, это означает установку нового вектора прерывания INT 24 функцией 25. Когда вызывается программное прерывание (или происходит аппаратное), в стек помещается значение регистра флагов FLAGS, затем значение сегментного регистра CS и значение регистра команд IP, содержащих адрес возврата из прерывания. В данном случае смещение адреса возврата будет 1FF0. Таким образом, перехватив этот вызов, наша программа-загрузчик сможет выудить из стека значение игрового кодового сегмента и внести в нём по известным смещениям требуемые изменения.


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

{1} Снять “copy protection” в любом случае, а режим обучения включить по требованию, для этого будет использоваться параметр командной строки.


{2} Уменьшить собственный занимаемый объём памяти для возможности запуска программы-потомка, то есть игрового файла.


{3} Сохранить текущий вектор прерывания INT 21, то есть адрес (сегмент и смещение) действующего обработчика, далее установить новый (свой) обработчик в качестве действующего.


{4} Запустить на исполнение игровой файл. После завершения игры управление вернётся к коду программы, и тут надо отметить один момент. Сохранение значений любых регистров не гарантируется, поэтому по идее следовало бы подстраховаться и сохранить хотя бы некоторые до вызова игры, а потом их восстановить. Но по факту нужные регистры остаются нетронутыми, так что можно этим пренебречь.


{5} Восстановить старый вектор прерывания INT 21 и завершиться.


{6} Во время работы игры мониторить вызовы прерывания INT 21, отслеживая функцию 25.


{7} Исследовать стек и убедиться, что вызов произошёл именно из игры, затем получить значение игрового кодового сегмента.


{8} Сделать своё «чёрное» дело ☺. Тут надо немножко пояснить, при первичной инициализации игровой код обнуляет переменную, которая хранит значение символа. Случайный выбор символа происходит в процедуре, вызов которой будет «патчиться», то есть значение останется нулевым. Также в этой процедуре выбирается значение надписи, на выходе оно помещалось бы в регистр AL, и сбрасывался бы Carry Flag. Поэтому вместо вызова процедуры теперь будет обнуление регистра AX и сброс Carry Flag, а где-то там дальше нулевое значение будет сравниваться с таким же ☺. Во втором случае вызов процедуры заНОПывается и также сбрасывается Carry Flag, таким образом, нанесённый по Джейсону удар не будет обработан ☺.


{9} Определить в области данных используемые переменные.


Полный ASM-исходник программы-загрузчика и готовый к использованию COM-файл можно скачать с сайта журнала по ссылке http://dgmag.in/N33/LOADER.zip. Размер бинарника – 512 байт, а в памяти вместе с PSP потребуется 768 байт. Кто-то скажет – «Ух, какой маленький!» Иной фыркнет – «Чё это за код такой с дурно пахнущей приставкой на букву “Гэ”»… И оба будут правы ☺. Он достаточно мал, чтобы не напрягать игру нехваткой памяти, несмотря на некоторую добавленную информативность и наглядность для понимания сути производимых действий. С другой стороны, если убрать всю демонстрационную шелуху и немного оптимизировать по размеру, то он может быть раза в три меньше ☺. Оригинальная программа-загрузчик из начала «лохматых» 90-х имеет размер 160 байт, в памяти вместе с PSP занимает 416 байт, но работает молча, так сказать, без шума и пыли ☺.

Тссс… Слышите? Кто-то бормочет… А, да это Джейсон… Чего он там?

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

И однажды он пришёл… В живых не осталось никого… Последним, кто встал на его пути, был…


Зеркало… Посмотрите в зеркало, уважаемый читатель. Что видите? Себя? А что же там увидел Джейсон? Только то, как его видят другие. И ничего больше…


> X triple I – Friday night

> The sound of chains

> The gleam of the blade

> Run for your life


> X triple I – time to die

> …

> On a Friday night


> Crazy Lixx – XIII (2017)

> https://www.youtube.com/watch?v=vee8YuNJ1YI


ЗАКЛЮЧЕНИЕ


Что? Ждёте какой-нибудь забавной байки из личной жизни? ☺ Ладно, слушайте. Забавная, а заодно и поучительная, может, кому-то и пригодится. О тактике ведения уличного боя в заведомо неравных условиях. Зима 2000/2001, холодно, скользко. Стоим вечером на остановке с коллегой по работе, разговариваем. Вообще-то мне в другую сторону, но я не тороплюсь, как бы его провожаю. На остановку подходит парочка типчиков, встали метрах в трёх от нас. «Первый» где-то с меня ростом и с бутылкой пива, другой – объёмный детина под два метра, без пива, но явно «выпимши», «первый» называл его «Вовчиком». Слышим, что они начали между собой комментировать обрывки нашего разговора. Оглянулся на них, «первый» тоже к нам повернулся, начал головой кивать – типа «чё». Тут как раз подъехал троллейбус, коллега попрощался и уехал. Я хотел было пойти к переходу на другую сторону дороги на свою остановку, но «первый» ко мне – типа «стоять». Вижу, что «Вовчик» ко мне с другой стороны заходит, ну я обошёл «первого» и быстрым шагом к переходу, до него где-то метров сто. «Первый» увязался за мной, а за ним и «Вовчик» потянулся. Вижу, что «зелёный» у перехода заканчивается и рванул через дорогу, «первый» бросился за мной, а «Вовчик» не успел и оказался от нас отрезан. На другой стороне моя остановка была направо метров пятьдесят, но я повернул налево и пробежал ещё метров пятьдесят, «первый» за мной. Но теперь-то совсем другое дело. Я резко разворачиваюсь, принимаю позицию, с улыбкой на лице делаю три шага и с ходу левой «первому» в челюсть. Он рухнул, пиво своё выронил, я его прижал коленом. Слышу, что на дороге сигналят, «Вовчик» ломанулся на «красный» и уже перебрался на эту сторону дороги, торопится, скользит, пыхтит. Я добротно приложился кулаком «первому» по затылку, вскочил и побежал навстречу «Вовчику». Пробегая мимо, кричу «Вовчи-и-и-к!» и машу пальчиками, типа «пока», далее прямиком к остановке. Там стоял автобус, хоть и не совсем мне подходящий, но запрыгнул в него и уехал. Не ну а чо, шкафы опрокидывать я не нанимался ☺.


На сегодня у меня всё, благодарю за внимание ☺.


P. S. Музыкальное сопровождение – Crazy Lixx, Testament, Metal Church, Apocalyptica (вещь!), U96, Rednex, Alphaville, Savage, Secret Service, Space, Fausto Papetti, Al Bano e Romina, Riccardo Fogli, а также произведения любимых композиторов – Vivaldi, Чайковского, Рахманинова. И ещё ноктюрны Chopin для успокоения нервной системы перед сном – мой друг Джейсон попросил ☺.


Forza3dfx


#### Модификация игры Exolon


Вечером, в ноябре 2020 года, я получил письмо от знакомого с необычной просьбой – он попросил модифицировать игру Exolon и указал список изменений. Я уже изучал код игры, и хотел было отказаться,  так как не хотелось разбираться в этом «индусском» коде. Но позже я решил попробовать свои силы и навыки в reverse engineering. Скачал файл exolon128.tap с сайта ZXDB (https://spectrumcomputing.co.uk), запустил игру в эмуляторе Spectaculator и в отладчике выгрузил память компьютера по адресам $6000-$FFFF. Этот дамп скормил IDA 5.5 и начал думать, с чего начнётся исследование. Первый просмотр кода ничего полезного не дал – очистка экрана, подготовка нужных таблиц, и далее я наткнулся на последовательность вызовов процедур по адресам $75C5-$7671. На изучение всех процедур и на понимание кода ушло бы много времени и всех сил, поэтому я решил пойти иным путём, через несколько часов я придумал способ исследования. Спектрумисты со стажем сами скажут способ – это POKES или список cheat codes для игр. Он представляет собой адрес, значение, эффект в игре.

Например:


Infinite Lives 40221 0 0

Infinite Ammo 33646 0 0

Infinite Grenades 37456 0 0


Начальная задача была сделать для героя скафандр и реализовать высокие прыжки. Список POKES ничего не подсказал, поэтому придётся искать в дизассемблере. Сначала я посмотрел дамп памяти в утилите Sprite Grabber:


Память сохранена начиная с адреса 24576 ($6000), получается простой подсчёт: 24576+30944=55520 ($D8E0). Хорошо, начну искать адрес $D7E0. Нет, это не ошибка: для простоты шрифт игры и шрифт в ROM описывают символы пробел, восклицательный знак, кавычки. Поэтому адрес символа с кодом N считается как (N-8)*32 или N*8-256. По адресу ADE1 нашлась процедура печати символа, а по адресу AFDB – печать текста. Я стал смотреть код игры дальше.


RAM:75B8                 call    sub_7690        ; ?print AMMO


Ниже код такой:


RAM:7690 sub_7690:

RAM:7690                 ld      hl, unk_76A2

RAM:7693                 call    sub_AF2B        ; text out

RAM:7696                 call    sub_8E4F

RAM:7699                 call    sub_8E5B

RAM:769C                 call    sub_8E67

RAM:769F                 jp      sub_8E7B        ; print number


Эта процедура печатает внизу значения патронов, гранат, жизни и номера комнаты. Изучение дало приятный бонус: по адресу $8523 хранится номер комнаты. Это упростит исследование: в комнате 0 я расстрелял все препятствия и в отладчике занёс в адрес значение 8. Прохожу экран вправо и попадаю в комнату 9! Как раз в комнате я должен получить суперскафандр:


Получить я получил, но не нашёл, как это реализовано. Тогда я взялся за второй способ – скачал файл Nick Jones – Exolon – SFX 01 (AY) 4 (1987).ay – это музыка и звуковые эффекты, воспроизводятся эмулятором Сергея Бульбы (https://bulba.untergrund.net/emulator.htm). Запустил утилиту aysplitr и получил бинарные файлы и .INI с описанием адресов и параметров:


NewSong

Name=Exolon – SFX 02 (AY)

Stack=0

INIT=49396 адрес инициализации мелодии

INTERRUPT=49022 адрес вызова плеера

HiReg=0

LoReg=0

SongLength=125

FadeLength=0

CodeName=exo_0_1.BIN

CodeAddress=46800

CodeName=exo_0_2.BIN

CodeAddress=52000


Та же процедура звука (49396) вызывается в игре:


RAM:9F5D                 ld      a, (byte_9ED8)

RAM:9F60                 xor     0Ch

RAM:9F62                 ld      (byte_9ED8), a

RAM:9F65                 call    sub_C0F4        ; play sfx


Можно предположить, что $9ED8 – признак суперскафандра. Запускаю заново, в отладчик вношу значение $0C по адресу $9ED8 – получаю скафандр. Да, так и есть:


12 фаз спрайта героя и со скафандром.


Задача решена, на сладкое остался высокий прыжок. Я прыгнул в игре, запустил отладчик и оказался в процедуре, начинающейся $76DA. Эта процедура рисует спрайт героя, и изучение её работы меня совсем запутало. Постойте, я видел процедуру опроса клавиатуры, начну смотреть на неё:


RAM:7AE9 ; START OF FUNCTION CHUNK FOR sub_7B72

RAM:7AE9

RAM:7AE9 loc_7AE9:

RAM:7AE9                 ld      d, 1

RAM:7AEB                 ld      hl, locret_7B91

RAM:7AEE                 ld      c, 0FEh

RAM:7AF0                 inc     hl

RAM:7AF1                 ld      b, 0DFh

RAM:7AF3                 in      a, (c)

RAM:7AF5                 and     2

RAM:7AF7                 jr      nz, loc_7AFA

RAM:7AF9                 ld      (hl), d

RAM:7AFA

RAM:7AFA loc_7AFA:

RAM:7AFA                 inc     hl

RAM:7AFB                 ld      b, 0DFh

RAM:7AFD                 in      a, (c)

RAM:7AFF                 and     1

RAM:7B01                 jr      nz, loc_7B04

RAM:7B03                 ld      (hl), d

RAM:7B04

RAM:7B04 loc_7B04:

RAM:7B04                 inc     hl              ; Q

RAM:7B05                 ld      b, 0FBh

RAM:7B07                 in      a, (c)

RAM:7B09                 and     1

RAM:7B0B                 jr      nz, loc_7B0E

RAM:7B0D                 ld      (hl), d

RAM:7B0E loc_7B0E:


По адресу $7B94 заносится признак прыжка (нажата клавиша Q по умолчанию). А вот и прыжок:


RAM:81D4                 ld      a, (byte_7B94)

RAM:81D7                 or      a

RAM:81D8                 jp      z, loc_8280

RAM:81DB                 call    sub_814E        ; ?jump

RAM:81DE                 jp      z, loc_8280

RAM:81E1                 ld      a, 16h

RAM:81E3 loc_81E3:

RAM:81E3                 ld      hl, unk_8269

RAM:81E6                 ld      c, a

RAM:81E7                 ld      b, 0

RAM:81E9                 dec     a

RAM:81EA                 ld      (byte_82F7), a

RAM:81ED                 add     hl, bc

RAM:81EE                 ld      a, (hl)

RAM:81EF                 or      a

RAM:81F0                 jr      z, loc_820A

RAM:81F2                 cp      0Ah

RAM:81F4                 jr      nc, loc_81FB


Весь код прыжка я приводить не буду, не хочу утомлять читателя этим ужасным кодом. Смысл процедуры:  по адресу $8269 хранятся приращения к координате:


RAM:8269 unk_8269:       db  0Bh

RAM:826A                 db    4

RAM:826B                 db    4

RAM:826C                 db    2

RAM:826D                 db    2

RAM:826E                 db    2

RAM:826F                 db    1

RAM:8270                 db    1

RAM:8271                 db    1

RAM:8272                 db    1

RAM:8273                 db    0

RAM:8274                 db    0

RAM:8275                 db    0

RAM:8276                 db    0

RAM:8277                 db 0FFh

RAM:8278                 db 0FFh

RAM:8279                 db 0FFh

RAM:827A                 db 0FFh

RAM:827B                 db 0FEh

RAM:827C                 db 0FEh

RAM:827D                 db 0FEh

RAM:827E                 db 0FCh

RAM:827F                 db 0FCh


Как сделать высокий прыжок? После размышления я решил умножить значения на 2. Вот код из моего загрузчика с cheat menu:


;high jumps

ld hl,$826a,b,22 ;?8280

hj: ld a,(hl)

;    ld c,a

add a,a

;    add a,a

;    add a,c

ld (hl),a

inc hl

djnz hj


Осталось умножение на 2, так как при увеличении на 3 или на 4 появились побочные эффекты – игрок вылетал за пределы экрана и «застревал» в воздухе.

Напоследок я написал свой загрузчик с возможностью выбора трёх опций – бесконечные жизни, высокие прыжки и суперскафандр. Возможно, кому-то игровой процесс доставит удовольствие. Для любителей хардкорной игры есть свой выбор – не выбирать опции, а нажать 0 и перейти к меню. Spectrum users load before they are shoot.


Прим. ред.: скачать упомянутые исходники и бинарники можно здесь:

http://dgmag.in/N33/exolon.zip


Sh


### Интернет и сети

#### Интернет-бездорожье, или Воспоминания о dial-up


Обычно новые технологии появляются на свет под громкий рёв труб, восторженные возгласы, пророчащие долгие лета, заявляющие, что сия технология является принципиально новой, будь то рабочий стол с кнопкой «Пуск», плиточный интерфейс, iPhone, которому, наконец, вылечили детские болезни, планшетка и т.д. Зато исчезают технологии тихо и незаметно. Так, автор пожелал в 2016-м году испытать звонилку Chameleon, которую, наконец, нашёл на просторах интернета, но узнал, что просто так прибежать в киоск и купить карточку для dial-up интернета не получится. Не получится это сделать и в офисе провайдера. Судя по сайту, «Ростелеком», возможно, и предоставляет ещё доступ с помощью классического модема, но не подключает, или же надо идти в офис и узнавать, как же это сделать. Вот так и получилось – вроде бы был коммутируемый доступ в интернет –  и кончился. Когда – непонятно – как-то даже с 2008-го года не интересовался. Думалось, что он будет всегда, ан нет. Вот и получилось, что технология, которую, возможно, кто-то, как и автор, застал, будучи пользователем Windows XP и четвёртого «Пентиума», уже прекратила своё существование и тоже может рассматриваться как даунгрейд.

То, что хотел бы поведать в статье автор, носит очень субъективный характер – в статье будет всё – и слухи, и домыслы, и, надеюсь, всё же хоть какие-то правдивые факты. Поэтому если кто из читателей скажет: «Бред это всё! Быть такого не может!» – автор пожмёт плечами и скажет: «Ну, показалось» или «За что купил – за то и продаю». Поэтому просьба относиться к изложенному в статье именно как к такой смеси – слухов, фантазий и домыслов. ☺ Ещё автор просит прощения за обилие скриншотов Windows XP. Увы, чаще всего общался с интернетом именно в этой операционке, а не в любимой Windows 3.x (хотя и там интернет модемный удалось помучить, но это отдельный разговор ☺) или Windows 98 – увы, на ней уже пользовался ADSL-интернетом.

Итак, начнём...


Как подключают интернеты…


В статье «Ностальгия по нулевым» Антиквар писал, что для доступа в интернет необходимо было купить карточку, где будет логин и пароль для доступа. Ваш покорный слуга полностью согласен с этим, но для некоторых путь в интернет начинался не с карточки. Например, мы (да и не только мы) сначала для подключения интернета обратились в городской узел связи. Подключение достаточно сильно напоминало сегодняшнее подключение скоростного интернета – тоже необходимо было заполнить договор на оказание услуги связи в офисе провайдера, но застеклённые кассы с окошками добавляли процессу какой-то торжественности и, возможно, советскости. Казалось, что действительно получаешь не доступ в интернет, а подключаешь услугу телематической связи – по сути одно и то же, но сравните формулировки. ☺ Интернет подключал отец – как подарок на день рождения мне ☺ – кроме заполнения договора, необходимо было также придумать самостоятельно логин. Как помню, логин был или icar, или icar88 – по словам отца, первое, что пришло в голову. Пароль же на бумажке предоставлял провайдер.

Конечно же, модем в подарок от фирмы никто не предоставлял, зато за дополнительную плату – уж 10 или 50 руб./мес. – не вспомню, давали ящик электронной почты. Несмотря на наличие бесплатных почтовых серверов в интернете, думали, что не просто так предоставляют ящик, да ещё и платно... и платили за него тоже. Вроде бы, пользователь получал адрес типа логин@email.orgus.ru. Каких-то отличий от ящиков, которые потом были на mail.ru, как-то не припомню. Вот когда был провайдерский ящик уже от perm.ru в 2006-м году – там разница была – при отправке письма не требовалась авторизация, как это было уже тогда на mail.ru – на почтовике FoxMail 1.6 подобной функции не было, поэтому провайдерский ящик был удобнее. Конечно, возможно, спасла бы авторизация и приём почты перед отправкой, но автор не экспериментировал. В Орске же разницы между платным и бесплатным ящиком тогда так и не заметили.

Так вот, для подключения к интернету, кроме договора, нужно было заиметь ещё модем. Мы этим делом озаботились, когда собирали компьютер – приобрели внутренний Win-модем от D-Link. Так как нас обслуживала новенькая АТС (даже тональный набор был), проблем с качеством связи, о которых приходилось читать, не было.

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


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


После установки соединения открывалось окно с чёрным фоном, где зелёными буквами высвечивалось приглашение «Login:» – вводимый логин отображался. После ввода и нажатия Enter появлялось приглашение «Password:» – тут уже не показывали – введён пароль или нет – просто мигал курсор. Если всё верно, появлялись значки псевдографики, и можно было закрывать окно – в интернет нас пропустили. Причём, когда автор ставил в настройках протокол SLIP – всё прекрасно соединялось. Только интернет не работал. ☺ Возможно, стоило выбрать один из сценариев из выпадающего списка, но делать это побоялся.

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

Но вот буквы на зелёном фоне действовали завораживающе. Одна только мысль «На том конце провода UNIX» вызывала трепет.

Интересно, что у конкурирующей фирмы – «Диалог-М» – ничего подобного не было – настроил соединение на автомате и радуйся интернету. Наверное, из-за этого к ним уходили клиенты городского узла связи.


Нестандартные услуги связи и их тарификация


«Какие такие нестандартные?» – спросит читатель, и автор разведёт руками – уж проще «стандартные» перечислить. Создавалось ощущение, что обычный пользователь должен пользоваться следующими услугами – электронной почтой, вебом и, на крайний случай, FTP. Всё остальное – уже нестандарт – группы новостей, чаты – которые IRC, аська да и ещё много чего. Почему они нестандартные? У автора создавалось впечатление, что с использованием групп новостей – только чтение ☺ – и аськи деньги утекали быстрее. В Перми уже автор попробовал специально засекать время – пообщался минут пять-десять – глядел по часам, но карточка всё равно закончилась быстрее. А что говорить об интернете от ГУС? За первый или второй месяц нам выставили счёт на 700 руб. (на дворе конец 2004-го года – не самая маленькая сумма). При этом действительно понимали – время – деньги – в прямом смысле слова, и интернетовское время экономили. На вопрос «Почему так?» – получили ответ «Либо сами так много гуляли, либо ваш сын растрезвонил пароль товарищам». Насчёт логина, конечно, товарищу говорил, но когда тот попросил пароль, был далеко послан.

Сказать, что осадок остался – бессовестно соврать – сперва был скандал, потом – отказались от услуг ГУСа – в том числе и от платного почтового ящика. ☺


Конкуренты от «Диалог-М»


Как уже писал, конкурентом ГУСа был «Диалог-М» – что про них знали сначала? Что у них было круто – в самом начале 2000-х (уже в конце 2004-го не было) у них был помегабайтный тариф с бесплатной ночью. Когда мы подключались, такого уже не предоставляли. Вернее, те, кто подключился раньше, продолжали пользоваться этим тарифом, но для новичков ночь была, возможно, менее дорогой, чем день, но всё равно платной. Товарищ же, который подключился раньше, с удовольствием качал именно ночной порой – сам за компьютером не сидел, а вот качалка – конкретно у него ReGet Pro – старалась. Благо, у качалок была возможность выставить и время дозвона, и отключение после окончания закачки, и даже выключение компьютера, но это поглядим чуть позже.

Как уже писал, мороки с ручным вводом логина и пароля не было. Кстати, и карточки, такое ощущение, появились у них раньше. Увы, ни одной не сохранилось. Карточки были не почасовыми, а с определённым лимитом денег – собственно, по цене карточки. Мы брали обычно на 100, максимум 200 рублей.

Как раз диалоговским интернетом и пользовался ваш покорный слуга до отъезда в Пермь – почти полтора года. Конечно, мысли о том, что за аську и новостные серверы берут больше, была и тут, но решено было ими не пользоваться – не экспериментировать. ☺


Пермь. Интернет в большом городе


В Пермь ваш покорный слуга, как ему тогда казалось, ехал уже во всеоружии – было примерно известно о подводных камнях интернета. Из статей Антиквара и Романа Карпача знал, что можно в интернет ходить не только из Windows 98/XP, но и из третьей винды, да и то, что третья винда может ещё много чего интересного, как и старое железо. В общем, был собран 486-й компьютер, на котором была водружена Windows 3.1. В качестве модема был куплен (за 50 руб.) U.S. Robotics Sportster на шину ISA (см. рис. 2).


Рис. 2. U.S. Robotics Sportster – модем, который использовал автор на старом компьютере


На нём сперва удалось помучить терминал, потом – нормально подключиться к интернету – звонилкой Shiva из комплекта Internet Explorer’a 3.0. Установлен был весь комплект. Но ходил по страничкам с помощью Netscape Navigator 3.0 и Opera 3.62. В последней приходилось, в случае несовпадения кодировок, оперативно менять в настройках шрифт, пытаясь угадать, какой сейчас используется. Антиквар писал, что как-то можно настроить стили или профили браузера на разные кодировки, но я так и не понял, как это сделать. Но и так было неплохо.

Зато проблемы некоторые были со связью. Так получилось, что у бабушки стояла старая АТС – использовался только импульсный набор номера. Плюс ещё автор находился достаточно далеко от телефонной розетки – пришлось до компьютера тянуть пяти-, если не семиметровый провод (кстати, он и сейчас протянут, только модем уже ADSL-евский). Вот тут получилась интересность – после того, как у монитора сгорел предохранитель, и пришлось быстро ехать в город и менять его, поставил стабилизатор напряжения от телевизора, скорость соединения упала. Не знаю, ловил ли помехи провод или модем, но пока пользовался стабилизатором, скорость была ниже.

Параллельно пытались убедить родственников подключиться к интернету тоже. Для них купил внешний модем Eline. Уже не помню почему, но модем не прижился. Пришлось отдать им свой USR. На их компьютере ещё была ISA-шина, так что модем установился вполне удачно. Правда, они особо им, как я понял, не пользовались.

Автор же на праздничную стипендию купил себе U.S. Robotics Courier – внешний и чёрный. Было два варианта – мой за 1000 руб. и V.34 (думаю, что перешитый) за 1250 руб. Решил сэкономить 250 руб. – и зря. Модель оказалась на редкость неудачной – без переделки плохо работала с длинным телефонным проводом. Перепаивать же такой дорогой агрегат не захотелось (увы, даже и модель-то не могу назвать – далеко лежит сейчас). Вот и приходилось ловить скорости соединения – если устанавливалось соединение на скорости 28 или 32 кбит/с – тут же кидал трубку – уж лучше 29,2, 31,2, а уж тем более 40. Выше обычно и не поднималось – разве что 42 кбит/с, но тут могу сейчас и наврать.

Провайдером же стал ППИЦ – Первый Пермский Интернет-Центр – он же perm.ru. Первую карточку покупал у них в офисе, так как хотел узнать, поддерживают ли они протоколы V.34 и V.34+ – когда узнал, что поддерживают – тут же купил карту. Почтовые ящики они также предоставляли, но бесплатно. Именно из-за ящика я зарегистрировался у них на сайте и активировал через учётку новые карточки. Вроде бы на почту присылали статистику пользования интернетом. Оказалось, что у них есть даже свой сервер групп новостей. Увы, сервер был, группы были, а вот сообщений не было. Звонил в техподдержку – сказали, что разберутся, но через неделю группы всё равно были пусты. Но техподдержке огромнейшее спасибо – при настройке доступа в интернет для Windows 3.1 необходимо было задать IP-адреса DNS-серверов вручную – техподдержка без вопросов сообщила их.

Когда же появился USR Courier, вроде бы, пробовал и других провайдеров, но даже сейчас и не вспомню, какими пользовался чаще – вроде бы, брал и карточки U-tel, и ещё какого-то провайдера – там было нарисовано количество часов, но сейчас даже и не вспомню.

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


Программы-помощники


Даже сейчас читатель не ограничивает себя одним только браузером. Возможно, у него в активе есть аська или другой мессенджер, качалка, FTP-клиент, почтовик, а то и ньюсридер. Увы, такой экзотики, как просмотрщик кэша браузера и раньше ни у кого не видел. Правда, сам одно время держал Internet Cache Explorer, правда, недолго. Зато описанные здесь программы сослужили добрую службу – пусть и на Windows XP, но практически любая из них могла быть запущена на Windows 98, а то и на Windows 95, пусть и после установки обновлений. Итак, поехали...

Что делает интернетчик в самом начале? Пусть уже включён компьютер, загрузилась операционка... Открывает браузер? Не всегда. А вот без дозвона до провайдера при dial-up’e обойтись было невозможно. Конечно, звонилка Windows XP многое могла, но ваш покорный слуга использовал EType Dialer. Маленькую, но симпатичную звонилку. Сейчас, как выяснилось, её можно скачать с old-dos.ru: http://old-dos.ru/dl.php?id=22417. По этой ссылке можно скачать уже распакованный архив. В своё же время был доступен самораспаковывающийся архив, который на Windows XP сам не распаковывался, а антивирусник вообще кричал, что это виииииирус ☺, но WinRAR прекрасно его распаковывал.


Рис. 3. EType Dialer – увы, сейчас, когда компьютер подключён к интернету через роутер, программа не покажет никаких соединений, но когда-то было настроено подключение через Dial-up, программа его определяла


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


Рис. 4. Закладка «Приложения» позволяет настроить запуск приложения после установки соединения


Раз заговорили о почтовике, то тут отдельная эпопея – сперва для получения почты пробовали использовать Outlook Express и Outlook. Даже было желание попробовать программу Mail Commander (а вы бы не хотели иметь почтовик с таким названием), но программа версии 6.5 потерялась ещё до того, как у нас появился интернет. А более поздние так и не прижились. Эту же версию постараюсь найти и как-нибудь всё же попробовать, а то и посвятить статью. ☺

Прижился же The Bat! первых версий – например, автор активно использовал версию 1.53d, версию 1.62e. Находил рождественскую версию, но сейчас не помнит уже ни одной версии. Хотя, у соседа стояла именно рождественская версия. Версия 1.62 программы доступна на официальном сайте: https://www.ritlabs.com/download/the_bat/archive/the_bat_1.62.exe. Для интересующихся добавлю ещё адрес странички с различными старыми версиями программы на официальном сайте: https://www.ritlabs.com/en/products/thebat/archive-versions.php. В отличие от архива на неофициальном сайте, данные программы не требуют серийного номера, потому их можно использовать без кряка. Версия с сайта работала у автора на рабочем компьютере. На домашнем же компьютере сейчас трудится The Bat! 1.53d (см. рис. 5).


Рис. 5. TheBat! 1.53d


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

Использовать почтовик тогда было куда удобнее не только из-за локального содержания писем на жёстком диске и возможности посмотреть их в оффлайне. Но и запуск клиента, и получение писем происходили куда быстрее, чем открытие сайта почтовика. Хотя, когда лагал клиент, а почту посмотреть было нужно срочно – лезли-таки на сайт. ☺

«А браузер?» – спросит читатель. О браузере разговор особый. Хоть и хотелось альтернативы, но использовался Internet Explorer 6.0 из состава винды. Сайты тех времён открывались прекрасно. Кроме того, именно с Internet Explorer интегрировались такие программы, как менеджер закачек (автор использовал FlashGet, товарищ же предпочитал отечественную ReGet Deluxe), переводчик – PROMT Internet XT или «Сократ Интернет». Первый рано или поздно начинал жаловаться, что серийник неверный, потому чаще использовался переводчик «Арсенала». Плюс AI RoboForm. Конечно, взор периодически обращался в сторону альтернативных вариантов – Netscape Navigator 6.0, Mozilla – сколько проблем было поставить русификатор ☺, Opera. Но «осёл» брал своё. Однако реальной проблемой было отсутствие поддержки вкладок. Можно ли было решить проблему? Да, одним из вариантов был MyIE2RU. Фактически был оболочкой для IE, потому из этого браузера были доступны все расширения «осла», при этом добавлялась функция поддержки вкладок.

Одну из версий удалось найти здесь: https://soft.sibnet.ru/soft/11002-myie2-ru-0-9-27-0/get/ – уж не знаю, эта была или нет, но представление получить можно ☺. Увы, сейчас даже не сумел нормально с его помощью открыть «Полигон призраков» (см. рис. 6).


Рис. 6. Увы, сейчас не удалось нормально даже «Полигон призраков» открыть. Хотя, может быть, новые версии IE нормально не работают с этой оболочкой


Кроме нескольких вкладок, автору нравились скины. В частности, скин Apple-X (см. рис. 7) – большую часть времени MyIE работал именно с этим скином.


Рис. 7. Скин Apple-X – видя кнопки, очень хотелось попробовать «яблочный» компьютер. Тем более, что тогда в них стояли ещё процессоры PowerPC, что добавляло компьютерам очарования (правда, вариант с 68k, скоростной шиной PDS, шинами NuBus и интерфейсом ADB для клавиатуры и мыши куда интересней)


Уж не знаю, заработает ли MyIE на Windows 98, но на ХР прекрасно работал. Кстати, возникали проблемы, когда назначал браузер-надстройку браузером по умолчанию – не помню, какие были глюки, но быстро перенастраивал основным браузером Internet Explorer.

Другим вариантом стал NetCaptor. Тоже браузер-надстройка, но, в отличие от бесплатного MyIE2, браузер был платным, а великий и могучий добавлялся сторонним русификатором. Интересно, что этот браузер удалось запустить с Internet Explorer 4.0. Вот не помню, удалось ли завести его на Win95 OSR2 или нет – не помню, но не удивлюсь, если возможно. При такой всеядности версия NetCaptor 7.0.1 имела дизайн а-ля Windows XP IE 6.0 (см. рис. 8). Программа была найдена на диске и сейчас, к сожалению, удалось найти только бета-версию NetCaptor 7.0.2:

http://web.archive.org/web/20021005114158/http://download.netcaptor.com/ncsetup.a1000.exe

Увы, серийный номер найти не удалось, потому не стал загружать на old-dos.ru. В 2008-м году компания разместила серийный номер, но для скачанной версии он не подошёл. А вот работала ли версия 7.5.4 под Windows 98 – сейчас не вспомню


Рис. 8. NetCaptor – даже на Windows 98 можно получить дизайн Internet Explorer под Windows XP


Увы или не увы, но даже такие умелые надстройки не затмевали желания попробовать что-то ещё. Не оболочку – именно браузер. Не получилось особо с Netscape и Mozill’ой, но шустрая «Опера» в какой-то момент заняла место основного браузера. А именно – Opera 5.12 (русская версия есть на old-dos.ru: http://old-dos.ru/dl.php?id=2773). Тогда браузер прекрасно работал и успешно показывал все сайты. Увы, «тогда» – это в 2005-2007-м году. Но отсутствие поддержки из коробки менеджеров закачки откровенно не радовало – делали просто – копировали ссылку на файл и добавляли в список закачки ручками. Зато браузер работал гораздо быстрее, и линейка прогресса двигалась куда быстрее, что не могло не радовать. А уж то, что на 5х86 с Windows 95 браузер тоже работал, не могло не радовать.


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


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

Ваш покорный слуга использовал FlashGet 1.65, который вытянул с freeware.ru. Увы, сейчас этот сайт, видимо, накрылся, а жаль. Нужную версию нашёл здесь ftp://ftp.vetorial.net/pub/ftp/fgf165.exe. Программа уже содержала русскоязычный интерфейс, который сейчас включился автоматом, да и тогда тоже особой проблемы не было (см. рис. 10). Программа добавляла в контекстное меню Internet Explorer пункты «Скачать с помощью FlashGet» и «Скачать все с помощью FlashGet». Кроме возможности тянуть файлы по ссылкам из браузера, программа давала возможность самостоятельно открывать FTP и HTTP-сервера.


Рис. 10. FlashGet. Наверху была реклама с просьбой зарегистрироваться – без неё выглядит как-то пусто


Но куда интересней тогда были другие функции: дозвон и отключение по расписанию, разрыв соединения после окончания закачки, выключение компьютера после закачки. Функции менеджеров закачки были достаточно стандартны и присутствовали не только в FlashGet, но и в ReGet. Товарищ пользовался этими функциями ReGet на всю катушку. Программа дозванивалась до провайдера ночью, когда можно было пользоваться интернетом бесплатно, соединялась с сервером, скачивала нужное и разрывала соединение (как я понял, если не получалось скачать – отрубала связь по тайм-ауту), а потом выключала компьютер.

Ваш покорный слуга обычно использовал функцию отключения и выключения компьютера после окончания загрузки. Запускал закачку ручками, но или перед сном, или же рано утром, пока собирался в школу. Так запомнилась эпопея со скачиванием Norton Utilities 8.0 – откопал полный дистрибутив на каком-то файловом сервере и тянул оттуда, добавив все файлы дистрибутива в список закачки. Программа могла закончить закачку, когда ваш покорный слуга или уже лежал под одеялом и пытался заснуть, либо стоял в коридоре в куртке. ☺

Что ещё? AI RoboForm! Как много в этом названии! Сколько раз вам приходилось заполнять различные формы на сайтах? При регистрации, на сайте знакомств... А вводить пароли? А представьте, что большую часть полей можно заполнить нажатием одной кнопки. Разве вы бы не поставили такую программу, особенно когда при заполнении форм тикает время? Вот и автор поставил и с удовольствием её использовал. Даже когда модемный канал заменил скоростной ADSL. Программа не забыта и на old-dos.ru. Вот её страничка: http://old-dos.ru/files/file_8101.html. Сейчас там версия 3.5.4 – не скажу, такая ли была у меня или нет, но программой был очень доволен. Программа же прекрасно развивается, и фирма явно не бедствует.

За кадром остались ньюсридеры – ибо пару раз тогда запустил, и этим закончилось, FTP-клиенты – как и с браузером, FTP-клиент и сейчас прекрасно используется, а говорить, что он как-то ускорял получение файла из сети по сравнению с браузером (а почтовик ускорял! ☺), было бы некорректно. Файлообменными сетями стал пользоваться уже позже – уже когда появился скоростной интернет, но тогда eDonkey и eMule, а также WinMX были вытеснены торрентами.


Заключение


Всё идёт к тому, что все воспоминания автора стоило закончить горьким вздохом в духе «Это было прекрасно, удивительно, но, увы, этого не вернуть!». В чём-то да, но жизнь один раз преподнесла сюрприз: когда ваш покорный слуга работал в институте, нас поселили в помещение, где не было скоростного интернета. Была только точка Wi-Fi, дававшая пользователю только 32000 бит/с. Вот тут-то пришлось вспомнить модемные времена – выкачать и установить менеджер закачки, спешно поставить The Bat! и Stunnel. Так что, вполне возможно, что что-то из перечисленного даунгрейдер может использовать и в современном мире гигагерц, гигабитов и гигабайтов. Ваш покорный слуга уже забыл медленные каналы с периодически рвущимся коннектом, но оказалось, что ещё живы такие.

Ещё раз хочу повторить – рассказывал всё со своей колокольни и, вполне возможно, что у вас всё было далеко не так, но, может быть, вы тоже захотите рассказать о своём пути во всемирной паутине?


Андрей Шаронов (Andrei88)


#### Арсеналъ отечественного интернетчика


Основным инструментом для общения с всемирной паутиной уже двадцать лет, а то и больше, является браузер. Сейчас в окне браузера пользователь открывает страничку в социальной сети, ищет информацию, читает корреспонденцию в почтовом ящике. На настольных компьютерах веб поглотил, кажется, всё – все протоколы, все сервисы (на коммуникаторах, кажется, – с точностью до наоборот – на любой чих – отдельная программа). Однако в своё время пользователь интернета содержал на компьютере достаточно много различных интересных и полезных утилит – почтовый клиент, ньюсридер, FTP-клиент, качалку файлов, а то и качалку сайтов. Да много чего ещё. Большинство программ было зарубежного производства. Даже всенародно любимый The Bat! был разработан не в России, а в Молдавии. А что же Россия? Наиболее известной программой, которую можно назвать российской, является, наверное, ReGet. Также с интернетом соприкасается переводчик от PROMT, причём программа для браузера когда-то даже имела отдельное название – WebTranSite. Однако по количеству утилит наиболее плодовитой конторой оказался альянс компаний «Арсеналъ»-«ДИСКо». Компания Михаила Донского разработала целый комплекс утилит, облегчавших пользование интернетом:

·    «ДИСКо Качалка» – программа для скачивания сайтов

·    «ДИСКо Наблюдатель» – программа проверки обновлений интернет-ресурсов

·    «ДИСКо Искатель» – метапоисковая программа

Кроме того, «ДИСКо Командир» тоже получил возможность работы в интернете – сперва FTP-клиент, а позже – версия 5.3 – возможность доступа к почтовым ящикам.

Наиболее распространённой программой для интернета от «Арсенала» был «Сократ-интернет». Третья версия на пиратских дисках поставлялась с солидной библиотекой тематических словарей. Настолько солидной, что ваш покорный слуга каждый раз, оглядывая её, плевался, не зная, как же прикрутить такое богатство к «Сократу персональному» или «Сократу 98».

Однако отдельными программами дело не ограничивалось. «Арсеналъ» активно работал на рынке недорогих лицензионных решений, предлагая, если верить рекламным статьям, по сходной цене элементы «Русского офиса». Интернет-программы также поставлялись в виде недорогих комплектов. Автору известны три таких диска-сборника: ABCNet, WWW SmartLine и Magic Web Tools.

Периодически автор пытался найти один из таких дисков, но не получилось. Как и не попадалось образов этих дисков. Но вдруг повезло. Автору удалось приобрести OEM-диск WWW SmartLine от магазина «Партия», как было сказано в объявлении. Об интернет-утилитах этого диска и пойдёт разговор в данной статье.


Скачивание и установка


Да! Опять! Снова! И опять оказалась проблема с установкой программы. Но всё по порядку. Образ диска доступен на http://old-dos.ru/dl.php?id=22508. Увы, установка программ одним махом через меню диска упёрлась в серийный номер для всего комплекта. Однако редактор журнала предоставил серийный номер для каждой программы из комплекта. Но как их поставить отдельно? Оказалось, достаточно просто – программы хранятся не запакованными в архиве без собственных инсталляторов (так было в «Русском офисе 97», откуда ваш покорный слуга доставал «Декарт»), а в папке в виде отдельных дистрибутивов. Все дистрибутивы находятся по адресу CD-ROM:\ Software\SmartLine\Files. Здесь доступны все компоненты WWW SmartLine:

·    «Сократ Интернет Стандарт»

·    «Реаниматор»

·    «ДИСКо Качалка»

·    «ДИСКо Искатель»

·    «ДИСКо Наблюдатель»

В изначальном варианте не получалось поставить с дика «ДИСКо Наблюдатель». Поэтому пришлось переснять образ. Теперь «Наблюдатель» тоже ставится, однако, если у вас возникли с ним проблемы, альтернативный дистрибутив программы также был загружен на old-dos.ru и доступен по ссылке http://old-dos.ru/dl.php?id=22502.

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

После того, как эти строки были написаны, редактор журнала нашёл способ установить программы с помощью единого инсталлятора, за что ему огромное спасибо. Для этого, правда, понадобится скопировать все файлы с диска в отдельную папку и заменить файлы в каталоге Папка, куда были скопированы файлы с диска\Software\SmartLine на лежащие в каталоге patch в архиве с Old-DOS. После чего при установке сообщить программе серийный номер из файла readme.txt. Программы будут установлены все вместе.


Через языковой барьер


Пожалуй, одной из самых необходимых программ был переводчик. Конечно, всегда можно выделить фрагмент и скопировать его в окно переводчика, но специальные программы предлагали по одной команде «разобрать» страницу, вычленить текст, перевести его и заменить страничку. То есть вы нажимаете кнопку или пункт контекстного меню, ждёте, и все слова на страничке заменяются на русские. Разве не заманчиво? Именно этой цели служит PROMT Internet (и его предок WebTranSite), а также «Сократ Интернет». Версия 2.1 этого переводчика содержится в комплекте WWW SmartLine.

Программа поддерживает только Internet Explorer (как и третья версия), что всегда сдерживало от перехода на альтернативный браузер. Автор удивился, но даже в IE 8.0 также была возможность использовать данный переводчик.


Рис. 1. Кнопки «Сократ Интернет» в браузере Internet Explorer 8.0


Однако куда более аутентично времени всё смотрелось в браузере-оболочке NetCaptor (см. рис. 2). Здесь кнопка на панели инструментов отсутствовала, но в контекстном меню был пункт «Перевести».


Рис. 2. В NetCaptor на панели инструментов отсутствовали кнопки настройки и вызова перевода страницы, но в контекстном меню был пункт «Перевести»


Рис. 3. Страница в NetCaptor после перевода


Конечно, перевод ещё тот, поэтому уже для третьей версии на пиратских дисках шёл достаточно солидный набор словарей. Да и по качеству перевода господа-эксперты всё же всегда ставили на первое место «ПРОМТ». ☺


Инструмент декодирования


Проблема кодировок знакома многим – по тем или иным причинам. Фанату старых программ и игр доставляет определённые неудобства разница кодировок DOS и Windows (поэтому даже просмотрщик WinRAR имеет средства перекодирования из CP866 в CP1251), любители старых виндозных программ для интернета, наверное, имели трудности с КОИ-8, плюс вычислительная техника и принтеры производства СССР/СЭВ, а также постсоветские изделия имели трудности с кодовыми таблицами. Для решения части этих проблем разрабатывались программы-перекодировщики.

Определённую популярность имел «Штирлиц 4.0» – эту программу ваш покорный слуга видел на компьютерах в кабинете информатики, сам когда-то на волне кодировочного энтузиазма поставил себе на компьютер Tcode, компания «Агама» создала для этих же целей MailReader, а программа «Реаниматор», созданная компанией «Арсеналъ», вошла в состав SmartLine.

Работает программа просто. При клике по ярлыку программа сразу сворачивается в трей (см. рис. 4).


Рис. 4. После запуска в области уведомлений появляется значок «Реаниматора». Открыть главное окно можно двойным щелчком по нему


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


Рис. 5. Программа декодировала текст в кодировке CP866 – сразу и самостоятельно


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


Рис. 6. Увы, не все варианты «одинаково полезны»


К сожалению, вызвать программу, чтобы посмотреть последний конвертированный текст ещё раз, не получится – при повторном клике на значок программа объявит, что в буфере обмена ничего нет. Кроме того, не получилось декодировать русский текст, набранный в английской раскладке клавиатуры. Правда, как показала практика использования программы Tcode, проблемы с кодовыми таблицами возникают достаточно редко. В большинстве случаев их могут решить встроенные перекодировщики браузеров или почтовых клиентов (уж современные наследники Netscape с этим точно справляются ☺, как и The Bat! с Outlook’ом).


Сайт – в любое время


Когда-то сайты были простыми, малообъёмными; скорости интернетов были маленькими, а оплата – повременной. Какие только изыски не порождала такая ситуация. Кстати, и многооконность браузеров тогда была куда более востребованной. Вот подключитесь вы к интернету, зададите вопрос «Гуглу» или «Яндексу», получите ответы, откроете сразу несколько страниц с результатом поиска, дождётесь, когда они загрузятся... и отключитесь. Будете сидеть и выбирать интересные ответы, открывать их в новых окнах, закрывать окна-вкладки ненужные. Потом снова подключитесь и запустите обновление всех вкладок сразу. А потом снова отключаться и смотреть, что же там такое получилось. Не было такого, скажете? Я один, что ли, такой умный? Не верю. ☺

Были и другие способы – например, кэш браузера посмотреть в оффлайне – не все странички сохранялись, но если сохранилась, то зачем лишний раз интернет напрягать?

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

Самой крутой, мощной, а, возможно, и самой старой программой этого типа был Teleport Pro, были и другие программы: WebZip, WebCopier (отечественная, кстати ☺). Как догадался читатель, есть подобный инструмент и в SmartLine. Прошу любить и жаловать – «ДИСКо Качалка».


Рис. 7. Главное окно «ДИСКо Качалки»


Как же скачать сайт? Командой Файл->Новый запускаем диалог настройки закачки (см. рис. 8).


Рис. 8. Диалог настройки закачки. Автор попытается загрузить статьи с «Полигона Призраков»


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


Рис. 9. Идёт закачка сайта


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


Рис. 10. Папка с локальной копией сайта


Рис. 11. Стартовая страничка с фирменным логотипом «ДИСКо»


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


Рис. 12. Да, это сохранённая копия статьи. На неё я перешёл со стартовой страницы ☺


Ваш покорный слуга всё же чаще использовал Teleport Pro – казалось, что и процесс наглядней, и настраивается проще. Правда, всё это было в сравнении не с продуктом «ДИСКо», а с WebCopier. Ну и процесс закачки через dial-up был куда драматичней, чем сейчас.


Метапоиск на локальном компьютере


Нужна ли программа, которая отправит поисковый запрос поисковым серверам и получит от них результаты? Казалось бы, что нет – мы как-то привыкли открывать страницу поисковика, забивать запрос и ждать ответа. Но ведь кто-то привык открывать почтовый ящик в виде страницы в браузере и при этом плеваться от медлительности этого процесса, хотя есть почтовый клиент, который сделает всё куда быстрее – получит сразу все письма, которые вы не спеша сможете просмотреть. Поэтому, в принципе, и поисковая программа, если к ней привыкнуть, станет полезным инструментом. Так или иначе, но такие программы – не наше изобретение – за рубежом существует, например, Copernic, который выполняет именно такую функцию. У нас разработано несколько подобных программ. «ДИСКо Искатель» был, по словам Леонтьева, пионером отечественного метапоиска. Именно эта программа входит, как догадался читатель, в состав SmartLine. Главное окно программы показано на рис. 13.


Рис. 13. Главное окно «ДИСКо Искателя»


При запуске программы открывается диалог поиска (см. рис. 14). Если вы его закрыли, открыть снова можно кнопкой  или командой меню Интернет->Поиск.


Рис. 14. Диалог ввода поискового запроса


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

Автор когда-то пользовался похожей по функционалу программой SurfPilot – тоже остался не очень доволен результатами. А вот зарубежная программа обзавелась даже младшим братом – Copernic Shopper. Можете себе представить аналог такой программы, заточенный на отечественные торговые площадки – Molotok (Newauction), Meshok, Ozon, Avito в одном флаконе. Хотя, в объявлениях «Авито» попадалась то ли реклама, то ли объявление о продаже некой программы-агрегатора. Правда, потом поиск в «Гугле» особо никаких сведений о таких программах не дал. Но, возможно, не так искал?


Что нового?


Наконец, мы переходим, возможно, к одной из самых интересных программ комплекта. Трудно сдержать эмоции, начиная рассказ об этой программе. Компания Михаила Донского попала в точку! В десятку – создали программу, аналогов которой очень мало – программу просмотра обновлений сайтов – «ДИСКо Наблюдатель»!

Отчего столько восторгов? Всё просто – «ДИСКо Наблюдатель» готов быстро опросить сайты из списка на наличие обновлений. Вы только добавляете адрес и указываете, как часто надо мониторить сайты и сервера. При этом можете в любой момент запросить проверку обновлений. К сожалению, версия, выкачанная с сайта компании «ДИСКо», не имела возможности просто так ввести регистрационный номер – если вы хотели зарегистрировать программу – вас переводили на сайт – вроде бы, даже не компании «ДИСКо», а «Арсенала», который уже в 2005-м году, вроде, не работал.

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

Внешний вид «ДИСКо Наблюдателя» показан на рис. 15. Окно напоминает отдалённо проводник Windows – слева располагается древо ресурсов – ресурсы можно объединять в папки, что приближает интерфейс программы к проводнику. Справа же располагается лог с результатами проверки обновлений ресурсов. Здесь выводится дата и время запроса, а также кратко то, что поменялось на сайте. Если вы хотите почитать изменившийся ресурс – двойной щелчок откроет сайт в браузере.


Рис. 15. Главное окно «ДИСКо Наблюдателя»


Добавить сайт для мониторинга можно самой левой кнопкой на панели инструментов – «Новый объект» – или же командой меню Объект->Новый. Откроется диалог добавления нового объекта, показанный на рис. 16. Здесь вы можете ввести имя, которое будет отображаться в древе слева, адрес, а также частоту обновления.


Рис. 16. Диалог добавления нового объекта мониторинга


Увы, сейчас получилось получить обновления только с сайта журнала Downgrade – даже попытка проверить обновления форума «Полигона Призраков» закончилась ошибкой. Возможно, что это проблема «битого» дистрибутива, возможно, что сайт для программы современный. Такое ощущение, что когда-то экспериментировал всё же с версией 2.2 – там можно было даже указать, какой же фрагмент сайта изменился – сейчас в настройках объектов наблюдения этого не нашёл. Увы, тогда попытался натравить программу на сайт компании «Миландр», но программа каждый раз писала об изменениях, хотя на странице ничего не происходило. Но для автора именно эта программа представляла наибольший интерес во всём комплекте.

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


Когда время – деньги


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

Конечно, можно закончить статью достаточно банальной фразой о том, что бесполезные, большей частью, утилиты всё равно приятное приобретение для автора статьи, коллекционирующего софт «Арсенала» и связанных с ними компаний, но знакомство с диском навеяло немного другие мысли. Когда-то достаточно широкое хождение имели переводчики серии X-Translator на ядре «ПРОМТ». Продавались они достаточно дёшево и, думается, покупались лицензионными, хоть и в достаточно бедной упаковке. У друзей семьи такой диск был, и для вашего покорного слуги знакомство с машинным переводом было связано в том числе и с X-Translator'ом. Думается, будь среди знакомых достаточное количество интернетчиков, возможно, один из комплектов утилит от «Арсенала» и «ДИСКо» был бы куплен либо кем-то одним, либо в складчину. Увы, только один товарищ имел интернет и точно интересовался интернетовскими утилитами. Автор тогда дал ему дистрибутив MyIE2, а от товарища узнал, что тот использует в качестве качалки ReGet (я же пользовался FlashGet и был ей доволен). Общение же с конторой, которая, по словам другого товарища, единственная в городе торговала лицензионным софтом, не заладилось конкретно – как-то раз автор ходил туда пешком – дорога заняла, наверное, минут сорок или час в одну сторону по не самой тёплой погоде зимой. Результатом того похода был только ответ продавца «Мы продаём продукцию 1С, The Bat! у нас нет» – так и закончился интерес к тому магазину. Хотя, если у них были всё же продукты «Арсенала», сейчас обидно, что тогда не поинтересовался.


Андрей Шаронов (Andrei88)


### Downgrade-арт

#### Вначале была командная строка


— Пап! Папа! Помоги!..

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

— Пап! Пап! Ну, пожалуйста!..

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

— Пап! Ну, папа…

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

— Пап! Папа! У меня опять все друзья полетели! — верещит дочка, но не истерично, а просто так, для шумихи. Иначе папу от компьютера не отвлечь.

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

— Что? Какие друзья? — встрепенулся Виль, возвращаясь в мир по эту сторону экрана. — Куда полетели? — не понимает, округлив глаза, смотрит на дочь, проигрывает в голове недавно услышанные слова.

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

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

— Да! — радостно воскликнула Катя. — Все друзья слетели…

— Катюш, — мягко начинает отец, — не стоит так переживать! Это ведь всего лишь… — останавливается, подбирая нужное выражение, которым можно было бы свести виртуальную сеть до уровня безделушки.

— Но меня гулять зовут… — расстраивается девочка. — А я не могу прочитать сообщение от Галки…

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

— Я добавила Вальку, — перебила Катя. — И после этого у меня все друзья слетели.

— Вот смотри… — Виль глядит в интерфейс программной оболочки соцсети. — Нужно было…

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

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

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

— Виль! — слышат оба голос из кухни. — Ви-и-и-ль!

Нет, не будет ему сегодня покоя.

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

— Ви-и-и-ль! — повторный запрос из кухни.

— Пап, «НаСвязи» — это такой отстой! — вдруг изрекает Катя, подражая взрослым, серьёзно и со значением.

— Э-э-э… — мычит озадаченный отец. Где она таких слов нахваталась? Не иначе как в «Визаж-паде».

— Вилли! — зовёт появившаяся в зале Марина: в руках половник, в глазах укор, копна каштановых волос собрана под цветастым платком. — Посмотри на часы!

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

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

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

— Пап! Ну всё равно ничего не работает… — Катя готова расплакаться.

— Прости, доча, — впопыхах отвечает отец, — но мне нужно бежать. Мама посмотрит твой телефон.

— Ага, сейчас, разбежалась, — усмехнулась Марина.

— Ну, тогда я посмотрю. Потом. Когда вернусь.

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

— Плохая примета…

— Блин!

— Не выражайся при ребёнке!


— — —


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

Однако на деле в большинстве случаев получалось с точностью до наоборот: замученные за неделю сотрудники на финишную прямую выползали, как говорится, из последних сил, что не располагало к конструктивному диалогу. Либо же находились в предвкушении субботней рыбалки, а обсуждать корпоративные темы не хотелось. Подобное отношение лишь обостряло ситуацию, руководство негодовало. Особенно доставалось штату, трудящемуся на удалёнке, — ведь пятничные собрания являлись едва ли не единственной возможностью встретиться лицом к лицу, а для некоторых — свести счёты. К тому же, дистанционный режим работы по определению окутывает сотрудника ореолом бездельника, отсиживающегося дома, пока другие в поте лица…

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

— …На этом у меня всё, — завершает речь Виль. — Спасибо за внимание!

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

Павел Георгиевич — он сидел по центру и исполнял роль ведущего — поправил очки, огляделся по сторонам. Не встретив инициативы, прокашлялся и вполголоса протянул:

— М-да, интересно.

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

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

— Реализовать будет очень сложно! — неожиданно высказался кто-то из второго ряда. Виль приглядывается: так и есть — парень из департамента аппаратных разработок, вечно всех критикует и суёт нос не в свои дела.

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

— Что вы имеете в виду, Андрей?

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

— Андрей, не стоит так сразу рубить сплеча! — Павел Георгиевич всё ещё сидит к нему вполоборота. — Я понимаю, что железо — это ваша зона ответственности, но вы должны с интересом отнестись к предложенной задаче. Если каждый будет отнекиваться, то у нас, знаете ли, ничего не получится. Никогда вообще, — подчеркнул Павел Георгиевич. — В конце концов, мы ведь не знаем — может быть, у других производителей есть какие-нибудь разработки по данной теме. Может быть, есть смысл изучить этот вопрос?

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

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

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

— Можно я скажу? — гундосый голос справа.

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

— Да, конечно, пожалуйста!

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

Его все знают, и прерывать не осмелятся. Огненно-рыжий веснушчатый мужчина, расположившийся в гордом одиночестве на краю первого ряда, — представитель компании-инвестора. Периодически посещает внутренние презентации «НаноПрога» и всегда держится на расстоянии. И хотя говорят, что в своей конторе Жёлтый Пиджак — всего лишь рядовой клерк, а в технических вопросах некомпетентен, в стенах этого зала спорить с ним сложновато.

— Так вот, — говорит рыжий, — проект, предложенный нам… — Пиджак заглядывает в программку. — Предложенный Вилем Генриховичем программный продукт, конечно, интересен, но понравится ли он пользователям, нашим клиентам? Главное, как ни крути, это всё-таки маркетинг, он и тащит на себе сбыт продукции. А рядовой пользователь… или как вы там говорите? Юзер? — Жёлтый Пиджак по-хозяйски улыбается. — Юзер у нас до жути консервативный, он не хочет ничего менять, ему и так хорошо, он не собирается отказываться от того, к чему привык. Вдобавок, как тут уже ранее говорили, уйма денег уйдёт на разработку техники. Это ж миллиарды! Как вы там говорите? Железо? — Пиджак стирает с лица улыбку. — Но ведь на старых компьютерах предложенный программный продукт не пойдёт, а будет ли юзер покупать разработанное под такое ПО железо? Как вы думаете? — Он смотрит на Виля почти снисходительно. — И это мы ещё не затронули затраты на разработку самого программного обеспечения. Я ведь правильно понял, что проект практически в зачаточном состоянии? А продемонстрированные наработки ещё ой как далеки не то что от идеала — даже о более-менее работоспособной версии говорить пока рано. Так ведь? — гнусавит Пиджак, а подавленный Виль кивает. — Да, и если на то пошло, какой потенциал заложен в вашу разработку? Улучшенный функционал? Сомневаюсь. Мне кажется, того, что уже есть, вполне хватает. Разве может быть что-то удобнее и проще? Новые возможности? Не вижу. Ни один продавец не сможет убедить меня купить эту штуку. Дизайн? Ну, это уж точно не фактор! На выходе мы имеем лишь колоссальную нагрузку на технику, без существенных улучшений. Так что…

«Бесполезная безделушка», — с горечью подумал Виль.


— — —


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

— Простите? — переспросил Виль.

— Как проехать к планетарию? — повторяет женщина — уже немолодая, но вполне привлекательная особа в длинном чёрном пальто.

— Хм… — задумался Виль. По правде говоря, ему хорошо знакомы лишь три автобусных маршрута — седьмой, восьмой и десятый — и ни один из них в сторону планетария не идёт. Но отказать в помощи случайной встречной не может, поэтому взывает к сидящему внутри географу с просьбой посодействовать. Тот, впрочем, тоже не особо сведущ. Виль уже пожал плечами, но ситуацию спасает вынырнувший из-за поворота троллейбус со светодиодным номером 36 на грустной морде. — Вот-вот! — говорит Виль, прочитав всплывшую вдруг в памяти карту. — Этот вам точно подойдёт!

— Ой, спасибо большое! — приятно улыбается незнакомка и спешит к месту остановки рогатой машины.

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

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

Раздосадованный ошибкой Виль смотрит вслед уходящему троллейбусу и вполголоса произносит:

— Блин…

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

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

«И ведь это не решило бы проблему изменения маршрутов, так? — доказывает сам себе Виль. — Не будешь же ты заставлять сотрудников депо каждый раз малевать на картонке стрелочки и линии, чтобы отобразить корректировки в курсе следования троллейбуса! А если учитывать, что по вечерам они едут в депо, и эти изменения тоже неплохо бы указывать, то никаких картонок не напасёшься. Так ведь?.. Ага, — соглашается сам с собой Виль, — а это значит… это значит, что…»

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

— Да не расстраивайся ты так!

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

— Не расстраивайся! — повторяет Антон Балман. Выходя из офиса, он заметил Виля и не преминул поддержать коллегу в трудную минуту.

— Да я и не расстраиваюсь! — отвечает Виль, но выражение лица свидетельствует об обратном.

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

— Как тебе сказать… — мямлит Виль.

— Забей! — решает Антон. — Давай лучше по пивку? — предложил и, уловив во взгляде товарища сомнение, прибавил: — Сегодня же пятница.


— — —


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

— Не принимай близко к сердцу, — непринуждённо говорил Антон, — дело тут вовсе не в тебе. Проект твой действительно здоровский, и именно поэтому они его зарубили.

— Они? — лениво отзывается Виль. — Кто это — они?

— Они самые, — подражая Жёлтому Пиджаку, гнусавит тот.

— Очень похоже, — оценил Виль.

— А знаешь ли ты, в какие компании они инвестируют свои деньги?

— Ну, более или менее, — пожал плечами. — В основном, высокотехнологичные фирмы…

— …среди которых небезынтересная нам «Айва»!

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

— Почему — не бывает?

— Всем известно, что «НаноПрог» и «Айва» — заклятые конкуренты. Грызёмся с ними за каждую копейку, как кошка с собакой.

— Причём, собака — это мы, — ввернул Антон и коротко хохотнул. — Здоровая такая псина.

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

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

— Ну, хорошо. Но как же тогда…

— А во-вторых, есть ещё фирмы-посредники, через которые можно прогнать финансовые потоки. В общем, всё у них там хитро, непросто…

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

— …В открытом доступе информации не сказать чтобы много, — между тем продолжает Антон, — но у меня ведь свои источники…

— Да-да, ты говорил… — Виль вспоминает, что Антон когда-то давно работал в «Айве».

— Так вот, и это важно…

«Зачем он всё это мне рассказывает?» — спросил себя Виль. Закулисные интриги — удел избранных, а друзьями они никогда не были. Скорее — просто коллеги, может быть — приятели, которые изредка сидят вот так же, как сегодня, в кафе. Тот факт, что пару раз выезжали семьями за город на шашлыки, не объясняет подобной откровенности.

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

— …Даже сам Степан Павлович не был в курсе, — закончил Антон и уставился на Виля.

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

— Степан Павлович? — единственное, на что его хватило.

— Трудолюбов. Знакомая фамилия?

«Генеральный директор «Айвы», — проплыло в голове у Виля. — Кстати, о чём это мы?»

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

— Хе-хе… — подсмеивается Антон. — А вот тут — самое интересное! — обещает и, растягивая театральную паузу, манерно берёт в руки кружку, делает небольшой глоток. — Ты в этой истории при том, что наш рыжий товарищ недавно, с полгода назад, на корню зарубил примерно такой же проект в «Айве».

— Вот те раз! — вырвалось у Виля, он в момент протрезвел. — Такой же проект, как у меня?

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

— Но как же так?.. Почему?

— Понятия не имею, — пожал плечами Антон. — Но видимо, были у него какие-то свои причины…

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

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


— — —


Включать свет в прихожей не стал. Осторожно прокрался на кухню. Нашёл табурет и присел возле окошка.

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

Скрип двери. Едва различимый шорох из коридора.

— Устал? — тихий голос Марины.

Виль лишь тяжело вздохнул.

— Мне посидеть с тобой? — Марина нежно поглаживает его плечи.

— Нет, не стоит… Иди лучше спать. Один посижу, с полчасика.

— Хорошо… — Марина целует его в щёку. — Я сварила рассольник. На плите, настоялся, наверное, за день. Сметана в холодильнике, не забудь.

— Спасибо.

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

— Марин? Может, мне лучше было идти на художника?

— Что?.. — не поняла та.

— В Институт искусств.

— С ума сошёл, — прыснула от смеха Марина. — Не переживай, — тихо и ласково говорит она, — всё хорошо! А они просто ничего не понимают…

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

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

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

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

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

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

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

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

«Талантливый иллюстратор, — едва ворочаются образы в голове, — или, быть может, знаменитый график…»

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


— — —


— Родя, дорогой, выключи телевизор! Ты себе глаза испортишь!

— Ну, мам…

— Ничего не «мам»! Сколько раз тебе повторять!

— Это же по учёбе, мам…

— С каких это пор спортивные новости стали частью учёбы?

— С таких!..

— Не пререкайся с матерью! — наконец вступил в разговор Виль. — Тебе же ясно сказали: отойди от телевизора хотя бы метра на три! Мама о твоём здоровье заботится!

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

— Пап, отсюда плохо видно… — нудит Родион, издалека щурясь в мерцающий чёрный экран с разноцветными надписями.

— Вот видишь — зрение ты уже посадил, — отвечает Виль, но сам тоже не разберёт, что пишут в телетексте. — Ужасная штука. Как ты там ещё что-то находишь?

— Зато информация там появляется раньше, чем даже в интернетах, — объясняет Родион. Живо нажимая на кнопки пульта телевизора, переключается между пунктами меню. — Ого! «Суперсоникс» вышли вперёд!

— А с кем играют?

— С «Кракенами».

— Проиграют, — уверенно говорит Виль. — Сынок, не проще ли включить прямую трансляцию? У нас же, кажется, был такой канал…

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

— Мелькания… — задумчиво повторяет Виль. С чего это живую картинку со стадиона стали называть мельканием?

— Пап, пап, ты проснулся? — Катюша вбегает в зал и обнимает отца за колено.

— Да, моя хорошая, — едва не выронив стакан, отвечает Виль.

— А ты не забыл про моих друзей?

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

Катя вытаскивает из кармана пижамы телефон и показывает:

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

— Ах, да, на этом мы и остановились.

Виль присел на диван, Катя со всего размаху плюхнулась рядом.

— Я сама! — своенравничает девочка в ответ на попытки забрать у неё телефон.

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

— Не подружку, пап! — возмущается Катя и выпячивает нижнюю губу. — Мы с Валькой — не подружки! Мы с ней пока просто так… Только куклами один раз менялись.

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

— Нужно записать её в файлик, который лежит в папке с настройками! Для этого нужно открыть его этим… как его?

— Текстовым редактором, — подсказывает сидящий рядом Родион.

— Не редактором, а «эдитером», — настырно возражает Катя.

— Это одно и то же, — глядя в телевизор, снисходительно усмехнулся старший брат.

— Ребята, не препираемся! — урезонивает отец.

Маленькие пальчики Кати ловко бегают по клавишам телефона, выводя в интерфейсе консольной строки команду на редактирование файла:


edit /core/programs/network_applications/visage_pad/settings/contacts/friends.conf


— Ничего не замечаешь? — спрашивает Виль, опытным взором сразу поймав ошибку. — Вон там, в четвёртой строке.

Даже Родион отвлекается от телевизора и заглядывает в телефон Кати.

— У тебя там опечатка, — легко определяет брат.

— Ой! — Катя теперь тоже видит лишний затесавшийся символ в строке конфигурации режима отображения контактов:


DB_DISPLAY_MODE_OF_CONTACTS = pi\nk


— Косая чёрточка! — воскликнула Катя. — Как она сюда попала?

— Ничего страшного, доча, — успокаивает отец. — Видимо, когда меняла настройки, случайно нажала не на ту кнопку.

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

— Ну да, просто поторопилась и ошиблась в слове pink. Система не воспринимает такую переменную, поэтому и список у тебя не отображается.

— Всё равно, это не я! — Катя надула губки. — Это всё Родя!

— Ну да, конечно, — надсмехается Родион.

— Родион! — повышает голос Виль. — Ещё одно слово — останешься без телетекста! Удалила ненужную чёрточку? — возвращается к дочке. — Хорошо. Добавляем в список друзей Галку?

— Вальку!

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


[Valka]

template=standard

context=classmate

userid=valka_printsessa@visagepad.com


— Пап, я всё правильно сделала? — осторожно спрашивает Катюша.

— Да, доча. Если твоя Валька зарегистрирована как «Валька-принцесса», то всё правильно. Сохраняй файл. А теперь переходи в режим отображения профиля.

Катя послушно набирает команду:


visagepad –st


— Посмотрим список друзей? — предложила Катя.

— Да, — кивнул отец. — Посмотрим, добавилась ли туда Валька.


contacts show friends


Команда выводит на экран телефона вереницу строк, в самом конце которой оба видят:


Emil/pashtet_42@visagepad.com     178.125.32.14     OK (1h 45m 22s)

Adelya/adelia_beauty@visagepad.com     (Unspecified)     UNREACHABLE (2d 3h 6m)

Valka/valka_printsessa@visagepad.com     89.250.14.185     OK (8h 39m 51s)


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


— — —


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

Трель телефона с другого конца комнаты. Но Виль не обращает внимания, будто бы не слышит.

…Да, это как раз тот случай, когда нужно свести сложную, составную задачу к решению более простой, что называется, получив базовое решение…

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

— Перезагружаем процесс… — едва слышно произносит Виль. — Процесс пошёл…

С замиранием в сердце смотрит на строку, в которой отображаются этапы загрузки… 80%… 87… 91… 98… 100! Появляется радостное извещение:


progress complete


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

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

Но самое главное — на этом мерцающем болотном поле расположены три жёлтых значка, напоминающих стилизованное изображение обычной канцелярской папки.

— Работает… — дрожащим голосом говорит Виль.

Хочется поделиться новостью со всем миром. Виль поднимается и идёт к двери. От волнения не держат ноги, кажется, он ничего не видит вокруг.

Но слышит, как рядом опять зазвонил телефон.

— Алло…

— Виль, приветствую!

— Здравствуйте, Павел Георгиевич, — не сразу отзывается Виль.

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

— Да-да, Павел Георгиевич, я вас внимательно слушаю.

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

— Но почему? — в отчаянии вырвалось у Виля. — Он работает! Я только что…

— Увы, Виль… — сожалеет тот, и в голосе чувствуется искренность.

— Павел Георгиевич, я только что дописал код! Помните, я рассказывал, что не могу найти ошибку? Так вот, я понял, что было не так. Теперь всё работает! Могу завтра приехать в офис и продемонстрировать!

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

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

Попрощавшись с руководителем, Виль обессилено рухнул на кровать.

Ну, как же так? Нет перспектив… Нет будущего…

— Пап, — из коридора зовёт Родион. — Пап, — повторяет, появляясь в комнате, — мне нужно немного мелочи, у меня закончилась… Ух ты! Это что такое? — Родион с интересом разглядывает невиданную диковинку, что поселилась в мониторе папиного компьютера.

— Да так… — безразлично отвечает Виль. — Одна разработка. Эти папки на экране — то же самое, что директории, только представлены… хм, графически, визуально.

— Прикольно. Но не очень удобно, по-моему.

— Почему? — удивился отец.

— Нелепо как-то… — пожал плечами Родион. — Неинформативно, что ли… Глаза разбегаются.

— Ничего подобного! Попробуй открыть папку и увидишь, насколько это удобнее командной строки.

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


Артём Курамшин

Октябрь 2020


Об авторе: родился в 1980 году в городе Благовещенск, Республика Башкортостан. Закончил университет в Уфе и уже много лет работает на поприще системного администрирования. Писать фантастику начал с ранних лет, сегодня на счету автора уже целая «История будущего». Сайт: http://kuramshin.me/


#### Фракталы и снежинки


Давным-давно проводился некий конкурс интро и демок, для которого я написал небольшую программу, рисующую фрактальные деревья.


Скачать её можно здесь:

http://old-dos.ru/dl.php?id=12276

Идея той программы пришла мне в голову после прочтения статьи И.А. Шейпака «Фракталы, графталы, кусты…» в журнале «Химия и жизнь» №4’1995. Номер можно скачать тут:

http://publ.lib.ru/ARCHIVES/H/''Himiya_i_jizn'''/''Himiya_i_jizn''',1995,N04.[djv-fax].zip

Сама статья на странице 27.

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

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

Начну с примера «программы»: F->F[+F][-F]

Это так называемое правило замены. Знак «+» означает поворот на некий угол (его мы задаём произвольно), минус, соответственно, поворот в другую сторону. F в данном случае означает просто нарисовать отрезок прямой заданной длины (эта длина задаётся изначально из соображений удобства). «[» и «]»  – сохранить и восстановить положение «курсора» и текущего угла. Т.е. подразумевается, что есть некая точка (кто знает язык Лого – там эта точка соответствует положению «черепашки»), из которой будет нарисована линия, и некий угол, под которым эта самая линия будет нарисована от стартовой точки. Вот эти-то параметры сохраняют и восстанавливают квадратные скобки.  Другими словами, интерпретатор этого фрактального языка, встретив F, нарисует отрезок из текущей точки под текущим углом, а скобки нужны для «отката» на предыдущую позицию.

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

Мы может «реализовать» указанную программу F[+F][-F], т.е. нарисовать соответствующие отрезки. Выйдет что-то вроде этого:


(Это для случая, если у нас угол равен 45 градусам.)

Стрелка «->» означает, что для следующего шага в «формуле» нужно заменить все F на эту же самую конструкцию. Т.е. берём F из правой части и каждую заменяем на F[+F][-F].

Получим F[+F][-F][+F[+F][-F]][-F[+F][-F]]

Я специально выделил жирным «старые» скобки с плюсом и минусом, т.е. которые были до замены.

Нарисовав эту штуку, получим что-то вроде этого:


Проделав ещё одну замену, получим вот это:

F[+F][-F][+F[+F][-F]][-F[+F][-F]][+ F[+F][-F][+F[+F][-F]][-F[+F][-F]]][- F[+F][-F][+F[+F][-F]][-F[+F][-F]]]

Выполнив эту программу, мы увидим приблизительно следующее:


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


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

А вспомнил я про эту программу в связи с новогодним номером журнала – хотелось сделать какую-то демку, а с нуля писать было лень. :-)

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

Скачать программу с исходниками можно тут:

http://dgmag.in/N33/fracsnow.zip

Вышло как-то так:


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

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

Да и сам код можно оптимизировать – сейчас он достаточно большой (больше килобайта – гигантский размер в мире интро), есть некоторые сомнительные места…

Программа работает не слишком быстро, но даже на 286 терпимо, сопроцессор не требуется.

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

В общем, есть куда стремиться. А фракталам, пожалуй, я когда-нибудь посвящу отдельную более объёмную статью.


uav1606


### Downgrade-игры

#### Зима в играх


Зимнее студёное время, а вы в тёплой и натопленной комнате с чашкой горячего какао. На ногах шерстяной плед. Монитор полон снега, а сверху на нём греется кот. Ему не холодно – ведь снег нарисованный. Итак, зимняя тематика в играх.


Некоторые произведения компьютерной индустрии специально заточены под зиму. Холодный период вращения северного полушария Земли в космосе был обыгран много раз. Ледяная реальность  эксплуатировалась в таких шедеврах симулятора выживания, как «Этернал Винтер» и «Лонг Дарк». Игроку приходилось сурово бороться с трудностями в тундре. Выручали добрые ездовые собаки и надёжный друг – троцкий ледоруб.


Хит снежной пустоши, первым приходящий в голову – это, конечно, «Сиберия». Квест в заснеженной стране. Отсылки к другой пустыне, уже песчаной – курорт Аралабад. Вообще таких отсылок в игре будет много.


Спортивные игры также наполовину заточены под лёд и снег. Хочешь – не хочешь, а обрамлением зимней Олимпиады по умолчанию будет белый цвет. Сверкающая белизна вокруг, морозное дыхание под носом. Биатлон, поездки на бобах по узкому жёлобу. Или же хоккей от Вани Грецкого.


Некоторые аддоны к популярным играм были выпущены в снежном варианте. Как, например,  известнейшее дополнение к «Варкрафту» – «Фрозен Трон». Заг-заг!

Другая культовая стратегия тоже не отстаёт. Одна из трёх кампаний «Эпохи Мифологий» предлагает похожий подход. Помимо греческой и египетской кампаний с её прыгающими анубисами, игра даёт возможность погрузиться в сугробы скандинавских саг и сказаний. Если афинская часть игры повествует о воротах Аида – разбиваемых гигантским тараном, то в повести скальдов история разворачивается вокруг подгрызаемого дерева Иггдрасиль.


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


«Старкрафт», прославился как спортивная дисциплина с ВЦЖ. В некоторых картах космическая стратегия предлагает игроку арктический пейзаж.


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


Есть множество мелких офисных игр, которые иногда вырастают в нечто большее. Как, например, представитель немецкого тира – Moorhuhn. Неограниченные патроны при стрельбе по болотным курицам – тетеревам. Реванш замёрзшему пернатому за деревом, пришёл именно в зимний период.


Стрелялки иногда радуют нас снегом. Без снежинок не обошёлся и «Смерш» – посоветованный моими коллегами по перу и журналу. Стелс-ходилка от третьего лица забрасывает воспоминания героя, похожего на актёра Вадима Спиридонова, в разные временные отрезки. Но всегда это борьба с заклятым врагом. Один из уровней как раз и проходит в холодное время года.


Ещё один шутер, выросший в целую серию – «Дельта Форс». Хронологически проходящая в наши дни, игрушка повествует о нелёгкой судьбе поработителя от демократии. Бравого пиндосного солдата, воюющего против злых и коварных рашенов. Всегда радуюсь смерти главного героя, ибо не ступит нога захватчика по нашей земле. Но слонобойка крута, ох крута...


Ещё одна необычная стрелялка-ходилка называется «Анабиоз: Сон разума». Игра с довольно таинственным сюжетом, который раскручивается на заброшенном ледоколе. Где произошла загадочная драма, а герой с помощью флешбэков пытается понять, что произошло. Страх и завывания пурги окружают нас с первых секунд. Выбор оружия также необычен, как и подача истории. Один ржавый замок на толстенной цепи, обмотавшей кулак, чего стоит. Почему-то сразу вспомнился фильм «Нечто» с К. Расселом по рассказу Кэмпбелла «Кто ты?». На бессталкерье – и «Анабиоз» рыба.


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


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


Напоследок упомянем об играх, которые не просто показывают белый снег. Но и погружают игрока в этот снег по уши. Очень внимательна к мелочам игра «Коммандос». Все игровые экраны, каждый моток проводов, идущий к прожекторам на взлётном поле в снегу, нарисован так дотошно – что просто диву  даёшься. Игра скрупулёзно проработана; и ценна тем, что навевает массу воспоминаний из реальной жизни, а это дорогого стоит. Холод же в игре обусловлен замерзанием вашего бравого отряда, если вдруг  кто-нибудь из них выйдет наружу без тёплой ватной куртки. Короче говоря, без телогрейки на мороз – ни-ни.


Прославленный шутер времён безДумья от безбашенных хорватов – «Серьёзный Сэм». Ещё в первой части были злые снеговики. А во второй – холод просто продирает тебя до костей. Ибо находиться долго на открытом пространстве ГГ не может, и должен временами прятаться в укрытие. Отогреваться в кочегарке у тесной печурки. И снова на мороз – к новой орде врагов. Атмосферу замерзания создаёт счётчик холода, пар, вырывающийся изо рта, а также покрывающийся узорным инеем игровой экран.


В сумме мы видим несколько разных типов нарисованного снега. От натурального до откровенно мультяшного. Цвета снега и льда разнятся от грязно-серого до кристально-лазурного. Хотя, конечно, снег, истоптанный солдатскими башмаками, и он же, но девственно вечномёрзлый – будут отличаться разительно. Понятно, что стиль отрисовки был продиктован жанром игры. Но также немалую роль сыграл профессиональный и жизненный опыт художников. И желание или отсутствие оного – придать реализма происходящему. Главное же, что ряд зимних игр полон различными представителями. Значит, есть за чем скоротать долгие зимние вечера. А при желании погонять в них и летом. Как моряки дальнего плавания в тропиках, засовывающие голову в морозилку корабля и вспоминающие Родину.


Владимир Веселов (Режиссёр Антаресов)


#### И основа про «Королевство Эйфория»


В №32 была опубликована статья-интервью с Леонидом Казаковым, который представился автором достаточно широко известной в узких кругах игры «Королевство Эйфория». В частности, он писал следующее: «Идея создать игру была полностью оригинальная, так как аналогов не было». Как оказалось, это утверждение не соответствует действительности. Игры такого типа имеют достаточно давнюю историю, а первой,  видимо, была игра Hamurabi:

https://ru.m.wikipedia.org/wiki/Hamurabi

Её версия на языке Фокал для DEC PDP-8 была создана Дугом Дайментом ещё в 1968 году (под названием The Sumer Game), а в 73-м игра была портирована Дэвидом Х. Алом на Бейсик уже под названием Hamurabi. Игра имела практически все составляющие, которые были позже и в «Эйфории». Например, вначале нужно было распределять зерно на посев и на еду. Можно было торговать землёй, постоянно происходили какие-то события, например, внезапная чума. Разве что не было гвардии (солдат) и золота. Каждый год происходило обновление статистики – прирост или убыль населения, расчёт урожая и т.п.

Исходники и описание игры можно посмотреть здесь (журнал BASIC Computer Game за 1978 год):

https://www.atariarchives.org/basicgames/showpage.php?page=78

Если захотите поэкспериментировать с исходниками, в текстовом виде они есть тут:

https://web.archive.org/web/20100503063623/http://www.dunnington.u-net.com/public/basicgames/HMRABI

Кстати, эти исходники нормально интерпретируются в QBasic:


По мотивам Hamurabi было создано много аналогичных игр с усовершенствованным игровым процессом  (King, Dukedom и другие).

Более того, в 1983 году (задолго до 1986 года, указанно Л. Казаковым как год создания им «Королевства Эйфории») в книге The First Book of Tiny BASIC Programs Тома Питтмана был опубликован Бейсик-листинг игры The KINGDOM of EUPHORIA:

http://www.retrotechnology.com/memship/Son_of_TFBOTBAS.HTM#chapter3

Тут уже есть и солдаты (точнее, наёмники), происходят войны и т.п.

Позже игру перевели и на русский (уже как «Королевство Эйфория»), удалось найти вот этот листинг 1984 года:

https://yadi.sk/d/Q90V857lwmWxd

Игра в эмуляторе Д3-28:


(Кстати, спасибо ra3qdp, Sinus и SKcorp за информацию по игре.)

Подытоживая вышесказанное: остаётся, конечно, много вопросов – например, когда и как игра попала в СССР, кто её первым перевёл на русский, ну и что же, собственно, написал Леонид Казаков в 1986 году...

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


uav1606


### Прочее и юмор

#### С маркетингового на человеческий


Автор очень любит листать старые журналы – хоть в электронном, хоть в бумажном виде. Так, знакомство с электроникой начиналось с листаний советского «Радио» с 60-го до 89-го года. «Открытие» 90-х также проходило в читальном зале библиотеки и также с подшивками «Радио» – уже 96-го, 92-го года. Ваш покорный слуга искал начало начал – когда же журнал начал учить своих читателей программировать микроконтроллеры PIC. Позднее листал эти номера в поисках статей компьютерной тематики – как по «фирменным» РК86 и «Ориону», так и о PC-совместимых компьютерах. Но попалась статейка из другой области, казалось бы, прямого отношения к компьютерам не имеющей. Просто – в шутливой форме потенциальному покупателю объясняли, что означают те или иные эпитеты, которыми так пестреет реклама зарубежной техники. Написана статья в 96-м (см. «Радио» №4 1996, стр. 23, «С юмором, но не без здравого смысла»: http://archive.radio.ru/web/1996/04/022/ – тоже по материалам другого журнала – Stereo & video), но, согласитесь, современная реклама, в том числе и компьютерной техники, не свободна от таких клише. А немного фантазии – чудесные эпитеты можно распространить и на современный софт. Ниже привожу этот маленький, но весёлый словарик ☺. В скобках даётся буквальный перевод, через тире – как же следует термин понимать. ☺ В общем, приятного чтения. ☺


NEW (новое) – зачастую следует понимать, как отличающееся по цвету от предыдущей модели;

ALL NEW (совершенно новое) – значит, детали не подходят к предыдущим моделям;

PROTOTYPE (прототип) – аналогичное изделие было, но не прижилось – попытайте счастья с новым;

EXCLUSIVE (исключительное) – импортное изделие, изготовлено специально для вас;

UNMATCHED (несравнимое) – почти такое же, как у конкурентов, но не прошедшее тестирования;

DESIGN SIMPLICITY (простая конструкция) – большие расходы фирме не по карману – пришлось упростить конструкцию;

FOOLPROOF OPERATION (простое управление) – справится любой, даже дошкольник в ваше отсутствие;

ADVANCE DESIGN (прогрессивная конструкция) – немного отличается от прототипа, но трудно объяснить, чем именно;

IT’S HERE AT LAST (наконец-то она появилась) – особая конструкция, которую раньше не могли освоить в производстве;

FIELD TESTED (испытано при эксплуатации) – видимо, у фирмы отсутствуют технологии и приборы для тестирования изделия до его эксплуатации;

HIGH ACCURACY (высокой точности) – фирме неудобно говорить о стоимости изделия: она гораздо выше точности изделия;

DIRECT SALES ONLY (только прямые поставки) – изготовитель не смог договориться с грамотным посредником;

YEARS OF DEVELOPMENT (многолетний опыт) – по прошествии многих лет выяснилось, что только эта модель может работать;

UNPRECEDENT PERFORMANCE (неслыханное качество) – из того, что мы до сих пор изготавливали, работает лишь эта модель;

REVOLUTIONARY (революционное) – несколько иное, чем у конкурентов;

BREAKTHROUGH (открытие первоочередной важности) – наконец-то нашлось применение и для этой модели;

FUTURISTIC (модель будущего) – а как ещё можно объяснить внешний вид изделия, которое сегодня мало кто рискнёт приобрести;

DISTINCTIVE (существенно отличающееся) – изделие другой фирмы, другого цвета, кнопки переставлены – в остальном – никаких отличий;

MAINTENANCE FREE (не нуждающееся в уходе) – не поддающееся ремонту;

REDESIGNED (переработанное) – надеемся, что обнаруженные недостатки уже исправлены;

HAND-CRAFTED (ручная сборка) – сборщики работают на станках, не надевая перчаток;

PERFORMANCE PROVED (опробовано) – будет работать до окончания гарантийного срока;

MEETS ALL STANDARTS (отвечает всем нормам) – нашим нормам, но не вашим;

SATISFACTION GUARANTEED (удовлетворение гарантировано) – единственным довольным окажется изготовитель, после получения вашего чека;

MICROPROCESSOR CONTROLLED (управляется микропроцессором) – модель делает то, чего я не могу объяснить;

ALL SOLID STATE (полупроводниковое исполнение) – не обращайте внимания, что весом с корову;

BROADCAST QUALITY (высокое качество приёма) – если повезёт, можно добиться изображения и звука;

BUILD TO PRECISION TOLERANCES (изготовлено с минимальными допусками) – наконец-то одна деталь подходит к другой;

MILITARY SPEC COMPONENTS (детали, отвечающие требованиям военно-промышленного комплекса) – изготовлено из деталей, которые оказались не нужны военным;

24 HOUR CUSTOMER SERVICE (круглосуточное обслуживание заказчиков) – у нас найдётся человек, который будет вас полностью игнорировать в течение суток;

CUSTOMER SERVICE NATION-WIDE (обслуживание заказчиков на территории всей страны) – в большинстве аэропортов имеются пункты приёма в ремонт;


И несколько «софтовых» дополнений от вашего покорного слуги:


ALPHA (альфа-версия) – если у вас всё же заработает – напишите нам, пожалуйста!

BETTA (бета-версия) – если у вас не запустилось, верьте – возможно, мы это поправим;

STABLE RELEASE (стабильный релиз) – если у вас что-то не заработало, смиритесь – мы сделали всё, что могли;

FINAL (финальный релиз) – то же, что и предыдущее, но никто не говорит о стабильности;

RELEASE CANDIDATE (релиз-кандидат) – нам уже надоедает допиливать эту версию, но мы ещё держимся;

PRE-RELEASE (пререлиз) – то же, что и предыдущий пункт;

LIGHT или LITE (усечённая версия) – от интересующей вас программы тут больше название и фирма-производитель, если есть что-то, что заставляет вас использовать именно эту версию, мы скоро прекратим её развивать;

STANDARD (стандартная версия) – что вы хотели, вы получите, но придётся заплатить;

PRO (профессиональная версия) – трудно сказать, чем отличается от стандартной, кроме цены и полутора функций, о правильном использовании которых вам не скажет даже техподдержка;

PERSONAL (персональная версия) – обычно появляется, когда нет в линейке стандартной и лайт-версии; с самой-самой главной функцией справляется не хуже, чем профессиональная, но сервис и плагины внедрены разработчиком как Бог на душу положит – не удивляйтесь, если вам кажется, что можно было сделать лучше – скорее всего, так оно и есть;

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

EXTREME (экстрим-редакция) – непонятно почему, но пираты предпочли взломать именно её, а не менее объёмные персональную или лайт-версию. Что ж, придётся пожертвовать большим объёмом на жёстком диске;

FULL (полный) – неизвестно, в чём отличие от стандарта, но объём раза в полтора-два будет больше;

HOME (домашняя версия) – что-то в духе начальной, персональной или лайт-версии. Скорее всего, вы купили программу честно, поэтому ваши друзья, узнав сей прискорбный факт, крутят пальцем у виска;

ENTERPRISE (для больших фирм и предприятий) – обычно обозначение используется там, где производителю откровенно стрёмно писать «Extreme edition», но суть примерно такая же – программа тяжелей в несколько раз профессиональной версии, содержит кучу неизвестного назначения компонентов, но именно её воткнули в пиратский диск-сборник;

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

И последнее:

«СКОРО ВСЕ ЭТИМ БУДУТ ПОЛЬЗОВАТЬСЯ!» – не заморачивайтесь деталями – просто вступайте в нашу секту, пардон, сетку. ☺


P.S. Автор никого не хотел обидеть, благо сам пользуется совершенно разными версиями программы, но, согласитесь – порой случается именно так, как написал. Увы, сейчас всё чаще и чаще. Хотя, сам автор прекрасно помнит, как ставил и бета-версии Winamp – что было на диске, и совершенно разной сырости Dr.Web – лишь бы версия была поновей, ибо больше шансов, что дольше проработает с ключом, который на диске. Ну и к консольным программам ваш покорный слуга не питает ненависти – в конечном итоге The Bat’ом можно управлять из командной строки и это не делает его хуже. Но сей почтовик имеет прекрасный графический интерфейс. А вот, наличие только консольных вариантов антивирусов для DOS, OS/2, а когда то и для Linux откровенно напрягало и сейчас не радует.


Андрей Шаронов (Andrei88)


#### Просто разный юмор


На окраине Перми


Официальный сайт группы Rammstein – https://rammstein.de. Дизайнер явно вдохновлялся чем-то вроде Windows 95. Причём окна можно перетаскивать, файлы и папки открываются по щелчку и т.д. Можно даже сыграть в змейку.


### Над номером работали


Дизайн/вёрстка/главный редактор – uav1606

Редакторы – Вячеслав Рытиков (eu6pc), Андрей Шаронов (Andrei88)


Авторы:

Артём Курамшин

Андрей Тумилович

Forza3dfx

Андрей Шаронов (Andrei88)

uav1606

Владимир Веселов (Режиссёр Антаресов)

Sh


Интервью:

Rudiger Kurth


Сайт журнала: http://dgmag.in


Раздел журнала на "Полигоне Призраков":

http://sannata.org/articles/dgmag/


Группа ВКонтакте:

http://vk.com/dgmag


В журнале использовались рисунки с сайта http://freepik.com/


E–mail главного редактора:

uav16060 [cobaka] mail.ru

# Примечания

1

Интересующимся могу порекомендовать статью Михаила Ватника «Лучше погуглить»: https://games.mail.ru/pc/articles/feat/luchshe_poguglit/.

2

М.Пименов, П.Токарев «Наша игра. История. Бизнес. Возможности»: «От авторов», стр.9. Во всех цитатах текст воспроизводится в точном соответствии с оригиналом.

3

Сайт: http://www.15kop.ru/

4

М.Пименов, П.Токарев «Наша игра. История. Бизнес. Возможности». Глава первая «Правила успеха и великие провалы в истории отечественного геймдева», раздел «Советские игровые автоматы», стр.16

5

М.Пименов, П.Токарев «Наша игра. История. Бизнес. Возможности». Глава первая «Правила успеха и великие провалы в истории отечественного геймдева», раздел «Советские игровые автоматы», стр.17

6

М.Пименов, П.Токарев «Наша игра. История. Бизнес. Возможности»: «От авторов», стр.9

7

Джордж Оруэлл «1984».

8

М.Пименов, П.Токарев «Наша игра. История. Бизнес. Возможности»: «От авторов», стр.11

9

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

10

М.Пименов, П.Токарев «Наша игра. История. Бизнес. Возможности»: «От авторов», стр.11

11

Вышел 1 января 1997 года.

12

https://nquest.ucoz.com/index/0-259

13

М.Пименов, П.Токарев «Наша игра. История. Бизнес. Возможности». Глава 1 «Правила успеха и великие провалы в истории отечественного геймдева», раздел «Jewel-кейсы», с.57-58.

14

М.Пименов, П.Токарев «Наша игра. История. Бизнес. Возможности». Глава 1 «Правила успеха и великие провалы в истории отечественного геймдева», раздел «Индустрия во мгле», с.58-59.

15

М.Пименов, П.Токарев «Наша игра. История. Бизнес. Возможности». Глава 2 «Повелители рейтингов: кто определяет, быть ли игре популярной», раздел «Глянец, который мы заслужили», подраздел «Страна Игр». Константин Говорун, в прошлом главный редактор журнала «Страна Игр», с.98-99.

16

М.Пименов, П.Токарев «Наша игра. История. Бизнес. Возможности». Глава 2 «Повелители рейтингов: кто определяет, быть ли игре популярной», раздел «Цифровые медиа», подраздел «Absolute Games», с.110.

17

Компания основана в 2002 году Антоном Юдинцевым (президент), Кириллом Юдинцевым (креативный директор), и Алексеем Волынсковым (технический директор). https://ru.wikipedia.org/wiki/Gaijin_Entertainment

18

М.Пименов, П.Токарев «Наша игра. История. Бизнес. Возможности». Глава 3 «Игры, которые знают все: по ту сторону экрана», раздел «Gaijin Entertainment», с.177.

19

https://hsbi.hse.ru/articles/lutboksy-pravda-i-mify/

20

https://skillbox.ru/media/gamedev/deshyevyy_geymdizayn_i_yashchik_skinnera/

21

https://morseg.livejournal.com/120495.html

22

https://rg.ru/2018/05/02/reg-urfo/k-chemu-privedet-klipovoe-myshlenie.html