*********************************** AMIGA REVIEW SINCLAIR SPECTRUM EMULATOR SYNTAX DISK PD 651 ORIGINALLY PUBLISHED IN RED HERRING ...NOW WITH BITS ADDED *********************************** By Terry Brawls INTRODUCTION ------------ This is a review of version 1.7 of the ZX-emulation package written by one Peter McGavin of New Zealand, and is part of the Syntax PD library on disk PD 651. With older versions of this software, you had to provide your own copy of the Speccy ROM (a hassle) as the author was unsure of the legality of doing so himself. Now, however, he has gained permission from Amstrad, who hold the copyright, to include it on the disk, which is a generous move. SOFTWARE -------- As well as the 16384-byte ROM file, there are no less than 4 versions of the emulator, each one specific to whichever processor is fitted to your machine. "00" is for standard Amigas like the A500, A500+ and A600, all of which feature the 68000 processor. "10" is for machines fitted with a 68010, but can also be used by higher processors. "20" is for 68020/30/40 owners. The now standard Amiga, the A1200, is fitted with a 68020. "00-Special" is an alternative "00". The code has some in-built shortcuts that can result in some faster emulations, at the expense of possible limitations in other areas. On-screen help is provided by the inclusion of an IFF representation of an original, rubber keyboard Speccy, when you get confused with the keywords! There's also a good-sized doc file to read. As a "bonus", I've also included a copy of the older 'KGB' emulator on the disk. It's slower, doesn't feature sound and its snapshot-files aren't compatible with those of the McGavin system, so it's for interest/research only, I would think, and not for serious consideration. HARDWARE -------- No, don't worry, you don't need any special "dongles" or esoteric add-ons as such, but having access to 3 particular items will make using the system a dream, if you can get them. 1) A real Spectrum. It sounds daft I know, but if you've still got your old machine lying around, it'll help enormously in transferring software over to your Amiga. More later. 2) A sound-sampler. There are disks (& CDs) of dubious legality filled with game snapshots now appearing in the public domain which you can load into the emulator, without needing a sampler. Also, you don't need one if all you're going to do is write your own programs in emulated Sinclair Basic. However, you WILL need one if you want to load in and/or save to disk your cassette-based software. 3) A "Mirage Microdriver", or similar device. If you're the lucky owner of one of these Spectrum add-ons (I'm not) then you're laughing. ANY program should theoretically be transferable using it. Dream scenario! THE SOUND-SAMPLER ----------------- These are small cartridges that plug into the parallel-port and accept input from various sound-sources. Mr. McGavin gives a list of a few that probably work, though he admits that he's only tested one - the PROSOUND. I use the TECHNOSOUND TURBO model, which works fine (see below). In fact, any sampler should work, as long as it can handle sampling rates of at least 20KHz. Phil Richmond, in a small review of this very emulator in issue 33, says the MEGALOSOUND model works well - probably better than my T-Sound one, or he would surely have commented on any major problems he encountered while using it. My sampler came supplied with a lead (3.5mm stereo jack-plug terminating in 2 phono-plugs), which connects your tape-player to the sampler's 2 phono-sockets. The Amiga now has a tape-loading system, and can now be considered a great big 16-bit Speccy. Er.. SYSTEM LIBRARIES ---------------- Under Workbench 1.2 & 1.3, the system uses the ARP.Library for all file-requesting functions, whereas 2.0x, 2.1 & 3.0 uses the ASL.Library (both are provided on the disk). Owners of the later machines might like to consider blanking out the ASL and use the ARP.Library instead. The ASL system is configured in an unattractive lo-res mode and tends to use whichever colour scheme is on-screen at the time, sometimes rendering the files invisible, especially when working with Quill'ed games. The ARP requester features a pleasant, hi-res configuration and uses its own colour-scheme. The ASL colour problem is also present in the emulator's own small selection of requesters. Merely a minor irritation, but a careless one nonetheless. EMULATOR FUNCTIONS ------------------ Select the emulator suitable for your processor, and you're presented with the strange but pleasant sight of the 1982 Sinclair screen on the Amiga. The mouse accesses 2 menus at the top of the screen, each containing the following functions - 1) Reset - acts like the Sinclair NEW command; Load Snapshot - loads in a full, emulated program from disk; Save snapshot - saves the entire state of the Spectrum's RAM; Help - displays the IFF picture described above; Quit - back to Workbench. 2) Load / Merge / Verify - from where? Sampler or disk-files?; Save - to what? Disk, or tape by cassette-tones?; Audio volume - off/quiet/normal/loud; Titlebar - system title at top of screen, on/off; Task priority - techy function concerned with multitasking. LOADING FROM TAPE ----------------- To start with - the emulator can't handle programs locked inside turbo-loading systems, or any other non-standard loading system! It traps calls to the ROM load-routine, therefore only standard, 1500 baud programs will transfer over, though headless files are perfectly OK. This is obviously where a Mirage device would come in handy, which would make a snapshot of a turbo'd program upon loading into a real Speccy, thus rendering it easy for transfer to the emulator. As an emulated Spectrum, it's business as usual. The Symbol-shift key is represented by the Amiga's Alt key, so LOAD "" is still on the cards. Just pop in a tape, connect-up and go. Unfortunately, there's more to it than that. First thing you'll notice is that the sampler is VERY volume-sensitive and only accepts a very narrow band, around half of what you'd normally use to load a real Spectrum. It's also very sensitive about glitches and dropouts on your tape - in fact, it makes you appreciate just how forgiving the old Speccy was! After the first day of sampling a fair cross-section of my tapes, I was horrified to discover that I was only getting something like a 20% success-rate! Original (manufactured) software fares worst - sometimes the quality can be quite appalling. Even my own backup-compilations didn't do too well, even though I always backed-up using a copier, or moved files to another tape manually using SAVE, rather than recorder-to-recorder, if I could. Something had to be done! EASIER LOADING -------------- 2 methods spring to mind, a slow one and a fast one, both requiring a real Spectrum. 1) Using the Spectrum, simply do new copies of the programs that you want to transfer over, putting them on to nice, fresh tape. Obviously, you want to use a copier, or just do it manually. These copies should be glitch-free and emulator- friendly. 2) This is a variant of a method I used to use to backup particularly vicious/noisy/jerky turbo-tapes that even recorder-recorder wouldn't do. a) Switch on your Spectrum and connect the recorder to the EAR socket as usual. Press LOAD "". In fact, we don't really want the program to load in as such, we just need 'all channels open', as it were. The best way of achieving this is to LOAD "an unlikely name", e.g. "XYZ123". You could even use VERIFY "" (I do). b) From this point on, the Spectrum can take care of itself - you can disconnect it from the TV if you wish, especially if you're sharing it with the Amiga. There's nothing to see Speccy-wise. c) Connect-up the Amiga/sampler. Attach the lead to the sampler. Make sure the other end of the lead terminates in a MONO 3.5mm. jack-plug (I made my own) and plug it into the Spectrum's MIC socket. d) Run the emulator on the Amiga and load the tape into the Spectrum. A signal will also be present at the MIC socket which will be picked up by the sampler via the lead and will load into the emulator. This method gives outstanding, 100% transferability! It also normalizes the volume problem back to Spectrum standards, and you can copy over tape after tape as long as you keep everything hooked up! Of course, this may all be academic. Perhaps it's just my sampler that's a bit awkward; other models may be more user-friendly - I wouldn't know. UPON SUCCESSFUL LOADING ----------------------- Once the program is in, it'll behave just as it would in a normal Spectrum, and you're ready to save it to disk as a snapshot, if you wish. As normal, the program might, for instance, write over the loading screen as soon as it starts, or shoot through some introductory material before you're ready to make the snapshot. Whatever. So you might like to consider altering the Basic loader BEFORE loading from tape (using MERGE "") and include a PAUSE 0 command before the USR trigger. A tip - I made habitual use of a system-variable POKE (23570,16) to stop data-headers corrupting the SCREEN$ file during loading. The emulator doesn't like this POKE - so I had to resort to mucking about with INK and PAPER colours etc. Alternatively, why not just alter the loader to load the SCREEN$ file last? However you decide to go, save the program as a snapshot. On reloading, it will always start from the point at which it was saved - useful if an adventure doesn't have a SAVE option, and a phenomenon that will excite arcade fans (you can make as many snapshots of any program as you wish, at any stage therein.) THE SNAPSHOTS ------------- These are datafiles, always 49179 bytes long. That's the whole 49152 bytes of the Spectrum RAM plus a few register values. You can fit 17 snapshots onto an ordinary OFS disk, far more if you crunch them. The emulator doesn't support the loading of crunched files as such, but there's an interesting little program in the public domain called PPATCHER which runs in the background and makes POWERPACKED datafiles behave as normal, irrespective of whatever program is using them. Using this, you can get well over 30 snapshots on a disk! The snapshots aren't saved with an accompanying icon, but you can easily attach, say, a project icon of your own to one. Fit this into a self-booting disk and you can start the whole ball rolling with a click, by making the emulator the icon's default-tool. You may be interested to know that POWERPACKER and PPATCHER are available on T-BENCH (PD 584) from Sue's PD library, a Workbench 2 replacement disk full of similarly useful programs. PERFORMANCE ----------- Owners of the new A1200, and, of course, of the bigger machines, are in luck, as apparently the emulator runs at the same speed as a real Spectrum, and in some cases a bit faster! The rest of us, alas, don't have it so good - on 68000 processors, it runs very much slower, though mostly to the detriment of arcade games, and processor-intensive utilities. However, I'm very pleased to report that almost all Spectrum adventures work well with the emulator, especially those written with GAC, PAW and Quill. In fact, these tend to be more fully- featured and FASTER than the majority of Amiga AGT adventures! Essentially, the more graphics an adventure has, the slower it runs. Some of the early games written in Basic are virtually unplayable, for example those by Phipps. Even an assembler game like the 'Hobbit' runs too slow as it seems to use ROM routines for its graphics. The colour-fill is excruciating! FILE HANDLING "IN EMULATO" --------------------------- So, what happens when you're playing an emulated adventure and you want to SAVE a position? You SAVE it, that's what! If the game uses the Sinclair SAVE and LOAD routines (most do, though a minority use custom routines) the emulator traps the call and redirects all output to your disk-drive. The same thing occurs when you reload the position. Ramsave and Ramload all work as usual. To give a few examples, I've got PAW, Quill and VU-File working perfectly on my Amiga. To transfer over data-files generated from these programs, just select the LOAD FILE feature (present in some form on them all) and play the tape into the emulator. Once in, the files can then be resaved to disk. Note that there is a difference between these files and snapshots; the emulator knows! The emulator has the facility of saving datafiles as cassette- tones, so you could theoretically write a Spectrum adventure on the Amiga, intended for standalone Spectrums. BUT IT DOESN'T WORK! The author admits this feature needs a lot of work, though he's wrong in saying that the tones "sound right". Speccy veterans can't be fooled! I saved off a couple of example files and what seems to be happening is that the system is saving out DOUBLE the number of bytes as it should be, even with the header block, which sounds REALLY strange. Also, the BAUD rate seems to be a bit twisted. It's a pity; this feature would have resulted in total Spectrum-Amiga-Spectrum symbiosis. CONCLUSION ---------- Get a copy now! It would be nice to read some reports on how higher processors get on with the system. How about having all the Spectrum PD titles on disk? A note of interest - apparently, the snapshots share the same format as those of a PC Spectrum emulator called JPP. Anyone got this? Any Atari Spectrum emulators out there? Review them! The Spectrum needn't die...... ************ * Terry B. * ************ -------- ADDENDUM -------- In the 18 months since I wrote this piece, I've transferred over almost ALL of my non-turbo'd tapes, and even a few turbo'd ones (by hacking into the loaders), amounting to quite a few disk's- worth. I even processed some of my favourite arcade games, for the day I finally buy an A1200, which I was going to do last summer - when the news came about Commodore's "difficulties". Asterisks & percentage-symbols!! Doth PC-Hell await us all?! LATEST! At the time of writing, news has come through that ESCOM has bought the Amiga. Are we saved?! ------------------------------------------------------------ A few Amiga PD companies are selling a 'new version 2.0' of this emulator. Beware - it's a crock, or the one I got from 17-BIT certainly was. Someone had just run it through a file editor and changed the '1.7' in the title into '2.0'! Packaged with this 'new' version was a program called SPEC- CONVERT, a port-over from the PC world which is supposed to enable you to convert snapshots from one emulator into those of another. It doesn't seem to work! Anyone? ------------------------------------------------------------- For anyone wishing to transfer over the PAW overlays that Phil was talking about in issue 33, here are the values - 1 - 29632,4585 2 - 29632,1186 3 - 29632,3679 4 - 29632,2875 5 - 29632,2147 H - 29632,955 These values relate to the true overlay numbers, NOT to the order in which they may appear on tape. -------------------------------------------------------------- Are there any SYNTAX readers out there who know anything about THE LAW as regards computer software and copyright? I'm fascinated by the legal (and not to mention the moral) implications of PD companies selling disks full of snapshotted games, the majority of which were once full-priced, professionally produced titles. What's the story? Can they REALLY do this, and get away with it? -------------------------------------------------------------- I see that Sue now stocks the all-new AGA-only Spectrum emulator I've been hearing about, on disk PD 774. Could an A1200 owner out there possibly do a straight comparison between it and the "020" version of the one reviewed above? This would make very interesting reading! - o -