Fuse 1.5.3 released

Struggling with Fuse or trying to find an emulator with a specific feature. Ask your questions here.
User avatar
druellan
Dynamite Dan
Posts: 1466
Joined: Tue Apr 03, 2018 7:19 pm

Re: Fuse 1.5.3 released

Post by druellan »

serbalgi wrote: Sun May 06, 2018 10:51 pm I'd say the main part is working. From the Fuse's manual:
Fuse supports emulating the DISCiPLE disk and printer interface, although it does not currently support emulation of the Sinclair Network, or support emulation of a DISCiPLE attached to a 128K machine [...]
Yeah, is not working on 128k and does not honor the drive setup for quite some time now, that's why I was wondering if the developer has abandoned the support.
Nomad
Manic Miner
Posts: 600
Joined: Thu Dec 28, 2017 12:38 pm

Re: Fuse 1.5.3 released

Post by Nomad »

MrPixel wrote: Sun May 06, 2018 11:17 pm did it add support for QL emulation? zx80,81 and compatibles? what about the clones?
QL was a Motorola 68008, I wouldn't expect that to be emulated by fuse any time soon. There is another question - if you add support for these new systems like z80, z81. Who is going to continue the development after the initial excitement is over and the new guy who said yes to supporting the system leaves? It will fall to the original devs who already have a ton of work just trying to support the existing systems on offer to take on this extra work. Who does that benefit? you end up with a partially supported system, angry/dissapointed users and you already said you would expand the scope of the emulator by then.. You can understand why they would avoid taking on more work even if the system was z80 based.
User avatar
stefrobb
Drutt
Posts: 10
Joined: Sun Nov 19, 2017 9:43 pm

Re: Fuse 1.5.3 released

Post by stefrobb »

PeterJ wrote: Sun May 06, 2018 6:01 pm @stefrobb which Antivirus are you using? I know it's not the best, but I just use Microsoft Defender. I'm lucky enough to have an actual Soectranet and did have to open the appropriate ports on my BT router when I used that.
I'm using MS Security Essentials, but I don't really think it's that. I really have poked about in the registry and system files in ways that I probably shouldn't have over the years—that's probably left a mark! It's a shame that Fuse fails on this test when there's no Spectranet present, it should at least start. The failure, or otherwise, of this test should only really be an issue if you do have a Spectranet, but as it stands the test prevents me from using Fuse at all.
serbalgi
Drutt
Posts: 27
Joined: Sat Jan 06, 2018 11:13 am

Re: Fuse 1.5.3 released

Post by serbalgi »

druellan wrote: Sun May 06, 2018 11:48 pm Yeah, is not working on 128k and does not honor the drive setup for quite some time now, that's why I was wondering if the developer has abandoned the support.
Original developer isn't active these days and there was an unknown behaviour on actual 128k, so development hasn't progressed in this area.

Please, could you give more details about the drive setup issue? I don't understand what's going on.
serbalgi
Drutt
Posts: 27
Joined: Sat Jan 06, 2018 11:13 am

Re: Fuse 1.5.3 released

Post by serbalgi »

stefrobb wrote: Mon May 07, 2018 7:01 am I'm using MS Security Essentials, but I don't really think it's that. I really have poked about in the registry and system files in ways that I probably shouldn't have over the years—that's probably left a mark! It's a shame that Fuse fails on this test when there's no Spectranet present, it should at least start. The failure, or otherwise, of this test should only really be an issue if you do have a Spectranet, but as it stands the test prevents me from using Fuse at all.
Agreed. Unfortunately Fuse for Windows doesn't know if Spectranet will be enabled later in the session and really bad things will happen if a firewall is blocking Fuse, so the less bad scenario is refusing to start on a restrictive environment. I'll give another go to this issue.
serbalgi
Drutt
Posts: 27
Joined: Sat Jan 06, 2018 11:13 am

Re: Fuse 1.5.3 released

Post by serbalgi »

