Ramsoft's RealSpectrum

BETA release 6

Version 0.50.23 (May 14th 2000)


Summary:


  1. Introduction
  2. Features
  3. Requirements
  4. Usage and control keys
  5. Snapshots
  6. Tapes
  7. Disks
  8. Video
  9. Audio
  10. Pokes (cheats)
  11. Frequently Asked Questions (FAQ)
  12. License, credits and contact info
  13. Revision history


1. Introduction

Welcome to RealSpectrum, a high-fidelity ZX Spectrum emulator with no compromises. It reproduces the Spectrum hardware with a previousely unseen accuracy and it has been designed to support the most advanced features for the most realistic audiovisual experience.
It is the world's first emulator offering 100% exact reproduction of all the multicolor effects commonly seen in demos and some games, not only on the screen but also in the border. It has faithful AY38912/YM2149 emulation for a great sound quality, with stereo and surround effects. It can instantaneousely flashload many turbo-recorded tapes (including commercial games) thanks to a new loading technique, treating TZX files just like snapshots or disk images. Besides, it has many other interesting features that make RealSpectrum the ideal demoscene emulator.

2. Features

This is the list of the currently implemented features, but more will follow.
  • World's first 100% exact multicolor renderer! We have digged out all the ULA secrets (pant!), so we are now able to show all the amazing raster effects like on the real Spectrum!
  • Super-fine MCR. The multicolor renderer is clock-precise, so it reproduces all the horizontal raster effects exactly (see the border in DOE and MDA for example).
  • Selectable resolution. RealSPECTRUM can run at any (S)VGA resolution and supports all VESA1/2/3 modes and tweaked X-Mode. Depending on the screen size, the number of upper/lower and lateral border lines is automatically adjusted.
  • Scanlines. At high resolutions we enable scanlines rendering to make the image more similar to the TV output.
  • Graphic interface. All user interaction happens through a graphic windowing system which we are currently developing.
We put a special interest into audio quality:
  • Digital mixing AY38912 and YM2149 emulator. Very close to the real thing! Good envelopes reproduction. All the digital modplayers (such as DigiSynth, Morpheus, Soundtracker 2 and so on) are working well.
  • Mono/Stereo and 8/16-bit sound output. If your soundcard supports stereo playback, RealSPECTRUM can work in stereo mode enabling some amazing effects.
  • 256-steps stereo panning. Each channel can be panned independently to 256 positions ranging from extreme left to extreme right. There are three presets: NONE (centered), ABC and ACB stereo modes, plus you can define your own custom settings.
  • Surround sound! The surround effect enhances the sound depth very nicely, even when the channels are all panned to center! Surround is obviousely available on stereo soundcards only.
  • Beeper vs AY loudness balancement. You can choose the relative power of the AY respect to the beeper's volume (256 steps), so you can boost your favourite AY songs! :-)
  • Sound recorder. You can dump the audio to a WAV, AZX or YM file for your Speccy tunes CD :-)
  • AY-LPT circuit support. With just a few ICs and resistors you can connect a real AY-38912/10 chip to any LPT port of your PC and get the perfect sound quality of the "real thing"! (To do: 4-bit speech quality improvements).
The CPU emulation is very accurate, every aspect of the Z80 microprocessor has been faithfully reproduced:
  • Undocumented features. Not only all the unofficial instructions are emulated, but we have also reproduced the undocumented behaviour of the flag register in all circumstances.
  • Clock-precise emulation. Everything happens at the exact moment when the real Z80 does it (hopefully :-)); the bus lines accesses, interrupt sensing and processing, data transfers and so on are perfectly calibrated and distributed into the various internal machine states.
This is the list of the currently emulated hardware:
  • ZX Spectrum models: 16K, 48K, 128K, +2, +2A, +3, Pentagon 128K and Scorpion 256K.
  • Multiface 128: if you have the rom, it can also load Genie automatically
  • DISCiPLE/+D: full implementation of the MGT disk interfaces, supporting GDOS, G+DOS and UNIDOS for both boards. RealSpectrum can read/write real MGT floppies inserted into the PC disk drive.
  • Beta 128: the standard disk interface for the russian Spectrum clones such as Pentagon, running the TRDOS operating system. Can also be enabled with the normal 128K, though.
  • Kempston mouse: for use with russians utils and classic tools like Art Studio.
RealSpectrum supports the following file formats:
  • Tapes: TZX, TAP, WAV and CSW, both reading and writing. TZX and TAP are supported both in the standard way and through the cool Ramsoft FlashLoad which allows to load instantaneousely even commercial games recorded in turbo tapes! RealSpectrum allows you to save turbo speed tapes too.
  • Snapshots: Z80 and SNA, all versions and both read/write
  • Disks: MGT and IMG for DISCiPLE/+D, TRD and SCL for TRDOS, DSK for +3. Real floppy disk support for MGT and TRDOS systems.
  • Others: WAV, AZX and YM for audio recording. POK for trainers (cheats). BMP, SCR, PCX and TGA for screenshot saving.

3. Requirements

System

The high detail of emulation offered by RealSpectrum requires intensive computations and memory accesses, so you'll probably need a 200 MHz Pentium class CPU (K6's are also fine, of course) to run smooth at any resolution with all features on. Yes we know that it's quite slow for a Spectrum emulator, but that's the price for the best quality possible. Recommended at least 8MB of RAM.
To run under plain DOS (i.e. not within a Windows95 DOS box) you need the DPMI extender CWSDPMI.EXE.
To enhance disk performance when running RealSpectrum under pure MSDOS, we strongly suggest you to activate a disk cache program such as SMARTDRIVE (this is particularly needed when the WAV writer is active).

Video

RealSpectrum will run on any VGA card, but a VESA2 compliant video card is HIGHLY recommended. Depending on the selected video mode, RealSpectrum will choose the best driver amongst standard VGA, X-Mode and VESA1/2/3. VESA2/3 resolutions dramatically improve the performance. Video speed is really determinant for overall efficiency. If the BIOS of your video card does not support low-resolution VESA2 modes (320x240, etc), please download some of the extenders available such as Scitech's Display Doctor (or GX00VBE.EXE for Matrox G200/G400 cards).

Soundcards

The sound library used by RealSpectrum supports all the Soundblaster brand, ESS1688 and Windows Sound System (all cards based on AD1848/CS4231 chipsets). If you want to run under plain DOS with sound, you'll probably need an ISA soundcard, since PCI cards like SB Live! or SB PCI64/128 usually have problems running in pure MSDOS; this is not our fault. If you have a PCI card, you'd better run RealSpectrum in a fullscreen DOS box under Windows 95.

ROM files

The freely distributable roms are available in a separate archive which must be downloaded from our website. The package contains the following files:

Computer model ROM filename ROM size
Spectrum 16/48K 48.rom 16384
Spectrum 128K 128.rom 32768
Spectrum +2 plus2.rom 32768
Spectrum +2A/+3 plus3.rom 65536
Pentagon 128K pentagon.rom 32768
trdos.rom 16384
ZS Scorpion 256K scorpion.rom 65536

In order to use DISCiPLE/+D and Multiface 128 emulation, you need the appropriate ROM files which are *NOT* included in the ROMs package:

Peripheral ROM filename ROM size Notes
MGT DISCiPLE gdos.rom 8192 or 16384 Standard GDOS3 ROM
uni-disc.rom 8192 or 16384 UNIDOS v2 for DISCiPLE
MGT +D gdos-pd.rom 8192 or 16384 Standard G+DOS v2
uni-pd.rom 8192 or 16384 UNIDOS for +D
Multiface 128 mface128.rom 8192 v87.2 ROM for V36-DIS
genie.rom 16384 Same with pre-loaded Genie

The normal DISCiPLE/+D BIOS files (both GDOS and UNIDOS) are 8K in size, but a 16K interface memory image can be provided; in this case the operating system is pre-loaded and doesn't need to be booted.

Important: Please don't ask us to send you any of these ROMs - we can't, really.

4. Usage and control keys

RealSpectrum should be quite easy to use, since everything is done through a series of graphic menus. The startup settings are read from the REALSPEC.INI configuration file, a plain text file which can be edited to suite your needs; each option line of the file is commented, so you should be able to understand it clearly once you have read this manual.
RealSpectrum can also accept command line parameters. The list of the available switches can be obtained by typing "REALSPEC -?" (or -h); the parameters entered from the command line take priority over the INI settings.

Once started, RealSpectrum can be controlled through the following keys, which give access to the various GUI menus to change settings and parameters.

F1Show help screen
F2Generate NMI (Multiface, DISCiPLE/+D)
ALT-F2Reset Spectrum
F3Hardware configuration menu
ALT-F3Joystick and mouse configuration menu
F5Load snapshot file
ALT-F5Save snapshot file
F6Load disk files
F7Open tape file
ALT-F7Tape options menu
CTRL-F7Start/stop tape
SHIFT-F7Tape browser
F9Trainer selection menu (pokes)
F10Quit RealSpectrum
ALT-F10Quit immediately
F11Video resolutions menu
ALT-F11Extra video options menu
F12Sound options menu
ALT-F12Extra sound options menu
ESCEnter/leave debugger

The Fileselector

Some of the menus above will bring you a fileselector where you can choose a file to load or save.
The upper part of fileselector window shows a list of directory and files, sorted by name; the currently selected item is highlighted by a red bar, which you can move up and down using the arrow keys of the PC keyaboard. Only files of the matching types for the context are shown (i.e. SNA and Z80 for snaphots, and so on). You can also use the keys PGUP/PGDN to move faster and HOME/END to go to the first and the last item respectively.
At the bottom of the window there is an edit line where you can type the initials of the file your are looking for to speed up selection. Whenever you press an alphanumeric character, the selection bar is moved automatically to the file with the nearest name to the string appearing into the edit line. You can delete characters with the usual BACKSPACE key.
You can change the working directory and drive by highlighting the desired directory or drive letter and then pressing ENTER.
Once you have highlighted the desired file, press ENTER to confirm selection and quit the fileselector.
When the fileselector is opened for saving, it will only show directories and drives so that you can choose the path where to save the file and you must type in the filename which will appear in the edit field. In some cases you can also choose the file format with the left/right arrow keys; the currently selected format is shown in the "Save as" line. If the edit line looses the focus (i.e. the characters you type don't appear), use the TAB key to set it back.
Please note that RealSpectrum fully supports long filenames if run under Windows 95 and above.

The Hardware Configuration menu (F3)

From this panel you can select the various Spectrum models and interfaces. Use the TAB key to move the cursor focus between the sub-panels.

The Joystick Configuration menu (ALT-F3)

RealSpectrum supports up to 4 PC joysticks; each of them can be mapped to any supported Spectrum joystick such as Kempston, Sinclair 1 and Sinclair 2. The number of joysticks currently connected to the game port of your PC is reported in the last line of the menu. Use the arrow keys to select the various types and to set the assignements.

5. Snapshots

RealSpectrum supports the most common types of snapshot files, the Z80 and SNA formats which alone represent nearly the totality of the snapshots available worldwide. Several versions of both Z80 and SNA files exist, but RealSpectrum is able to deal with them all transparently.

Using snapshots is very easy, they can be loaded with F5 at any time. In the configuration file, you can specify a default directory where you keep your collection of snapshots. For a design choice, RealSpectrum will not change the hardware model by itself when opening a snapshot saved for a different machine. For example, you can load a 128K snapshot while you are using a Spectrum 48K, but this will probably result in a crash; you will have to manually select a 128K model from F3 before loading it.
Of course you can also save snapshots by pressing ALT-F5 and then typing in the name of the file to be written. Besides the various keys described for all the various fileselectors, with the left/right arrow keys you can choose the format of the snapshot (SNA or Z80). In general, the Z80 format is preferred because it compresses data to reduce disk space occupation, but SNA is more portable to other emulators. RealSpectrum saves the most recent version (v3.xx) of Z80 files.

Snapshots are very handy because they load and save instantaneously, but they have the major disadvantage that they are commonly considered "ugly". They start the program somewhere in the middle, not from the beginning, and something of the original program is lost; besides, they cannot store the data levels for multiload games and so are also incomplete in many cases. Consequently, snapshots should not be used to archive your collection of old games, but only as a temporary form for fast usage. Tapes, and especially TZX files, are the best choice for archiving purposes.

6. Tapes

RealSpectrum supports several types of tapes and each format has special peculiarities in the way it can be handled by the emulator.
  • WAV files are direct audio samples of the real Spectrum cassettes and can be obtained with any sound recording program; they usually take up a very large amount of space on the hard disk and are not very versatile. Loading a program from a WAV files is pretty much the same thing as doing it on the Spectrum - endless wait... :)
  • CSW files are produced by Ramsoft's CSW.EXE utility and are a compressed and digitally preprocessed form of audio data taking much less space.
  • TAP files are a very common way of storing normal speed Spectrum data, i.e. programs and information which has been created by the default ROM tape routines (LOAD/SAVE commands). They load instantaneousely into the various emulators and the contents can be browsed to jump to a specific data block. The main disadvantage is that programs which use custom loading routines such as turbos cannot be stored in TAP files.
  • TZX files are finally the most advanced way of storing Spectrum tapes on PC. Thanks to a sophisticated structure, they can digitally reproduce any kind of data ranging normal speed programs to the latest turbo-encoded commercial games. They can also include extra information such as instructions, archive records, screenshots, pokes and so on. Ideally, TZX files should completely replace any other type of tape file. Like TAPs, they can be handled in an intelligent way by emulators. TZX files can be obtained with programs such as MakeTZX and Taper. RealSpectrum doesn't currently support Direct Recording Blocks in TZX files.
