Интервью с Йёрном Прода, создателем SymbOS и ретро-энтузиастом

Человек всегда вспоминает прошлое. Для кого-то оно заключается в просмотре старых фильмов, другие читают книги, остальные слушают музыку и проходят ретро-игры. Но в последние годы волна ностальгии по восьмидесятым накрыла мир полностью, и ей поддались даже те, кто и не подозревал, что скучает по тем временам. По кинотеатрам прокатились «Стражи галактики» и «Оно», на ТВ одним из самых популярных проектов является сериал «Очень странные дела». А на полках магазинов появились новые издания старых консолей. И речь не только о сомнительного качества китайских клонах; Nintendo официально выпустила NES Classic Edition, но не учла спроса и приставку просто смели с прилавков. В этом году компания решила исправить свою оплошность и выпустила SNES Classic Edition. С этой консолью дефицита не возникло, поэтому каждый может опробовать те игры, что были так желанны в девяностые. Не собирается отставать от праздника и Sega — она планирует перевыпустить классический «Мегадрайв».

Однако находятся в мире люди, которые и не покидали эпоху компьютеров и приставок восьмидесятых. Они продолжают делать игры, программы и даже целые операционные системы. Одним из таких людей является Йёрн Прода, в Сети известный как Prodatron. В 2006 году он получил популярность, создав операционную систему под названием SymbOS для ряда восьмибитных ПК (Amstrad CPC, Amstrad PCW, MSX2 и Enterprise). В конце 2017 года была выпущена версия 3.0, которая принесла много нововведений, приложений и игр. В связи с этим событием портал Distrito Entebras взял у товарища интервью, ну а мы его для вас перевели.

DE: Моим первым впечатлением от увиденного было: «Это восьмибитная Windows». ПК от MSX и Amstrad с приводами флоппи-дисков имели интерфейсы в виде командной строки MSX-DOS и CP/M соответственно. Но у них не было такого графического исполнения, иконок и указателя мыши. Вы создали отличную программу.

ЙП: Спасибо! (улыбается) Уже с восьмидесятых годов у меня была мечта создать многозадачность и графический оконный интерфейс для моего Amstrad CPC. В те дни я делал некоторые попытки достичь цели, но толку от этого было мало. Спустя годы я вновь открыл для себя CPC — теперь как ретро-компьютер. К тому времени я накопил опыт по разработке разных проектов. Появились мысли о решении некоторых важных проблем, таких как:

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

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

Интервью с Йёрном Прода, создателем SymbOS и ретро-энтузиастом

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

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

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

DE: С первого выпуска в апреле 2006 года SymbOS получила огромное количество новых элементов и дополнений. Это было спланировано изначально, или продукт сильно преобразился со времён ранних разработок?

ЙП: И то, и другое. Основной концепт SymbOS не менялся с 2001 года. К счастью, никогда не было необходимости его модифицировать. Даже сегодня, с новым оборудованием, он продолжает работать нормально. Но теперь у нас имеются другие возможности, о которых я изначально не задумывался. Лучшие примеры этого — порты на новые машины с Z80, демоны или расширенный рабочий стол. Первые цели SymbOS были такими:

  • она должна стать намного лучше, чем GEOS для Commodore 64;
  • иметь планировщик вытесняющей многозадачности как у Amiga Workbench (никогда не любит кооперативную многозадачность);
  • выглядеть как Windows 95.

После разработки всех концепций для компонентов SymbOS первая рабочая версия появилась в конце 2004 года. В это время она была ещё в начальной стадии, но графический интерфейс уже мог работать. Благодаря внедрению файловой системы FAT12/16/32 и многим другим функциям, SymbOS постоянно развивается. Но, несмотря на это, никогда не нарушается главное правило — система должна загружаться на компьютере родом из 80-х с процессором Z80 с 128 Кбайт ОЗУ.

Гибкость в отношении потребляемой памяти является особым свойством 8-битного продукта. Большая часть новых функций расположена в модулях расширения и сервисных приложениях. Минимальная конфигурация требует около 80 Кбайт ОЗУ. Но полная установка с высоким разрешением, виджетами рабочего стола и всеми службами, включая сетевую поддержку, занимает уже около 200 Кбайт памяти.

