Fuse 1.5.2 released

Struggling with Fuse or trying to find an emulator with a specific feature. Ask your questions here.
User avatar
Fred
Berk
Posts: 38
Joined: Tue Feb 27, 2018 3:15 am

Fuse 1.5.2 released

Post by Fred » Sat Mar 31, 2018 10:59 am

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:
  • Emulate ROM bug loading zero length blocks when using tape traps
  • Fix the format of double-sided +3 disks
  • Spectrum reset is accelerated when phantom typist is enabled and a file is loaded from the menu
  • Add options UI for phantom typist
  • GTK+ 3 UI: Memory browser dialog allows to go to specific offset
Many thanks to everyone who's contributed to this release. Source code and binaries for Windows are currently available on the SourceForge site; compiled binaries for various other platforms should become available in the next few days.
1 x

User avatar
PeterJ
Site Admin
Posts: 1310
Joined: Thu Nov 09, 2017 7:19 pm
Location: Surrey, UK

Re: Fuse 1.5.2 released

Post by PeterJ » Sat Mar 31, 2018 12:01 pm

Thanks @Fred, can I ask what phantom typist is?

Double sided +3 Disks will be of great interest to @Nomad
0 x

User avatar
Fred
Berk
Posts: 38
Joined: Tue Feb 27, 2018 3:15 am

Re: Fuse 1.5.2 released

Post by Fred » Sat Mar 31, 2018 12:30 pm

Hi Peter.
The phantom typist is how tape and disk autoloading works in Fuse since 1.5.0. The new UI just lets you select the mode from the preferences, in case you are using a custom ROM that changes how file loading is done from the default on a machine - e.g. switching from keyword entry o a 48k machine to single letter entry.
1 x

User avatar
Ast A. Moore
Dynamite Dan
Posts: 1190
Joined: Mon Nov 13, 2017 3:16 pm

Re: Fuse 1.5.2 released

Post by Ast A. Moore » Sat Mar 31, 2018 12:52 pm

PeterJ wrote:
Sat Mar 31, 2018 12:01 pm
Thanks Fred, can I ask what phantom typist is?
It’s a feature that types the appropriate load commands for each file type/computer model. E.g., if you load a file of the type BYTES, Fuse will reset the machine, then type LOAD ""CODE for you. If it’s a +3, it’ll reset the machine, then select the +3 BASIC menu, then type LOAD "t:", etc.

Previous versions of Fuse, used a series of snapshots with these commands already “typed in,” as it were. That eliminated the wait time associated with the Spectrum performing a reset and the typing. However, snapshots were deemed problematic (because of the number of possible configurations that needed to be stored), so the phantom typist feature was introduced.

This, however, also came with its set of problems, the biggest being the wait times. For developers, who often need to load several versions of their programs in quick succession, this was a real deal breaker, because the amount of time to make a minor change of, say, a parameter in your code and its subsequent assembly was infinitesimally small, compared to the time it took Fuse to reset the machine and type the load command.

As a compromise, Fuse now runs as fast as it can on your computer during reseting+phantom typing.

P.S. I haven’t tested this new version yet, but when phantom typist was first introduced, I had to roll back to the previous version, as my development process virtually ground to a halt (okay, it’s a hyperbole, but you can imagine the frustration).

I’m not sure if the phantom typist can be disabled completely now, as I think the Fuse team abandoned the use of snapshots for good now (don’t quote me on that, though). If that’s the case, it’s too bad—I loved the snappiness of Fuse for development.
1 x
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.

User avatar
Seven.FFF
Manic Miner
Posts: 339
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

Re: Fuse 1.5.2 released

Post by Seven.FFF » Sat Mar 31, 2018 1:22 pm

Yes, those seeming trivial things make a huge difference when you’re rebuilding and rerunning hundreds or thousand times a day. Even worse is when the machine has a flash loader and/or esxdos loader on boot.

It’s a trade off between emulation accuracy and developer workflow, and not all emulators have a developer workflow.

Stuffing bytes directly in memory is my favourite - the least accurate and most dev-friendly of all :)
1 x
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
seven-fff.com/blog

