Z-machine

редактировать
Виртуальная машина
Z-machine
DesignerInfocom
Bits16
Введено1979
Версия1.1 (2014)
Дизайн CISC
Endianness Большой
ОткрытыйДа

Z-machine - это виртуальная машина, которая была разработана Джоэлем Березом и Марком Бланком в 1979 году и использовалась Infocom для своих текстовые приключенческие игры. Infocom скомпилировал код игры в файлы, содержащие инструкции Z-машины (называемые файлами историй или файлами Z-кода), и поэтому мог перенести свои текстовые приключения на новую платформу, просто написав реализацию Z-машины для этой платформы. В то время, когда использовалось большое количество несовместимых домашних компьютерных систем, это было важным преимуществом по сравнению с использованием собственного кода или разработки компилятора для каждой системы.

Содержание
  • 1 История
  • 2 Интерпретаторы
  • 3 См. Также
  • 4 Ссылки
  • 5 Внешние ссылки
История

Буква Z Z-machine стоит для Zork, первой приключенческой игры Infocom. Файлы с Z-кодом обычно имеют имена, оканчивающиеся на.z1,.z2,.z3,.z4,.z5,.z6,.z7 или.z8, где номер - это номер версии Z-машины, на которой находится файл. предназначен для запуска, как указано первым байтом файла истории.

Однако это современное соглашение. Сам Infocom использовал расширения.dat (Data) и.zip (ZIP = Z-machine Interpreter Program), но последнее противоречило широко распространенному использованию.zip для PKZIP-совместимых файлов, начиная с 1990-х годов., после того, как Activision закрыла Инфоком. "Инфоком" произвел шесть версий Z-машины. Файлы, использующие версии 1 и 2, очень редки. Известно, что только два файла версии 1 были выпущены Infocom и только два файла версии 2. Версия 3 охватывает большинство выпущенных Infocom игр. В более поздних версиях было больше возможностей, кульминацией которых стала некоторая графическая поддержка в версии 6.

Компилятор (названный Zilch), который Infocom использовал для создания файлов истории, никогда не выпускался, хотя документация по используемый язык (ZIL, Lisp -семейный язык, аналогичный MDL ) все еще существует, и была написана замена с открытым исходным кодом. После того, как Mediagenic переместил Infocom в Калифорнию в 1989 году, Computer Gaming World заявил, что «ZIL... функционально мертв», и сообщил о слухах о «совершенно новом парсере, который, возможно, никогда не будет использоваться. ". В мае 1993 года Грэм Нельсон выпустил первую версию своего компилятора Inform, который также генерирует файлы историй Z-машины в качестве выходных данных, хотя исходный язык Inform сильно отличается от ZIL..

Информ стал популярным в сообществе интерактивной фантастики. Большая часть интерактивной художественной литературы представлена ​​в виде файлов рассказов Z-машины. Спрос на возможность создавать файлы игр большего размера побудил Нельсона указать версии 7 и 8 Z-машины, хотя версия 7 используется редко. Из-за способа обработки адресов файл истории версии 3 может иметь длину до 128 КБ, история версии 5 может иметь длину до 256 КБ, а история версии 8 может иметь длину до 512 КБ. Хотя эти размеры могут показаться небольшими по сегодняшним компьютерным стандартам, для текстовых приключений они достаточно велики для сложных игр.

В 1990-е годы Нельсон разработал стандарт Z-Machine на основе подробных исследований существующих файлов Infocom.

Интерпретаторы
Реализация Frotz, работающая на iPhone, проигрывающая Zork I..

Интерпретаторы для файлов Z-кода доступны на самых разных платформы. На веб-сайте Inform приведены ссылки на свободно доступные интерпретаторы для 15 настольных операционных систем (включая 8-разрядные микрокомпьютеры 1980-х годов, такие как Apple II, TRS-80 и ZX Spectrum, сгруппировав "Unix" и "Windows" по одной), 10 мобильных операционных систем (включая Palm OS и Game Boy ) и четыре платформы интерпретаторов ( Emacs, Java, JavaScript и Scratch). По словам Нельсона, это «возможно, самая портативная виртуальная машина из когда-либо созданных».

Популярные интерпретаторы включают Nitfol и Frotz. Nitfol использует Glk API и поддерживает версии с 1 по 8 Z-машины, включая графическую Z-машину версии 6. Файлы сохранения хранятся в стандартном формате сохранения Quetzal. Двоичные файлы доступны для нескольких различных операционных систем, включая классическую Mac OS, Unix-подобные системы, DOS и Windows.

Frotz был написан на C Стефаном Йокишем в 1995 году для DOS. Со временем он был перенесен на другие платформы, такие как Unix-подобные системы, RISC OS и iOS. Звуковые эффекты и графика поддерживались в разной степени. К 2002 году разработка застопорилась, и программу подхватил Дэвид Гриффит. База кода была разделена на части виртуальная машина и пользовательский интерфейс таким образом, что виртуальная машина стала независимой от любого пользовательского интерфейса. Это дало возможность разнообразить портирование Frotz. Один из незнакомых портов также является одним из самых простых: бот для обмена мгновенными сообщениями оборачивается вокруг версии Frotz с минимальной функциональностью IO, создавая бота с который может играть в большинство игр Z-machine с помощью клиента обмена мгновенными сообщениями.

Другой популярный клиент для macOS и других Unix-подобных систем - Zoom. Он поддерживает тот же формат сохранения Quetzal, но упаковка файловой структуры отличается.

См. Также
  • Glulx - аналогично Z-машине, но снимает несколько устаревших ограничений
  • Inform - компьютерный язык, который может создавать программы Z-machine
  • SCUMM – Script C reation U tility для Maniac M ansion от LucasArts, графическая система, похожая на Z-machine
  • TADS - Подобно Glulx, созданная для устранения некоторых ее ограничений
  • Motorola 68000 series - Базовая архитектура, используемая для виртуальных машин в Magnetic Scrolls 'приключенческих играх
Ссылки
Внешние ссылки
Последняя правка сделана 2021-06-23 05:06:17
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте