FromNet: NET_Moscow_Russia_(245_02/09/2005) (commserv.rpb.ru)

From: "Kirill Frolov" <fk0@fk0.pp.ru>

Sat Nov 12 2005 02:00, Wladimir Bulchukey wrote to Zhenya Grigoriev:


http://ivr.webzone.ru/articles/txt_zip/extfiles.zip :
=== : ===
| | Архив RAR, созданный спектрумовской программой | "r" - от "RAR",
| См. расширение "rar". |
| rzx | RARDEMO. | "zx" - от "ZX | |
| | | Spectrum". | |
=== . ===
Сложно автора extfiles.zip обзывать ламером, но приходится. Выкинь это. И не
морочь другим людям мозги. Вообще спрашивать стоило бы у гугля, он и то лучше
осведомлён. Или хоть в FAQ местный заглядыват -- там ссылка на импортный FAQ,
в котором есть абсолютно всё.

http://www.ramsoft.bbk.org/rzxform.html

The RZX format provides a standard method to record input events (such as
keypresses and joystick movements) in Spectrum emulators, and store them into
files which can be later played back to reproduce exactly the same actions. It
is pretty much like recording the script of a movie and then having the actors
play it again exactly in the same way each time you watch it. For example, it
is possible to record the complete solution of a game or take part in internet
game competitions.

The RZX standard has been designed to overcome the limitations of other
similar formats like AIR. AIR files became quite popular with RealSpectrum and
ASCD, but they had the major disadvantage of non-portability, i.e. the files
recorded by an emulator could not be played back by other emulators. This
happened because the recording logic was very sensitive to emulation timings,
and for several reasons each emulator currently has its own implementantion of
the core timings (memory contention and so on). Besides, the closed-source
policy of the format actually limited its diffusion further.

The main goals of the RZX project are:

* Portability.
Timing-independent recording logic for maximum compatibility with
different core implementations amongst different emulators; open-source
policy; portable C code using standard library functions (possibly
ANSI-compliant) to accomodate different platforms.
* Easy implementation in emulators.
Adding RZX support to already existing emulation cores simply requires a
few minimal changes. The programmer is not required to change the way the
emulator reads the keyboard and joystick by adopting an invasive application
interface. The internal state variables of the RZX logic are very limited and
it does not cost any performance penalties for the emulator.
* Reduced file sizes.
RZX files are compressed in order to be easily distributed and shared on
the net. Zlib will probably be used for the purpose because it is highly
portable.
* Robust security.
Files destined to game tournaments are protected by a robust encoding
system to prevent hacking while preserving portability and open source
principles.