PCjs Machines — эмулятор вычислительных систем 1970–1990 годов. Он работает в обычном браузере. Рассказываем, чем примечателен проект и какие машины есть в его библиотеке.


/ фото Todd Dailey CC BY-SA / PDP-11 в Музее компьютерной истории

Что такое PCjs Machines


PCjs Machines появился в 2012 году — его основал программист из Сиэтла Джефф Парсонс (Jeff Parsons). Он хотел помочь людям понять, как работали первые компьютеры, и дать им возможность «поиграть» с различными конфигурациями этих машин.

Изначально проект задумывался как своеобразный бэкап. У Джеффа дома стоит Ohio Scientific Challenger 1P, и он создал его эмулятор на случай, если физическое устройство выйдет из строя. Позже «коллекцию» дополнили другие компьютеры.

Эмуляторы PCjs Machines написаны на JavaScript. Для их запуска не требуется устанавливать дополнительные плагины. При желании эмуляцию можно запустить на собственном веб-сервере или в офлайн-режиме: инструкции доступны в README-файле на GitHub. Там же можно найти и исходный код проекта — он распространяется под лицензией GPLv3.

Какие машины «поддерживаются»


Большая часть эмуляторов воссоздаёт ПК 1980-х годов. В список поддерживаемых систем входят PC8080, PCx86. Также на сайте PCjs Machines можно найти эмуляторы мейнфреймов PDP-10 и PDP-11 и программируемых калькуляторов от Texas Instruments.

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

Например, на сайте есть игры компании Infocom, в частности, первый коммерческий текстовый квест Zork. Продукт был хитом в 80-е — всего было продано более 300 тысяч копий.

Другие известные игры в списке — Wolfenstein 3D, Wizardry I и образовательная Oregon Trail.

В списке софта есть довольно интересные экземпляры, например Norton Utilities для DOS. Это набор утилит, включающий программу для восстановления файлов Unerase. По словам Джеффа Парсонса, несмотря на популярность Norton Utilities, найти первые версии ПО оказалось сложно. Сейчас на PCjs Machines доступен NU3.0 (и выше) родом из 1984 года, но автор проекта планирует найти и более ранние версии, чтобы сохранить их для будущих поколений.

Особенности проекта


Автор стремится максимально точно воссоздать опыт работы с компьютерами, поэтому в «сборках» отражены все, даже не самые приятные особенности интерфейса. Например, из-за того, что компьютеры Challenger 1P подключались к телетайпам, в устройствах не было возможности стереть напечатанные символы. Этой функции нет и в симуляторе PCjs Machines.

Использование эмулятора на мобильных устройствах создает ряд неудобств — некоторые функции виртуальных машин вызываются через сочетания клавиш. Например, сочетание Ctrl и Scroll Lock. Для таких случаев Джефф Парсонс добавил экранные клавиши и альтернативные сочетания: Ctrl — Scroll Lock заменен на Ctrl — Delete.

Аналогичные проекты


Среди аналогов проекта PCjs Machines можно выделить MAME (Multiple Arcade Machine Emulator). Изначально он был посвящен созданию эмуляторов игровых автоматов, но в 2015 году MAME объединили с MESS — его целью было моделирование работы персональных компьютеров.


/ фото Milestoned CC BY

Сейчас общая библиотека MAME и MESS включает более двух тысяч разных виртуальных машин. Среди них — винтажные компьютеры Altair, Commodore, Apple, Sinclair и IBM. Для работы с эмуляторами достаточно установить программу от MAME и выбрать нужную машину. Как и PCjs Machines, проект работает на некоммерческой основе, а исходный код открыт для всех.

Вторая инициатива — VICE (Versatile Commodore Emulator). Проект существует ещё с 1993 года и занимается сохранением софта для компьютеров Commodore: VICE включает эмуляторы моделей C64, VIC20, C64DTV, C128, PET, PLUS4 и SCPU64. Список доступных программ для этих компьютеров можно посмотреть на сайте проекта. Как и в случае MAME, для работы с VICE требуется установка дополнительного ПО.

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



Пара материалов из Первого блога о корпоративном IaaS:


И свежие посты из нашего Telegram-канала:

