Welcome, Guest. Please login or register.

Author Topic: Reasons why I don't like emulators - or why xx-UAE is really unusable  (Read 6513 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline Minuous

Re: Reasons why I don't like emulators - or why xx-UAE is really unusable
« Reply #44 on: October 31, 2014, 04:56:17 PM »
Quote from: Thomas Richter;776240
The German Amiga keyboard has *one* extra key compared to a standard German PC keyboard, and that key is essential.  The backslash on a standard PC-keyboard is reachable by AltGr+Sharp-S

That sounds like a painful way to type such a commonly used key. Anyway, modern PC keyboards have many more keys than Amiga keyboards, so it's just a matter of assigning it to one of the spare keys. Which could be done in the host OS, the guest OS, or the emulator.

Quote
No, it doesn't. F12+g does this, and no, the title bar does not say this. Once again, I have no Wind** here, and I don't consider bying one just for the purpose of Amiga emulation. And once again, there are established choices for this, and Ctrl+Tab is not one of them, but anyhow....

Sorry, I meant Alt+Tab. Windows programs can be run under UNIX via WINE, no need to buy/pirate Windows. WinUAE is far advanced compared to other variants.
 

guest11527

  • Guest
Re: Reasons why I don't like emulators - or why xx-UAE is really unusable
« Reply #45 on: October 31, 2014, 05:34:01 PM »
Quote from: Minuous;776288
Windows programs can be run under UNIX via WINE, no need to buy/pirate Windows. WinUAE is far advanced compared to other variants.

No thanks. If the author doesn't care about Linux, I don't care about the program. I do make exceptions for work and essential programs, but UAE is none of them.
 

Offline Leffmann

  • Full Member
  • ***
  • Join Date: Feb 2011
  • Posts: 119
    • Show only replies by Leffmann