In RealSpectrum you can load a tape file with the fileselector shown when you press F7. Like with snapshots, there is a setting in the INI file to tell RealSpectrum which directory to use by default when loading tape files. Once you have opened a file, you can start/stop the tape by pressing CTRL-F7; the "Scroll Lock" led on the keyboard shows when the tape is running. You can browse the contents of the tape with SHIFT-F7 (TAP and TZX only); to jump to a specific block, select it using the arrow keys and then press ENTER.

Tape Options

By pressing ALT-F7 you open the Tape Options control panel, where you can alter some settings.
  • The FlashLoading and Tape Saving sections are described in detail in the next paragraphs.
  • Tape Loading Noise determines whether you hear the tape sounds while loading (like on the real Spectrum) or not.
  • AutoRewind is used to control the behaviour when the end of the tape is reached. If it is enabled, the tape is automatically rewinded to start and loading continues from the beginning of the tape; otherwise, the tape is stopped. AutoRewind is enabled by default for TAP files.

FlashLoading

FlashLoading is the ability to load tape data instantaneousely, without having to wait like on the real Spectrum. This is a common feature with TAP files, but we did it even better: RealSpectrum is the first emulator which is able to flashload turbo TZX files too! This means that you can now load games (with levels too!) from their original tapes as if they were snapshots or on disk! Please note the difference from other kinds of so-called "flashloading": we are not just speeding up the emulator while loading, but rather autodetecting the tape routines and loading the data directly into the Spectrum memory as requested. In this way, the full loading of a 128K game happens in zero time! The only pauses that you will see are due to the various decrypters/decrunchers commonly used by games before startup to set up themselves, not really part of the actual loading. This cool feature is possible thanks to the MakeTZX technology which is embedded into RealSpectrum.
  • FlashLoading currently works with the following turbo loaders: Alkatraz, all Speedlocks (1-7), BleepLoad, Paul Owens and Digital Integration. These schemes alone cover the vast majority of games ever produced; of course we will add more schemes in the next releases. You don't have to worry to identify the various loaders, RealSpectrum will do it automatically for you.
  • FlashLoading works with levels too. In this way, it will be pretty much the same as playing the same game on disk - no more waiting between the levels!
  • Of course, FlashLoading requires original versions of programs, preserving the original custom loader. Hacked versions using different loaders will not be recognised.
To enable FlashLoading, turn on the corresponding option in the ALT-F7 control panel. FlashLoading is automatically enabled with TAP files and disabled with CSW and WAV; if you want to load TAPs in the old-fashioned "slow" way, disable the option right after opening the tape file (and remember to start playing with CTRL-F7). With the "FlashLoad Levels" option you can choose to load instantaneousely game levels too.

The "Screen Pause" setting is used to introduce a small pause right after the loading screen to let you see it (otherwise in most cases it would disappear immediately); it is particularly interesting with Alkatraz games, which usually show the loading screen in a very fancy way and we thought that it was nice to give you the ability to replay the screen in the original way. Choosing "NONE" disables the pause/animation at all, while the other three settings ("Slow", "Medium" and "Fast") affect the pause/animation speed. Note that it's only an artificial slowdown, since the real screen is internally loaded instantaneousely :-)

FlashLoading is also useful outside the expected situations. When it is enabled, RealSpectrum loads normal speed blocks found in TZX files just like it does with TAPs, so it can be used to skip any standard block also in unsupported loading schemes. If it stops before a custom turbo block because that particular loader is not directly supported by RealSpectrum, all you have to do is simply press CTRL-F7 and loading will continue normally according to the old-fashioned way; in this case, FlashLoading will be automatically disabled until you open the next tape. In general, you can switch between FlashLoading and conventional "slow" loading at any time from the ALT-F7 menu.
In conclusion, with RealSpectrum's FlashLoading there's no reason to prefer TAP files to TZX archives.

Tape Saving

RealSpectrum can save ZX tapes in all the file formats supported also for reading, that is you can choose amongst TZX, TAP, WAV and CSW. This is an useful capability, since it gives you the absolute freedom to manipulate any kind of data on writing, including turbo and custom loaders.
To initiate tape writing, enter the Tape Options menu with ALT-F7, move the cursor to the "Tape Saving" section and select the "Open tape for saving" menu entry by pressing RETURN. This will open the usual fileselector where you can choose the destination directory and the filename of the tape to save. With the left/right cursors you can choose any desired tape format. When you have done, press RETURN again and tape saving will be activated. What happens then, it depends on the tape format chosen:
  • TZX, TAP: RealSpectrum will trap the normal SAVE routines in ROM and write blocks to tape. This way of operation is ok for normal BASIC commands like SAVE and also for headerless ROM blocks, but it is not suitable for saving turbo-speed (custom) data. Although the TZX format is able to contain non-standard data, at this moment TZX writing is supported only at TAP compatibility level (blocks 0x10). In the next releases, however, RealSpectrum will be able to write turbo TZX files too using an embedded version of MakeTZX's decoding engine.
  • WAV, CSW: RealSpectrum starts recording output data to the sample file; this activity starts right after you open the tape file for writing and stops when you close it; the default sampling rate of the output file is 44100 Hz. This way of operation allows recording of any kind of turbo data and custom loaders and so it is extremely versatile. Typically, you may then wish to translate the WAV or CSW file to the TZX format with a TZX decoder like MakeTZX. CSW files have the main advantage that they are usually 8-10 times (and more) smaller than WAV files.
