Sinclair zx spectrum Emulator 'Z80' 00 6/3/99 by G. A. Lunter Contents: introduction, registration, general information 1 Some general remarks 2 Registration 3 Other emulators 4 Acknowledgements 1

Дата канвертавання28.04.2016
Памер169.71 Kb.
  1   2   3   4
Sinclair ZX Spectrum Emulator 'Z80' v4.00 - 6/3/99 - by G.A. Lunter Contents: 1. INTRODUCTION, REGISTRATION, GENERAL INFORMATION 1.1 Some general remarks 1.2 Registration 1.3 Other emulators 1.4 Acknowledgements 1.5 Disclaimers 1.6 Copyright notices 2. THE EMULATOR 2.1 Starting the emulator 2.2 Using the emulator 2.3 Keyboard emulation 2.4 Screen emulation 2.5 Sound emulation 2.6 Loading programs from tape 2.7 Using .TAP files 2.8 Using .VOC files 2.9 Multi-load games 2.10 Using the Microdrive 2.11 Using the Disciple and Plus D interfaces 2.12 Using the Multiface 2.13 Using the RS232 channel 2.14 On joysticks and mice 2.15 The utility ConvZ80 2.16 Converting file formats - the utility CONVERT 2.17 The utilities Z802TAP, TAP2TAPE and TAP2VOC 2.18 The utility OUT2VOC - and how to make .OUT files 2.19 The utilities READVOC and READSB 2.20 Quick overview of command line switches, and features 2.21 Miscellaneous remarks 3. THE SAMRAM 3.1 Basic extensions 3.2 NMI software 3.3 The built-in monitor 4. THE SPECTRUM 4.1 The Spectrum 4.2 The Interface I 4.3 The DISCiPLE and Plus D Interfaces - Introduction 4.4 The DISCiPLE and Plus D Interfaces - Basic commands 4.5 The DISCiPLE and Plus D Interfaces - More advanced commands 4.6 The DISCiPLE and Plus D Interfaces - The snapshot button 4.7 The DISCiPLE and Plus D Interfaces - The system variables 4.8 The Spectrum 128 5. TECHNICAL INFORMATION (in file TECHINFO.DOC) 5.1 The Spectrum 48K 5.2 The Spectrum 128K 5.3 The AY-3-8912 sound chip 5.4 The ZX Printer 5.5 The Interface I 5.6 The SamRam 5.7 The Multiface 128 5.8 The AMX mouse interface 5.9 The Z80 microprocessor 5.10 File formats 1. INTRODUCTION, REGISTRATION, GENERAL INFORMATION 1.1 Some general remarks This is the documentation for 'Z80', a Sinclair ZX Spectrum 48/128 emulator. The program turns your PC into a Spectrum. This is what it can do: - Emulates ZX Spectrum 48K model 2 or 3, and Spectrum 128K. - Excellent compatibility with real Spectrum, probably best of current existing emulators. - Emulates Interface I and Microdrive (cartridge in cartridge file), Disciple and Plus D disk interfaces, Multiface 128. - Full tape support: loads both normal and turbo-saved programs using either tape interface on LPT port, SoundBlaster AD converter or .VOC sound sample files; can also use .TAP binary tape image files by trapping ROM save/load routines. Starting from version 4, Z80 supports .TZX compressed tape image files. Saving back to tape is also possible, either directly to tape or to a .VOC sound sample file. - Full emulation of Spectrum screen, including all colour effects. Border, and timing-sensitive border and attribute effects are also emulated. - Emulation of ZX Printer, for Epson and HP Laserjet compatible printers. - Emulation of beeper through PC beeper, and of 128K sound through either PC beeper or AdLib (SoundBlaster) compatible cards. Emulation of "ACB" stereo effects. - Supports digital and analogue joysticks, and mouse, controlling Cursor, Sinclair, Kempston or user-defined joystick. - Emulates Spectrum AMX Mouse interface (used by e.g. Art Studio) - Runs on any PC, an 8088/8086 will do. Some time-critical sections use features of '386 processors if available. - Emulator runs just above 100% of actual Spectrum speed on 20 MHz 286 and 25 MHz 386SX; can be slowed down on faster machines. - Z80 emulation includes emulation of R register, all unofficial instruction codes, and unofficial flags; interrupts once every 1/50th emulated second; I have tried to make each instruction execute in a time proportional to the time taken on a real Z80. In some modes T-states are counted, and 'virtual' time is exact. - Registered package includes all source files. - Interface I and Spectrum 128's "p" channel input/output can be re-routed to LPT or COM port, or to a file. - Includes several utilities; to convert from and to other snapshot and tape file formats, to convert snapshots into tape files, tape files into sound sample files, to display contents of snapshot files, to convert screen snapshots to .PCX and .GIF files, to read .VOC sound sample files from the LPT tape interface or SoundBlaster. - A program is included which makes .VOC or raw sound sample files of sounds produces by the Spectrum, either by the beeper, the soundchip of the Spectrum 128, or the MIC port. - OUTs to any port can be logged, and stored in a log file with timing information. This log file can be translated into a .VOC sound sample file using OUT2VOC, for both ear and AY soundchip output. - Simple tracing feature - Opcode mapping feature, tags bytes that are executed during emulation; useful for debugging and disassembling purposes. (It can be used with the disassembler program DNSA by Leslie Styles, - Multi-level (LLT) support as in XZX 0.5.2; also support of .SLT files. - Emulator can set a breakpoint, invisible to the running program. - Emulator can load and save blocks of Spectrum memory to disk directly. - Emulator can run under Windows (95). Starting from version 4, it can run windows in VGA mode. - Supports VGA, EGA, CGA and Hercules video adapters including monochrome VGA. (No support for Plantronics anymore.) There is quite a lot to explain in this documentation. First of all the emulator itself requires some of your PC's resources. It is not really a demanding program, but there are some things that need attention. These technicalities are dealt with in section 2.1. Some general things about the emulator are explained in section 2.2. After reading sections 2.1 and 2.2, you will know most of the basics. The details can be found in subsequent sections. The Spectrum has a number of ways to communicate with the outside world, like the obvious keyboard and the screen, but also the microdrives, the DISCiPLE/Plus D disk interfaces, the tape interface, the beeper, the sound chip of the Spectrum 128, the Kempston joystick, the AMX Mouse, the ZX Printer interface, and the RS232 channel of the Interface I and Spectrum 128 can be used to communicate with PC channels in some way. For instance, the keyboard is connected to the PC keyboard, and the tape I/O can be routed to a file, as well as to a physical tape recorder, or it can come from a .VOC sound sample file. All these things are explained in the rest of chapter 2. For our own Spectrums Johan Muizelaar and I built a piece of hardware we called the SamRam (which has nothing to do with the SAM Coupe, by the way!). It contains a monitor program and software to make snapshots of programs. It's still very useful and I still use it a lot. An explanation of its functions is to be found in chapter 3. Some things peculiar to the Spectrum or its interfaces, not specific to this program but useful to know, are collected in chapter 4. It contains for instance a table of Spectrum keywords and the key combination to get them; unfortunately this information is not printed on standard PC keyboards! More importantly, in this chapter it is explained how to use the Microdrive and DISCiPLE interfaces, both of which are probably unfamiliar to many former Spectrum users. There are some interesting technical facts about the Spectrum that I discovered while debugging the emulator. As much as I could think of is contained in the final chapter, which can be found in the separate file TECHINFO.DOC. You don't need to read this chapter to use the emulator. A specification of the file formats used by the emulator is also included there. Please note that the Tatort BBS, which used to be the 'Spectrum emulator support BBS', has ceased to exist. There is by now a great lot of Spectrum-related information and software available on the net. A good starting point is the FAQ (Frequently Asked Questions) list originally started by Marat Fayzullin, maintained by Damien Burke for a long time, and now in the hands of Philip Kendall. It can be found at, or, and The latter site is also the home of "World of Sinclair", or WOS for friends. The url is: It carries enormous amounts of snapshots, tape-files and sinclair- related programs, emulators and information, and links to other sites, including that of Sinclair Research itself. The other main Sinclair FTP site, where many a beautiful thing started, is A long list of other FTP sites can be found in the aforementioned FAQ list. If you have access to internet newsgroups, take a look at comp.sys.sinclair, where many Sinclair enthousiasts meet and share thoughts. At the moment it is a very active group, and lots of well-informed people participate. Please read the FAQ list before asking questions. IMPORTANT NOTICE: Please do NOT post binaries to this newsgroup! 1.2 Registration 'Z80' is a shareware program. The program is not completely functional, and the parts which are left out are included when you register. You are encouraged to give this demo version to friends, but DO NOT change the original archive in any way, please. The shareware version of the emulator consists of the Z80-400.ZIP archive file, which should contain the following 3 files: INSTALL.EXE - installation program INSTALL.000 - installation data file README.TXT - short description of the program The shareware version includes WinZ80, the Windows version of Z80, The registered versions of Z80 and WinZ80 feature the following extras: Z80: * Full DISCiPLE disk interface emulation * Direct loading of tapes via SoundBlaster or LPT-interface * No time restrictions, adjustable emulation speed at all times WinZ80: * Direct loading of tapes through any Windows wave input device (e.g. SoundBlaster) * No time restrictions, no intro window. If you register, you get the fully working versions, and the following utilities: CONVERT - a general conversion program: can list out BASIC and translate it back, produce .GIF or .PCX files from screen dumps, translate Spectrum ASCII (CR) to PC ASCII (CR/LF), and some other things. CONVZ80 - Translates various snapshot and tape formats of other Spectrum emulators into each other. Can handle the familiar .SNA format use by several emulators (JPP, XZX,...), and also Pedro Gimeno's (VGASPEC and SPECTRUM) .SP format and Kevin J. Phairs' (SPECEM) .PRG format. It can also handle tape files of SPECEM and L. Rindt and E. Brukner's emulator ZX. DISCIPLE - Reads DISCiPLE and Plus D diskettes, both 3.5'' and 5.25''. It translates the 48K and 128K snapshot files to .Z80 snapshots, and ordinary files and screen snapshots to .TAP tape files. (Not necessary for the fully registered version, but handy for the cheaper one.) ADDDAT - Utility to edit the additional data part of .SLT snapshot files, which contain loading screens and level data. Z802TAP - Converts a .Z80 snapshot, 48K or 128K, to a .TAP file which can be loaded into the emulator and saved to tape by the next utility: TAP2TAPE - Saves the contents of a .TAP file back to tape, to load it into an ordinary Spectrum. TAP2VOC - Converts a .TAP file to a .VOC sound sample file, to write to tape, or to load into the emulator. READVOC - Reads in a long, 'digital' .VOC sound sample, to be used as input to the emulator, from the LPT tape interface or a SoundBlaster. READSB - Reads .VOC sound samples from SoundBlaster using DMA, and applies a digital filtering and oversampling algo- rithm tuned for Spectrum tapes. OUT2VOC - Converts .OUT log files into .VOC or raw sound sample files, so that you can easily extract music samples from Spectrum/Spectrum 128 games, or SAVE directly to a .VOC or raw sample file. Z80DUMP - Shows the header and the contents of a .Z80 file. You will also receive the source files of both emulators, the above utilities and the SamRam. You will also be kept informed about future (major) updates. How to register: ================ You can register either Z80 (the DOS program), or WinZ80, or both. Registration of Z80 or WinZ80 is BP 15; registration of both programs at once is BP 20. If you register just one program, please indicate clearly whether you want Z80 or WinZ80. If you specify neither, we will assume you want the DOS program. For those who sent their registration fee upon reading the information that comes with the now obsolete version 3.05, note that Z80 v4.00 emulates the DISCiPLE in all cases; if you sent the BP 20 fee you will receive both Z80 with DISCiPLE emulation and WinZ80. Please send the money in cash in British currency, or as a cheque made payable to Chezron Software, to: Chezron Software 34 Saltersgate Drive Birstall LEICESTER LE4 3FF England Email: WWW: Phone/Fax: 0116 220 9651 From abroad: +44 116 220 9651 If this is inconvenient, you can also send US$ 20 / US$ 25, or DM 35 / DM 50 in cash. Please do NOT send cheques in currencies other than British Pounds. If you are living in the Czech Republic: ======================================== Then it is probably more convenient to register with JIMAZ. Also from neighbouring countries it may be quicker and/or cheaper to register with them. The address is: JIMAZ s.r.o. Hermanova 37 170 00 Praha 7 Czech Republic Phone: +42 2 379 498 Fax: +42 2 378 103 Email: The registration fee is Cz 500 for either program, Cz 650 for both. Are you a registered user already? ================================== In that case you can obtain Z80 version 4.00 with DISCiPLE emulation, the full WinZ80 package, and all utilities and sources, by sending BP 10 (US$ 15, DM 25) to Chezron Software or Jimaz (see the addresses above). Please clearly indicate the following: * That you apply for an update, * Your name, * Your current address and home country, * If different, the address under which you registered, or last updated, your version of Z80, * The version of Z80 you own (e.g. 3.05 or 2.01 or ...), and whether it emulates the DISCiPLE The tape interface ================== The interface described by the circuit diagram in DIAGRAM.Z80 provides a reliable means for loading any Spectrum program into Z80. If you don't want to make this interface yourself, a ready built one can be obtained through B G Services, for BP 14.50. These are professional quality items built into 25W 'D' connectors. The address is: B G Services 64 Roebuck Road Chessington Surrey KT9 1JX United Kingdom Phone: (0181) 287 4180 (from abroad: +44 181 287 4180) Fax: (0181) 391 0744 (from abroad: +44 181 391 0744) Email: All sites reserve the right to ignore any order which does not comply with the conditions above. 1.3 Other emulators I used to have a list of other emulators for the PC and other computers here, but the list in Marat Fayzullin/Damien Burke's/Philip Kendall's FAQ was much more complete and detailed, so I deleted mine. Philip's latest count is: 32 emulators for PC's (DOS or Windows), 9 for the Commodore Amiga, 7 for UNIX platforms, 4 for the Acorn Archimedes, 4 for the Sinclair QL, 4 for the Macintosh, 3 for the Atari ST, 3 written in Java, 2 for the PlayStation, 2 for OS/2, 1 for the NeXTStep, 1 for the Psion palmtop computer, 1 for the MSX, 1 for the Sam Coupe, and 1 very old one for the Commodore 64 This probably makes the Sinclair ZX Spectrum the most often emulated computer ever! There are also emulators available for the ZX81. Carlo Delhez, who also wrote a Spectrum emulator for the QL, wrote the ZX81 emulators XTricator (for the QL) and XTender (for PC's). There are probably more. For more information, take a look at the FAQ of the newsgroup comp.sys.emulators.misc. 1.4 Acknowledgements From the very first beginning in november 1988, when I wrote the first lines of code for the emulator, Johan Muizelaar has been a very demanding and critical user, and hard to satisfy. Besides, there are quite a few things I would never have started working on if he hadn't insisted that I would! I have also profited much from the fine cooperation with Brian Gaff, who, besides handling the UK registrations, also generates a continual stream of suggestions, remarks and bug reports. He also brought me into contact with many people that contributed to the emulator in several ways. A major part of the things new to version 3 of the emulator have been written by Hugh McLenaghan. He wrote all code for the Disciple/Plus D emulation, and for the ZX Printer emulation (where I subsequently introduced bugs...) Also, Hugh wrote much of the documentation for the Disciple and Plus D interfaces in this file. Finally, many thanks are due to o John Elliott, Gerardo Oporto Jorrin, Tomaz Kac, Philip Kendall, Bernard Lutz, Lee Tonks and Wojtek Wasilewski for their testing of (Win)Z80 version 4.00, o Carlo Delhez for information on the '128 and several other things, o Andre Mostert for some more '128 info and info on EMS memory, o Walter Prins for many '128 programs, o Marco Holmer for making the program such a big hit at the HCC dagen, o Henk de Groot, for finding a solution to a bug in A86 v3.22, o Arnt Gulbrandsen for a suggestion which made the emulator faster, and information on a group of unofficial Z80 opcodes, o Ruud Zandbergen for his digital joystick interface, o Jan Garnier for providing the chips to reanimate my real Spectrum, o Ettore de Simone for finding a noisy bug, o Rudy Biesma and Tonnie Stap for providing info on the DISCiPLE disk formats, o Burkhard Taige for various bug reports on it, o Ian Cull for enhancing the DISCiPLE program and two bugfixes, o Bert Lenaerts for information on the AZERTY keyboard, o Chris Lemon for fixing a bug in the CALL instruction, o Robert Zmyslowicz, Einar Gattoni Saukas, Bernhard Lutz, Erik Kunze and Lee Tonks aka Blood for their thorough beta-testing of v3.05. o Tomaz Kac for developing the .TZX format, o Ian Lowndes for telling me about the speed bug in Z80 v3.05, o Luca Bisti for suggesting to use the OPL3 sound chip, and writing some code to implement this, o Wim Oudshoorn for suggesting how to remove video snow in VGA modes, o Brian Cavers for suggesting a bugfix regarding the Disciple, o Christopher Heys for some good ideas to improve the user-interface, o Bernard Lutz for many bug reports and ideas, o Martin Jaroz for bug reports on .TAP/.VOC file loading and saving, o Wojtek Wasilewski for bug reports on the RS232 redirection, o Niccolo Rigacci for spotting a number of errors in the docs, o James McKay for spotting a bug in the emulation core, o Cristian Secara for his idea for the interrupt frequency switch, o Einar Gattoni Saukas for half a dozen good ideas, o Erik Kunze for solving a bug in the snapshot save routines, o Alastair Booker for his thorough information on the AY chip, o Ian Collier for precise information on Z80 timings, and for some important experiments on the AY chip, o Damion Yates for a solution of a problem on Novell networks, o Gerardo Oporto Jorrin for a bug report on the RES/SET instructions, o Igor Eged for noting a bug in the '128 OUT-port emulation, o The people from comp.sys.sinclair, for making lots of suggestions, telling me that they like the program, and generally for keeping the Spectrum alive 1.5 Disclaimers The Disciple part still contains bugs, most notably one connected to writing to an OPEN-type file. Depending on the floppy drive system, Disciple disks may give problems reading, writing or formatting. Apart from these problems, the system works quite well since version 3.05. Hi-color resolution emulation, or "rainbowing", is not perfect. What lacks is complete emulation of ULA bus contention. This is the only part of the emulation that is (deliberatly) imperfect. Making this exact would make the emulation speed two times as slow. Many people have sent me bug reports, for which I am very grateful. I have removed most of those, but have not been able to remove them all, sometimes because the report was too vague and/or irreproducible on my machine, or because of a mixture of reasons like: difficult to find, not a problem to most people, easily circumvented, or laziness on my part. 1.6 Copyrights etc. Amstrad still holds the copyright on the 48K and 128K rom. However, they have kindly allowed free use of them. The Disciple ROM is (c) Bruce Gordon / Format Publications. The Plus D ROM is copyright Datel / Format Publications. Multiface and Lifeguard are registered trademarks of Romantic Robot. They are licensed from Romantic Robot for use in Z80. The registered version of the Spectrum emulator 'Z80', and the version distributed with PC Format, may NOT be further distributed. The source codes, which are part of the registered package, may NOT be used in other Spectrum emulators running on PC's. In principle, it is okay to use the Z80 emulator code in an emulator for another Z80-based computer; however, please do contact me if you want to use it. 2. THE EMULATOR 2.1 Starting the emulator The emulator will work on any PC with 640K memory and at least a 8086 processor, with a VGA, EGA, Hercules or CGA video adapter. If available, it will also use EMS memory, an Adlib (SoundBlaster) compatible soundcard, the SoundBlaster card, a mouse, and an analogue or digital joystick. The emulator will first read in the switches that are given in the Z80.INI file. See comments in the file itself for instructions. The emulator tries to figure out what hardware is available, and uses things as it finds them. Most of the time this will work without you having to tell it anything, but if you have to, you can override the defaults by putting switches on the command line. Switches that you use often can be put in the Z80.INI file. If you give a switch a second time, for instance if it is also in the Z80.INI file, it will disable it again. After any switches, you may specify a snapshot file on the command line. This file will then be loaded and executed directly. The extension .Z80 is not necessary. The emulator also reads .SNA snapshot files, and .SLT files (which contain snapshots together with data, for programs that have multiple levels that originally were loaded from tape). If you're using a Trident VGA with version 3 BIOS, you may see the picture compressed at the top of the screen, while the bottom half contains vertical white lines. This is due to a bug in the Trident VGA Bios. Start the emulator with the switch -xv to get a full picture. Some VGA adapters do not produce a stable picture when Z80 is using the standard VGA mode. If your monitor doesn't sync, try switch -xv. Some black-and-white VGA monitors only display one of the three RGB colours (green most of the times), resulting in several Spectrum colours becoming indistinguishable. Use -xb to use grey tones instead of colours. It is highly recommended to have EMS memory available when running Z80. Use e.g. EMM386.SYS for this. If there is no EMS memory, the page swapping of the Spectrum 128 is emulated imperfectly, and very slowly. (The emulator warns for this at startup.) Moreover, with no EMS memory, the emulator needs lots of base memory: 578K instead of 338K. If this causes problems, use switch -xt, which reduces several buffers to a bare minimum, saving 51K. If this is not enough, use -xu which saves 86K, but then hi-resolution color emulation does not work anymore. The Spectrum 128 has a built-in sound chip. If you have an Adlib compatible soundcard installed, the Spectrum 128 sound will be played through the Adlib card. If you haven't, the loudest of the three sound channels will be played through the internal PC speaker. Sometimes the effect is quite nice, sometimes it is horrible, but it's all I can do on a standard PC. If you don't want to have the Spectrum 128 sound played through the internal speaker, use the switch -xi. If you don't want the Adlib card to be used (for instance to hear the sound through the internal speaker) use -xa. If you're using the Pro-Audio Spectrum 16 sound card, do not install the resident FM.EXE program; it causes problems with the emulator. Do make sure that MVSOUND.SYS is installed in your CONFIG.SYS file, to make the Pro-Audio Spectrum 16 Adlib compatible. The noise channels of the Spectrum 128 sound chip can work on different frequencies, whereas the FM chips of the Adlib card cannot. However, if your Soundblaster is equipped with CMS chips, the noise frequency can be programmed. Specify -xc to use the CMS chips. (These chips are not available on Soundblaster Pro cards, and neither on most Soundblaster clones). If you're living in Belgium or France, you are probably using an AZERTY keyboard. Specifying -xz on the command line will make all letter keys and many punctuation keys work in the right way. If the emulator erroneously detects an analogue or digital joystick, use the switch -kk. The emulator is best run in a true DOS environment, but also works in a Windows (95) DOS box. However, you cannot use the tape interface or Real Mode under Windows: these are inherently non-multitasking functions. From version 3.04, keyboard handling under Windows is much improved. In version 4.00, Z80 by default chooses a standard graphics mode (instead of a non-standard text mode) on VGA cards, which Windows (95) is able to convert and show inside a window. However if you run Z80 full-screen, it is better to use the text mode, which is selected by switch -v. This mode is faster, and displays those loading stripes in the border better. The virtual video driver of Windows 95 unfortunately does not understand this mode. At startup, the emulator measures the speed of the computer it runs on. Under Windows 95 this gives reliable results; however, Windows 3.1 causes Z80 to run about 3 to 4 times slower than normal. You may have to tinker with the speed setting to get it to run at a reasonable speed. The emulator will automatically detect whether Windows is running, and act appropriately. To run the emulator in Windows compatibility mode in a normal DOS environment, use -xw. If you use this switch under Windows, it turns windows compatibility mode OFF, and hangs unless you use Hi Resolution Colour emulation (which doesn't rely on the timer). When running the emulator under Desqview, use -e for EGA mode display. At present running under OS/2 is not a good idea as it will crash if the speed is altered. As nobody is using OS/2 anyway, I'm probably not going to try to fix this bug. So that are are the most important switches that you have to specify when you start the emulator. Most of the other switches are used to select default values for various things which can also be changed when the emulator is running. Some useful things to select are default directories for .Z80/.SNA/.SLT, .TAP/.TZX/.VOC and .MDR files; these will be explained below. 2.2 Using the emulator In this section, the basic functions of the emulator, residing under the function keys F1-F10, are explained. When the emulator starts, you'll see the usual Spectrum copyright message appear on screen. Pressing F1 will pop up a small help screen that explains the function of the function keys and various other special keys. By pressing F10, you enter the main menu of the emulator. Most of the menu options can be chosen directly by pressing another function key; a small help screen pops up if you press F1. If you're somewhere deep in the menu structure from the main menu, pressing ESC will get you one level higher most of the time. Pressing F10 will get you back to the main menu. The 'Select Hardware' menu option sits under function key F9. There are seven major configuration to choose from: Spectrum 48K Spectrum 48K + Interface I Spectrum 48K + SamRam + Interface I Spectrum 48K + M.G.T. Interface (i.e. DISCiPLE or Plus D) Spectrum 128K Spectrum 128K + Interface I Spectrum 128K + M.G.T. This menu also allows to choose the M.G.T. type, +D, Disciple with a pre-loaded operating system supporting graphics output using the Epson format, and one supporting HP-PCL format graphics output. In all configurations except the one with SamRam, the Multiface 128 can be emulated too. The Multiface 128 software is aware of, and can read and write to, the Microdrive of the Interface I and the Disciple and +D disk drive. After a change has been made, pressing ENTER switches to that mode and resets the Spectrum. If you don't want the Spectrum to reset, pressing CTRL-ENTER will switch to the new mode while preserving as much of the runninge program as possible. Switching from 128K mode to 48K mode will almost always crash the program, except if you enter the SPECTRUM command before switching. Be careful when you change the disk drive emulation; when switching an MGT interface (Disciple or +D) on or off, it is wise always to reset the emulator, as otherwise the hardware will often not match the system variables. To use SamRam's monitor on a 128 program, switch the hardware from the main menu, and generate an NMI (Extra functions - N) before returning to the emulator. This will often work, but you can't return to the program without crashing it. On a real Spectrum 128, the menu bar of the startup screen is moved using the cursor keys on the '128 keyboard. These keys simultaneously press a normal cursor key (5,6,7 or 8) and shift. So you can shift the menu bar with shift-6 and shift-7. It is possible to use the PC cursor keys for this; you have to select Cursor joystick emulation (which is selected by default) and press Num-Lock once to have the PC-cursor keys press the Spectrum Shift key too. You could also specify -xs on the command line (or put it in the Z80.INI file) to make the PC cursor keys by default press shift for you in '128 mode; see also the Miscellaneous remarks section. The Save and Load Program options (F2 and F3) will save the whole state of the Spectrum and some of the emulators' settings to a .Z80 snapshot file. It will pack the data somewhat, so that the length of the file varies. The amount of memory saved depends on the current hardware mode; 48K for normal Spectrum, 80K for SamRam, and 128K for Spectrum 128. (Note that the RAM contents of the M.G.T. interface or the Multiface 128 are not saved.) The settings that are saved are those that are program dependent, for instance which joystick emulation is used, and more technical settings like those of the R register, LDIR and Issue 2 emulation and video synchronisation. These are explained below. Loading a .Z80 file will cause several settings to be changed. Resetting the Spectrum will not reset these settings to their default values! Especially the joystick emulation setting change can be confusing. All settings can be checked and changed in the Change Settings menu, which pops up if you press F4. You can do many things here. The I and O options can be used to redirect the RS232 output; see section 2.13 for information on this. R - R register emulation, and L - LDIR emulation are usually only necessary when loading programs; for remarks on these options see section 2.6, and section 5.1 for more technical details. Other settings and switches are: H - Hi resolution colour emulation, also called 'coppering' or 'rainbowing'. To eliminate flickering of moving characters, and to see some colour effects otherwise not visible. Also, this allows you to see the famous loading stripes in the border. See section 2.4 for more information. 2 - Issue 2 emulation will turn the emulated Spectrum in an Issue 2 Spectrum. (This option also works, but is out of place, in Spectrum 128 mode). Some very old programs (Blue Ribband, Spinads) will not respond to the keyboard properly on Issue 3 Spectrums, and for these programs this option was added. Seldom needed. S - sound enables you to turn off all sound, useful for late-night playing. F - toggle between 50 Hz frame interrupt rate (the standard value) and some value defined via the switch -dN, setting the frame rate to 100/N Hz. Without switches, the alternate rate is 100 Hz. If -dN is used the default rate is set to 100/N Hz and alternate rate to 50 Hz; is -dN is specified twice (with the same divisor N) then default and alternate rate are swapped. Doubling the interrupt frequency is useful for slow machines, as some programs will run faster when this option is on. If you're typing in a BASIC program on a slow machine, always turn this on, since the keyboard, which is polled by an interrupt routine, will respond much better. On fast machines, this feature is useful for running Spectrum programs quickly while keeping a normal keyboard response. Some programs will crash with a frame interrupt rate different from 50 Hz. V - video synchronisation is used to remove the flickering of moving characters in some programs. You can choose between Normal, High and Low. Normal works well for almost all programs; Ghosts and Goblins and Zynaps look much better when this is turned to High. If you see characters not moving smoothly or flicker, or a background not moving as a whole, experiment a little bit with this setting, and re-save the snapshot when you've found the best setting. On fast computers, try to use Hi res colour emulation instead. This setting has no effect when Hi res colour emulation is on. (For a more detailed discussion of this option see section 2.4 and section 5.1) J - joystick emulation specifies which Spectrum joystick the PC cursor keys (and mouse, and analogue or digital joystick, if available) control. You can choose from Cursor (default), Kempston, Interface 2 and user-defined. As already said above, if Cursor joystick is chosen, the Num-Lock key controls whether Shift is pressed too with a joystick movement. (Since the shift and number keys are pressed exactly simultaneously, it is possible that the Spectrum has already read the Shift key, but not yet the others, when you press both keys down. Sometimes you will therefore get the number 5,6,7 or 8 instead of a cursor movement. If you have used a +3 or +2A Spectrum, you will be familiar with this!) Finally, C - Change speed lets you control the speed of the emulator. As a side effect, slowing down the emulator makes the timing of the various opcodes correspond more exactly to the actual timing on a real processor. (Remember this is not possible on slow PCs!) That concludes the discussion of the F4-'change settings' menu. Let's continue with the other function keys. F5 generates an NMI. This is used to activate the Samram, Multiface 128, or start the Disciple/+D Snapshot facility. If none of these are active it may reset the Spectrum or do nothing. ALT-F5 or CTRL-F5 resets the Spectrum. F6 turns on Real Mode. Try this when the emulator is playing a tune and sounds a little harsh. This mode is needed when you want to load turbo-saved games from tape; see below for more information. F7 and F8 activate the tape and Microdrive/M.G.T. menus. Again, see below for more information. Resetting the Spectrum, or generating an NMI can be done from the main menu too, in the X - Extra Functions menu. This is useful if you want to activate the NMI software of the SamRam for instance just after loading a snapshot file, or just after you changed the hardware mode. In this menu it is also possible to save or load a memory block or screen snapshot; to set a breakpoint (see section 2.21) or to temporarily shell to DOS. Furthermore, here you can find another sub-menu for the OUT logging feature. If port FE is logged, such a log file can be translated into a .VOC sound sample file using the OUT2VOC utility. When you're typing BASIC-programs in 48K mode, you'll probably have to look up some Spectrum keywords. Further down in this documentation there is an alphabetical list of all keywords and their key-combination. For 'on-line' help, press ALT-F1 to see the Spectrum keyboard layout. 2.3 Keyboard emulation The keyboard. Letter keys are mapped to the Spectrum's letter keys. The ALT and CTRL keys can both be used for Symbol Shift. Then, there are a lot of keys on the PC keyboard which don't exist on the Spectrum keyboard. Many of them are used, to make things easier: The function keys have several special functions. See the previous section. CTRL-Break quits the emulator. Better use F10-Q-Y though. The punctuation keys - = ; ' , . / and their shifts: _ + : " < >
  1   2   3   4

База данных защищена авторским правом © 2016
звярнуцца да адміністрацыі

    Галоўная старонка