Интервью с Йёрном Прода, создателем SymbOS и ретро-энтузиастом

DE: В наши дни есть много самодельных игр для устаревших компьютеров, но совсем мало неразвлекательных приложений и операционных систем. Какова причина появления SymbOS? Вы чувствуете себя комфортнее, когда создаёте приложения, нежели когда делаете игры типа Lord of the Rings для CPC?

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

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

Другой мотивацией является поддержка SymbOS нового железа. Например, сейчас есть сетевые интерфейсы, MP3-декодеры и даже новые графические карты (новые для CPC, по крайней мере). Использовать это со старой однозадачной ОС довольно скучно. Вы можете смотреть демки для новой графической карты, скачивать их из интернета или слушать MP3-музыку. Но не одновременно. Ваш компьютер полностью занят выполнением одной задачи. В SymbOS можно использовать новое оборудование гораздо эффективнее. Можно слушать любимый плейлист, находясь при этом в программе чата и проверяя, онлайн ли ваши друзья. Всё это в новом разрешении, на высокой скорости и с большим количеством цветов. Если с вами никто не хочет общаться, то сыграйте в Pac-Man или Columns, пока на фоне загружаете и распаковываете новые приложения и медиафайлы; а в это время SymAmp всё ещё будет играть музыку.

Интервью с Йёрном Прода, создателем SymbOS и ретро-энтузиастом

DE: В SymbOS можно заметить много общих элементов с продуктами восьмидесятых годов компании Microsoft (особенно с Windows 2 и 3.0): диспетчер задач, панель управления, DOS-терминал, некоторые сочетания клавиш. Даже меню установки имеет некоторое сходство с Windows XP. Что ещё вы могли бы назвать источником вашего вдохновения: GEOS для Commodore 64, японские файловые менеджеры для MSX или даже графический интерфейс 16-битных ПК, таких как Amiga и Atari ST?

ЙП: Пусть раньше у меня был только CPC, но главным источником вдохновения всегда являлся Workbench для Amiga. Ещё мне нравился дизайн GEOS, который походил на Macintosh, а вот GEM, если честно, не очень. В начале 90-х я увидел графический интерфейс операционной системы Arthur (позже известной как Risc OS) для Acorn Archimedes и, по моему скромному мнению, Microsoft правильно позаимствовала оттуда некоторые идеи для Windows 95. К сожалению, с MSX я не был хорошо знаком до того, как запустил порт на эту платформу.

DE: SymbOS отлично работает на многих машинах — как на MSX с приблудами типа Powergraph V9990, так и линейке Amstrad PCW. Я так понимаю, ваша ОС выполнена на ассемблере, языке программирования «старой школы» (на личном сайте вы сообщили, что общее количество строк кода составляет 119 000). Сложно ли было переносить SymbOS на другие платформы? Или сделано только несколько изменений между версиями для CPC и MSX? Как считаете, программировать на этом языке романтично?

ЙП: SymbOS написана 100% на ассемблере Z80. Первый порт на MSX требовал некоторых трудов, таких как повторная сортировка ряда исходных кодов, улучшение взаимодействия между разными модулями SymbOS, размышления о том, что необходимо сделать для этой платформы в целом, плюс новая концепция обработки 16 и 4 цветов одновременно. Сегодня это намного проще, поскольку всё уже существует благодаря первому порту. Черновой перенос на полностью новую платформу займёт около двух недель. Создание версии для Enterprise 128 отняло полторы.

И да, программирование на ассемблере невероятно романтично! (Громко смеётся.) По крайней мере, это наверняка полезно для тренировки мозга. Пытаясь достичь оптимального размера и скорости кода, чувствуешь себя здорово и не забываешь об истоках.

Интервью с Йёрном Прода, создателем SymbOS и ретро-энтузиастом

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

ЙП: Ха-ха-ха. Сегодня это единственный способ выжить в бизнесе. Если мне нужно разработать настоящее приложение, я тоже использую IDE, библиотеки и кучу документации с примерами. Сейчас C++ становится новым ассемблером, его используют всё меньше. Теперь сложно найти программиста на C++.

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