MrPixel wrote: Sun May 06, 2018 11:17 pm did it add support for QL emulation? zx80,81 and compatibles? what about the clones?
I think Fuse team prefer to focus on spectrum families, but would be happy if anyone takes the source code to start a spin-off.
Z80
Drutt
Posts: 9
Joined: Fri Jun 15, 2018 9:27 am

Re: Fuse 1.5.3 released

Post by Z80 »

Fuse does work with the MGT+D emulation on the emulated 128K. I'm currently programming with this setup. The only detail I could complain about would be the necessity to mount the drives every time you launch Fuse (storing the drives setup along with the emulated machine setup would be nice), and the absence of autosave, so you have to manually save the emulated disk files before exiting (you're also asked to do so if you forget before closing Fuse, fortunately).

Actually, I'm saving the current drive everytime I save my work to it, just in case...

Other than that, it works great, and I've always appreciated the simplified syntax (e.g. verify pn after saving a file)

In fact, the detail I appreciate the most about Fuse is you can use the cursor, delete and Esc (for Edit) keys plus a bunch of other direct keys for the most useful Caps + Symbol Shift combinations. For an unknown reason, almost all the other emulators fail to add more keys than the original (and horrible) rubber keyboard, as if there had never been any Spectrum+ in the universe...

I almost never used the rubber keyboard, as the first modification I've done on my good old issue 3b 48k Speccy was to rewire an old TRS-80 keyboard and connect it to the Speccy using ribbon cable directly soldered to the motherboard... The cursor and other special keys were wired savage-wise using diodes, so sometimes a few strokes were missed here and there because of the keyboard polling timing, but at least I could really type ! :D

Anyway, I'm glad Fuse took this into consideration. It's been the first reason why I dropped all the other emulators I've tried. The worst being emulation on Windows Phones, as they still insist on only bringing the stupid rubber keyboard, when there's plenty of room on the touchscreen to draw a Spectrum+ one...
User avatar
Guesser
Manic Miner
Posts: 639
Joined: Wed Nov 15, 2017 2:35 pm
Contact:

Re: Fuse 1.5.3 released

Post by Guesser »

Z80 wrote: Fri Jun 15, 2018 2:18 pm Fuse does work with the MGT+D emulation on the emulated 128K. I'm currently programming with this setup. The only detail I could complain about would be the necessity to mount the drives every time you launch Fuse (storing the drives setup along with the emulated machine setup would be nice)
You should be able to mount one drive by adding a plusddisk setting to the fuse config file (at least I just tested the equivalent plus3disk which works). The ability to mount individual drives would indeed be good though.
User avatar
druellan
Dynamite Dan
Posts: 1466
Joined: Tue Apr 03, 2018 7:19 pm

Re: Fuse 1.5.3 released

Post by druellan »

Hi Z80.
Z80 wrote: Fri Jun 15, 2018 2:18 pm Fuse does work with the MGT+D emulation on the emulated 128K.
Yes, but I'm referring specifically to the Disciple emulation.
The +D emulation does work on both 48k and 128k, but does not seem to honor the settings about tracks and sides of the disk image, at least, I'm not able to read some 40-track images, while other emulators like ZXSpin/SpecEmu/Eightyone have no problems with them.
User avatar
Fred
Drutt
Posts: 38
Joined: Tue Feb 27, 2018 3:15 am

Re: Fuse 1.5.3 released

Post by Fred »

druellan wrote: Fri Jun 15, 2018 3:37 pm does not seem to honor the settings about tracks and sides of the disk image
Could you describe what exactly you mean here? By default Fuse emulates a double-sided 80 track disk drive for the +D. What 40 track images are you using, what are you doing with them and what are you expecting to happen? :)
User avatar
druellan
Dynamite Dan
Posts: 1466
Joined: Tue Apr 03, 2018 7:19 pm

Re: Fuse 1.5.3 released

Post by druellan »

Thanks for the reply!
Fred wrote: Sun Jun 17, 2018 10:22 am Could you describe what exactly you mean here? By default Fuse emulates a double-sided 80 track disk drive for the +D. What 40 track images are you using, what are you doing with them and what are you expecting to happen? :)
Well, here in Argentina the interface was sold with a 5 1/4 single-density double-side floppy drive. I've recovered several of those disks on .mgt images like this one:
https://www.dropbox.com/s/g1hn5ya8l91a1 ... 5.mgt?dl=0