Re: Reasons why I don't like emulators - or why xx-UAE is really unusable
« Reply #46 on: October 31, 2014, 08:28:56 PM »
Quote from: Thomas Richter;776287
In principle, yes, but how do I get the binaries then back to the Amiga for testing? This machine has no network card (I don't really plan to waste money on that) the CDRW died a couple of years ago, and the only removable medium is the floppy, which is too small for any serious application. The only chance is to use a PC and an emulator on the PC, though I then loose the workflow, i.e. the DevPac assembler and the SAS compiler interface. Both of which is pretty useful for library and systems development. In essence, it would require a completely different workflow. Possible, but inconvenient.


Actually I meant to cross-develop on the host, to the emulated Amiga. You can run Genam, SAS/C and most other well-behaved command line tools on the PC-side using vamos, but I guess you mean that you require the full Devpac IDE, the SAS/C GUI for project control, CPR, and Cygnus Editor etc. to work.
 

Offline fishy_fiz

  • Hero Member
  • *****
  • Join Date: Jan 2005
  • Posts: 1813
    • Show only replies by fishy_fiz
Re: Reasons why I don't like emulators - or why xx-UAE is really unusable
« Reply #47 on: October 31, 2014, 09:00:53 PM »
Seems pretty obvious by now that you're happy to dislike the software and that no solution will appease you. Not because there are no solutions, but because you've chosen to be discontent.
If you're happy with that then Im happy for you, but its a bit on the nose to discredit the quality of someones work because youre not interested in learning to use the software.

To each their own though. If this is what makes you happy then who am I to tell you otherwise?
« Last Edit: October 31, 2014, 09:03:05 PM by fishy_fiz »
Near as I can tell this is where I write something under the guise of being innocuous, but really its a pot shot at another persons/peoples choice of Amiga based systems. Unfortunately only I cant see how transparent and petty it makes me look.
 

guest11527

  • Guest
Re: Reasons why I don't like emulators - or why xx-UAE is really unusable
« Reply #48 on: October 31, 2014, 11:45:08 PM »
Quote from: fishy_fiz;776310
Seems pretty obvious by now that you're happy to dislike the software and that no solution will appease you. Not because there are no solutions, but because you've chosen to be discontent.
If you're happy with that then Im happy for you, but its a bit on the nose to discredit the quality of someones work because youre not interested in learning to use the software.

To each their own though. If this is what makes you happy then who am I to tell you otherwise?

Because you're piling kludges on top of kludges, and I'm supposed to like that? Wine, because there's nothing on Linux to run it? Or build a keymap myself because the emulator fails emulating the keyboard in a useful way? Please, excuse me, but such solutions are not exactly "usable". They might be "ok" as last resort, but they are far from ideal.

Look, there are certain "minimum standards" I would recommend to follow. The minimum standard is that the keyboard works as expected (with the keys functioning as the labels on them say). The minimum standard should be that emulators tell me how to ungrab the mouse and how to give me control back, bare basics of user interface design. The minimum standard should also be that the file system emulation emulates the file system properly, yet links do not work correctly on xx-UAE (just another point on my list).

Nothing of that is impossible to reach, or in particular overly hard. I'm writing all this so it can hopefully be fixed. Somebody has to say. vmware on Linux pretty much works by the standards, to give one example. I would also say that my own emulator works by these minimum standards, though is probably less perfect than professional software, and it is admittedly a much simpler system that it emulates. The UAE variants I tested are not, sorry, and for the points I mentioned.

On cross compiling: I also did cross-compilation for the Atari 8-bits, using ca65, makefiles and emacs. Also works, and works better than on the original. But if I have to pile certain emulation layers on top of each other to compile a program for an old system, then that's not a workable solution. Alternativiely, using non-native tools: creating Amiga system libraries also requires a bit more than your "average" C compiler (gcc, for example) is able to offer, it requires some highly specialized tools. It's a tad more complex than writing your average C program.

It is understandable that the community is so small that nobody is willing to put much effort into providing the tools or the emulators, but that doesn't make the situation better, or the "workarounds" you're offering any better. Just because we're all only working on a hobby basis doesn't make the result any better on an absolute scale.
 

Offline buzz

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 612
    • Show only replies by buzz
Re: Reasons why I don't like emulators - or why xx-UAE is really unusable
« Reply #49 on: November 01, 2014, 12:57:19 AM »
doesn't sound like you want any functionality changed / fixed. Sounds like you just want to have a moan. If you want any behaviour/functionality changed, or to get help, you might do better to post on the support forum for fs-uae etc.

considering the massive rant you had about someone else not feeding back bug reports to you, it seems slightly hypocritical!
 

Offline buzz

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 612
    • Show only replies by buzz
Re: Reasons why I don't like emulators - or why xx-UAE is really unusable
« Reply #50 on: November 01, 2014, 01:11:21 AM »
and to answer some of your questions (in case any have not been answered) - you can probably sort the keyboard mapping out with custom input mapping - http://fs-uae.net/input-mapping - there is a full list of actions. looks pretty simple to me.

all the keyboard shortcuts are listed in the documentation also

http://fs-uae.net/keyboard-shortcuts

not too hard to find out how to release/capture mouse. (F12 + G – Release/capture mouse and keyboard input grab. Clicking the middle moue button will also release input grab.)

with something with as many options as uae, it does make sense that you spend at least 5 mins reading the docs. I'm sure if I emailed you regarding something on vinced and I hadn't read the manual (and it was obviously in there) you would tell me to RTFM!
 

Offline psxphill

Re: Reasons why I don't like emulators - or why xx-UAE is really unusable
« Reply #51 on: November 01, 2014, 08:45:25 AM »
Quote from: Thomas Richter;776330
Nothing of that is impossible to reach, or in particular overly hard. I'm writing all this so it can hopefully be fixed. Somebody has to say. vmware on Linux pretty much works by the standards, to give one example. I would also say that my own emulator works by these minimum standards, though is probably less perfect than professional software, and it is admittedly a much simpler system that it emulates. The UAE variants I tested are not, sorry, and for the points I mentioned.

I suggest you ask for a refund on UAE if it doesn't meet your standards.
 

Offline Georg

  • Jr. Member
  • **
  • Join Date: Feb 2002
  • Posts: 90
    • Show only replies by Georg
Re: Reasons why I don't like emulators - or why xx-UAE is really unusable
« Reply #52 on: November 01, 2014, 09:22:52 AM »
Quote from: Thomas Richter;776330
Or build a keymap myself because the emulator fails emulating the keyboard in a useful way?


So you want UAE to be full of (pseudo)code like this:

Code: [Select]

if (host_vanilla_key_pressed == '\\')
{
  if (host_keymap == german)
  {
      generate_amiga_rawkey(ALT_RELEASE); /* because user pressed ALTGR + ß */
      generate_amiga_rawkey(RAWKEY_BACKSPACE_PRESSED);
      generate_amiga_rawkey(ALT_PRESSED);
  }
}

if (host_vanilla_key_released == '\\')
{
   if (host_keymap == german)
   {
      if (alt_pressed) generate_amiga_rawkey(ALT_RELEASE);
      generate_amiga_rawkey(RAWKEY_BACKSPACE_RELEASED);
      if (alt_pressed) generate_amiga_rawkey(ALT_PRESSED);
   }
}


This is ugly as hell and wrong too, because now the emulated Amiga sees key presses/releases which never happened (ALT key).

Apart from building/modifying a keymap you could also just use FKey commodity to make it insert the backspace key event when alt + ß is pressed.
 

Offline psxphill

Re: Reasons why I don't like emulators - or why xx-UAE is really unusable
« Reply #53 on: November 01, 2014, 09:59:17 AM »
Quote from: Georg;776366
Apart from building/modifying a keymap you could also just use FKey commodity to make it insert the backspace key event when alt + ß is pressed.

Yeah, the sane way to do this is map keys 1:1 as best as you can and for any that require more than one key press just modify the keymap.
 
 You can then make it so that pressing the keys in amigaos will have the same result as pressing them in your host os.
 

guest11527

  • Guest
Re: Reasons why I don't like emulators - or why xx-UAE is really unusable
« Reply #54 on: November 01, 2014, 10:07:41 AM »
Quote from: buzz;776337
doesn't sound like you want any functionality changed / fixed. Sounds like you just want to have a moan.

You got that wrong. But no, I don't have the time to work on it, I've more than enough projects on my todo list, thanks.
 

guest11527

  • Guest
Re: Reasons why I don't like emulators - or why xx-UAE is really unusable
« Reply #55 on: November 01, 2014, 10:15:20 AM »
Quote from: psxphill;776369
Yeah, the sane way to do this is map keys 1:1 as best as you can and for any that require more than one key press just modify the keymap.
 
 You can then make it so that pressing the keys in amigaos will have the same result as pressing them in your host os.

It's a bad option, and I already showed why it is bad. Do I really need to repeat this? If users have to modify the keymap just to be able to use the emulator is not the right approach. I believe I already suggested what the right approach should be: Non-alphanumierc keys must be mapped by function, not by position.

Caps Lock/Ctrl is an example where xx-UAE does not follow what you suggest: The Ctrl-Key is in the lower left on a PC keyboard, and changed its position with the caps-lock key compared to the Amiga layout. Yet, UAE uses the PC layout here, not the Amiga layout. If, apparently, that's possible for ctrl and caps-lock, why isn't it possible for the backslash key to map it to its position on the PC keyboard? That's not consistent. Even worse, if I remap my PC keyboard (which I regularly do) with Ctrl+Caps interchanged, then xxx-UAE is unaware of this change, and breaks caps-lock completely.  

One way or another: The suggestion you made is not the design the UAE authors picked, and neither the one that is currently implemented, nor the one you make is doable. It either misses keys, or breaks if the keyboard mapping is changed.
 

guest11527

  • Guest
Re: Reasons why I don't like emulators - or why xx-UAE is really unusable
« Reply #56 on: November 01, 2014, 10:21:46 AM »
Quote from: Georg;776366
This is ugly as hell and wrong too, because now the emulated Amiga sees key presses/releases which never happened (ALT key).

Apart from building/modifying a keymap you could also just use FKey commodity to make it insert the backspace key event when alt + ß is pressed.

Because you only have an ugly code does not make the decision ugly. Yes, your design is wrong, that's why it is so ugly. Getting it right is quite simple: a) Read the keycode from X11, b) translate the key-code into ASCII (X11 has functions for that, yes) c) translate this ASCII code into the press for the key that translates to this ASCII on the corresponding Amiga keyboard. Been there, done that.

You don't need special cases, it is one generic function. You only need to tell the user to pick the type of keyboard to be emulated, i.e. xxx-UAE needs to know where the keys are on the Amiga keyboard. There is nothing particularly ugly about this solution. Yes, it is more complicated than the current solution, but yes, it will work correctly also for non-US layouts.
 

Offline Georg

  • Jr. Member
  • **
  • Join Date: Feb 2002
  • Posts: 90
    • Show only replies by Georg
Re: Reasons why I don't like emulators - or why xx-UAE is really unusable
« Reply #57 on: November 01, 2014, 01:38:33 PM »
Quote from: Thomas Richter;776374
a) Read the keycode from X11, b) translate the key-code into ASCII (X11 has functions for that, yes) c) translate this ASCII code into the press for the key that translates to this ASCII on the corresponding Amiga keyboard.