Once you have finished to save the data, close the tape with the "Close tapefile" menu entry in the Tape Options menu (ALT-F7).

7. Disks

Currently RealSpectrum implements four disk interfaces: DISCiPLE, +D, Beta 128 and +3. DISCiPLE and +D are very similar and compatible, so they are often referred to as MGT interfaces (from the name of Miles Gordon Technology, the manufacturer). Beta 128 (a.k.a. TRDOS) is the default disk system for the Russian Spectrum clones such as Pentagon and Scorpion; it is based upon Technology Research's interface. The +3 system is obviousely found in the latest Spectrum model by Amstrad.
From the F3 menu you can enable one of these interfaces for each Spectrum model. MGT and TRDOS are mutually exclusive because of some port conficts; TRDOS is enabled automatically when you select Pentagon mode, but you can change the disk interface as you like it.

Disk Options

Press F6 to access the disk drives configuration. For each available drive, RealSpectrum shows the disk images currently loaded in that drive and the write protection status of the disk. To insert a new disk, select the desired drive, then press ENTER and choose the disk file to load. To eject a disk, simply select it and then press the DEL key. To toggle the write protection on/off, use the left/right arrow keys. A default directory for disk files can be specified in the INI file.

Physical disk support

Besides disk image files, RealSpectrum allows you to insert real floppy disks into the disk drive of your PC. To enable real disk mode, just open the special file called "Physical-Device" which is shown at the end of the list in the fileselector.
Note that RealSpectrum uses the motherboard's BIOS routines to access the disk drive. This means that some old BIOSes might not be able to read non-MSDOS disks such as the Spectrum disks. On an Asus P5A, RealSpectrum reads my DISCiPLE disks at the same speed as the real Spectrum does! In case you have an unlucky BIOS, before giving up try to print the directory of a 720K MSDOS disk before starting RealSpectrum, or use a BIOS disk tweaking utility such as FDREAD.EXE.
Also, the problem could be that your PC's drive has a different head alignement from the Spectrum's drive.

DISCiPLE and +D

The MGT interfaces support up to two double density, double face floppy disks (MGT1 and MGT2), usually 80 track x 10 sectors of 512 bytes each (800K total). In order to able to use them, you need the ROM files GDOS.ROM for DISCiPLE and GDOS-PD.ROM for +D, which must be placed in the same directory where RealSpectrum is. Then you need a boot disk containing the DOS (a file called "sys*" or "+sys*" respectively). Please read our DISCiPLE/+D Guide to learn everything you need to get the most from these two wonderful interfaces. The devices are equipped with a magic button (NMI) which freezes the currently running program and lets you save a snapshot to disk, print the screen and many other things.
RealSpectrum supports also UNIDOS, a powerful operating system for both DISCiPLE and +D which is available as an EPROM upgrade for the interfaces; you need UNI-DISC.ROM for DISCiPLE UNIDOS and UNI-PD.ROM for the +D version. You can choose between GDOS and UNIDOS from the F3 menu at any time. If the DISCiPLE/+D ROM file (default or manually specified into realspec.ini) is 16384 bytes long instead of 8192, RealSpectrum assumes that it contains the pre-loaded operating system and so you don't need to boot the DOS with the usual "RUN" command.

Beta 128 (TRDOS)

The Beta 128 interface allows to control up to four disk drives (TRD1-TRD4), usually 80 tracks x 16 sectors of 256 bytes each for a total of 640K. The supported file formats are .TRD and .SCL (FDI coming soon).

+3 Disks

When the +3 model is selected, you have two disk drives available (DSK1 and DSK2) where you can insert .DSK file images. +3 floppies are usually 3" 40 tracks x 9 sectors, single sided disks.

8. Video

