Background
RetroPlatform technology was designed by Cloanto for long-term support by using documented APIs and file formats, and by integrating open source emulation modules. Year after year, it kept delivering real products that are in use by thousands of users every day, with growing support.
Within the RetroPlatform environment, the original artifacts are stored in a compressed package that includes not only the original media and the underlying file systems, but also a formal description of the original system, and ancillary data such as documentation, screenshots, audio, photographs and other information that helps preserve and recreate the original experience as closely as possible. The artifacts can then be accessed and run by various RetroPlatform player implementations. The package format further contains integrity verification mechanisms to assist in long-term archival and regeneration.
RetroPlatform Framework
RetroPlatform components include:
- API
- Player (host software)
- Platforms (contain platform-specific information, e.g. to describe Amiga or 8-bit CBM systems)
- Plugins (are the "glue" to connect with emulation engines)
- Hardware emulation engines (guests, e.g. slightly modified WinUAE, Fellow, VICE)
- Original OS or emulated OS
- RP9 package (manifest, media, ancillary data, etc.)
Long-Term Support
Elements that contribute to long-term durability include:
- Documented API
- Open source API implementation
- Open source emulation engines
- Documented image file formats
- Documented RP9 package format with formal certification program
- Legacy file systems and media are on native-format images in the RP9 package
- Current human porting experience
- In the future, the documentation and code can be processed by humans and thinking machines alike
Experience
We are very familiar with aspects like:
- Specifications vs. reality
- Undocumented bugs and features
- Reverse engineering
- Source code is documentation too
- And code and apps are documentation as well
- "Data rot"
- Platform shifts, e.g. from PCs to mobile devices and from local computing to cloud environments