• Sinclair ZX Spectrum - emulation submissions' legacy


    Hi all,

    Now that all emulation tracks are open once more I figured, as the only Sinclair ZX Spectrum Referee Twin Galaxies has had (to the best of my knowledge no-one took it on after I left), I would make public my own work as-was referee just prior to leaving in 2010 (for use by whomever picked up the mantle).
    Now the community has picked up the mantle, it feels perfectly correct to put this information in the community's hands.
    At the time MESS (now also inside MAME in 0.162 onwards) had poor ZX Spectrum support and was not permitted. I have not personally reviewed MESS/MAME support since. The emulators mentioned below are near timing-perfect and the RZX format is better in some respects than INP format of MAME/MESS anyway.


    Referee notes for ZX Spectrum Submissions

    ... with a particular emphasis on emulation submissions. All links at the end.

    System Name
    Full name: Sinclair ZX Spectrum
    Flavours:
    Sinclair ZX Spectrum 16K
    Sinclair ZX Spectrum 48K
    Sinclair ZX Spectrum 128K
    Sinclair ZX Spectrum +2
    Sinclair ZX Spectrum +2A
    Sinclair ZX Spectrum +3

    Most are known simply by their K/+: a "+2" for example. The whole are well-known as the "Speccy".

    All but the +3 use tape for their media by default. The +3 uses 3-inch discs (the same media as the Amstrad CPC as the Spectrum was owned by Amstrad by this time).

    Clones
    Due to Speccy being made from off-the-shelf components, various clones and off-shoots were made. Like other systems, these are not fit for submission. Two clones in particularly are often referenced: Russian Pentagon 128 and Scorpion ZS256. These are likely to come up in conversation at some point. Also, there is an alternative operating system called TR-DOS which is not tracked (this also means Street Fighter II on the Spectrum is not tracked as it only runs under TR-DOS).

    There was never a system released in America which was a true clone. The TS1000 is NOT a Speccy - it is a clone of the ZX81 - a previous, incompatible, computer by Sinclair. The TS2048 was designed but never released. The TC2048 came close but was not 100% compatible. The TS2068 was even less compatible and was released in Portugal as the TC2068 and in Poland as the UK2086, though minor differences occur even in these three.


    Boot up sequence
    The boot up sequence comes in two fundamental flavours: the 128K experience and the original 16K/48K experience. There's no preamble: you should get a brief flash & then a black screen with cream border. The black screen should then become the familiar menu (128K) or blank (16k/48K) screen - both versions have a copyright at the bottom.

    For emulators, RZX submissions are the norm & should begin with the copyright screen.

    Emulators & Legal
    Unlike most systems, the majority of the Spectrum library is perfectly legal to own - original or not. The system ROMs have been released by Amstrad for public consumption (copyrights retained, of course) and almost all games have been sought the permission of. For any particular game, consult World of Spectrum - they are the authority on all things legal in this regard.

    For all emulation submissions on games which World of Spectrum have indicated the game has Denied Distribution, you should find the text of the form " has reserved their rights for distribution of this game. Submissions will therefore not be made publicly available." This (providing it is honoured) absolves TG of any responsibility for the game being distributed & earning the wrath of the games companies.

    As World of Spectrum have actively sought these permissions from the original game companies/authors, they also host almost every known version of the game(s). For those distribution-denied games, try Planet Emulation instead.


    Game research
    First port of call should be to get hold of the game & test it out yourself - World of Spectrum or Planet Emulation.

    Many later games have configurable user-input and many earlier games have predefined keys. If there are no other settings in the game, I've tended to use the phrase "The player may configure the controls within the confines of the game. The settings are otherwise unchangeable."

    Walkthrough adventure games were very popular on the Spectrum and often have no points-scoring mechanism that is obvious. Some will give a percentage completion at the end and others give nothing at all. Fastest Completions are likely to be common in this regard. To figure out the endings, try the RZX Archive first and if not, try YouTube - SPINNY**** particularly but don't let his name put you off as he is a Speccy nut (that's a good thing - if the phrase doesn't cross the pond).


    Emulator submissions
    As mentioned above, all emulation submissions should begin with the copyright screen of the game prior to loading the game. If this copyright is shown, the chances of the game having been altered via pre-load type-in is almost nil.

    The full loading sequence of the game must be present (and as such this falls under distribution of the game if it is available for download - hence the legalese above).

    Unlike MAME, I have permitted any number of attempts in a single recording. The Speccy is a low-consuming emulation & speeding through loading sequences at 1000% is possible on most machines.

    The actual submission comes in the form of an RZX file. This is a recording of the input to the Spectrum - similar to that of MAME & VICE. The RZX format and the Speccy are so simple to emulate that multiple emulators support the format. Spectaculator is probably the most user-friendly of all and is the one emulator I have documented instruction for (and made available) on the TG site. The Recording FAQ has all the details there.

    A part of the rules for Speccy submissions is the need to use Tournament Mode or Competition Mode. All emulators which support RZX recording should have this mode (all that I am aware of do). In this mode, the recording itself is terminated if the emulation speed falls too low or the user does anything OTHER than play the emulator. If the user submits what looks to all intents & purposes like a valid RZX file but it stops mid-play: chances are the emulator found something wrong with the user's behaviour. Details of how to get Tournament Mode for Spectaculator are in Recording FAQ. When starting Tournament mode, the user is asked to put in a "Week Code" - this is something inspired by The Speccy Tour which runs each year. For TG the actual Week Code is of no consequence but the presence in the RZX file is mandatory. The idea behind the Week Code is to ensure that submissions occur during the course of the competition: by only releasing the code for a particular week at the start of the week, submissions cannot be "stacked up" previously for last-minute gazumping. Naturally week codes do not have to be week-based & The Speccy Tour has taken to generating new codes for the last couple of days also to further help prevent gazumping. So, the presence of a Week Code in the RZX is MANDATORY but the actual week code used is of no consequence. Note that some first-timers were let off the Week Code on the proviso that further submissions do adhere.

    I've already mentioned Spectaculator above. Two other good emulators are FUSE (many operating systems) and RealSpectrum (DOS & a very poorly Windows version). RealSpectrum should only be needed when it comes to verifying Ms. Pac-Man submissions. There's something odd about Ms. Pac-Man that other emulators can't play back. :( Every one of the emulator Ms. Pac-Man submissions on the scoreboard have been verified via RealSpectrum. Other emulators exist (see RZX Archive for links).

    One emulator which is NOT permitted is ZX SPIN (or SPIN for short). This emulator permits re-wind on the recordings. Great for RZX Archive and anyone wanting to learn games. For TG, this process doesn't use Competition Mode so shouldn't pose a real problem if the correct checks are being made (see below).

    Every RZX file comes with details of which emulator it was recorded in & some sanity checks (similar to WolfMAME checks). Pushing an RZX file through the rzxdump and rzxcheck of FUSE will get you the output which is available through my INP Checker. This is a similar process to check the MAME INPs with wlfview.

    Sample output of rzxdump:
    :
    Found RZX signature
      Major version: 0
      Minor version: 13
      Flags: 1
    Found a creator block
      Length: 29 bytes
      Creator: `Spectaculator'
      Creator major version: 52
      Creator minor version: 371
      Creator custom data: 0 bytes
    Found a signed data start block
      Length: 13 bytes
      Key ID: 0x6db9762e
      Week code: 0x0000007b
    Found a snapshot block
      Length: 470 bytes
      Flags: 2
      Snapshot extension: `z80'
      Snap length: 1349 bytes
    Found an input recording block
      Length: 1092620 bytes
      Frame count: 513672
      Frame length (obsolete): 0 bytes
      Tstate counter: 14
      Flags: 2
      Skipping compressed data
    Found a signed data end block
      Length: 49 bytes
      r: 009148990FEB3BE3A2EAF84A2BF8509847918A66D1
      s: 30D5BD8FB1A3AEAC6FDE4DA0023B8E7E9B77AD04
    ... and the check by rzxcheck:
    :
    /usr/local/bin/rzxcheck: good signature with key 6db9762e (Spectaculator) in '/var/www/live/TG/temp/19026/brucelee1029050.rzx'
    From rzxdump, you can see the "Found a creator block" informs you of which emulator and version it was recorded in and the "Found a signed data start blcok" holds the Week code proving that Tournament mode was used. The final line has "good signature" in it - the recording passes all sanity checks. Here's the bad bit: there's no Windows version of rzxdump nor rzxcheck. For everyone else, they exist: Mac, BSD, Linux (they're options in almost every distribution), Unix, etc... Just not Windows.


    Links
    World of Spectrum: http://www.worldofspectrum.org/
    Spectaculator: http://www.spectaculator.com/
    RZX Archive: http://www.rzxarchive.co.uk/
    FUSE: http://fuse-emulator.sourceforge.net/
    RealSpectrum: http://www.worldofspectrum.org/emulators.html#pcwin
    Note 1: I've removed dead links & links to grey-legal image sites.
    Note 2: Spectaculator v5.3 used to be available via TG (the final free version of Spectaculator) and the Recording FAQ of old is no longer available.
    Sinclair ZX Spectrum - emulation submissions' legacy Barthax
    4
    1. kernzyp's Avatar
      kernzyp -
      just looked in emulation forum, is there a post talking about opening up emulation? could not find it...
      big step!
    1. Barthax's Avatar
      Barthax -
      just looked in emulation forum, is there a post talking about opening up emulation? could not find it...
      big step!
      The TG broadcast "State of the Galaxies" covered opening up all tracks on the scoreboard over the course of a few episodes and emulation tracks are included & open.
    1. kernzyp's Avatar
      kernzyp -
      cheers buddy.
    1. Cloister's Avatar
      Cloister -
      I know it's an old post, but thanks for this info. Just what I needed :-)
Join us