Z-машина - Z-machine
Эта статья нужны дополнительные цитаты для проверка.Декабрь 2009 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Дизайнер | Инфоком |
---|---|
Биты | 16 |
Введено | 1979 |
Версия | 1.1 (2014) |
Дизайн | CISC |
Порядок байтов | Большой |
Открыть | да |
В Z-машина это виртуальная машина который был разработан Джоэлем Березом и Марк Бланк в 1979 году и использовался Инфоком для своего текстовые приключенческие игры. Компания Infocom скомпилировала игровой код в файлы, содержащие инструкции Z-машины (называемые файлами историй или файлами Z-кода), и поэтому могла перенести свои текстовые приключения на новую платформу, просто написав реализацию Z-машины для этой платформы. В то время, когда использовалось большое количество несовместимых домашних компьютерных систем, это было важным преимуществом перед использованием собственного кода или разработки компилятора для каждой системы.
История
Буква Z на Z-machine означает Зорк, Первая приключенческая игра Инфокома. Файлы с Z-кодом обычно имеют имена, оканчивающиеся на .z1, .z2, .z3, .z4, .z5, .z6, .z7 или .z8, где номер - это номер версии Z-машины, на которой находится файл. предназначен для запуска, как указано в первом байт файла истории.[1]
Однако это современное соглашение. Сам Infocom использовал расширения .dat (Data) и .zip (ZIP = Z-machine Interpreter Program), но последнее противоречило широко распространенному использованию .zip для PKZIP-совместимые архивные файлы начиная с 1990-х годов, после Activision закрыто Инфоком. "Инфоком" выпустил шесть версий Z-машины. Файлы, использующие версии 1 и 2, очень редки. Известно, что только два файла версии 1 были выпущены Infocom и только два файла версии 2. Версия 3 охватывает большинство выпущенных Infocom игр. В более поздних версиях было больше возможностей, кульминацией которых стала поддержка графики в версии 6.
В компилятор (называемый Zilch), который Infocom использовал для создания своих файлов историй, никогда не выпускался, хотя документация язык использовал (ЗИЛ, а Лисп -семейный язык похож на Лей ) все еще существует, и замена с открытым исходным кодом[2] была написана. После Медиагенный переехал Infocom в Калифорнию в 1989 году, Компьютерный игровой мир заявил, что «ЗИЛ ... функционально мертв», и сообщил о слухах о «совершенно новом парсере, который, возможно, никогда не будет использоваться».[3] В мае 1993 г. Грэм Нельсон выпустила первую версию своего Сообщить компилятор, который также генерирует файлы истории Z-машины в качестве своего вывода, хотя исходный язык Inform сильно отличается от ZIL.
Информ стал популярен в интерактивная фантастика сообщество. Большая часть интерактивной художественной литературы представлена в виде файлов рассказов Z-машины. Спрос на возможность создавать файлы игр большего размера побудил Нельсона указать версии 7 и 8 Z-машины, хотя версия 7 используется редко. Из-за способа обработки адресов файл истории версии 3 может иметь длину до 128 КБ, история версии 5 может иметь длину до 256 КБ, а история версии 8 может иметь длину до 512 КБ. Хотя эти размеры могут показаться небольшими по сегодняшним компьютерным стандартам, для текстовых приключений они достаточно велики для сложных игр.
В 1990-х годах Нельсон разработал стандарт Z-Machine.[4] на основе подробных исследований существующих файлов Infocom.
Переводчики
Переводчики для файлов Z-кода доступны на самых разных платформах. На веб-сайте Inform перечислены ссылки на свободно распространяемые интерпретаторы для 15 настольных операционных систем (включая 8-битные микрокомпьютеры 1980-х годов, такие как Яблоко II, TRS-80, и ZX Spectrum и объединяя "Unix" и "Windows" по одной), 10 мобильных операционных систем (включая Palm OS и Геймбой ) и четыре платформы интерпретаторов (Emacs, Java, JavaScript и Scratch). По словам Нельсона, это «возможно, самая портативная виртуальная машина из когда-либо созданных».[5]
Среди популярных переводчиков - Нитфол и Фротц. Nitfol использует Glk API, и поддерживает версии с 1 по 8 Z-машины, включая графическую Z-машину версии 6. Файлы сохранения хранятся в стандартном Кетцаль сохранить формат. Двоичный файлы доступны для нескольких разных операционные системы, в том числе классическая Mac OS, Unix-подобный системы, ДОС, и Windows.[6]
Frotz был написан на C Стефаном Йокишем в 1995 году для DOS. Со временем он был перенесен на другие платформы, такие как Unix-подобный системы,[7] ОС RISC,[8] и iOS.[9] Звуковые эффекты и графика поддерживались в разной степени. К 2002 году разработка застопорилась, и программу подхватил Дэвид Гриффит. Кодовая база была разделена между виртуальная машина и пользовательский интерфейс части таким образом, чтобы виртуальная машина стала независимой от любого пользовательского интерфейса. Это дало возможность разнообразить портирование Frotz. Один из незнакомых портов также один из самых простых: мгновенное сообщение бот заключен в версию Frotz с минимальным IO функциональность создания бота, с которым можно играть в большинство игр Z-machine с помощью клиента обмена мгновенными сообщениями.[10]
Еще один популярный клиент для macOS и другие Unix-подобный системы Zoom. Он поддерживает то же Кетцаль save-format, но упаковка файловой структуры отличается.[11]
Смотрите также
- Glulx - Похож на Z-machine, но снимает несколько устаревших ограничений
- Сообщить - Компьютерный язык, который может создавать программы Z-машины
- SCUMM – Sскрипт Cреакция Uспособность для Mаньяк MAnsion к LucasArts, графическая система похожа на Z-machine
- ТАДС - Как и Glulx, сделано для устранения некоторых его ограничений
- Motorola 68000 серии - Базовая архитектура, используемая для виртуальных машин в Магнитные свитки 'приключенческие игры
Рекомендации
- ^ "Документ стандартов Z-Machine". inform-fiction.org. Получено 26 марта 2018.
- ^ МакГрю, Джесси. «ЗИЛФ». zilf.io. Получено 22 ноября 2020.
- ^ «Внутри отрасли: движение Infocom на западном побережье вызывает споры», Компьютерный игровой мир, п. 10 сентября 1989 г.
- ^ «Информ - ZMachine - Стандарты». inform-fiction.org. Получено 26 марта 2018.
- ^ Нельсон, Грэм. «О переводчиках». Информ сайт. Получено 2009-11-07.
- ^ "если-архив / инфоком / переводчики / нитфол". Получено 2016-10-29.
- ^ "Файл Frotz README на Gitlab". Получено 2019-02-19.
- ^ "Домашняя страница RISC OS Frotz". 1999-09-18.
- ^ "Frotz в App Store". Магазин приложений.
- ^ "Файл Frotz DUMB на Gitlab". Получено 2019-02-19.
- ^ «Масштаб с логическим сдвигом». Получено 2016-10-29.
внешняя ссылка
- Документ стандартов Z-Machine
- Изучение ЗИЛа на Wayback Machine (Архивировано 7 августа 2010 г.) (PDF) - руководство Инфоком ЗИЛ от 1989 г.
- Описание ZIP (PDF) Программа переводчика языка Z (внутренний документ Infocom) с 1989 г.
- Переводчики
- Как вместить большую программу в маленькую машину описывает создание и дизайн Z-машины