I thought that setting FUSE to read 40 track images was going to do the trick
Image

But the result is always the same:
Image

Other emulators can read the image, so, is not corruption or bad formatting, so my assumption is that or FUSE is not following the disk configuration (40 tracks), or it just hate non-conventional disk images. Either way, I think there is room for improvement.
User avatar
Fred
Drutt
Posts: 38
Joined: Tue Feb 27, 2018 3:15 am

Re: Fuse 1.5.3 released

Post by Fred »

Thanks for the extra details, I've logged an issue at the Fuse bug tracker here https://sourceforge.net/p/fuse-emulator/bugs/424/.
User avatar
szaszg
Drutt
Posts: 2
Joined: Sat May 25, 2019 4:47 pm

Re: Fuse 1.5.3 released

Post by szaszg »

Hi druellan!

I post a patch to https://sourceforge.net/p/fuse-emulator/bugs/424/#8432. You try to compile fuse with this patch... Fuse will ask you about 1 sided or 2 sided the opened disk.
I thought that setting FUSE to read 40 track images was going to do the trick
These settings related to the emulated disk drives, not to disk images or images "geometry". e.g. if you set "single sided 40 track", then cannot read the second side.. because only one head "exists" in the emulated drive. (Looks like in "real world")

Some technical details:
The MGT disk image format is a very modest format. It only contains the raw data of all the sectors of the disk. There is no any metadata, e.g. information about number of sides, tracks, sector lengths, number of sectors in a track, etc... there is no any "magic" (e.g. some ID byte at the beginning) to be sure this is really an MGT file.

We guess the disk geometry only from:
  • the length of the file
  • and we know that: MGT filesystem (Disciple/+D/SAM Coupé -- G-DOS, G+DOS, SAMDOS, UniDOS, BetaDOS, Master DOS, etc) uses 512 byte length sectors
  • and uses 10 sectors per track
2 sided 80 track disk: 2 x 80 x 10 x 512 = 819200
1 sided 40 track disk: 1 x 40 x 10 x 512 = 204800
But (not a big surprise) a two sided 40 track and a one sided 80 track disk images have the same file length: 409600
So if we have a 409600 byte length MGT file, we cannot know this is a 2 sided 40 track or a one sided 80 track image.
Other emulators can read the image, so, is not corruption or bad formatting, so my assumption is that or FUSE is not following the disk configuration (40 tracks), or it just hate non-conventional disk images. Either way, I think there is room for improvement.
ZXSpin assumes: 2 sided 40 track, Fuse (without the patch) assumes: 1 sided 80 track

I created a one sided 80 track test disk.
ZXSpin:
Image
As you see it fails the same way as the 2 sided 40 track image with Fuse.
User avatar
druellan
Dynamite Dan
Posts: 1466
Joined: Tue Apr 03, 2018 7:19 pm

Re: Fuse 1.5.3 released

Post by druellan »

szaszg wrote: Sat May 25, 2019 11:45 pm I post a patch to https://sourceforge.net/p/fuse-emulator/bugs/424/#8432. You try to compile fuse with this patch... Fuse will ask you about 1 sided or 2 sided the opened disk.
Oh, thanks a lot for taking a look!
szaszg wrote: Sat May 25, 2019 11:45 pm
I thought that setting FUSE to read 40 track images was going to do the trick
These settings related to the emulated disk drives, not to disk images or images "geometry". e.g. if you set "single sided 40 track", then cannot read the second side.. because only one head "exists" in the emulated drive. (Looks like in "real world")
Ah, that explains why I was confused. But what's the catch to also enforce this options on disk images, or at least, change the way FUSE autodetect the images based on this options?
ZXSpin assumes: 2 sided 40 track, Fuse (without the patch) assumes: 1 sided 80 track
Eightyone and SpecEmu are also able to read the images (that's why I thought that perhaps something was wrong on FUSE), so, perhaps all emulators unintentionally standarized to 1 side 40 traks as a default?
Thanks again for taking the time to review this, specially since I'm probably the only one trying to read this kind of images :D
User avatar
szaszg
Drutt
Posts: 2
Joined: Sat May 25, 2019 4:47 pm

Re: Fuse 1.5.3 released

Post by szaszg »

Ah, that explains why I was confused. But what's the catch to also enforce this options on disk images, or at least, change the way FUSE autodetect the images based on this options?
Yes, it possible... if i'll have some time, i implement such an autodetection.

BTW: you can use .dsk or .udi images for any emulated disk systems... this images store the disk geometry as well... :)
User avatar
druellan
Dynamite Dan
Posts: 1466
Joined: Tue Apr 03, 2018 7:19 pm

