|
||
Spectrian emulates the Spectrum 48K / 128K / +2 / +2A on Symbian OS Series 60 and UIQ phones
including the Nokia 36x0, 7650, 66x0, 7610, 6260, N70, N90, N-Gage and N-Gage QD, Siemens SX1, Samsung SGH-D700,
Sendo X, Sony Ericsson P800/P900/P910 and the Motorola A92x/A1000. It supports SNA, Z80, TAP and SZX program
file formats. Series 60 help Download PDF version [118Kb .pdf file] UIQ help Download PDF version [108Kb .pdf file] Technical information FAQ |
||
Keyboard controls |
||
Always active:
In text entry mode: Almost every program ever released for the Spectrum is available somewhere on the internet, or on CD. We recommend you start on the www.worldofspectrum.org archive. This has a large selection of programs in TAP and Z80 formats, and lists of popular programs. Also, check out our links page. You can use Infrared or Bluetooth to ‘send’ Z80, SNA or TAP files to your phone from a PC (see the Infrared / Bluetooth adapter manufacturer’s instructions for how to do this), or if your phone is set up for email, you can send a file as an attachment. You can also send files via Bluetooth from one phone to another using a File Explorer program such as the freeware FExplorer (available from www.my-symbian.com). Files sent in this way appear in your Messaging Inbox. When you open the message, Spectrian will be automatically launched. Alternatively use the Nokia PC Suite (or equivalent for other Series 60 phones) to copy programs into the SpectrianPrograms directory on either the phone memory (C:) or the memory card (E:). You may first have to create the directory. To launch the Program Browser, go to Programs->Browse. A list of your programs is shown, with the one you last loaded highlighted. To skip directly to a program, type the first character(s) of the name. Select by pressing the scroll key, or use Options->Load. The Options menu also allows you to delete the highlighted program and any associated keymap from your phone. Spectrian supports Z80, SNA, TAP and SZX files. Z80, SNA and SZX files are ‘snapshot’ formats which load instantaneously. Only 48K SNA files are supported. A Z80 file contains information on key mappings and the Spectrum model (48K/128K/+2/+2A) it's intended for. Spectrian understands V1, V2 and V3 Z80 files, including the extra model bits used by Spectaculator. If the Z80 file contained key mapping information this will be used for the Spectrian keymap the first time you load it – subsequently it will be ignored in favour of changes you make using Spectrian. A TAP file is an emulated cassette tape. Spectrian loads these by first resetting the Spectrum, and then after a short pause automatically entering LOAD “” (48K) or Enter to access the Tape Loader (128K). See Further information on TAP Files. An SZX file is similar to a Z80 file, in that it contains information on the Spectrum model. They tend to be smaller than a Z80 file as the contents are compressed. If an SZX snapshot is saved from a TAP file, a pointer to the TAP file is attached to the SZX file. This allows you to resume playing multi-level games which load levels one at a time from tape. Programs->Save allows you to save a snapshot of your current game state as an SZX or a Z80 file in the default location (whichever of the SpectrianPrograms directories you last loaded from, or the one where the application is installed). The default file format can be changed from the Settings menu. SZX files saved by Spectaculator should be compatible with Spectrian, but the reverse may not be true if there is an attached TAP file. The program browser searches for files in C:\SpectrianPrograms and, if you have a memory card, E:\SpectrianPrograms. If you launched Spectrian by opening a message containing a program file, or from a file explorer program, you will be invited to save the program in the default location, as defined above. If you want to define a custom keymap you should always save the game in the default location (see Changing key mappings). Spectrian has a 30-day trial period. All functions are available in the evaluation version. If you want to continue using the software after the 30-day period has elapsed, then you need to register. To register you will need your phone IMEI number. This is a unique 15 digit number permanently stored in your phone. Go to the Register menu and select Get IMEI. If the trial has already expired, your IMEI will be shown before Spectrian exits - just type any number into the registration code box. Make a note of the number and then go to the purchase page and follow the instructions. You will be emailed your registration code, which consists of 16 alphanumeric digits. Go to Register->Enter reg code and carefully type in the code (upper/lower case is not important). If the evaluation version has expired you will be invited to enter a registration code as soon as you start Spectrian. Once successfully registered, the Register entry will no longer appear on the menu. Keep your registration code safe, as you will need it if you ever have to re-install Spectrian. If you change your phone you will need a new registration code – contact us to explain the situation, and bear in mind that we may require to see some evidence that the new phone is registered in your name to prevent abuse of this facility. The Series 60 screen is a different shape to the Spectrum, and there are fewer horizontal pixels: 176 versus 256 on the Spectrum. The emulator therefore has to squeeze the Spectrum screen to fit. A few lines of the Spectrum border are also fitted in. There are two modes: keymap [], and text entry []. Use the # key to toggle between them. Text entry is very much like entering a text message in non-predictive mode. In addition, the shifted keys needed for editing in ZX BASIC, or when entering text in an adventure game, are mapped to phone keys as described here. You may also wish to manually load programs from 48K BASIC: in this case you’ll need to know (or have remembered!) that the LOAD keyword is on the Spectrum J key (5 on the phone) and the quote character is SYM+P (Yes+7 on the phone). If you can remember the location of all the Spectrum keywords, then you clearly need to get out more, but on the plus side there’s nothing to stop you writing BASIC programs on your phone, or use 128K BASIC which doesn’t require the keywords! When playing arcade-style games you’ll normally use keymap mode: each phone key is mapped to a Spectrum key of your choice. You can arrange the keys needed to play the game in whatever way you choose. The * key enters and leaves the Change Keymap interface. You can also press the * key at the same time as another key as a shortcut to change the mapping for that key only. Remember that you can switch back to text entry mode at any time with the # key. An icon is shown in the top right corner of the screen for a few seconds whenever you switch modes. Bluetooth and Infrared portable keyboards that work with the phone should also work with Spectrian. Use the keymap mode with the default mapping so that the numeric keys work as expected. Remember that symbols are located where they would be on a real Spectrum keyboard, not where they are on a modern keyboard. Each grid cell shows on the left a phone key, and on the right the corresponding Spectrum key. The default setting is shown in the illustration. Use the scroller to move around the grid, and press the scroller to change the key assignment. You can choose any of the Spectrum keys, a joystick input or no key mapping. | ||
The joystick symbols correspond to using a Kempston or Fuller joystick attached to the Spectrum. Unlike the Sinclair joysticks which ‘shadow’ normal Spectrum keys, to use these joysticks a program has to read from a particular IO port. means no key mapping. Press down on the scroller or the left softkey to select the desired key. The Options menu allows you to reset the current keymap to the default, and the Joystick submenu provides a simpler way to map the phone scroll keys to a Spectrum joystick: Cursor, Sinclair Interface 2 left or right, and Kempston / Fuller port joysticks are supported. Fire is mapped to the phone 0 key by default, as most games require that you can fire at the same time as moving, and the phone scroller doesn’t allow this. For the same reason, if you’re trying to play a game that requires diagonal movement you might want to try mapping the up and down movements to keys that you can press at the same time as using the scroller. The Done menu option saves the current keymap, as does pressing the * key. Cancel discards any changes made. If you’ve loaded a program, any changes to the keymap are associated with that program and will be restored when you load the program again. If you haven’t loaded a program, or have since reset the Spectrum, keymap changes are not persisted. If the program was loaded from somewhere other than the default directory, for instance your e-mail inbox, and not saved in the default directory, then again the keymap changes are not persisted. Spectrian emulates the 48K buzzer and the 128K AY-3-8912 sound chip. Spectrian uses oversampling and digital filtering to reduce the effect of aliasing and produce a high quality sound. The Settings menu allows you to switch off audio emulation, and to change the volume. On the Siemens SX1, Sendo X and newer Nokia phones you can switch audio emulation to Mono, Stereo ABC or Stereo ACB. A, B and C refer to the 3 channels of the AY-3-8912 sound chip in the 128K Spectrum models. ACB means channel A goes to the left output, channel B to the right output and channel C to both outputs. You need to use a stereo headset to hear the audio in stereo. Spectrian emulates the original Sinclair 48K and 128K, and the Amstrad +2 / +2A machines. The +2 is virtually identical to the 128K. The +2A is a quite different design and consequently some earlier 128K games and demos don’t work correctly on it. Conversely later programs may not work correctly on the 128K. Change the Spectrum model using the Settings menu. This will cause a reset, so make sure you save any game beforehand. Note that loading an SNA file forces the model to 48K and loading a Z80 or SZX file will set the emulated model to whatever is indicated in the file itself. The model shown in the Settings menu doesn’t change in this case, so a reset will take you back to the model you specified. TAP files don’t contain any clue as to which model they’re designed for, so you must set an appropriate model before loading. TAP files consist of the raw bytes that a real Spectrum would read from a cassette tape. You can concatenate 2 or more TAP files and still have a valid file. Quite a few games consist of multiple sections containing extra levels which are only loaded when needed. By default Spectrian supports TAP files by ‘hooking’ the Spectrum ROM – whenever a program calls into the ROM to load from tape, Spectrian intercepts the call and instantly reads the next block from the TAP file. The Settings menu Tape Quick Load item controls whether the ROM is hooked or not. If you turn this off Spectrian will load the tape just as a real Spectrum does, complete with tape loading noises. In this mode you can start and stop the tape using the Programs menu. The Settings menu Tape Auto Load item controls what happens when you first select a TAP file from the Program Browser. By default it is set to ‘On’, meaning that Spectrian resets the Spectrum and then enters the text LOAD “” on a 48K, or just Enter on a 128K after a short delay. If auto loading is switched off, the TAP file is merely opened and positioned at the beginning, ready for the Spectrum to load. For most games you would want auto loading on, and the game itself will control loading subsequent levels, without you even being aware of the fact. However, there are cases where you might need to turn auto loading off. One case is where a program requires the so-called Usr 0 mode. Some 128K games and demos will only work correctly when launched from 48K BASIC. However, you can’t simply select 48 BASIC from the 128K menu as this disables the paging hardware. Select 128 BASIC and type usr 0 (in text entry mode). This resets the Spectrum into 48K BASIC but leaves the 128K paging hardware active. You can then load the TAP file by typing LOAD “” (in text entry mode: 5, Yes+7, Yes+7, enter). Another case is where a program requires that you reset the Spectrum before you can load the next part. In this case select Reset Spectrum from the Programs menu and then load the next part as described above. Resetting the Spectrum after loading prevents Spectrian from associating a keymap with the program, so you might want to immediately save as an SZX snapshot. If you ask the Spectrum to load a program without first opening a TAP file, or if you’ve reached the end of the current TAP file, the Spectrum will just sit there until you hit Break (Space – phone 0 key in text entry mode). You should always use the SZX format to save snapshots of programs originally loaded from a TAP file, as a pointer to the current location in the TAP file will be attached to the SZX file. When you load the SZX file, the original TAP file is opened and left in the same place it was in when the snapshot was saved. This allows multi-level games to be resumed correctly. |
||
Where to get Spectrum programs |
||
Almost every program ever released for the Spectrum is available somewhere on the internet, or on CD. We recommend you start on the www.worldofspectrum.org archive. This has a large selection of programs in TAP and Z80 formats, and lists of popular programs. Also, check out our links page. You can use Infrared or Bluetooth to ‘send’ Z80, SNA or TAP files to your phone from a PC (see the Infrared / Bluetooth adapter manufacturer’s instructions for how to do this), or if your phone is set up for email, you can send a file as an attachment. You can also beam files via Bluetooth from one phone to another using a File Manager program. Files sent in this way appear in your Inbox. When you open the message, Spectrian will be automatically launched. Alternatively use the PC Suite software that came with your phone to copy programs into the \document\spectrian directory on either the phone memory or the memory card. You will first have to create the directory. If using a file manager program, the location is c:\documents\media files\document\spectrian for phone memory, and d:\media files\document\spectrian for the memory card. To launch the Program Browser, go to Spectrian->Program Browser. A list of your programs is shown, with the one you last loaded highlighted. Select a program and tap the Load button. You can also Delete the highlighted program and any associated keymap from your phone. Spectrian supports Z80, SNA, TAP and SZX files. Z80, SNA and SZX files are ‘snapshot’ formats which load instantaneously. Only 48K SNA files are supported. A Z80 file contains information on key mappings and the Spectrum model (48K/128K/+2/+2A) it's intended for. Spectrian understands V1, V2 and V3 Z80 files, including the extra model bits used by Spectaculator. If the Z80 file contained key mapping information this will be used for the Spectrian keymap the first time you load it – subsequently it will be ignored in favour of changes you make using Spectrian. A TAP file is an emulated cassette tape. Spectrian loads these by first resetting the Spectrum, and then after a short pause automatically entering LOAD “” (48K) or Enter to access the Tape Loader (128K). See Further information on TAP Files. An SZX file is similar to a Z80 file, in that it contains information on the Spectrum model. They tend to be smaller than a Z80 file as the contents are compressed. If an SZX snapshot is saved from a TAP file, a pointer to the TAP file is attached to the SZX file. This allows you to resume playing multi-level games which load levels one at a time from tape. Spectrian->Save allows you to save a snapshot of your current game state as an SZX or a Z80 file in the default location (the spectrian directory on Phone Memory or Memory Card that you last loaded from, or the one where the application is installed). The default file format can be changed from the Edit->Preferences menu. SZX files saved by Spectaculator should be compatible with Spectrian, but the reverse may not be true if there is an attached TAP file. The program browser searches for files in c:\documents\media files\document\spectrian and, if you have a memory card, d:\media files\document\spectrian. If you launched Spectrian by opening a message containing a program file, or from a file explorer program, you will be invited to save the program in the default location, as defined above. If you want to define a custom keymap you should always save the game in the default location (see Phone key mapping). Spectrian has a 30-day trial period. All functions are available in the evaluation version. If you want to continue using the software after the 30-day period has elapsed, then you need to register. To register you will need your phone IMEI number. This is a unique 15 digit number permanently stored in your phone. Go to the Spectrian->Register menu and select Get IMEI. If the trial has already expired, your IMEI will be shown before Spectrian exits - just type any number into the registration code box. Make a note of the number and then go to the purchase page and follow the instructions. You will be emailed your registration code, which consists of 16 alphanumeric digits. Go to Spectrian->Register->Enter reg code and carefully type in the code (upper/lower case is not important). If the evaluation version has expired you will be invited to enter a registration code as soon as you start Spectrian. Once successfully registered, the Register entry will no longer appear on the menu. Keep your registration code safe, as you will need it if you ever have to re-install Spectrian. If you change your phone you will need a new registration code – contact us to explain the situation, and bear in mind that we may require to see some evidence that the new phone is registered in your name to prevent abuse of this facility. The UIQ screen is a different shape to the Spectrum: 208x320 versus 256x192 for the Spectrum. The emulator can either squeeze the Spectrum screen to fit, or, in full screen mode, turn it on it's side. Use the Edit->Preferences->Screen mode menu to change the behaviour in full screen mode. Spectrian operates in either non-fullscreen or fullscreen mode. It always starts in non-fullscreen mode, and returns to it if a phone call comes in. In addition to the Spectrum screen, there is also a view of the Spectrum keyboard and a hardware joystick. You can tap on these virtual keys with the pen. The joystick symbols correspond to using a Kempston or Fuller joystick attached to the Spectrum. Unlike the Sinclair joysticks which ‘shadow’ normal Spectrum keys, to use these joysticks a program has to read from a particular IO port. Switch between these two views using the icon: in normal orientation fullscreen mode both are visible at once. Use the and icons in the joystick view to switch to fullscreen mode and back, or use the Spectrian->Full Screen menu. The Edit->Preferences->Keyboard pos menu item allows you to configure the position of the Spectrum keyboard view to suit left or right-handed users. When playing arcade-style games you’ll normally need to map phone keys to the Spectrum keys used by the game. Depending on the phone model, you can map most or all of the keys with the exception of the flip. Key mapping is best done in fullscreen normal orientation mode, as this allows you to have both the Spectrum keyboard and hardware joystick views visible at once. In other screen modes you may need to use the icon to switch views. To map a phone key to a Spectrum key, first tap on the key mapping icon () , which will be highlighted in red. Then tap on any Spectrum or joystick key - the key will remain highlighted. Finally operate the desired phone key. If the key is recognised the key mapping icon and selected Spectrum key will unhighlight. If the key mapping icon remains highlighted then you will need to choose a different phone key. You can also use the pen to enter Spectrum key presses: swipe and hold up/down/left/right on the Spectrum screen is equivalent to using the phone scroller directions, and tapping is equivalent to pressing the phone scroller. You can also swipe diagonally - this simulates pressing two keys at once, which is not possible with the phone scroller. When mapping keys as described above, you can also swipe or tap with the pen instead of using the phone scroller. The Edit->Preferences->Joystick menu provides a shortcut to map the phone scroll keys and the pen joystick to a Spectrum joystick: Cursor, Sinclair Interface 2 left or right, and Kempston / Fuller port joysticks are supported. Bluetooth and Infrared portable keyboards that work with the phone should also work with Spectrian. Remember that symbols are located where they would be on a real Spectrum keyboard, not where they are on a modern keyboard. If you’ve loaded a program, key mappings are associated with that program and will be restored when you load the program again. If you haven’t loaded a program, or have since reset the Spectrum, key mapping changes are not persisted. If the program was loaded from somewhere other than the default directory, for instance your e-mail inbox, and not saved in the default directory, then again the changes are not persisted. Spectrian emulates the 48K buzzer and the 128K AY-3-8912 sound chip. Spectrian uses oversampling and digital filtering to reduce the effect of aliasing and produce a high quality sound. The Edit->Preferences menu allows you to switch off audio emulation, or switch to Mono, Stereo ABC or Stereo ACB. A, B and C refer to the 3 channels of the AY-3-8912 sound chip in the 128K Spectrum models. ACB means channel A goes to the left output, channel B to the right output and channel C to both outputs. You need to use a stereo headset to hear the audio in stereo. Volume is changed using the volume control on the phone status bar. Spectrian emulates the original Sinclair 48K and 128K, and the Amstrad +2 / +2A machines. The +2 is virtually identical to the 128K. The +2A is a quite different design and consequently some earlier 128K games and demos don’t work correctly on it. Conversely later programs may not work correctly on the 128K. Change the Spectrum model using the Edit->Preferences->Spectrum model menu. This will cause a reset, so make sure you save any game beforehand. Note that loading an SNA file forces the model to 48K and loading a Z80 or SZX file will set the emulated model to whatever is indicated in the file itself. The model shown in the Edit->Preferences menu doesn’t change in this case, so a reset will take you back to the model you specified. TAP files don’t contain any clue as to which model they’re designed for, so you must set an appropriate model before loading. TAP files consist of the raw bytes that a real Spectrum would read from a cassette tape. You can concatenate 2 or more TAP files and still have a valid file. Quite a few games consist of multiple sections containing extra levels which are only loaded when needed. By default Spectrian supports TAP files by ‘hooking’ the Spectrum ROM – whenever a program calls into the ROM to load from tape, Spectrian intercepts the call and instantly reads the next block from the TAP file. The Edit->Preferences->Tape quick load menu item controls whether the ROM is hooked or not. If you turn this off Spectrian will load the tape just as a real Spectrum does, complete with tape loading noises. In this mode you can start and stop the tape using the Spectrian menu. The Edit->Preferences->Tape auto load menu item controls what happens when you first select a TAP file from the Program Browser. By default it is set to ‘On’, meaning that Spectrian resets the Spectrum and then enters the text LOAD “” on a 48K, or just Enter on a 128K after a short delay. If auto loading is switched off, the TAP file is merely opened and positioned at the beginning, ready for the Spectrum to load. For most games you would want auto loading on, and the game itself will control loading subsequent levels, without you even being aware of the fact. However, there are cases where you might need to turn auto loading off. One case is where a program requires the so-called Usr 0 mode. Some 128K games and demos will only work correctly when launched from 48K BASIC. However, you can’t simply select 48 BASIC from the 128K menu as this disables the paging hardware. Select 128 BASIC and type usr 0. This resets the Spectrum into 48K BASIC but leaves the 128K paging hardware active. You can then load the TAP file by typing LOAD “” (J, SYM+P, SYM+P, Enter). Another case is where a program requires that you reset the Spectrum before you can load the next part. In this case select Edit->Reset Spectrum and then load the next part as described above. Resetting the Spectrum after loading prevents Spectrian from associating a keymap with the program, so you might want to immediately save as an SZX snapshot. If you ask the Spectrum to load a program without first opening a TAP file, or if you’ve reached the end of the current TAP file, the Spectrum will just sit there until you hit Break (Space). You should always use the SZX format to save snapshots of programs originally loaded from a TAP file, as a pointer to the current location in the TAP file will be attached to the SZX file. When you load the SZX file, the original TAP file is opened and left in the same place it was in when the snapshot was saved. This allows multi-level games to be resumed correctly. Spectrian crams a huge amount of functionality into your phone. Although emulating a Spectrum is quite easy on a modern PC, your Symbian OS phone is roughly equivalent in processing power to a ten year old PC. There is also the extra complication of having to squeeze the screen and filter the sound to reduce aliasing (which would sound like crackling or buzzing on the phone speaker). Spectrian has full contended memory emulation – this mimics the effect on the Z80 of the Spectrum ULA reading from memory to refresh the screen. Without this most 48K programs run faster than intended, and any program relying on exact timing to do clever border or colour effects will not work (e.g. Aquaplane, Zynaps, Uridium and many demos). All Z80 instructions, including the undocumented ones, are emulated with exact timing. A surprising number of games rely on undocumented instructions and flags to run properly. The effect of reading from an unused IO port is emulated – on a real Spectrum (except for +2a) this will return a mixture of FF, and screen / attribute bytes being read by the ULA. Some games use this to synchronise drawing with the screen refresh (e.g. Arkanoid). Real IO ports are decoded using only the address bits the Spectrum ULA uses, as some programs don’t use the official port numbers. Unfortunately the phone hardware does impose some limitations on the emulation – for performance reasons each line of the screen and border is drawn instantaneously rather than pixel by pixel, as it would be on a real Spectrum. This doesn’t affect the vast majority of commercial games, but some programs (mainly demos) which use multi-colour effects or draw in the border will experience corruption (e.g. Shock Megademo). On older phones the screen is only refreshed at around a quarter the rate of a real Spectrum, so some games may look jerky. However on newer phones with faster processors the screen is refreshed at the full 50Hz. Also Symbian OS phones don't provide any means to synchronise drawing to the screen with the vertical refresh, which results in a phenomenon known as 'tearing' (see the Jet Set Willy opening sequence for an example of this!).
|
||
^ Top |
Legal |