~ubuntu-branches/ubuntu/precise/vice/precise

« back to all changes in this revision

Viewing changes to doc/ReadmeSDL.txt

  • Committer: Bazaar Package Importer
  • Author(s): Laszlo Boszormenyi (GCS)
  • Date: 2010-02-11 18:30:16 UTC
  • mfrom: (1.1.8 upstream) (9.2.2 sid)
  • Revision ID: james.westby@ubuntu.com-20100211183016-f6n8usn3tzp0u6dp
Tags: 2.2.dfsg-1
* New upstream release, C64 DTV is included so update package description
  and add it to the menu.
* Drop patch fixing build failure with gcc-4.4 , applied upstream.
* Fix some lintian problems and clean up debian/rules .

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
SDL port of VICE
 
2
================
 
3
 
 
4
 
 
5
    Contents
 
6
    --------
 
7
 
 
8
    1. General info
 
9
    2. Usage
 
10
    3. Video output
 
11
    4. Building
 
12
 
 
13
 
 
14
1. General info
 
15
===============
 
16
 
 
17
1.1 Goal
 
18
 
 
19
The SDL port is meant to be an easily portable version of VICE
 
20
that is fully usable with just a joystick (with at least 2 buttons)
 
21
or a keyboard. OS/arch-specific features (such as RS-232 support)
 
22
may be omitted for portability. Everything is configurable via the UI.
 
23
 
 
24
 
 
25
1.2 Features
 
26
 
 
27
Some new features that are missing from (some of) the native versions:
 
28
 - Free scaling using OpenGL (from the GTK port) with optional fixed aspect ratio
 
29
 - Virtual keyboard (adapted from the GP2X port)
 
30
 - Hotkey mapping to any menu item
 
31
 - (Host) joystick event mapping to (machine) joystick, keyboard or menu item
 
32
 - No mouse or keyboard required, but both are supported
 
33
 
 
34
Some missing features that are available in (some of) the native versions:
 
35
 - ffmpeg UI
 
36
 
 
37
 
 
38
1.3 Ports
 
39
 
 
40
The SDL port has been tested to work on:
 
41
 - AIX / rs6000
 
42
 - Amiga OS 4.x / ppc
 
43
 - AROS / amd64/x86_64, ppc, x86
 
44
 - BeOS / ppc, x86
 
45
 - BSDi / x86
 
46
 - Dingoo / mipsel
 
47
 - DragonflyBSD / x86
 
48
 - FreeBSD / alpha, amd64/x86_64, ia64, ppc, sparc64, x86
 
49
 - GP2X / arm (joystick unusable)
 
50
 - Hurd / x86
 
51
 - Interix 3.5 (aka SFU) / x86
 
52
 - Interix 5.2 (aka win2003 SUA) / x86
 
53
 - Interix 6.0 (aka vista SUA) / x86
 
54
 - Linux / alpha, amd64/x86_64, arm, armeb, avr32, hppa, ia64, m68k, mips,
 
55
           mipsel, mips64, mips64el, ppc, ppc64, s390, s390x, sh3, sh4, sparc,
 
56
           sparc64, x86
 
57
 - Mac OS X / ppc, amd64/x86_64, x86
 
58
 - MorphOS / ppc
 
59
 - NetBSD / alpha, amd64/x86_64, arm, hppa, m68010 (libaa only), m68k, mipseb,
 
60
            mipsel, ns32k, ppc, sh3eb, sh3le, sparc, sparc64, vax, x86
 
61
 - OpenBSD / alpha, amd64/x86_64, arm, hppa, ppc, sh4, sparc64, x86
 
62
 - OpenServer / x86
 
63
 - QNX 6.x / armle, mipsle, ppcbe, shle, x86
 
64
 - SkyOS / x86
 
65
 - Solaris / amd64/x86_64, sparc, sparc64, x86
 
66
 - SunOS / m68k, sparc
 
67
 - Syllable / x86
 
68
 - Tru64 4.x / alpha
 
69
 - uClinux / m68000
 
70
 - Ultrix / mipsel, vax
 
71
 - UnixWare / x86
 
72
 - Uwin / x86
 
73
 - Win32 / x86
 
74
 - Win64 / ia64, x64
 
75
 - Zaurus (qt) / arm
 
76
 - ...
 
77
 
 
78
 
 
79
2. Usage
 
80
========
 
81
 
 
82
2.1 The menu
 
83
 
 
84
The menu is used with the following commands:
 
85
(default keys/joymap shown)
 
86
 
 
87
--------------------------------------------------
 
88
Command  | Key   | Joy  | Function
 
89
--------------------------------------------------
 
90
Activate | F12   | btn2 | Activate the menu
 
91
Up       | up    |  u   | Move cursor up
 
92
Down     | down  |  d   | Move cursor down
 
93
Left     | left  |  l   | Cancel/Page up
 
94
Right    | right |  r   | Enter menu/Page down
 
95
Select   | enter | fire | Select the item
 
96
Cancel   | <-    | btn2 | Return to previous menu
 
97
Exit     | ESC   | N/A  | Exit the menu
 
98
Map      | m     | btn3 | Map a hotkey (see 2.2)
 
99
--------------------------------------------------
 
100
 
 
101
The keys and joystick events can be configured via the menu.
 
102
 
 
103
Left/Right work as Page up/down on the file selector, otherwise
 
104
left does Cancel and right enters the selected submenu.
 
105
 
 
106
The joystick command Activate behaves as Cancel while in the menu.
 
107
 
 
108
 
 
109
2.2 Hotkeys
 
110
 
 
111
By default, the SDL port doesn't have any hotkeys defined.
 
112
Mapping a hotkey is simple:
 
113
 
 
114
1. Navigate the menu to an item
 
115
2. Issue the Map command (default: 'm', button 3)
 
116
3. Press the desired key(-combo) or joystick direction/button
 
117
 
 
118
The keycombo can use multiple modifiers, for example Ctrl+q and
 
119
Ctrl+Shift+q can be mapped to different menu entries. Note that
 
120
the "left" and "right" versions of a modifier are regarded as the
 
121
same key in the context of hotkeys.
 
122
 
 
123
Hotkeys can be unmapped by mapping the hotkey to an empty menu item.
 
124
 
 
125
Hotkeys do not work while using the menu or virtual keyboard.
 
126
 
 
127
 
 
128
2.3 Virtual keyboard
 
129
 
 
130
The menu commands are also used in the virtual keyboard:
 
131
(default keys/joymap shown)
 
132
 
 
133
--------------------------------------------------
 
134
Command  | Key   | Joy  | Function
 
135
--------------------------------------------------
 
136
Up       | up    |  u   | Move cursor up
 
137
Down     | down  |  d   | Move cursor down
 
138
Left     | left  |  l   | Move cursor left
 
139
Right    | right |  r   | Move cursor right
 
140
Select   | enter | fire | Press/release the key
 
141
Cancel   | <-    | btn2 | Press/release with shift
 
142
Exit     | ESC   | N/A  | Close the virtual kbd
 
143
Map      | m     | btn3 | Map a key/button
 
144
--------------------------------------------------
 
145
 
 
146
Note that pressing a key and releasing the key generate separate events.
 
147
This means that pressing Select on a key, moving to an another key and
 
148
releasing Select releases the latter key; with this, multiple keys
 
149
can be pressed down at once.
 
150
 
 
151
The joystick command Activate behaves as Cancel while using the virtual
 
152
keyboard.
 
153
 
 
154
The virtual keyboard can be moved by pressing (and holding) Select on an
 
155
empty space and moving the cursor.
 
156
 
 
157
The virtual keyboard can be closed by pressing the 'X' in the top left corner,
 
158
with the command Exit or with the command Cancel when the cursor is at an
 
159
empty spot.
 
160
 
 
161
Keys and joystick events can be mapped to the keyboard via the virtual keyboard.
 
162
 
 
163
 
 
164
2.4 Text input dialog virtual keyboard
 
165
 
 
166
The text input dialog also has a virtual keyboard, which can be activated
 
167
with the key F10 or joystick commands Cancel or Map.
 
168
 
 
169
When the virtual keyboard is active, the following commands are active:
 
170
(default keys/joymap shown)
 
171
 
 
172
--------------------------------------------------
 
173
Command  | Key   | Joy  | Function
 
174
--------------------------------------------------
 
175
Up       | up    |  u   | Move cursor up
 
176
Down     | down  |  d   | Move cursor down
 
177
Left     | left  |  l   | Move cursor left
 
178
Right    | right |  r   | Move cursor right
 
179
Select   | enter | fire | Press the key
 
180
Cancel   | <-    | btn2 | Press with shift
 
181
Exit     | ESC   | N/A  | Close the virtual kbd
 
182
Map      | m     | btn3 | Close the virtual kbd
 
183
--------------------------------------------------
 
184
 
 
185
The joystick command Activate behaves as Cancel while using the virtual
 
186
keyboard.
 
187
 
 
188
Simultaneous keypresses are not possible. The virtual keyboard cannot be moved.
 
189
 
 
190
The virtual keyboard can be closed by pressing the 'X' in the top left corner,
 
191
with the commands Exit and Map or with the command Cancel when the cursor is at an
 
192
empty spot.
 
193
 
 
194
To exit/cancel the dialog itself, press "esc" on the virtual keyboard.
 
195
 
 
196
Note that normal text input via keyboard is not possible while the virtual
 
197
keyboard is active.
 
198
 
 
199
 
 
200
2.5 Slider controls
 
201
 
 
202
Several settings like volume and colour values are configured using the slider
 
203
control. For example, the volume control is represented as follows:
 
204
 
 
205
Select Volume:
 
206
 
 
207
Step: 1
 
208
********************....................
 
209
50
 
210
 
 
211
The slider value can be decremented/incremented by the Left/Right commands.
 
212
 
 
213
The step value indicates how many units the slider will change by for each Left/
 
214
Right command.
 
215
 
 
216
Step values can be changed by the Up/Down command and will decrement/increment in
 
217
units of 10. The maximum step value will always be 1 order of magnitude less than
 
218
the maximum setting value e.g. volume ranges between 0 and 100, so valid step
 
219
values are 1 and 10. For a larger maximum value e.g. 1000, valid step values
 
220
would be 1, 10 and 100.
 
221
 
 
222
Note that normal text input via keyboard is not possible while the slider is
 
223
displayed. The Map command opens a text input dialog for editing the value
 
224
directly.
 
225
 
 
226
 
 
227
2.6 Settings
 
228
 
 
229
The settings are saved separately into 4 files:
 
230
 - main settings (sdl-vicerc, sdl-vice.ini, "Load/Save settings")
 
231
 - fliplist (...)
 
232
 - hotkey (sdl-hotkey-MACHINE.vkm, "Load/Save hotkeys")
 
233
 - joymap (sdl-joymap-MACHINE.vjm, "Load/Save joystick map")
 
234
 
 
235
Remember to save the relevant settings file.
 
236
 
 
237
 
 
238
3. Video output
 
239
===============
 
240
 
 
241
3.1 Bit depth
 
242
 
 
243
By default, the bit depth for the video output is determined automatically;
 
244
in most cases, this means the current desktop bit depth. The detected value
 
245
is saved to the main settings file (resource "SDLBitdepth").
 
246
 
 
247
There is no menu item for bit depth selection, as runtime switching is not
 
248
implemented. To use a specific bit depth, use the command line parameter
 
249
"-sdlbitdepth <bpp>". Supported bpp values are 0, 8, 15, 16, 24 and 32.
 
250
The value 0 forces autodetection.
 
251
 
 
252
 
 
253
3.2 Fullscreen
 
254
 
 
255
There are two fullscreen modes: "Automatic" asks SDL for a fullscreen mode
 
256
with the resolution of the current window size. "Custom" uses the custom
 
257
width/height settings.
 
258
 
 
259
 
 
260
3.3 Resolution limit
 
261
 
 
262
The resolution limit modes are meant for devices with restricted screen sizes,
 
263
f.ex handhelds with 320x240. For most cases, the mode should be set to "Off"
 
264
at all times.
 
265
 
 
266
"Max" mode caps and "Fixed" forces the window size to the custom width/height.
 
267
 
 
268
 
 
269
3.4 OpenGL
 
270
 
 
271
OpenGL free scaling works only with bit depths 24 and 32. For fullscreen with
 
272
OpenGL, using "Custom" mode is strongly advised. The pixel aspect ratio can be
 
273
(optionally) fixed to a settable constant. Resolution limiting is disabled
 
274
when free scaling is enabled.
 
275
 
 
276
 
 
277
4. Building
 
278
===========
 
279
 
 
280
4.1 Building in *nix compile enviroments
 
281
 
 
282
./configure --enable-sdlui
 
283
make
 
284
make install
 
285
 
 
286
You'll need the SDL libs and headers. For free scaling, the OpenGL is
 
287
also needed (libGL, opengl32.dll, ...)
 
288
 
 
289
 
 
290
4.2 Building in Visual Studio
 
291
 
 
292
For MSVC building instructions see src/arch/sdl/win32-msvc/Readme.txt