PRC (Palm OS)

Last updated

PRC (Palm Resource Code) is a container format for code databases in Palm OS, Garnet OS and Access Linux Platform. Its structure is similar to PDB databases. [1] Usually, a PRC file is a flat representation of a Palm OS application that is stored as forked database[ clarification needed ] on the PDA.

Database organized collection of data

A database is an organized collection of data, generally stored and accessed electronically from a computer system. Where databases are more complex they are often developed using formal design and modeling techniques.

Palm OS Mobile operating system

Palm OS is a discontinued mobile operating system initially developed by Palm, Inc., for personal digital assistants (PDAs) in 1996. Palm OS was designed for ease of use with a touchscreen-based graphical user interface. It is provided with a suite of basic applications for personal information management. Later versions of the OS have been extended to support smartphones. Several other licensees have manufactured devices powered by Palm OS.

The Access Linux Platform (ALP), is a discontinued open-source software based operating system, once referred to as a "next-generation version of the Palm OS," for mobile devices developed and marketed by Access Co., of Tokyo, Japan. The platform included execution environments for Java, classic Palm OS, and GTK+-based native Linux applications. ALP was demonstrated in devices at a variety of conferences, including 3GSM, LinuxWorld, GUADEC, and Open Source in Mobile.

Contents

PRC files are also used by the Mobipocket e-book-reader (here sometimes referred to as MOBI format [2] ). The AZW format of Amazon's Kindle reading device is in turn a DRM-restricted form of the Mobipocket format.

Mobipocket SA was a French company incorporated in March 2000 that created the .mobi e-book file format and produced the Mobipocket Reader software for mobile phones, personal digital assistants (PDA) and desktop operating systems.

E-book Book-length publication in digital form

An electronic book, also known as an e-book or eBook, is a book publication made available in digital form, consisting of text, images, or both, readable on the flat-panel display of computers or other electronic devices. Although sometimes defined as "an electronic version of a printed book", some e-books exist without a printed equivalent. E-books can be read on dedicated e-reader devices, but also on any computer device that features a controllable viewing screen, including desktop computers, laptops, tablets and smartphones.

Kindle File Format is a proprietary e-book file format created by Amazon.com with the extension .azw that can be downloaded and read on devices like smartphones, tablets, computers, or e-readers that have Amazon's Kindle app.

On Palm OS, PRC files are used for applications, localized resources (overlays) and shared libraries. [1]

Structure of PRC file

In its essence, a PRC file is similar to a classic Mac OS application. It contains a PRC header, PRC resource headers and PRC resources. [3]

Classic Mac OS original operating system of Apple Mac (1984–2001)

Classic Mac OS refers to the series of operating systems developed for the Macintosh family of personal computers by Apple Inc. from 1984 to 2001, starting with System 1 and ending with Mac OS 9. The Macintosh operating system is credited with having popularized the graphical user interface concept. It was included with every Macintosh that was sold during the era in which it was developed, and many updates to the system software were done in conjunction with the introduction of new Macintosh systems.

PRC Header
PRC Resource Header
PRC Resources

PRC Header

The PRC header is located at the beginning of the file and contains meta-information on the file: [3]

OffsetNameTypeSize
0x00namechar32 Bytes
0x20flagsinteger2 Bytes
0x22versioninteger2 Bytes
0x24creation time 32bit integer - PDB Datetime 4 Bytes
0x28modification time 32bit integer - PDB Datetime 4 Bytes
0x2cbackup time 32bit integer - PDB Datetime 4 Bytes
0x30mod_numinteger4 Bytes
0x34app_infointeger4 Bytes
0x38sort_infointeger4 Bytes
0x3ctypeinteger4 Bytes
0x40creatorinteger4 Bytes
0x44unique_id_seedinteger4 Bytes
0x48next_record_listinteger4 Bytes
0x4cnum_recordsinteger2 Bytes

PRC Resource Header

For every resource (specified by num_records), there is a resource header containing: [3]

nametypenotessize
namecharName of the resource4 bytes
IDintegerID number of the resource2 bytes
offsetintegerPointer to resource data4 bytes

PRC Resources

Every application contains al least a Code #0 resource with size information and jump tables, a Code #1 resource with executable code and data resources containing pre-initialized values of global variables in compressed form. [3] Other resources that may be contained are forms, form objects, alerts and multimedia data, e. g. images and sounds.

Related Research Articles

Multipurpose Internet Mail Extensions (MIME) is an Internet standard that extends the format of email messages to support text in character sets other than ASCII, as well attachments of audio, video, images, and application programs. Message bodies may consist of multiple parts, and header information may be specified in non-ASCII character sets. Email messages with MIME formatting are typically transmitted with standard protocols, such as the Simple Mail Transfer Protocol (SMTP), the Post Office Protocol (POP), and the Internet Message Access Protocol (IMAP).

Microsoft Access Database manager that is part of the Microsoft Office package

Microsoft Access is a database management system (DBMS) from Microsoft that combines the relational Microsoft Jet Database Engine with a graphical user interface and software-development tools. It is a member of the Microsoft Office suite of applications, included in the Professional and higher editions or sold separately.

