-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathreadme.txt
4416 lines (3567 loc) · 199 KB
/
readme.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Using the Fuse emulator
=======================
This port of Fuse to OpenDingux and RetroFW is a compilation of Fuse
1.5.7 for Opendingux/RetroFW with some additions to the SDL UI and
some new options.
So the thanks for this port are for Phillip Kendall and all the Fuse
team. And also to the GCW0/OpenDingux and RetroFW community for all
documentation, development threads, and all opensource ports.
At the end of this doc is the man page of Fuse 1.5.7 for a complete
reference.
------------------------
### Opening the Menu ###
------------------------
You can open the menu with the `Power` or `Select` button.
If `Select` button is mapped to joystick or keyboard then the only
option to open menu will be `Power` button.
---------------------
### Save settings ###
---------------------
By default the emulator don't save settings changes. You can save
settings at any time from menu: `Menu -> Options -> Save`.
You also can activate "Auto-save" to save settings when you exit the
emulator.
|To activate auto-save access to `Menu -> Options -> General` and
|check 'Auto-save settings'.
|Check the option with the `X` button and accept options with the `A`
|button.
|You should exit from Fuse or use the 'Save' option to save the
|changes.
In this port the options are saved into 'fuse.cfg' file in the fuse
config path.
If some option changes prevent to open the emulator delete this file
and try to start again.
The config path is in '$HOME/.fuse' directory. If it does not exist
then Fuse will create it at start.
|$HOME is located in:
| - OpenDingux: '/media/data/local/home'
| - RetroFW: '/home/retrofw'
----------------------------------
### OpenDingux/RetroFW options ###
----------------------------------
For the OpenDingux/RetroFW port some additional options had been added.
Options - General GCW0
----------------------
- Triple Buffer
-------------
Default disabled.
Enable/Disable triple buffer.
BUG: Disabling triple buffer sometimes freeze the screen but
emulator will be still running.
If Hotkey combos are enabled you can enable/disable it with the
`L1` + `R1` + `B` combo.
- Adjust screen refresh rate
--------------------------
Default disabled.
Only for OpenDingux firmware based on kernel 5.10 with DRM/KMS
video driver.
If it is enabled the screen refresh rate is changed to the nearest
refresh rate based in the timings and CPU speed for the chosen
machine model.
Use this option with 'Triple Buffer' enabled to synchronize video and
get smooth animations.
See also 'Dynamic sound rate' option.
If Hotkey combos are enabled you can enable/disable it with the
`L1` + `R1` + `A` combo.
Refresh rates:
- 60Hz for Spectrum 48K NTSC and Timex TS2068 models
- 50Hz for all other models
Some visible examples of smooth animatiosns are the scrolling texts
in the main screen of Dan Dare, Commando, Cannibals from Outer Space
or the Savage's intro load.
CPU clock speed for emulated systems are not exactly 50 or 60 Hz.
The sound samples buffer is linked to the emulated CPU clock model
and this cause audio glitches, see 'Dynamic sound rate' option.
- Dynamic sound rate
------------------
Default disabled.
Only for OpenDingux firmware based on kernel 5.10.
Only take efffect with 'Adjust screen refresh rate' enabled.
Every 10 sound frames the rate used in the Blip buffer is adjusted
based on fill level of the sound sfifo buffer. Blip buffer provides
waveform synthesis and sample buffering, the samples it generates are
pushed to sfifo buffer, where soundcard pull them.
This is based on byuu/Near's article "Dynamic Rate Control". This
implementation control sfifo buffer fill level.
See byuu/Near's article on https://byuu.net/audio/dynamic-rate-control/
- Border
------
Default Full.
Use IPU scaling by reducing screen resolution by removing border pixels.
See next opyion to choose your panel type.
The options are:
- Full 320x240. Actual Fuse's full border emulation.
- Large 304x228. Reduce pixels: 16 width, 12 height.
- Medium 228x216. Reduce pixels: 32 width, 24 heigth.
- Small 272x204. Reduce pixels: 48 width, 36 heigth.
- None 256x192. No border. Reduce pixels: 64 width, 48 heigth.
Filters can affect the display depending on panel resolution.
If Hotkey combos are enabled you can switch between Full and None with
`L1` + `R1` + `A` combo.
Operating Systems and scaling with Border option
- RetroFW 1
Scaling do not work.
- RetroFW 2
Scaling works with all filters and spectrum models.
- OpenDingux
* 320x240 panel (GCW0, RG350, RG350P).
Scaling works with all filters and spectrum models.
* 640x480 panel (RG350M)
Scaling works with all filters and spectrum models.
For 1x filters. Large is using 300x225 resolution and Small 272x208.
In mainline beta firmware with 1x filters Small and Large border
don't work and both use Medium border size. With 2x filters they
both border options work work well.
* 480x320 panel (RG280M)
Scaling works with all filters and spectrum models.
For 1x filters. Large is using 304x224 resolution and Small 272x208.
- Panel type
----------
Default 320x240.
Choose your panel type for correct border display with some filters.
- Show status bar with border
---------------------------
Default enabled.
Show status bar also when border is not Full.
- Show FSP instead of speed percentaje
------------------------------------
Default disbled.
If you want to view FPS instead emulation speed %.
- Filter Known extensions
-----------------------
Default enabled.
Only the supported file extensions will be presented in file
dialogs for save and load operations for known media.
Filter can be enabled/disabled with `Select` button in file
dialogs.
Enable this option can help to avoid overwrite any file type other
than the type pretended to save.
See also 'Confirm overwrite files' option to prevent overwrite
files without advise.
Filters are applied in save dialogs for:
- Save snapshot, Screenshots, Recordings, AY logging, Movie.
- Media types: Tape, Microdrive, Disk (+3, Beta, +D/DISCiPLE,
Didaktik).
- Control mapping files use the '.FCM' extension
(Options -> Joysticks -> Save control mapping to file)
- For profiler saves '.PRF' extension had been chosen in this
port.
No filters are applied for:
- Binary data (File -> Save binary data...)
Filters are applied in load dialogs for:
- Media types: Tape, Disks (+3, Beta, +D/DISCiPLE, Didaktik),
Interface 1, Cartridges.
No filters are applied for:
- Binary data (File -> Load binary data...)
- General open files (File -> Open (or L1 + X hotkey)
Known extesions for media to save:
- Snapshots: .SZX, .Z80 and .SNA
- Tape: .TZX
- Microdrive: .MDR
- +3 Disks: .DSK (only the old CPC format), UDI, FDI
- Beta: .TRD, .SCL, .UDI, .FDI
- Didaktik: .D80, .D40
- Opus: .OPD, .OPU
- +D/Disciple: .IMG, .MGT, .SAD
- Saving screenshots: .SCR, .MLT or .PNG formats.
- In OpenDingux Scalable Vector Graphics: .SVG
- Recordings: .RZX
- Movie files: .FMF
- AY Logging: .PSG
- Control mapping: .FCM
- Profiler: .PRF
If no extension is supplied when enter a name in save dialogs then
the first extension of each media known type will be added to the
name.
- Independent dir access for media type
-------------------------------------
Default disabled.
Each media type dialog will use their own navigation path from the
common inital path.
The common inital path will be:
- If Fuse is loaded selecting a spectrum media file from
GMenu2x/GMenuNx then the loaded program's path..
- If Fuse is loaded withouth file selector:
- The last saved directory if 'Save last directory visited' is
enabled and there is a last directory saved.
- The Fuse's executable path.
- Confirm overwrite files
-----------------------
Default disabled.
Fuse asks for confirmation to overwrite for some media, but not
for all.
This option will ask for confirmation for all overwrites.
It must be convenient to enable it.
- Show hidden files
-----------------
Default disabled.
Show all files and directorys including hidden.
Hidden files begin with .
- Hotkey combos
-------------
Default disabled.
If you want to quick access some functions. See section Hotkey
combinations for details.
- Save last directory visited
---------------------------
Default disabled.
The last visited directory will be saved to use as initial path.
This will be used if Fuse is loaded without file selector.
- GCW0 keyboard: Map LStick to DPad
---------------------------------
Default enabled.
With this option enabled and if GCW0 keyboard mapping is enabled and no
Joystick is mapped then left stick moves are mapped as directional pad
buttons, so they will be use the mapped dpad for GCW0 keyboard.
Options - Media
---------------
- Auto-load media with custom roms:
---------------------------------
Default disabled.
If Machine ROM has been changed the rom files used are not in roms
paths or do not have default names then they will be considered
custom roms and no autoload for media types will be used.
With this option enabled the auto-load will be used despite custom
roms are used.
This will be helpful if different version or language official
ROMS are used and they are not in roms path or not have the
default fuse rom names.
See ROMS section for more details.
------------------------
### Virtual Keyboard ###
------------------------
Press the `Start` button to open a Virtual Keyboard when you are in
emulator.
The keys in keyboard correspond to ZX Spectrum 48k keys.
When you press them are send to emulator as if you are using a real
ZX Spectrum keyboard.
`Cursor` Move to select keys.
`A` Press selected key.
`B` Lock key. It's marked in blue.
The locked keys are used when press the `A` button over
a Key and then are unlocked.
For use in combinations of Caps Shift or Symbol Shift
with other keys.
For example: In 48k mode you can Lock key "Ss" and then
press 'Cs' key to change keyboard to "Extended" mode.
`X` Sticky key. It's marked in Red.
The key is continously pressed.
For example: In 48k mode you can press key 'J' then
Sticky key 'Ss' and then press twice key 'P' to obtain
'LOAD ""'.
`Y` Clean all Lock and Sticky keys.
`Start` Close Virtual Keyboard
`L1`, `R1` Change the Virtual Keyboard position.
There are 4 positions, one for earch corner of screen.
-------------------------------------
### Buttons in different contexts ###
-------------------------------------
=>Some machines don't have Sticks or `L2`, `R2` buttons.
Buttons in emulator:
--------------------
The buttons function detailed are when no mapping is assigned.
`Cursor` Shifted cursor ZX Spectrum keys (5, 6, 7 and 8 keys)
This is modified with "Use shift with arrow keys" option
`A`, `B` Symbol Shift
`Y` CAPS Shift
`X` Space
`Select`, `Power`
Open Menu
`Start` Open/Close the virtual keyboard
`L1` If hotkey combos disabled: Nothing
If hotkey combos enabled: Start a hotkey combo
`R1` If hotkey combos disabled: Caps Shith + 0 (DELETE)
If hotkey combos enabled: Start a hotkey combo
`Left Stick`
Nothing.
On some systems you can map it as cursor
`Right Stick`
Nothing.
On some systems you can enable an emulated mouse that
uses the right stick to move the mouse
In Fuse you can use it as Kempston mouse
|In RG350 you can enable it with `Power`+`B` hotkey
`L2` Nothing.
Left click with mouse emulation enabled
`R2` Nothing.
Right click with mouse emulation enabled
Buttons in Menu:
----------------
These are no dependent of button mapping.
`Cursor`, `Left Stick`
Move
`A` Select the option or accept the options at form
`B` Cancel and go back to previous menu or to the emulator
if there is no previous menu
`X` At different contexts:
- Mark/Unmark for check options.
Example: General options -> Auto-save settings
- Open list of options for list options.
Example: Sound options -> AY stereo separation
- It open 'enter name' dialog for file save dialogs.
`Y` At save dialogs save with the default name and type.
Default name will be the name of the last loaded file
name with its extension changed to default extension of
media to save.
`Select` Enable/Disable filters in file dialogs if option
`Filter known extensions` option is enabled.
Cancel and exit completely from any level of menu to the
emulator
`L1` Go to the first menu option
`R1` Go to the last menu option
`L2` In file selector go to the first entry in the current
directory
`R2` In file selector go to the last entry in the current
directory
`Start`, `L2`, `R3`, `Right Stick`
Nothing
#### Maintain options ####
--------------------------
Some menu options open a form with options to check/uncheck or choose
an option from a list.
- To check/uncheck options use `X` button.
- To confirm changes in form use the `A` button.
- To cancel changes in form use the `B` or `Power` buttons.
Some examples of forms are General, Media and Sound.
#### Virtual keyboard in menu options ####
------------------------------------------
In some menu options the virtual keyboard is presented to allow to use
different options presented or enter values.
Examples where the virtual keyboard it's appearing are: 'Enter name'
for save dialogs, Debugger, Poke Finder, Poke Memory.
`Cursor` Move to select keys
`A` Press the selected key
`X` Change the keyboard mode between upper and lower case and
some additional characters
`Y` Delete previous character
`B` Cancel and exit to previous option in menu
Confirm input
To confirm the input press 'En' key at virtual Keyboard
|For the 'Enter the name' in save dialogs the last loaded filename
without the extension is proposed.
------------------------------------------------
### Mapping buttons to Joysticks or Keyboard ###
------------------------------------------------
You can map handheld buttons to Joysticks or Spectrum keys in
`Menu -> Options -> Joysticks`
==== GCW0 Joystick 1 ====
This option allows to emulate a ZX Spectrum joystick with the handheld
buttons. It also allows you to assign keyboard keys to buttons
- Type: Choose the Joystick to emulate or None. Default is None.
- Button mapping: Map the handheld buttons to Joystick fire,
ZX Spectrum keys or to Nothing.
Some type of Joysticks may require other emulator options enabled.
|For example for Kempston joystick emulation need enabled
|'Kempston joystick' in `Menu -> Options -> Peripherals -> General`.
By default all buttons are mapped to Joystick fire.
==== GCW0 Keyboard ====
This option allows to map handheld buttons to ZX Spectrum keys.
The cursors also can be mapped.
- Type: Choose Activated or None. Default is None.
- Button mapping: Map buttons to ZX Spectrum keys or Nothing.
By default all buttons are mapped to Nothing.
--------------------------
When both mappings, "GCW0 Joystick 1" and "GCW0 Keyboard", are enabled
at the same time only "GCW0 Joystick 1" will work.
When you choose any 'Type' other than "None" in "GCW0 Joystick 1" or
"GCW0 Keyboard", some buttons may lose their original functionality if
they are mapped to joystick fire or to keyboard keys:
- `Select`, `Start`, `L1` and `R1` buttons have functionanility
that may be lost.
- If you have mapped the `Select` button, you can still access the
menu with the` Power` button.
----------------------------------------------
### Control mapping per game configuration ###
----------------------------------------------
To have control gaming configuration per game you must activate it in
the menu 'Options -> Joysticks -> Control mapping'.
Files for save control mapping:
- The configuration files per game are saved in 'mappings' directory
in fuse config path ($HOME/.fuse/mappings).
- They have extension '.fcm' (fcm is for Fuse Control Mapping).
- The options saved are the 'Types' and buttons mappings for
GCW0 Joystick 1, Joystick 2, Keyboard and GCW0 Keyboard.
- The format of the file is the same used for the general settings:
XML for OpenDingux or plain text for RetroFW.
- By default for the control mapping filenames will be tried to
detect some patterns on name to cut them off:
- All the denominations between '()' or '[]'
- 'Tape', 'Disk', 'Side' for 'ABCD' or '1234', 'Part 1234 of 1234'
- The '128k', '48k' out of '()' '[]'
- The 'Small, Medium, Large' whatever 'Case'
(The search of patterns are case insensitive)
The supported media for auto-load control mapping files are tapes,
microdrives, snapshots, disks (not IDE), rom cartridges and
Timex cartridges.
See PITFALLs at the end of this section.
Options:
- Control mapping per game:
-------------------------
Default disabled.
Enable the save and load of control mappings per game for
supported media: tapes, snapshots, disks (not IDE),
rom cartridges, Timex cartridges.
If you disable it:
- If defaults are detached they are saved and restored as
current defaults.
- If changes were made to controls those changes are saved to
correponding control mapping file.
If you enable it:
- If defaults are detached they are loaded.
- If you do after you have load any supported media the emulator
try to initialize control mapping for that media.
- Auto-load:
----------
Default enabled.
Only take effect if 'Control mapping per game' is enabled.
If enabled the autoload of control mapping files associated to the
file loaded.
This apply for supported media when are loaded from 'File -> Open'
or inserted from the 'Media' menu.
- Auto-save:
----------
Default enabled.
Only take effect if 'Control mapping per game' is enabled.
If controls mapping has changed then the autosave will be at this
events:
- Load another media
- Clear or eject the media in the file at 'Media' menu
- Disabling 'Control mapping per game'
- Exit the emulator
- Not detached defaults:
----------------------
Default disabled.
Only take effect if 'Control mapping per game' is enabled.
If this option is enabled you can't maintain separated default
controls.
The default controls are used:
- At start of Fuse, if no media is autoload or no control
mapping autoload is enable
- When you insert a media with not yet control mapping
configuration
- When you clear or eject a media
- No cut/transform filenames:
---------------------------
Default disabled.
Only take effect if 'Control mapping per game' is enabled.
With this option enabled the filename for mapping control will be
the same of the file loaded replacing the extension by '.fmc'.
With this option disabled the control mapping filename follow the
rules indicated above.
- Enable Kempston Joystick if needed:
-----------------------------------
Default enabled.
Only take effect if 'Control mapping per game' is enabled.
If control mapping to load have assigned Kempston Joystick in
GCW0 Joystick 1, Joystick 2 or Keyboard and 'Kempston Joystick'
option is not enabled in Peripherals -> General then it will be
enabled.
When load a program if the control mapping file not exist yet but
default controls have assigned Kempston Joystick in GCW0
Joystick 1, Joystick 2 or Keyboard then the same logic is applied.
NOTE: Custom control mapping is not intended to manage hardware
attached to machine, only control mappings.
But enabling/disabling Kempston Joystick without reset machine is
supported by Fuse.
Other peripherlas as Fuller Box need to reset the machine and this
is not viable to manage in control mapping.
When you exit from Fuse and have General Auto-save setting enabled
then default control mapping will be saved at general file.
Other options in Joystick menu for Control mapping:
- Load control mapping:
---------------------
Enabled if 'Control mapping per game' is enabled.
When a control mapping file exists for the last media loaded then
it's name will be printed here, only the first 20 characters of
name.
This option allows to restore controls mapping from configuration
file if changes have been made to them.
- Save control mapping:
---------------------
Enabled if 'Control mapping per game' is enabled.
If supported media is inserted then the name of control mapping
file will be printed here, only the first 20 characters of name.
This allow you to save the current control mapping if changes have
been made to them or if the file does not exist yet.
If Auto-save of control mapping is active the save will be at
designed events, see 'Auto-save' options. You can force the save
with this option.
- Load control mapping from file:
-------------------------------
Allways enabled.
This option allow you to load a control mapping file to change the
current control mappings.
- Save control mapping from file:
-------------------------------
Allways enabled.
This option allows you to save a control mapping file with the
current control mappings.
- Default control mapping:
------------------------
Enabled when 'Control mapping per game' is enabled and
'Not detached defaults' is disabled.
Submenu to maintain default control mapping.
- Reset to default controls:
--------------------------
Enabled when 'Control mapping per game' is enabled and
'Not detached defaults' is disabled.
Reset the current controls to default control mapping.
- Set current as default:
-----------------------
Enabled when 'Control mapping per game' is enabled and
'Not detached defaults' is disabled.
Set the current controls as the default control mapping.
PITFALLS:
Variants of the same program:
If 'No cut/transform filenames' is disabled (default) the emulator
try to clean the name of filename to make it equal name for
variations.
But if the filenames used are no consistent, including letter
case, then a different name for the same program may be determined.
When insert various media the last inserted will be the selected
control mapping.
- If you unload it then it will be cleared and you could start a
game from other media inserted with no file control mapping.
- If you start from Loader the system can load from media
different to the last assigned control mapping file.
Example:
1.- Select +3 machine
2.- Open media menu and insert a disk
3.- Open media menu and insert a tape
4.- The control mapping file will be the last tape inserted
5.- Open media menu and clear tape
6.- Now there is not control mapping file assigned but you can
load a program from disk
Bugs aside, probably there are other scenarios not taken into
account but I believe that the most relevant use cases are covered.
-------------------------
### External joystick ###
-------------------------
On some handhelds it is possible to connect an external Joystick using
USB OTG. The mapping of 'Joystick 2' will be applied to it.
For controllers the number of each button in mapping depends on the
controller layout.
=>Fuse count buttons from 1 not from 0, so add 1 to translate your
layout into Fuse's config.
|On my RG350 I've tested this with an 8Bitdo FC30 Pro controller.
|The mapping layout:
|A=1, B=2, X=4, Y=5, L1=7, R1=8, L2=9, R2=10, Select=11, Start=12,
|L3=14, R3=15.
|From SDL Game controller DB
(https://github.com/gabomdq/SDL_GameControllerDB/blob/master/gamecontrollerdb.txt)
"03000000c82d00001038000000000000,8BitDo FC30 Pro,
a:b0,b:b1,back:b10,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,
leftshoulder:b6,leftstick:b13,lefttrigger:b8,leftx:a0,lefty:a1,
rightshoulder:b7,rightstick:b14,righttrigger:b9,
rightx:a3,righty:a4,start:b11,x:b3,y:b4,
hint:SDL_GAMECONTROLLER_USE_BUTTON_LABELS:=1,"
-------------------------
### External keyboard ###
-------------------------
I don't have tested a Keyboard on USB OTG but in theory it should work.
But keep in mind that current adaptations made for handhelds buttons
have probably made it unusable.
The handheld buttons are keystrokes that have conflict with some keys
used for SDL menus.
----------------------
### Kempston mouse ###
----------------------
In some handhelds you can emulate mouse with the Right stick and
`L2`, `R2` buttons.
This make possible emulating the Kempston mouse.
You must enable 'Kempston mouse' in the peripherals:
`Menu -> Options -> Peripherals -> General`, and enable the mouse
emulation in the handheld.
|In the RG350 you can activate the mouse with hotkey `Power` + `B`.
---------------------
### Triple Buffer ###
---------------------
There is an implementation to use the triple buffer. It can be enabled
at 'General GCW0' options or whith combo hotkeys 'L1' + 'R1' + 'B'.
If tripple buffer is activated then an [B] will be at status line.
It affects to the speed of emulator that can be observed in the speed
for fastloading.
In general I believe that is not needed, but I've seen diference
activating it on some demos for Pentagon's models as "mescaline
synesthesia by deMarche".
BUG: At disabling triple buffer sometimes the screen will be frozen
but the emulator still will be running .
This is surely motivated by some mistake on my code or for
missunderestanding triple buffer by my side.
---------------------------
### Hotkey combinations ###
---------------------------
For use hotkey combos they must be enabled in
'Menu -> Options -> General GCW0'.
If `L1` and `R1` buttons are not mapped to Joystick or Keyboard it
will be used to start the hotkey combinations.
The implemented hotkeys correspond to Fx key functions in Fuse's SDL
implementation:
L1 + R1 + A Switch between Full and None border
L1 + R1 + B Toggle triple buffer
L1 + R1 + X JoystickS
L1 + Select + Y Tape play (F8)
L1 + A Tape open (F7)
L1 + B Save file (F2)
L1 + X Open file (F3)
L1 + Y Media menu
R1 + A General options (F4)
R1 + B Reset machine (F5)
R1 + X Exit fuse (F10)
R1 + Y Machine select (F9)
---------------------
### Media options ###
---------------------
If you have problems loading some programs keep in mind the
compatibility issues of software with the model emulated.
Also some options in 'Media' options can influence to some loaders as
'Accelerate loaders'. Try enabling/disabling different otions.
------------
### ROMs ###
------------
Fuse provides roms for some systems and peripherals it emulate but not
for all models or peripherals that it support.
You can assign new roms or change the defaults from the emulator
itself:
- Open menu with `Select` or `Power` button.
- Then navigate from Menu --> Options -> Select Roms -> Machine ROMs
or Peripheral ROMs
- With `cursor` select the rom to change and press `X` button
- At file selector use the `cursor` keys to navigate to folder where
your roms are located and to select the needed rom. And press the
`A` button to confirm selection.
- Repeat until all the needed ROMs are assigned.
- Finally do accept all pressing the `A` button.
You can reset a rom to default with the `Y` button.
NOTE:
The emulator detect your rom as custom if they not have the name
expected, including the path.
This affect to auto-load media (tapes, disks). In standard Fuse
compilation cutoms roms don't autoload.
The option "Auto-load media with custom rom" in General options
(default False) auto-load also with custom roms.
Also roms con be added to the 'rom' directory in Fuse config path.
Fuse search in this path for rom files with the default names.
Fuse config path is located in "$HOME/.fuse/roms":
For OpenDingux "/media/data/local/home/.fuse/roms"
For RetroFW "/home/retrofw/.fuse/roms"
|Fuse will create the config paths at starting if they don't exist.
ROMs included with fuse:
48k
128k
+2
+2A
+3
+3e
Spectrum SE
Timex TC2048, TC2068 and TS2068
DISCiPLE and +D
SpeccyBoot
ROMs non included:
Pentagon 128k, 512k and 1024k
Scorpion ZS 256
Interface 1
Beta 128
Didaktik 80
Multiface One, 128, 3
Opus Discovery
uSource
Default file names expected by fuse for non included roms:
128p-0.rom
128p-1.rom
256s-0.rom
256s-1.rom
256s-2.rom
256s-3.rom
didaktik80.rom
gluck.rom
if1-2.rom
mf1.rom
mf128.rom
mf3.rom
opus.rom
trdos.rom
usource.rom
================================================================================
fuse(1) Emulators fuse(1)
NAME
fuse -- Sinclair ZX Spectrum emulator
SYNOPSIS
fuse [options]
DESCRIPTION
Fuse is a Sinclair ZX Spectrum emulator. It supports several models
(including the 128), with quite faithful emulation of the display and
sound.
The emulator can load any of the formats supported by libspectrum(3) --
this includes Z80, SNA and SZX snapshots, and PZX, TAP and TZX virtual-
tape files. Saving to SZX, Z80 and SNA snapshots and TZX and TAP tape
files is supported. The SLT extension to the Z80 format is partly sup-
ported (enough for multi-load games); however, loading of the old DAT-
file variant is not.
DSK, UDI, FDI, TD0, MGT, IMG, D40, D80, SAD, TRD, SCL and OPD disk
images are supported when a disk interface is being emulated, including
the integrated disk drives on +3, Pentagon or Scorpion machines as well
as the +D, DISCiPLE, Opus Discovery, Beta 128 and Didaktik 80 inter-
faces. DCK cartridge images are supported when emulating a Timex 2068
variant. Interface 2 ROM cartridges are also supported.
Finally, there is also support for reading and writing the RZX input
recording format.
See the COMPRESSED FILES section for details on reading files com-
pressed with bzip2(3), gzip(3) or zip(3).
OPTIONS
--accelerate-loader
Specify whether Fuse should attempt to accelerate tape loaders
by "short circuiting" the loading loop. This will in general
speed up loading, but may cause some loaders to fail. (Enabled
by default, but you can use `--no-accelerate-loader' to dis-
able). The same as the Media Options dialog's Accelerate loaders
option.
--aspect-hint
Specify whether the GTK+ and Xlib user interfaces should `hint'
to the window manager about the preferred aspect ratio for the
graphics window, thus preventing resizing to non-square sizes
which lead to Fuse not displaying correctly. This option has
been observed to cause problems with some window managers when
using the GTK+ UI which can prevent the window from being
resized or moved at all. (Enabled by default, but you can use
`--no-aspect-hint' to disable). See also the
`--strict-aspect-hint' option.
--autosave-settings
Specify whether Fuse's current settings should be automatically
saved on exit. The same as the General Options dialog's Auto-
save settings option.
--auto-load
Specify whether tape and disk files should be automatically
loaded when they are opened using the File, Open... menu
option. In the case of TRD/SCL disk images, inserts also a boot
loader file when none is available. (Enabled by default, but you
can use `--no-auto-load' to disable). Same as the Media Options
dialog's Auto-load media option.
--beta128
Emulate a Beta 128 interface. Same as the Disk Peripherals
Options dialog's Beta 128 interface option.
--beta128-48boot
When a Beta 128 interface is used in 48K or TC2048 emulation the
option additionally controls whether the machine boots directly
into the TR-DOS system. Same as the Disk Peripherals Options
dialog's Beta 128 auto-boot in 48K machines option.
--betadisk file
Insert the specified file into the emulated Beta disk inter-
face's drive A: and select Pentagon mode on startup.
--bw-tv
Specify whether the display should simulate a colour or black
and white television. This option is effective under the GTK+,
Win32, Xlib and SDL user interfaces: the others will always sim-
ulate a colour TV. The same as the General Options dialog's
Black and white TV option.
--cmos-z80
This option specifies that Fuse should emulate a CMOS Z80, as
opposed to an NMOS Z80. Same as the General Options dialog's Z80
is CMOS option.
--competition-code code
Specify the code to be written to competition mode RZX files.
The same as the RZX Options dialog's Competition code option.