That's broken, too. Rawkey code of one and same physical key can then differ, depending on whether a key like ALT is currently pressed down, or not. Think of a game which allows you to redefine action keys. It will most likely store the configured key using the rawkey code. This will not work with your approach on a German keyboard for the "ß ? \" key. During gameplay different rawkey code event received depending on whether ALT (maybe used for strafing) is held down, or not.

And what about runtime switching of the keymap in AmigaOS. My A500 had American keyboard layout, my A1200 Italian keyboard layout. I often used it with American keyboard layout as I was used to that from A500. But I also switched to German or Italian layout, depending on what I was doing.
 

guest11527

  • Guest
Re: Reasons why I don't like emulators - or why xx-UAE is really unusable
« Reply #58 on: November 01, 2014, 02:05:37 PM »
Quote from: Georg;776378
That's broken, too. Rawkey code of one and same physical key can then differ, depending on whether a key like ALT is currently pressed down, or not.  
Certainly, and intentionally.  
Quote from: Georg;776378
Think of a game which allows you to redefine action keys. It will most likely store the configured key using the rawkey code. This will not work with your approach on a German keyboard for the "ß ? \" key.
Gaming is a different use case than programming. I believe I already said that I apprecate that UAE is probably a good deal for such uses, but it is not for mine. For gaming, you would typically use keys and functions that are available on all keyboards in the same position - otherwise you're creating trouble anyhow.  
Quote from: Georg;776378
And what about runtime switching of the keymap in AmigaOS. My A500 had American keyboard layout, my A1200 Italian keyboard layout. I often used it with American keyboard layout as I was used to that from A500. But I also switched to German or Italian layout, depending on what I was doing.

In such a case, you would have to switch the layout in two positions. In the emulator, and in the emulated Os. Or need to enable the emulator to read which keyboard is currently active, which is harder as it requires some insight into the console definition. In either case, that's all certainly possible, but what is not possible is that a certain key is simply not available in first place. The simple and obvious use should be the default - there's no problem for requiring more work for enhanced configuration. I simply expect that if I turn the system on, it gives me a usable keyboard configuration - yet it does not.
 

Offline buzz

  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 612
    • Show only replies by buzz
Re: Reasons why I don't like emulators - or why xx-UAE is really unusable
« Reply #59 from previous page: November 01, 2014, 02:46:10 PM »
Quote from: Thomas Richter;776370
You got that wrong. But no, I don't have the time to work on it, I've more than enough projects on my todo list, thanks.


you seem to have enough time to go on and on about it here, and yet I see nothing from you on the github issue tracker or support forum.

sorry, what is so complicated about using the keyboard input mapping stuff I linked earlier - have you even tried that? Or you prefer to just continue moaning here ? :)