More GUI details

Not that anybody has ever used that function, but I like it. And the GUI should really be the same, compared to WinUAE:

and on AROS:

The windows font seems to be easier to read, but AROS is more optimized for 16:9 screens ;).



So one thing is for sure, if I ever release a working WinUAE port for AROS, it will have a GUI ;).

In the last post, the GUI contained just some useless gadgets, without content and actions.

Current state:
  • Most gadgets show real values, read from the config files (no sliders, no listviews so far)
  • Added winuae.ini handling, so that last floppy selections and rom selections survive restarts. Still buggy, but promising. Did you know, that WinUAE writes these things to winuae.ini and not to the registry, if you create an empty winuae.ini file in the directory of winuae.exe ;)?
  • List on the left side activates the correct pages on the right
  • Reset/Quit/Start/Cancel buttons work
  • After a Zune Bugfix you can now insert floppies and change roms (still some smaller bugs, but in overall, it works). So some buttons work, should not be too hard, to expand this to many more buttons.
  • Still a lot of work remaining..
See here:

And btw, this is all ABI v1 now. I guess, you all need some motivation to test ABI v1. So once I will release alpha versions, you will have to use and test ABI v1, which will never get completed, if nobody tries to use it ;).


GUI ..?

First of all, I was not able to get the JIT running, so I lost motivation and started something else.

I always wondered, how the WinUAE gui was built and had a look, how a Windows gui is calculated. Well, every single "object" has fixed coordinates and sizes..!

IDD_FLOPPY DIALOGEX 0, 0, 396, 303
FONT 8, "MS Sans Serif", 0, 0, 0x1
    LTEXT           "System ROMs:",IDC_PATHS_ROML,3,2,260,8,SS_CENTERIMAGE
    PUSHBUTTON      "...",IDC_PATHS_ROMS,384,13,11,15
    LTEXT           "Configuration files:", 



So GadTools would still be up to date on Windows as it seems.

I had the idea, to build a real object tree from these coordinates and then generate a Zune gui source code from it. Worked, but a lot of those boxes overlap and are much bigger than necessary. So the tree was not really the right tree. A pity, as my conversion code was working quite nice :(.

Nevertheless, I rewrote it and tried using fixed coordinates in Zune, too. (Sorry Zune purists):

So far looking not too bad ;). Now I'll have to see, how much of the Windows-GUI code I can reuse, because at the moment, those gadgets do .. nothing.



As long as you just want to emulate a basic a500 without a JIT, building uae is quite straight forward.

But for 32-bit, JIT and most other nice features you need to adapt the uae memory model to the host abilities. Enabling JIT still causes green boot screens, but at least ZIII support is coming closer:

But I have to admit, that I stole some lines of code from FS-UAE for that ;).


Keyboard support

I can type now, not all keys working, but enough to continue:

But it still boots only from a floppy, which is too slow and annoying for me. So next will be hard-drive support (support of local files-systems).


I can see the Workbench 3.1

As soon as AmigaOS console.device was opened, AmigaOS crashed. Now that I merged the console.cpp file, which I forgot to update to the latest version, I can boot from floppy into workbench 3.1!

I still can't type anything in there, but key-presses do result in a flickering cursor, so somehow the translation of the key-codes seem to be wrong. Should be fixable.

Btw, now it also shows WinUAE 2.8.1 in the window title and this seems to be the correct version number. The source code archive was named winuaesrc2810.zip, so I took the (wrong) version number from that filename.


Note the difference

I can now move the mouse! But of course it is not in sync ;).