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

NAME

6       fuse — Sinclair ZX Spectrum emulator
7

SYNOPSIS

9       fuse [options]
10

DESCRIPTION

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

OPTIONS

37       --accelerate-loader
38              Specify  whether  Fuse should attempt to accelerate tape loaders
39              by “short circuiting” the loading loop.  This  will  in  general
40              speed  up  loading, but may cause some loaders to fail. (Enabled
41              by default, but you can  use  `--no-accelerate-loader'  to  dis‐
42              able). The same as the Media Options dialog's Accelerate loaders
43              option.
44
45       --aspect-hint
46              Specify whether the GTK and Xlib user interfaces  should  `hint'
47              to  the  window manager about the preferred aspect ratio for the
48              graphics window, thus preventing resizing  to  non-square  sizes
49              which  lead  to  Fuse  not displaying correctly. This option has
50              been observed to cause problems with some window  managers  when
51              using the GTK UI which can prevent the window from being resized
52              or moved at all. (Enabled by default, but you can use  `--no-as‐
53              pect-hint'  to disable). See also the `--strict-aspect-hint' op‐
54              tion.
55
56       --autosave-settings
57              Specify whether Fuse's current settings should be  automatically
58              saved  on  exit.  The same as the General Options dialog's Auto-
59              save settings option.
60
61       --auto-load
62              Specify whether tape and  disk  files  should  be  automatically
63              loaded  when  they  are opened using the File, Open...  menu op‐
64              tion. In the case of TRD/SCL disk images, inserts  also  a  boot
65              loader file when none is available. (Enabled by default, but you
66              can use `--no-auto-load' to disable). Same as the Media  Options
67              dialog's Auto-load media option.
68
69       --beta128
70              Emulate  a  Beta 128 interface. Same as the Disk Peripherals Op‐
71              tions dialog's Beta 128 interface option.
72
73       --beta128-48boot
74              When a Beta 128 interface is used in 48K or TC2048 emulation the
75              option  additionally controls whether the machine boots directly
76              into the TR-DOS system. Same as the Disk Peripherals Options di‐
77              alog's Beta 128 auto-boot in 48K machines option.
78
79       --betadisk file
80              Insert  the  specified  file  into the emulated Beta disk inter‐
81              face's drive A: and select Pentagon mode on startup.
82
83       --bw-tv
84              Specify whether the display should simulate a  colour  or  black
85              and  white  television.  This option is effective under the GTK,
86              Win32, Xlib and SDL user interfaces: the others will always sim‐
87              ulate  a  colour  TV.   The same as the General Options dialog's
88              Black and white TV option.
89
90       --cmos-z80
91              This option specifies that Fuse should emulate a  CMOS  Z80,  as
92              opposed to an NMOS Z80. Same as the General Options dialog's Z80
93              is CMOS option.
94
95       --competition-code code
96              Specify the code to be written to competition  mode  RZX  files.
97              The same as the RZX Options dialog's Competition code option.
98
99       --competition-mode
100              Specify  whether input recordings should be made in `competition
101              mode'.  The same as the RZX Options  dialog's  Competition  mode
102              option.
103
104       --compress-rzx
105              Specify whether RZX files should be written out compressed. (En‐
106              abled by default, but you can use  `--no-compress-rzx'  to  dis‐
107              able).  Same  as  the RZX Options dialog's Compress RZX data op‐
108              tion.
109
110       --confirm-actions
111              Specify whether `dangerous' actions  (those  which  could  cause
112              data loss, for example resetting the Spectrum) require confirma‐
113              tion before occurring. (Enabled by  default,  but  you  can  use
114              `--no-confirm-actions'  to  disable). This option is the same as
115              the General Options dialog's Confirm actions option.
116
117       --covox
118              Emulate a Covox sound interface for Pentagon/Scorpion.  Same  as
119              the General Peripherals Options dialog's Covox option.
120
121       --debugger-command string
122              Specify  a  debugger  command to be run before emulator startup.
123              This can be used to set breakpoints or the like. Currently, this
124              is  the  only method to input multi-line debugger commands. (See
125              the MONITOR/DEBUGGER section for more information).
126
127       --detect-loader
128              Specify whether Fuse should attempt to detect when the  tape  is
129              being accessed and start and stop the virtual tape playing auto‐
130              matically. (Enabled  by  default,  but  you  can  use  `--no-de‐
131              tect-loader' to disable). Same as the Media Options dialog's De‐
132              tect loaders option.
133
134       --disciple
135              Emulate a DISCiPLE interface. Same as the Disk  Peripherals  Op‐
136              tions dialog's DISCiPLE interface option.
137
138       --discipledisk file
139              Insert the specified file into the emulated DISCiPLE's drive 1.
140
141       --didaktik80
142              Emulate  a  Didaktik 80 (or Didaktik 40) disk interface. Same as
143              the Disk Peripherals Options dialog's Didaktik 80 interface  op‐
144              tion.
145
146       --didaktik80disk file
147              Insert  the specified file into the emulated Didaktik 80 (or Di‐
148              daktik 40)'s drive A.
149
150       --disk-ask-merge
151              Prompt the user to confirm whether Fuse should try to merge  the
152              `B' side of a disk image from a separate file when opening a new
153              single-sided disk image.
154
155       --disk-try-merge mode
156              Select whether Fuse should try to merge a separate file for  the
157              `B'  side  of a disk image separate file when opening a new disk
158              image. Most double sided disk images are dumped  as  two  single
159              sided  disk  images  e.g.  `Golden Axe - Side A.dsk' and `Golden
160              Axe - Side B.dsk'. So, if we want to play Golden Axe,  first  we
161              have  to  insert  the first disk image and when the game asks to
162              insert side B, we have to find and open the second  disk  image,
163              instead  of  just  `flip'-ing  the disk inside the drive. If en‐
164              abled, Fuse will try to open the second image too and  create  a
165              double  sided disk image (merging the two one sided disk images)
166              and insert this merged virtual disk into  the  disk  drive.  The
167              function  detects whether the file is one side of a double-sided
168              image  if  the  filename  matches  a   pattern   like   [Ss]ide[
169              _][abAB12][ _.] in the file name of a disk that is being opened.
170              If found, Fuse will try to open the other side of the  disk  too
171              substituting  the  appropriate  characters  in the filename e.g.
172              1→2, a→b, A→B. If successful then it will merge the  two  images
173              and now we have a double sided disk in drive. This means that if
174              we open `Golden Axe - Side A.dsk', then Fuse will  try  to  open
175              `Golden  Axe - Side B.dsk' too. Now, we can just `flip' the disk
176              if Golden Axe asks for  `Side B'.   The  available  options  are
177              Never, With single-sided drives and Always.
178
179       --divide
180              Emulate  the  DivIDE interface. The same as the Disk Peripherals
181              Options dialog's DivIDE interface option.
182
183       --divide-masterfile file
184       --divide-slavefile file
185              Specify an IDE image to be loaded  into  the  DivIDE's  emulated
186              master and slave drives respectively.
187
188       --divide-write-protect
189              Specify  that  the emulated DivIDE's write protect jumper should
190              be considered set. The same as the Disk Peripherals Options dia‐
191              log's DivIDE write protect option.
192
193       --divmmc
194              Emulate  the  DivMMC interface. The same as the Disk Peripherals
195              Options dialog's DivMMC interface option.
196
197       --divmmc-file file
198              Specify an HDF image to be loaded  into  the  DivMMC's  emulated
199              memory card.
200
201       --divmmc-write-protect
202              Specify  that  the  emulated  DivMMC's write protect jumper that
203              protects EEPROM should be considered set. The same as  the  Disk
204              Peripherals Options dialog's DivMMC write protect option.
205
206       --dock file
207              Insert  the  specified file into the emulated Timex 2068 variant
208              dock; also select the TC2068 on startup if available.
209
210       -D mode
211       --doublescan-mode mode
212              Specify whether to use doublescan modes in the FB UI.  Available
213              values  for mode are 0, 1 and 2. 0 means `never doublescan' (use
214              640×480 at either 72 Hz or 60 Hz), whereas 1  and  2  both  mean
215              `try to use doublescan' and will fall back on the 640×480 modes.
216              1 selects 72 Hz modes (the same size and shape as  your  typical
217              640×480), and 2 selects 60 Hz modes (overscan).
218
219              If your monitor displays a blank screen when using 1 or 2, press
220              F10 then try a different option or say `--fbmode 640'.
221
222       --drive-plus3a-type type
223       --drive-plus3b-type type
224       --drive-beta128a-type type
225       --drive-beta128b-type type
226       --drive-beta128c-type type
227       --drive-beta128d-type type
228       --drive-plusd1-type type
229       --drive-plusd2-type type
230       --drive-didaktik80a-type type
231       --drive-didaktik80b-type type
232       --drive-disciple1-type type
233       --drive-disciple2-type type
234       --drive-opus1-type type
235       --drive-opus2-type type
236              Specify a disk drive type to emulate with the associated  inter‐
237              face.   The  available  options  are  Disabled,  Single-sided 40
238              track, Double-sided 40 track, Single-sided  80  track  and  Dou‐
239              ble-sided 80 track.  See the Disk Options dialog for more infor‐
240              mation.  The Disabled option is not supported  for  Drive  1  or
241              Drive A of any interface.
242
243       --drive-40-max-track count
244       --drive-80-max-track count
245              Specify  the maximum number of tracks for 40 and 80 track physi‐
246              cal drives respectively.
247
248       --embed-snapshot
249              Specify whether a snapshot should be embedded  in  an  RZX  file
250              when recording is started from an existing snapshot. (Enabled by
251              default, but you can use `--no-embed-snapshot' to disable). Same
252              as the RZX Options dialog's Always embed snapshot option.
253
254       --fastload
255              Specify  whether  Fuse  should run at the fastest possible speed
256              when the virtual tape is playing. (Enabled by default,  but  you
257              can  use  `--no-fastload' to disable). The same as the Media Op‐
258              tions dialog's Fastloading option.
259
260       -v mode
261       --fbmode mode
262              Specify which mode to use for the FB UI.  Available  values  for
263              mode  are  `320'  (which corresponds to a 320×240×256 mode), the
264              default and `640' (a 640×480×256 mode).
265
266       --fuller
267              Emulate a Fuller Box interface. Same as the General  Peripherals
268              Options dialog's Fuller Box option.
269
270       --full-screen
271              Specify  whether  Fuse should run in full screen mode.  This op‐
272              tion is effective only under the SDL UI.
273
274       -g filter
275       --graphics-filter mode
276              Specify which graphics filter to use if available.  The  default
277              is  normal,  which  uses no filtering. The available options are
278              2x, 2xsai, 3x, 4x, advmame2x, advmame3x, dotmatrix, half,  half‐
279              skip,   hq2x,   hq3x,   hq4x,  normal,  super2xsai,  supereagle,
280              timex15x, timex2x, timextv, tv2x, tv3x,  tv4x,  paltv,  paltv2x,
281              paltv3x, and paltv4x.  See the GRAPHICS FILTERS section for more
282              details.
283
284       --graphicsfile file
285              Set the filename used for graphical  output  from  the  emulated
286              ZX Printer. See the PRINTER EMULATION section for more details.
287
288       -h
289       --help
290              Give brief usage help, listing available options.
291
292       --if2cart file
293              Insert the specified file into the emulated Interface 2.
294
295       --interface1
296              Emulate  a Sinclair Interface 1. Same as the General Peripherals
297              Options dialog's Interface 1 option.
298
299       --interface2
300              Emulate a Sinclair Interface 2. (Enabled by default, but you can
301              use `--no-interface2' to disable). Same as the General Peripher‐
302              als Options dialog's Interface 2 option.
303
304       --issue2
305              Emulate an issue 2 keyboard. Same as the  General  Options  dia‐
306              log's Issue 2 keyboard option.
307
308       -j device
309       --joystick-1 device
310              Read  from  device  to emulate the first joystick. Fuse will use
311              either `/dev/input/js0' or `/dev/js0' by default.
312
313       --joystick-2 device
314              As for --joystick-1 but for the  second  joystick;  the  default
315              here is either `/dev/input/js1' or `/dev/js1'.
316
317       --joystick-1-output type
318       --joystick-2-output type
319       --joystick-keyboard-output type
320              Select which joystick interface to attach for the first two real
321              joysticks and the keyboard joystick. The default is 0, which  is
322              no output. The available options are 1 (cursor), 2 (kempston), 3
323              (Sinclair 1), 4 (Sinclair 2), 5 (Timex 1), 6  (Timex 2),  and  7
324              (Fuller).  Same  as the Joysticks Options dialog's Joystick type
325              option.
326
327       --joystick-1-fire-1 code
328       --joystick-1-fire-2 code
329       --joystick-1-fire-3 code
330       --joystick-1-fire-4 code
331       --joystick-1-fire-5 code
332       --joystick-1-fire-6 code
333       --joystick-1-fire-7 code
334       --joystick-1-fire-8 code
335       --joystick-1-fire-9 code
336       --joystick-1-fire-10 code
337       --joystick-1-fire-11 code
338       --joystick-1-fire-12 code
339       --joystick-1-fire-13 code
340       --joystick-1-fire-14 code
341       --joystick-1-fire-15 code
342       --joystick-2-fire-1 code
343       --joystick-2-fire-2 code
344       --joystick-2-fire-3 code
345       --joystick-2-fire-4 code
346       --joystick-2-fire-5 code
347       --joystick-2-fire-6 code
348       --joystick-2-fire-7 code
349       --joystick-2-fire-8 code
350       --joystick-2-fire-9 code
351       --joystick-2-fire-10 code
352       --joystick-2-fire-11 code
353       --joystick-2-fire-12 code
354       --joystick-2-fire-13 code
355       --joystick-2-fire-14 code
356       --joystick-2-fire-15 code
357              Select which Fuse key code should be triggered by the applicable
358              real  joystick  button  press.  The  codes are the Fuse keyboard
359              codes corresponding to the keys. The default value is 4096 which
360              corresponds  to  the  virtual  joystick fire button. Same as the
361              Joysticks Options dialog's Joystick fire options.
362
363       --joystick-keyboard-up code
364       --joystick-keyboard-down code
365       --joystick-keyboard-left code
366       --joystick-keyboard-right code
367       --joystick-keyboard-fire code
368              Select which Fuse key code should correspond with each direction
369              and fire for the keyboard virtual joystick. The same as the Key‐
370              board Joysticks Options dialog's Button for UP, Button for DOWN,
371              Button  for  LEFT,  Button for RIGHT and Button for FIRE options
372              respectively.
373
374       --joystick-prompt
375              If this option is specified, then Fuse  will  prompt  you  which
376              form  of joystick emulation you wish to use when loading a snap‐
377              shot. No prompt will be issued if the configuration in the snap‐
378              shot  matches what you are currently using. The same as the Gen‐
379              eral Options dialog's Snap joystick prompt option.
380
381       --kempston
382              Emulate a Kempston joystick. Same as the General Peripherals Op‐
383              tions dialog's Kempston joystick option.
384
385       --kempston-mouse
386              Emulate  a  Kempston  mouse. Same as the General Peripherals Op‐
387              tions dialog's Kempston mouse option.
388
389       --keyboard-arrows-shifted
390              Treat the keyboard arrow keys as shifted like the  ZX  Spectrum+
391              keyboard's  arrow  keys  or  as unshifted like a cursor joystick
392              that maps to the 5, 6, 7 and 8 keys. (Enabled  by  default,  but
393              you  can use `--no-keyboard-arrows-shifted' to disable). Same as
394              the General Peripherals Options dialog's Use  shift  with  arrow
395              keys option.
396
397       --late-timings
398              It  has been observed that some real Spectrums run such that the
399              screen is rendered one tstate later than on other real hardware.
400              This  option  specifies that Fuse should emulate such a machine.
401              Same as the General Options dialog's Late timings option.
402
403       --loading-sound
404              Specify whether the sound made while tapes are loading should be
405              emulated.  (Enabled  by  default,  but  you  can use `--no-load‐
406              ing-sound' to disable). Same as the Sound Options dialog's Load‐
407              ing sound option.
408
409       -m type
410       --machine type
411              Specify  machine type to emulate initially. The default is 48, a
412              48K Spectrum. The available options are 16,  48,  48_ntsc,  128,
413              plus2, plus2a, plus3, 2048, 2068, ts2068, pentagon, pentagon512,
414              pentagon1024, scorpion and se.
415
416       --melodik
417              Emulate a Melodik AY interface for 16/48k Spectrums. Same as the
418              General Peripherals Options dialog's Melodik option.
419
420       --mdr-len length
421              This  option  controls  the number of blocks in a new Microdrive
422              cartridge.  Same as the Media Options dialog's MDR cartridge len
423              option.
424
425       --mdr-random-len
426              If  this  option  is set, Fuse will use a random Microdrive car‐
427              tridge length. Same as the Media Options dialog's Random  length
428              MDR cartridge option.
429
430       --microdrive-file file
431       --microdrive-2-file file
432       --microdrive-3-file file
433       --microdrive-4-file file
434       --microdrive-5-file file
435       --microdrive-6-file file
436       --microdrive-7-file file
437       --microdrive-8-file file
438              Specify Interface 1 Microdrive cartridge files to open.
439
440       --mouse-swap-buttons
441              Swap  the  left and right mouse buttons when emulating the Kemp‐
442              ston mouse. The same as the General  Peripherals  dialog's  Swap
443              mouse buttons option.
444
445       --movie-compr level
446              This  option  sets  the  compression  level  used  when creating
447              movies. Same as the Movie Options dialog's Movie compression op‐
448              tion.  The  available  options  are  None,  Lossless,  and  High
449              (lossy). The default option is Lossless.   See  also  the  MOVIE
450              RECORDING section.
451
452       --movie-start file
453              With  this  command line option, Fuse will start movie recording
454              as soon as the emulator is started. See also the MOVIE RECORDING
455              section.
456
457       --movie-stop-after-rzx
458              With  this  command  line option, Fuse will stop movie recording
459              when RZX playback or RZX recording ends. Same as the  Movie  Op‐
460              tions dialog's Stop recording after RZX ends option. (Enabled by
461              default, but you can  use  `--no-movie-stop-after-rzx'  to  dis‐
462              able).  See also the MOVIE RECORDING section.
463
464       --multiface1
465              Emulate  a  Romantic  Robot Multiface One interface. Same as the
466              General Peripherals Options dialog's Multiface One option.
467
468       --multiface128
469              Emulate a Romantic Robot Multiface 128 interface.  Same  as  the
470              General Peripherals Options dialog's Multiface 128 option.
471
472       --multiface3
473              Emulate a Romantic Robot Multiface 3 interface. Same as the Gen‐
474              eral Peripherals Options dialog's Multiface 3 option.
475
476       --multiface1-stealth
477              Set Multiface One stealth/invisible mode. Same  as  the  General
478              Peripherals Options dialog's Stealth Multiface One option.
479
480       --opus
481              Emulate  an Opus Discovery interface. Same as the Disk Peripher‐
482              als Options dialog's Opus Discovery interface option.
483
484       --opusdisk file
485              Insert the specified file into  the  emulated  Opus  Discovery's
486              drive 1.
487
488       --pal-tv2x
489              Specify  whether  the PAL TV 2x, PAL TV 3x and PAL TV 4x scalers
490              should also produce scanlines along the lines of the  TV 2x  and
491              Timex TV scalers.  The same as the General Options dialog's PAL-
492              TV use TV2x effect option.
493
494       --phantom-typist-mode mode
495              Specify the keystroke sequence that the "phantom typist"  should
496              use  when  starting a program loading. The available options are
497              Auto, Keyword, Keystroke, Menu, Plus 2A and Plus 3.  The same as
498              the Media Options dialog's Phantom typist mode option.
499
500       -p file
501       --playback file
502              Specify an RZX file to begin playback from.
503
504       --plus3disk file
505              Insert  the specified file into the emulated +3's A: drive; also
506              select the +3 on startup if available.
507
508       --plus3-detect-speedlock
509              Specify whether the +3 drives try to detect Speedlock  protected
510              disks, and emulate `weak' sectors.  If the disk image file (EDSK
511              or UDI) contains weak sector data, than Speedlock  detection  is
512              automatically  omitted.   See  also  the WEAK DISK DATA section.
513              Same as the Disk Options dialog's +3 Detect Speedlock option.
514
515       --plusd
516              Emulate a +D interface. Same as the Disk Peripherals Options di‐
517              alog's +D interface option.
518
519       --plusddisk file
520              Insert the specified file into the emulated +D's drive 1.
521
522       --printer
523              Specify  whether the emulation should include a printer. Same as
524              the General Peripherals Options dialog's  Emulate  printers  op‐
525              tion.
526
527       --rate frame
528              Specify  the  frame rate, the ratio of spectrum frame updates to
529              real frame updates. Same as the General Options  dialog's  Frame
530              rate option.
531
532       -r file
533       --record file
534              Specify an RZX file to begin recording to.
535
536       --recreated-spectrum
537              Enable  the  use  of a Recreated ZX Spectrum in `Layer A' (game)
538              mode. This is a Bluetooth keyboard that can be paired to the de‐
539              vice where Fuse is running. The same as the General Options dia‐
540              log's Recreated ZX Spectrum option.
541
542       --rom-16 file
543       --rom-48 file
544       --rom-128-0 file
545       --rom-128-1 file
546       --rom-plus2-0 file
547       --rom-plus2-1 file
548       --rom-plus2a-0 file
549       --rom-plus2a-1 file
550       --rom-plus2a-2 file
551       --rom-plus2a-3 file
552       --rom-plus3-0 file
553       --rom-plus3-1 file
554       --rom-plus3-2 file
555       --rom-plus3-3 file
556       --rom-plus3e-0 file
557       --rom-plus3e-1 file
558       --rom-plus3e-2 file
559       --rom-plus3e-3 file
560       --rom-tc2048 file
561       --rom-tc2068-0 file
562       --rom-tc2068-1 file
563       --rom-ts2068-0 file
564       --rom-ts2068-1 file
565       --rom-pentagon-0 file
566       --rom-pentagon-1 file
567       --rom-pentagon-2 file
568       --rom-pentagon512-0 file
569       --rom-pentagon512-1 file
570       --rom-pentagon512-2 file
571       --rom-pentagon512-3 file
572       --rom-pentagon1024-0 file
573       --rom-pentagon1024-1 file
574       --rom-pentagon1024-2 file
575       --rom-pentagon1024-3 file
576       --rom-scorpion-0 file
577       --rom-scorpion-1 file
578       --rom-scorpion-2 file
579       --rom-scorpion-3 file
580       --rom-spec-se-0 file
581       --rom-spec-se-1 file
582              Specify the file to be used for ROM(s) used  for  each  machine.
583              The  options  respectively  refer  to the 16K Spectrum (48.rom),
584              48K Spectrum  (48.rom),  the  two  ROMs  for  the  128K Spectrum
585              (128-0.rom  and 128-1.rom), the two ROMs for the +2 (plus2-0.rom
586              and plus2-1.rom),  the  four  ROMs  for  the  +2A  (plus3-0.rom,
587              plus3-1.rom, plus3-2.rom and plus3-3.rom), the four ROMs for the
588              +3 (plus3-0.rom, plus3-1.rom, plus3-2.rom and plus3-3.rom),  the
589              four  enhanced  ROMs  for  the  +3e (plus3e-0.rom, plus3e-1.rom,
590              plus3e-2.rom and plus3e-3.rom), the TC2048 ROM (tc2048.rom), the
591              two ROMs for the TC2068 (tc2068-0.rom and tc2068-1.rom), the two
592              ROMs for the TS2068 (tc2068-0.rom  and  tc2068-1.rom),  the  two
593              main  ROMs and the TR-DOS ROM for the Pentagon 128K (128p-0.rom,
594              128p-1.rom and trdos.rom), the two main ROMs, the TR-DOS ROM and
595              a reset service ROM for the Pentagon 512K and 1024K (128p-0.rom,
596              128p-1.rom, trdos.rom and gluck.rom),  the  four  ROMs  for  the
597              Scorpion    256    (256s-0.rom,   256s-1.rom,   256s-2.rom   and
598              256s-3.rom), and the two ROMs for the Spectrum SE (se-0.rom  and
599              se-1.rom).
600
601              The  names  in  brackets  denote the defaults. Note that not all
602              these ROMs are supplied with Fuse — you  must  supply  your  own
603              copies of those which are not.
604
605       --rom-interface-1 file
606       --rom-beta128 file
607       --rom-plusd file
608       --rom-didaktik80 file
609       --rom-disciple file
610       --rom-multiface1 file
611       --rom-multiface128 file
612       --rom-multiface3 file
613       --rom-opus file
614       --rom-speccyboot file
615       --rom-ttx2000s file
616       --rom-usource file
617              Specify the file to be used for ROM(s) used for each peripheral.
618              The  options  respectively  refer   to   the   Interface 1   ROM
619              (if1-2.rom), the TR-DOS ROM for Beta 128 emulation with the 48K,
620              TC2048, 128K or +2 (trdos.rom), the +D ROM (plusd.rom), the  Di‐
621              daktik 80 ROM (didaktik80.rom), the DISCiPLE ROM (disciple.rom),
622              the  Multiface One  ROM   (mf1.rom),   the   Multiface 128   ROM
623              (mf128.rom),  the  Multiface 3 ROM (mf3.rom), the Opus Discovery
624              ROM (opus.rom), the  SpeccyBoot  ROM  (speccyboot-1.4.rom),  the
625              TTX2000S ROM (ttx2000s.rom), and the µSource ROM (usource.rom).
626
627              The  names  in  brackets  denote the defaults. Note that not all
628              these ROMs are supplied with Fuse — you  must  supply  your  own
629              copies of those which are not.
630
631       --no-rs232-handshake
632              This  option  makes Fuse's Interface 1 emulation assume that the
633              RS-232 line other end is live when you connect the communication
634              channels.  See also the `--rs232-rx' and `--rs232-tx' options.
635
636       --rs232-rx
637       --rs232-tx
638              Specify the communication channels (FIFO or file) to be used for
639              Interface 1 RS-232 emulation as RxD and TxD wire. See  also  the
640              `--rs232-handshake' options.
641
642       --rzx-autosaves
643              Specify that, while recording an RZX file, Fuse should automati‐
644              cally add a snapshot to the recording  stream  every  5 seconds.
645              (Default  to  on,  but  you can use `--no-rzx-autosaves' to dis‐
646              able). Same as the RZX Options dialog's Create autosaves option;
647              see there for more details.
648
649       --sdl-fullscreen-mode mode
650              Select  a screen resolution for full screen mode. Available val‐
651              ues for mode are listed in a table, when  Fuse  is  called  with
652              --sdl-fullscreen-mode  list command line option.  This option is
653              effective only under the SDL UI.
654
655       --separation type
656              Give stereo separation of the 128's AY sound channels.  Same  as
657              the  General  Options  dialog's AY stereo separation option. The
658              available options are None, ACB, and ABC.  The default option is
659              None.
660
661       --simpleide
662              Specify whether Fuse will emulate the simple 8-bit IDE interface
663              as used by the Spectrum +3e. Same as the  Disk  Peripherals  Op‐
664              tions dialog's Simple 8-bit IDE option.
665
666       --simpleide-masterfile file
667              Specify  a  HDF file to connect to the emulated Simple 8-bit IDE
668              interface's master channel.
669
670       --simpleide-slavefile file
671              Specify a HDF file to connect to the emulated Simple  8-bit  IDE
672              interface's slave channel.
673
674       --slt
675              Support  the  SLT trap instruction. (Enabled by default, but you
676              can use `--no-slt' to disable). Same as the Media  Options  dia‐
677              log's Use .slt traps option.
678
679       -s file
680       --snapshot file
681              Specify a snapshot file to load. The file can be in any snapshot
682              format supported by libspectrum(3).
683
684       --sound
685              Specify whether Fuse should produce sound. (Enabled by  default,
686              but  you can use `--no-sound' to disable). Same as the Sound Op‐
687              tions dialog's Sound enabled option.
688
689       -d device
690       --sound-device device
691              Specify the sound output device to use and any options  to  give
692              that  device.  If you are not using the SDL UI or using libao or
693              libasound (ALSA) for sound output,  then  the  device  parameter
694              just specifies the device to be used for sound output.
695
696              If  you are using the SDL UI, the device parameter allows you to
697              specify the audio driver to be used (e.g. dsp,  alsa,  dma,  esd
698              and arts).
699
700              If  you  are  using libao for sound output, the device parameter
701              allows you to specify the device used for sound  output  (either
702              `live'  to a speaker or to a file) and the parameters to be used
703              for that device. In general, the device parameter has  the  form
704              driver[:param[=value][,param[=value][,...]].  driver selects the
705              libao driver to be used, either one of the `live' drivers (aixs,
706              alsa,  alsa09,  arts,  esd,  irix, macosx, nas, oss or sun) or a
707              file driver (au, raw, wav or null).  The available parameter and
708              value pairs for each device are:
709
710aixs: AIX audio system
711
712                     •      dev=device
713                            `device' gives the AIX sound device.
714
715alsa: Advanced Linux Sound Architecture version 0.5.x
716
717                     •      card=num
718                            `num' gives the ALSA card number.
719
720                     •      dev=num
721                            `num' gives the ALSA device number.
722
723                     •      buf_size=num
724                            `num' gives the ALSA buffer size in bytes.
725
726alsa09: Advanced Linux Sound Architecture version 0.9+
727
728                     •      dev=string
729                            `string' specifies the ALSA device e.g. hw:1.2
730
731                     •      buffer_time=num
732                            `num' gives the ALSA buffer time in microseconds.
733
734                     •      period_time=num
735                            `num' gives the ALSA period time in microseconds.
736
737                     •      use_mmap=yes|y|true|t|1
738                            specifies that libao use memory mapped transfer.
739
740arts: aRts soundserver: no parameters.
741
742esd: Enlightened Sound Daemon.
743
744                     •      host=string
745                            `string' gives the ESD host specification.
746
747irix: IRIX Audio Library: no parameters.
748
749macosx: MacOS X CoreAudio: no parameters.
750
751nas: Network Audio System.
752
753                     •      host=string
754                            `string' gives the NAS host specification.
755
756                     •      buf_size=num
757                            `num' gives the buffer size on the server.
758
759oss: Open Sound System.
760
761                     •      dsp=string
762                            `string'  gives  the  OSS  device  to be used e.g.
763                            /dev/sound/dsp1
764
765sun: SUN audio system.
766
767                     •      dev=string
768                            `string' gives the audio device to be used.
769
770au: SUN Sparc audio file: no parameters.
771
772raw: raw file.
773
774                     •      byteorder=string
775                            `string' can be any of native (host  native  byte‐
776                            order),  big  (big  endian)  or little (little en‐
777                            dian).
778
779wav: Microsoft audio file: no parameters.
780
781null: null output: no parameters.
782
783debug: for debugging libao.
784
785              Finally, each of the file output types (au, raw and wav) have an
786              extra  option  `file=filename'  where  `filename' gives the file
787              output will be directed to. This defaults to `fuse-sound.ao'  if
788              it is not specified.
789
790              Some examples of use:
791
792              fuse -d alsa09:dev=hw:1
793
794              causes  Fuse  to use ALSA 0.9+ output with the second (#1) sound
795              card.
796
797              fuse -d raw:byteorder=little,file=enigma.raw
798
799              causes Fuse to save little endian words to `enigma.raw'.
800
801              See the `DEVICE' section of ogg123(1) for up to date information
802              of  devices  and  options (except for the `file' option which is
803              provided by Fuse itself).
804
805              If you are using libasound or ALSA for sound output, the  device
806              parameter allows you to specify the device used for sound output
807              and some parameters to be used for that device. In general,  the
808              device parameter has the form
809              devstr or
810              param[=value][,param[=value][,...][,devstr].
811
812devstr:  selects the ALSA device used, it can be any com‐
813                     plex or simple ALSA device name. e.g.: default or hw:0 or
814                     tee:plughw:0,'/tmp/out.raw',raw.   See  the  alsa-lib pcm
815                     api                     reference                      at
816                     http://www.alsa-project.org/alsa-doc/alsa-lib/pcm.html
817                     for further explanation.
818
819param and values:
820
821buffer=nnnn:  set  the  ALSA  buffer  in   frames,
822                            smaller  value  cause  smaller sound delay but may
823                            more buffer underrun  (pops  and  clicks),  larger
824                            value  cause  longer  delay but fewer underrun. By
825                            default Fuse determine the buffer  size  based  on
826                            the actual sound frequency.
827
828                            If you use some special plugin for your pcm device
829                            (e.g.: dmix) or your card not support some  needed
830                            parameter  (e.g.  cannot  play  other  only 48 kHz
831                            stereo sound like some AC97 sound card) may  cause
832                            Fuse  unable to set the needed buffer size, appro‐
833                            priate sound frequency, channels and so on, there‐
834                            fore you cannot get optimal result or not hear the
835                            sound at all.  In  this  case  try  the  plughw:#,
836                            (where # mean your card number counted from 0) for
837                            ALSA device.
838
839verbose : if given, fuse report ALSA buffer under‐
840                            runs to stderr.
841
842              Some examples of use:
843
844              fuse -d verbose,buffer=2000
845
846              causes  Fuse  to  use  the  default  ALSA device with 2000 frame
847              length buffer and report ALSA buffer underruns on stderr.
848
849              fuse -d tee:plughw:0,'/tmp/aufwm.raw',raw
850
851              causes Fuse to use the first card and parallel save the raw  au‐
852              dio samples into /tmp/aufwm.raw file.
853
854              If you are using PulseAudio for sound output, the device parame‐
855              ter allows you to specify some parameters to be  used  for  that
856              soud buffer. In general, the device parameter has the form
857              param[=value][,param[=value][,...].
858
859param and values:
860
861tlength=[num]ms: set target length of the PulseAu‐
862                            dio sound buffer in  milliseconds.  Smaller  value
863                            cause  smaller  sound delay but more buffer under‐
864                            runs (pops and clicks), larger value cause  longer
865                            delay but fewer underruns. By default Fuse set the
866                            buffer size to 30ms of sound delay.
867
868tlength=num: set target length of  the  PulseAudio
869                            sound  buffer  in  bytes.  By default Fuse set the
870                            buffer size to 30ms of sound delay.
871
872verbose : if given, Fuse report PulseAudio  buffer
873                            underruns  to stderr and PulseAudio buffer options
874                            to stdout.
875
876              Some examples of use:
877
878              fuse -d tlength=40ms
879
880              causes Fuse to target 40ms of sound delay instead of the default
881              30ms.
882
883              fuse -d verbose,tlength=2646
884
885              causes  Fuse  to  request a sound buffer of 2646 bytes and print
886              info to stdout.
887
888       --sound-force-8bit
889              Force the use of 8-bit sound, even if 16-bit is  possible.  Same
890              as the Sound Options dialog's Force 8-bit option.
891
892       -f frequency
893       --sound-freq frequency
894              Specify what frequency Fuse should use for the sound device, the
895              default is 44.1 kHz, but some devices only support a single fre‐
896              quency or a limited range (e.g.  48 kHz or up to 22 kHz).
897
898       --speaker-type type
899              Select  the  output  speaker  emulation, type can be TV speaker,
900              Beeper or Unfiltered. Same as the Sound Options dialog's Speaker
901              type option.
902
903       --speccyboot
904              Emulate a SpeccyBoot Ethernet interface. Same as the General Pe‐
905              ripherals Options dialog's SpeccyBoot option. See the SpeccyBoot
906              web  page at http://patrikpersson.github.io/speccyboot/ for full
907              details on the SpeccyBoot.
908
909       --speccyboot-tap device
910              Specify the TAP device to use for SpeccyBoot emulation.
911
912       --specdrum
913              Emulate a SpecDrum interface. Same as  the  General  Peripherals
914              Options  dialog's SpecDrum option. See the World of Spectrum In‐
915              foseek   web   page   at   http://www.worldofspectrum.org/infos
916              eekid.cgi?id=1000062 for manuals, software and more.
917
918       --spectranet
919              Specify whether Fuse will emulate the Spectranet Ethernet inter‐
920              face.  Same as the General Peripherals  Options  dialog's  Spec‐
921              tranet option. See the SPECTRANET EMULATION section for more de‐
922              tails.
923
924       --spectranet-disable
925              This option controls the state of the Spectranet automatic page-
926              in jumper (J2). Same as the General Peripherals Options dialog's
927              Spectranet disable option. See the SPECTRANET EMULATION  section
928              for more details.
929
930       --speed percentage
931              Specify  the  speed  (as a percentage of real Spectrum speed) at
932              which emulation should attempt to proceed. Same as  the  General
933              Options dialog's Emulation speed option.
934
935       --statusbar
936              For the GTK and Win32 UI, enables the statusbar beneath the dis‐
937              play. For the Xlib and SDL UI, enables the status icons  showing
938              whether  the  disk and tape are being accessed. Same as the Gen‐
939              eral Options dialog's Show statusbar option.
940
941       --strict-aspect-hint
942              For the GTK UI, use stricter limits for the aspect ratio  limits
943              set  by  the  `--aspect-hint' option. This can cause some window
944              managers (for example, metacity(1)) to not allow the  window  to
945              be  resized  and  moved, but is necessary to prevent others (for
946              example, fvwm(1)) from being able resize the  window  away  from
947              square.
948
949       --svga-modes mode1,mode2,mode3
950              Specify  which  SVGA mode to use for the SVGAlib UI at different
951              screen sizes. Available values for mode1, mode2  and  mode3  are
952              listed  in a table, when Fuse called with --svga-modes list com‐
953              mand line option.  When user select a not available mode  for  a
954              size,  Fuse  just  ignore  and try to find the best mode for it.
955              e.g.  with  --svga-modes   0,0,12   Fuse   use   the   specified
956              1024×768×256  SVGA mode for triple size filters, but select SVGA
957              modes automatically for normal  or  double  size  filters.   The
958              above mode number is just an example, and mode numbers and their
959              meanings may vary graphics card by graphics card.
960
961       -t file
962       --tape file
963              Specify a virtual tape file to use. It must be in  PZX,  TAP  or
964              TZX format.
965
966       --teletext-addr-1 address
967       --teletext-addr-2 address
968       --teletext-addr-3 address
969       --teletext-addr-4 address
970              Specify address or hostname of teletext packet servers.
971
972       --teletext-port-1 port
973       --teletext-port-2 port
974       --teletext-port-3 port
975       --teletext-port-4 port
976              Specify TCP port of teletext packet servers.
977
978       --textfile file
979              Set  the  filename used for text output from the emulated print‐
980              ers. See the PRINTER EMULATION section below for more details.
981
982       --traps
983              Support traps for ROM tape loading/saving. (Enabled by  default,
984              but  you can use `--no-traps' to disable). Same as the Media Op‐
985              tions dialog's Use tape traps option.
986
987       --ttx2000s
988              Emulate a TTX2000S teletext adaptor. Same as the General Periph‐
989              erals  Options dialog's TTX2000S option. See the TTX2000S EMULA‐
990              TION section for more details.
991
992       --unittests
993              This option runs a testing framework that  automatically  checks
994              portions  of  code, comparing actual results with expected ones.
995              It is meant to detect broken code before a release. There is not
996              graphical  mode,  the  program just ends with exit code 0 if all
997              tests are good or prints error messages to stdout and ends  with
998              exit code greater than 0 if there are failed tests.
999
1000       --usource
1001              Emulate a µSource interface. Same as the General Peripherals Op‐
1002              tions dialog's µSource option.
1003
1004       -V
1005       --version
1006              Show which version of Fuse is being used.
1007
1008       --volume-ay volume
1009              Sets the relative volume of the AY-3-8912 chip from a  range  of
1010              0–100%. Same as the Sound Options dialog's AY volume option.
1011
1012       --volume-beeper volume
1013              Sets  the  relative volume of the beeper from a range of 0–100%.
1014              Same as the Sound Options dialog's Beeper volume option.
1015
1016       --volume-covox volume
1017              Sets the relative volume of the Covox from a  range  of  0–100%.
1018              Same as the Sound Options dialog's Covox volume option.
1019
1020       --volume-specdrum volume
1021              Sets the relative volume of the SpecDrum from a range of 0–100%.
1022              Same as the Sound Options dialog's SpecDrum volume option.
1023
1024       --writable-roms
1025              Allow Spectrum programs to overwrite the ROM(s). The same as the
1026              General Options dialog's Allow writes to ROM option.
1027
1028       --zxatasp
1029              Specify  whether Fuse emulate the ZXATASP interface. Same as the
1030              Disk Peripherals Options dialog's ZXATASP interface option.
1031
1032       --zxatasp-upload
1033              Specify the state of the ZXATASP upload jumper. Same as the Disk
1034              Peripherals Options dialog's ZXATASP upload option.
1035
1036       --zxatasp-write-protect
1037              Specify  the  state of the ZXATASP write protect jumper. Same as
1038              the Disk Peripherals Options dialog's ZXATASP write protect  op‐
1039              tion.
1040
1041       --zxatasp-masterfile file
1042              Specify  a  HDF  file  to connect to the emulated ZXATASP inter‐
1043              face's master channel.
1044
1045       --zxatasp-slavefile file
1046              Specify a HDF file to connect to  the  emulated  ZXATASP  inter‐
1047              face's slave channel.
1048
1049       --zxcf
1050              Specify  whether  Fuse  emulate  the ZXCF interface. Same as the
1051              Disk Peripherals Options dialog's ZXCF interface option.
1052
1053       --zxcf-upload
1054              Specify the state of the ZXCF upload jumper. Same  as  the  Disk
1055              Peripherals Options dialog's ZXCF upload option.
1056
1057       --zxcf-cffile file
1058              Specify a HDF file to connect to the emulated ZXCF interface.
1059
1060       --zxmmc
1061              Emulate  the  ZXMMC  interface. The same as the Disk Peripherals
1062              Options dialog's ZXMMC interface option.
1063
1064       --zxmmc-file file
1065              Specify an HDF image to be loaded into the ZXMMC's emulated mem‐
1066              ory card.
1067
1068       --zxprinter
1069              Emulate  the ZX Printer. Same as the General Peripherals Options
1070              dialog's ZX Printer option.
1071
1072       All long options which control on/off settings can  be  disabled  using
1073       `--no-foo'  (for  an  option  `--foo').   For  example, the opposite of
1074       `--issue2' is `--no-issue2'.  These options can also be modified  while
1075       the emulator is running, using the options dialogs — see the documenta‐
1076       tion for the Options menu in the MENUS AND KEYS section for details.
1077

THE VARIOUS FRONT-ENDS

1079       Fuse supports various front-ends, or UIs (user interfaces).  The  usual
1080       one  is  GTK-based,  but  there  are also SDL, Win32, Xlib, SVGAlib and
1081       framebuffer ones.
1082
1083       The important difference to note is that GTK and  Win32  versions  uses
1084       `native'  dialog  boxes  etc.  (behaving like a fairly normal GUI-based
1085       program) while the others use  an  alternative,  Fuse-specific  `widget
1086       UI'.  This  latter  front-end  is easily spotted by the way it uses the
1087       main Fuse window/screen for menus and dialogs, and uses the  Spectrum's
1088       own font.
1089
1091       Since  many of the keys available are devoted to emulation of the Spec‐
1092       trum's keyboard, the primary way of  controlling  Fuse  itself  (rather
1093       than  the  emulated  machine) is via the menus. There are also function
1094       key shortcuts for some menu options.
1095
1096       In the GTK and Win32 version, the menu bar is always visible at the top
1097       of the Fuse window. You can click on a menu name to pop it up. Alterna‐
1098       tively, you can press F1 to display a pop-up version of the  menu  bar,
1099       which you can then navigate with the cursor keys or mouse.
1100
1101       In  the widget UI pressing F1 is the only way to get the main menu; and
1102       unlike the GTK version, the emulator pauses while the menus  are  being
1103       navigated.  The  menus  show which key to press for each menu option in
1104       brackets. Pressing Esc exits a menu, and pressing Enter exits the  menu
1105       system entirely (as well as `confirming' any current dialog).
1106
1107       Here's  what  the menu options do, along with the function key mappings
1108       for those items which have them:
1109
1110       F3
1111       File, Open...
1112              Open a Spectrum file. Snapshots will be loaded into memory; tape
1113              images  will be inserted into the emulated tape deck, and if the
1114              Auto-load media option is set will being loading. Opening a disk
1115              image  or  a Timex dock image will cause the appropriate machine
1116              type (+3, Pentagon or TC2068) to be selected with the image  in‐
1117              serted, and disks will automatically load if the Auto-load media
1118              option is set. See the FILE SELECTION section below for  details
1119              on how to choose the file. Note that this behaviour is different
1120              from previous versions of Fuse, when this option would open only
1121              snapshots.
1122
1123       F2
1124       File, Save Snapshot...
1125              Save  a snapshot (machine state, memory contents, etc.) to file.
1126              You can select the filename to be saved to. If it  has  a  .szx,
1127              .z80  or .sna extension, the snapshot will be saved in that for‐
1128              mat. Otherwise, it will be saved as a .szx file.
1129
1130       File, Recording, Record...
1131              Start recording input to an RZX file, initialised from the  cur‐
1132              rent  emulation  state.  You  will be prompted for a filename to
1133              use.
1134
1135       File, Recording, Record from snapshot...
1136              Start recording input to an RZX file, initialised from  a  snap‐
1137              shot.  You  will first be asked for the snapshot to use and then
1138              the file to save the recording to.
1139
1140       File, Recording, Continue recording...
1141              Continue recording input into an existing RZX file from the last
1142              recorded state. Finalised recordings cannot be resumed. You will
1143              be prompted for the recording to continue.
1144
1145       Insert
1146       File, Recording, Insert snapshot
1147              Inserts a snapshot of the current state into the RZX file.  This
1148              can  be used at a later point to roll back to the inserted state
1149              by using one of the commands below.
1150
1151       Delete
1152       File, Recording, Rollback
1153              Rolls back the recording to the  point  at  which  the  previous
1154              snapshot was inserted. Recording will continue from that point.
1155
1156       File, Recording, Rollback to...
1157              Roll  back the recording to any snapshot which has been inserted
1158              into the recording.
1159
1160       File, Recording, Play...
1161              Playback recorded input from an RZX file. This lets  you  replay
1162              keypresses  recorded  previously.  RZX files generally contain a
1163              snapshot with the Spectrum's state at the start of  the  record‐
1164              ing;  if the selected RZX file doesn't, you'll be prompted for a
1165              snapshot to load as well.
1166
1167       File, Recording, Stop
1168              Stop any currently-recording/playing RZX file.
1169
1170       File, Recording, Finalise...
1171              Compact an RZX file. Any interspersed snapshot will  be  removed
1172              and  the  recording cannot be continued. All action replays sub‐
1173              mitted to the RZX Archive should be finalised.
1174
1175       File, AY Logging, Record...
1176              Start recording the bytes output via the AY-3-8912 sound chip to
1177              a  PSG  file.  You  will  be prompted for a filename to save the
1178              recording to.
1179
1180       File, AY Logging, Stop
1181              Stop any current AY logging.
1182
1183       File, Screenshot, Open SCR Screenshot...
1184              Load an SCR screenshot (essentially just a binary  dump  of  the
1185              Spectrum's  video memory) onto the current screen. Fuse supports
1186              screenshots saved in the Timex hi-colour  and  hi-res  modes  as
1187              well  as  `normal' Spectrum screens, and will make a simple con‐
1188              version if a hi-colour or hi-res screenshot  is  loaded  onto  a
1189              non-Timex machine.
1190
1191       File, Screenshot, Save Screen as SCR...
1192              Save  a copy of whatever's currently displayed on the Spectrum's
1193              screen as an SCR file. You will be prompted for  a  filename  to
1194              save the screenshot to.
1195
1196       File, Screenshot, Open MLT Screenshot...
1197              Load  an  MLT screenshot onto the current screen. The MLT format
1198              is similar to the SCR format but additionally supports capturing
1199              images  that  use techniques to display more than two colours in
1200              each Spectrum attribute square. Fuse will only load  the  bitmap
1201              version  of  an image on a Sinclair machine but on a Timex clone
1202              it can show the full colour detail captured in the image by  us‐
1203              ing the hi-colour mode.
1204
1205       File, Screenshot, Save Screen as MLT...
1206              Save  a copy of whatever's currently displayed on the Spectrum's
1207              screen as an MLT file. You will be prompted for  a  filename  to
1208              save the screenshot to.
1209
1210       File, Screenshot, Save Screen as PNG...
1211              Save  the current screen as a PNG file. You will be prompted for
1212              a filename to save the screenshot to.
1213
1214       File, Scalable Vector Graphics, Start capture in line mode...
1215              Start trapping the video output functions present in ROM to copy
1216              the picture to SVG files, thus creating vectorized scalable pic‐
1217              ture; it is expected to be fully operational in BASIC only,  but
1218              few  machine  code  programs could work, if they use the ROM ad‐
1219              dresses to output text or graphics. The initial picture size  is
1220              256×176,  but  it  is increased everytime a `scroll' happens. On
1221              every CLS a new file will be created,  with  an  increasing  se‐
1222              quence number. CIRCLEs will be described as a sequence of lines,
1223              so the original `imprecisions' will be still visible.  The  text
1224              output  will be fully understood and decoded: normal ASCII char‐
1225              acters will be converted into COURIER scalable fonts, UDG graph‐
1226              ics into dot matrix areas, GRAPHICS blocky characters into small
1227              squares.  A slightly transparent output permits to show a bit of
1228              the  overlapped text and graphics elements. Lower portion of the
1229              screen (normally bound to stream #0 and #1) won't be captured.
1230
1231       File, Scalable Vector Graphics, Start capture in dot mode...
1232              As above, but line capture is disabled. A line will be  rendered
1233              as a sequence of dots.
1234
1235       File, Scalable Vector Graphics, Stop capture
1236              Stop the SVG capture function.
1237
1238       File, Movie, Record...
1239              Fuse can record movie (video and audio) into a file with special
1240              format which can be converted later to a common video file  for‐
1241              mat  with  the  fmfconv(1)  utility.  You will be prompted for a
1242              filename to save video. Please see MOVIE RECORDING section.
1243
1244       File, Movie, Record from RZX...
1245              Start movie recording and RZX playback at  the  same  time.  You
1246              will  be  prompted for a filename to play from and a filename to
1247              save video.
1248
1249       File, Movie, Pause
1250              Pause movie recording which is currently in progress.
1251
1252       File, Movie, Continue
1253              Resume movie recording which has been previously paused.
1254
1255       File, Movie, Stop
1256              Stop movie recording which is currently in progress.
1257
1258       File, Load Binary Data...
1259              Load binary data from a file into the Spectrum's  memory.  After
1260              selecting  the  file  to load data from, you can choose where to
1261              load the data and how much data to load.
1262
1263       File, Save Binary Data...
1264              Save an arbitrary chunk of the Spectrum's memory to a file.  Se‐
1265              lect  the file you wish to save to, followed by the location and
1266              length of data you wish to save.
1267
1268       F10
1269       File, Exit
1270              Exit the emulator. A confirmation dialog  will  appear  checking
1271              you actually want to do this.
1272
1273       F4
1274       Options, General...
1275              Display  the General Options dialog, letting you configure Fuse.
1276              (With the widget UI, the keys shown in brackets toggle  the  op‐
1277              tions,  Enter  confirms  any changes, and Esc aborts). Note that
1278              any changed settings only apply to the currently-running Fuse.
1279
1280              The options available are:
1281
1282              Emulation speed
1283                     Set how fast Fuse will attempt to emulate  the  Spectrum,
1284                     as  a  percentage  of the speed at which the real machine
1285                     runs. If your machine isn't fast enough to keep  up  with
1286                     the  requested  speed,  Fuse  will just run as fast as it
1287                     can. Note that if the  emulation  speed  is  faster  than
1288                     500%, no sound output will be produced.
1289
1290              Frame rate
1291                     Specify  the  frame rate, the ratio of spectrum frame up‐
1292                     dates to real frame updates. This is useful if  your  ma‐
1293                     chine  is  having  trouble  keeping  up with the spectrum
1294                     screen updates.
1295
1296              Issue 2 keyboard
1297                     Early versions of the Spectrum used a different value for
1298                     unused  bits on the keyboard input ports, and a few games
1299                     depended on the old value of these  bits.  Enabling  this
1300                     option switches to the old value, to let you run them.
1301
1302              Recreated ZX Spectrum
1303                     Enable  the  use  of a Recreated ZX Spectrum in `Layer A'
1304                     (game) mode. This is a Bluetooth  keyboard  that  can  be
1305                     paired to the device where Fuse is running.
1306
1307              Use shift with arrow keys
1308                     Treat  the  keyboard  arrow  keys  as shifted like the ZX
1309                     Spectrum+ keyboard's arrow keys or as  unshifted  like  a
1310                     cursor joystick that maps to the 5, 6, 7 and 8 keys.
1311
1312              Allow writes to ROM
1313                     If  this option is selected, Fuse will happily allow pro‐
1314                     grams to overwrite what would normally be ROM. This prob‐
1315                     ably  isn't very useful in most circumstances, especially
1316                     as the 48K ROM overwrites parts of itself.
1317
1318              Late timings
1319                     If selected, Fuse will cause all  screen-related  timings
1320                     (for example, when the screen is rendered and when memory
1321                     contention occurs) to be one tstate later than  “normal”,
1322                     an effect which is present on some real hardware.
1323
1324              Z80 is CMOS
1325                     If  selected, Fuse will emulate a CMOS Z80, as opposed to
1326                     an NMOS Z80.  The undocumented  `OUT  (C),0'  instruction
1327                     will  be  replaced  with `OUT (C),255' and emulation of a
1328                     minor timing bug in the NMOS Z80's `LD A,I' and `LD  A,R'
1329                     instructions will be disabled.
1330
1331              RS-232 handshake
1332                     If you turn this option off, Fuse assumes the RS-232 line
1333                     other end is live  when  you  connect  the  communication
1334                     channels.  See also the `--rs232-rx' and `--rs232-tx' op‐
1335                     tions.
1336
1337              Black and white TV
1338                     This option allows you to choose whether  to  simulate  a
1339                     colour  or  black and white television. This is effective
1340                     only under the GTK, Win32, Xlib and SDL user  interfaces:
1341                     the others will always simulate a colour TV.
1342
1343              PAL-TV use TV2x effect
1344                     This  option  allows  you to choose whether the PAL TV 2x
1345                     and higher scalers also reproduce scanlines in  the  same
1346                     way as the TV 2x, TV 3x and Timex TV scalers.
1347
1348              Show statusbar
1349                     For  the  GTK and Win32 UI, enables the statusbar beneath
1350                     the display. For the SDL UI,  enables  the  status  icons
1351                     showing  whether  the  disk  and tape are being accessed.
1352                     This option has no effect for the other user interfaces.
1353
1354              Snap joystick prompt
1355                     If set, Fuse will prompt you which physical  joystick  or
1356                     keyboard  you  want  to connect to the joystick interface
1357                     enabled in the snapshot unless it  already  matches  your
1358                     current configuration.
1359
1360              Confirm actions
1361                     Specify  whether  `dangerous'  actions (those which could
1362                     cause data loss, for example resetting the Spectrum)  re‐
1363                     quire confirmation before occurring.
1364
1365              Auto-save settings
1366                     If this option is selected, Fuse will automatically write
1367                     its currently selected options to its configuration  file
1368                     on  exit  (either  in xml format if libxml2 was available
1369                     when Fuse was compiled or plain text). If this option  is
1370                     off, you'll have to manually use Options, Save afterwards
1371                     to ensure that this setting gets written to  Fuse's  con‐
1372                     figuration  file.  Note  that if you turn this option on,
1373                     loading a snapshot could enable peripherals that would be
1374                     written permanently to the configuration file.
1375
1376       Options, Media...
1377              Display  the  Media Options dialog, letting you configure Fuse's
1378              tape and Microdrive options. (With the widget UI, the keys shown
1379              in  brackets toggle the options, Enter confirms any changes, and
1380              Esc aborts). Note that any changed settings only  apply  to  the
1381              currently-running Fuse.
1382
1383              Auto-load media
1384                     On many occasions when you open a tape or disk file, it's
1385                     because it's got a program in you want to load  and  run.
1386                     If  this option is selected, this will automatically hap‐
1387                     pen for you when you open one of these  files  using  the
1388                     File,  Open...  menu option — you must then use the Media
1389                     menu to use tapes or disks for saving  data  to,  or  for
1390                     loading data into an already running program.
1391
1392              Detect loaders
1393                     If  this  option  is enabled, Fuse will attempt to detect
1394                     when a loading routine is in progress, and then automati‐
1395                     cally start the virtual tape to load the program in. This
1396                     is done by using a heuristic to identify a  loading  rou‐
1397                     tine,  so  is  by  no means infallible, but works in most
1398                     cases.
1399
1400              Phantom typist mode
1401                     Specify the keystroke sequence that the "phantom  typist"
1402                     should use when starting a program loading. Available op‐
1403                     tions are
1404
1405                            Auto
1406
1407                            Keyword
1408
1409                            Keystroke
1410
1411                            Menu
1412
1413                            Plus 2A
1414
1415                            Plus 3
1416
1417                     The first four of these correspond to automatic detection
1418                     based  on  machine  model, keyword based entry, keystroke
1419                     based entry, and selection from a 128K style menu.   Plus
1420                     2A  and  Plus  3 also correspond to selection from a 128K
1421                     style menu, but have special  handling  for  games  which
1422                     need to be loaded with `LOAD ""CODE'. The most likely use
1423                     for this option will be use Keystroke if you have changed
1424                     the default 48K ROM for one with keystroke entry.
1425
1426              Fastloading
1427                     If  this  option  is  enabled,  then Fuse will run at the
1428                     fastest possible speed when the virtual tape is  playing,
1429                     thus dramatically reducing the time it takes to load pro‐
1430                     grams. You may wish to disable this option if you wish to
1431                     stop the tape at a specific point.
1432
1433              Use tape traps
1434                     Ordinarily, Fuse intercepts calls to the ROM tape-loading
1435                     routine in order to load from  tape  files  more  quickly
1436                     when  possible.  But this can (rarely) interfere with TZX
1437                     loading; disabling this option avoids the problem at  the
1438                     cost  of  slower  (i.e.  always  real-time) tape-loading.
1439                     When tape-loading traps are disabled, you need  to  start
1440                     tape  playback  manually,  by pressing F8 or choosing the
1441                     Media, Tape, Play menu item. Fuse also uses tape traps to
1442                     intercept the tape-saving routine in the ROM to save tape
1443                     files quickly, tapes can also be saved using  the  Media,
1444                     Tape, Record Start menu item.
1445
1446              Accelerate loaders
1447                     If  this option is enabled, then Fuse will attempt to ac‐
1448                     celerate tape loaders by “short circuiting”  the  loading
1449                     loop.  This  will  in  general  speed up loading, but may
1450                     cause some loaders to fail.
1451
1452              Use .slt traps
1453                     The multi-load aspect of SLT files requires  a  trap  in‐
1454                     struction to be supported. This instruction is not gener‐
1455                     ally used except for this trap, but since it's not incon‐
1456                     ceivable  that a program could be wanting to use the real
1457                     instruction instead, you can choose  whether  to  support
1458                     the trap or not.
1459
1460              MDR cartridge len
1461                     This option controls the number of blocks in a new Micro‐
1462                     drive cartridge.  If the value smaller than 10 or greater
1463                     than  254  Fuse assumes 10 or 254.  Average real capacity
1464                     is around 180 blocks (90 Kb).
1465
1466              Random length MDR cartridge
1467                     If this option is enabled, Fuse will use a random  Micro‐
1468                     drive cartridge length (around 180 blocks) instead of the
1469                     length specified in the MDR cartridge len option.
1470
1471       Options, Sound...
1472              Display the Sound Options dialog, letting you  configure  Fuse's
1473              sound  output.  (With  the widget UI, the keys shown in brackets
1474              toggle the options, Enter confirms any changes, and Esc aborts).
1475              Note  that any changed settings only apply to the currently-run‐
1476              ning Fuse.
1477
1478              Sound enabled
1479                     Specify whether sound output should be  enabled  at  all.
1480                     When  this  option  is  disabled,  Fuse will not make any
1481                     sound.
1482
1483              Loading sound
1484                     Normally, Fuse emulates tape-loading noise  when  loading
1485                     from  PZXs, TAPs or TZXs in real-time, albeit at a delib‐
1486                     erately lower volume than on a  real  Spectrum.  You  can
1487                     disable  this  option  to eliminate the loading noise en‐
1488                     tirely.
1489
1490              AY stereo separation
1491                     By default, the sound output is mono, since this  is  all
1492                     you  got  from  an unmodified Spectrum. But enabling this
1493                     option gives you so-called ACB stereo (for sound from the
1494                     128 and other clone's AY-3-8912 sound chip).
1495
1496              Force 8-bit
1497                     Force the use of 8-bit sound even if 16-bit (the default)
1498                     is available. Note that (when the option is  enabled)  if
1499                     8-bit  sound  isn't available then there will be no sound
1500                     at all, so it's best not to use this  option  unless  you
1501                     have a specific need for it.
1502
1503              Speaker type
1504                     This option allows the emulation of the sound output sys‐
1505                     tem to be modified. Different choices  of  speaker  limit
1506                     the  bass  and  treble response that can be produced from
1507                     the machine. Choose between a “TV”  type  speaker  and  a
1508                     small  “Beeper”  type  speaker  that significantly limits
1509                     bass and treble response. Choose “Unfiltered” to get  un‐
1510                     modified (but less accurate) sound output.
1511
1512              AY volume
1513                     Sets  the  relative  volume  of the AY-3-8912 chip from a
1514                     range of 0–100%.
1515
1516              Beeper volume
1517                     Sets the relative volume of the beeper from  a  range  of
1518                     0–100%.
1519
1520              Covox volume
1521                     Sets  the  relative  volume  of the Covox from a range of
1522                     0–100%.
1523
1524              SpecDrum volume
1525                     Sets the relative volume of the SpecDrum from a range  of
1526                     0–100%.
1527
1528       Options, Peripherals, General...
1529              Display the General Peripherals Options dialog, letting you con‐
1530              figure the peripherals which Fuse will consider to  be  attached
1531              to  the emulated machine. (With the widget UI, the keys shown in
1532              brackets toggle the options, Enter confirms any changes, and Esc
1533              aborts).  Note  that any changed settings only apply to the cur‐
1534              rently-running Fuse. Also note that any changes that enable  and
1535              disable  peripherals  may result in a hard reset of the emulated
1536              machine.
1537
1538              Kempston joystick
1539                     If this option is selected, Fuse will emulate a  Kempston
1540                     joystick  interface  (probably  the most widely supported
1541                     type on the Spectrum).  Note that this  option  is  basi‐
1542                     cally  equivalent to plugging the interface itself into a
1543                     Spectrum, not to connecting a joystick; this affects  how
1544                     the  Spectrum responds to a read of input port 31. To use
1545                     a Kempston joystick in a game, this option  must  be  en‐
1546                     abled,  and  you must also select a Kempston joystick the
1547                     Options, Joysticks menu.
1548
1549              Kempston mouse
1550                     If this option is selected, Fuse will emulate a  Kempston
1551                     mouse interface.
1552
1553                     If you're using Fuse full-screen, your mouse is automati‐
1554                     cally used as if attached to the Kempston interface. Oth‐
1555                     erwise,  you'll  need to click on the Spectrum display in
1556                     order to tell Fuse to grab the pointer (and make  it  in‐
1557                     visible);  to  tell  Fuse to release it, click the middle
1558                     button (or wheel) or press Escape.
1559
1560                     With the framebuffer UI, Fuse prefers to use GPM; if this
1561                     is  not  available,  it  will  fall back to built-in PS/2
1562                     mouse support. In this mode,  it  tries  /dev/input/mice,
1563                     /dev/mouse then /dev/psaux, stopping when it successfully
1564                     opens one. The first of  these  is  preferred  since  (at
1565                     least  on  Linux,  with  a 2.6-series kernel) any type of
1566                     mouse can be used and any connected mouse may be used.
1567
1568              Swap mouse buttons
1569                     If this option is enabled, the left and right mouse  but‐
1570                     tons will be swapped when emulating a Kempston mouse.
1571
1572              Fuller Box
1573                     If  this  option  is selected, Fuse will emulate a Fuller
1574                     Box AY sound and joystick interface.  This  emulation  is
1575                     only available for the 16k, 48k and TC2048 machines.
1576
1577              Melodik
1578                     If  this  option is selected, Fuse will emulate a Melodik
1579                     AY sound interface.  These interfaces  and  many  similar
1580                     ones  were  produced  to make the 48K Spectrum compatible
1581                     with the same AY music as the 128K Spectrum. This  emula‐
1582                     tion  is  only  available for the 16k, 48k and TC2048 ma‐
1583                     chines.
1584
1585              Interface 1
1586                     If this option is selected, Fuse will emulate the  simple
1587                     Sinclair  Interface 1, and allow Microdrive cartridges to
1588                     be connected and disconnected via the Media, Interface 1,
1589                     Microdrive  menus. It also enables support for the Inter‐
1590                     face 1 RS-232 interface.
1591
1592              Interface 2
1593                     If this option is selected, Fuse will emulate a cartridge
1594                     port  as found on the Interface 2. Cartridges can then be
1595                     inserted and removed via  the  Media,  Cartridge,  Inter‐
1596                     face 2  menu.  Note  that  the Pentagon, Scorpion, Inter‐
1597                     face 2, ZXATASP and ZXCF all use the same hardware mecha‐
1598                     nism  for  accessing  some of their extended features, so
1599                     only one of these should be selected at  once  or  unpre‐
1600                     dictable behaviour will occur.
1601
1602              Multiface One
1603                     If  this option is selected, Fuse will emulate the Roman‐
1604                     tic Robot Multiface One.   Available  for  16K,  48K  and
1605                     Timex TC2048 machines.
1606
1607              Multiface 128
1608                     If  this option is selected, Fuse will emulate the Roman‐
1609                     tic Robot Multiface 128. Available for  16K,  48K,  Timex
1610                     TC2048, 128K, +2 and SE machines.
1611
1612              Multiface 3
1613                     If  this option is selected, Fuse will emulate the Roman‐
1614                     tic Robot Multiface 3. Available for +2A, +3 and +3e  ma‐
1615                     chines.
1616
1617              Stealth Multiface One
1618                     This option controls the `invisible' or `stealth' mode of
1619                     Multiface One, as the physical switch on the side of  the
1620                     interface.
1621
1622              Emulate printers
1623                     If  this option is selected, Fuse will emulate a printer.
1624                     See the PRINTER EMULATION section for more details.
1625
1626              ZX Printer
1627                     If this option is selected,  Fuse  will  emulate  the  ZX
1628                     Printer.  See  the PRINTER EMULATION section for more de‐
1629                     tails.
1630
1631              SpeccyBoot interface
1632                     If this option is selected, Fuse will emulate  a  Speccy‐
1633                     Boot interface which allows booting a ZX Spectrum over an
1634                     Ethernet  network.  See  the  SpeccyBoot  web   page   at
1635                     http://patrikpersson.github.io/speccyboot/  for  more de‐
1636                     tails.
1637
1638              SpecDrum interface
1639                     If this option is selected, Fuse will emulate  a  Cheetah
1640                     SpecDrum  sound interface.  See the World of Spectrum In‐
1641                     foseek web page at  http://www.worldofspectrum.org/infos
1642                     eekid.cgi?id=1000062 for manuals, software and more. This
1643                     emulation is only available for the 48k, 128k and  TC2048
1644                     machines.
1645
1646              Spectranet
1647                     If  this  option is selected, Fuse will emulate the Spec‐
1648                     tranet interface, which provides  an  Ethernet  interface
1649                     for  the  Spectrum.  See the SPECTRANET EMULATION section
1650                     for more details.
1651
1652              Spectranet disable
1653                     This option controls the state of  the  Spectranet  auto‐
1654                     matic  page-in  jumper (J2). See the SPECTRANET EMULATION
1655                     section for more details.
1656
1657              TTX2000S
1658                     If  this  option  is  selected,  Fuse  will  emulate  the
1659                     OEL/Volex  TTX2000S  teletext  adaptor. Available for the
1660                     16K and 48K machines. See the TTX2000S EMULATION  section
1661                     for more details.
1662
1663              µSource
1664                     If  this  option  is selected, Fuse will emulate a Currah
1665                     µSource interface.  See the World  of  Spectrum  Infoseek
1666                     web    page    at   http://www.worldofspectrum.org/infos
1667                     eekid.cgi?id=1000080 for the manual.
1668
1669              Covox interface
1670                     If this option is selected, Fuse  will  emulate  a  Covox
1671                     digital sound interface. This emulation is only available
1672                     for the Pentagon, Pentagon 512k, Pentagon 1024k and Scor‐
1673                     pion  machines.  The  Pentagon variants use port 0xfb and
1674                     the Scorpion version uses port 0xdd.
1675
1676       Options, Peripherals, Disk...
1677              Display the Disk Peripherals Options dialog, letting you config‐
1678              ure  the  disk interface peripherals which Fuse will consider to
1679              be attached to the emulated machine. (With the  widget  UI,  the
1680              keys  shown  in  brackets toggle the options, Enter confirms any
1681              changes, and Esc aborts). Note that any  changed  settings  only
1682              apply  to the currently-running Fuse. Also note that any changes
1683              that enable and disable peripherals may result in a  hard  reset
1684              of the emulated machine.
1685
1686              Simple 8-bit IDE
1687                     If  this option is selected, Fuse will emulate the simple
1688                     8-bit IDE interface as used by the Spectrum +3e, and  al‐
1689                     low  hard  disks to be connected and disconnected via the
1690                     Media, IDE, Simple 8-bit menu.
1691
1692              ZXATASP interface
1693                     If this option is selected, Fuse will emulate the ZXATASP
1694                     interface,  which provides both additional RAM and an IDE
1695                     interface. See the ZXATASP AND ZXCF section for more  de‐
1696                     tails.
1697
1698              ZXATASP upload
1699                     This  option  controls  the  state  of the ZXATASP upload
1700                     jumper. See the ZXATASP AND ZXCF  section  for  more  de‐
1701                     tails.
1702
1703              ZXATASP write protect
1704                     This  option controls the state of the ZXATASP write pro‐
1705                     tect jumper. See the ZXATASP AND ZXCF  section  for  more
1706                     details.
1707
1708              ZXCF interface
1709                     If  this  option  is selected, Fuse will emulate the ZXCF
1710                     interface, which provides both additional RAM and a  Com‐
1711                     pactFlash interface. See the ZXATASP AND ZXCF section for
1712                     more details.
1713
1714              ZXCF upload
1715                     This option controls the state of the ZXCF upload jumper.
1716                     See the ZXATASP AND ZXCF section for more details.
1717
1718              ZXMMC interface
1719                     If  this  option is selected, Fuse will emulate the ZXMMC
1720                     interface.  Available for +2A, +3 and +3e machines.
1721
1722              DivIDE interface
1723                     If this option is selected, Fuse will emulate the  DivIDE
1724                     interface. See the DIVIDE section for more details.
1725
1726              DivIDE write protect
1727                     This  option  controls the state of the DivIDE write pro‐
1728                     tection jumper. See the DIVIDE section for more details.
1729
1730              DivMMC interface
1731                     If this option is selected, Fuse will emulate the  DivMMC
1732                     interface. See the DIVMMC section for more details.
1733
1734              DivMMC write protect
1735                     This  option  controls the state of the DivMMC write pro‐
1736                     tection jumper that prevents flashing  the  EEPROM  chip.
1737                     See the DIVMMC section for more details.
1738
1739              +D interface
1740                     If  this option is selected, Fuse will emulate the +D in‐
1741                     terface.  See the +D EMULATION section for more details.
1742
1743              Didaktik 80 interface
1744                     If this option is selected, Fuse will emulate the  Didak‐
1745                     tik 80  (or  Didaktik 40) interface.  See the DIDAKTIK 80
1746                     EMULATION section for more details.
1747
1748              DISCiPLE interface
1749                     If this option is selected, Fuse will emulate the  DISCi‐
1750                     PLE  interface.   See  the DISCIPLE EMULATION section for
1751                     more details.
1752
1753              Beta 128 interface
1754                     If  this  option  is  selected,  Fuse  will  emulate  the
1755                     Beta 128  interface.   See the BETA 128 EMULATION section
1756                     for more details. Beta 128 emulation is enabled  for  the
1757                     Pentagon and Scorpion machines regardless of this option.
1758
1759              Beta 128 auto-boot in 48K machines
1760                     If  this  option is selected, then when a Beta 128 inter‐
1761                     face is used in 48K or TC2048 emulation, the machine will
1762                     boot directly into the TR-DOS system.
1763
1764              Opus Discovery interface
1765                     If  this  option  is selected, Fuse will emulate the Opus
1766                     Discovery interface.  See the  OPUS  DISCOVERY  EMULATION
1767                     section for more details.
1768
1769       Options, RZX...
1770              Display the RZX Options dialog, letting you configure how Fuse's
1771              deals with RZX input recordings. (With the widget UI,  the  keys
1772              shown  in  brackets  toggle  the  options,  Enter  confirms  any
1773              changes, and Esc aborts). Note that any  changed  settings  only
1774              apply to the currently-running Fuse.
1775
1776              Create autosaves
1777                     If this option is selected, Fuse will add a snapshot into
1778                     the recording stream every 5 seconds  while  creating  an
1779                     RZX  file,  thus  enabling  the rollback facilities to be
1780                     used without having to explicitly add snapshots into  the
1781                     stream. Older snapshots will be pruned from the stream to
1782                     keep the file size and number  of  snapshots  down:  each
1783                     snapshot up to 15 seconds will be kept, then one snapshot
1784                     every 15 seconds until one minute, then one snapshot  ev‐
1785                     ery  minute  until 5 minutes, and then one snapshot every
1786                     5 minutes. Note that this “pruning” applies only to auto‐
1787                     matically inserted snapshots: snapshots manually inserted
1788                     into the stream will never be pruned.
1789
1790              Compress RZX data
1791                     If this option is selected, and zlib was  available  when
1792                     Fuse  was compiled, any RZX files written by Fuse will be
1793                     compressed. This is generally a good thing  as  it  makes
1794                     the files significantly smaller, and you probably want to
1795                     turn it off only if you're debugging  the  RZX  files  or
1796                     there's  some  other  program  which doesn't support com‐
1797                     pressed RZX files.
1798
1799              Competition mode
1800                     Any input recordings which are started when  this  option
1801                     is  selected  will  be made in `competition mode'. In es‐
1802                     sence, this means that Fuse will act  just  like  a  real
1803                     Spectrum  would: you can't load snapshots, pause the emu‐
1804                     lation in any way, change the speed or anything that  you
1805                     couldn't  do  on the real machine. If any of these things
1806                     are attempted, or if the emulated Fuse  is  running  more
1807                     than 5% faster or slower than normal Spectrum speed, then
1808                     the recording will immediately be stopped.
1809
1810                     If libgcrypt was available when Fuse was  compiled,  then
1811                     recordings made with competition mode active will be dig‐
1812                     itally signed, in theory to `certify' that  it  was  made
1813                     with the above restrictions in place.  However, this pro‐
1814                     cedure is not secure (and cannot  be  made  so),  so  the
1815                     presence  of  any  signature on an RZX file should not be
1816                     taken as providing proof that it was made  with  competi‐
1817                     tion  mode  active.   This  feature  is  included in Fuse
1818                     solely as it was one of the requirements for Fuse  to  be
1819                     used in an on-line tournament.
1820
1821              Competition code
1822                     The  numeric  code  entered here will be written into any
1823                     RZX files made in competition mode. This is another  fea‐
1824                     ture for on-line tournaments which can be used to `prove'
1825                     that the recording was made after a specific code was re‐
1826                     leased.  If  you're not playing in such a tournament, you
1827                     can safely ignore this option.
1828
1829              Always embed snapshot
1830                     Specify whether a snapshot should be embedded in  an  RZX
1831                     file when recording is started from an existing snapshot.
1832
1833       Options, Movie...
1834              Display  the  Movie  Options  dialog,  letting you configure how
1835              Fuse's deals with movie recordings.
1836
1837              Movie compression
1838                     This option set the compression level to  None,  Lossless
1839                     or High. (See the MOVIE RECORDING section for more infor‐
1840                     mation).
1841
1842              Stop recording after RZX ends
1843                     If this option is selected,  Fuse  will  stop  any  movie
1844                     recording after an RZX playback is finished.
1845
1846       Options, Joysticks
1847              Fuse can emulate many of the common types of joystick which were
1848              available for the Spectrum. The input for  these  emulated  joy‐
1849              sticks  can be taken from real joysticks attached to the emulat‐
1850              ing  machine  (configured  via  the  Options,  Joysticks,   Joy‐
1851              stick 1...   and Options, Joysticks, Joystick 2...  options), or
1852              from the q, a, o, p, and Space keys on  the  emulating  machines
1853              keyboard,  configured  via  the  Options, Joysticks, Keyboard...
1854              option. Note that when using the keyboard to emulate a joystick,
1855              the q, a, o, p, and Space keys will not have their normal effect
1856              (to avoid problems with games which do things  like  use  p  for
1857              pause when using a joystick).
1858
1859              Each  of  the joysticks (including the `fake' keyboard joystick)
1860              can be configured to emulate any one of the  following  joystick
1861              types:
1862
1863                     None
1864                            No joystick: any input will simply be ignored.
1865
1866                     Cursor
1867                            A   cursor  joystick,  equivalent  to  pressing  5
1868                            (left), 6 (down), 7 (up), 8 (right), and 0 (fire).
1869
1870                     Kempston
1871                            A Kempston joystick, read from input port 31. Note
1872                            that  the  Options, Peripherals, General, Kempston
1873                            interface option must also be set for the input to
1874                            be recognised.
1875
1876                     Sinclair 1
1877                     Sinclair 2
1878                            The `left' and `right' Sinclair joysticks, equiva‐
1879                            lent to pressing 1 (left), 2 (right), 3 (down),  4
1880                            (up),  and  5  (fire),  or  6 (left), 7 (right), 8
1881                            (down), 9 (up), and 0 (fire) respectively.
1882
1883                     Timex 1
1884                     Timex 2
1885                            The `left' and `right' joysticks  as  attached  to
1886                            the  Timex 2068 variant's built-in joystick inter‐
1887                            face.
1888
1889              For the real joysticks, it is also possible  to  configure  what
1890              effect  each  button on the joystick will have: this can be Joy‐
1891              stick Fire, equivalent to pressing the emulated joystick's  fire
1892              button, Nothing, meaning to have no effect, or any Spectrum key,
1893              meaning that pressing that button will be equivalent to pressing
1894              that Spectrum key.
1895
1896       Options, Select ROMs, Machine ROMs
1897              An individual dialog is available for each Spectrum variant emu‐
1898              lated by Fuse which allows selection of the ROM(s) used by  that
1899              machine.  Simply  select the ROM you wish to use, and then reset
1900              the Spectrum for the change to take effect.
1901
1902       Options, Select ROMs, Peripheral ROMs
1903              The same as the Machine ROMs menu, but an individual  dialog  is
1904              available for peripherals that need a ROM. Simply select the ROM
1905              you wish to use, and then reset the Spectrum for the  change  to
1906              take effect.
1907
1908       Options, Filter...
1909              Select  the  graphics  filter currently in use. See the GRAPHICS
1910              FILTERS section for more details.
1911
1912       F11
1913       Options, Full Screen
1914              Switch Fuse between full screen and windowed mode.  This menu is
1915              only available under the SDL UI.
1916
1917       Options, Disk Options...
1918              When emulating disk drives, Fuse allows the specification of the
1919              physical drive units attached to the  emulated  interface.  Each
1920              drive can be set to be one of the following types:
1921
1922                     Disabled
1923
1924                     Single-sided 40 track
1925
1926                     Double-sided 40 track
1927
1928                     Single-sided 80 track
1929
1930                     Double-sided 80 track
1931
1932              The  Disabled  option is not supported for Drive 1 or Drive A of
1933              any interface.
1934
1935              The available options that can be set are:
1936
1937              +3 Drive A
1938                     Defaults to a single-sided 40 track drive.
1939
1940              +3 Drive B
1941                     Defaults to a double-sided 80 track drive.
1942
1943              +3 Detect Speedlock
1944                     Specify whether the +3 drives  try  to  detect  Speedlock
1945                     protected disks, and emulate `weak' sectors.  If the disk
1946                     image file (EDSK or UDI) contains weak sector data,  than
1947                     Speedlock  detection  is automatically omitted.  See also
1948                     the WEAK DISK DATA section.
1949
1950              Beta 128 Drive A
1951                     Defaults to a double-sided 80 track drive.
1952
1953              Beta 128 Drive B
1954                     Defaults to a double-sided 80 track drive.
1955
1956              Beta 128 Drive C
1957                     Defaults to a double-sided 80 track drive.
1958
1959              Beta 128 Drive D
1960                     Defaults to a double-sided 80 track drive.
1961
1962              +D Drive 1
1963                     Defaults to a double-sided 80 track drive.
1964
1965              +D Drive 2
1966                     Defaults to a double-sided 80 track drive.
1967
1968              Didaktik 80 Drive A
1969                     Defaults to a double-sided 80 track drive.
1970
1971              Didaktik 80 Drive B
1972                     Defaults to a double-sided 80 track drive.
1973
1974              DISCiPLE Drive 1
1975                     Defaults to a double-sided 80 track drive.
1976
1977              DISCiPLE Drive 2
1978                     Defaults to a double-sided 80 track drive.
1979
1980              Opus Drive 1
1981                     Defaults to a single-sided 40 track drive.
1982
1983              Opus Drive 2
1984                     Defaults to a single-sided 40 track drive.
1985
1986              Try merge 'B' side of disks
1987                     This option prompts the  user  to  confirm  whether  Fuse
1988                     should  try  to merge the `B' side of a disk image from a
1989                     separate file when opening a new single-sided disk image.
1990
1991              Confirm merge disk sides
1992                     Select whether Fuse should try to merge a  separate  file
1993                     for the `B' side of a disk image separate file when open‐
1994                     ing a new disk image. Most double sided disk  images  are
1995                     dumped  as two single sided disk images e.g.  `Golden Axe
1996                     - Side A.dsk' and `Golden Axe - Side B.dsk'.  So,  if  we
1997                     want  to  play  Golden  Axe,  first we have to insert the
1998                     first disk image and when the game asks to insert side B,
1999                     we  have  to find and open the second disk image, instead
2000                     of just `flip'-ing the disk inside the drive. If enabled,
2001                     Fuse  will  try to open the second image too and create a
2002                     double sided disk image (merging the two one  sided  disk
2003                     images) and insert this merged virtual disk into the disk
2004                     drive. The function detects whether the file is one  side
2005                     of a double-sided image if the filename matches a pattern
2006                     like [Ss]ide[ _][abAB12][ _.] in the file name of a  disk
2007                     that is being opened. If found, Fuse will try to open the
2008                     other side of the disk too substituting  the  appropriate
2009                     characters  in  the filename e.g.  1→2, a→b, A→B. If suc‐
2010                     cessful then it will merge the two images and now we have
2011                     a  double sided disk in drive. This means that if we open
2012                     `Golden Axe - Side A.dsk', then Fuse  will  try  to  open
2013                     `Golden  Axe  -  Side B.dsk' too. Now, we can just `flip'
2014                     the disk if Golden Axe asks for `Side B'.  The  available
2015                     options are Never, With single-sided drives and Always.
2016
2017       Options, Save
2018              This  will cause Fuse's current options to be written to .fuserc
2019              in your home directory (Unix-like systems), or fuse.cfg in  your
2020              %USERPROFILE%  folder  (Windows), from which they will be picked
2021              up again when Fuse is restarted. The best  way  to  update  this
2022              file  is  by  using  this  option, but it's a simple XML file if
2023              libxml2 was available when Fuse was compiled  (otherwise,  plain
2024              text),  and  shouldn't be too hard to edit by hand if you really
2025              want to.
2026
2027       Pause
2028       Machine, Pause
2029              Pause or unpause emulation. This option is available only  under
2030              the  GTK and Win32 UIs; to pause the other user interfaces, sim‐
2031              ply press F1 to bring up the main menu.
2032
2033       F5
2034       Machine, Reset
2035              Reset the emulated Spectrum.
2036
2037       Machine, Hard reset
2038              Reset the emulated Spectrum. A hard reset is equivalent to turn‐
2039              ing the Spectrum's power off, and then turning it back on.
2040
2041       F9
2042       Machine, Select...
2043              Choose  a  type of Spectrum to emulate. An brief overview of the
2044              Sinclair,    Amstrad    and    Timex    can    be    found    at
2045              http://www.nvg.ntnu.no/sinclair/computers/zxspectrum/zxspec
2046              trum.htm while  more  technical  information  can  be  found  at
2047              http://www.worldofspectrum.org/faq/reference/reference.htm,  and
2048              http://www.worldofspectrum.org/faq/reference/tmxreference.htm.
2049
2050              Spectrum 16K
2051              Spectrum 48K
2052                     The original machines as released  by  Sinclair  in  1982
2053                     with 16 or 48K of RAM respectively.
2054
2055              Spectrum 48K (NTSC)
2056                     The NTSC 48K machine released in limited numbers in parts
2057                     of South America.
2058
2059              Spectrum 128K
2060                     The 128K machine as released by Sinclair in  1985 (Spain)
2061                     or 1986 (UK).
2062
2063              Spectrum +2
2064                     The  first  machine released by Amstrad, in 1986. From an
2065                     emulation point of view, the +2 is virtually identical to
2066                     the 128K.
2067
2068              Spectrum +2A
2069              Spectrum +3
2070                     The two machines released by Amstrad in 1988. Technically
2071                     very similar to each other, except that the +3 features a
2072                     3″ disk drive while the +2A does not.
2073
2074              Spectrum +3e
2075                     A +3 with modified ROMs allowing access to IDE hard disks
2076                     via the simple 8-bit interface, as activated from the Op‐
2077                     tions,      Peripherals,     Disk...      dialog.     See
2078                     http://www.worldofspectrum.org/zxplus3e/  for  more   de‐
2079                     tails.
2080
2081              Timex TC2048
2082              Timex TC2068
2083                     The variants of the Spectrum as released by Timex in Por‐
2084                     tugal.
2085
2086              Timex TS2068
2087                     The variant of the Spectrum released by  Timex  in  North
2088                     America.
2089
2090              Pentagon 128K
2091                     Russian  clone of the Spectrum. There were many different
2092                     machines called Pentagon from 1989 to 2006, this  machine
2093                     corresponds to a 1991 era Pentagon 128K with the optional
2094                     AY sound chip and the integrated Beta 128 disk interface,
2095                     and  is  the  version of the machine most often emulated.
2096                     More technical details can be found at  http://www.world
2097                     ofspectrum.org/rusfaq/index.html,
2098
2099              Pentagon 512K
2100              Pentagon 1024K
2101                     Newer  versions  of  the Pentagon Russian Spectrum clones
2102                     which incorporate more memory and the “Mr Gluk Reset Ser‐
2103                     vice” ROM offering a more powerful firmware.
2104
2105              Scorpion ZS 256
2106                     Another  Russian  clone of the Spectrum. Some details can
2107                     be  found  at   http://www.worldofspectrum.org/rusfaq/in
2108                     dex.html.   Like  all the Russian clones, they have built
2109                     in 3.5″ disk drives, accessed via the Beta 128  disk  in‐
2110                     terface  and TR-DOS (the Technology Research Disk Operat‐
2111                     ing System). The most important distinction from the Pen‐
2112                     tagon 128k and similar machines is the display timing de‐
2113                     tails.
2114
2115              Spectrum SE
2116                     A recent  variant  designed  by  Andrew  Owen  and  Jarek
2117                     Adamski, which is possibly best thought of as a cross be‐
2118                     tween the 128K machine and the Timex  variants,  allowing
2119                     272K  of RAM to be accessed. Some more details are avail‐
2120                     able     at     http://www.worldofspectrum.org/faq/refer
2121                     ence/sereference.htm  and  documentation  of the extended
2122                     BASIC is available  at  https://github.com/cheveron/seba
2123                     sic4/wiki.    The   bug  tracker  for  the  BASIC  is  at
2124                     https://github.com/cheveron/sebasic4/issues?state=open.
2125
2126       Machine, Debugger...
2127              Start the monitor/debugger. See the MONITOR/DEBUGGER section for
2128              more information.
2129
2130       Machine, Poke Finder...
2131              Start  the  `poke  finder'. See the POKE FINDER section for more
2132              information.
2133
2134       Machine, Poke Memory...
2135              Allow one to use multiface POKEs for  things  such  as  infinite
2136              lives. See the POKE MEMORY section for more information.
2137
2138       Machine, Memory Browser...
2139              Start  the memory browser. It should be fairly obvious what this
2140              does; perhaps the only thing worth noting is that  emulation  is
2141              paused until you close the window.
2142
2143       Machine, NMI
2144              Sends  a non-maskable interrupt to the emulated Spectrum. Due to
2145              a typo in the standard 48K ROM, this will  cause  a  reset,  but
2146              modified ROMs are available which make use of this feature. When
2147              the +D (or DISCiPLE) is emulated, this is used to access the  +D
2148              (or DISCiPLE)'s screenshot and snapshot features (see the +D EM‐
2149              ULATION and DISCIPLE EMULATION sections below).  For the  DISCi‐
2150              PLE,  Caps  Shift must be held down whilst pressing the NMI but‐
2151              ton.  For some UIs, this may be tricky, or  even  impossible  to
2152              do.   Note that GDOS on the DISCiPLE contains a bug which causes
2153              corruption of saved snapshots, and a failure to return from  the
2154              NMI menu correctly.  This bug is not present in G+DOS on the +D.
2155
2156       Machine, Multiface Red Button
2157              Presses  the Multiface One/128/3 red button to active the inter‐
2158              face.
2159
2160       Machine, Didaktik SNAP
2161              Presses the Didaktik 80 (or Didaktik 40)'s `SNAP' button.
2162
2163       F7
2164       Media, Tape, Open...
2165              Choose a PZX, TAP or TZX virtual-tape file to load from. See the
2166              FILE  SELECTION  section  below for details on how to choose the
2167              file. If Auto-load media is set in the Media Options dialog  (as
2168              it  is  by  default), you may use the File, Open...  menu option
2169              instead, and the tape will begin loading automatically.   Other‐
2170              wise,  you  have to start the load in the emulated machine (with
2171              LOAD "" or the 128's Tape Loader option, though you may need  to
2172              reset first).
2173
2174              To  guarantee  that TZX files will load properly, you should se‐
2175              lect the file, make sure tape-loading traps are disabled in  the
2176              Media  Options  dialog, then press F8 (or do Media, Tape, Play).
2177              That said, most TZXs will work with tape-loading  traps  enabled
2178              (often  quickly  loading  partway,  then  loading the rest real-
2179              time), so you might want to try it that way first.
2180
2181       F8
2182       Media, Tape, Play
2183              Start playing the PZX, TAP or TZX file, if  required.  (Choosing
2184              the option (or pressing F8) again pauses playback, and a further
2185              press resumes). To explain — if  tape-loading  traps  have  been
2186              disabled  (in  the  Media  Options dialog), starting the loading
2187              process in the emulated machine isn't enough. You also  have  to
2188              `press  play', so to speak :-), and this is how you do that. You
2189              may also need to `press play' like this in certain other circum‐
2190              stances,  e.g. TZXs containing multi-load games may have a stop-
2191              the-tape request (which Fuse obeys).
2192
2193       Media, Tape, Browse
2194              Browse through the current tape. A brief display of each of  the
2195              data  blocks on the current tape will appear, from which you can
2196              select which block Fuse will play next. With the GTK UI,  emula‐
2197              tion will continue while the browser is displayed; double-click‐
2198              ing on a block will select it. In the other  UIs,  emulation  is
2199              paused and you can use the cursor keys and press Enter to select
2200              it. If you decide you don't want to change block, just press Es‐
2201              cape.
2202
2203       Media, Tape, Rewind
2204              Rewind  the  current  virtual tape, so it can be read again from
2205              the beginning.
2206
2207       Media, Tape, Clear
2208              Clear the current virtual tape. This is particularly useful when
2209              you want a `clean slate' to add newly-saved files to, before do‐
2210              ing Media, Tape, Write...  (or F6).
2211
2212       F6
2213       Media, Tape, Write...
2214              Write the current virtual-tape contents to a TZX file. You  will
2215              be  prompted  for  a filename. The virtual-tape contents are the
2216              contents of the previously-loaded tape (if any has  been  loaded
2217              since  you  last did a Media, Tape, Clear), followed by anything
2218              you've saved from the emulated machine since.  These newly-saved
2219              files are not written to any tape file until you choose this op‐
2220              tion!
2221
2222       Media, Tape, Record Start
2223              Starts directly recording the output from the emulated  Spectrum
2224              to  the  current  virtual-tape.  This is useful when you want to
2225              record using a non-standard ROM or from a custom  save  routine.
2226              Most tape operations are disabled during recording. Stop record‐
2227              ing with the Media, Tape, Write...  menu option.
2228
2229       Media, Tape, Record Stop
2230              Stops the direct recording and places the new recording into the
2231              virtual-tape.
2232
2233       Media, Interface 1
2234              Virtual  Microdrive  images  are accessible only when the Inter‐
2235              face 1 is active from the Options, Peripherals, General...  dia‐
2236              log.  Note  that any changes to the Microdrive image will not be
2237              written to the file on disk until the appropriate save option is
2238              used.
2239
2240       Media, Interface 1, Microdrive 1, Insert New
2241              Insert  a  new  (unformatted) Microdrive cartridge into emulated
2242              Microdrive 1.
2243
2244       Media, Interface 1, Microdrive 1, Insert...
2245              Insert an existing Microdrive cartridge image into emulated  Mi‐
2246              crodrive 1. You will be prompted for a filename.
2247
2248       Media, Interface 1, Microdrive 1, Eject
2249              Eject  the  Microdrive  image  in Microdrive 1. If the image has
2250              been modified, you will be asked as  to  whether  you  want  any
2251              changes saved.
2252
2253       Media, Interface 1, Microdrive 1, Save
2254              Save the Microdrive image in Microdrive 1.
2255
2256       Media, Interface 1, Microdrive 1, Save as...
2257              Write  the  Microdrive image in Microdrive 1 to a file. You will
2258              be prompted for a filename.
2259
2260       Media, Interface 1, Microdrive 1, Write protect, Enable
2261              Enable the write protect tab for the image in Microdrive 1.
2262
2263       Media, Interface 1, Microdrive 1, Write protect, Disable
2264              Disable the write protect tab for the image in Microdrive 1.
2265
2266       Media, Interface 1, Microdrive 2, ...
2267       Media, Interface 1, Microdrive 3, ...
2268       Media, Interface 1, Microdrive 4, ...
2269       Media, Interface 1, Microdrive 5, ...
2270       Media, Interface 1, Microdrive 6, ...
2271       Media, Interface 1, Microdrive 7, ...
2272       Media, Interface 1, Microdrive 8, ...
2273              Equivalent options for the other emulated Microdrives.
2274
2275       Media, Interface 1, RS232, Plug RxD
2276       Media, Interface 1, RS232, Unplug RxD
2277       Media, Interface 1, RS232, Plug TxD
2278       Media, Interface 1, RS232, Unplug TxD
2279              Connect or disconnect a communication channels (FIFO or file) to
2280              use as the RS-232 TxD or RxD wire.
2281
2282       Media, Disk
2283              Virtual  floppy  disk images are accessible when emulating a +3,
2284              +3e, Pentagon or Scorpion, or when the Beta 128, Opus Discovery,
2285              +D, Didaktik or DISCiPLE interface options are enabled and a ma‐
2286              chine compatible with the chosen interface is selected. (See THE
2287              .DSK  FORMAT,  BETA 128  EMULATION, OPUS DISCOVERY EMULATION, +D
2288              EMULATION, DIDAKTIK 80 EMULATION and DISCIPLE EMULATION sections
2289              below for notes on the file formats supported).
2290
2291              Once again, any changes made to a disk image will not affect the
2292              file which was `inserted' into the drive. If you do want to keep
2293              any changes, use the appropriate `eject and write' option before
2294              exiting Fuse.
2295
2296       Media, Disk, +3, Drive A:, Insert...
2297              Insert a disk-image file to  read/write  in  the  +3's  emulated
2298              drive A:.
2299
2300       Media, Disk, +3, Drive A:, Eject
2301              Eject  the  disk image currently in the +3's emulated drive A: —
2302              or from the emulated machine's perspective, eject it. Note  that
2303              any changes made to the image will not be saved.
2304
2305       Media, Disk, +3, Drive A:, Save
2306              Save the disk image currently in the +3's drive A:.
2307
2308       Media, Disk, +3, Drive A:, Save as...
2309              Save  the  current state of the disk image currently in the +3's
2310              drive A: to a file. You will be prompted for a filename.
2311
2312       Media, Disk, +3, Drive B:, Insert...
2313              As above, but for the +3's drive B:. Fuse emulates drive B: as a
2314              second 3″ drive.
2315
2316       Media, Disk, +3, Drive B:, Eject
2317              As above, but for drive B:.
2318
2319       Media, Disk, +3, Drive B:, Save
2320              As above, but for drive B:.
2321
2322       Media, Disk, +3, Drive B:, Save as...
2323              As above, but for drive B:.
2324
2325       Media, Disk, Beta, Drive A:, Insert New
2326              Insert a new (unformatted) disk into the emulated Beta drive A:.
2327
2328       Media, Disk, Beta, Drive A:, Insert...
2329       Media, Disk, Beta, Drive A:, Eject
2330       Media, Disk, Beta, Drive A:, Save
2331       Media, Disk, Beta, Drive A:, Save as...
2332              As above, but for the emulated Beta disk drive A:.
2333
2334       Media, Disk, Beta, Drive A:, Write protect, Enable
2335              Enable the write protect tab for the image in Beta drive A:.
2336
2337       Media, Disk, Beta, Drive A:, Write protect, Disable
2338              Disable the write protect tab for the image in Beta drive A:.
2339
2340       Media, Disk, Beta, Drive B:, ...
2341       Media, Disk, Beta, Drive C:, ...
2342       Media, Disk, Beta, Drive D:, ...
2343              As  above,  but  for  the remaining emulated Beta disk interface
2344              drives.
2345
2346       Media, Disk, Opus, Drive 1, Insert New
2347       Media, Disk, Opus, Drive 1, Insert...
2348       Media, Disk, Opus, Drive 1, Eject
2349       Media, Disk, Opus, Drive 1, Save
2350       Media, Disk, Opus, Drive 1, Save as...
2351       Media, Disk, Opus, Drive 1, Write protect, Enable
2352       Media, Disk, Opus, Drive 1, Write protect, Disable
2353       Media, Disk, Opus, Drive 2, ...
2354              As above, but for the emulated Opus Discovery drives.
2355
2356       Media, Disk, +D, Drive 1, Insert New
2357       Media, Disk, +D, Drive 1, Insert...
2358       Media, Disk, +D, Drive 1, Eject
2359       Media, Disk, +D, Drive 1, Save
2360       Media, Disk, +D, Drive 1, Save as...
2361       Media, Disk, +D, Drive 1, Write protect, Enable
2362       Media, Disk, +D, Drive 1, Write protect, Disable
2363       Media, Disk, +D, Drive 2, ...
2364              As above, but for the emulated +D drives.
2365
2366       Media, Disk, Didaktik 80, Drive A, Insert New
2367       Media, Disk, Didaktik 80, Drive A, Insert...
2368       Media, Disk, Didaktik 80, Drive A, Eject
2369       Media, Disk, Didaktik 80, Drive A, Save
2370       Media, Disk, Didaktik 80, Drive A, Save as...
2371       Media, Disk, Didaktik 80, Drive A, Write protect, Enable
2372       Media, Disk, Didaktik 80, Drive A, Write protect, Disable
2373       Media, Disk, Didaktik 80, Drive B, ...
2374              As above, but for the emulated Didaktik 80 drives.
2375
2376       Media, Disk, DISCiPLE, Drive 1, Insert New
2377       Media, Disk, DISCiPLE, Drive 1, Insert...
2378       Media, Disk, DISCiPLE, Drive 1, Eject
2379       Media, Disk, DISCiPLE, Drive 1, Save
2380       Media, Disk, DISCiPLE, Drive 1, Save as...
2381       Media, Disk, DISCiPLE, Drive 1, Write protect, Enable
2382       Media, Disk, DISCiPLE, Drive 1, Write protect, Disable
2383       Media, Disk, DISCiPLE, Drive 2, ...
2384              As above, but for the emulated DISCiPLE drives.
2385
2386       Media, Cartridge, Timex Dock, Insert...
2387              Insert a cartridge into the Timex 2068 dock. This will cause the
2388              emulated  machine  to be changed to the TC2068 (if it wasn't al‐
2389              ready a 2068 variant) and reset.
2390
2391       Media, Cartridge, Timex Dock, Eject
2392              Remove the cartridge from the Timex 2068 dock. This  will  cause
2393              the emulated machine to be reset.
2394
2395       Media, Cartridge, Interface 2, Insert...
2396              Insert  a  cartridge  into  the Interface 2 cartridge slot. This
2397              will cause the emulated machine to be reset  and  the  cartridge
2398              loaded.
2399
2400       Media, Cartridge, Interface 2, Eject...
2401              Remove  the  cartridge from the Interface 2 cartridge slot. This
2402              will cause the emulated machine to be reset.
2403
2404       Media, IDE, Simple 8-bit, Master, Insert...
2405              Connect an IDE hard disk to the simple 8-bit interface's  master
2406              channel.
2407
2408       Media, IDE, Simple 8-bit, Master, Commit
2409              Cause  any  writes which have been done to virtual hard disk at‐
2410              tached to the simple 8-bit interface's master channel to be com‐
2411              mitted to the real disk, such that they survive the virtual disk
2412              being ejected.
2413
2414       Media, IDE, Simple 8-bit, Master, Eject
2415              Eject the virtual hard disk from the  simple  8-bit  interface's
2416              master  channel.  Note  that any writes to the virtual hard disk
2417              will be lost unless the Media, IDE, Simple 8-bit, Master, Commit
2418              option is used before the disk is ejected.
2419
2420       Media, IDE, Simple 8-bit, Slave, Insert...
2421       Media, IDE, Simple 8-bit, Slave, Commit
2422       Media, IDE, Simple 8-bit, Slave, Eject
2423              The  same as the Media, IDE, Simple 8-bit, Master entries above,
2424              but for the simple 8-bit interface's slave channel.
2425
2426       Media, IDE, ZXATASP, Master, Insert...
2427       Media, IDE, ZXATASP, Master, Commit
2428       Media, IDE, ZXATASP, Master, Eject
2429       Media, IDE, ZXATASP, Slave, Insert...
2430       Media, IDE, ZXATASP, Slave, Commit
2431       Media, IDE, ZXATASP, Slave, Eject
2432              The same as the Media, IDE, Simple 8-bit, Master entries  above,
2433              but for the two channels of the ZXATASP interface.
2434
2435       Media, IDE, ZXCF CompactFlash, Insert...
2436       Media, IDE, ZXCF CompactFlash, Commit
2437       Media, IDE, ZXCF CompactFlash, Eject
2438              The  same as the Media, IDE, Simple 8-bit, Master entries above,
2439              but for the ZXCF interface's CompactFlash slot.
2440
2441       Media, IDE, ZXMMC, Insert...
2442       Media, IDE, ZXMMC, Commit
2443       Media, IDE, ZXMMC, Eject
2444              The same as the Media, IDE, Simple 8-bit entries above, but  for
2445              the memory card slot of the ZXMMC interface.
2446
2447       Media, IDE, DivIDE, Master, Insert...
2448       Media, IDE, DivIDE, Master, Commit
2449       Media, IDE, DivIDE, Master, Eject
2450       Media, IDE, DivIDE, Slave, Insert...
2451       Media, IDE, DivIDE, Slave, Commit
2452       Media, IDE, DivIDE, Slave, Eject
2453              The  same as the Media, IDE, Simple 8-bit entries above, but for
2454              the two channels of the DivIDE interface.
2455
2456       Media, IDE, DivMMC, Insert...
2457       Media, IDE, DivMMC, Commit
2458       Media, IDE, DivMMC, Eject
2459              The same as the Media, IDE, Simple 8-bit entries above, but  for
2460              the memory card slot of the DivMMC interface.
2461
2462       Help, Keyboard...
2463              Display a diagram showing the Spectrum keyboard, and the various
2464              keywords that can be generated with each key from  (48K)  BASIC.
2465              Under the GTK and Win32 UIs, this will appear in a separate win‐
2466              dow and emulation continues. With the other UIs, the picture re‐
2467              mains  onscreen (and the emulator paused) until you press Esc or
2468              Enter.
2469
2470       Help, About...
2471              Show Fuse's version number.
2472

KEY MAPPINGS

2474       When emulating the Spectrum, keys F1 to F10 are used as  shortcuts  for
2475       various  menu  items,  as described above. The alphanumeric keys (along
2476       with Enter and Space) are mapped as-is to the Spectrum keys. The  other
2477       key mappings are:
2478
2479       Shift  emulated as Caps Shift
2480
2481       Control, Alt, and Meta
2482              emulated  as  Symbol Shift (most other modifiers are also mapped
2483              to this)
2484
2485       Backspace
2486              emulated as Caps–0 (Delete)
2487
2488       Esc    emulated as Caps–1 (Edit)
2489
2490       Caps Lock
2491              emulated as Caps–2
2492
2493       Cursor keys
2494              emulated as Caps–5/6/7/8 (as appropriate)
2495
2496       Tab    emulated as Caps Shift–Symbol Shift (Extended Mode)
2497
2498       Some further punctuation keys are supported, if they exist on your key‐
2499       board  —  `,', `.', `/', `;', `'', `#', `-', and `='.  These are mapped
2500       to the appropriate symbol-shifted keys on the Spectrum.
2501
2502       A list of keys applicable when using  the  file  selection  dialogs  is
2503       given in the FILE SELECTION section below.
2504

DISPLAY SIZE

2506       Some  of  Fuse's UIs allow resizing of the emulated Spectrum's display.
2507       For the window-based ones (GTK, Win32 and Xlib),  you  can  resize  the
2508       window  by,  well,  resizing  it. :-) Exactly how this works depends on
2509       your window manager; you may have to make the  window  over  twice  the
2510       width  and  height  of  the original size before it actually scales up.
2511       Fuse attempts to keep the window `square', but with  some  window  man‐
2512       agers this can mean the window will never resize at all. If you experi‐
2513       ence this problem, the `--no-aspect-hint' option may help.
2514
2515       If you're using the SDL UI under X11 or GTK, the window will  automati‐
2516       cally resize to be the correct size for the graphics filter selected.
2517

GRAPHICS FILTERS

2519       Fuse  has  the  ability  to apply essentially arbitrary filters between
2520       building its image of the Spectrum's screen, and displaying it  on  the
2521       emulating  machine's  monitor.  These filters can be used to do various
2522       forms of smoothing, emulation of TV scanlines and various other  possi‐
2523       bilities.  Support  for  graphics  filters varies between the different
2524       user interfaces, but there are two general  classes:  the  GTK,  Win32,
2525       Xlib,  SVGAlib  and SDL user interfaces (and the saving of .png screen‐
2526       shots) support `interpolating' filters which use a palette larger  than
2527       the  Spectrum's  16 colours,  while the framebuffer user interface cur‐
2528       rently does not support filters at all.
2529
2530       A further complication arises due to the fact that the  Timex  machines
2531       have their high-resolution video mode with twice the horizontal resolu‐
2532       tion. To deal with this, Fuse treats these machines as having  a  `nor‐
2533       mal'  display  size  which  is  twice  the  size of a normal Spectrum's
2534       screen, leading to a different set of filters being available for these
2535       machines.  Note  that  any  of  the double or triple-sizing filters are
2536       available for Timex machines only when using the SDL, Win32 or GTK user
2537       interfaces.
2538
2539       The  available filters, along with their short name used to select them
2540       from the command line, are:
2541
2542       Timex half (smoothed) (half)
2543       Timex half (skipping) (halfskip)
2544              Two Timex-machine specific filters which scale the  screen  down
2545              to  half normal (Timex) size; that is, the same size as a normal
2546              Spectrum screen. The difference between these two filters is  in
2547              how they handle the high-resolution mode: the `smoothed' version
2548              is an interpolating filter which averages pairs of adjacent pix‐
2549              els,  while the `skipping' version is a non-interpolating filter
2550              which simply drops every other pixel.
2551
2552       Normal (normal)
2553              The simplest filter: just display one pixel for every  pixel  on
2554              the Spectrum's screen.
2555
2556       Double size (2x)
2557              Scale the displayed screen up to double size.
2558
2559       Triple size (3x)
2560              Scale  the  displayed  screen  up to triple size. Available only
2561              with the GTK, Win32, Xlib and SDL user interfaces or when saving
2562              screenshots of non-Timex machines.
2563
2564       Quadruple size (4x)
2565              Scale  the displayed screen up to quadruple size. Available only
2566              with the GTK, Win32 and SDL user interfaces.
2567
2568       2xSaI (2xsai)
2569       Super 2xSaI (super2xsai)
2570       SuperEagle (supereagle)
2571              Three  interpolating  filters  which  apply  successively   more
2572              smoothing. All three double the size of the displayed screen.
2573
2574       AdvMAME2x (advmame2x)
2575              A  double-sizing,  non-interpolating  filter  which  attempts to
2576              smooth diagonal lines.
2577
2578       AdvMAME3x (advmame3x)
2579              Very similar to AdvMAME2x, except that it triples  the  size  of
2580              the  displayed  screen. Available only with the GTK, Win32, Xlib
2581              and SDL user interfaces or when saving screenshots of  non-Timex
2582              machines.
2583
2584       TV 2x (tv2x)
2585       TV 3x (tv3x)
2586       TV 4x (tv4x)
2587       Timex TV (timextv)
2588              Four  filters  which attempt to emulate the effect of television
2589              scanlines. The first is a double-sizing filter for non-Timex ma‐
2590              chines,  the second is a similar triple-sizing filter, the third
2591              is a similar quadruple-sizing filter, while the last is  a  sin‐
2592              gle-sizing filter for Timex machines (note that this means TV 2X
2593              and Timex TV produce the same size output).
2594
2595       PAL TV (paltv)
2596       PAL TV 2x (paltv2x)
2597       PAL TV 3x (paltv3x)
2598       PAL TV 4x (paltv4x)
2599              Four filters which attempt to emulate the effect of the  PAL  TV
2600              system which layers a lower-resolution colour image over the top
2601              of a higher-resolution black-and-white image.  The  filters  can
2602              also optionally add scanlines like the other TV series scalers.
2603
2604       Dot matrix (dotmatrix)
2605              A double-sizing filter which emulates the effect of a dot-matrix
2606              display.
2607
2608       Timex 1.5x (timex15x)
2609              An interpolating Timex-specific filter which  scales  the  Timex
2610              screen up to 1.5× its usual size (which is therefore 3× the size
2611              of a `normal' Spectrum screen).  Available  only  for  the  GTK,
2612              Win32 and SDL user interfaces or when saving screenshots.
2613
2614       Timex 2x (timex2x)
2615              A non-interpolating Timex-specific filter which scales the Timex
2616              screen up to 2× its usual size (which is therefore 4×  the  size
2617              of  a  `normal'  Spectrum  screen).  Available only for the GTK,
2618              Win32 and SDL user interfaces or when saving screenshots.
2619
2620       HQ 2x (hq2x)
2621       HQ 3x (hq3x)
2622       HQ 4x (hq4x)
2623              Three filters which do high  quality  (but  slow)  antialiasing.
2624              Doubles  and  triples  and  quadruples the size of the displayed
2625              screen respectively.
2626

THE EMULATED SPECTRUM

2628       The emulated Spectrum is, by default, an unmodified 48K Spectrum with a
2629       tape  player  and  ZX Printer attached. Oh, and apparently some magical
2630       snapshot load/save machine which is probably best glossed over for  the
2631       sake of the analogy. :-)
2632
2633       To  emulate  different kinds of Spectrum, select the Machine, Select...
2634       menu option, or press F9.
2635
2636       The Spectrum emulation is paused when any dialogs appear. In the widget
2637       UI, it's also paused when menus or the keyboard picture are displayed.
2638

PRINTER EMULATION

2640       The  various  models  of  Spectrum supported a range of ways to connect
2641       printers, three of which are supported by Fuse. Different printers  are
2642       made available for the different models:
2643
2644       16, 48, TC2048, TC2068, TS2068
2645              ZX Printer
2646
2647       128/+2/Pentagon
2648              Serial printer (text-only)
2649
2650       +2A, +3
2651              Parallel printer (text-only)
2652
2653       If  Opus Discovery, +D or DISCiPLE emulation is in use and printer emu‐
2654       lation is enabled, text-only emulation of the disk interface's parallel
2655       printer interface is provided.
2656
2657       Any  printout  is  appended to one (or both) of two files, depending on
2658       the printer — these default to printout.txt for text output, and print‐
2659       out.pbm  for  graphics  (PBM images are supported by most image viewers
2660       and converters). These names can be changed  with  the  --textfile  and
2661       --graphicsfile  options  from  the  command line or configuration file.
2662       While the ZX Printer can only output graphically, simulated text output
2663       is  generated  at  the same time using a crude sort of OCR based on the
2664       current character set (a bit like using SCREEN$). There is currently no
2665       support  for graphics when using the serial/parallel output, though any
2666       escape codes used will be `printed' faithfully. (!)
2667
2668       By the way, it's not a good idea to modify the printout.pbm  file  out‐
2669       side  of Fuse if you want to continue appending to it. The header needs
2670       to have a certain layout for Fuse to be able to continue  appending  to
2671       it  correctly, and the file will be overwritten if it can't be appended
2672       to.
2673

ZXATASP AND ZXCF

2675       The ZXATASP and ZXCF interfaces are two peripherals  designed  by  Sami
2676       Vehmaa  which  significantly  extend  the capabilities of the Spectrum.
2677       More  details   on   both   are   available   from   Sami's   homepage,
2678       http://user.tninet.se/~vjz762w/, but a brief overview is given here.
2679
2680       The  real ZXATASP comes with either 128K or 512K of RAM and the ability
2681       to connect an IDE hard disks and a CompactFlash card,  while  the  ZXCF
2682       comes with 128K, 512K or 1024K of RAM and the ability to connect a Com‐
2683       pactFlash card. From an emulation point of view, the two interfaces are
2684       actually  very  similar as a CompactFlash card is logically just an IDE
2685       hard disk. Currently, Fuse's emulation is fixed at having 512K  of  RAM
2686       in the ZXATASP and 1024K in the ZXCF.
2687
2688       To  activate  the  ZXATASP,  simply select the ZXATASP interface option
2689       from the Options, Peripherals, Disk...  dialog. The state of the upload
2690       and  write protect jumpers is then controlled by the ZXATASP upload and
2691       ZXATASP write protect options. Similarly, the ZXCF is controlled by the
2692       ZXCF interface and ZXCF upload options (the ZXCF write protect is soft‐
2693       ware controlled).
2694
2695       If you're using either the ZXATASP or ZXCF, you almost  certainly  want
2696       to  investigate ResiDOS, the operating system designed for use with the
2697       ZXATASP and ZXCF. ResiDOS provides facilities for using the extra  RAM,
2698       accessing  the  mass storage devices and a task manager allowing virtu‐
2699       ally  instant  switching  between  programs  on   the   Spectrum.   See
2700       http://www.worldofspectrum.org/residos/ for more details.
2701

DIVIDE

2703       The DivIDE is another IDE interface for the Spectrum, of which full de‐
2704       tails        can        be        found        at        http://web.ar
2705       chive.org/web/20150302052256/http://baze.au.com/divide/.  The interface
2706       can be activated via the DivIDE interface option from the Options,  Pe‐
2707       ripherals,  Disk...   dialog, and the state of its write protect jumper
2708       controlled via the DivIDE write protect option.  If you're going to  be
2709       using  the  DivIDE, you'll probably want one of the firmwares available
2710       from the DivIDE homepage.
2711

DIVMMC

2713       The DivMMC is a MMC interface for the Spectrum. Originally designed  by
2714       Alessandro Dorigatti for the V6Z80P+ FPGA board as the fusion of DivIDE
2715       and ZXMMC+ interfaces, later assembled as an interface for  real  spec‐
2716       trums  by  Mario Prato. Currently there are variants with different RAM
2717       size, one/two memory cards slots, optional kempston jostick, etc.
2718
2719       The interface can be activated via the DivMMC interface option from the
2720       Options,  Peripherals,  Disk...   dialog,  and  the state of its EEPROM
2721       write protect jumper controlled via the DivMMC  write  protect  option.
2722       If  you're going to be using the DivMMC, you'll need to load the ESXDOS
2723       firmware at http://www.esxdos.org/ or use the ZX Spectrum +3e  ROMs  by
2724       Garry Lancaster.
2725
2726       You'll  also need a HDF image to store the contents of the memory card.
2727       There are several tools to create  and  manipulate  this  file  format,
2728       e.g., hdfmonkey at https://github.com/gasman/hdfmonkey.
2729

SPECTRANET EMULATION

2731       The  Spectranet is an Ethernet network interface for the ZX Spectrum by
2732       Dylan Thomas. The interface can be activated via the Spectranet  option
2733       on  the  Peripherals preferences dialog, and the state of its automatic
2734       page-in (disable) jumper controlled via the Spectranet disable  option.
2735       If you're going to be using the Spectranet, you'll probably want one of
2736       the firmwares available  from  the  Spectranet  homepage  (http://spec
2737       trum.alioth.net/doc/index.php)  which  is  also where you can find more
2738       information on using the interface.
2739
2740       Installing the Spectranet firmware on Fuse is slightly more complicated
2741       than on a real machine, mostly because Fuse's emulation doesn't support
2742       DHCP. These instructions are correct as of 2012-01-26 — if you're using
2743       a later firmware than this, things may have changed slightly.
2744
2745       The  first  thing  you will need to do is to obtain a copy of the Spec‐
2746       tranet installer as a .tap file (or similar).  The  installer  is  also
2747       available at the Spectranet site above.
2748
2749       Once  you  have  a copy of the installer, start Fuse and tick the Spec‐
2750       tranet option from the Options, Peripherals,  General...   dialog,  and
2751       the  state  of  its  write protect jumper controlled via the Spectranet
2752       disable option. Once that's done, open the installer file (use the  Me‐
2753       dia,  Tape,  Open...  command rather than File, Open...  to prevent au‐
2754       toloading) and enter the following commands from BASIC:
2755
2756       CLEAR 26999
2757       LOAD "" CODE
2758       RANDOMIZE USR 27000
2759
2760       The screen should turn blue and you'll see around 20 lines  of  message
2761       appearing  as  the firmware is installed, starting with “Erasing sector
2762       0” and finishing with “Restoring page B”, and you'll get  the  familiar
2763       0 OK, 0: 1 at the bottom of the screen.
2764
2765       Now untick the Spectranet disable option from the Options, Peripherals,
2766       General...  dialog and reset the Spectrum. You should see a very  brief
2767       blue  status  screen,  before the regular copyright screen appears with
2768       some Spectranet information at the top — there should  be  four  status
2769       lines,  starting  with  “Alioth  Spectranet”  and ending with the Spec‐
2770       tranet's IP address (which will be 255.255.255.255 at this stage).
2771
2772       Now trigger an NMI (the Machine / NMI menu option) and you should get a
2773       white on blue Spectranet NMI menu with five options.
2774
2775       Select [A] Configure network settings — this should lead you to another
2776       menu, which will scroll of the top of the  screen;  don't  worry  about
2777       this for now.
2778
2779       You'll now need to set various options:
2780
2781       [A] Enable/disable DHCP — select N
2782       [B]  Change  IP  address  — enter the IP address of the machine you are
2783       running Fuse on.
2784       [C] Change netmask — enter the appropriate netmask for the  IP  address
2785       you  selected  above.  If  that  doesn't  mean  anything  to  you,  try
2786       255.255.255.0
2787       [D] Change default gateway — enter the appropriate gateway address.  If
2788       you don't know any better, enter the IP address of your router.
2789       [E]  Change  primary DNS — enter the address of your DNS server. If you
2790       don't know any better, use Google's public DNS server, 8.8.8.8.
2791
2792       There is no need to change options [F] or [G], but do select:
2793
2794       [H] Change hostname — enter a hostname for the  Spectranet-enabled  ma‐
2795       chine.  It doesn't really matter what you enter here — it's mostly use‐
2796       ful just to replace the junk default name so you can  see  what  you've
2797       entered for the other settings.
2798
2799       Your screen should now look something like this:
2800
2801       Current configuration
2802       ───────────────────────────────────────
2803       Use DHCP           : No
2804       IP address         : 192.168.000.002
2805       Netmask            : 255.255.255.000
2806       Default gateway    : 192.168.000.001
2807       Primary DNS        : 192.168.000.001
2808       Secondary DNS      : 255.255.255.255
2809       Hardware address   : FF:FF:FF:FF:FF:FF
2810       Hostname           : fuse
2811       <menu options>
2812
2813       If  everything  looks correct, select [I] Save changes and exit (you'll
2814       see a brief “Saving configuration...” message) followed by [E] Exit, at
2815       which point you'll be returned to BASIC.
2816
2817       Now type the following commands:
2818
2819       %cfgnew
2820       %cfgcommit
2821
2822       Which will show the standard 0 OK, 0:1 at the bottom of the screen.
2823
2824       Reset  the Spectrum again and you'll see the same four line status dis‐
2825       play, but this time with your IP address on the last line.
2826
2827       Congratulations! You have now installed  the  Spectranet  firmware.  To
2828       save  having  to  go through all that every time you start Fuse, save a
2829       .szx snapshot at this point, and load that in every time  you  want  to
2830       use the Spectranet.
2831
2832

TTX2000S EMULATION

2834       Fuse  supports  emulating  the OEL/Volex TTX2000S teletext adaptor with
2835       16K and 48K machines.
2836
2837       The interface has four tuning presets  and  extracts  teletext  signals
2838       from the vertical blanking interval of the selected television channel.
2839       These teletext signals are emulated by means of a simple TCP socket in‐
2840       terface  provided  by an external server application. An example server
2841       written in Python is available from  https://github.com/ZXGuesser/tele
2842       text-packet-server
2843
2844       The  default address for the four packet servers is 127.0.0.1 (loopback
2845       address), ports 19761 to 19764. Connections can also be made  to  other
2846       computers  on a fast LAN by IP address or hostname. Connecting a packet
2847       server via the internet is not recommended.
2848
2849       Only one connection is active at a time. Changing channel preset on the
2850       emulated interface closes any active connection and opens a new connec‐
2851       tion to the appropriate server. The same packet server can be  set  for
2852       multiple tuning presets.
2853
2854       Note  that  a limitation of the TTX2000S ROM means that it only decodes
2855       the first 12 lines of a teletext signal. This can be fixed by  entering
2856       BASIC  and  executing `POKE 23394,33' then re-entering the teletext ROM
2857       with `RANDOMIZE USR 23500'.  Alternatively  just  use  teletext  packet
2858       sources with 12 lines per field or fewer.
2859

FILE SELECTION

2861       The  way  you  select a file (whether snapshot or tape file) depends on
2862       which UI you're using. So firstly, here's how to use the GTK  file  se‐
2863       lector.
2864
2865       The  selector  shows the directories and files in the current directory
2866       in two separate subwindows. If either list is too big  to  fit  in  the
2867       window,  you  can  use  the  scrollbar to see the rest (by dragging the
2868       slider, for example), or you can use Shift–Tab (to  move  the  keyboard
2869       focus  to  a  subwindow) and use the cursor keys.  To change directory,
2870       double-click it.
2871
2872       To choose a file to load you can either double-click it,  or  click  it
2873       then click Ok.  Or click Cancel to abort.
2874
2875       If  you're  using the keyboard, probably the easiest way to use the se‐
2876       lector is to just ignore it and type in the name. This isn't as irksome
2877       as  it  sounds,  since the filename input box has filename completion —
2878       type part of a directory or file name, then press Tab.  It should  com‐
2879       plete  it.  If  it  was a directory, it moves to that directory; if the
2880       completion was ambiguous, it completes as much as possible, and narrows
2881       the  filenames  shown to those which match. You should press Enter when
2882       you've finished typing the filename, or Esc to abort.
2883
2884       Now, if you're using the widget UI — the one using the Spectrum font  —
2885       the selector works a bit differently. The files and directories are all
2886       listed in a single two-column-wide window (the directories are shown at
2887       the  top,  ending  in  `/')  —  the  names may be truncated onscreen if
2888       they're too long to fit.
2889
2890       To move the cursor, you can either use the cursor keys, or the Spectrum
2891       equivalents  5/6/7/8,  or (similarly) h/j/k/l. For faster movement, the
2892       Page Up, Page Down, Home, and End keys are supported and do what  you'd
2893       expect.  To  select  a file or directory, press Enter.  To abort, press
2894       Esc.
2895
2896       With both selectors, do bear in mind that all files are shown,  whether
2897       Fuse would be able to load them or not.
2898

MONITOR/DEBUGGER

2900       Firstly,  note  that  the vast majority of this section applies only if
2901       you're using the GTK user interface; if you're using one of the  widget
2902       user  interfaces,  you'll get a very basic monitor which shows the cur‐
2903       rent values of the registers and allows you to single step through exe‐
2904       cution or continue.
2905
2906       If  you  are  using  the GTK user interface, Fuse features a moderately
2907       powerful, completely transparent monitor/debugger, which can  be  acti‐
2908       vated via the Machine, Debugger...  menu option. A debugger window will
2909       appear, showing the current state of the emulated machine: the top-left
2910       `pane' shows the current state of the Z80 and the last bytes written to
2911       any emulated peripherals. The bottom-left pane lists any active  break‐
2912       points. Moving right, the next pane shows where the Spectrum's 64K mem‐
2913       ory map (the `W?'  and `C?'  indicate whether each displayed  chunk  is
2914       writable or contended respectively).  Fuse tracks the memory mapping of
2915       the overall address space in 2KB chunks but will summarise  the  mapped
2916       pages  where  they  are  part of the same page of the underlying memory
2917       source (e.g. 8KB page sizes in the Spectrum 128K and 4KB pages  in  the
2918       Timex clones' DOCK and EXROM banks).
2919
2920       The  next  pane to the right has a disassembly, which by default starts
2921       at the current program counter, although this can be modified either by
2922       the `disassemble' command (see below) or by dragging the scrollbar next
2923       to it. The next pane shows the current stack, and the  final  pane  any
2924       `events'  which  are  due  to  occur and could affect emulation. Any of
2925       these panes can be removed by use of the View menu. Below the  displays
2926       are  an  entry box for debugger commands, and five buttons for control‐
2927       ling the debugger:
2928
2929       Evaluate
2930              Evaluate the command currently in the entry box.
2931
2932       Single Step
2933              Run precisely one Z80 opcode and then stop emulation again.
2934
2935       Continue
2936              Restart emulation, but leave the debugger window open. Note that
2937              the  debugger window will not be updated while emulation is run‐
2938              ning.
2939
2940       Break
2941              Stop emulation and return to the debugger.
2942
2943       Close
2944              Close the debugger window and restart emulation.
2945
2946       Double-clicking on an entry in the stack pane will cause  emulation  to
2947       run until the program counter reaches the value stored at that address,
2948       while double-clicking on an entry in the `events' pane will cause  emu‐
2949       lation to run until that time is reached.
2950
2951       The main power of the debugger is via the commands entered into the en‐
2952       try box, which are similar in nature (but definitely not  identical  to
2953       or  as  powerful  as)  to those in gdb(1).  In general, the debugger is
2954       case-insensitive, and numbers will be interpreted  as  decimal,  unless
2955       prefixed  by  either  `0x' or `$' when they will be interpreted as hex.
2956       Each command can be abbreviated to the portion not in curly braces.
2957
2958       ba{se} number
2959              Change the debugger window to displaying output in base  number.
2960              Available values are 10 (decimal) or 16 (hex).
2961
2962       br{eakpoint} [address] [if condition]
2963              Set  a  breakpoint  to stop emulation and return to the debugger
2964              whenever an opcode is executed at address and  condition  evalu‐
2965              ates  true.  If  address  is omitted, it defaults to the current
2966              value of PC.
2967
2968       br{eakpoint} p{ort} (re{ad}|w{rite}) port [if condition]
2969              Set a breakpoint to trigger whenever IO port port is  read  from
2970              or written to and condition evaluates true.
2971
2972       br{eakpoint} (re{ad}|w{rite}) [address] [if condition]
2973              Set  a breakpoint to trigger whenever memory location address is
2974              read from (other than via an opcode fetch)  or  written  to  and
2975              condition evaluates true.  Address again defaults to the current
2976              value of PC if omitted.
2977
2978       br{eakpoint} ti{me} time [if condition]
2979              Set a breakpoint to occur time tstates after the  start  of  the
2980              every  frame,  assuming  condition  evaluates  true  (if  one is
2981              given).
2982
2983       br{eakpoint} ev{ent} area:detail [if condition]
2984              Set a breakpoint to occur when the event specified  by  area:de‐
2985              tail  occurs  and  condition evaluates to true. The events which
2986              can be caught are:
2987
2988              beta128:page
2989              beta128:unpage
2990                     The Beta 128 interface is paged into or out of memory re‐
2991                     spectively.
2992              didaktik80:page
2993              didaktik80:unpage
2994                     The  Didaktik 80 interface is paged into or out of memory
2995                     respectively.
2996              disciple:page
2997              disciple:unpage
2998                     The DISCiPLE interface is paged into or out of memory re‐
2999                     spectively.
3000              divide:page
3001              divide:unpage
3002                     The  DivIDE  interface is paged into or out of memory re‐
3003                     spectively.
3004              divmmc:page
3005              divmmc:unpage
3006                     The DivIDE interface is paged into or out of  memory  re‐
3007                     spectively.
3008              if1:page
3009              if1:unpage
3010                     The  Interface 1  shadow ROM is paged into or out of mem‐
3011                     ory.
3012              multiface:page
3013              multiface:unpage
3014                     The Multiface One/128/3 is paged into or  out  of  memory
3015                     respectively.
3016              opus:page
3017              opus:unpage
3018                     The Opus Discovery is paged into or out of memory respec‐
3019                     tively.
3020              plusd:page
3021              plusd:unpage
3022                     The +D interface is paged into or out of  memory  respec‐
3023                     tively.
3024              rzx:end
3025                     An RZX recording finishes playing.
3026              speccyboot:page
3027              speccyboot:unpage
3028                     The SpeccyBoot interface is paged into or out of memory.
3029              spectranet:page
3030              spectranet:unpage
3031                     The Spectranet interface is paged into or out of memory.
3032              tape:play
3033              tape:stop
3034                     The emulated tape starts or stops playing.
3035              zxatasp:page
3036              zxatasp:unpage
3037                     The ZXATASP interface is paged into or out of memory.
3038              zxcf:page
3039              zxcf:unpage
3040                     The ZXCF interface is paged into or out of memory.
3041
3042              In  all cases, the event can be specified as area:* to catch all
3043              events from that area.
3044
3045       cl{ear} [address]
3046              Remove all breakpoints at address or the current value of PC  if
3047              address is omitted. Port read/write breakpoints are unaffected.
3048
3049       com{mmands} id <newline>
3050       <debugger command> <newline>
3051       <debugger command> <newline>
3052       ...
3053       end
3054              Set things such that the specified debugger commands will be au‐
3055              tomatically executed when breakpoint id is triggered.  There  is
3056              currently  no  user  interface  for entering multi-line debugger
3057              commands, so the only way to specify this command is on the com‐
3058              mand-line via the --debugger-command option.
3059
3060       cond{ition} id [condition]
3061              Set breakpoint id to trigger only when condition is true, or un‐
3062              conditionally if condition is omitted.
3063
3064       co{ntinue}
3065              Equivalent to the Continue button.
3066
3067       del{ete} [id]
3068              Remove breakpoint id, or all breakpoints if id is omitted.
3069
3070       di{sassemble} address
3071              Set the centre panel disassembly to begin at address.
3072
3073       ex{it} [expression]
3074              Exit the emulator immediately, using  the  exit  code  resulting
3075              from  the  evaluation of expression, or 0 if expression is omit‐
3076              ted.
3077
3078       fi{nish}
3079              Exit from the current CALL or equivalent. This isn't infallible:
3080              it  works  by setting a temporary breakpoint at the current con‐
3081              tents of the stack pointer, so will not  function  correctly  if
3082              the  code returns to some other point or plays with its stack in
3083              other ways. Also, setting this breakpoint doesn't disable  other
3084              breakpoints,  which  may  trigger before this one. In that case,
3085              the temporary breakpoint remains, and the `continue' command can
3086              be used to return to it.
3087
3088       i{gnore} id count
3089              Do  not  trigger  the  next count times that breakpoint id would
3090              have triggered.
3091
3092       n{ext}
3093              Step to the opcode following the current one. As with the  `fin‐
3094              ish'  command,  this  works by setting a temporary breakpoint at
3095              the next opcode, so is not infallible.
3096
3097       o{ut} port value
3098              Write value to IO port port.
3099
3100       pr{int} expression
3101              Print the value of expression to standard output.
3102
3103       se{t} address value
3104              Poke value into memory at address.
3105
3106       se{t} $variable value
3107              Set the value of the debugger variable variable to value.
3108
3109       se{t} area:detail value
3110              Set the value of the system variable area:detail to value.   The
3111              available system variables are listed below.
3112
3113       s{tep}
3114              Equivalent to the Single Step button.
3115
3116       t{breakpoint} [options]
3117              This  is  the  same  as  the `breakpoint' command in its various
3118              forms, except that the breakpoint is temporary: it will  trigger
3119              once and once only, and then be removed.
3120
3121       Addresses  can be specified in one of two forms: either an absolute ad‐
3122       dresses, specified by an integer in the range 0x0000 to 0xFFFF or as  a
3123       `source:page:offset'  combination,  which  refers  to a location offset
3124       bytes into memory bank page, independent of where  that  bank  is  cur‐
3125       rently  paged  into  memory.  RAM  and ROM pages are indicated, respec‐
3126       tively, by `RAM' and `ROM' sources (e.g.  offset  0x1234  in  ROM 1  is
3127       specified as `ROM:1:0x1234').  Other available sources are: `Betadisk',
3128       `Didaktik 80 RAM', `Didaktik 80 ROM', `DISCiPLE RAM',  `DISCiPLE  ROM',
3129       `DivIDE  EPROM',  `DivIDE  RAM',  `DivMMC  EPROM', `DivMMC RAM', `If1',
3130       `If2', `Multiface RAM', `Multiface ROM', `Opus RAM', `Opus ROM', `PlusD
3131       RAM',  `PlusD  ROM',  `SpeccyBoot',  `Spectranet', `Timex Dock', `Timex
3132       EXROM', `uSource', `ZXATASP' and `ZXCF'.  Please, note that  spaces  in
3133       memory    sources    should    be    escaped,   e.g.,   `break   Didak‐
3134       tik\ 80\ ROM:0:0x1234'.  The 48K machines are treated as having a  per‐
3135       manent  mapping  of  page 5  at  0x4000, page 2 at 0x8000 and page 0 at
3136       0xC000; the 16K Spectrum is treated as having page 5 at 0x4000  and  no
3137       page at 0x8000 and 0xC000.
3138
3139       Anywhere the debugger is expecting a numeric value, except where it ex‐
3140       pects a breakpoint id, you can instead use a numeric expression,  which
3141       uses  a  restricted  version  of C's syntax; exactly the same syntax is
3142       used for conditional breakpoints, with `0' being false  and  any  other
3143       value being true. In numeric expressions, you can use integer constants
3144       (all calculations are done in  integers),  system  variables,  debugger
3145       variables, parentheses, the standard four numeric operations (`+', `-',
3146       `*' and `/'), the (non-)equality operators `==' and `!=', the  compari‐
3147       son  operators `>', `<', `>=' and `<=', bitwise and (`&'), or (`|') and
3148       exclusive or (`^') and logical and (`&&') and or (`||').  Square brack‐
3149       ets  (`['  and  `]')  can  be  used to dereference a value; for example
3150       `[0x4000]' will give the value of the first byte of the screen.
3151
3152       System variables are specified via an `area:detail' syntax. The  avail‐
3153       able system variables are:
3154
3155       ay:current
3156              The current AY-3-8912 register.
3157       divmmc:control
3158              The last byte written to DivMMC control port.
3159       spectrum:frames
3160              The frame count since reset. Note that this variable can only be
3161              read, not written to.
3162       tape:microphone
3163              The current level of the tape input connected to the `EAR' port.
3164              Note that this variable can only be read, not written to.
3165       ula:last
3166              The  last  byte  written to the ULA. Note that this variable can
3167              only be read, not written to.
3168       ula:mem1ffd
3169              The last byte written to memory control  port  used  by  the  ZX
3170              Spectrum +2A/3; normally addressed at 0x1ffd, hence the name.
3171       ula:mem7ffd
3172              The last byte written to primary memory control port used by the
3173              ZX Spectrum 128 and later; normally addressed at  0x7ffd,  hence
3174              the name.
3175       ula:tstates
3176              The number of tstates since the last interrupt.
3177       z80: register name
3178              The  value  of  the specified register. Both 8-bit registers and
3179              16-bit register pairs are supported. The MEMPTR / WZ hidden reg‐
3180              ister  is  also supported. The (presumable) Q hidden register is
3181              also supported.
3182       z80:im
3183              The current interrupt mode of the Z80.
3184       z80:iff1
3185       z80:iff2
3186              1 if the specified interrupt flip-flop is currently set, or 0 if
3187              it is not set.
3188

THE POKE FINDER

3190       The `poke finder' is a tool which is designed to make the task of find‐
3191       ing (infinite lives etc.) pokes for games a bit easier: it  is  similar
3192       to  the `Lifeguard' utility which was available for use with the Multi‐
3193       face. It works by maintaining a list of locations in which the  current
3194       number  of lives (etc.) may be stored, and having the ability to remove
3195       from that list any locations which don't contain a specified value.
3196
3197       The poke finder dialog contains an entry box for specifying  the  value
3198       to be searched for, a count of the current number of possible locations
3199       and, if there are less than 20 possible locations, a list of the possi‐
3200       ble  locations  (in `page:offset' format). The five buttons act as fol‐
3201       lows:
3202
3203       Incremented
3204              Remove from the list of possible locations all  addresses  which
3205              have not been incremented since the last search.
3206
3207       Decremented
3208              Remove  from  the list of possible locations all addresses which
3209              have not been decremented since the last search.
3210
3211       Search
3212              Remove from the list of possible locations all  addresses  which
3213              do not contain the value specified in the `Search for' field.
3214
3215       Reset
3216              Reset  the poke finder so that all locations are considered pos‐
3217              sible.
3218
3219       Close
3220              Close the dialog. Note that this  does  not  reset  the  current
3221              state of the poke finder.
3222
3223       Double-clicking  on  an  entry  in  the list of possible locations will
3224       cause a breakpoint to be set to trigger whenever that location is writ‐
3225       ten to.
3226
3227       An  example of how to use this may make things a bit clearer. We'll use
3228       the 128K version of Gryzor. Load the game,  define  keys  to  suit  and
3229       start  playing. Immediately pause the game and bring up the poke finder
3230       dialog. We note that we currently have 6 lives, so enter `6'  into  the
3231       `Search  for' field and click `Search'. This reduces the number of pos‐
3232       sible locations to around 931 (you may get a slightly different  number
3233       depending  on  exactly  when you paused the game). Play along a bit and
3234       then (deliberately) lose a life. Pause the game again. As we  now  have
3235       5 lives, replace the `6' in the `Search for' field with a `5' and click
3236       `Search' again. This then reduces the list  of  possible  locations  to
3237       just  one:  page 2,  offset 0x00BC. This is the only location in memory
3238       which stored `6' when we had 6 lives and `5' when we  had  5 lives,  so
3239       its pretty likely that this is where the lives count is stored. Double-
3240       clicking on the `2:0x00BC' entry in the dialog will set the appropriate
3241       breakpoint  (you may wish to open the debugger at this point to confirm
3242       this). Play along a bit more. When you next lose a life,  emulation  is
3243       stopped  with  PC at 0x91CD. Scrolling up a few addresses in the debug‐
3244       ger's disassembly pane shows a value was loaded from 0x80BC (our  hypo‐
3245       thetical  lives  counter), decremented and then stored again to 0x80BC,
3246       which looks very much like the code to reduce the number of  lives.  We
3247       can  now  use  the  debugger  to replace the decrement with a NOP (`set
3248       0x91c9 0'), and playing the game some more after this reveals that this
3249       has worked and we now have infinite lives.
3250

THE POKE MEMORY

3252       Fuse  supports  multiface POKEs, allowing to modify specific memory ad‐
3253       dresses in order to cheat (infinite lives, infinite ammo, etc.).
3254
3255       The `poke memory' dialog contains a list of recently loaded  POKEs  and
3256       some entry boxes for adding custom POKEs:
3257
3258       Bank
3259              Sets  the  128K  memory  bank (values `0' to `7') or the current
3260              memory mapping (value `8' or blank).
3261
3262       Address
3263              Memory address to modify. Values in range 16384 to 65535 for 48K
3264              memory mode or 0 to 65535 for 128K memory banks. GTK UI also ac‐
3265              cepts hex addresses.
3266
3267       Value
3268              New value for the former address, in range 0 to 255.  Value  256
3269              means “Prompt to the user later”.
3270
3271       It  is  possible  to  load  POKEs from an external file using the File,
3272       Open...  menu option or the drag-and-drop functionality in the GTK  and
3273       Win32 UIs.  After loading a snapshot or tape, Fuse will try to automat‐
3274       ically locate a POK file with the same file name. This means that if we
3275       open   `GAME.TAP',   then   Fuse   will  try  to  open  `GAME.POK'  and
3276       `POKES/GAME.POK'. See http://www.worldofspectrum.org/POKformat.txt  for
3277       more details about this file format.
3278
3279       POKEs  loaded  in  the list can be activated or deactivated as the user
3280       wants and will remain in memory until a machine reset.
3281

THE .DSK FORMAT

3283       In general, disk images for the +3 Spectrum are thought of as being  in
3284       DSK  format.  However,  this  is  actually a slight oversimplification;
3285       there are in fact two similar, but not  identical,  DSK  formats.  (The
3286       difference  can  be  seen  by  doing `head -1 dskfile': one format will
3287       start `MV - CPCEMU' and the other will start `EXTENDED').
3288
3289       Fuse supports both the `CPCEMU' and `EXTENDED' formats.
3290

BETA 128 EMULATION

3292       Fuse supports Betadisk emulation in its Pentagon  and  Scorpion  emula‐
3293       tion,  and  also under 48K, TC2048, 128K and +2 (but not +2A) emulation
3294       if the Beta 128 interface option from the Options, Peripherals, Disk...
3295       dialog  is enabled. When that option is used in 48K or TC2048 emulation
3296       the Beta 128 auto-boot in 48K  machines  option  additionally  controls
3297       whether the machine boots directly into the TR-DOS system. See the DISK
3298       FILE FORMATS section for more details on supported disk file formats.
3299

OPUS DISCOVERY EMULATION

3301       By default, Fuse emulates the Opus Discovery  interface  with  the  op‐
3302       tional  2k RAM expansion and a second 40 track single sided disk drive.
3303       See the DISK FILE FORMATS section for more details  on  supported  disk
3304       file  formats.  The  Opus Discovery's printer port is also emulated for
3305       output only. (See the PRINTER EMULATION section for more details.)  The
3306       Opus Discovery may only be used with 16K, 48K, 128K, TC2048 and +2 (not
3307       +2A) emulation.  To access disks, use the same  syntax  as  Interface 1
3308       and Microdrives.
3309

+D EMULATION

3311       Fuse supports emulating the +D disk and printer interface. See the DISK
3312       FILE FORMATS section for more details on supported disk  file  formats.
3313       The  +D's  printer port is emulated. (See the PRINTER EMULATION section
3314       for more details.) The +D may only be used with 48K, 128K and  +2  (not
3315       +2A) emulation.  To access disks, you will first need to load G+DOS, by
3316       inserting a disk containing the DOS file  (+SYS)  and  entering  “RUN”.
3317       Once  DOS  is  loaded, you can load to/from +D disks by prefixing file‐
3318       names with `dn' where `n' is the number of the drive in use.  For exam‐
3319       ple, `LOAD d1"myfile"' would load the file named `myfile' from the emu‐
3320       lated drive 1.  Microdrive syntax may also be used.
3321
3322       To save a snapshot, choose the Machine, NMI menu option, and then press
3323       `4'  to save a 48K snapshot, or `5' to save a 128K snapshot.  When sav‐
3324       ing a 128K snapshot, you must then press Y or N to indicate whether the
3325       screen  changed  while  saving the snapshot, to finish saving.  You can
3326       also choose `3' to save a screenshot to disk.  Holding Caps  Shift  to‐
3327       gether  with  any  of  these  options  will cause the +D to save to the
3328       `other' drive to the one used last.
3329
3330       Options `1' and `2' allow screenshots to be printed (in monochrome,  in
3331       normal and large formats respectively) if printer emulation is enabled.
3332       For saving and loading of snapshots, and saving of screenshots to disk,
3333       G+DOS  must  be  loaded  first, but printing of screenshots can be per‐
3334       formed without loading G+DOS.
3335
3336       Finally, `X' will return from the NMI menu.
3337

DIDAKTIK 80 EMULATION

3339       Fuse supports Didaktik 80 (and Didaktik 40) emulation.  It emulates the
3340       original  version  of the Didaktik 80, running MDOS 1 and with a WD2797
3341       floppy controller.  See the DISK FILE FORMATS section for more  details
3342       on  supported disk file formats.  The Didaktik 80 may only be used with
3343       16K, 48K and TC2048 emulation.  To press the Didaktik 80's `SNAP'  but‐
3344       ton, choose the Machine, Didaktik SNAP menu option.
3345

DISCIPLE EMULATION

3347       Fuse  supports  emulating  the DISCiPLE disk and printer interface, al‐
3348       though it does not currently support emulation of the Sinclair Network,
3349       or  support emulation of a DISCiPLE attached to a 128K machine. See the
3350       DISK FILE FORMATS section for more details on supported disk file  for‐
3351       mats,  which  are  the same as for +D emulation as described above. The
3352       DISCiPLE's printer port is emulated. (See the PRINTER EMULATION section
3353       for  more details.) The DISCiPLE may only be used with 48K emulation at
3354       present.  To access disks, you will first need to load GDOS, by insert‐
3355       ing  a disk containing the DOS file (SYS) and entering “RUN”.  Once DOS
3356       is loaded, you can load to/from DISCiPLE disks by  prefixing  filenames
3357       with  `dn'  where  `n' is the number of the drive in use.  For example,
3358       `LOAD d1"myfile"' would load the file named `myfile' from the  emulated
3359       drive 1.  Microdrive syntax may also be used.
3360
3361       Snapshots  can  be  saved  in a similar manner to that of the +D as de‐
3362       scribed above, but note that GDOS on the DISCiPLE contains a bug  which
3363       causes  corruption as soon as the NMI button is pressed, affecting sav‐
3364       ing of snapshots, and also loading of snapshots  that  were  originally
3365       saved  with  a +D or SAM Coupé.  This will cause corruption even when a
3366       screenshot is printed, or if the menu is  never  even  entered  in  the
3367       first  place  (due to Caps Shift not being pressed down, as is required
3368       for the DISCiPLE), provided that GDOS  is  loaded.   This  bug  is  not
3369       present in G+DOS on the +D.  (Note: this was caused by saving/restoring
3370       the AF register twice in the NMI handler, where both  AF  and  the  AF'
3371       shadow register should have been saved/restored.)
3372
3373       The  NMI  button works slightly differently on the DISCiPLE than on the
3374       +D.  Caps Shift must be held down whilst pressing the NMI  button,  and
3375       there is no `X' option to exit the menu.  Also, printing of screenshots
3376       requires GDOS to be loaded.  Depending on the  UI  that  you're  using,
3377       holding  down  Caps  Shift whilst choosing the Machine, NMI menu option
3378       may be slightly tricky, or even impossible.  For  the  GTK  UI,  ensure
3379       that  the  Shift  key is held before entering on the Machine menu.  For
3380       the widget UI, it does not seem possible to perform this action.
3381

DISK FILE FORMATS

3383       Fuse supports several disk image formats in its +D, Didaktik,  DISCiPLE
3384       and Beta 128 emulation.
3385
3386       For reading:
3387
3388       .UDI
3389              Ultra    Disk    Image;    for    specification    please    see
3390              http://faqwiki.zxnet.co.uk/wiki/UDI_format     or     http://zx
3391              mak.chat.ru/docs.htm
3392
3393              This  is  the only image format which can store all the relevant
3394              information of the recorded data on a magnetic disk, so  it  can
3395              be  used for any non standard disk format. Fuse can read all ex‐
3396              tended track types too (mixed FM/MFM, or tracks with `WEAK' data
3397              or even compressed tracks too).
3398
3399       .FDI
3400              UKV Spectrum Debugger disk image format.
3401
3402       .MGT .IMG
3403              DISCiPLE/+D file formats.
3404
3405       .SAD
3406              For  compatibility  with  SAM Coupé disk images using these for‐
3407              mats.  Note that SAM Coupé `.DSK' images share the  same  format
3408              as `.MGT'.
3409
3410       .D80 .D40
3411              Didaktik 80 and Didaktik 40 file formats.
3412
3413       .TRD
3414              TR-DOS  disk  image. TRD and SCL sectors are loaded interleaved,
3415              therefore you might experience problems with  TR-DOS  ROMs  that
3416              use the turbo format (sequential sectors); for detailed informa‐
3417              tion            please            see             http://web.ar
3418              chive.org/web/20070808150548/http://www.ram
3419              soft.bbk.org/tech/tr-info.zip
3420
3421       .SCL
3422              A simple archive format for TR-DOS disk files. For specification
3423              please see http://www.zx-modules.de/fileformats/sclformat.html
3424
3425       .TD0
3426              Teledisk image format; Fuse supports only files which do not use
3427              the “Advanced Compression” option. Detailed description found in
3428              http://www.classiccmp.org/dunfield/img54306/td0notes.txt     and
3429              https://web.ar
3430              chive.org/web/20130116072335/http://www.fpns.net/willy/wteledsk.htm
3431
3432       .DSK
3433              CPC disk image format; Fuse supports the plain old and  the  new
3434              extended  CPC format too. Further information please see the THE
3435              .DSK  FORMAT  section  and  the  CPCEMU  manual  section   7.7.1
3436              http://www.cpc-emu.org/linux/cpcemu_e.txt         or         the
3437              http://www.cpctech.org.uk/docs/extdsk.html
3438
3439       .OPD .OPU
3440              Opus Discovery file formats.
3441
3442       Fuse supports most of the above formats for  writing:  .UDI  .FDI  .MGT
3443       .IMG .SAD .D80 .D40 .TRD .SCL .OPD .OPU .DSK (only the old CPC format).
3444
3445       You can save disk images with any output format, just select the appro‐
3446       priate extension. (e.g.  `elite3.udi' to save as an UDI file).  If  the
3447       appropriate  libraries were available when libspectrum(3) was compiled,
3448       than Fuse will try to create UDI images with compressed tracks to  save
3449       disk space.  There is a .LOG `image' format for debugging purpose. This
3450       is a plain text file that contains three dumps of the loaded disk image
3451       at different details.  Not all image formats can store all disk images.
3452       You cannot save a disk image with an inappropriate  format  that  loses
3453       some information (e.g. variable track length or sector length).
3454

WEAK DISK DATA

3456       Some  copy  protections  have  what is described as `weak/random' data.
3457       Each time the sector is read one or more bytes will change,  the  value
3458       may  be  random between consecutive reads of the same sector.  Two disk
3459       image formats (Extended DSK and UDI) can store this type of data.  Fuse
3460       can read and use weak sector data from EDSK and UDI files when present,
3461       and can save back weak sector data to UDI image format.
3462

MOVIE RECORDING

3464       Fuse can save movies with sound in a specific file format (FMF).   This
3465       recording  is  very  fast, and has a moderate size, but you need to use
3466       the fmfconv(1) program in fuse-utils(1) to convert into  regular  video
3467       and/or  audio  files.   The  --movie-compr option allows you to set the
3468       compression level to None, Lossless or High. If zlib(3) is  not  avail‐
3469       able,  only  None is valid. The default when Zlib is available is Loss‐
3470       less.  Recording a movie may slow down  emulation,  if  you  experience
3471       performance problems, you can try to set compression to None.
3472
3473       Fuse records every displayed frame, so by default the recorded file has
3474       about 50 video frame per second. A standard  video  has  about  24–30/s
3475       framerate,  so if you set Options/General/Frame rate 1:n or the equiva‐
3476       lent --rate command line option to 2 than recording frame rate  reduces
3477       about  25/s.  The  exact  frame rate depends on the Z80 clock frequency
3478       which varies depending on the specific emulated machine.
3479
3480       Note: You can see all of the “gfx” effects only if the Fuse frame  rate
3481       option is set to 1, but in most cases you can safely use 2. Also, movie
3482       recording stops if the emulated machine is changed.
3483
3484       The recorded sound sampling rate and the channel number is  equal  with
3485       the  Fuse generated sound sampling rate (44100 Hz by default) and chan‐
3486       nel number (mono by default). The common sampling frequencies in  stan‐
3487       dard  video  files  are  44100 Hz and 48000 Hz. If you use --sound-freq
3488       command line option you can change the frequency.
3489
3490       You can record stereo sound if you use  AY  stereo  separation  or  the
3491       equivalent --separation command line switch.
3492
3493       You  can  use fmfconv(1) to convert recorded movie file into a standard
3494       video file.
3495
3496       Examples
3497
3498       fuse --movie-start output.fmf --rate 2 --sound-freq 44100  --separation
3499       ACB
3500
3501       start video recording about 25/s video frame rate and 44100 Hz sampling
3502       frequency stereo sound default compression level.
3503

COMPRESSED FILES

3505       Assuming the appropriate libraries were available  when  libspectrum(3)
3506       was compiled, snapshots, tape images, dock cartridges and input record‐
3507       ing files (RZX) can  be  read  from  files  compressed  with  bzip2(3),
3508       gzip(3)  or  zip(3) just as if they were uncompressed. In the zip case,
3509       only the first supported file  found  inside  the  archive  is  loaded.
3510       There is currently no support for reading compressed +3, DISCiPLE/+D or
3511       Beta disk images.
3512

BUGS

3514       Selecting a startup filter doesn't work properly with  user  interfaces
3515       other than SDL, Win32 and GTK.
3516
3517       Changing  virtual  consoles  when  using  SVGAlib  for joystick support
3518       causes Fuse to exit. If this  is  a  problem,  compile  Fuse  with  the
3519       `--disable-ui-joystick' option.
3520
3521       The poke finder can't search outside `normal' RAM.
3522
3523       The  libao  file  output devices not work properly with the GTK UI.  No
3524       error reporting, but the created file does not contain any sound  data.
3525       If  you  use a `weak' machine alsa09 makes a lot of clicks and pops and
3526       will output `ALSA: underrun, at least 0ms.'  error messages.
3527

FILES

3529       ~/.fuserc
3530

SEE ALSO

3532       bzip2(3),   fmfconv(1),   fuse-utils(1),    gzip(3),    libspectrum(3),
3533       ogg123(1), xspect(1), xzx(1), zip(3).
3534
3535       The comp.sys.sinclair Spectrum FAQ, at
3536       http://www.worldofspectrum.org/faq/index.html.
3537

AUTHOR

3539       Philip Kendall (philip-fuse@shadowmagic.org.uk).
3540
3541       Matan  Ziv-Av  wrote the SVGAlib and framebuffer UIs, the glib replace‐
3542       ment code, and did some work on the OSS-specific  sound  code  and  the
3543       original widget UI code.
3544
3545       Russell  Marks  wrote  the sound emulation and OSS-specific sound code,
3546       the joystick emulation, some of the printer code, and the original ver‐
3547       sion of this man page.
3548
3549       John  Elliott's  lib765 and libdsk libraries were used for the original
3550       +3 disk and disk image support.
3551
3552       Ian Collier wrote the ZX Printer emulation (for xz80).
3553
3554       Darren Salt wrote the original versions of the code for  +3  emulation,
3555       SLT support, MITSHM support (for the Xlib UI), TZX raw data blocks, RZX
3556       embedded snapshots and compression, the Kempston  mouse  emulation  and
3557       made many improvements to the widget code.
3558
3559       Alexander Yurchenko wrote the OpenBSD/Solaris-specific sound code.
3560
3561       Fredrick  Meunier  wrote  the  TC2048, TS2068, Pentagon and Spectrum SE
3562       support, the CoreAudio sound code, as well as maintaining the OS X port
3563       and importing the graphics filter code.
3564
3565       Ludvig  Strigeus  and  The  ScummVM project wrote the original graphics
3566       filter code.
3567
3568       Dmitry Sanarin wrote the original Beta disk  interface  emulation  (for
3569       Glukalka).
3570
3571       Witold Filipczyk wrote the TC2068 support.
3572
3573       Matthew Westcott wrote the AY logging code and the DivIDE emulation.
3574
3575       Marek  Januszewski  wrote  various bits of code to make Fuse work under
3576       Win32, including the DirectDraw user interface.
3577
3578       Sergio Baldoví made many improvements to the Win32 UI.
3579
3580       Stuart Brady wrote the DISCiPLE and +D  emulation,  Scorpion  emulation
3581       and the HP-UX sound code.
3582
3583       Garry  Lancaster wrote the 8-bit IDE, ZXATASP and ZXCF interface emula‐
3584       tions.
3585
3586       Gergely Szasz wrote the Interface 1, Microdrive  emulation  and  Didak‐
3587       tik 80  emulation, the PAL TV scalers, the TV 3x scaler, the movie log‐
3588       ging code, the ALSA and libao sound code, the  µPD765  disk  controller
3589       used in the +3 and made many improvements to the widget code.
3590
3591       Michael  D  Wynne wrote the original Opus disk interface emulation (for
3592       EightyOne).
3593
3594       Patrik Persson wrote the SpeccyBoot emulation.
3595
3596
3597
3598Version 1.6.0                 27th February, 2021                      fuse(1)
Impressum