Fuse 1.4.0 released

A new release of Fuse, the Free Unix Spectrum Emulator, is now available at the SourceForge project:

https://sourceforge.net/projects/fuse-emulator/

Highlights of this release include:
  • Add DivMMC emulation
  • Add ZXMMC emulation
  • Add support for MLT format screenshots

Many thanks to everyone who's contributed to this release. Source code and binaries for Windows are currenly available on the SourceForge site; compiled binaries for various other platforms should become available in the next few days.
«1

Comments

  • Thank you!
    Creator of ZXDB, BIFROST/NIRVANA, ZX7/RCS, etc. I don't frequent this forum anymore, please look for me elsewhere.
  • Thanks @Fred!
    Robin Verhagen-Guest
    SevenFFF / Threetwosevensixseven / colonel32
    NXtel NXTP ESP Update ESP Reset CSpect Plugins
  • Thanks for this!
  • edited September 2017
    Very nice. Thank you! Fuse just gets better and better.

    I'm going to have to bite the bullet and learn how to build from source. I use Windows and Linux, and the Linux versions provided by the distributions are always behind (even the latest Debian stable is still on 1.3 or similar), and it also takes the nice people who provide built versions for popular distributions a few weeks to catch up.
    Post edited by jonesypeter on
  • Hmmm... Trying to use Pentagon, put the rom into directory, but Fuse reports that 16kb file is expected.
    I checked russian emulators EmuzWin and Unreal Speccy - both have 32kb roms for Pentagon.
    What I'm doing wrong?
    Heavy on the disasm
  • edited September 2017
    Hmm. Mine works fine. Did you update Fuse or install in a freshly new directory? All ROM-Files in my roms-Directory are maximum size 16k - seems to me Pentagon-ROMs are splitted into 16k-Parts under Fuse (see Menu Options / Select ROMs / Pentagon)? Did you delete fuse.cfg to "reset Fuse" before use?
    Post edited by Luzie on
  • edited September 2017
    I still use the roms of version fuse-1.0.0.1
    The roms are used again and again ;)
    Post edited by Spezzi63 on
  • fuse uses separate 16k files for all ROM banks, so you need to take your 32k ROM image and split it into a 128p-0.rom and 128p-1.rom. I load the file in a hex editor and export the two halves (0000-3FFF and 4000-7FFF) to separate files that way.
    My rubbish website including the redrawn Amstrad schematics and the new home of the Sinclair FAQ wiki.
  • Luzie wrote: »
    Hmm. Mine works fine. Did you update Fuse or install in a freshly new directory? All ROM-Files in my roms-Directory are maximum size 16k - seems to me Pentagon-ROMs are splitted into 16k-Parts under Fuse (see Menu Options / Select ROMs / Pentagon)? Did you delete fuse.cfg to "reset Fuse" before use?

    I had version 1.1, and installed 1.4 then I run emulator, and tried to switch machine. It cried that there is no rom 128p-0.rom, and when I copied pentagon.rom from another emulator, and renamed to 128p-0.rom, it cried about size.
    Then I just took 128-0.rom and copied it to 128p-0.rom, and 128-1.rom to 128p-1.rom
    It kind of works now, but I'm afraid it was not correct way.

    Heavy on the disasm
  • guesser wrote: »
    fuse uses separate 16k files for all ROM banks, so you need to take your 32k ROM image and split it into a 128p-0.rom and 128p-1.rom. I load the file in a hex editor and export the two halves (0000-3FFF and 4000-7FFF) to separate files that way.

    But why there is no correct roms provided by default after install? :/
    And there is no fuse.cfg found on C: drive :\
    Heavy on the disasm
  • edited September 2017
    Bedazzle wrote: »
    But why there is no correct roms provided by default after install? :/
    Pentagon ROMs aren't included in the install because it's not legal for Fuse to distribute them.
    Bedazzle wrote: »
    And there is no fuse.cfg found on C: drive :\
    fuse.cfg should be located in %userprofile%\fuse.cfg. If no file is present it will be created the first time you do Options->Save
    If you have a fuse.cfg file and fuse is unable to open it that means that either the file is in plain text format and fuse is compiled to use an xml config file, or vice versa.
    Post edited by guesser on
    My rubbish website including the redrawn Amstrad schematics and the new home of the Sinclair FAQ wiki.
  • guesser wrote: »
    fuse.cfg should be located in %userprofile%\fuse.cfg. If no file is present it will be created the first time you do Options->Save
    If you have a fuse.cfg file and fuse is unable to open it that means that either the file is in plain text format and fuse is compiled to use an xml config file, or vice versa.

    There is no file, seems, I never saved config. Is it criminal? :) :) :)
    Heavy on the disasm
  • guesser wrote: »
    Pentagon ROMs aren't included in the install because it's not legal for Fuse to distribute them.

    Nobody asked, nobody cares, or is it proshibited by Amstrad to distribute russian roms?

    Heavy on the disasm
  • Bedazzle wrote: »
    guesser wrote: »
    Pentagon ROMs aren't included in the install because it's not legal for Fuse to distribute them.

    Nobody asked, nobody cares, or is it proshibited by Amstrad to distribute russian roms?

    Haven't you heard? Imaginary profits is srs bsns.

    (Well, typical open source license-games in a nutshell. 'How to make life harder for your userbase for no particular reason')
  • Fuse only distributes code for which it has a license, which includes the Sinclair/Amstrad ROMs, this is nothing to do with being open source, the same would be true whatever license Phil had used.

    Not distributing copyrighted OS ROMs is normal behaviour for most emulators. The Spectrum is unusual in that the original OS ROMs can be legally distributed at all. For many systems you have to obtain ROMs separately from warez sites because emulator authors can't legally include them.
    My rubbish website including the redrawn Amstrad schematics and the new home of the Sinclair FAQ wiki.
  • guesser wrote: »
    Fuse only distributes code for which it has a license, which includes the Sinclair/Amstrad ROMs, this is nothing to do with being open source, the same would be true whatever license Phil had used.

    Well, there is normally a correlation of sorts :))

    (Not that I think this is the kind of issue worth mentioning on its own in this case mind, seeing as there's a whole different order of problems associated with it. A shame really, it's otherwise a great emulator with certain unique features such as Spectranet emulation)
  • I just compiled Fuse 1.4.0 on Retropie (Raspbian Jessie) and works great on Raspberry Pi. \:D/
    btw, Retropie uses sdl version and i'd like to know, how to save multicolor screenshots in MLT format?
  • Choose file-screenshot-save screen as mlt
  • Fred wrote: »
    Choose file-screenshot-save screen as mlt

    Hi @Fred, just a small bug when you try and open an .MLT screen via the menu, .mlt is not in the list of supported file types, so you have to change to 'all files'.
  • Hi @jonseypeter, I assume you are using GTK+ or Win32 UI? Thanks for the report, should be sorted for the next release!
  • Hi @Fred, yes Win32. Thanks.
  • guesser wrote: »
    Pentagon ROMs aren't included in the install because it's not legal for Fuse to distribute them.

    I've been trying to run some trds and emulated russian clones keep on failing. It would be helpful to add a note on the manual with the hashes of known working sets.

    Thanks.

    I was there, too
    An' you know what they said?
    Well, some of it was true!
  • ZupZup
    edited September 2017
    So I've received some ROMs to test and tested them...

    My experiments with fuse 1.0.0.1 included roms are following (I include md5 hashes of every ROM):

    Scorpion:
    b9fda5b6a747ff037365b0e2d8c4379a *256s-0.rom
    643861ad34831b255bf2eb64e8b6ecb8 *256s-1.rom
    d8ad507b1c915a9acfe0d73957082926 *256s-2.rom
    ce0723f9bc02f4948c15d3b3230ae831 *256s-3.rom
    

    Seems to boot into 48k, but sometimes it hangs at boot (with colour squares, or cycling colours on the border). When I do a RUN, CAT or LIST it performs like a normal 48K.

    Do I need to run that USR thing before using TRDOS?

    EDIT: According to this page, I'm using the right ones, but I don't know why it doesn't work.

    Pentagon 128, 512 and 1024:
    a249565f03b98d004ee7f019570069cd *128p-0.rom
    6e09e5d3c4aef166601669feaaadc01c *128p-1.rom
    d5869034604dbfd2c1d54170e874fd0a *gluck.rom
    0da70a5d2a0e733398e005b96b7e4ba6 *trdos.rom
    

    Pentagon 128 and 512 goes into menu, but it reboots when selecting TR-DOS. Pentagon 1024k does not work (it locks with black border and the previous screen content).

    EDIT: The 128p-0.rom and 128p-1.rom seems to be right, but I haven't found valid hashes for gluck.rom and trdos.rom.
    Post edited by Zup on
    I was there, too
    An' you know what they said?
    Well, some of it was true!
    Thanked by 1hikoki
  • There is nothing incompatible with the ROMs you are using - maybe you've selected some incompatible hardware? Try saving a copy of your preferences file somewhere, then deleting it to reset all your settings to defaults and give us step-by-step details about what you are trying?
  • edited September 2017
    Hi @zup My ROMs have the same hashes as those you managed to get hold of, and it works fine on my version of FUSE. I'm on the Windows build 1.4.0. Maybe as @Fred suggests delete all your preferences and try again.

    Apologies if you know already but FUSE saves its config file in:

    C:\Users\User Name

    So mine is in 'C:\Users\Peter' and its a file called 'fuse.cfg'

    PS - I don't use 'gluck.rom' I don't even know what that is, but when I choose TR-DOS from the menu I get:

    trdos.png
    Post edited by jonesypeter on
  • ZupZup
    edited September 2017
    After erasing the preferences it seems to work. Can I use different settings for every machine? In ZXSpin I can load configurations from the menu; on other emulators like pcem or dosbox I can use a switch on the command line to load a config file. I've been looking into fuse.html, but I can't find that option.

    The goal is having "clean" config files so when I switch between machines I won't get again those lock-ups.

    Also, it would be useful to have a shortcut to speed-up emulation. In ZX-Spin you can press F1 to accelerate boring intros, and then press again F1 to get normal speed.
    Post edited by Zup on
    I was there, too
    An' you know what they said?
    Well, some of it was true!
  • edited September 2017
    Morning @Zup

    It's quite long winded but I have a number of config files in a subdirectory then copy which one I want over to users\peter using a Windows Batch file which also starts FUSE.

    I'm in the hairdressers! So not able to access my PC, but I'm sure there is a menu option to speed up emulation.
    Post edited by jonesypeter on
  • The expected way to save your particular setup for a machine is by saving a szx snapshot - could you try that and let us know how you go?
  • edited October 2017
    For anybody interested, I document below the steps I followed to compile libspectrum and fuse-1.4.0 from source on the Raspberry Pi. This has been tested on the Pi Zero, and the Raspberry Pi 3. I'm not an expert on building from source, but this worked for me: (Type or copy each of these commands from the command line). The 'make' process takes a long time especially on a Pi Zero.
    sudo apt-get update
    sudo apt-get install debhelper libglib2.0-dev zlib1g-dev libbz2-dev libgcrypt20-dev libaudiofile-dev dh-autoreconf
    sudo apt-get install zlib1g zlibc libpng-dev libpng-tools libpng12-0 libxml2-dev
    sudo apt-get install libgcrypt11-dev libglib2.0-dev libgtk-3-dev
    sudo apt-get install libasound2-dev libaudiofile-dev
    cd Downloads
    https://downloads.sourceforge.net/project/fuse-emulator/libspectrum/1.4.0/libspectrum-1.4.0.tar.gz
    tar -xzvf libspectrum-1.4.0.tar.gz
    rm libspectrum-1.4.0.tar.gz
    cd libspectrum-1.4.0
    ./configure
    make
    sudo make install
    sudo ldconfig
    cd..
    wget https://sourceforge.net/projects/fuse-emulator/files/fuse/1.4.0/fuse-1.4.0.tar.gz
    tar -xzvf fuse-1.4.0.tar.gz
    rm fuse-1.4.0.tar.gz
    cd fuse-1.4.0
    ./configure
    make
    sudo make install
    

    Finally, run 'fuse' to start the emulator
    Post edited by jonesypeter on
    Thanked by 1Luzie
  • edited October 2017
    Hi, which config do you load with "ldconfig"

    guess i found it:
    "... It is important to run ldconfig after any changes in system libraries to be sure that the cache is up-to-date."
    Post edited by Crisis on
    my old website http://home.hccnet.nl/c.born/ has changed to http://www.cborn.nl/zxfiles/ so just click it and select a file
Sign In or Register to comment.