[General Topics] Menneisyys:
Also, again, note that it's in here, at the top (with the "Kempston Joystick" checkbox, that you can disable the Kempston emulation. Should a given game not support Kempston, you'll need to untick this checkbox and, right below the checkbox, make sure you correctly assign the four directions (and the Action button) to real, original keys. These assignments, naturally, aren't editable while Kempston emulation is enabled (after all, Kempston isn't character input emulation-based). However, after disabling Kempston, you can freely edit them, should their default value (the traditional Sinclair interface) be useless.

Note that, fortunately, the key binding / assignment settings are separately saved for each game. This is highly useful because games tend to use different button assignments and continuously redefining them can prove really annoying.

Finally, note that, in FuseSP, you can explicitly (it’s disabled by default) enable the use of external, built-in key/thumbboard, as is the case with UnrealSpeccyPPC, where, in order to make built-in keyboards work, you must select the “Keyboard + cursor” control scheme in BUTTONS. To do this, go to Menu / 4 Options and tick “Device has full keyboard”. Note that it will NOT work correctly with the HTC Vox / S710 slide-out keyboard – the numerals will be used instead of the alphabetic keys, only letting some keys to be accessed. Users of non-sliding, Landscape keyboards, on the other hand, reported success with their keyboards.

1.3.2.3 Joysticks

Traditionally, the Spectrum had a wildly different approach to controlling games than the Commodore 64 or most other home computers designed & manufactured after 1982. The Spectrum not having a built-in joystick port, the user needs to use the keyboard for control. By default, the keys 5 (left), 6 (down),7 (up) and 8 (right) are used to direction control in many games (and, of course, in the BASIC too) and, in general, 0 to fire. You can control a lot of games with this scheme; for example, Harrier Attack! and Pssst, just to name a few.

However, this keyboard-based control was really awkward, which were helped in two ways.

First, other blocks of buttons, more closely representing the four directions and separated to the left and right sides of the keyboard, have been used by some games. The most important of these assignment is the QAOPM scheme, where Q is used for left, O for down, P for up, A for right. For firing, traditionally, two keys were used: either M or the space. Should you encounter a game supporting these buttons instead of the standard 5/6/7/8 ones, you will want to reassign the D-pad directions to use these buttons. Note that, with UnrealSpeccyPPC, where there are several pre-defined control schemes (and you can also create your own ones), you will only need to select the one you need in the BUTTONS tab in Advanced Options. If there's no pre-defined schema for a given game, you'll want to edit action_map.ini by conveniently copying an already-defined block of button assignments, giving it a meaningful name (in the first, preset= attribute) and make the necessary changes. After storing the file and restarting the emulator, the new schema will be visible and selectable. Alternatively, you can also do the same from inside the emulator – with somewhat more effort & clicks.

It's also very important to notice action_map.ini assigns the <AutoFire> functionality to the TSOFT1 button; that is, the left WM5+ softkey. As this button may be missing on some upgraded / native WM5 devices (for example, the Dell Axim x50/x51 series and the non-phone HP iPAQ's) and, of course, ALL devices prior to WM5, you will want to redefine it to use, say, the second application button (APP2).

The second, additional hardware-based approach, was adding joystick interfaces in the extension (interface) ports. These interfaces allowed for plugging in the, then, already (except for the IBM PC, which went its own, analogue controller way) industry-standard 9-pin digital joysticks pioneered by the hugely successful Atari 2600 gaming console.

Two main standards (meaning to different hardware joystick interfaces) exists: that of Kempston and Sinclair. The former doesn't map any keyboard buttons but use its own; the latter does button mapping (which is exactly the same as with the traditional key-based buttons, except for the direction "left", which is, instead of key 5, is mapped to key 9.

In general, hardware joystick-aware games support both joystick interfaces, except for the earliest ones, which may only support Kempston only (the earliest interface to hit the market – it was only later that Sinclair released a joystick-enabled interface, ZX Interface II, to the public). Make sure you look for joystick setup questions at the beginning of games so that you can select the most optimal solution not resulting in your having to switch joystick assignment schemes.

1.3.2.4 Changing screen orientation; image downscaling issues

As opposed to C64 emulators, all Pocket PC emulators have one wired-in (either Landscape or Portrait, but not both) screen orientation. It's only the Smartphone-based FuseSP that supports switching between the two orientations using either the # button (in "Spectrum" mode) or Menu / Options / Screen orientation.

In addition, as opposed to the Smartphone C64 emulator PocketHobbitSP2003, FuseSP supports full-screen stretching on QVGA devices in Portrait mode, which is really-really useful in making use of the entire screen estate. Make sure you look for the option "Stretched Portrait" in Menu / Options / Screen orientation (or, while pressing # to switch screen orientations / modes, select the one that fully stretches the image vertically).