Открыть сервис

Формат PRC

PRC (от англ. Palm Resource Compiler; также используется расширение .prc) — это формат файлов баз данных, разработанный компанией Palm для операционной системы Palm OS. Файлы PRC представляют собой контейнеры, объединяющие в одном файле исполняемый код (для приложений), данные, ресурсы (изображения, шрифты, строки) и метаданные, необходимые для работы программного обеспечения на устройствах Palm (PDA, смартфоны). Формат является разновидностью Palm Database (PDB), но отличается от неё структурой записей и типом хранимого содержимого.

История

Формат PRC был создан компанией Palm, Inc. в середине 1990-х годов для платформы Palm OS. Первоначально он использовался исключительно для установки приложений и игр на карманные персональные компьютеры (КПК) Palm Pilot. С развитием Palm OS (версии 1.0–5.0) формат оставался основным способом распространения программного обеспечения, поскольку обеспечивал компактное хранение и быструю загрузку данных в память устройства.

С появлением устройств на базе Palm OS от других производителей (Handspring, Sony, IBM) формат PRC стал де-факто стандартом для приложений этой экосистемы. После прекращения выпуска Palm-устройств в конце 2000-х годов формат утратил массовое распространение, но сохранил нишевое применение в сообществах энтузиастов, коллекционеров и разработчиков эмуляторов (например, Palm OS Emulator, POSE).

Структура и технические особенности

Файл PRC состоит из двух основных частей: заголовка базы данных и набора записей.

Заголовок базы данных

Заголовок имеет фиксированный размер (78 байт) и содержит:

  • Имя базы данных — строка до 32 символов (обычно совпадает с именем приложения).
  • Тип базы данных — четырёхсимвольный код (например, appl для приложений, data для данных).
  • Идентификатор создателя — четырёхсимвольный код разработчика (например, Palm, Hnst).
  • Флаги атрибутов — битовая маска, определяющая свойства базы (только чтение, резервное копирование, скрытый файл и т. д.).
  • Версия — номер версии формата (обычно 0).
  • Количество записей — число ресурсов или сегментов данных в файле.

Записи (ресурсы)

Каждая запись в PRC-файле представляет собой блок данных, имеющий:

  • Тип ресурса — четырёхсимвольный код (например, Tbmp для растрового изображения, Code для исполняемого кода, font для шрифта).
  • Идентификатор ресурса — уникальный числовой ID в пределах данного типа.
  • Размер данных — длина блока в байтах.
  • Собственно данные — содержимое ресурса (бинарный код, пиксели, символы и т. д.).

Исполняемый код в PRC-файлах хранится в ресурсах типа Code и представляет собой откомпилированный байт-код для виртуальной машины Palm OS (ARM-код для устройств на Palm OS 5 и выше, 68k-код для более ранних версий).

Отличие от PDB

Хотя оба формата (PRC и PDB) основаны на единой спецификации Palm Database, PRC предназначен для хранения ресурсов (в том числе исполняемых), тогда как PDB — для произвольных данных (например, записей адресной книги или списков задач). В PRC записи имеют фиксированную структуру с типами и ID, в PDB — произвольную.

Применение

Формат PRC использовался в следующих основных сценариях:

Приложения для Palm OS

Подавляющее большинство программ для Palm OS распространялось в формате PRC. Это были как системные утилиты (калькулятор, календарь), так и сторонние приложения (текстовые редакторы, игры, медицинские справочники). Установка производилась через HotSync — синхронизацию с настольным компьютером.

Электронные книги и документы

Некоторые программы для чтения (например, Plucker, iSilo) использовали PRC для упаковки текстовых файлов с изображениями и гиперссылками. Однако для книг чаще применялся формат PDB, так как он не требовал ресурсной структуры.

Игры

Игры для Palm OS, особенно трёхмерные (например, SimCity, Doom), распространялись в PRC-файлах, объединяющих код, графику и звуковые эффекты. Благодаря компактности формата игры помещались в ограниченную память устройств (обычно 2–8 МБ).

Инструменты для работы с PRC

Для создания, редактирования и конвертации файлов PRC использовались следующие инструменты:

  • Palm OS Developer Suite — официальная среда разработки от Palm, позволяющая компилировать код в PRC.
  • PRC-Edit — утилита для просмотра и редактирования ресурсов внутри PRC-файлов.
  • Pilot File Manager — программа для управления файлами на Palm-устройствах, поддерживающая импорт/экспорт PRC.
  • Emulators — эмуляторы Palm OS (POSE, Mu) могут загружать PRC-файлы для тестирования приложений без физического устройства.

Современное состояние

После прекращения поддержки Palm OS в 2009 году формат PRC перестал развиваться. Однако он остаётся востребованным в узких кругах:

  • Коллекционирование — энтузиасты сохраняют архивы PRC-файлов с играми и приложениями для исторических устройств.
  • Эмуляция — эмуляторы Palm OS (например, Cloudpilot, Palm OS Emulator) используют PRC для запуска старых программ.
  • Исследования — специалисты по ретро-вычислениям изучают структуру PRC для восстановления утраченного ПО.

В современных операционных системах (Windows, macOS, Linux) файлы PRC не открываются напрямую; для их просмотра требуются специализированные утилиты или эмуляторы.

Интересные факты

  • Формат PRC иногда путают с форматом электронных книг PDB, однако их структура различна: PRC содержит ресурсы, PDB — записи.
  • Идентификатор создателя Palm в PRC-файлах часто использовался для системных приложений, а сторонние разработчики регистрировали собственные коды (например, Hnst для Handspring).
  • Максимальный размер PRC-файла ограничен объёмом памяти устройства Palm OS (обычно до 8 МБ), хотя теоретически формат допускает файлы до 4 ГБ.
  • Некоторые PRC-файлы содержат встроенные шрифты и изображения, что позволяло приложениям работать без внешних ресурсов.

Источники

  • Palm OS Programmer’s Companion, Volume 1: Application Development (Palm, Inc., 1998).
  • Спецификация формата Palm Database (PDB/PRC) (PalmSource, 2002).
  • Документация эмулятора Palm OS Emulator (POSE) (Palm, Inc., 2000).
  • Архивы сообщества Palm OS Enthusiasts (palmos.com, 2005–2010).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →