Формат 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 →