RealSpectrum can run at several video resolutions, which can be changed on-the-fly from the Video Options menu (F11) by selecting the desired mode and then pressing RETURN. You can also type in the resolution manually in the edit field, e.g. "320 200". If the selected mode is available on your system, RealSpectrum will change the videomode immediately, otherwise the old mode is kept. The emulator automatically uses every single pixel of the available video area to display the largest possible portion of the full ZX Spectrum screen. This means that at 320x200 you will see 4 lines of upper and lower border, while at 376x308 and above the entire picture will be shown (usually beyond the normal TV capabilities).

The list of video modes shown in the F11 panel is only a very small subset of all the available resolutions. RealSpectrum comes with the following built-in modes:

320x200 320x240 256x200 256x224 256x240 256x256
320x100 320x350 320x400 320x480 320x600 360x200
360x240 360x270 360x360 360x400 360x480 360x600
376x282 376x308 376x564 400x150 400x300 400x600

If your enter one of the resolutions listed above, RealSpectrum first tries to see if your BIOS supports it as VESA2 and if it doesn't then it uses X-Mode.

Besides these modes, RealSpectrum supports all the VESA 1/2/3 modes supported by the BIOS of you graphics card. You can use a VESA diagnostic tool to get the full list of your VESA modes. Typical VESA2 modes are 640x480 and 640x400, but many BIOSes implement also some of the low-res modes listed in the table above.
The 376x282 mode has a 50.3 Hz vertical refresh, which is very close to the ZX Spectrum PAL rate. This means that scrollers and animations will be perfectly smooth also on the PC's monitor, a result differently impossible to achieve due to the VGA's refresh rates. Note that some old monitors could not be able to deal with such a low frequency.
The 376x308 resolution (X-Mode) is particularly interesting too because the hardware scanlines make the monitor image very similar to the classic TV screen. The refresh rate in this case is about 86 Hz, which could exceed the capabilities of some monitors.

Important: we strongly recommend you to always use VESA2 or VESA3 whenever possible, since this dramatically improves the speed performance of the emulator. The last line of the F11 control panels shows a text line describing the currently active video mode; you should try to work with resolutions that are reported as "VESA2" or "VESA3".

If the low-res modes such as 320x240 are not available as VESA but only as X-Modes, we recommend you to try the Scitech Display Doctor. If RealSpectrum doesn't run at fullspeed on your machine even in VESA2 modes, then try the good old 320x200. Check that the video driver used is "Standard VGA" (aka mode 13H). You can always force the VGA mode 13H by entering a non-existent resolution into the INI file (e.g. "VideoMode: 333 333").

Extra video preferences

In the ALT-F11 menu some extra options are available.
  • Vsync: this parameter controls vertical retrace synchronization. If it is enabled, RealSpectrum will try to synch the video updates with the VGA's electron beam, resulting in smoother animation and images with no flickering. However, in some cases this may slowdown the emulator excessively; if you hear gaps or repetitions in the audio, try to disable vsync. Also, remember that under Windows 9x it is almost impossible to get 100% sinchronization and so at some intervals some flickering may occur even if vsync is enabled.
  • Gamma: this setting determines the contrast between bright and dark colours of the ZX Spectrum palette. Increasing the value will make the dark colors brighter and vice versa.
  • Save screenshot: this opens the fileselector to save the current Spectrum screen to a graphic file; the available formats are BMP, SCR, PCX and TGA.
In the realspec.ini configuration file you can alter the frameskip value. RealSpectrum will send a video frame to the VGA only once every frameskip frames; it can be useful on slow graphics cards and the default value is 0 (no frameskip at all).

9. Audio

RealSpectrum has a very rich set of features concerning music and sound, because audio quality is one of its main design goals. You have already learned the capabilities in chapter 2 from the emulation point of view. This chapter explains the user interactions with the sound system. RealSpectrum can produce sound in many configurations: 8 or 16 bit, mono or stereo and at any sample rate supported by your soundcard. The recommended configuration is 8-bit stereo at 44100 Hz (16 bits are usually not necessary).

Sound Options

