Stone

Stone is a specification on how information in an emulator frontend should be handled, such as games records, and platform information. Stone does not specify how the specification should be implemented, only the format of the data the implementation may read in, or output. An emulator frontend must implement Stone-game and Stone-platform to be compliant with Stone emulators, all other parts of Stone are optional and can be implemented in accordance with the needs of the frontend. In essence, in order to be compliant with Stone and thus able to interoperate at a minimal level with all Stone emulators, only Stone-game and Stone-platform must be implemented.

Stone is still a initial draft. As more documentation is added, we will release version 1.0

Terminology

  • A Serialization language refers to a human-readable data serialization format that is able to be deserialized back into an object in the implementation language. Examples include XML (eXtensible Markup Language), JSON (JavaScript Object Notation) and YAML (YAML Ain't Markup Language)
  • SQL refers to the Structured Query Language specification. Any implementation may be used, however, Stone expects SQLite, and conversion may be necessary if SQLite is not used.
  • JSON refers to the JavaScript Object Notation format as specified at http://www.json.org/
  • Game refers to the emulated game within a ROM, as well as the ROM contents itself.
  • Platform refers to the console hardware that the emulated game originally ran on, for example, Nintendo Entertainment System, or the Playstation 2.

Snowflake is an implementation of all parts of Stone