it-history
November 17, 2023

PERQ: оживляем чудо из 70х

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

Знакомьтесь: PERQ, первая коммерческая рабочая станция с графическим интерфейсом. Была создана, продавалась и работала когда меня еще на свете не было.

История

Начнем с небольшого экскурса в историю:

PERQ (также известный как Three Rivers PERQ или ICL PERQ) — компьютерная рабочая станция, выпускавшаяся в начале 1980-х годов.

Рабочая станция была задумана пятью выпускниками и работниками Университета Карнеги-Мэлона, организовавшими в 1974 году компанию Three Rivers Computer Corporation (3RCC). Один из основателей, Брайан Розен, также работал в Xerox PARC над рабочей станцией Dolphin. Проект PERQ был вдохновлен оригинальной рабочей станцией Xerox Alto, и был первой коммерчески выпускаемой персональной рабочей станцией. Прототип был показан на конференции SIGGRAPH в 1979 году. Название «PERQ» происходит от слова «perquisite» (рус. приработок, дополнительный доход).[1]

В Россию/СССР такие штуки естественно не поставлялись, поэтому вживую ни вы ни ваши родители ее видеть просто не могли.

Ниже видео с демонстрацией этой рабочей станции и самого интерфейса:

Это видео что характерно старше меня самого!

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

Да это снова FreeBSD и C#. И эмулятор системы из 70х.

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

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

Вот так PERQ выглядел в жизни:

И в рекламе тех лет:

Эмулятор

Совершенно случайно наткнулся на статью об этой удивительной системе, где обнаружилось совсем уж невероятное:

Just when I was thinking there was no hope of me ever seeing the Perq software in action, Josh Dersch has created a Perq emulator! Give this guy a medal!

Да, кто-то взял и написал эмулятор для столь уникальной системы из 70х!

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

Эмулятор написан на C# под старый .NET и отлично собирается под Windows. На линуксе его можно собрать используя Mono.

Но:

Я посчитал все это недостаточно спортивным, поэтому портировал проект на .NET Core 7, который уже собирал на FreeBSD.

Всегда так делаю.

Инструкции по сборке и запуску ниже будут для FreeBSD но точно также все будет работать и под любым линуксом и тем более Windows.

Сборка

Забираем мою версию:

git clone https://github.com/alex0x08/PERQemu.git

либо оригинал:

git clone https://github.com/jdersch/PERQemu.git

Оригинал собирается под .NET 4.7 на Windows либо Mono (Mac/Linux), моя версия — .NET Core 7.0 и везде.

Устанавливаем пакеты:

cd /opt/src/PERQemu
/opt/app/dotnet/dotnet restore

.NET у меня развернут в папке /opt/app/dotnet, второй dotnet внутри — бинарник, которым запускается и приложение и сборка.

Если все прошло успешно, в самом конце появится сообщение «All projects are up-to-date for restore»:

Запускаем сборку проекта:

/opt/app/dotnet/dotnet build

Если сборка прошла удачно, в конце должно быть сообщение «0 Error (s)»:

В папке «bin/Debug/net7.0/PERQemu» будет собранный эмулятор.

Запуск

Запуск осуществляется немного через жопу, поскольку я не потрудился поставить отдельно рантайм .NET, а запускал из самого .NET SDK:

alex@albuquerque:/opt/src/PERQemu/PERQemu % /opt/app/dotnet/dotnet run bin/Debug/net7.0/PERQemu

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

Результат запуска вас немного удивит:

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

Дальше вам надо ввести:

load harddisk Disks/f1.phd

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

go

Вот так выглядит запуск эмулятора PERQ:

Разумеется я не мог не поделиться как выглядит самый стильный процесс компиляции (на Паскале!) из всех виденных:

Вот весь процесс, записанный на видео и сохраненный для потомков: