ZX ULAX emulator

Struggling with Fuse or trying to find an emulator with a specific feature. Ask your questions here.
User avatar
RMartins
Manic Miner
Posts: 462
Joined: Thu Nov 16, 2017 3:26 pm

Re: ZX ULAX emulator

Post by RMartins »

Lethargeek wrote:
Wed May 27, 2020 5:06 pm
RMartins wrote:
Wed May 27, 2020 3:22 pm
It covers on how to provide the argument files to the executable, but apparently that is not the only thing that is needed.
See? This is what i mean. This time it looks like you didn't read @PeterJ's excellent message to the end. :lol: :cry:
If after reading @PeterJ's excelente message to the end, you don't realise you have an UI issue, you are too deep into the code and technical details and not the UI experience it provides.
0 x

User avatar
RMartins
Manic Miner
Posts: 462
Joined: Thu Nov 16, 2017 3:26 pm

Re: ZX ULAX emulator

Post by RMartins »

Lethargeek wrote:
Wed May 27, 2020 1:32 am
... SOME emulators might have disk/tape autostart but not all and it doesn't work properly every time. Okay, most (if not all) other emulators run a snapshot immediately as the name is selected but there are use cases when it's not desired or inconvenient so i decided to actually run it with a hotkey at the right moment.

Same about running a corresponding dux driver.
...
I'm going to go on a limb here and give you some advice on this particular issue from an UI perspective.

It seems, to me, that those particular choices you made is what is breaking the UI principle of least surprise.
When you run a command in the command line, you don't expect the parameters to not have any immediate effect.

So telling the emulator "here are the files to load" but nothing actually happening (in visual terms, i.e. no application running) it will make the users doubt if the first step was correct or they missed something.

It also makes it a lot harder to automate launching a game using your emulator. i.e. you need some way to inject key presses to it, to make it work as expected.

If you really need to not have the application start for development purposes or similar special or power user cases, then make it configurable and most importantly NOT the default behaviour.

So provide an extra parameter, -noLaunch, -noRun, or whatever you find suitable, so that the default behaviour is what the user expects.
The developer (you) or power Users that need the special case, can then use this new parameter to force that behaviour.

My long UI 2 cents.
I hope it is helpful.
0 x

User avatar
Lethargeek
Manic Miner
Posts: 273
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

RMartins wrote:
Wed May 27, 2020 9:39 pm
You are not listening.
I didn't even mention windows anywhere.
And you are not reading even your own messages it seems. You didn't mention windows, but your words imply much more than just windows:
RMartins wrote:
Wed May 27, 2020 12:06 pm
Instead of relaying on any assumption (and I know this is difficult to do, because we do not realise easily that we are assuming stuff, because they are so obvious to the person assuming them), a manual or README file should not, i.e. MUST not assume any prior knowledge, and simply list every single step required, no matter how obvious it is, to do some specific action.
ANY prior knowledge, EVERY SINGLE STEP required, NO MATTER HOW OBVIOUS it is
Your words. Or did YOU just assume any prior knowledge of how one must interpret them?
RMartins wrote:
Wed May 27, 2020 9:39 pm
Maybe you are too eager to jump on people, without first trying to understand the context.

I for one, was replying based on content I saw on the previous page, I didn't even see this page, while I was writing my post.
So don't be too quick to jump to conclusions.
Oh my... i'm really getting tired of people blaming ME for THEIR faults. What the previous page has even to do with it?
First, you were quoting @PeterJ's message about the tutorial located on the same page, not on the previous one, here:
RMartins wrote:
Wed May 27, 2020 3:22 pm
PeterJ wrote:
Wed May 27, 2020 12:11 pm
Hopefully my tutorial covered that @RMartins.
Yes and no.

It covers on how to provide the argument files to the executable, but apparently that is not the only thing that is needed.
Second, in your reply to this quote it was YOU so eager jumping to the conclusion that is obviously wrong for anyone who had read the tutorial mentioned. This is why i said looks like you didn't read it.
RMartins wrote:
Wed May 27, 2020 9:44 pm
If after reading @PeterJ's excelente message to the end, you don't realise you have an UI issue, you are too deep into the code and technical details and not the UI experience it provides.
His message is a tutorial. These are being written for any app no matter ho much advanced the UI. The problem is rather people not realising that in multitasking environment you can have any UI you want.
Last edited by Lethargeek on Wed May 27, 2020 11:06 pm, edited 1 time in total.
0 x

User avatar
Lethargeek
Manic Miner
Posts: 273
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

RMartins wrote:
Wed May 27, 2020 9:56 pm
I'm going to go on a limb here and give you some advice on this particular issue from an UI perspective.

It seems, to me, that those particular choices you made is what is breaking the UI principle of least surprise.
A surprise comes out of the wrong expectations. I'm not responsible for the expectations of the other people. Especially when they don't read the files telling them exactly what to expect (and not telling what to not expect).
RMartins wrote:
Wed May 27, 2020 9:56 pm
When you run a command in the command line, you don't expect the parameters to not have any immediate effect.
If it's a non-interactive app, so not the case here. And actually, not even then - for example, specifying several output file names for the compiler doesn't make all of them appear every time. Also there IS an immediate effect - replacing and remembering the given name(s) :P

And the same actually happens when you open a tape or disk image in many other emulators. You still usually need to do some extra actions to load it. So why it should be much different just for the one and only source type? Do tell about the unexpected!
RMartins wrote:
Wed May 27, 2020 9:56 pm
So telling the emulator "here are the files to load" but nothing actually happening (in visual terms, i.e. no application running) it will make the users doubt if the first step was correct or they missed something.
Why? The only cause i see here is "because they didn't read the manual". A very short manual. Never promising a load happens immediately.
RMartins wrote:
Wed May 27, 2020 9:56 pm
It also makes it a lot harder to automate launching a game using your emulator. i.e. you need some way to inject key presses to it, to make it work as expected.

If you really need to not have the application start for development purposes or similar special or power user cases, then make it configurable and most importantly NOT the default behaviour.
Again, these are YOUR expectations. You just want YOUR use case to be default. As for me, i'm not making it any "special" case, but providing the most flexible method at least (and very fast as well). And you can't automate launching every game anyway, not every one is a snapshot (and there are complications for snapshots considering the colorization). Also what's the problem really? Is pressing a few extra keys so hard for you? You will have to press so much more in the game, so the difference is negligible.
RMartins wrote:
Wed May 27, 2020 9:56 pm
So provide an extra parameter, -noLaunch, -noRun, or whatever you find suitable, so that the default behaviour is what the user expects.
The developer (you) or power Users that need the special case, can then use this new parameter to force that behaviour.
maybe the opposite (definitely NOT doing running a snapshot as default!)
and it's very low priority as it seems really superfluous even next to other possible bells and whistles
Last edited by Lethargeek on Wed May 27, 2020 11:04 pm, edited 1 time in total.
0 x

User avatar
MonkZy
Microbot
Posts: 198
Joined: Thu Feb 08, 2018 1:01 pm

Re: ZX ULAX emulator

Post by MonkZy »

Hi @Lethargeek ,

Great project!

I am a Linux user so I have tested your emulator using Wine. The emulator works in both the original mode and the extra colour mode and looks amazing!

I do have a problem with sound which I am trying to solve, so I have a question. Do you use openAL for sound in your emulator?
0 x

AndyC
Manic Miner
Posts: 316
Joined: Mon Nov 13, 2017 5:12 am

Re: ZX ULAX emulator

Post by AndyC »