Комментарии (15)


  1. Klenov_s
    13.03.2019 22:53
    +2

    Нортон утилитис редкость? Год назад на древнем винте нашел архив более древнего винта, они там были ))) Убил…


    1. khim
      14.03.2019 00:32

      Тут небольшая неточность: ранние версии Norton Utilities — редкость. Верcии 4.0 и более новые есть везде, если покопаться, то можно найти третью версию, а вот версии 1.0 и 2.0 — никто не видел уже давно. Не факт, что они вообще сохранились. Остались только сканы рекламных объявлений…

      Фишка тут в чём: они до распространения IBM 5060 вышли, то есть во времена, когда жёстких дисков ни у кого не было. А на флопах — сохранность та ещё…


      1. Scooby-do
        14.03.2019 13:01

        да ладно, 10 секунд гугления
        winworldpc.com/product/norton-utilities/10-95-for-win


        1. Mur81
          14.03.2019 13:28

          Вот и выросло новое поколение...


          1. khim
            14.03.2019 15:10

            Угу. Что 95й, что 83й — всё едино… время, когда Александр Македонский по улицам медведей водил и Наполеону и его динозавру показывал, я так понимаю…


  1. FForth
    14.03.2019 09:43

    Lemings не запустились :)
    С PDP-11 тоже выбор и загрузка с каких то образов у меня не получилась (и с сети указанных в Url). Хотел запустить Fig-Forth в рамках данного симулятора, но пока не судьба :)

    P.S. Узнал, что Win95 могла стартовать на 386 процессорах с 4-мя Мб ОЗУ.

    Успех TI-59 неповторим


    1. vitalyvitaly
      14.03.2019 11:54

      У меня на 386DX-33 формально в системе было около 3972 килобайт ОЗУ (оставшаяся часть из 4096 Кб каким-то образом отрезалась BIOS и эта настройка не отключалась), но Win95 работала, хотя установка системы на диск занимала в общем целый день с утра до вечера.


      1. khim
        14.03.2019 15:14

        Это вам ещё повезло. Многие более новые системы вообще не церемонятся и просто «отрезают» лишние 384KiB. Разница между 3972KiB и 4MiB не так существенна. Вообще вроде даже на 2MiB можно Windows 95 запустить (хотя не факт, что инсталлятор запустится, но установленная система должна) — но это уже мазохизм.


        1. vitalyvitaly
          14.03.2019 16:09

          Забавно. Не на чем такое проверить. Win 98, кстати, тоже способна запуститься на 4 мегабайтах, но не полноценно — я сейчас под виртуальной машиной проверил. Можно увидеть рабочий стол, но сразу вылетают драйверы и даже экранные шрифты — полноценным запуском это назвать нельзя. А на 8 почему-то вылетает сразу, 16 — уже нормально.


          1. khim
            14.03.2019 17:25

            Про 2MB — не знаю, не проверял. Но на 3MB Windows 95 работает. Я это знаю точно, так как у нас в школы были древние IBM Aptiva с 10MiB памяти. 11MiB получились потому, что там был один из первых видеоадаптеров в чипсете и он от реально установленных 12MiB забирал себе 1MiB. Но фишка не в этом. Фишка в том, что когда их поставляли в школу — там были 4MiB… и, соответственно, только 3MiB оставались для Windows 95. Которая там таки работала… без вылетаний и выпадений шрифтов, однако с такой скоростью, что до апгрейда памяти там использовали MS DOS (и знаменитый Borland Pascal 7.01, куда ж без него) и Windows 3.11 (там, по слухам, использовался Claris Works 3.0, который сегодня является таким же раритетом, как Norton Utilities 1.0/2.0: есть триал, есть датская и немецкая версии… полной английской ни у кого нету). После того, как добавили 8MiB — перешли на Claris Works 4.0 и даже MS Office, вроде, можно было пользовать.


            1. vitalyvitaly
              14.03.2019 17:38

              На Аптивах вроде бы карты S3 встроенные стояли (интересная комбинация с брендом IBM). Четыре Mb было реально мало — не забываем про бесконечный свопинг с диском со скоростью доступа в сотни раз меньше модулей ОЗУ, а уже при шести все было хорошо.


  1. madf
    14.03.2019 14:28

    Круто! Я в восторге.


  1. kekoz
    14.03.2019 18:08

    А давно ли PDP-10 и PDP-11, всегда классифицируемые как мини, оказались в классе мейнфреймов? И кто, кроме автора статьи, их там держит?


    1. mpa4b
      16.03.2019 15:00

      PDP-10 таки точно не 'мини', ближе к мейнфреймам :) en.wikipedia.org/wiki/PDP-10


  1. mpa4b
    16.03.2019 15:01

    Хорошо бы в статью добавить ссылку на SIMH simh.trailing-edge.com, который тоже эмулятор множества старых машин.