1fuse(1)                            Emulators                           fuse(1)
2
3
4

NAME

6       fuse - Sinclair ZX Spectrum emulator
7

SYNOPSIS

9       fuse [options]

DESCRIPTION

11       Fuse  is  a  Sinclair  ZX Spectrum emulator. It supports several models
12       (including the 128), with quite faithful emulation of the  display  and
13       sound.
14
15       The  emulator can load any of the formats supported by libspectrum(3) -
16       this includes Z80, SNA and SZX snapshots, and TAP and TZX  virtual-tape
17       files.  Saving to SZX, Z80 and SNA snapshots and TZX and TAP tape files
18       is supported. The SLT extension to the Z80 format is  partly  supported
19       (enough  for  multi-load  games);  however, loading of the old DAT-file
20       variant is not. DSK, UDI, FDI, TR0, SDF, MGT, IMG, SAD,  TRD,  SCL  and
21       OPD  disk images are supported when a disk interface is being emulated,
22       including the integrated  disk  drives  on  +3,  Pentagon  or  Scorpion
23       machines as well as the +D, Opus Discovery and Beta 128 interfaces. DCK
24       cartridge images are supported when emulating  a  Timex  2068  variant.
25       Interface II ROM cartridges are also supported.
26
27       Finally,  there  is  also support for reading and writing the RZX input
28       recording format.
29
30       See the COMPRESSED FILES section for  details  on  reading  files  com‐
31       pressed with bzip2(3) or gzip(3).
32

OPTIONS