zlib software library

zlib is a software library used for data compression. zlib was written by Jean-loup Gailly and Mark Adler and is an abstraction of the DEFLATE compression algorithm used in their gzip file compression program. zlib is also a crucial component of many software platforms, including Linux, macOS, and iOS. It has also been used in gaming consoles such as the PlayStation 4, PlayStation 3, Wii U, Wii, Xbox One and Xbox 360.

The Portable Executable (PE) format is a file format for executables, object code, DLLs, FON Font files, and others used in 32-bit and 64-bit versions of Windows operating systems. The PE format is a data structure that encapsulates the information necessary for the Windows OS loader to manage the wrapped executable code. This includes dynamic library references for linking, API export and import tables, resource management data and thread-local storage (TLS) data. On NT operating systems, the PE format is used for EXE, DLL, SYS, and other file types. The Extensible Firmware Interface (EFI) specification states that PE is the standard executable format in EFI environments.

The resource fork is a fork or section of a file on Apple's classic Mac OS operating system, which was also carried over to the modern macOS for compatibility, used to store structured data along with the unstructured data stored within the data fork.

Creator code

A creator code is a mechanism introduced in the classic Mac OS to link a data file to the application program which created it. The similar type code held the file type, like "TEXT". Together, the type and creator indicated what application should be used to open a file, similar to the file extensions in other operating systems.

Flexible Image Transport System (FITS) is an open standard defining a digital file format useful for storage, transmission and processing of data: formatted as N-dimensional arrays, or tables. FITS is the most commonly used digital file format in astronomy. The FITS standard has special (optional) features for scientific data, for example it includes many provisions for describing photometric and spatial calibration information, together with image origin metadata.

OBEX is a communications protocol that facilitates the exchange of binary objects between devices. It is maintained by the Infrared Data Association but has also been adopted by the Bluetooth Special Interest Group and the SyncML wing of the Open Mobile Alliance (OMA). One of OBEX's earliest popular applications was in the Palm III. This PDA and its many successors use OBEX to exchange business cards, data, even applications.

The BMP file format, also known as bitmap image file or device independent bitmap (DIB) file format or simply a bitmap, is a raster graphics image file format used to store bitmap digital images, independently of the display device, especially on Microsoft Windows and OS/2 operating systems.

JAR (file format) archive file format

A JAR is a package file format typically used to aggregate many Java class files and associated metadata and resources into one file for distribution. It is used to store classes of java created by the user in order to help the runnable and inference concepts embedded within the language.

A comma-separated values (CSV) file is a delimited text file that uses a comma to separate values. A CSV file stores tabular data in plain text. Each line of the file is a data record. Each record consists of one or more fields, separated by commas. The use of the comma as a field separator is the source of the name for this file format.

HFS Plus or HFS+ is a journaling file system developed by Apple Inc. It replaced the Hierarchical File System (HFS) as the primary file system of Apple computers with the 1998 release of Mac OS 8.1. HFS+ continued as the primary Mac OS X file system until it was itself replaced with the release of the Apple File System (APFS) with macOS High Sierra in 2017. HFS+ is also one of the formats used by the iPod digital music player. It is also referred to as Mac OS Extended or HFS Extended, where its predecessor, HFS, is also referred to as Mac OS Standard or HFS Standard. During development, Apple referred to this file system with the code name Sequoia.

In NeXTSTEP, OPENSTEP, GNUstep, and their lineal descendants macOS and iOS, a bundle is a file directory with a defined structure and file extension, allowing related files to be grouped together as a conceptually single item.

The following is a comparison of e-book formats used to create and publish e-books.

Object Manager (Windows)

Object Manager is a subsystem implemented as part of the Windows Executive which manages Windows resources. Resources, which are surfaced as logical objects, each reside in a namespace for categorization. Resources can be physical devices, files or folders on volumes, Registry entries or even running processes. All objects representing resources have an Object Type property and other metadata about the resource. Object Manager is a shared resource, and all subsystems that deal with the resources have to pass through the Object Manager.

A file format is a standard way that information is encoded for storage in a computer file. It specifies how bits are used to encode information in a digital storage medium. File formats may be either proprietary or free and may be either unpublished or open.

PDB is a container format for record databases in Palm OS, Garnet OS and Access Linux Platform. Its structure is similar to PRC resource databases. The PalmDOC eBook format is a special version of the PDB format.

ASP.NET Web Forms is a web application framework and one of several programming models supported by the Microsoft ASP.NET technology. Web Forms applications can be written in any programming language which supports the Common Language Runtime, such as C# or Visual Basic. Main building blocks of Web Forms pages are server controls, which are reusable components responsible for rendering HTML markup and responding to events. A technique called view state is used to persist the state of server controls between normally stateless HTTP requests.

References

  1. 1 2 N. Rhodes, J. McKeehan. Palm OS Programming, Second Edition, O'Reilly, 2001, ISBN   1-56592-856-3.
  2. MobileRead Wiki: Reference for the MOBI format
  3. 1 2 3 4 Theodore Ts'o (2000) The PRC Format. Accessed on 2009-03-07