Version 0.97.26 (November 6th 2004)
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 emulates a wide range of Spectrum models and peripherals, including the eastern clones and several disk interfaces. 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. It can load and save real Spectrum tapes and disks, respectively using the soundcard and the PC drive. It emulates the Sinclair Network over the Internet and provides a live chat system to facilitate the communication. It can even record video and sound to disk files. Besides, it has many other interesting features that make RealSpectrum the ideal demoscene emulator.
This is the list of the currently implemented features, still growing today.
SystemThe high detail of emulation offered by RealSpectrum requires intensive computations and memory accesses, so you'll probably need a 200 MHz Pentium class CPU (AMD are also fine, of course) to run smooth at any resolution with all features on. Yes we know that you're used to lower requirements with other past emulators, but that's the fee for the very top quality available today. Recommended at least 8MB of RAM.
RealSpectrum runs fine under Windows 9x/ME and pure MSDOS. It has been reported to work also under Windows NT4, 2000 and XP, but we do not recommend this environment due to several limitations imposed to DOS applications by the operating system (no sound, no real disk access, no network and more); in particular, NT4 seems to be more untolerant. See below for some notes on getting sound under these OSes.
To run under plain DOS (i.e. not within a Windows 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/AVI writer is active).
VideoRealSpectrum 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).
SoundcardsThe sound library used by RealSpectrum supports all the Soundblaster brand, ESS1688 and Windows Sound System (all cards based on AD1848/CS4231 chipsets). Most modern PCI soundcards provide some sort of SoundBlaster emulation to DOS programs when run under Windows, so RealSpectrum will usually run fine in a DOS box. 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 9x/ME.
To get sound under Windows NT/2000/XP you must install a software SB-16 emulator such as VDMSOUND, which is highly recommended to enjoy the RealSpectrum experience fully and to increase compatibility.
ROM filesThe freely distributable roms are available in a separate archive which must be downloaded from our website. The package contains the following files:
RealSpectrum will also work perfectly with different versions of the ROM files, just specify the new filenames in the INI or select them directly from the F3 menu. For example, you may wish to use a v4.1 ROM for +2A/+3 or an old Interface I v1 ROM, special Pentagon/Scorpion systems, and so on.
In order to use certain emulated interfaces (such as the Multiface), you need the appropriate ROM files which are *NOT* included in the standard ROMs package for copyright reasons; if you own any of the files listed below, just copy them into the RealSpectrum's directory.
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.
For the MB-02+ we strongly recommend to use a dump of the integrated Eprom (2K), which enables the full booting procedure (system disk required). Alternatively, a 32K memory image of BSROM + BSDOS (the first two SRAM banks once the system is booted) can be used, but the original boot procedure will be unavailable - too bad! ;-)
The ZS Scorpion Professional Extension ROM (ProfROM) actually includes 2 independent 256K banks that can be switched from the hardware properties panel (F3+F3).
The Softcrack software is available for download from the RealSpectrum download page. The ZIP includes the manual and version 9.2 (for ZX-IF1 and Beta) and 9.4 (for DISCiPLE/+D and Opus Discovery) on 2 different .TAP files. To save them as a "ROM dump" you can simply load them in the Softcrack memory, press the snapshot button, enter the debugger-monitor and then dump the lower memory area in a file (16384 bytes from address 0) using the options in the F9 panel.
Important: Please don't ask us to send you any of these ROMs - we can't, really.
NetworkingPlease read the "Internet Networking" chapter carefully.
|4.||General usage (keyboard, fileselector, etc)|
Running RealSpectrumTo install RealSpectrum, simply unpack the archive into some directory on your hard-disk and launch the executable (REALSPEC.EXE). If you are using Windows, first open a DOS prompt (Start->Programs->DOS Prompt) and move to the RealSpectrum directory (e.g. if you installed it in C:\REALSPEC then type "CD C:\REALSPEC"). Make sure your system meets the requirements reported in the previous chapter (operating system, supported hardware, additional ROM files, etc).
RealSpectrum should be quite easy to use, since everything is done through a series of graphic menus; you can press F1 at any time to get a multi-page list of the keys for the various functions.
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.
The Tokenizer is a special feature to enter BASIC commands and program lines very easily. Now you can type the commands character by character also in the 48K BASIC editor, without having to remember the numberous token assignements of the Spectrum keyboard. The Tokenizer is opened by pressing ALT-F1 and it brings you a multi-line text editor where you can type any sequence of BASIC statements, including full program lines. To provide further help, the editor highlights the BASIC syntax by printing the various elements with different colors: white for valid statements and punctuation, green for line numbers, cyan for text strings, purple for numbers and yellow for variable names and other elements. Once that you have finished typing, close the editor by pressing ENTER and the emulator will automatically generate the proper sequence of keypressed to be passed to the BASIC editor: you will see the commands being autotyped at lightspeed for you!
For a comfortable use, you must set the international layout of the keyboard for your country. To do so, use the "Keyboard: IT" line in the configuration file of RealSpectrum (realspec.ini), where "IT" stands for the international code of your country (Italy, in this case). The following codes are recognized: BE, BR, CH, CZ, DE, DK, DVORAK, ES, FI, FR, IT, NO, PT, RU, SE, SK, UK and US. By default (in absence of the "Keyboard:" line), RealSpectrum uses the US layout.
The FileselectorSome 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. If a filename is too long to fit into the window, it will appear truncated with "..." at the end; in this case use ALT + the arrow keys to scroll left and right the whole fileselector window, so that you can see all the parts of the filename. ALT+HOME and ALT+END take you to the beginning and to the end of the filename respectively.
The first line of the window shows the path of the current working directory. 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.
Compressed archives supportRealSpectrum can handle automatic extraction of files contained into compressed archives. ZIP, RAR, ARJ and ACE archives are listed after ordinary files into the fileselector with the "ARC" label. When opened, the fileselector shows their content just like if they were common directories; then use the ".." dummy directory to close the archive content. If you open a file contained into a compressed archive, RealSpectrum will automatically invoke the appropriate procedures to extract it to a temporary directory. The default programs called are rar.exe for RAR, arj.exe for ARJ and ace.exe for ACE; of course these executables must be included in the default DOS path. ZIP archives can be decompressed without the need of any external programs; for the other formats, you can customize the name of the extractors in the [Archives] section of REALSPEC.INI; for example you may use ace32.exe, unrar.exe and unarj.exe - don't forget to include the various switches. To disable compressed files support completely, uncomment the line "ListArchives: 0" into the INI file. If the temporary directory cannot be created in the RealSpectrum startup path, an error message is given and compressed archives support is automatically disabled; the temporary directory is called "RSPECTMP" and it is deleted when you exit the emulator.
Warning: there are a couple of things to bear in mind: 1) DOS archiving utilities usually do not support long filenames, so you may get extraction errors if the archives contain such filenames (exception: ARJ v2.60+); please use LFN-aware equivalents is available (such as ace32.exe for ACE). 2) Calling text mode, 16-bit DOS programs from a graphical, 32-bit environment such as RealSpectrum may cause problems; under certain circumstances, the system may become unstable and in this case it is advisable to restart immediately. This is not our fault, sorry. If you are experiencing serious troubles, disable compressed files support in the INI (see 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. If you press F3 again, a popup panel will show some model-specific properties such as soundchip type, memory expansions, ROM filename, multicolor timings (see below) and so on; properties can be modified by using the usual left/right arrows or by pressing ENTER. If the Spectrum model is selected with SHIFT+ENTER, the CPU is not reset.
By pressing SPACE, you can choose and load a custom ROM file for the highlighted Spectrum model or peripheral; use the fileselector to selected the desired ROM image, which will be used from now on for the specified model. The same thing can be done by pressing ENTER over the ROM line of the properties panel.
Note that when you change Spectrum model and Multiface is enabled, the Multiface type is automatically changed to ensure hardware compatibility; RealSpectrum will advise you with a message on the screen when Spectrum emulation restarts.
Note about the multicolor timings option: a recent investigation has revealed that all Spectrums are not born the same. In certain 48K and 128K/+2 machines, the multicolor timings differ by 1 clock cycle from their usual values; this can be seen for in MDA demo and Megalomania demo (for 128K), and in a simple BASIC program which draws some stripes on the border (for 48K); the exact details, including the BASIC listing, can be found in a discussion on the CSS newsgroup.
Only a small number of Spectrums show the alternate timings (about 10-15%). At the moment, the exact hardware cause is unknown, but we already know that it does not depend on the issue revision or the manufacturer of the Z80 CPU chip. Until further investigations, we guess that it might have something to do with the components attached to the INT line of the processor.
The Communication Ports menu (ALT-F3)This control panel lets you configure the parallel and serial ports emulation. Please read carefully the information below.
Parallel portParallel port emulation is available for DISCiPLE, +D, +2A/+3, Opus Discovery and Scorpion. The available settings are "OFF", "LPT1" (PC parallel port at address 0x378), "LPT2" (PC parallel port at address 0x278) or a mirror file (in this case, the file name is displayed). To change the dump file, press ENTER when the old file is showed and use the save-to fileselector normally.
Serial portsRealSpectrum supports bidirectional serial communications using the standard PC RS-232 ports (COM1-COM4) or file redirection. On the Spectrum, the standard Interface-1 and 128K/+2 built-in serial ports are automatically attached to the serial line, with the Interface-1 taking precedence over the 128K if both are selected. Aiming to provide the most flexible support, we have included a special trapping system which allows RealSpectrum to work also with custom RS-232 routines and devices, other than the standard 128K and IF-1 ones; this includes third-party serial interfaces, modem communication programs and so on. In short, any serial I/O routine which respects a very common calling convention will work perfectly. Let's see the serial panel in detail:
Note that the baud rate must be set according to the communication speed of the "remote" device, and not of the "local" routines that run on the emulator. The serial I/O routines at the emulated side are virtualized and so their settings are completely ininfluent. Let's see some simple examples:
The Joystick and Mouse Configuration menu (F4)RealSpectrum supports up to 4 PC joysticks and the PC cursor keys; each of them can be mapped to any supported Spectrum joystick such as Kempston, Sinclair 1 and Sinclair 2. The number of physical 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.
You can also use the PC keyboard to emulate any of the joysticks. The "Emulated joystick keys" section of the menu shows the current key assignements for the various directions and they can be completely redefined; to change a key, follow this procedure: select it and press RETURN (the previous assignement goes blank), then press the key on the PC keyboard that you want to use (it can be any key, including special ones) et voila'; repeat the procedure for all 5 keys if you wish. The number printed in brackets on the right of the key name is its associated scancode; you will need this number if you want to store your custom assignements permanently into the INI file: locate the line "Joystick-Keys:" under [PERIPHERALS] and put the five scancodes for up, down, left, right and fire (in this exact order) separated by spaces, just like in the default example provided.
With the Mouse Type option you can turn on/off the Kempston mouse emulation, which is supported in many many programs for Pentagon and Scorpion (utilities, games, disk loaders, etc) and some classic software like Art Studio.
IDE Hard-Disk control panel (CTRL-F4)Starting from beta 10 release, RealSpectrum supports emulation of the most common IDE/ATA interfaces designed for original Spectrums and clones using virtual hard-disk image files in plain-dump or Ramsoft HDF format . Pressing left/right arrows on the first entry in the panel allows you to select between:
For HDF files specifications, look in our technical section. Garry Lancaster made some tools to read and write HDF files to and from real hard disk drives. The HDF utilities are available for download both at the official homepage of RealSpectrum and at the +3e site (see the credits chapter for the links).
Please visit the official homepages of the various IDE interfaces for information about the circuitry and the syntax to access the hard-disk filesystem. Links are provided into the links section of this manual.
Action Recording menu (ALT-F4)RealSpectrum can record all the keypresses and joystick movements you make and store them into AIR files. Then you can tell the emulator to replay the same sequence back whenever you want, and watch exactly what you did without moving a single finger. This feature can be useful in several ways, for instance you can:
The Action Recording menu has the following options:
Command line: to begin recording or playback when the emulator starts, you can use the commandline switches "-playback game.air" or "-record game.air"; give your S-code with "-scode 555" and RealSpectrum will tell you your A-code when it's started. For instance, you can start to record an attempt at Batman (by loading the already-existing snapshot file batman.z80) with the command "realspec batman.z80 -record batman.air"; to play it back, start the emulator with "realspec batman.z80 -playback batman.air". If specified, RealSpectrum will use the directory indicated into the INI for the action recording files, or the emulator's directory if not specified. Controlling the action recording function from the command line automatically ensures a perfect timing sinchronization (see the Snapshot Sync option for more details about this subject).
Important notice: for other people to be able to replay the action exactly, it is a good idea to state expressly the context about the recording. For example, you should specify whether the game/program was loaded as a snapshot, a tape or a disk (and possibly provide the file or a link), the moment when you started the recording (end of loading, main menu, etc), what to do in case of multiload games (e.g. pause before starting the tape and restart after loading), etc. If the starting point is critical, provide an accurate description of the situation when the user must start playback or pause/unpause (e.g. report the text messages displayed by the game on the screen). It is up to you to ensure that playback starts under the same conditions as the original recording. If necessary, specify the use of the Snapshot Sync option, or command line operation mode.
Online games tournaments are available. The HCC Megaman Cup is a popular game tournament on the net and it provides several ZX Spectrum competitions. AIR files were expressly created for this event to ensure fair play (no cheating). To take part in the tournament, check the
HCC Cup official homepage and read the rules of the competition first.
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. RealSpectrum will change the hardware model by itself when opening a snapshot saved for a different machine only if the Model switching setting in CTRL-F1 is set to auto; the emulator informs you about a model change with an on-screen message. When the option is disabled, you are in charge of manually selecting a suitable computer model in F3 before loading the snapshot; in this way you can run the snapshot on any computer model, but if it is not a compatible one, the program will probably crash.
When you need to load and save a temporary snapshot quite often (e.g. for savegames), RealSpectrum comes in help with the flash-snapshot feature. Instead of wasting time to open the fileselector, choose the path and filename, etc., just press ALT + SCROLL LOCK to save the snapshot to system memory instantaneousely, and then SCROLL LOCK (alone) to load it back; you can do both actions how many times you like.
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.
RealSpectrum supports several types of tapes, including the direct connection of a tape recorder to the soundcard of your PC - both for loading and for saving. Each format has special peculiarities in the way it can be handled by the emulator.|
Notes about real tape supportIf you want to load from a real tape you will probably need an old ISA soundcard, since most modern PCI cards (including SB Live!) fail at sampling in legacy emulation (i.e. using the classic SoundBlaster DSP commands). Sorry, that's MSDOS, guys... :-(
With the current version of the sound library used by RealSpectrum, loading from real tape (sampling) will stop the sound output. This is not a RealSpectrum's limitation. When the authors of the library will enable full-duplex support in their sound drivers, RealSpectrum will automatically benefit from that.
When you open "Physical-Device" in F7, the tape is automatically started. You can still use CTRL-F7 to start and stop the sampling as you need.
Obviousely, realtime loading/saving requires that your computer is fast enough to run RealSpectrum at full frame rate (50 fps, currently achieved with a 166/200 MHz CPU), otherwise some data will be lost causing a loading error. Note that the real tape support is totally independent from general sound emulation, so if you have a slow CPU you can try to turn off sound to gain more speed.
Tape OptionsBy pressing ALT-F7 you open the Tape Options control panel, where you can alter some settings.
FlashLoadingFlashLoading 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; the actual loading only takes place during the short periods when the FlashLoad icon in on. This cool feature is possible thanks to the MakeTZX technology which is embedded into RealSpectrum.
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 (if autostart is enabled, the tape will start automatically); 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.
FastLoadingWhen FlashLoading isn't available, RealSpectrum has another resort to save you from endless waiting. FastLoading is a cool feature that allows you to load your TAP/TZX/CSW tapes at extremely high speed. The basic principle of our technique is to avoid time wasting and superfluous sampling cycles in loaders, while still preserving exact timings. In practice, we accelerate the tape recorder to the maximum speed, while the Spectrum continues to run at normal speed. The result is that the loading process takes the smallest time possible, due to a sort of time compression for the loader which does not depend on the emulator speed (it is fixed for all PCs); both a Pentium 200 MHz and an Athlon 1 GHz will give you the same speed gain in terms of loading time. The typical speedup factor is 5x/8x -- even on the slowest PC, let us stress this fact. However, we also provide a way to exploit the full horsepower of your brand new PC, of course!
FastLoading comes in two "flavours": normal and warp. They both work in the way described above, but warp mode enables full speed throttling on the emulator automatically, thus increasing the loading speed much more: in this way the absolute speedup merely depends on the brute force of your CPU. On an 800 MHz PC you easily get an amazing 50x/60x boost!
To enable FastLoading just press ALT-F7 to show the Tape Options control panel and use the left/right arrow keys to select OFF/ON/WARP; like FlashLoading and the autostart/autostop feature, you can set the default FastLoading preference also in the INI file. Note that FlashLoading (if enabled) takes priority over FastLoading, because RealSpectrum always chooses the better performing technique amongst those available at the moment. You can monitor FastLoading activity by looking at the on-screen display: when the loader has been "hooked", a red "fast-forward" arrow will replace the green one in the usual cassette icon, showing that RealSpectrum is fastloading the tape.
Note: as FastLoading is based on edge-loading routines detection, it can't obviously work with the totality of custom loaders. At the moment it has been tested with several tapes with different loaders and it leads to successful identification on 90% of cases. FastLoading has proved NOT to work with Digital Integration (it misses the first block), hybrid Speedlock 5 (like Ping Pong) and a few other (very) weird loaders (note that both Speedlock and Digital Integration are flashloaded, so you'll hardly realize that :-)). WAV files cannot be fastloaded yet, but they will in the next release.
Tape SavingRealSpectrum 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:
Tape TransferThis function lets you transfer the tape files used by PC emulators back to the cassette recorder for use with a real Spectrum. RealSpectrum plays TZX, TAP and CSW files through the soundcard's output, so all you have to do is connect the tape recorder (or directly the EAR socket of the Spectrum) to the line-out or speaker-out jack of the board. The tape playing requires a very little CPU power, so it can be successfully used also on the slowest processors (66+ MHz) regardless of the speed at which RealSpectrum globally runs.
When the Tape Transfer utility is activated, use the fileselector to select the tape file to transfer; if you start the function with CTRL-ENTER instead of ENTER, the tape previousely loaded into the emulator with F7 will be used (if present). During playback you can press 'P' to pause/unpause and ESC to exit immediately. RealSpectrum shows some information about the transfer process, such as the remaining time, the completion status and the usual loading stripes :-)
For playback, RealSpectrum uses the same sampling frequency as during normal emulation. We recommend to use a sampling rate of 44 KHz for the maximum realiability, especially for turbo tapes.
You can also record the sound into a WAV file to play it with external programs, just activate the sound recorder (ALT-F11) before using the tape transfer.
|7.||Disks and cartridges|
Currently RealSpectrum implements seven disk interfaces: DISCiPLE, +D, Beta 128, +3, MB-02+, Opus Discovery and D80/D40. Besides, Interface I microdrives are also emulated, allowing up to 8 cartridges. 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. The MB-02+ is an extremely advanced disk interface and RealSpectrum is the world's first emulator capable of emulating this beast; see below for more details about it. The Opus Discovery is another widely spread interface. The ZX Microdrives, attached to the ZX Interface I, were the most popular mass storage peripheral produced by Sinclair itself.|
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 OptionsPress 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 (RealDisk)Besides disk image files, RealSpectrum allows you to use real Speccy floppy disks directly by inserting them into the disk drive of your PC (1.44MB, 3.5" units, A: or B:); this feature is codenamed RealDisk. To enable real disk mode, just open the disk fileselector and select the special file called "Physical-Device" instead of a normal image file; this name corresponds to the first disk drive (A:), while "Physical-Device-2" indicates the second drive (B:). The Physical-Device is the last entry in the fileselector, and remember that you can move the cursor immediately there by pressing END.
Using real Spectrum disks with RealSpectrum is extremely reliable and efficient, because the emulator accesses the hardware PC controller directly instead of calling the motherboard's BIOS (which is often slow and buggy). Our DMA low-level routines allow very fast data transfers and 100% compatibility with all the disk formats of the various interfaces emulated, no matter how weird they are. Even low-level formatting of new disks works perfectly, so you can use RealSpectrum to format all kinds of Spectrum disks to use with the real interfaces.
Note: due to a peculiarity of the PC disk controller, for real Spectrum disks formatted with a sector skewing different from 1 it is adviceable to disable the "Track Caching" option in the ALT-F6 menu (see below). If you are uncertain, leave the default setting and try to change it if RealDisk doesn't work.
Note about UniDos (DISCiPLE/+D) disks (and probably D80 too): for some reason (bug?), the low-level format utility provided with UniDos creates non-standard floppy disks with unusual side information values. Unlike the FDC chip used inside the mentioned interfaces, the PC disk controller is sensible to the "wrong" information and refuses to read/write those disks. So, if you want to use such a disk with RealSpectrum directly from the PC drive, we suggest you to reformat the disk to standard values using the following simple procedure: dump the disk to an image file using the RealDisk utility (see below), then write the image back onto the disk with the "Format before write" option turned on. The procedure is safe: the disk will contain its original data, you will still be able to use it on the real interfaces and besides it will also work perfectly with RealSpectrum.
Note about 40 track drives: some interfaces (e.g. the Opus Discovery) may be equipped with 40 tracks disk drives, which record thicker magnetic tracks respect to modern 80-tracks drives found in your PC. For this reason, the PC (and thus RealSpectrum) can read floppy disks recorded with 40-tracks drives, but it can only write them in a manner that cannot be later read by the original 40-tracks drive. So, writing on floppy disks formatted with 40-tracks drives is discouraged unless you know what you are doing.
The RealDisk utilityThe ALT-F6 combination activates the RealDisk utility, a control panel with special functions to read real Spectrum disks into image files, write image files to a real disk and create new, empty image files. In this way you can convert between physical floppy disks and the various file formats supported by the emulator, in both directions and with the maximum reliability and performance (even for the weirdest track formats); no external utilities are needed aymore. For example, you can convert a real DISCiPLE disk to the MGT format, or write a TRD file to a real TRDOS disk.
These are the options available:
Reading disks in +3 modesWhen +3DOS or +3DOS 720K are selected as disk types, RealSpectrum will create an image file from the floppy disk in Extended DSK (EDSK) format. This file format can store a perfect reproduction of the disk, supporting also variable-sized tracks, non standard sectors and other copy protection techniques. An additional menu will appear, where you can select some details about the disk to be dumped:
Note: The RealDisk utility does not appear if ALT-F6 is pressed with the Interface-I emulation enabled. In this case, instead, you create an empty cartidge file. Newly created Interface-1 cartridges (MDR) must be formatted before you can use them.
DISCiPLE and +DThe 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 DisksWhen 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, but RealSpectrum supports any kind of disks, including copy-protected ones.
Microdrive cartridgesIf the ZX Interface I is enabled from the F3 menu, the Microdrives control panel is shown instead of the usual disk screen. RealSpectrum supports 8 microdrives where you can insert a cartridge image (.MDR files). This panel works pretty much in the same way as the disks menu, with the only difference that the Write Protection info is displayed as an 'R' (Read only) character before the drive info; the write protection status is changed with the left and right arrow keys. All the other keys work as in the disks menu.
MB-02+This is an extremely powerful disk interface, probably the most advanced ever built for the ZX Spectrum; just the fact that it was designed by Busy Soft should be enough to say. Apart from many technical delights, it has a very good DOS (BSDOS) and it also replaces the normal Spectrum ROM with an improved version. RealSpectrum fully emulates the MB-02+ supporting 512KB of SRAM, Z80 DMA chip for CPU-independent data transfers, real time clock processor (RTC) and 4 HD/DD disk drives. The disk fileformat is .MBD (a plain dump of an MB-02 floppy, in a fashion similar to .MGT), typically high-density 82 tracks x 11 sectors of 1024 bytes each. For more information about MB-02+, visit the 8-Bit Company homepage.
Opus DiscoveryThis is another popular device, featuring two disk drives, optional 2KB RAM expansion (IC6116), a bidirectional parallel port, and a Sinclair/Kempston joystick port; all these features are emulated, but the parallel port is write-only. The Opus is a pretty massive interface, so much that it covers the Spectrum's rear completely and it provides power and TV signal. The disk fileformat is .OPD (guess what, again a plain dump of the floppy data with MGT-style track order for two-sided disks); they are identical to .OPU files which you may encounter with some utilities (just rename the files). RealSpectrum supports both 40 tracks, single sided (standard) and 80 tracks, double sided image files; the format is autodetect from the file size; if using RealDisk, remember to set the desired disk type from the RealDisk Utility menu, and to disable "Track Caching" in the RealDisk Utility menu if the disk was formatted using the normal FORMAT command on the real Opus.
D80/D40 (MDOS)Again a disk interface, commonly integrated into the Didaktik Kompakt clone and widely spread in Czech. It has a 2KB RAM, two disk drives support and an i8255 chip (currently not emulated). The disk fileformat is .D80 (no need to say what it is, right? :)) with a capacity of 720KB.
This chapter covers only additional emulated hardware that isn't described into any other section of this manual.
Romantic Robot Multiface
The Multiface is probably the most used interface to study and alter programs on original Spectrums. It incorporates an 8K ROM that contains the driving software and an 8K RAM extension, which can either be used as a buffer or loaded with custom software (e.g. Genie Disassembler) to run in place of the one that resides in ROM. With Multiface you can also save snapshots of the whole Spectrum memory to several mass storage devices. RealSpectrum fully emulates the following Multiface models:
Proposed by Lars Jespersen, this is a modified version of the Multiface 128 that has 16K of RAM instead of the standard 8K ROM + 8K RAM. This means that you have to load the "operating system" in the Softcrack RAM before you can press the MAGIC button. The author has written two versions of the Softcrack software, both coming with a debugger-monitor and a snapshot facility (for 48K programs only) that can operate with several mass storage devices: version 9.2 allows saving on ZX Microdrives and Betadisk, while version 9.4 can handle DISCiPLE and Opus interfaces. However you can also install on it any other suitable software as well.
Built by ATeY, this interface has 8K ROM and no RAM. The firmware can save a snapshot of the running program to tape (normal and turbo speed), Microdrive, Wafadrive, Betadisk and Opus. The Spec-Mate is compatible with the Spectrum 48K only.
SMUC (Scorpion & MOA Universal Controller)
The SMUC is an add-on card for ZS Scorpion computers. It allows you to connect 2 IDE hard disk drives and offers an XT bus extension to the system, plus 2K of NVRAM; optionally you can install a real-time clock chip and a programmable interrupt controller. The Professional Extension ROM (ProfROM) detects the presence of SMUC in the system, tries to guess which peripherals are attached to it and initializes them. It also provides basic support for hard disk operations such as partitioning, formatting and mounting TRDOS partitions as physical drives. However the ProfROM is not essential for the SMUC to be operational, as you can control the various peripherals by directly accessing the appropriate ports.
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:
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.
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").
The Video Recording optionsWhen you select "Start video recording" from the Extra Video Preferences menu, a simple control panel appears to let you make some customizations about the movie that is going to be recorded.
The available options are:
Note: you cannot change resolution while the video recorder is active.
RealSpectrum saves the video stream in the popular AVI file format using a lossless compression scheme (MRLE). AVI files are very common and they are well supported under most operating systems. Please note that video recording requires intensive data transfers to the disk, so you may experience emulation slowdown under certain circumstances. If you are running RealSpectrum under pure MSDOS (not from a DOS box under Windows), please make sure you also load a disk caching program such as 'smartdrive'.
Warning: even a few seconds of video recorded at full quality can result in a very large movie file, so make sure you have enough disk space :-)
Once you have your AVI, you may consider to convert it to anything else which fits your needs best. Using the various tools freely available on the net, you can for example recompress the data with different codecs, such as MPEG 1/2/4, Div-X, Cinepak, Indeo and so on; however, remember that lossy compression schemes may significantly reduce the visual quality of the movie. The lossless compression algorithm used by RealSpectrum is optimized for palettized graphics (such as the ZX Spectrum 16-colors video) and it offers very good compression ratios while fully preserving the image integrity.
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 OptionsBy pressing F12 you enter the sound options panel where the following controls are available:
Extra audio settingsWith ALT-F12 some extra audio features are available:
|11.||Pokes (cheats) and Memory Options|
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" or "32654,201" (use space or comma to separate address and value).
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.
|12.||Internet Networking (TCP/IP)|
Perhaps one of the most innovative aspects of this emulator is that it can expand your Spectrum experience over the Internet in several ways. Before you try to use these capabilities, however, you need to be familiar with the Internet, the Interface-1/DISCiPLE Sinclair Network architecture and RealSpectrum's networking features; please do read carefully this chapter (including the "special notes" paragraph) and the other documentation required for such knowledge.
System requirements for networkingThe following requirements need to be met if (and only if) you want to use the Internet capabilities of RealSpectrum:
The Network Options menu (making a connection)First of all you must setup your machine for the communication. This can be done with the Networking Options, which is found in the ALT-F8 menu.
Before enabling the connection, enter your nickname by pressing the right arrow when the cursor is on the "Nick-Name" line, and confirm with ENTER. Your nickname is just an identifier that will appear on your friend's screen when you make some actions. Of course you can leave the default nickname, if you don't want to set your own. You can specify your nickname also in the INI file with the "NickName: your-nick" line.
Now you must enter the IP address of the remote computer. An IP address has the form of four numbers separated by dots, e.g. "192.168.0.1". Of course, you must find a way to know your friend's IP address first, and this must be probably done outside RealSpectrum, for example on IRC or ICQ, with a phone call, and so on.
Once that you are ready, enable Networking and exit the menu with ENTER or ESC. If a connection wasn't already estabilished before, the two computers will try to contact each other. During this phase, RealSpectrum displays "Connecting to..." or "Waiting for a call". You can cancel the connection process by hitting ESC. Note that when your are not connected, RealSpectrum can also accept incoming connections on-the-fly during the normal emulation (provided that both Networking and NetMonitor are enabled in ALT-F8).
Once that the connection is activated, you will see a message like "Sanchez connected from 192.168.0.1" on your screen and now everything is ready. Note that the the bottom line of the Network Option control panel shows your real IP address only after that a connection has been successfully estabilished. Due to technical limitations concerning SOCKVXD, RealSpectrum has no way to know this information before.
The connection status is shown in the penultimate line of the ALT-F8 panel, where it says if someone is connected and if he/she is listening to the chat messages and file sends. Note that, on the local machine, the networking functions will operate indipendently of the remote connection status; for example, this means that you can send chat messages even if your friend is reported as "not in chat", but he won't probably see them.
Sinclair Network (Interface-I and DISCiPLE)This is the standard network that can be found on the Interface-1 and DISCiPLE devices, which are reciprocally network-compatible. With the real thing, up to 63 Spectrums can be connected together using a normal audio cable with fits into common mono audio jack socket. The ROM software extends the Sinclair BASIC with a set of new commands dedicated to exchanging data and programs via the network. Each Spectrum on the network must be assigned an unique station number ranging from 1 to 63; for example, if you want to be station 10 you must enter FORMAT "n";10 on the Interface-1 or FORMAT n10 on the DISCiPLE. Then you can send data using the normal LOAD and SAVE commands, with all their variants. If you are station 10 and you want to send a screen to station 11, you must enter SAVE *"n";11 SCREEN$ (or SAVE n11 SCREEN$ on the DISCiPLE) and your friend must first listen with LOAD *"n";10 SCREEN$ (or LOAD n10 SCREEN$ for DISCiPLE). Station number 0 is reserved for broadcast, that is you can send/receive data from any station in general (e.g. with LOAD n0 SCREEN$ you expect a screen from anyone who entered SAVE n0 SCREEN$). The Sinclair Network is very powerful and there are several things to know to use it correctly. For a full description of the network commands, please read the Interface-1 manual and our DISCiPLE technical guide which can be found on the tech page of our website.
Now, with RealSpectrum you can connect two virtual Spectrums all over the world thanks to the Internet. When the global "Networking" setting is enabled in the Network Options menu, all the networking routines will act just like as if the remote RealSpectrum would be connected to you with the Sinclair network cable. Please note that Internet is much slower than the original Sinclair Network and it's also very chaotic, so the overall performances are strongly dependant on the traffic conditions in that moment. Please read the "Special notes" paragraph below for some important things to know about this.
NetMonitorNetMonitor is a special function which enables some additional networking services such as a live chat system and file sharing. The chat lets you talk interactively with your friend while running your Spectrum programs normally. File sharing is used to exchange files over the net. See below for a detailed description of these features.
NetMonitor can be enabled only if the global Networking setting is enabled too. In general, you should keep NetMonitor always enabled because of the cool things it does. However, we give you the ability to disable it in case you are watching your favourite demo and you don't want external interferences :-)
If both users have NetMonitor enabled, RealSpectrum will also try to keep track of the connection status, i.e. it will be able to detect whether you friend is still online on the internet, if he/she is listening to your chat messages and so on.
Internet ChatWhile using the network, it is vey useful to talk with your friend. For example, you will probably wish to chat in this way: "I'm station 10, send me a screen", "Ok I'm station 11 instead, here it comes", "Let's restart the connection", "Ready to receive" and so on.
For this reason, RealSpectrum offers a simple but effective chat system. To use it, you must enable the "NetMonitor" feature in the Network Options menu and make sure that you have already Connected to your friend (see above). When you want to say something, just press CTRL-F8, type in your message and press ENTER to send it. Incoming and outgoing messages will appear superimposed on the Spectrum screen for a few seconds (using RealSpectrum's multi-row OSD), while the program continues to run normally. If you don't see your messages echoed on the screen, it means that there's a network communication problem: check the configuration in ALT-F8 and your Internet connection.
File sendWith RealSpectrum you can also send and receive files to/from your friend. If you want to send a file, just press SHIFT-F8 and use the fileselector to select any file on your system. The NetMonitor function is required to be enabled in order to be able to see incoming files (but you will be able to send files regardless of it). If RealSpectrum's NetMonitor detects that someone is about to send you a file, an information box will automatically pop up on your Spectrum screen, showing the name and the size of the file and asking you whether to accept or refuse the transmission. If you decide to accept, the fileselector is opened in save mode to let you specify the destination directory and possibly a different name for the incoming file; the fileselector is already preconfigured with the default filename, so if you don't need to change it just press ENTER to confirm. By default, RealSpectrum saves the files in the startup directory, or in the folder specified by the "DownloadFolder:" line of the INI file (if present).
With the "Get Files" option in the ALT-F8 menu you can customize the default behaviour for incoming files: "Never" automatically refuses all files, "Ask me" lets you choose each time by prompting you with the requester described above, and "Always" automatically accepts any file.
During the file transfer, the completion status is constantly showed on the screen with a progress bar. Both the sender and the receiver can stop the transmission at any time by pressing ESC.
Special notes and troubleshootingThe original Spectrum networking protocol is designed for a quiet and fast physical link, while the Internet is instead very chaotic, slow and unpredictable. The Sinclair network protocol itself can explicitly handle any transmission errors (packet loss or corruption), providing a reliable data link also in presence of disturbs.
RealSpectrum's emulation of the Sinclair network is fully software-transparent, so the original error recovery routines (in ROM) still work and provide an error-protected communication also over the internet; a nice modernization, isn't it? ;-) The only difference is that the real IF-1 protocol detects the transmission errors with a timeout of just a few milliseconds, which is a reasonable value for a cable bus like the Sinclair network cable but certainly not for the internet, which is typically much slower and complex, so we have artificially raised the timeout value to 8 seconds.
We are telling you this stuff because it can happen that a data packet goes lost in the internet and so your LOAD or SAVE command blocks. In this case don't worry, because after some seconds (about 8) the transmission will resume automatically! You should BREAK (SHIFT+SPACE) the LOAD/SAVE command only if the transfer remains blocked for a long time, say 20-30 seconds or more. Note that the blocking occurs also with the real Interface-1 (or DISCiPLE), but you don't realize it because the timeout is too short to perceive it.
Also, consider that RealSpectrum is a DOS program and it really needs to do some magics to access the Internet using Windows. There are some technical limitations which cannot be overcome by a DOS program, for example an intense IF-1 network activity could slow down the emulator sometimes (you hear repeated sounds in the audio); this is normal, and it's the small fee to pay for such a cool feature.
If the connection seems definitely broken, i.e. you can't see chat messages and the IF-1 network doesn't work, you can always close the connection by disabling "Networking" and then retry to connect (by re-enabling the setting). Remember that, at any time, you may have a guess about the connection status by looking at the bottom lines of the Networking Panel where it says if your friend is connected and listening for the chat messages.
NetPlayNetPlay allows you to synchronize the two emulated Spectrums on the network. Both machines share the same virtual keyboard which is the logical union of the two real keyboards at each side, while the program execution on the two emulators is constantly kept synchronous (within a certain user-defined precision factor). In practice, this means that when the "local" user presses a certain key on the keyboard, the "remote" user will see the same keypress on its Spectrum - and vice versa.
Amongst the possible uses of this feature, one of the most temptating is playing multiplayer games on the net. Yes, you can do it :-)
The Network Options control panel shows the following lines concerning NetPlay:
With NetPlay you can play multiplayer games with a friend over the network. The initiator (the guy who chooses the game) must set his play role to "Challenger", while the other leaves "Neutral"; then connect normally. Once the connection is estabilished, the challenger must load the snapshot file of the game to play (the fileselector pops up automatically); the choice is then notified to the remote computer, which will load the same snapshot file and the game begins. If the snapshot cannot be found on the hard-disk, the remote user will be prompted to search for it manually using the fileselector; if the user closes the fileselector without loading the required snapshot (i.e. he hasn't got it), the game will be aborted. Note that both computers will stay blocked until the connection hasn't completed at both ends.
IMPORTANT: Please note that Spectrum games aren't Unreal or Quake! Unlike modern PC games, they were not thought to be played over a network, and it's very difficult for us to give you the ability to do so. For an acceptable gameplay, you need a very fast network (such as a LAN) and excellent conditions (no congestion, very low traffic, etc - all the opposite of the Internet! ;-)). You will have to set the latency as low as possible, otherwise you'll end up seeing different things on the screen (and goodbye multiplaying). In conclusion, don't expect NetPlay to work smooth and flawless over the Internet; it works decently on a LAN, instead. Unfortunately we can't do much for that, sorry.
If you have problems, please don't exhitate to ask us for help: send us an email with a detailed description of the problem and the conditions when it happened.
The debugger is activated by pressing the ESC key during the normal Spectrum emulation. The monitor screen consists in several control panels, each dedicated to a particular function; a graphic resolution of at least 320x240 is recommended to view the complete cockpit. The debugger is a quite complex application, so remember to press F1 to get a list of the available keys until you are not familiar with the controls. Most of the information boxes are interactive, that is you can change/edit the contents using the debugger keys. At any time, the input focus is received by the panel whose name is printed in the bottom right; this is important, because while some keys are global (i.e. they have the same effect regardless of where the focus is), others behave differently depending on the currently selected panel. To move the focus, use TAB (forward) and SHIFT-TAB (backward).
The available control panels are:
Most of these keys are exactly the same also outside the debugger. Remember that some of them are context-sensitive, that is they are active only when the proper panel has the focus. The debugger is not finished yet, and more features will be added in the next releases, such as additional breakpoint types (I/O and memory), more custom panels, and more functions in general.
To quit the debugger, press ESC again.
Inline assemblerThe inline assembler can be activated by pressing A in the debugger screen. Firstly a small box appears, where you are prompted for the address to assemble to: by default, RealSpectrum assumes that you want to assemble at the location currently pointed by the program counter, but of course you can type in your own address (the default one will be deleted automatically by pressing any key but ENTER); press ENTER to confirm and the assembler box will appear.
The top part of the window (initially blank) represents the assembler history: it shows the last 16 instructions entered; on the lower part you will see three lines of text: the first one is the assembler line, i.e. the area where you are going to insert the instructions to be assembled; the second line shows the "ROM write" and "Auto-paste" settings status; finally, the third line is the assembler report for the line you just entered.
Once you've typed in your instruction, press ENTER; if it passes the syntax checking, it will be immediately assembled and POKEd into memory and then inserted in the history, otherwise an error report will be given. The assembler incorporates a "DOSkey"-like feature, i.e. it allows you to browse the history by using the UP and DOWN keys, just in case you want to repeat one of your last commands without need of retyping it (particularly useful for demomakers which usually use repetitions in their code). To change address, just press SPACE on an empty (or "highlighted") line and the small box will reappear; if you want to move near the current address, you can use the LEFT/RIGHT arrows to go back or advance of 1 byte (SHIFT+RIGHT will bring you to the next instruction) or PGUP/PGDN for steps of 64 bytes (256 with CTRL and 4096 with ALT pressed) bytes.
The "ROM write" setting takes control over writing on ROM areas, and you can use the CTRL+LEFT/RIGHT keys to toggle it on or off. With the "Auto-paste" features the instruction at the current address will be pasted in the assembler prompt automatically, just to show what you are about overwrite; press ALT+LEFT/RIGHT to change its status. Both settings can be set to a default by modifying the appropriate lines in the .INI file under the [ASSEMBLER] section.
The report line shows the result of the syntax check performed on the line you have just entered by displaying the following messages:
Note about JR displacements: there are several ways to indicate the displacement for relative jump instructions: you can state 1) the displacement in immediate form (a signed integer ranging from -80H to +7FH); 2) the absolute address to jump to (in this case the assembler will compute the displacement automatically); 3) a displacement using the '$' operator which represent the current assembling address (e.g. "0x8003 JR $-3" jumps to 0x8000, while "0x8000 JR $" loops).
DemoMode is a special visualization mode which transforms RealSpectrum into a music player. When you enter DemoMode, the Spectrum video output is replaced by a graphical screen which shows animations and other effects inspired by the background music. It's a sort of visualization plug-in which runs on top of the Spectrum emulation and that can be used every time you want to see some oscilloscopes, vu-meters and other effects while the Spectrum is playing some music.|
When DemoMode is displayed, the Spectrum emulation still continues to run normally in background. You can return to the Spectrum screen at any time with ESC.
The effects shown can be cyclically changed by pressing F1; at the moment there are only a couple of effects implemented (oscilloscope and a Spectrum analyzer), plus the null effect, but expect something cooler soon :-)
AY Player (F5)In DemoMode, RealSpectrum can also play the popular .AY music files. The .AY file format is the ZX Spectrum equivalent of the famous C64's .SID files, i.e. collections of computer tunes. The most popular Speccy songs have been extracted from games and demos and converted to the AY format. You can find a growing large collection of AY files at the Project AY website.
To play AY files in RealSpectrum, press F5 in DemoMode and select the music file using the usual fileselector. AY files may contain several tunes, and you can use the left/right arrow keys to change the playing song; the down arrow restarts the current song. Note that when you exit DemoMode after playing an AY file, the ZX Spectrum is automatically reset.
Remember that you can start the music recorder before entering DemoMode, so RealSpectrum can also act as a .AY to WAV/YM/AZX converter.
Work in progress!We didn't have enough time for this release, but in the next versions there will be proper "demoish" effects (a water scope is already done) and loadable skins so that people can draw their own DemoMode graphic screens. Besides, we plan to implement an automatic .AY ripper to create your own .AY files easily.
|15.||Frequently Asked Questions|
|16.||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 packages, program and documentation are not altered in any way. If you host copies of RealSpectrum on your website, please keep them up to date with the most recent release and provide a link to the original homepage; we don't like to see obsolete releases lying around for ages. Before including RealSpectrum into a commercially sold media (such as a magazine CDROM), you must contact us first. You are not allowed to distribute this program together with ZX Spectrum commercial software and other copyright-protected material (such as games snapshots, copyrighted roms, etc) in any form. Disassembly, hacking and any other forms of reverse engineering of the program files are strictly prohibited.
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. If you don't accept the terms of the present license, you are not allowed to use RealSpectrum and you are asked to remove it from your system.
The latest version of RealSpectrum can always be obtained from Ramsoft's official website:
Reporting bugsWhen sending in bug reports, please include the following information in your mail:
GreetingsWe would like to thank the following people who contributed useful suggestions or bug reports:
CreditsThe Sinclair and Amstrad roms are distributed with permission of Amstrad plc
The MGT DISCiPLE and +D roms are distributed with explicit permission of Datel
The following technical material was consulted during the creation of RealSpectrum, credits go to the respective authors/maintainers:
The AIR support library was kindly provided by Aley Keprt who is also the organizer of the HCC Cup.
Additional thanks to the maintainers of the Allegro programming library.
New in v0.97.26 (November 6th 2004)