User avatar
Ast A. Moore
Dynamite Dan
Posts: 1190
Joined: Mon Nov 13, 2017 3:16 pm

Re: Fuse 1.5.2 released

Post by Ast A. Moore » Sat Mar 31, 2018 1:41 pm

Seven.FFF wrote:
Sat Mar 31, 2018 1:22 pm
not all emulators have a developer workflow.
Word, man!
Seven.FFF wrote:
Sat Mar 31, 2018 1:22 pm
Stuffing bytes directly in memory is my favourite - the least accurate and most dev-friendly of all :)
Well, Mathew Smith used this method for Manic Miner. He typed and assembled the code on his TRS-80 (I believe), and then shoved the binary data directly into Speccy’s memory via a custom edge-connector interface.

Still, I’m quite happy with my current workflow: hit Command-Option-R in TextMate and boom—the resulting TAP file opens in Fuse virtually instantaneously. Command-Tab back to TextMate, change a value, hit Command-Option-R again. Happens faster than you can say, “Oh, snap!” You can imagine how infuriating the whole phantom typist thing is for me.

Casual gamers must be delighted, though. Especially those who favor all the ten early titles that made you type LOAD ""CODE instead of the usual LOAD "". :lol:
1 x
Every man should plant a tree, build a house, and write a ZX Spectrum game.

Author of A Yankee in Iraq, a 50 fps shoot-’em-up—the first game to utilize the floating bus on the +2A/+3,
and zasm Z80 Assembler syntax highlighter.

User avatar
Seven.FFF
Manic Miner
Posts: 339
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

Re: Fuse 1.5.2 released

Post by Seven.FFF » Sat Mar 31, 2018 2:13 pm

Heh, yes. Stuffing bytes has a few subtle gotchas. Mostly that the machine doesn’t get reset every time. My loader that listens for new code is an earlier version of the game, so sometimes when you change stuff, the end result is a mixture of the old and new versions.

On the bonus side, that's exactly what you need to point out those subtle init bugs, as EsxDOS also lets you load over the top of something else that’s already running.
0 x
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
seven-fff.com/blog

User avatar
Seven.FFF
Manic Miner
Posts: 339
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

Re: Fuse 1.5.2 released

Post by Seven.FFF » Sat Mar 31, 2018 2:14 pm

Heh, yes. Stuffing bytes has a few subtle gotchas. Mostly that the machine doesn’t get reset every time. My loader that listens for new code is an earlier version of the game, so sometimes when you change stuff, the end result is a mixture of the old and new versions.

On the bonus side, that's exactly what you need to point out those subtle init bugs, as EsxDOS also lets you load over the top of something else that’s already running.
0 x
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
seven-fff.com/blog

User avatar
Seven.FFF
Manic Miner
Posts: 339
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

Re: Fuse 1.5.2 released

Post by Seven.FFF » Sat Mar 31, 2018 2:16 pm

I’d really like to get an edge interface working on the Omni too. Something with a parallel port and custom interrupt that could load code even if there wasn’t a listener already running.
0 x
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
seven-fff.com/blog

serbalgi
Berk
Posts: 26
Joined: Sat Jan 06, 2018 11:13 am

Re: Fuse 1.5.2 released

Post by serbalgi » Sat Mar 31, 2018 2:36 pm

Ast A. Moore wrote:
Sat Mar 31, 2018 12:52 pm
P.S. I haven’t tested this new version yet, but when phantom typist was first introduced, I had to roll back to the previous version, as my development process virtually ground to a halt (okay, it’s a hyperbole, but you can imagine the frustration).

I’m not sure if the phantom typist can be disabled completely now, as I think the Fuse team abandoned the use of snapshots for good now (don’t quote me on that, though). If that’s the case, it’s too bad—I loved the snappiness of Fuse for development.
I think you can still use the old autoload snapshots on a dev workflow:

Code: Select all

fuse tape_48.szx --tape your_tape.tap
Choose the autoload snapshot from an old version or here:
https://sourceforge.net/p/fuse-emulator ... compressed
0 x

Post Reply