Re: Fuse 1.5.3 released

Post by druellan »

szaszg wrote: Wed May 29, 2019 5:59 pm BTW: you can use .dsk or .udi images for any emulated disk systems... this images store the disk geometry as well... :)
Oh, I can try and convert them, but mind that I recovered those images waaaaay back, using a DOS disc utility and later the real disc emulation on RealSpectrum emulator. I'm still amazed that it actually worked!
User avatar
g0blinish
Manic Miner
Posts: 281
Joined: Sun Jun 17, 2018 2:54 pm

Re: Fuse 1.5.3 released

Post by g0blinish »

just played with an emulator. I choose Didaktik 80 and load demo. There are no AY sound(
How to enable it ?
serbalgi
Drutt
Posts: 27
Joined: Sat Jan 06, 2018 11:13 am

Re: Fuse 1.5.3 released

Post by serbalgi »

g0blinish wrote: Fri Jun 14, 2019 6:02 am just played with an emulator. I choose Didaktik 80 and load demo. There are no AY sound(
How to enable it ?
Attach a Melodik AY interface on the 48k machine.
Z80
Drutt
Posts: 9
Joined: Fri Jun 15, 2018 9:27 am

Re: Fuse 1.5.3 released

Post by Z80 »

Hello !

Keep in mind the .MGT uses an interlaced tracks pattern. Each 10 sectors, it swaps sides and the next 10 sectors actually contain the same track from the second side rather than the following track of the same side.

In fact, floppy disks are written that way to minimize disk head moves and accelerate both writing and reading files.

Since it's the natural way data are organized on the real disk, I don't think the emulator should mess with the order the data are organized provided it would still read the tracks stored into the image file in sequence, even if the image has been created from a single side floppy disk.

However, I don't have first hand knowledge of how a single sided floppy disk is converted into a .MGT file. Does it store an empty track once every two tracks, or does it just store the existing data in sequence, the way the floppy disk drives transmits them to the computer ?

On the other hand, it seems like there's another file format for MGT disk images, the .IMG format. And this ones stores all the tracks from the first side in sequence, then goes on with the second side ones, restarting from track #0 !

As a result, loading a .IMG (I'm talking about the data internal organization) file that would for instance be renamed into .MGT (if the emulator would only manage .MGT files, maybe) would result in missing once every two tracks because they're actually stored 80 (or 40, in the case of a single density floppy source) tracks away !

The other way around would probably also fool the emulator (and as pointed, it's probably impossible to tell the difference between a double sided 40 tracks image and a single side 80 tracks image because they're the same size - though I don't think single side double density 3"1/2 floppies were that popular at the time : most single sided floppies were from the 5"1/4 single density era, where you used to punch a second hole in the sleeve to be able to use the second side)... :p

Well, what I mean is a half or quarter size image file should probably be automatically assumed by the emulator it's about a 40 tracks floppy, and if it's the quarter of the usual size, then of course it should be treated as a single sized one.

Anyway, maybe the first thing would to check the actual way your data is stored into the image file, check if the file is named accordingly to its actual format, and in the case the emulator can't mount one of them and it's unfortunately the one you've got, write a simple program to swap tracks as expected inside the file before renaming it accordingly ?
Post Reply