By pressing F12 you enter the sound options panel where the following controls are available:
  • Master volume: this is the global volume of the sound which comes out of your loudspeakers. For some mathematical considerations concerning sound quality, it is usually better to keep this setting at the maximum value and use the loudspeaker's controls to adjust the volume.
  • AY stereo panning: you can set the stereo position of each of the three channels of the Spectrum 128K soundchip (AY) in 256 steps ranging from full left to full right. This feature gives extremely pleasing results. Many demo musics have been composed to sound better in some stereo configuration (see later).
  • Device balancement: this controls the relative power of the internal beeper against the AY chip. In the original Spectrum 128K the beeper alone sounded as loud as the three AY channels together and this was unpleasant to many users. The default setting of RealSpectrum is that the beeper has the same power of a single AY channel (so each channels has 1/4th of total power). When the cursor is at the full left you hear only the AY and the beeper is muted; when the cursor is at the full right, the AY is muted and the beeper sounds at full loudness. The original Spectrum 128K behaviour is obtained when the cursor is set halfway.
  • Stereo mode: this lets you use some presets for AY panning; "ABC" configuration (channel A on the left, B center and C on the right) is used by Pentagon and many eastern clones and boards; "ACB" was used with many Czech demos (Busy Soft); "NONE" gives monaural output (all channels centered) and "USER" lets you define you own custom stereo panning.
  • Surround FX: this cool feature improves the sound spatiality. Usually, external soundspeakers give better results than headphones. Play with the speakers disposition to achieve the maximum effect.
  • Sound state: toggles sound on/off.
The last line of the control panel shows the playing mode currently used by RealSpectrum: resolution, stereo and sampling rate; these parameters cannot be changed on-the-fly and must be set into the configuration file (realspec.ini).

Extra audio settings

With ALT-F12 some extra audio features are available:
  • Sound recorder: RealSpectrum can record the Spectrum sound (AY and beeper) to a WAV, AZX or YM file for later use. In this way, you can record your favourite Speccy musics and sound effects and play them back with your music player or even record them on CD. The sound recorder can be started/stopped at any time by pressing ENTER when the recorder option is selected; the line will show "Start" or "Stop sound recorder" depending on the current state. When you start a new recording, you must use the fileselector in the usual way to choose the file format (WAV/AZX/YM) and the file name and path.
    Note about YM files: RealSpectrum saves uncompressed YMs type 5; you can compress the files yourself using LHA.EXE (use option "-h0", e.g. "lha -h0 a compressed.lzh uncompressed.ym") and the final .LZH archive can be eventually renamed to have a .YM extension without any further action.
  • AY-LPT circuit: this is a small electronic circuit which allows you to connect a real AY-38910/12 soundchip to the parallel port of your PC. RealSpectrum can play AY music through the AY-LPT device so that you can listen to the "real thing" too besides the digital emulation through the soundcard. To enable AY-LPT, type in the hexadecimal address of the LPT port the device is connected to (usually 378 for LPT1 and 278 for LPT2). To disable AY-LPT enter the value 0 or press ESC.
Note about PCI soundcards: like all DOS programs, the MSDOS version of RealSpectrum may not work correctly with PCI soundcards. This is not a limitation of RealSpectrum, but a DOS-imposed restriction. PCI soundcards are almost unaccessible from DOS programs due to specific hardware design problems. See the FAQs in this manual.

10. Pokes (cheats)

At the good old times, lots of cheat modes and trainers were available for many games, typically printed as POKES in the magazines. With RealSpectrum there are two ways to enter such pokes: you can enable the Multiface 128 and then use its menu to insert the poke, or you can use the trainer control panel which is accessed with the F9 key.

When you load a tape or a snapshot file, RealSpectrum automatically looks for a file having the same name and the .POK extension. POK files are produced by the popular SGD (Spectrum Games Database) utility by Martijn van der Heide and contain the cheat definitions. When POK files are available, the F9 panel shows a list of the available cheats for the running game; each trainer can be activated and disabled with the left/right cursors. Sometimes it is possible to specify a number as the value of a trainer, for example the number of lives; in this case you can alter the number which is shown when the trainer is active by using the +/- keys on the numeric keypad of the keyboard.

If no POK file is available for the loaded game, you can still enter pokes manually by typing the values in the edit field, e.g. for a POKE 32654,201 you will enter "32654 201".

If you prefer, you can keep POK files altogether into a single directory which is pointed to by the "PokesDir: " setting found in REALSPEC.INI.

