Combo Boxes

WinUAE in Windows has nice comboboxes to select rom and adf images:

AROS only offers Cycle and String gadgets or listviews. None of the three can give you the functions of a combobox. I tried to work around it, but ended up with a lot of useless spent time, as those three can#t emulate all combobox features.

Even back in gtk-mui times, I wanted a combobox custom class, so now it was time to code one:

It even works with type-ahead ;-). There are still some minor bugs left, or some bugs in other parts of the gui were added during combobox development.

So there is still progress, but as always, time is much too limited to really progress fast.

PS: Forgot to mention, I moved my development environment to Debian/64bit, so from now on, x86_64/ABI_V1 is the primary target.


Sliding ..

WinUAE has some nice slider gadgets ("msctls_trackbar32"), which are now available in the AROS port, too:

So the CPU dialog is the most complete one, all gadgets are working as expected.

Ok, not much news, but as the blogger scene is not very active for AROS (at the moment?), I wanted to give you something to read ;-).


Virtual filesystems ... done.

So after quite some silence (and a lot of business trips and other stuff, which kept me away from AROS), I'll post an update for you ;):

From time to time I found a few free minutes, so I could implement all the missing virtual filesystem pieces step by step.

Basically you need to catch all m68k filesystem packets and call the according functions on the guest system. Now AROS as a host is a special case, because the native host filesystem supports the same features as the guest filesystem. The WinUAE problem, that the underlying windows filesystem eventually supports no comments, does not exist on AROS. So the best solution would have been to remove this middle ware completely, but I'll postpone that for a later time.

Nevertheless, now it works. It even works fast enough, the filesystem tasks expects to run in a higher priority than the main uae task. Not only on AROS, even on Windows WinUAE raises the priority. Strange for someone, who is used to Unix schedulers only..

So now, what's next? No idea ;). So back to the gui:
I implemented BS_AUTORADIOBUTTON controls, so that with Windows-native-looking calls to the Windows API the unmodified WinUAE code can interact with the native Zune GUI. Yeah, I know, sounds like gtk-mui. But as I hate gui logic coding and everybody would scream "I like the WinUAE gui more!" anyways, the WinUAE GUI it will be (just with Zune gadgets).

And finally, when you now select a CPU in the gui and start uae, the cpu is really set to the right model and your Amiga boots in the right configuration :-).


First boot from virtual filesystem!

After implementing some more functions and some debugging, I am now able to boot from a virtual filesystem. All AmigaOS files are stored in a linux-native filesystem and mounted inside uae for AmigaOS to use:
It is still *slow*. I don't know if this is because of the missing jit, the many debug log messages or any other issues, but hey, it at least works so far :)!

Config file used contains:


Getting closer ..

Still no contents, but at least no hang anymore..


Getting close..

Filesystems in uae are very dependent on interprocess-communication. While I really thought, I got this covered and right, somehow all those semaphores always got jammed somehow, resulting in a hang, as soon as the first AmigaOS filesystem packet reached the emulation code. AROS semaphores are just different than Windows Events, which have quite some more possibilities. So I had a look at fs-uae (isn't open source nice?) and found out, that obviously they had to struggle, too, as they provide glib, pthreads and sdl semaphore based uae implementations. So, we have SDL (and pthreads), too, so why not just use that code:
Not perfect, still hangs, but at least I now can see the workbench icon of my virtual work drive. This proves, that the problem was in the semaphore code, as with my own implementation, I got a hang much earlier. Did I say, I have not much time at the moment? But this nags on my mind, so I *have* to do it.


Small steps..

Currently I don't have much time to work on WinUAE, but I tried to get the virtual filesystems working:
It shows up in the early boot sequence, but it does not work later on. It's a first step at least..