34       --accelerate-loader
35              Specify  whether  Fuse should attempt to accelerate tape loaders
36              by "short circuiting" the loading loop.  This  will  in  general
37              speed  up  loading, but may cause some loaders to fail. (Enabled
38              by default, but you can  use  `--no-accelerate-loader'  to  dis‐
39              able). The same as the General Options dialog's Accelerate load‐
40              ers option.
41
42       --aspect-hint
43              Specify whether the GTK+ and Xlib user interfaces should  `hint'
44              to  the  window manager about the preferred aspect ratio for the
45              graphics window, thus preventing resizing  to  non-square  sizes
46              which  lead  to  Fuse  not displaying correctly. This option has
47              been observed to cause problems with some window  managers  when
48              using  the  GTK+  UI  which  can  prevent  the window from being
49              resized or moved at all. (Enabled by default, but  you  can  use
50              `--no-aspect-hint'     to     disable).     See     also     the
51              `--strict-aspect-hint' option.
52
53       --autosave-settings
54              Specify whether Fuse's current settings should be  automatically
55              saved  on  exit.  The same as the General Options dialog's Auto-
56              save settings option.
57
58       --auto-load
59              Specify whether tape and  disk  files  should  be  automatically
60              loaded  when  they  are  opened  using  the  File, Open...  menu
61              option. (Enabled by default, but you can use `--no-auto-load' to
62              disable).  Same  as the General Options dialog's Auto-load media
63              option.
64
65       --beta128
66              Emulate a Beta 128 interface. Same as  the  Peripherals  Options
67              dialog's Beta 128 interface option.
68
69              --betadisk Specify a Betadisk image to load.
70
71       --bw-tv
72              Specify  whether  the  display should simulate a colour or black
73              and white television. This option is effective under  the  GTK+,
74              Xlib  and SDL user interfaces: the others will always simulate a
75              colour TV. The same as the General Options  dialog's  Black  and
76              white TV option.
77
78       --competition-code code
79              Specify  the  code  to be written to competition mode RZX files.
80              The same as the RZX Options dialog's Competition code option.
81
82       --competition-mode
83              Specify whether input recordings should be made in  `competition
84              mode'.   The  same  as the RZX Options dialog's Competition mode
85              option.
86
87       --compress-rzx
88              Specify whether RZX files  should  be  written  out  compressed.
89              (Enabled by default, but you can use `--no-compress-rzx' to dis‐
90              able). Same as  the  RZX  Options  dialog's  Compress  RZX  data
91              option.
92
93       --confirm-actions
94              Specify  whether  `dangerous'  actions  (those which could cause
95              data loss, for example resetting the Spectrum) require confirma‐
96              tion  before  occurring.  (Enabled  by  default, but you can use
97              `--no-confirm-actions' to disable).  This  option  is  effective
98              under  the  GTK+ UI, and is the same as the General Options dia‐
99              log's Confirm actions option.
100
101       --debugger-command string
102              Specify a debugger command to be run  before  emulator  startup.
103              This can be used to set breakpoints or the like. Currently, this
104              is the only method to input multi-line debugger  commands.  (See
105              the MONITOR/DEBUGGER section for more information).
106
107       --detect-loader
108              Specify  whether  Fuse should attempt to detect when the tape is
109              being accessed and start and stop the virtual tape playing auto‐
110              matically.    (Enabled    by    default,   but   you   can   use
111              `--no-detect-loader' to disable). Same as  the  General  Options
112              dialog's Detect loaders option.
113
114       --divide
115              Emulate  the  DivIDE  interface.  The  same  as  the Peripherals
116              Options dialog's DivIDE interface option.
117
118       --divide-masterfile file
119       --divide-slavefile file
120              Specify an IDE image to be loaded  into  the  DivIDE's  emulated
121              master and slave drives respectively.
122
123       --divide-write-protect
124              Specify  that  the emulated DivIDE's write protect jumper should
125              be considered set. The same as the Peripherals Options  dialog's
126              DivIDE write protect option.
127
128       --dock file
129              Insert  the  specified file into the emulated Timex 2068 variant
130              dock; also select the TC2068 on startup if available.
131
132       --doublescan-mode
133              Specify the the framebuffer UI should attempt to  use  a  double
134              scan mode (where each line is displayed twice).
135
136       --embed-snapshot
137              Specify  whether  a  snapshot  should be embedded in an RZX file
138              when recording is started from an existing snapshot. (Enabled by
139              default, but you can use `--no-embed-snapshot' to disable). Same
140              as the RZX Options dialog's Always embed snapshot option.
141
142       --fastload
143              Specify whether Fuse should run at the  fastest  possible  speed
144              when  the  virtual tape is playing. (Enabled by default, but you
145              can use `--no-fastload' to disable). The  same  as  the  General
146              Options dialog's Fastloading option.
147
148       -f frequency
149       --sound-freq frequency
150              Specify what frequency Fuse should use for the sound device, the
151              default is 32 kHz, but some devices only support a  single  fre‐
152              quency or a limited range (e.g.  48 kHz or up to 22 kHz).
153
154       --fuller
155              Emulate  a Fuller Box interface. Same as the Peripherals Options
156              dialog's Fuller Box option.
157
158       --full-screen
159              Specify whether Fuse should  run  in  full  screen  mode.   This
160              option is effective only under the SDL UI.
161
162       -g filter
163       --graphics-filter mode
164              Specify  which  graphics filter to use if available. The default
165              is normal, which uses no filtering. The  available  options  are
166              2x,  2xsai, 3x, advmame2x, advmame3x, dotmatrix, half, halfskip,
167              normal, super2xsai, supereagle, timex15x, timextv, tv2x,  paltv,
168              paltv2x, and paltv3x.  See the GRAPHICS FILTERS section for more
169              details.
170
171       --graphicsfile file
172              Set the filename used for graphical output from the emulated  ZX
173              printer. See the PRINTER EMULATION section for more details.
174
175       -h
176       --help
177              Give brief usage help, listing available options.
178
179       --if2cart file
180              Insert the specified file into the emulated Interface II.
181
182       --interface1
183              Emulate  a Sinclair Interface I. Same as the Peripherals Options
184              dialog's Interface I option.
185
186       --interface2
187              Emulate a Sinclair Interface II. (Enabled by  default,  but  you
188              can  use  `--no-interface2' to disable). Same as the Peripherals
189              Options dialog's Interface II option.
190
191       --issue2
192              Emulate an issue 2 keyboard. Same as the  General  Options  dia‐
193              log's Issue 2 keyboard option.
194
195       -j device
196       --joystick-1 device
197              Read  from  device  to emulate the first joystick. Fuse will use
198              either `/dev/input/js0' or `/dev/js0' by default.
199
200       --joystick-2 device
201              As for --joystick-1 but for the  second  joystick;  the  default
202              here is either `/dev/input/js1' or `/dev/js1'.
203
204       --joystick-prompt
205              If  this  option  is  specified, Fuse Fuse will prompt you which
206              form of joystick emulation you wish to use when loading a  snap‐
207              shot. No prompt will be issued if the configuration in the snap‐
208              shot matches what you are currently using. The same as the  Gen‐
209              eral Options dialog's Snap joystick prompt option.
210
211       --kempston
212              Emulate  a  Kempston  joystick.  Same as the Peripherals Options
213              dialog's Kempston joystick option.
214
215       --kempston-mouse
216              Emulate a Kempston mouse. Same as the Peripherals  Options  dia‐
217              log's Kempston mouse option.
218
219       --late-timings
220              It  has been observed that some real Spectrums run such that the
221              screen is rendered one tstate later than on other real hardware.
222              This  option  specifies that Fuse should emulate such a machine.
223              Same as the General Options dialog's Late timings option.
224
225       --loading-sound
226              Specify whether the sound made while tapes are loading should be
227              emulated.  (Enabled  by  default,  but  you  can use `--no-load‐
228              ing-sound' to disable). Same as the Sound Options dialog's Load‐
229              ing sound option.
230
231       -m type
232       --machine type
233              Specify  machine type to emulate initially. The default is 48, a
234              48K Spectrum. The available options are 16,  48,  48_ntsc,  128,
235              plus2, plus2a, plus3, 2048, 2068, ts2068, pentagon, pentagon512,
236              pentagon1024, scorpion and se.
237
238       --melodik
239              Emulate a Melodik AY interface for 16/48k Spectums. Same as  the
240              Peripherals Options dialog's Melodik option.
241
242       --microdrive-file file
243       --microdrive-2-file file
244       --microdrive-3-file file
245       --microdrive-4-file file
246       --microdrive-5-file file
247       --microdrive-6-file file
248       --microdrive-7-file file
249       --microdrive-8-file file
250              Specify Interface I Microdrive cartridge files to open.
251
252       --opus
253              Emulate  a  Opus  Discovery  interface.  Same as the Peripherals
254              Options dialog's Opus Discovery interface option.
255
256       --opusdisk file
257              Insert the specified file into  the  emulated  Opus  Discovery's
258              drive 1.
259
260       -p file
261       --playback file
262              Specify an RZX file to begin playback from.
263
264       --paltv2x
265              Specify  whether the PAL TV 2x and PAL TV 3x scalers should also
266              produce scanlines along the lines of the  TV  2x  and  Timex  TV
267              scalers.   The  same  as the General Options dialog's PAL-TV use
268              TV2x effect option.
269
270       --plus3disk file
271              Insert the specified file into the emulated +3's A: drive;  also
272              select the +3 on startup if available.
273
274       --plus3-detect-speedlock
275              Specify  whether the +3 drives try to detect Speedlock protected
276              disks, and emulate 'weak' sectors.  If the disk image file (EDSK
277              or  UDI)  contains weak sector data, than Speedlock detection is
278              automatically omitted.  See also the  WEAK  DISK  DATA  section.
279              Same as the Disk Options dialog's +3 Detect Speedlock option.
280
281       --plusd
282              Emulate a +D interface. Same as the Peripherals Options dialog's
283              +D interface option.
284
285       --plusddisk file
286              Insert the specified file into the emulated +D's drive 1.
287
288       --printer
289              Specify whether the emulation should include a printer. Same  as
290              the Peripherals Options dialog's Emulate printers option.
291
292       --rate frame
293              Specify  the  frame rate, the ratio of spectrum frame updates to
294              real frame updates. Same as the General Options  dialog's  Frame
295              rate option.
296
297       -r file
298       --record file
299              Specify an RZX file to begin recording to.
300
301       --rom-16 file
302       --rom-48 file
303       --rom-128-0 file
304       --rom-128-1 file
305       --rom-plus2-0 file
306       --rom-plus2-1 file
307       --rom-plus2a-0 file
308       --rom-plus2a-1 file
309       --rom-plus2a-2 file
310       --rom-plus2a-3 file
311       --rom-plus3-0 file
312       --rom-plus3-1 file
313       --rom-plus3-2 file
314       --rom-plus3-3 file
315       --rom-plus3e-0 file
316       --rom-plus3e-1 file
317       --rom-plus3e-2 file
318       --rom-plus3e-3 file
319       --rom-tc2048 file
320       --rom-tc2068-0 file
321       --rom-tc2068-1 file
322       --rom-ts2068-0 file
323       --rom-ts2068-1 file
324       --rom-pentagon-0 file
325       --rom-pentagon-1 file
326       --rom-pentagon-2 file
327       --rom-pentagon-3 file
328       --rom-scorpion-0 file
329       --rom-scorpion-1 file
330       --rom-scorpion-2 file
331       --rom-scorpion-3 file
332       --rom-spec-se-0 file
333       --rom-spec-se-1 file
334       --rom-interface-1 file
335       --rom-opus file
336       --rom-plusd file
337       --rom-beta128 file
338              Specify  the  file  to be used for ROM(s) used for each machine.
339              The options respectively refer to the 16K Spectrum (48.rom), 48K
340              Spectrum (48.rom), the two ROMs for the 128K Spectrum (128-0.rom
341              and 128-1.rom),  the  two  ROMs  for  the  +2  (plus2-0.rom  and
342              plus2-1.rom),   the   four   ROMs   for  the  +2A  (plus3-0.rom,
343              plus3-1.rom, plus3-2.rom and plus3-3.rom), the four ROMs for the
344              +3  (plus3-0.rom, plus3-1.rom, plus3-2.rom and plus3-3.rom), the
345              TC2048  ROM  (tc2048.rom),  the  two   ROMs   for   the   TC2068
346              (tc2068-0.rom  and  tc2068-1.rom),  the  two ROMs for the TS2068
347              (tc2068-0.rom and tc2068-1.rom), the two main ROMs,  the  TR-DOS
348              ROM  and  a  reset  service  ROM  for  the Pentagon (128p-0.rom,
349              128p-1.rom, trdos.rom and gluck.rom),  the  four  ROMs  for  the
350              Scorpion    256    (256s-0.rom,   256s-1.rom,   256s-2.rom   and
351              256s-3.rom), the two ROMs for  the  Spectrum  SE  (se-0.rom  and
352              se-1.rom),  the  Interface I ROM (if1-2.rom), the Opus Discovery
353              ROM (opus.rom), the +D ROM (plusd.rom), and the TR-DOS  ROM  for
354              Beta 128 emulation with the 48K, TC2048, 128K or +2 (trdos.rom).
355              The names in brackets denote the defaults.
356
357       --no-rs232-handshake
358              This option makes Fuse's Interface I emulation assume  that  the
359              RS-232 line other end is live when you connect the communication
360              channels.  See also the `--rs232-rx' and `--rs232-tx' options.
361
362       --rs232-rx
363       --rs232-tx
364              Specify the communication channels (FIFO or file) to be used for
365              Interface  I  RS-232 emulation as RxD and TxD wire. See also the
366              `--rs232-handshake' options.
367
368       --rzx-autosaves
369              Specify that, while recording an RZX file, Fuse should automati‐
370              cally  add  a  snapshot to the recording stream every 5 seconds.
371              (Default to on, but you can  use  `--no-rzx-autosaves'  to  dis‐
372              able).  Same  as  the  RZX  Options  dialog's "Create autosaves"
373              option; see there for more details.
374
375       --separation
376              Give stereo separation of the 128's AY sound channels.  Same  as
377              the General Options dialog's AY stereo separation option.
378
379       --simpleide
380              Specify whether Fuse will emulate the simple 8-bit IDE interface
381              as used by the Spectrum +3e. Same  as  the  Peripherals  Options
382              dialog's Simple 8-bit IDE option.
383
384       --simpleide-masterfile file
385              Specify  a  HDF file to connect to the emulated Simple 8-bit IDE
386              interface's master channel.
387
388       --simpleide-slavefile file
389              Specify a HDF file to connect to the emulated Simple  8-bit  IDE
390              interface's slave channel.
391
392       --slt
393              Support  the  SLT trap instruction. (Enabled by default, but you
394              can use `--no-slt' to disable). Same as the General Options dia‐
395              log's Use .slt traps option.
396
397       -s file
398       --snapshot file
399              Specify a snapshot file to load. The file can be in any snapshot
400              format supported by libspectrum(3).
401
402       --sound
403              Specify whether Fuse should produce sound. (Enabled by  default,
404              but  you  can  use  `--no-sound'  to disable). Same as the Sound
405              Options dialog's Sound enabled option.
406
407       --sound-force-8bit
408              Force the use of 8-bit sound, even if 16-bit is  possible.  Same
409              as the Sound Options dialog's Force 8-bit option.
410
411       --speaker-type type
412              Select  the  output speaker emulation, type can be TV speaker or
413              Beeper.  Same as the Sound Options dialog's Speaker type option.
414
415       --volume-ay volume
416              Sets the relative volume of the AY-3-8912 chip from a  range  of
417              0-100%. Same as the Sound Options dialog's AY volume option.
418
419       --volume-beeper volume
420              Sets  the  relative volume of the beeper from a range of 0-100%.
421              Same as the Sound Options dialog's Beeper volume option.
422
423       -d device
424       --sound-device device
425              Specify the sound output device to use and any options  to  give
426              that  device.  If you are not using the SDL UI or using libao or
427              libasound (ALSA) for sound output,  then  the  device  parameter
428              just specifies the device to be used for sound output.
429
430              If  you are using the SDL UI, the device parameter allows you to
431              specify the audio driver to be used (e.g. dsp,  alsa,  dma,  esd
432              and arts).
433
434              If  you  are  using libao for sound output, the device parameter
435              allows you to specify the device used for sound  output  (either
436              `live'  to a speaker or to a file) and the parameters to be used
437              for that device. In general, the device parameter has  the  form
438              driver[:param[=value][,param[=value][,...]].  driver selects the
439              libao driver to be used, either one of the `live' drivers (aixs,
440              alsa,  alsa09,  arts,  esd, irix , macosx, nas, oss or sun) or a
441              file driver (au, raw, wav or null).  The available parameter and
442              value pairs for each device are:
443
444              ·      aixs: AIX audio system
445
446                     ·      dev=device
447                            `device' gives the AIX sound device.
448
449              ·      alsa: Advanced Linux Sound Architecture version 0.5.x
450
451                     ·      card=num
452                            `num' gives the ALSA card number.
453
454                     ·      dev=num
455                            `num' gives the ALSA device number.
456
457                     ·      buf_size=num
458                            `num' gives the ALSA buffer size in bytes.
459
460              ·      alsa09: Advanced Linux Sound Architecture version 0.9+
461
462                     ·      dev=string
463                            `string' specfies the ALSA device e.g. hw:1.2
464
465                     ·      buffer_time=num
466                            `num' gives the ALSA buffer time in microseconds.
467
468                     ·      period_time=num
469                            `num' gives the ALSA period time in microseconds.
470
471                     ·      use_mmap=yes|y|true|t|1
472                            specifies that libao use memory mapped transfer.
473
474              ·      arts: aRts soundserver: no parameters.
475
476              ·      esd: Enlightened Sound Daemon.
477
478                     ·      host=string
479                            `string' gives the ESD host specification.
480
481              ·      irix: IRIX Audio Library: no parameters.
482
483              ·      macosx: MacOS X CoreAudio: no parameters.
484
485              ·      nas: Network Audio System.
486
487                     ·      host=string
488                            `string' gives the NAS host specification.
489
490                     ·      buf_size=num
491                            `num' gives the buffer size on the server.
492
493              ·      oss: Open Sound System.
494
495                     ·      dsp=string
496                            `string'  gives  the  OSS  device  to be used e.g.
497                            /dev/sound/dsp1
498
499              ·      sun: SUN audio system.
500
501                     ·      dev=string
502                            `string' gives the audio device to be used.
503
504              ·      au: SUN Sparc audio file: no parameters.
505
506              ·      raw: raw file.
507
508                     ·      byteorder=string
509                            `string' can be any of native (host  native  byte‐
510                            order),   big   (big  endian)  or  little  (little
511                            endian).
512
513              ·      wav: Microsoft audio file: no parameters.
514
515              ·      null: null output: no parameters.
516
517              ·      debug: for debugging libao.
518
519              Finally, each of the file output types (au, raw and wav) have an
520              extra  option  `file=filename'  where  `filename' gives the file
521              output will be directed to. This defaults to `fuse-sound.ao'  if
522              it is not specified.
523
524              Some examples of use:
525
526              fuse -d alsa09:dev=hw:1
527
528              causes  Fuse  to use ALSA 0.9+ output with the second (#1) sound
529              card.
530
531              fuse -d raw:byteorder=little,file=enigma.raw
532
533              causes Fuse to save little endian words to `enigma.raw'.
534
535              See the `DEVICE' section of ogg123(1) for up to date information
536              of  devices  and  options (except for the `file' option which is
537              provided by Fuse itself).
538              If you are using libasound or ALSA for sound output, the  device
539              parameter allows you to specify the device used for sound output
540              and some parameters to be used for that device. In general,  the
541              device parameter has the form
542              devstr or
543              param[=value][,param[=value][,...][,devstr].
544
545              ·      devstr:  selects the ALSA device used, it can be any com‐
546                     plex or simple ALSA device name. e.g.: default or hw:0 or
547                     tee:plughw:0,'/tmp/out.raw',raw  See the alsa-lib pcm api
548                     reference                                              at
549                     http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html
550                     for further explanation.
551
552              ·      param and values:
553
554                     ·      buffer=nnnn:  set  the  ALSA  buffer  in   frames,
555                            smaller  value  cause  smaller sound delay but may
556                            more buffer underrun  (pops  and  clicks),  larger
557                            value  cause  longer  delay but fewer underrun. By
558                            default Fuse determine the buffer  size  based  on
559                            the actual sound frequency.
560                            If you use some special plugin for your pcm device
561                            (e.g.: dmix) or your card not support some  needed
562                            parameter  (e.g.  cannot  play  other  only 48 kHz
563                            stereo sound like some AC97 sound card) may  cause
564                            Fuse  unable to set the needed buffer size, appro‐
565                            priate sound frequency, channels and so on, there‐
566                            fore you cannot get optimal result or not hear the
567                            sound at all.  In  this  case  try  the  plughw:#,
568                            (where # mean your card number counted from 0) for
569                            ALSA device.
570
571                     ·      verbose : if given, fuse report ALSA buffer under‐
572                            runs to stderr
573
574              Some examples of use:
575
576              fuse -d verbose,buffer=2000
577
578              causes  Fuse  to  use  the  default  ALSA device with 2000 frame
579              length buffer and report ALSA buffer underruns on stderr.
580
581              fuse -d tee:plughw:0,'/tmp/aufwm.raw',raw
582
583              causes Fuse to use the first card  and  parallel  save  the  raw
584              audio samples into /tmp/aufwm.raw file.
585
586       --speed percentage
587              Specify  the  speed  (as a percentage of real Spectrum speed) at
588              which emulation should attempt to proceed. Same as  the  General
589              Options dialog's Emulation speed option.
590
591       --statusbar
592              For  the GTK+ UI, enables the statusbar beneath the display. For
593              the SDL UI, enables the status icons showing  whether  the  disk
594              and  tape  are  being accessed. Same as the General Options dia‐
595              log's Show statusbar option.
596
597       --strict-aspect-hint
598              For the GTK+ UI, use stricter limits for the aspect ratio limits
599              set  by  the  `--aspect-hint' option. This can cause some window
600              managers (for example, metacity(1)) to not allow the  window  to
601              be  resized  and  moved, but is necessary to prevent others (for
602              example, fvwm(1)) from being able resize the  window  away  from
603              square.
604
605       -v mode
606       --fbmode mode
607              Specify  which  mode  to use for the FB UI. Available values for
608              mode are `320' (which corresponds to a  320x240x256  mode),  the
609              default and `640' (a 640x480x256 mode).
610
611       --svga-modes mode1,mode2,mode3
612              Specify  which  SVGA mode to use for the SVGAlib UI at different
613              screen sizes. Available values for mode1, mode2  and  mode3  are
614              listed  in a table, when Fuse called with --svga-modes list com‐
615              mand line option.  When user select a not available mode  for  a
616              size,  Fuse  just  ignore  and try to find the best mode for it.
617              e.g.  with  --svga-modes   0,0,12   Fuse   use   the   specified
618              1024x768@256  SVGA mode for triple size filters, but select SVGA
619              modes automatically for normal  or  double  size  filters.   The
620              above mode number is just an example, and mode numbers and their
621              meanings may vary graphics card by graphics card.
622
623       -D mode
624       --doublescan-mode mode
625              Specify whether to use doublescan modes in the FB UI.  Available
626              values  for mode are 0, 1 and 2. 0 means `never doublescan' (use
627              640x480 at either 72 Hz or 60 Hz), whereas 1  and  2  both  mean
628              `try to use doublescan' and will fall back on the 640x480 modes.
629              1 selects 72 Hz modes (the same size and shape as  your  typical
630              640x480), and 2 selects 60 Hz modes (overscan).
631              If your monitor displays a blank screen when using 1 or 2, press
632              F10 then try a different option or say `--fbmode 640'.
633
634       -t file
635       --tape file
636              Specify a virtual tape file to use. It must be  in  TAP  or  TZX
637              format.
638
639       --textfile file
640              Set  the  filename used for text output from the emulated print‐
641              ers. See the PRINTER EMULATION section below for more details.
642
643       --traps
644              Support traps for ROM tape loading/saving. (Enabled by  default,
645              but  you  can  use `--no-traps' to disable). Same as the General
646              Options dialog's Use tape traps option.
647
648       --betadisk file
649              Insert the specified file into the  emulated  Beta  disk  inter‐
650              face's drive A: and select Pentagon mode on startup.
651
652       -V
653       --version
654              Show which version of Fuse is being used.
655
656       --writable-roms
657              Allow Spectrum programs to overwrite the ROM(s). The same as the
658              General Options dialog's Allow writes to ROM option.
659
660       --zxatasp
661              Specify whether Fuse emulate the ZXATASP interface. Same as  the
662              Peripherals Options dialog's ZXATASP interface option.
663
664       --zxatasp-upload
665              Specify  the  state  of  the  ZXATASP upload jumper. Same as the
666              Peripherals Options dialog's ZXATASP upload option.
667
668       --zxatasp-write-protect
669              Specify the state of the ZXATASP write protect jumper.  Same  as
670              the Peripherals Options dialog's ZXATASP write protect option.
671
672       --zxatasp-masterfile file
673              Specify  a  HDF  file  to connect to the emulated ZXATASP inter‐
674              face's master channel.
675
676       --zxatasp-slavefile file
677              Specify a HDF file to connect to  the  emulated  ZXATASP  inter‐
678              face's slave channel.
679
680       --zxcf
681              Specify  whether  Fuse  emulate  the ZXCF interface. Same as the
682              Peripherals Options dialog's ZXCF interface option.
683
684       --zxcf-upload
685              Specify the state of the ZXCF upload jumper. Same as the Periph‐
686              erals Options dialog's ZXCF upload option.
687
688       --zxcf-cffile file
689              Specify a HDF file to connect to the emulated ZXCF interface.
690
691       All  long  options  which control on/off settings can be disabled using
692       `--no-foo' (for an option  `--foo').   For  example,  the  opposite  of
693       `--issue2'  is `--no-issue2'.  These options can also be modified while
694       the emulator is running, using the options dialogs - see the documenta‐
695       tion for the Options menu in the MENUS AND KEYS section for details.
696

THE VARIOUS FRONT-ENDS

698       Fuse  supports  various front-ends, or UIs (user interfaces). The usual
699       one is GTK+-based, but there are also SDL,  Xlib,  SVGAlib  and  frame‐
700       buffer ones.
701
702       The important difference to note is that the GTK+ version uses `native'
703       dialog boxes etc. (behaving like a  fairly  normal  GUI-based  program)
704       while  the  others  use an alternative, Fuse-specific `widget UI'. This
705       latter front-end is easily spotted by the way it  uses  the  main  Fuse
706       window/screen for menus and dialogs, and uses the Spectrum's own font.
707
709       Since  many of the keys available are devoted to emulation of the Spec‐
710       trum's keyboard, the primary way of  controlling  Fuse  itself  (rather
711       than  the  emulated  machine) is via the menus. There are also function
712       key shortcuts for some menu options.
713
714       In the GTK+ version, the menu bar is always visible at the top  of  the
715       Fuse  window. You can click on a menu name to pop it up. Alternatively,
716       you can press F1 to display a pop-up version of the menu bar, which you
717       can then navigate with the cursor keys or mouse.
718
719       In  the widget UI pressing F1 is the only way to get the main menu; and
720       unlike the GTK+ version, the emulator pauses while the menus are  being
721       navigated.  The  menus  show which key to press for each menu option in
722       brackets. Pressing Esc exits a menu, and pressing Enter exits the  menu
723       system entirely (as well as `confirming' any current dialog).
724
725       Here's  what  the menu options do, along with the function key mappings
726       for those items which have them:
727
728       F3
729       File, Open...
730              Open a Spectrum file. Snapshots will be loaded into memory; tape
731              images  will be inserted into the emulated tape deck, and if the
732              Auto-load media option is set will being loading. Opening a disk
733              image  or  a Timex dock image will cause the appropriate machine
734              type (+3, Pentagon or TC2068) to  be  selected  with  the  image
735              inserted,  and  disks  will  automatically load if the Auto-load
736              media option is set. See the FILE SELECTION  section  below  for
737              details  on  how to choose the file. Note that this behaviour is
738              different from previous versions of Fuse, when this option would
739              open only snapshots.
740
741       F2
742       File, Save Snapshot...
743              Save  a snapshot (machine state, memory contents, etc.) to file.
744              You can select the filename to be saved to. If it  has  a  .szx,
745              .z80  or .sna extension, the snapshot will be saved in that for‐
746              mat. Otherwise, it will be saved as a .szx file.
747
748       File, Recording, Record...
749              Start recording input to an RZX file, initialised from the  cur‐
750              rent  emulation  state.  You  will be prompted for a filename to
751              use.
752
753       File, Recording, Record from snapshot...
754              Start recording input to an RZX file, initialised from  a  snap‐
755              shot.  You  will first be asked for the snapshot to use and then
756              the file to save the recording to.
757
758       Insert
759       File, Recording, Insert snapshot
760              Inserts a snapshot of the current state into the RZX file.  This
761              can  be used at a later point to roll back to the inserted state
762              by using one of the commands below.
763
764       Delete
765       File, Recording, Rollback
766              Rolls back the recording to the  point  at  which  the  previous
767              snapshot was inserted. Recording will continue from that point.
768
769       File, Recording, Rollback to...
770              Roll  back the recording to any snapshot which has been inserted
771              into the recording.
772
773       File, Recording, Play...
774              Playback recorded input from an RZX file. This lets  you  replay
775              keypresses  recorded  previously.  RZX files generally contain a
776              snapshot with the Spectrum's state at the start of  the  record‐
777              ing;  if the selected RZX file doesn't, you'll be prompted for a
778              snapshot to load as well.
779
780       File, Recording, Stop
781              Stop any currently-recording/playing RZX file.
782
783       File, AY Logging, Record...
784              Start recording the bytes output via the AY-3-8192 sound chip to
785              a  PSG  file.  You  will  be prompted for a filename to save the
786              recording to.
787
788       File, AY Logging, Stop
789              Stop any current AY logging.
790
791       File, Open SCR Screenshot...
792              Load an SCR screenshot (essentially just a binary  dump  of  the
793              Spectrum's  video memory) onto the current screen. Fuse supports
794              screenshots saved in the Timex hi-colour  and  hi-res  modes  as
795              well  as  `normal' Spectrum screens, and will make a simple con‐
796              version if a hi-colour or hi-res screenshot  is  loaded  onto  a
797              non-Timex machine.
798
799       File, Save Screen as SCR...
800              Save  a copy of whatever's currently displayed on the Spectrum's
801              screen as an SCR file. You will be prompted for  a  filename  to
802              save the screenshot to.
803
804       File, Save Screen as PNG...
805              Save  the current screen as a PNG file. You will be prompted for
806              a filename to save the screenshot to.
807
808       File, Movies, Record Movie as SCR...
809              Start recording a `movie' as a series of  SCR  screenshots.  You
810              will  be  prompted for a filename, and the screenshots will then
811              be        saved         to         `<name>-frame-000000000.scr',
812              `<name>-frame-000000001.scr' and so on.
813
814       File, Movies, Record Movie as PNG...
815              Start  recording  a `movie' as a series of PNG images. The file‐
816              names used will be the same as for the SCR  movie,  but  with  a
817              `.png' extension instead of `.scr'.
818
819       File, Movies, Stop Movie Recording
820              Stop any movie recording which is currently in progress.
821
822       File, Load Binary Data...
823              Load  binary  data from a file into the Spectrum's memory. After
824              selecting the file to load data from, you can  choose  where  to
825              load the data and how much data to load.
826
827       File, Save Binary Data...
828              Save  an  arbitrary  chunk  of  the Spectrum's memory to a file.
829              Select the file you wish to save to, followed  by  the  location
830              and length of data you wish to save.
831
832       F10
833       File, Exit
834              Exit  the  emulator.  A confirmation dialog will appear checking
835              you actually want to do this.
836
837       F4
838       Options, General...
839              Display the General Options dialog, letting you configure  Fuse.
840              (With  the  widget  UI,  the  keys  shown in brackets toggle the
841              options, Enter confirms any changes, and Esc aborts). Note  that
842              any changed settings only apply to the currently-running Fuse.
843
844              The options available are:
845
846              Emulation speed
847                     Set  how  fast Fuse will attempt to emulate the Spectrum,
848                     as a percentage of the speed at which  the  real  machine
849                     runs.  If  your machine isn't fast enough to keep up with
850                     the requested speed, Fuse will just run  as  fast  as  it
851                     can.  Note  that  if  the  emulation speed is not exactly
852                     100%, no sound output will be produced.
853
854              Frame rate
855                     Specify the frame  rate,  the  ratio  of  spectrum  frame
856                     updates  to  real  frame  updates. This is useful if your
857                     machine is having trouble keeping up  with  the  spectrum
858                     screen updates.
859
860              Issue 2 keyboard
861                     Early versions of the Spectrum used a different value for
862                     unused bits on the keyboard input ports, and a few  games
863                     depended  on  the  old value of these bits. Enabling this
864                     option switches to the old value, to let you run them.
865
866              Use tape traps
867                     Ordinarily, Fuse intercepts calls to the ROM tape-loading
868                     routine  in  order  to  load from tape files more quickly
869                     when possible. But this can (rarely) interfere  with  TZX
870                     loading;  disabling this option avoids the problem at the
871                     cost of  slower  (i.e.  always  real-time)  tape-loading.
872                     When  tape-loading  traps are disabled, you need to start
873                     tape playback manually, by pressing F8  or  choosing  the
874                     Media, Tape, Play menu item. Fuse also uses tape traps to
875                     intercept the tape-saving routine in the ROM to save tape
876                     files  quickly,  tapes can also be saved using the Media,
877                     Tape, Record Start menu item.
878
879              Fastloading
880                     If this option is enabled, then  Fuse  will  run  at  the
881                     fastest  possible speed when the virtual tape is playing,
882                     thus dramatically reducing the time it takes to load pro‐
883                     grams. You may wish to disable this option if you wish to
884                     stop the tape at a specific point.
885
886              Detect loaders
887                     If this option is enabled, Fuse will  attempt  to  detect
888                     when a loading routine is in progress, and then automati‐
889                     cally start the virtual tape to load the program in. This
890                     is  done  by using a heuristic to identify a loading rou‐
891                     tine, so is by no means infallible,  but  works  in  most
892                     cases.
893
894              Auto-load media
895                     On many occasions when you open a tape or disk file, it's
896                     because it's got a program in you want to load  and  run.
897                     If  this option is selected, this will automatically hap‐
898                     pen for you when you open one of these  files  using  the
899                     File,  Open...  menu option - you must then use the Media
900                     menu to use tapes or disks for saving  data  to,  or  for
901                     loading data into an already running program.
902
903              Use .slt traps
904                     The  multi-load  aspect  of  SLT  files  requires  a trap
905                     instruction to be supported. This instruction is not gen‐
906                     erally  used  except  for  this  trap, but since it's not
907                     inconceivable that a program could be wanting to use  the
908                     real  instruction instead, you can choose whether to sup‐
909                     port the trap or not.
910
911              Allow writes to ROM
912                     If this option is selected, Fuse will happily allow  pro‐
913                     grams to overwrite what would normally be ROM. This prob‐
914                     ably isn't very useful in most circumstances,  especially
915                     as the 48K ROM overwrites parts of itself.
916
917              Auto-save settings
918                     If this option is selected, Fuse will automatically write
919                     its currently selected options to its configuration  file
920                     on  exit  (if  libxml2  was  available when Fuse was com‐
921                     piled). If you turn this option off, you'll have to manu‐
922                     ally  use  Options,  Save  afterwards to ensure that this
923                     setting gets written to Fuse's configuration file.
924
925              MDR cartridge len
926                     This option controls the number of blocks in a new Micro‐
927                     drive  cartridge.  If the value smaller than 4 or greater
928                     than 254 Fuse assumes 4 or 254.
929
930              RS-232 handshake
931                     If you turn this option off, Fuse assumes the RS-232 line
932                     other  end  is  live  when  you connect the communication
933                     channels.  See also the `--rs232-rx--rs232-tx' options.
934
935              Black and white TV
936                     This option allows you to choose whether  to  simulate  a
937                     colour  or  black and white television. This is effective
938                     only under the GTK+, Xlib and SDL  user  interfaces:  the
939                     others will always simulate a colour TV.
940
941              PAL-TV use TV2x effect
942                     This  option  allows  you to choose whether the PAL TV 2x
943                     and higher scalers also reproduce scanlines in  the  same
944                     way as the TV 2x, 3x and Timex TV scalers.
945
946              Confirm actions
947                     Specify  whether  `dangerous'  actions (those which could
948                     cause data loss,  for  example  resetting  the  Spectrum)
949                     require confirmation before occurring.
950
951              Show statusbar
952                     For  the  GTK+ UI, enables the statusbar beneath the dis‐
953                     play. For the SDL UI, enables the  status  icons  showing
954                     whether the disk and tape are being accessed. This option
955                     has no effect for the other user interfaces.
956
957              Snap joystick prompt
958                     If set, Fuse will prompt you which physical  joystick  or
959                     keyboard  you  want  to connect to the joystick interface
960                     enabled in the snapshot unless it  already  matches  your
961                     current configuration.
962
963              Late timings
964                     If  selected,  Fuse will cause all screen-related timings
965                     (for example, when the screen is rendered and when memory
966                     contention  occurs) to be one tstate later than "normal",
967                     an effect which is present on some real hardware.
968
969       Options, Sound...
970              Display the Sound Options dialog, letting you  configure  Fuse's
971              sound  output.  (With  the widget UI, the keys shown in brackets
972              toggle the options, Enter confirms any changes, and Esc aborts).
973              Note  that any changed settings only apply to the currently-run‐
974              ning Fuse.
975
976              Sound enabled
977                     Specify whether sound output should be  enabled  at  all.
978                     When  this  option  is  disabled,  Fuse will not make any
979                     sound.
980
981              Loading sound
982                     Normally, Fuse emulates tape-loading noise  when  loading
983                     from  TAPs or TZXs in real-time, albeit at a deliberately
984                     lower volume than on a real  Spectrum.  You  can  disable
985                     this option to eliminate the loading noise entirely.
986
987              AY stereo separation
988                     By  default,  the sound output is mono, since this is all
989                     you got from an unmodified Spectrum.  But  enabling  this
990                     option gives you so-called ACB stereo (for sound from the
991                     128 and other clone's AY-3-8912 sound chip).
992
993              Force 8-bit
994                     Force the use of 8-bit sound even if 16-bit (the default)
995                     is  available.  Note that (when the option is enabled) if
996                     8-bit sound isn't available then there will be  no  sound
997                     at  all,  so  it's best not to use this option unless you
998                     have a specific need for it.
999
1000              Speaker type
1001                     This option allows the emulation of the sound output sys‐
1002                     tem  to  be  modified. Different choices of speaker limit
1003                     the bass and treble response that can  be  produced  from
1004                     the  machine.  Choose  between  a "TV" type speaker and a
1005                     small beeper type speaker that significantly limits  bass
1006                     and treble response.
1007
1008              AY volume
1009                     Sets  the  relative  volume  of the AY-3-8912 chip from a
1010                     range of 0-100%.
1011
1012              Beeper volume
1013                     Sets the relative volume of the beeper from  a  range  of
1014                     0-100%.
1015
1016       Options, Peripherals...
1017              Display  the  Peripherals  Options dialog, letting you configure
1018              the peripherals which Fuse will consider to be attached  to  the
1019              emulated machines. (With the widget UI, the keys shown in brack‐
1020              ets toggle the options, Enter  confirms  any  changes,  and  Esc
1021              aborts).  Note  that any changed settings only apply to the cur‐
1022              rently-running Fuse.
1023
1024              Kempston joystick
1025                     If this option is selected, Fuse will emulate a  Kempston
1026                     joystick  interface  (probably  the most widely supported
1027                     type on the Spectrum).  Note that this  option  is  basi‐
1028                     cally  equivalent to plugging the interface itself into a
1029                     Spectrum, not to connecting a joystick; this affects  how
1030                     the  Spectrum responds to a read of input port 31. To use
1031                     a Kempston joystick  in  a  game,  this  option  must  be
1032                     enabled, and you must also select a Kempston joystick the
1033                     Options, Joysticks menu.
1034
1035              Kempston mouse
1036                     If this option is selected, Fuse will emulate a  Kempston
1037                     mouse interface.
1038
1039                     If you're using Fuse full-screen, your mouse is automati‐
1040                     cally used as if attached to the Kempston interface. Oth‐
1041                     erwise,  you'll  need to click on the Spectrum display in
1042                     order to tell Fuse to  grab  the  pointer  (and  make  it
1043                     invisible);  to tell Fuse to release it, click the middle
1044                     button (or wheel) or press Escape.
1045
1046                     With the framebuffer UI, Fuse prefers to use GPM; if this
1047                     is  not  available,  it  will  fall back to built-in PS/2
1048                     mouse support. In this mode,  it  tries  /dev/input/mice,
1049                     /dev/mouse then /dev/psaux, stopping when it successfully
1050                     opens one. The first of  these  is  preferred  since  (at
1051                     least  on  Linux,  with  a 2.6-series kernel) any type of
1052                     mouse can be used and any connected mouse may be used.
1053
1054              Fuller Box
1055                     If this option is selected, Fuse will  emulate  a  Fuller
1056                     Box  AY  sound  and joystick interface. This emulation is
1057                     only available for the 16k, 48k and TC2048 machines.
1058
1059              Melodik
1060                     If this option is selected, Fuse will emulate  a  Melodik
1061                     AY  sound  interface.   These interfaces and many similar
1062                     ones were produced to make the  48K  Spectrum  compatible
1063                     with  the same AY music as the 128K Spectrum. This emula‐
1064                     tion is only  available  for  the  16k,  48k  and  TC2048
1065                     machines.
1066
1067              Interface I
1068                     If  this option is selected, Fuse will emulate the simple
1069                     Sinclair Interface I, and allow Microdrive cartridges  to
1070                     be connected and disconnected via the Media, Interface I,
1071                     Microdrive menus. It also enables support for the  Inter‐
1072                     face I RS-232 interface.
1073
1074              Interface II
1075                     If this option is selected, Fuse will emulate a cartridge
1076                     port as found on the Interface II. Cartridges can then be
1077                     inserted  and removed via the Media, Cartridge, Interface
1078                     II menu. Note that the Pentagon, Scorpion, Interface  II,
1079                     ZXATASP  and ZXCF all use the same hardware mechanism for
1080                     accessing some of their extended features, so only one of
1081                     these  should be selected at once or unpredictable behav‐
1082                     iour will occur.
1083
1084              Emulate printers
1085                     If this option is selected, Fuse will emulate a  printer.
1086                     See the PRINTER EMULATION section for more details.
1087
1088              Simple 8-bit IDE
1089                     If  this option is selected, Fuse will emulate the simple
1090                     8-bit IDE interface as used  by  the  Spectrum  +3e,  and
1091                     allow hard disks to be connected and disconnected via the
1092                     Media, IDE, Simple 8-bit menu.
1093
1094              ZXATASP interface
1095                     If this option is selected, Fuse will emulate the ZXATASP
1096                     interface,  which provides both additional RAM and an IDE
1097                     interface. See the ZXATASP  AND  ZXCF  section  for  more
1098                     details.
1099
1100              ZXATASP upload
1101                     This  option  controls  the  state  of the ZXATASP upload
1102                     jumper.  See  the  ZXATASP  AND  ZXCF  section  for  more
1103                     details.
1104
1105              ZXATASP write protect
1106                     This  option controls the state of the ZXATASP write pro‐
1107                     tect jumper. See the ZXATASP AND ZXCF  section  for  more
1108                     details.
1109
1110              ZXCF interface
1111                     If  this  option  is selected, Fuse will emulate the ZXCF
1112                     interface, which provides both additional RAM and a  Com‐
1113                     pactFlash interface. See the ZXATASP AND ZXCF section for
1114                     more details.
1115
1116              ZXCF upload
1117                     This option controls the state of the ZXCF upload jumper.
1118                     See the ZXATASP AND ZXCF section for more details.
1119
1120              DivIDE interface
1121                     If  this option is selected, Fuse will emulate the DivIDE
1122                     interface. See the DIVIDE section for more details.
1123
1124              DivIDE write protect
1125                     This option controls the state of the DivIDE  write  pro‐
1126                     tection jumper. See the DIVIDE section for more details.
1127
1128              Opus Discovery interface
1129                     If  this  option  is selected, Fuse will emulate the Opus
1130                     Discovery interface.  See the  OPUS  DISCOVERY  EMULATION
1131                     section for more details.
1132
1133              +D interface
1134                     If  this  option  is  selected,  Fuse will emulate the +D
1135                     interface.   See  the  +D  EMULATION  section  for   more
1136                     details.
1137
1138              Beta 128 interface
1139                     If  this  option  is selected, Fuse will emulate the Beta
1140                     128 interface.  See the BETA 128  EMULATION  section  for
1141                     more  details. Beta 128 emulation is enabled for the Pen‐
1142                     tagon and Scorpion machines regardless of this option.
1143
1144       Options, RZX...
1145              Display the RZX Options dialog, letting you configure how Fuse's
1146              deals  with  RZX input recordings. (With the widget UI, the keys
1147              shown  in  brackets  toggle  the  options,  Enter  confirms  any
1148              changes,  and  Esc  aborts). Note that any changed settings only
1149              apply to the currently-running Fuse.
1150
1151              Create autosaves
1152                     If this option is selected, Fuse will add a snapshot into
1153                     the  recording  stream  every 5 seconds while creating an
1154                     RZX file, thus enabling the  rollback  facilities  to  be
1155                     used  without having to explicitly add snapshots into the
1156                     stream. Older snapshots will be pruned from the stream to
1157                     keep  the  file  size  and number of snapshots down: each
1158                     snapshot up to 15 seconds will be kept, then one snapshot
1159                     every  15  seconds  until  one  minute, then one snapshot
1160                     every minute until 5 minutes, and then one snapshot every
1161                     5 minutes. Note that this "pruning" applies only to auto‐
1162                     matically inserted snapshots: snapshots manually inserted
1163                     into the stream will never be pruned.
1164
1165              Compress RZX data
1166                     If  this  option is selected, and zlib was available when
1167                     Fuse was compiled, any RZX files written by Fuse will  be
1168                     compressed.  This  is  generally a good thing as it makes
1169                     the files significantly smaller, and you probably want to
1170                     turn  it  off  only  if you're debugging the RZX files or
1171                     there's some other program  which  doesn't  support  com‐
1172                     pressed RZX files.
1173
1174              Competition mode
1175                     Any  input  recordings which are started when this option
1176                     is selected  will  be  made  in  `competition  mode'.  In
1177                     essence,  this  means that Fuse will act just like a real
1178                     Spectrum would: you can't load snapshots, pause the  emu‐
1179                     lation  in any way, change the speed or anything that you
1180                     couldn't do on the real machine. If any of  these  things
1181                     are  attempted,  or  if the emulated Fuse is running more
1182                     than 5% faster or slower than normal Spectrum speed, then
1183                     the recording will immediately be stopped.
1184
1185                     If  libgcrypt  was available when Fuse was compiled, then
1186                     recordings made with competition mode active will be dig‐
1187                     itally  signed,  in  theory to `certify' that it was made
1188                     with the above restrictions in place.  However, this pro‐
1189                     cedure  is  not  secure  (and  cannot be made so), so the
1190                     presence of any signature on an RZX file  should  not  be
1191                     taken  as  providing proof that it was made with competi‐
1192                     tion mode active.   This  feature  is  included  in  Fuse
1193                     solely  as  it was one of the requirements for Fuse to be
1194                     used in an on-line tournament.
1195
1196              Competition code
1197                     The numeric code entered here will be  written  into  any
1198                     RZX  files made in competition mode. This is another fea‐
1199                     ture for on-line tournaments which can be used to `prove'
1200                     that  the  recording  was  made after a specific code was
1201                     released. If you're not playing in such a tournament, you
1202                     can safely ignore this option.
1203
1204              Always embed snapshot
1205                     Specify  whether  a snapshot should be embedded in an RZX
1206                     file when recording is started from an existing snapshot.
1207
1208       Options, Joysticks
1209              Fuse can emulate many of the common types of joystick which were
1210              available  for  the  Spectrum. The input for these emulated joy‐
1211              sticks can be taken from real joysticks attached to the  emulat‐
1212              ing  machine  (configured  via  the Options, Joysticks, Joystick
1213              1...  and Options, Joysticks, Joystick 2...  options),  or  from
1214              the  q,  a,  o, p, and Space keys on the emulating machines key‐
1215              board,  configured  via  the  Options,  Joysticks,   Keyboard...
1216              option. Note that when using the keyboard to emulate a joystick,
1217              the q, a, o, p, and Space keys will not have their normal effect
1218              (to  avoid  problems  with  games which do things like use p for
1219              pause when using a joystick).
1220
1221              Each of the joysticks (including the `fake'  keyboard  joystick)
1222              can  be  configured to emulate any one of the following joystick
1223              types:
1224
1225                     None
1226                            No joystick: any input will simply be ignored.
1227
1228                     Cursor
1229                            A  cursor  joystick,  equivalent  to  pressing   5
1230                            (left), 6 (down), 7 (up), 8 (right), and 0 (fire).
1231
1232                     Kempston
1233                            A Kempston joystick, read from input port 31. Note
1234                            that the Options, Peripherals, Kempston  interface
1235                            option must also be set for the input to be recog‐
1236                            nised.
1237
1238                     Sinclair 1
1239                     Sinclair 2
1240                            The `left' and `right' Sinclair joysticks, equiva‐
1241                            lent  to pressing 1 (left), 2 (right), 3 (down), 4
1242                            (up), and 5 (fire), or  6  (left),  7  (right),  8
1243                            (down), 9 (up), and 0 (fire) respectively.
1244
1245                     Timex 1
1246                     Timex 2
1247                            The  `left'  and  `right' joysticks as attached to
1248                            the Timex 2068 variant's built-in joystick  inter‐
1249                            face.
1250
1251              For  the  real  joysticks,  it  is  also  possible  to configure
1252              (although currently only when using  the  GTK+  interface)  what
1253              effect  each  button on the joystick will have: this can be Joy‐
1254              stick Fire, equivalent to pressing the emulated joystick's  fire
1255              button, Nothing, meaning to have no effect, or any Spectrum key,
1256              meaning that pressing that button will be equivalent to pressing
1257              that Spectrum key.
1258
1259       Options, Select ROMs
1260              An individual dialog is available for each Spectrum variant emu‐
1261              lated by Fuse which allows selection of the ROM(s) used by  that
1262              machine.  Simply  select the ROM you wish to use, and then reset
1263              the Spectrum for the change to take effect.
1264
1265       Options, Filter...
1266              Select the graphics filter currently in use.  See  the  GRAPHICS
1267              FILTERS section for more details.
1268
1269       F11
1270       Options, Full Screen
1271              Switch Fuse between full screen and windowed mode.  This menu is
1272              only available under the SDL UI.
1273
1274              Options, Save
1275                     If libxml2 was available when  Fuse  was  compiled,  this
1276                     will  cause  Fuse's  current  options  to  be  written to
1277                     .fuserc in your home directory, from which they  will  be
1278                     picked  up  again when Fuse is restarted. The best way to
1279                     update this file is by using this option, but it's a sim‐
1280                     ple XML file and shouldn't be too hard to edit by hand if
1281                     you really want to.
1282
1283              Pause
1284              Machine, Pause
1285                     Pause or unpause emulation. This option is available only
1286                     under  the  GTK+  UI; to pause the other user interfaces,
1287                     simply press F1 to bring up the main menu.
1288
1289              F5
1290              Machine, Reset
1291                     Reset the emulated Spectrum. Again, you get a  chance  to
1292                     cancel this if you're using the GTK+ UI.
1293
1294              Machine, Hard reset
1295                     Reset  the  emulated Spectrum. A hard reset is equivalent
1296                     to turning the Spectrum's power off, and then turning  it
1297                     back on. Again, you get a chance to cancel this if you're
1298                     using the GTK+ UI.
1299
1300              F9
1301              Machine, Select...
1302                     Choose a type of Spectrum to emulate. An  brief  overview
1303                     of  the  Sinclair,  Amstrad  and  Timex  can  be found at
1304                     http://www.nvg.ntnu.no/sinclair/computers/zxspec
1305                     trum/zxspectrum.htm  while more technical information can
1306                     be  found  at   http://www.worldofspectrum.org/faq/refer
1307                     ence/reference.htm,      and      http://www.worldofspec
1308                     trum.org/faq/reference/tmxreference.htm.
1309
1310                     Spectrum 16K
1311                     Spectrum 48K
1312                            The original machines as released by  Sinclair  in
1313                            1982 with 16 or 48K of RAM respectively.
1314
1315                     Spectrum 48K (NTSC)
1316                            The  NTSC  48K machine released in limited numbers
1317                            in parts of South America.
1318
1319                     Spectrum 128K
1320                            The 128K machine as released by Sinclair  in  1985
1321                            (Spain) or 1986 (UK).
1322
1323                     Spectrum +2
1324                            The  first  machine  released by Amstrad, in 1986.
1325                            From an emulation point of view, the +2 is  virtu‐
1326                            ally identical to the 128K.
1327
1328                     Spectrum +2A
1329                     Spectrum +3
1330                            The  two  machines  released  by  Amstrad in 1988.
1331                            Technically very similar  to  each  other,  except
1332                            that the +3 features a 3" disk drive while the +2A
1333                            does not.
1334
1335                     Spectrum +3e
1336                            A +3 with modified ROMs  allowing  access  to  IDE
1337                            hard  disks  via  the  simple  8-bit interface, as
1338                            activated from the  Options,  Peripherals  dialog.
1339                            See    http://www.zxplus3e.plus.com/    for   more
1340                            details.
1341
1342                     Timex TC2048
1343                     Timex TC2068
1344                            The variants of the Spectrum as released by  Timex
1345                            in Portugal.
1346                     Timex TS2068
1347                            The  variant  of the Spectrum released by Timex in
1348                            North America.
1349
1350                     Pentagon 128K
1351                            Russian clone of the  Spectrum.  There  were  many
1352                            different  machines  called  Pentagon from 1989 to
1353                            2006, this machine corresponds to a 1991 era  Pen‐
1354                            tagon-128K with the optional AY sound chip and the
1355                            integrated Beta 128 disk  interface,  and  is  the
1356                            version  of  the machine most often emulated. More
1357                            technical    details    can    be     found     at
1358                            http://www.worldofspectrum.org/rusfaq/index.html,
1359
1360                     Pentagon 512K
1361                     Pentagon 1024K
1362                            Newer  versions  of  the Pentagon Russian Spectrum
1363                            clones which incorporate more memory and  the  "Mr
1364                            Gluk  Reset  Service" ROM offering a more powerful
1365                            firmware.
1366
1367                     Scorpion ZS 256
1368                            Another  Russian  clone  of  the  Spectrum.   Some
1369                            details  can  be  found at http://www.worldofspec
1370                            trum.org/rusfaq/index.html, like all  the  Russian
1371                            clones  they  they have built in 3.5" disk drives,
1372                            accessed via the Beta 128 disk interface  and  TR-
1373                            DOS  (the  Technology Research Disk Operating Sys‐
1374                            tem). The most important distinction from the Pen‐
1375                            tagon  128k  and  similar  machines is the display
1376                            timing details.
1377
1378                     Spectrum SE
1379                            A recent variant designed by Andrew Owen and Jarek
1380                            Adamski,  which  is  possibly best thought of as a
1381                            cross between the 128K machine and the Timex vari‐
1382                            ants,  allowing  272K  of RAM to be accessed. Some
1383                            more details are available at  http://www.worldof
1384                            spectrum.org/faq/reference/sereference.htm.
1385
1386              Machine, Debugger...
1387                     Start the monitor/debugger. See the MONITOR/DEBUGGER sec‐
1388                     tion for more information.
1389
1390              Machine, Poke Finder...
1391                     Start the `poke finder'. See the POKE FINDER section  for
1392                     more information.
1393
1394              Machine, Memory Browser...
1395                     Start  the  memory  browser.  It should be fairly obvious
1396                     what this does; perhaps the only thing  worth  noting  is
1397                     that emulation is paused until you close the window.
1398
1399              Machine, NMI
1400                     Sends  a non-maskable interrupt to the emulated Spectrum.
1401                     Due to a typo in the standard 48K ROM, this will cause  a
1402                     reset,  but modified ROMs are available which make use of
1403                     this feature. When the +D is emulated, this  is  used  to
1404                     access the +D's screenshot and snapshot features (see the
1405                     +D EMULATION section below).
1406
1407              F7
1408              Media, Tape, Open...
1409                     Choose a TAP or TZX virtual-tape file to load  from.  See
1410                     the  FILE  SELECTION  section below for details on how to
1411                     choose the file. If Auto-load media is set in the General
1412                     Options  dialog  (as  it  is by default), you may use the
1413                     File, Open...  menu option instead,  and  the  tape  will
1414                     begin  loading  automatically.   Otherwise,  you  have to
1415                     start the load in the emulated machine (with LOAD  ""  or
1416                     the  128's  Tape  Loader  option,  though you may need to
1417                     reset first).
1418
1419                     To guarantee that  TZX  files  will  load  properly,  you
1420                     should  select the file, make sure tape-loading traps are
1421                     disabled in the General Options dialog, then press F8 (or
1422                     do  Media,  Tape,  Play).  That said, most TZXs will work
1423                     with tape-loading traps enabled  (often  quickly  loading
1424                     partway,  then  loading the rest real-time), so you might
1425                     want to try it that way first.
1426
1427              F8
1428              Media, Tape, Play
1429                     Start playing the TAP or TZX file, if required. (Choosing
1430                     the  option (or pressing F8) again pauses playback, and a
1431                     further press resumes).  To  explain  -  if  tape-loading
1432                     traps have been disabled (in the General Options dialog),
1433                     starting the loading  process  in  the  emulated  machine
1434                     isn't  enough. You also have to `press play', so to speak
1435                     :-), and this is how you do that. You may  also  need  to
1436                     `press  play'  like  this in certain other circumstances,
1437                     e.g. TZXs containing multi-load games may  have  a  stop-
1438                     the-tape request (which Fuse obeys).
1439
1440              Media, Tape, Browse
1441                     Browse  through the current tape. A brief display of each
1442                     of the data blocks on the current tape will appear,  from
1443                     which  you  can  select  which block Fuse will play next.
1444                     With the GTK+  UI,  emulation  will  continue  while  the
1445                     browser  is  displayed;  double-clicking  on a block will
1446                     select it. In the other UIs, emulation is paused and  you
1447                     can  use the cursor keys and press Enter to select it. If
1448                     you decide you don't want to  change  block,  just  press
1449                     Escape.
1450
1451              Media, Tape, Rewind
1452                     Rewind  the current virtual tape, so it can be read again
1453                     from the beginning.
1454
1455              Media, Tape, Clear
1456                     Clear the current virtual tape. This is particularly use‐
1457                     ful  when  you  want  a  `clean slate' to add newly-saved
1458                     files to, before doing Media, Tape, Write...  (or F6).
1459
1460              F6
1461              Media, Tape, Write...
1462                     Write the current virtual-tape contents to  a  TZX  file.
1463                     You  will  be  prompted  for a filename. The virtual-tape
1464                     contents are the contents of the  previously-loaded  tape
1465                     (if any has been loaded since you last did a Media, Tape,
1466                     Clear), followed by anything you've saved from  the  emu‐
1467                     lated  machine  since.   These  newly-saved files are not
1468                     written to any tape file until you choose this option!
1469
1470              Media, Tape, Record Start
1471                     Starts directly recording the output  from  the  emulated
1472                     Spectrum to the current virtual-tape. This is useful when
1473                     you want to record using a non-standard  ROM  or  from  a
1474                     custom  save  routine.  Most tape operations are disabled
1475                     during recording. Stop recording with  the  Media,  Tape,
1476                     Write...  menu option.
1477
1478              Media, Tape, Record Stop
1479                     Stops  the  direct recording and places the new recording
1480                     into the virtual-tape.
1481
1482              Media, Interface I
1483                     Virtual Microdrive images are accessible  only  when  the
1484                     Interface I is active from the Options, Peripherals menu.
1485                     Note that any changes to the Microdrive image will not be
1486                     written  to  the  file on disk until the appropriate save
1487                     option is used.
1488
1489              Media, Interface I, Microdrive 1, Insert New
1490                     Insert a new (unformatted) Microdrive cartridge into emu‐
1491                     lated Microdrive 1.
1492
1493              Media, Interface I, Microdrive 1, Insert...
1494                     Insert  an  existing Microdrive cartridge image into emu‐
1495                     lated Microdrive 1. You will be prompted for a filename.
1496
1497              Media, Interface I, Microdrive 1, Eject
1498                     Eject the Microdrive image in Microdrive 1. If the  image
1499                     has  been  modified,  you will be asked as to whether you
1500                     want any changes saved.
1501
1502              Media, Interface I, Microdrive 1, Save
1503                     Save the Microdrive image in Microdrive 1.
1504
1505              Media, Interface I, Microdrive 1, Save as...
1506                     Write the Microdrive image in Microdrive 1 to a file. You
1507                     will be prompted for a filename.
1508
1509              Media, Interface I, Microdrive 1, Write protect, Enable
1510                     Enable  the write protect tab for the image in Microdrive
1511                     1.
1512
1513              Media, Interface I, Microdrive 1, Write protect, Disable
1514                     Disable the write protect tab for the image in Microdrive
1515                     1.
1516
1517              Media, Interface I, Microdrive 2, ...
1518              Media, Interface I, Microdrive 3, ...
1519              Media, Interface I, Microdrive 4, ...
1520              Media, Interface I, Microdrive 5, ...
1521              Media, Interface I, Microdrive 6, ...
1522              Media, Interface I, Microdrive 7, ...
1523              Media, Interface I, Microdrive 8, ...
1524                     Equivalent options for the other emulated Microdrives.
1525
1526              Media, Interface I, RS232, Plug RxD
1527              Media, Interface I, RS232, Unplug RxD
1528              Media, Interface I, RS232, Plug TxD
1529              Media, Interface I, RS232, Unplug TxD
1530                     Connect  or  disconnect a communication channels (FIFO or
1531                     file) to use as the RS-232 TxD or RxD wire.
1532
1533              Media, Disk
1534                     Virtual floppy disk images are accessible when  emulating
1535                     a  +3,  +3e,  Pentagon or Scorpion, or when the Beta 128,
1536                     Opus Discovery or +D interface options are enabled and  a
1537                     machine compatible with the chosen interface is selected.
1538                     (See THE .DSK FORMAT, BETA 128 EMULATION  OPUS  DISCOVERY
1539                     EMULATION  and  +D  EMULATION sections below for notes on
1540                     the file formats supported).
1541
1542                     Once again, any changes made to a  disk  image  will  not
1543                     affect  the  file which was `inserted' into the drive. If
1544                     you do want to keep  any  changes,  use  the  appropriate
1545                     `eject and write' option before exiting Fuse.
1546
1547              Media, Disk, +3, Drive A:, Insert...
1548                     Insert  a  disk-image file to read/write in the +3's emu‐
1549                     lated drive A:.
1550
1551              Media, Disk, +3, Drive A:, Eject
1552                     Eject the disk image currently in the +3's emulated drive
1553                     A:  -  or  from the emulated machine's perspective, eject
1554                     it. Note that any changes made to the image will  not  be
1555                     saved.
1556
1557              Media, Disk, +3, Drive A:, Save
1558                     Save the disk image currently in the +3's drive A:.
1559
1560              Media, Disk, +3, Drive A:, Save as...
1561                     Save the current state of the disk image currently in the
1562                     +3's drive A: to a file. You will be prompted for a file‐
1563                     name.
1564
1565              Media, Disk, +3, Drive B:, Insert...
1566                     As  above, but for the +3's drive B:. Fuse emulates drive
1567                     B: as a second 3" drive.
1568
1569              Media, Disk, +3, Drive B:, Eject
1570                     As above, but for drive B:.
1571
1572              Media, Disk, +3, Drive B:, Save
1573                     As above, but for drive B:.
1574
1575              Media, Disk, +3, Drive B:, Save as...
1576                     As above, but for drive B:.
1577
1578              Media, Disk, Beta, Drive A:, Insert New
1579                     Insert a new (unformatted) disk into  the  emulated  Beta
1580                     drive A:.
1581
1582              Media, Disk, Beta, Drive A:, Insert...
1583              Media, Disk, Beta, Drive A:, Eject
1584              Media, Disk, Beta, Drive A:, Save
1585              Media, Disk, Beta, Drive A:, Save as...
1586                     As above, but for the emulated Beta disk drive A:.
1587
1588              Media, Disk, Beta, Drive A:, Write protect, Enable
1589                     Enable  the write protect tab for the image in Beta drive
1590                     A:.
1591
1592              Media, Disk, Beta, Drive A:, Write protect, Disable
1593                     Disable the write protect tab for the image in Beta drive
1594                     A:.
1595
1596              Media, Disk, Beta, Drive B:, ...
1597              Media, Disk, Beta, Drive C:, ...
1598              Media, Disk, Beta, Drive D:, ...
1599                     As above, but for the remaining emulated Beta disk inter‐
1600                     face drives.
1601
1602              Media, Disk, Opus, Drive 1, Insert New
1603              Media, Disk, Opus, Drive 1, Insert...
1604              Media, Disk, Opus, Drive 1, Eject
1605              Media, Disk, Opus, Drive 1, Save
1606              Media, Disk, Opus, Drive 1, Save as...
1607              Media, Disk, Opus, Drive 1, Write protect, Enable
1608              Media, Disk, Opus, Drive 1, Write protect, Disable
1609              Media, Disk, Opus, Drive 2, ...
1610                     As above, but for the emulated Opus Discovery drives.
1611
1612              Media, Disk, +D, Drive 1, Insert New
1613              Media, Disk, +D, Drive 1, Insert...
1614              Media, Disk, +D, Drive 1, Eject
1615              Media, Disk, +D, Drive 1, Save
1616              Media, Disk, +D, Drive 1, Save as...
1617              Media, Disk, +D, Drive 1, Write protect, Enable
1618              Media, Disk, +D, Drive 1, Write protect, Disable
1619              Media, Disk, +D, Drive 2, ...
1620                     As above, but for the emulated +D drives.
1621
1622              Media, Cartridge, Timex Dock, Insert...
1623                     Insert a cartridge into the Timex 2068  dock.  This  will
1624                     cause  the  emulated  machine to be changed to the TC2068
1625                     (if it wasn't already a 2068 variant) and reset.
1626
1627              Media, Cartridge, Timex Dock, Eject
1628                     Remove the cartridge from the Timex 2068 dock. This  will
1629                     cause the emulated machine to be reset.
1630
1631              Media, Cartridge, Interface II, Insert...
1632                     Insert  a cartridge into the Interface II cartridge slot.
1633                     This will cause the emulated machine to be reset and  the
1634                     cartridge loaded.
1635
1636              Media, Cartridge, Interface II, Eject...
1637                     Remove  the  cartridge  from  the  Interface II cartridge
1638                     slot. This will cause the emulated machine to be reset.
1639
1640              Media, IDE, Simple 8-bit, Master, Insert...
1641                     Connect an IDE hard disk to the simple 8-bit  interface's
1642                     master channel.
1643
1644              Media, IDE, Simple 8-bit, Master, Commit
1645                     Cause  any  writes  which  have been done to virtual hard
1646                     disk attached to  the  simple  8-bit  interface's  master
1647                     channel  to be committed to the real disk, such that they
1648                     survive the virtual disk being ejected.
1649
1650              Media, IDE, Simple 8-bit, Master, Eject
1651                     Eject the virtual hard disk from the simple 8-bit  inter‐
1652                     face's  master  channel. Note that any writes to the vir‐
1653                     tual hard disk will be lost unless the Media, IDE, Simple
1654                     8-bit,  Master,  Commit option is used before the disk is
1655                     ejected.
1656
1657              Media, IDE, Simple 8-bit, Slave, Insert...
1658              Media, IDE, Simple 8-bit, Slave, Commit
1659              Media, IDE, Simple 8-bit, Slave, Eject
1660                     The same as the Media, IDE, Simple 8-bit, Master  entries
1661                     above,  but  for the simple 8-bit interface's slave chan‐
1662                     nel.
1663
1664              Media, IDE, ZXATASP, Master, Insert...
1665              Media, IDE, ZXATASP, Master, Commit
1666              Media, IDE, ZXATASP, Master, Eject
1667              Media, IDE, ZXATASP, Slave, Insert...
1668              Media, IDE, ZXATASP, Slave, Commit
1669              Media, IDE, ZXATASP, Slave, Eject
1670                     The same as the Media, IDE, Simple 8-bit, Master  entries
1671                     above, but for the two channels of the ZXATASP interface.
1672
1673              Media, IDE, ZXCF CompactFlash, Insert...
1674              Media, IDE, ZXCF CompactFlash, Commit
1675              Media, IDE, ZXCF CompactFlash, Eject
1676                     The  same as the Media, IDE, Simple 8-bit, Master entries
1677                     above, but for the ZXCF interface's CompactFlash slot.
1678
1679              Media, IDE, DivIDE, Master, Insert...
1680              Media, IDE, DivIDE, Master, Commit
1681              Media, IDE, DivIDE, Eject
1682              Media, IDE, DivIDE, Slave, Insert...
1683              Media, IDE, DivIDE, Slave, Commit
1684              Media, IDE, DivIDE, Eject
1685                     The same as the Media, IDE, Simple 8-bit  entries  above,
1686                     but for the two channels of the DivIDE interface.
1687
1688              Help, Keyboard picture...
1689                     Display  a diagram showing the Spectrum keyboard, and the
1690                     various keywords that can be generated with each key from
1691                     (48K)  BASIC.  Under  the  GTK+ UI, this will appear in a
1692                     separate window and emulation continues. With  the  other
1693                     UIs,  the  picture  remains  onscreen  (and  the emulator
1694                     paused) until you press Esc or Enter.
1695

KEY MAPPINGS

1697       When emulating the Spectrum, keys F1 to F10 are used as  shortcuts  for
1698       various  menu  items,  as described above. The alphanumeric keys (along
1699       with Enter and Space) are mapped as-is to the Spectrum keys. The  other
1700       key mappings are:
1701
1702       Shift  emulated as Caps Shift
1703
1704       Control, Alt, and Meta
1705              emulated  as  Symbol Shift (most other modifiers are also mapped
1706              to this)
1707
1708       Backspace
1709              emulated as Caps-0 (Delete)
1710
1711       Esc    emulated as Caps-1 (Edit)
1712
1713       Caps Lock
1714              emulated as Caps-2
1715
1716       Cursor keys
1717              emulated as Caps-5/6/7/8 (as appropriate)
1718
1719       Tab    emulated as Caps Shift-Symbol Shift (Extended Mode)
1720
1721       Some further punctuation keys are supported, if they exist on your key‐
1722       board  -  `,', `.', `/', `;', `'', `#', `-', and `='.  These are mapped
1723       to the appropriate symbol-shifted keys on the Spectrum.
1724
1725       A list of keys applicable when using  the  file  selection  dialogs  is
1726       given in the FILE SELECTION section below.
1727

DISPLAY SIZE

1729       Some  of  Fuse's UIs allow resizing of the emulated Spectrum's display.
1730       For the window-based ones (GTK+ and Xlib), you can  resize  the  window
1731       by,  well, resizing it. :-) Exactly how this works depends on your win‐
1732       dow manager; you may have to make the window over twice the  width  and
1733       height of the original size before it actually scales up. Fuse attempts
1734       to keep the window `square', but with some  window  managers  this  can
1735       mean  the window will never resize at all. If you experience this prob‐
1736       lem, the `--no-aspect-hint' option may help.
1737
1738       If you're using the SDL UI under X11 or GTK+, the window will automati‐
1739       cally resize to be the correct size for the graphics filter selected.
1740

GRAPHICS FILTERS

1742       Fuse  has  the  ability  to apply essentially arbitrary filters between
1743       building its image of the Spectrum's screen, and displaying it  on  the
1744       emulating  machine's  monitor.  These filters can be used to do various
1745       forms of smoothing, emulation of TV scanlines and various other  possi‐
1746       bilities.  Support  for  graphics  filters varies between the different
1747       user interfaces, but there are two general  classes:  the  GTK+,  Xlib,
1748       SVGAlib  and  SDL  user interfaces (and the saving of .png screenshots)
1749       support `interpolating' filters which use a  palette  larger  than  the
1750       Spectrum's  16  colours, while the framebuffer user interface currently
1751       does not support filters at all.
1752
1753       A further complication arises due to the fact that the  Timex  machines
1754       have their high-resolution video mode with twice the horizontal resolu‐
1755       tion. To deal with this, Fuse treats these machines as having  a  `nor‐
1756       mal'  display  size  which  is  twice  the  size of a normal Spectrum's
1757       screen, leading to a different set of filters being available for these
1758       machines.  Note  that  any  of  the double or triple-sizing filters are
1759       available for Timex machines only when  using  the  SDL  or  GTK+  user
1760       interfaces.
1761
1762       The  available filters, along with their short name used to select them
1763       from the command line, are:
1764
1765       Timex half (smoothed) (half)
1766       Timex half (skipping) (halfskip)
1767              Two Timex-machine specific filters which scale the  screen  down
1768              to  half normal (Timex) size; that is, the same size as a normal
1769              Spectrum screen. The difference between these two filters is  in
1770              how they handle the high-resolution mode: the `smoothed' version
1771              is an interpolating filter which averages pairs of adjacent pix‐
1772              els,  while the `skipping' version is a non-interpolating filter
1773              which simply drops every other pixel.
1774
1775       Normal (normal)
1776              The simplest filter: just display one pixel for every  pixel  on
1777              the Spectrum's screen.
1778
1779       Double size (2x)
1780              Scale the displayed screen up to double size.
1781
1782       Triple size (3x)
1783              Scale  the  displayed  screen  up to triple size. Available only
1784              with the GTK+, Xlib and  SDL  user  interfaces  or  when  saving
1785              screenshots of non-Timex machines.
1786
1787       2xSaI (2xsai)
1788       Super 2xSaI (super2xsai)
1789       SuperEagle (supereagle)
1790              Three   interpolating  filters  which  apply  successively  more
1791              smoothing. All three double the size of the displayed screen.
1792
1793       AdvMAME2x (advmame2x)
1794              A double-sizing,  non-interpolating  filter  which  attempts  to
1795              smooth diagonal lines.
1796
1797       AdvMAME3x (advmame3x)
1798              Very  similar  to  AdvMAME2x, except that it triples the size of
1799              the displayed screen. Available only with the GTK+, Xlib and SDL
1800              user   interfaces   or  when  saving  screenshots  of  non-Timex
1801              machines.
1802
1803       TV 2x (tv2x)
1804       TV 3x (tv3x)
1805       Timex TV (timextv)
1806              Three filters which attempt to emulate the effect of  television
1807              scanlines.  The  first  is  a double-sizing filter for non-Timex
1808              machines, the second is a similar  triple-sizing  filter,  while
1809              the last is a single-sizing filter for Timex machines (note that
1810              this means TV 2X and Timex TV produce the same size output).
1811
1812       PAL TV(paltv)
1813       PAL TV 2x (paltv2x)
1814       PAL TV 3x (paltv3x)
1815              Three filters which attempt to emulate the effect of the PAL  TV
1816              system which layers a lower-resolution colour image over the top
1817              of a higher-resolution black-and-white image.  The  filters  can
1818              also optionally add scanlines like the other TV series scalers.
1819
1820       Dot matrix (dotmatrix)
1821              A double-sizing filter which emulates the effect of a dot-matrix
1822              display.
1823
1824       Timex 1.5x (timex15x)
1825              An interpolating Timex-specific filter which  scales  the  Timex
1826              screen up to 1.5x its usual size (which is therefore 3x the size
1827              of a `normal' Spectrum screen). Available only for the GTK+  and
1828              SDL user interfaces or when saving screenshots.
1829

THE EMULATED SPECTRUM

1831       The emulated Spectrum is, by default, an unmodified 48K Spectrum with a
1832       tape player and ZX Printer attached. Oh, and  apparently  some  magical
1833       snapshot  load/save machine which is probably best glossed over for the
1834       sake of the analogy. :-)
1835
1836       To emulate different kinds of Spectrum, select the  Machine,  Select...
1837       menu option, or press F9.
1838
1839       The Spectrum emulation is paused when any dialogs appear. In the widget
1840       UI, it's also paused when menus or the keyboard picture are displayed.
1841

PRINTER EMULATION

1843       The various models of Spectrum supported a range  of  ways  to  connect
1844       printers,  three of which are supported by Fuse. Different printers are
1845       made available for the different models:
1846
1847       16, 48, TC2048, TC2068, TS2068
1848              ZX Printer
1849
1850       128/+2/Pentagon
1851              Serial printer (text-only)
1852
1853       +2A, +3
1854              Parallel printer (text-only)
1855
1856       If Opus Discovery or +D emulation is in use and  printer  emulation  is
1857       enabled,  text-only  emulation of the disk interface's parallel printer
1858       interface is provided.
1859
1860       Any printout is appended to one (or both) of two  files,  depending  on
1861       the printer - these default to printout.txt for text output, and print‐
1862       out.pbm for graphics (PBM images are supported by  most  image  viewers
1863       and  converters).  These  names  can be changed with the --textfile and
1864       --graphicsfile options from the command  line  or  configuration  file.
1865       While the ZX Printer can only output graphically, simulated text output
1866       is generated at the same time using a crude sort of OCR  based  on  the
1867       current character set (a bit like using SCREEN$). There is currently no
1868       support for graphics when using the serial/parallel output, though  any
1869       escape codes used will be `printed' faithfully. (!)
1870
1871       By  the  way, it's not a good idea to modify the printout.pbm file out‐
1872       side of Fuse if you want to continue appending to it. The header  needs
1873       to  have  a certain layout for Fuse to be able to continue appending to
1874       it correctly, and the file will be overwritten if it can't be  appended
1875       to.
1876

ZXATASP AND ZXCF

1878       The  ZXATASP  and  ZXCF interfaces are two peripherals designed by Sami
1879       Vehmaa which significantly extend the  capabilities  of  the  Spectrum.
1880       More   details   on   both   are   available   from   Sami's  homepage,
1881       http://user.tninet.se/~vjz762w/, but a brief overview is given here.
1882
1883       The real ZXATASP comes with either 128K or 512K of RAM and the  ability
1884       to  connect  an  IDE hard disks and a CompactFlash card, while the ZXCF
1885       comes with 128K, 512K or 1024K of RAM and the ability to connect a Com‐
1886       pactFlash card. From an emulation point of view, the two interfaces are
1887       actually very similar as a CompactFlash card is logically just  an  IDE
1888       hard  disk.  Currently, Fuse's emulation is fixed at having 512K of RAM
1889       in the ZXATASP and 1024K in the ZXCF.
1890
1891       To activate the ZXATASP, simply select  the  ZXATASP  interface  option
1892       from  the  Options, Peripherals...  dialog. The state of the upload and
1893       write protect jumpers is then controlled  by  the  ZXATASP  upload  and
1894       ZXATASP write protect options. Similarly, the ZXCF is controlled by the
1895       ZXCF interface and ZXCF upload options (the ZXCF write protect is soft‐
1896       ware controlled).
1897
1898       If  you're  using either the ZXATASP or ZXCF, you almost certainly want
1899       to investigate ResiDOS, the operating system designed for use with  the
1900       ZXATASP  and ZXCF. ResiDOS provides facilities for using the extra RAM,
1901       accessing the mass storage devices and a task manager  allowing  virtu‐
1902       ally   instant   switching   between  programs  on  the  Spectrum.  See
1903       http://www.worldofspectrum.org/residos/ for more details.
1904

DIVIDE

1906       The DivIDE is another IDE interface for the  Spectrum,  of  which  full
1907       details  can be found at http://baze.au.com/divide/.  The interface can
1908       be activated via the DivIDE interface option from the Options,  Periph‐
1909       erals...   dialog, and the state of its write protect jumper controlled
1910       via the DivIDE write protect option.  If you're going to be  using  the
1911       DivIDE,  you'll  probably  want one of the firmwares available from the
1912       DivIDE homepage.
1913

FILE SELECTION

1915       The way you select a file (whether snapshot or tape  file)  depends  on
1916       which  UI  you're  using.  So  firstly, here's how to use the GTK+ file
1917       selector.
1918
1919       The selector shows the directories and files in the  current  directory
1920       in  two  separate  subwindows.  If either list is too big to fit in the
1921       window, you can use the scrollbar to see  the  rest  (by  dragging  the
1922       slider,  for  example),  or you can use Shift-Tab (to move the keyboard
1923       focus to a subwindow) and use the cursor keys.   To  change  directory,
1924       double-click it.
1925
1926       To  choose  a  file to load you can either double-click it, or click it
1927       then click Ok.  Or click Cancel to abort.
1928
1929       If you're using the keyboard, probably  the  easiest  way  to  use  the
1930       selector  is to just ignore it and type in the name. This isn't as irk‐
1931       some as it sounds, since the filename input box has filename completion
1932       -  type  part  of  a directory or file name, then press Tab.  It should
1933       complete it. If it was a directory, it moves to that directory; if  the
1934       completion was ambiguous, it completes as much as possible, and narrows
1935       the filenames shown to those which match. You should press  Enter  when
1936       you've finished typing the filename, or Esc to abort.
1937
1938       Now,  if you're using the widget UI - the one using the Spectrum font -
1939       the selector works a bit differently. The files and directories are all
1940       listed in a single two-column-wide window (the directories are shown at
1941       the top, ending in `/') -  the  names  may  be  truncated  onscreen  if
1942       they're too long to fit.
1943
1944       To move the cursor, you can either use the cursor keys, or the Spectrum
1945       equivalents 5/6/7/8, or (similarly) h/j/k/l. For faster  movement,  the
1946       Page  Up, Page Down, Home, and End keys are supported and do what you'd
1947       expect. To select a file or directory, press Enter.   To  abort,  press
1948       Esc.
1949
1950       With  both selectors, do bear in mind that all files are shown, whether
1951       Fuse would be able to load them or not.
1952

MONITOR/DEBUGGER

1954       Firstly, note that the vast majority of this section  applies  only  if
1955       you're using the GTK+ user interface; if you're using one of the widget
1956       user interfaces, you'll get a very basic monitor which shows  the  cur‐
1957       rent values of the registers and allows you to single step through exe‐
1958       cution or continue.
1959
1960       If you are using the GTK+ user interface, Fuse  features  a  moderately
1961       powerful,  completely  transparent monitor/debugger, which can be acti‐
1962       vated via the Machine, Debugger ...  menu  option.  A  debugger  window
1963       will  appear,  showing  the  current state of the emulated machine: the
1964       top-left `pane' shows the current state of the Z80 and the  last  bytes
1965       written  to  any  emulated  peripherals. The bottom-left pane lists any
1966       active breakpoints. Moving right, the next pane shows where  the  Spec‐
1967       trum's  64K  memory  map  (the `W?'  and `C?'  indicate whether each 8K
1968       chunk is writable or contended respectively), and the next a  disassem‐
1969       bly,  which  by default starts at the current program counter, although
1970       this can be modified either by the `disassemble' command (see below) or
1971       by  dragging  the scrollbar next to it. The next pane shows the current
1972       stack, and the final pane any `events' which are due to occur and could
1973       affect  emulation. Any of these panes can be removed by use of the View
1974       menu. Below the displays are an entry box for  debugger  commands,  and
1975       five buttons for controlling the debugger:
1976
1977       Evaluate
1978              Evaluate the command currently in the entry box.
1979
1980       Single Step
1981              Run precisely one Z80 opcode and then stop emulation again.
1982
1983       Continue
1984              Restart emulation, but leave the debugger window open. Note that
1985              the debugger window will not be updated while emulation is  run‐
1986              ning.
1987
1988       Break
1989              Stop emulation and return to the debugger.
1990
1991       Close
1992              Close the debugger window and restart emulation.
1993
1994       Double-clicking  on  an entry in the stack pane will cause emulation to
1995       run until the program counter reaches the value stored at that address,
1996       while  double-clicking on an entry in the `events' pane will cause emu‐
1997       lation to run until that time is reached.
1998
1999       The main power of the debugger is via the  commands  entered  into  the
2000       entry box, which are similar in nature (but definitely not identical to
2001       or as powerful as) to those in gdb(1).  In  general,  the  debugger  is
2002       case-insensitive,  and  numbers  will be interpreted as decimal, unless
2003       prefixed by either `0x' or `$' when they will be  interpreted  as  hex.
2004       Each command can be abbreviated to the portion not in curly braces.
2005
2006       ba{se} number
2007              Change  the debugger window to displaying output in base number.
2008              Available values are 10 (decimal) or 16 (hex).
2009
2010       br{eakpoint} [address] [condition]
2011              Set a breakpoint to stop emulation and return  to  the  debugger
2012              whenever  an  opcode is executed at address and condition evalu‐
2013              ates true. If address is omitted, it  defaults  to  the  current
2014              value of PC.
2015
2016       br{eakpoint} p{ort} (r{ead}|w{rite}) port [condition]
2017              Set  a  breakpoint to trigger whenever IO port port is read from
2018              or written to and condition evaluates true.
2019
2020       br{eakpoint} (r{ead}|w{rite}) [address] [condition]
2021              Set a breakpoint to trigger whenever memory location address  is
2022              read  from  (other  than  via an opcode fetch) or written to and
2023              condition evaluates true.  Address again defaults to the current
2024              value of PC if omitted.
2025
2026       br{eakpoint} ti{me} time [condition]
2027              Set  a  breakpoint  to occur time tstates after the start of the
2028              every frame,  assuming  condition  evaluates  true  (if  one  is
2029              given).
2030
2031       br{eakpoint} ev{ent} area:detail [condition]
2032              Set   a   breakpoint  to  occur  when  the  event  specified  by
2033              area:detail occurs and condition evaluates to true.  The  events
2034              which can be caught are:
2035
2036              divide:page
2037              divide:unpage
2038                     The  DivIDE  interface  is  paged  into  or out of memory
2039                     respectively
2040              if1:page
2041              if1:unpage
2042                     The Interface 1 shadow ROM is paged into or out of memory
2043              rzx:end
2044                     An RZX recording finishes playing
2045              tape:play
2046              tape:stop
2047                     The emulated tape starts or stops playing
2048              zxcf:page
2049              zxcf:unpage
2050                     The ZXCF interface is paged into or out of memory
2051              zxatasp:page
2052              zxatasp:unpage
2053                     The ZXATASP interface is paged into or out of memory
2054
2055              In all cases, the event can be specified as area:* to catch  all
2056              events from that area.
2057
2058       cl{ear} [address]
2059              Remove  all breakpoints at address or the current value of PC if
2060              address is omitted. Port read/write breakpoints are unaffected.
2061
2062       com{mmands} id <newline>
2063       <debugger command> <newline>
2064       <debugger command> <newline>
2065       ...
2066       end
2067              Set things such that the specified  debugger  commands  will  be
2068              automatically executed when breakpoint id is triggered. There is
2069              currently no user interface  for  entering  multi-line  debugger
2070              commands, so the only way to specify this command is on the com‐
2071              mand-line via the --debugger-command option.
2072
2073       cond{ition} id [condition]
2074              Set breakpoint id to trigger only when  condition  is  true,  or
2075              unconditionally if condition is omitted.
2076
2077       co{ntinue}
2078              Equivalent to the Continue button.
2079
2080       del{ete} [id]
2081              Remove breakpoint id, or all breakpoints if id is omitted.
2082
2083       di{sassemble} address
2084              Set the centre panel disassembly to begin at address.
2085
2086       ex{it}
2087              Exit the emulator immediately.
2088
2089       fi{nish}
2090              Exit from the current CALL or equivalent. This isn't infallible:
2091              it works by setting a temporary breakpoint at the  current  con‐
2092              tents  of  the  stack pointer, so will not function correctly if
2093              the code returns to some other point or plays with its stack  in
2094              other  ways. Also, setting this breakpoint doesn't disable other
2095              breakpoints, which may trigger before this one.  In  that  case,
2096              the temporary breakpoint remains, and the `continue' command can
2097              be used to return to it.
2098
2099       i{gnore} id count
2100              Do not trigger the next count times  that  breakpoint  id  would
2101              have triggered.
2102
2103       n{ext}
2104              Step  to the opcode following the current one. As with the `fin‐
2105              ish' command, this works by setting a  temporary  breakpoint  at
2106              the next opcode, so is not infallible.
2107
2108       o{ut} port value
2109              Write value to IO port port.
2110
2111       pr{int} expression
2112              Print the value of expression to standard output.
2113
2114       se{t} address value
2115              Poke value into memory at address.
2116
2117       se{t} register value
2118              Set the value of the Z80 register register to value.
2119
2120       se{t} $variable value
2121              Set the value of the debugger variable variable to value.
2122
2123       s{tep}
2124              Equivalent to the Single Step button.
2125
2126       t{breakpoint} [options]
2127              This  is  the  same  as  the `breakpoint' command in its various
2128              forms, except that that breakpoint is temporary: it will trigger
2129              once and once only, and then be removed.
2130
2131       Addresses  can  be  specified  in  one of two forms: either an absolute
2132       addresses, specified by an integer in the range 0x0000 to 0xFFFF or  as
2133       a  `page:offset'  combination,  which refers to a location offset bytes
2134       into into memory bank page, independent of where that bank is currently
2135       paged  into memory. RAM pages are indicated simply by an integer, while
2136       ROMs are prefixed by `R' (e.g. offset 0x1234 in ROM 1 is  specified  as
2137       `R1:0x1234').   Pages  selected  via  the /ROMCS line are prefixed with
2138       `C', while the Timex Dock and Exrom use prefixes `D'  and  `X'  respec‐
2139       tively.  The  48K machines are treated as having a permanent mapping of
2140       page 5 at 0x4000, page 2 at 0x8000 and page 0 at 0xC000; the 16K  Spec‐
2141       trum  is  treated  as having page 5 at 0x4000 and no page at 0x8000 and
2142       0xC000.
2143
2144       Anywhere the debugger is expecting a numeric  value,  except  where  it
2145       expects  a  breakpoint  id,  you  can instead use a numeric expression,
2146       which uses a restricted version of C's syntax; exactly the same  syntax
2147       is used for conditional breakpoints, with `0' being false and any other
2148       value being true. In numeric expressions, you can use integer constants
2149       (all  calculations  are done in integers), register names (which simply
2150       evaluate to the value of the register), debugger  variables,  parenthe‐
2151       ses,  the standard four numeric operations (`+', `-', `*' and `/'), the
2152       (non-)equality operators `==' and `!=', the comparison  operators  `>',
2153       `<',  `>=' and `<=', bitwise and (`&'), or (`|') and exclusive or (`^')
2154       and logical and (`&&') and or (`||').
2155

THE POKE FINDER

2157       The `poke finder' is a tool which is designed to make the task of find‐
2158       ing  (infinite  lives etc.) pokes for games a bit easier: it is similar
2159       to the `Lifeguard' utility which was available for use with the  Multi‐
2160       face.  It works by maintaining a list of locations in which the current
2161       number of lives (etc.) may be stored, and having the ability to  remove
2162       from that list any locations which don't contain a specified value.
2163
2164       The  poke  finder dialog contains an entry box for specifying the value
2165       to be searched for, a count of the current number of possible locations
2166       and, if there are less than 20 possible locations, a list of the possi‐
2167       ble locations (in `page:offset' format). The five buttons act  as  fol‐
2168       lows:
2169
2170       Incremented
2171              Remove  from  the list of possible locations all addresses which
2172              have not been incremented since the last search.
2173       Decremented
2174              Remove from the list of possible locations all  addresses  which
2175              have not been decremented since the last search.
2176
2177       Search
2178              Remove  from  the list of possible locations all addresses which
2179              do not contain the value specified in the `Search for' field.
2180
2181       Reset
2182              Reset the poke finder so that all locations are considered  pos‐
2183              sible.
2184
2185       Close
2186              Close  the  dialog.  Note  that  this does not reset the current
2187              state of the poke finder.
2188
2189       Double-clicking on an entry in the  list  of  possible  locations  will
2190       cause a breakpoint to be set to trigger whenever that location is writ‐
2191       ten to.
2192
2193       An example of how to use this may make things a bit clearer. We'll  use
2194       the  128K  version  of  Gryzor.  Load the game, define keys to suit and
2195       start playing. Immediately pause the game and bring up the poke  finder
2196       dialog.  We  note that we currently have 6 lives, so enter `6' into the
2197       `Search for' field and click `Search'. This reduces the number of  pos‐
2198       sible  locations to around 931 (you may get a slightly different number
2199       depending on exactly when you paused the game). Play along  a  bit  and
2200       then (deliberately) lose a life. Pause the game again. As we now have 5
2201       lives, replace the `6' in the 'Search for' field with a `5'  and  click
2202       `Search'  again.  This  then  reduces the list of possible locations to
2203       just one: page 2, offset 0x00BC. This is the only  location  in  memory
2204       which  stored  `6'  when we had 6 lives and `5' when we had 5 lives, so
2205       its pretty likely that this is where the lives count is stored. Double-
2206       clicking on the `2:0x00BC' entry in the dialog will set the appropriate
2207       breakpoint (you may wish to open the debugger at this point to  confirm
2208       this).  Play  along a bit more. When you next lose a life, emulation is
2209       stopped with PC at 0x91CD. Scrolling up a few addresses in  the  debug‐
2210       ger's  disassembly pane shows a value was loaded from 0x80BC (our hypo‐
2211       thetical lives counter), decremented and then stored again  to  0x80BC,
2212       which  looks  very much like the code to reduce the number of lives. We
2213       can now use the debugger to replace the  decrement  with  a  NOP  (`set
2214       0x91c9 0'), and playing the game some more after this reveals that this
2215       has worked and we now have infinite lives.
2216

THE .DSK FORMAT

2218       In general, disk images for the +3 Spectrum are thought of as being  in
2219       DSK  format.  However,  this  is actually an slight oversimplification;
2220       there in in fact two similar, but not identical, DSK formats. (The dif‐
2221       ference  can  be seen by doing `head -1 dskfile': one format will start
2222       `MV - CPCEMU' and the other will start `EXTENDED').
2223
2224       Fuse supports both the `CPCEMU' and `EXTENDED' formats.
2225

BETA 128 EMULATION

2227       Fuse supports Betadisk emulation in its Pentagon  and  Scorpion  emula‐
2228       tion,  and  also under 48K, TC2048, 128K and +2 (but not +2A) emulation
2229       if the Beta 128 interface option from the Options, Peripherals...  dia‐
2230       log  is enabled.  See the DISK FILE FORMATS section for mode details on
2231       supported disk file formats.
2232

OPUS DISCOVERY EMULATION

2234       By default,  Fuse  emulates  the  Opus  Discovery  interface  with  the
2235       optional  2k  RAM  expansion  and  a  second 40 track single sided disk
2236       drive.  See the DISK FILE FORMATS section for mode details on supported
2237       disk  file  formats. The Opus Discovery's printer port is also emulated
2238       for output only. (See the PRINTER EMULATION section for more  details.)
2239       The  Opus Discovery may only be used with 16K, 48K, 128K, TC2048 and +2
2240       (not +2A) emulation.  To access disks, use the same syntax as Interface
2241       I and Microdrives.
2242

+D EMULATION

2244       Fuse supports emulating the +D disk and printer interface. See the DISK
2245       FILE FORMATS section for mode details on supported disk  file  formats.
2246       The  +D's  printer port is emulated. (See the PRINTER EMULATION section
2247       for more details.) The +D may only be used with 48K, 128K and  +2  (not
2248       +2A) emulation.  To access disks, you will first need to load G+DOS, by
2249       inserting a disk containing the DOS file  (+SYS)  and  entering  "RUN".
2250       Once  DOS  is  loaded, you can load to/from +D disks by prefixing file‐
2251       names with `dn' where `n' is the number of the drive in use.  For exam‐
2252       ple, `LOAD d1"myfile"' would load the file named `myfile' from the emu‐
2253       lated drive 1.  Microdrive syntax may also be used.
2254
2255       To save a snapshot, choose the `Machine, NMI'  menu  option,  and  then
2256       press `4' to save a 48K snapshot, or `5' to save a 128K snapshot.  When
2257       saving a 128K snapshot, you must then press Y or N to indicate  whether
2258       the  screen  changed  while saving the snapshot, to finish saving.  You
2259       can also choose `3' to save a screenshot to disk.  Options `1' and  `2'
2260       allow screenshots to be printed (in monochrome) if printer emulation is
2261       enabled.
2262

DISK FILE FORMATS

2264       Fuse supports several disk image formats in its +D and Beta 128  emula‐
2265       tion.
2266
2267       For reading:
2268
2269       .UDI
2270              Ultra  Disk  Image; for specification please see http://scratch
2271              pad.wikia.com/wiki/Spectrum_emulator_file_format:_udi         or
2272              http://zxmak.narod.ru/docs.htm
2273              This  is  the only image format which can store all the relevant
2274              information of the recorded data on a magnetic disk, so  it  can
2275              be  used  for  any  non  standard disk format. Fuse can read all
2276              extended track types too (mixed FM/MFM, or  tracks  with  'WEAK'
2277              data or even compressed tracks too).
2278
2279       .FDI
2280              UKV Spectrum Debugger disk image format.
2281
2282       .MGT .IMG
2283              DISCiPLE/+D file formats.
2284
2285       .SAD .SDF
2286              For  compatibility  with  SAM Coupé disk images using these for‐
2287              mats.  Note that SAM Coupé `.DSK' images share the  same  format
2288              as `.MGT'.
2289
2290       .TRD
2291              TR-DOS   disk   image;   for  detailed  information  please  see
2292              http://www.retroplay.com/Mecenate/ramsoft/tr-info.zip
2293
2294       .SCL
2295              A simple archive format for TR-DOS disk files.
2296
2297       .TD0
2298              Teledisk image format; Fuse supports only files which do not use
2299              the "Advanced Compression" option. Detailed description found in
2300              http://www.classiccmp.org/dunfield/img/td0notes.txt          and
2301              http://www.fpns.net/willy/wteledsk.htm
2302
2303       .DSK
2304              CPC  disk  image format; Fuse supports the plain old and the new
2305              extended CPC format too. Further information please see the  THE
2306              .DSK   FORMAT  section  and  the  CPCEMU  manual  section  7.7.1
2307              http://www.cpc-emu.org/linux/cpcemu_e.txt         or         the
2308              http://www.kjthacker.f2s.com/docs/extdsk.html
2309
2310       .OPD .OPU
2311              Opus Discovery file formats.
2312
2313       Fuse  supports  most  of  the above formats for writing: .UDI .FDI .MGT
2314       .IMG .SAD .TRD .SCL .OPD .OPU .DSK (only the old CPC format).
2315       You can save disk images with any output format, just select the appro‐
2316       priate extension. (e.g.  ` elite3.udi ' to save as an UDI file). If the
2317       appropriate libraries were available when libspectrum(3) was  compiled,
2318       than  Fuse will try to create UDI images with compressed tracks to save
2319       disk space.  There is a .LOG ` image ' format  for  debugging  purpose.
2320       This  is a plain text file contains three dump of the loaded disk image
2321       at different details.  Not all image formats can store all disk images.
2322       You  cannot  save  a disk image with an inappropriate format that loses
2323       some information (e.g. variable track length or sector length).
2324

WEAK DISK DATA

2326       Some copy protections have what is  described  as  'weak/random'  data.
2327       Each  time  the sector is read one or more bytes will change, the value
2328       may be random between consecutive reads of the same sector.   Two  disk
2329       image formats (Extended DSK and UDI) can store this type of data.  Fuse
2330       can read and use weak sector data from EDSK and UDI files when present,
2331       and can save back weak sector data to UDI image format.
2332

COMPRESSED FILES

2334       Assuming  the  appropriate libraries were available when libspectrum(3)
2335       was compiled, snapshots, tape images, dock cartridges and input record‐
2336       ing  files  can  be read from files compressed with bzip2(3) or gzip(3)
2337       just as if they were uncompressed.  There is currently no  support  for
2338       reading compressed +3, +D or Beta disk images.
2339

BUGS

2341       Selecting  a  startup filter doesn't work properly with user interfaces
2342       other than SDL and GTK+.
2343
2344       Changing virtual consoles  when  using  SVGAlib  for  joystick  support
2345       causes  Fuse  to  exit.  If  this  is  a problem, compile Fuse with the
2346       `--disable-ui-joystick' option.
2347
2348       The poke finder can't search outside `normal' RAM.
2349
2350       Using the Options, Joysticks, Joystick  1...   or  Options,  Joysticks,
2351       Joystick  2...   options under GTK+ 2.x produces a large number of GTK+
2352       critical warnings. This is a GTK+ bug (#144427), which is fixed in GTK+
2353       2.4.4.
2354
2355       The  libao  file output devices not work properly with the GTK+ UI.  No
2356       error reporting, but the created file does not contain any sound  data.
2357       If  you  use a `weak' machine alsa09 makes a lot of clicks and pops and
2358       will output `ALSA: underrun, at least 0ms.'  error messages.
2359

FILES

2361       ~/.fuserc
2362

SEE ALSO

2364       bzip2(3), fuse-utils(1), gzip(3), libspectrum(3), ogg123(1), xspect(1),
2365       xzx(1)
2366
2367       The comp.sys.sinclair Spectrum FAQ, at
2368       http://www.worldofspectrum.org/faq/index.html.
2369

AUTHOR

2371       Philip Kendall (philip-fuse@shadowmagic.org.uk).
2372
2373       Matan  Ziv-Av  wrote the SVGAlib and framebuffer UIs, the glib replace‐
2374       ment code, and did some work on the OSS-specific  sound  code  and  the
2375       original widget UI code.
2376
2377       Russell  Marks  wrote  the sound emulation and OSS-specific sound code,
2378       the joystick emulation, some of the printer code, and the original ver‐
2379       sion of this man page.
2380
2381       John  Elliott's  lib765 and libdsk libraries were used for the original
2382       +3 disk and disk image support.
2383
2384       Ian Collier wrote the ZX Printer emulation (for xz80).
2385
2386       Darren Salt wrote the original versions of the code for  +3  emulation,
2387       SLT support, MITSHM support (for the Xlib UI), TZX raw data blocks, RZX
2388       embedded snapshots and compression, the Kempston  mouse  emulation  and
2389       made many improvements to the widget code.
2390
2391       Alexander Yurchenko wrote the OpenBSD/Solaris-specific sound code.
2392
2393       Fredrick  Meunier  wrote  the  TC2048, TS2068, Pentagon and Spectrum SE
2394       support, the CoreAudio sound code, as well as maintaining the OS X port
2395       and importing the graphics filter code.
2396
2397       Ludvig  Strigeus  and  The  ScummVM project wrote the original graphics
2398       filter code.
2399
2400       Dmitry Sanarin wrote the original Beta disk  interface  emulation  (for
2401       Glukalka).
2402
2403       Witold Filipczyk wrote the TC2068 support.
2404
2405       Matthew Westcott wrote the AY logging code and the DivIDE emulation.
2406
2407       Marek  Januszewski  wrote  various bits of code to make Fuse work under
2408       Win32, including the DirectDraw user interface.
2409
2410       Stuart Brady wrote the +D emulation, Scorpion emulation and  the  HP-UX
2411       sound code.
2412
2413       Garry  Lancaster wrote the 8-bit IDE, ZXATASP and ZXCF interface emula‐
2414       tions.
2415
2416       Gergely Szasz wrote the Interface I and Microdrive emulation,  the  PAL
2417       TV  scalers,  the TV 3x scaler, the movie logging code, the libao sound
2418       code, the upd765 disk controller used in the +3 and made many  improve‐
2419       ments to the widget code.
2420
2421       Michael  D  Wynne wrote the original Opus disk interface emulation (for
2422       EightyOne).
2423
2424
2425
2426Version 1.0.0.1               12th January, 2011                       fuse(1)
Impressum