DE: Стандартный вопрос. Какую актуальную ОС вы предпочитаете (рядом с SymbOS): Windows, Linux, macOS, Android?

ЙП: Мне нравятся продукты Microsft и Android. Linux отлично подходит для работы на серверах, но на домашнем компьютере больше нравится использовать Windows. Я не большой поклонник Apple, но люблю свою Apple Lisa.

DE: Помимо ОС на вашем сайте есть много приложений, включая видео- и музыкальные проигрыватели, калькулятор, множество игр (Snake, Columns, Pac-Man, Game of Life). И даже некоторые другие ресурсы (шрифты, обои). Если какой-нибудь пользователь хочет создать что-то для вашей ОС, существует ли редактор? На официальном сайте вы говорите о SymStudio, но ссылка не работает.

ЙП: Есть хорошие новости. SymStudio теперь называется Quigs и скоро станет доступна для публики! Роб Бакли (Trebmint) в настоящее время работает над первым релизом. Сейчас есть полная рабочая версия, которая была использована программистом EdoZ для создания большинства новых игр и приложений за последние три года. Но всё же в бейсикоподобном языке есть отличия, поэтому лучше подождать новой версии.

Интервью с Йёрном Прода, создателем SymbOS и ретро-энтузиастом

DE: Вы когда-нибудь думали добавить в SymbOS другие языки (немецкий, испанский, японский)? Могли бы адаптировать ОС, если бы сообщество предоставило переводы?

ЙП: Честно говоря, у меня таких планов нет. Сегодня необходимо использовать дополнительный текстовый файл или базу данных с идентификаторами для каждой метки. На машине Z80 по-прежнему нужно стараться сохранить программу как можно более шустрой и маленькой, поэтому обычно ссылки на тексты находятся в самом коде. Это значит, что для каждого языка мне придётся собирать отдельные бинарники — как для всей системы, так и для отдельных приложений. Уже сейчас трудно поддерживать все порты SymbOS, а дополнительные языки только усугубят положение. Самое приятное в английском то, что он понятен большинству людей. И с компьютерной точки зрения это очень компактный язык.

DE: Вы рассматривали возможность переноса SymbOS на другие машины? Например, Spectrum +2, Dragon 32/64 или BBC Micro?

ЙП: Операционной системе необходим процессор Z80, и она имеет определённые требования к возможности управления памятью. К сожалению, многие старые машины не в состоянии это обеспечить. Портирование на ZX Spectrum могло бы стать мечтой, но это невозможно без аппаратных модификаций. Spectrum +3 со 128 Кбайт позволил бы сделать это только с очень большими изменениями в структуре ядра и памяти. Но я планирую портировать SymbOS на ZX Uno и ZX Spectrum Next, а также на Amstrad NC100 и NC200. И даже на PcW16 c быстрым 16-мегагерцовым Z80.

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

ЙП: Большое спасибо за очень интересные вопросы и ваши добрые слова!

Интервью с Йёрном Прода, создателем SymbOS и ретро-энтузиастом

23 мая 2018, 12:51

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

интересно, как это удалось тебе? :)

23 мая 2018, 16:56

№1. WayBester .

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

23 мая 2018, 19:22

Вот спасибо. Думал уже Гуглотранслейтом интервью читать.

24 мая 2018, 10:11

Миш, интересует доступ к исходникам на предмет порта системы под тс конф

24 мая 2018, 19:04

Хехе, в старые времена, пока был жив pushnpop, кто-то спрашивал разрешения, чтобы использовать исходники Flora для создания заставки. Но так и не сделал.

7 апреля 2023, 14:15

Вот! Такая ОС мне и нужна! Конструирую компик на Z180 и VGA видеокарте (Orion-XT), но без оси - это куча железа! Как-бы связаться с автором по поводу адаптации SymbOS к моей поделке?

9 апреля 2023, 02:29

№6. Евгений Поволокин

Вот его сайт, там есть контакты: http://prodatron.net/

10 апреля 2023, 08:38

Сайты-то я нашел, но контакты спрятаны где-то очень глубоко! Через Youtube оказалось проще. )))

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