Lethargeek wrote:
Wed May 27, 2020 10:58 pm
Again, these are YOUR expectations. You just want YOUR use case to be default. As for me, i'm not making it any "special" case, but providing the most flexible method at least (and very fast as well). And you can't automate launching every game anyway, not every one is a snapshot (and there are complications for snapshots considering the colorization). Also what's the problem really? Is pressing a few extra keys so hard for you? You will have to press so much more in the game, so the difference is negligible.
Windows has a bunch of conventions for how applications work for precisely this reason. If you choose to go down a very different route and break those conventions, then yes you really are going to have to expect to explain how it works over and over again because people will always make reasonable assumptions based on how things usually work. Getting angry at them because they struggle to follow the instructions in a text file is never going to change that.

At the end of the day, it's your application to do with as you please. However if the goal is to show of your hardware technique and get people interested in investing time on upgrading games then it may very well reward you more to bring some simplicity and convention to the interface, even if it isn't as fast for you personally.
0 x

User avatar
Lethargeek
Manic Miner
Posts: 273
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

MonkZy wrote:
Wed May 27, 2020 11:02 pm
Hi @Lethargeek ,

Great project!

I am a Linux user so I have tested your emulator using Wine. The emulator works in both the original mode and the extra colour mode and looks amazing!

I do have a problem with sound which I am trying to solve, so I have a question. Do you use openAL for sound in your emulator?
Hi, glad you like it! I do everything with just basic SDL, both sound and video. I know people are having sound problems under wine, but i'm not competent enough to solve it. I remember one guy on the russian forum was able to fix the sound (at least for himself) with some reconfiguring, maybe i will find it now but no promises.
1 x

User avatar
Lethargeek
Manic Miner
Posts: 273
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

AndyC wrote:
Wed May 27, 2020 11:11 pm
Windows has a bunch of conventions for how applications work for precisely this reason. If you choose to go down a very different route and break those conventions, then yes you really are going to have to expect to explain how it works over and over again because people will always make reasonable assumptions based on how things usually work. Getting angry at them because they struggle to follow the instructions in a text file is never going to change that.
i'm not aware of any official convention demanding every command line parameter or dropped file to make an immediately visible effect
AndyC wrote:
Wed May 27, 2020 11:11 pm
At the end of the day, it's your application to do with as you please. However if the goal is to show of your hardware technique and get people interested in investing time on upgrading games then it may very well reward you more to bring some simplicity and convention to the interface, even if it isn't as fast for you personally.
But the intended hardware was never supposed to be operated exactly like the emulator. There is now one example of possible "real" release in the ULAX-emuL archive (test\elopulax.scl), just to give a taste of it. Basically you just load a disked game as usual, it's will run some code to preload the driver, then the game, and then the driver will be activated at the right moment. But it will need a converter tool to automate making such a release, and it's not ready yet (and even the exact hardware interface logic isn't decided).
Last edited by Lethargeek on Wed May 27, 2020 11:27 pm, edited 1 time in total.
0 x

User avatar
MonkZy
Microbot
Posts: 198
Joined: Thu Feb 08, 2018 1:01 pm

Re: ZX ULAX emulator

Post by MonkZy »

@Lethargeek ,

I guessed it was a Linux issue. OpenAL is not used much on windows. I will figure it out :D

For reference :

On Linux, download the emulator and games from the links in the opening post (i use google drive)

Create a folder and place the contents of the 'exe' folder from ULAX-emuL.zip

Copy the game files you wish to play into the same folder, include both the .sna and the .dux files.

In a terminal, navigate to the emulator directory and launch the emulator.

Code: Select all

cd ~/path/to/emulator
wine emuL.exe game.sna game.dux
The emulator will start in 128K TR-DOS. Press 'End' to load the snapshot. Press 'PG DN' to switch to enhanced graphics (.dux).
0 x

User avatar
Lethargeek
Manic Miner
Posts: 273
Joined: Wed Dec 11, 2019 6:47 am

Re: ZX ULAX emulator

Post by Lethargeek »

MonkZy wrote:
Wed May 27, 2020 11:26 pm
Copy the game files you wish to play into the same folder, include both the .sna and the .dux files.
i myself prefer not to mix the game files and the emulator files in the same folder, but whatever works for you :)
0 x

Post Reply