11. Frequently Asked Questions

  1. RealSpectrum hangs with a black screen at startup.
    Most times it's due to a soundcard initialization problem, especially if you have a PCI card (see the next FAQ). Return to the DOS prompt by pressing CTRL-ALT-DEL, then restart RealSpectrum with the command "realspec -nosound" or set "NoSound: 1" in REALSPEC.INI.

  2. RealSpectrum doesn't work with my PCI soundcard.
    Unfortunately we can't do anything for that. PCI soundcards are almost unaccessible from DOS programs due to specific hardware design problems. Most vendors provide some sort of basic SoundBlaster software emulation (legacy device) but it's often buggy and it must be configured properly. Please use always the latest drivers available for your card and run the emulator in a DOS box under Windows 9x. Only a very few cards can work in pure DOS (e.g. Terratec Canyon 3D). RealSpectrum works with SB Live! only in a DOS box. We recommend that the legacy device is set with the usual SB configuration: I/O 220H, IRQ 5 or 7 and DMA 1 and 5.

  3. How can I improve emulation speed?
    The extra-high detail of RealSpectrum requires a faster CPU respect to other emulators. First of all make sure that you are using a VESA2 video mode. Try to disable VSYNC from the ALT-F11 panel (or in the INI file), especially if you hear gaps or repetitions in the audio and you have a slow processor. Use a lower resolution; 320x200 is the fastest. If it is still slow, disable sound. Try increasing the frameskip value into the INI file. You can also gain extra speed by disabling contended memory emulation with the setting "ContendedMemory: 0" in the INI, at the cost of renouncing to 100% perfect multicolor effects (this doesn't affect russian models, which have no contended memory at all).

12. License, credits and contact info

RealSpectrum is freeware. It can be freely used and distributed as long as no money is charged for it and the original package, program and documentation are not altered in any way. Before including RealSpectrum into a commercially sold media (such as a magazine CDROM), please contact us first.

RealSpectrum comes without any kind of warranty, both implied and expressed. By using this program, you accept that the authors are not responsible for any damage or data loss caused directly or indirectly to your system by the emulator. Use it at your own risk solely.

The latest version of RealSpectrum can always be obtained from Ramsoft's official website:

If you want to send your impressions, suggestions or even better bug reports, please write to: Before asking for something, please make sure that your question or your problem isn't already covered in this manual. When sending in bug reports, please describe in detail the encountered problem and the procedure to make it happen again; don't forget to include a description of your system (OS, soundcard, videocard, CPU, memory, etc). This will save us a lot of time, thanks.

Greetings

We would like to thank the following people who contributed useful suggestions or bug reports:

Francesco Piccardo, Davide Barlotti, Rodolfo Edison Guerra,
Miodrag Stancevic, Henk van Leeuwen, Pepa Kokes, Mac Buster,
Raul Gomez Sanchez, Simone Voltolini, Carl Murray.

The following technical material was consulted during the creation of RealSpectrum, credits go to the respective authors/maintainers:

Additional thanks to Shawn Hargreaves for the wonderful Allegro programming library.

13. Revision history

New in v0.50.23 (May 14th 2000)
  • New Spectrum models: 16K, +2A, +3 and Scorpion 256. Note: the ROM set archive has changed!
  • Kempston mouse support for Pentagon and Scorpion (ALT-F3).
  • Great speed improvement, over 30% faster in terms of FPS!
  • Heavy Z80 core changes.
  • 48K multicolor timings inserted (based on issue 4S).
  • Ability to disable contended memory emulation to gain extra speed at the cost of a degraded visual quality. Contended memory is required for 100% exact rendering of multicolor effects. This does not affect Pentagon and Scorpion models, which have no contended memory for themselves.
  • DISCiPLE/+D rom files can be specified in the INI file; support for pre-booted (ROM+SYS) rom files (16384 bytes instead of 8192).
  • Default directory customizations in the INI file for snapshot, tapes and disks.
  • Screenshot saving in BMP, SCR, PCX and TGA format (ALT-F11)
  • AZX and YM music recording and new Sound Recorder dialog (ALT-F12)
  • Switch to skip the welcome message ("-nopause" from the command line and "WelcomeMessage" in the INI).
  • Tons of bugfixes (Z80 snapshot loader, UNIDOS saving, Z80 core, etc.)
New in v0.41.06 (March 13th 2000)
  • Kempston/Sinclair joystick support (ALT-F3)
  • Added Digital Integration loading scheme to FlashLoading
  • Z80 core bugfixes (Melange, Kolobok2 and Digital Integration)
  • Other bugfixes
New in v0.40.26 (March 5th 2000)
  • TZX FlashLoading (turbo games, with levels included)
  • Tape saving to TZX, TAP, CSW and WAV
  • Tape Options control panel (ALT-F7)
  • SCL support for TRDOS disks
  • Z80 core bugfix (Dizzy V)
  • POK files automatic support
  • Command line switches
  • Automatic selection of TRDOS in Pentagon mode
  • Help menu (F1)
New in v0.34.21 (January 21st 2000)
  • UNIDOS support enabled (both DISCiPLE and +D)
  • Basic TRDOS support (not widely tested yet)
  • Major speedup (+50% faster!)
  • Z80 core bugfixes and changes
New in v0.32.20 (January 3rd 2000)
  • +D emulation enabled, disk writing enabled
  • Disk selection control panel
  • Speed up and bugfixes
December 31st 1999: Millennium Release (v0.31.999)


RealSpectrum and this manual are © 1999-2000 Ramsoft ZX Spectrum demogroup