[uae] Re: uae/winuae/whateveruae (was Re: No mouse in fullscreen)

  • From: Toni Wilen <twilen@xxxxxxxxxx>
  • To: uae@xxxxxxxxxxxxx
  • Date: Thu, 25 Jun 2009 20:15:00 +0300

Thanks for finally saying something I can understand :)

When I say "crap" I primarily mean changes that don't change functionality, but make the diffs huge and hard to read for no good reason at all:
 * unnecessary whitespace and formatting changes

In my opinion current formatting totally sucks (either tabs or spaces, not both, perhaps this is some "*nix braindamage..") This is something I will change sooner or later.

 * things like the patch that adds a "regs" argument to all CPU
   functions

Blame E-UAE author. I tried to get rid of it but it only broke stuff and I didn't bother with it anymore.

 * unnecessary added casts in lots of places

That was attempt to make it C++ compatible. It didn't work. It would have made many things much easier.. (afaik this should be done someday before all APIs/GUIs/whatever are C++ only and we need wrappers everywhere..) Note: do not think about *nix only where C is much more common (afaik)

 * Code mangling for Windows Unicode braindamage, crapping non-portable
   Windows stuff all over the supposedly portable core code.

There "should not" be anyhing non-portable, I could have made it very unportable if I wanted. Did you even check it? Type/functions names may be Windows specific but it is not unicode-only, it still works just fine with ascii or even as utf-8 in *nix if needed. Simple search and replace can fix this if there really is fully portable namespace. (if there isn't, again, too bad because I ignore "lowest common denominator" reasons, was burned once too many times)

This was the best solution I could find that won't break portability. (is there even portable solution? if not, "too bad")

100% internalization support is basic feature today, at least in Windows world. ("and I thought I was alone")

This kind of thing is just inconsiderate, unsurprisingly when your own stated goal is to do what you want without the bother of working with others. Since you also don't send me patches with explanations of what's being fixed, I've occasionally tried to go through digging expeditions through the diffs to find usable changes, but since it's so hard because of things like the above, it invariably leads to burnout after a few days.

Again, you never said you wanted patches or even worked with UAE anymore. (and I can almost guarantee you would be the only one wanting patches)

And because I just "hack stuff", I don't know if it fixes something until much later. Unfortunately this is how I do this stuff. Difficult to do it other way because there are still unknown and odd features in Amiga chipset. (like vpos counter gets increased at hpos ~3-4, NOT at 0, this is 100% confirmed with logic analyzer)

Some of the new features aren't problematic, if something lives in its own file like akiko.c and doesn't add a lot of intrusive code elsewhere, I don't mind. What I object to is new features implemented in the quickest way possible without consideration for portability (e.g. the incredibly awful AHI stuff, which totally ignored the existing sound abstractions). Also, new features that expose a user-visible interface

AHI has nothing to do with Paula audio, except perhaps mixing. AHI can be 8/16/32 bit. 2 or 7.1 channels. Can have rates much higher than Paula can generate etc. It does not need any Paula specialties like DMA sequencing etc, AUDxDAT etc. Paula is the weird one. AHI is very simple, no side-effects.

I didn't do the win32 AHI code but I'd still would have separated them. Paula audio is already too complex (if you want to emulate everything exactly) (I do agree current AHI code is weird..)

(e.g. in the config files) that isn't thought out properly and precludes any further improvement (the inputdevice stuff comes to mind, which I find way overdone with a terrible interface).

Do you mean the GUI? It is crap but that can be improved easily later. Inputdevice may be overdone but it allows anything. Inputdevice configuration _is_ crappy and overdone too (single configuration is probably more than enough, no need for 4..)

Most importantly it does work and does exactly what I wanted it to do (=everything)

We ("we" what?) are not developing something like Linux Kernel that
needs high coding standards, especially if there is only something like
max 3 people in the whole world that really knows UAE and Amiga hardware
inside out..

It's not a small toy either. I vehemently disagree with the notion "we don't need high coding standards" for a project of this size, and I think this one of the core problems why we can't work together. Yours is an approach that only works in one-person projects.

In my mind it has been one-person project for last 2 years at least. Nobody said anything, I decided nobody is interested.

You have good reasons to be annoyed but I really thought you didn't care anymore (nobody else did either) I was totally alone and I learned to work alone. It may be too late now..

Another problem seems to be Windows<>*nix world "collision". So many differences.. I can hate Microsoft like anyone else (they do lots of stupid things too) but Windows does now have great "multimedia" APIs, better than most other operating systems.

I hope we can keep OS issues separate from real technical issues.

I can try to forget my bad habits from last few years but it won't be easy.


Other related posts: