Having each Amiga Pubscreen running windowed on the Windows Desktop ?
I know, that many people use UAE for gaming/demo/retro feeling. I use UAE to do some development and internet work. My favourite being GoldED, the very best text editor ever (no flames, please). And I miss it badly on Win. Same for PersonalPaint, ImageFX, fxPaint and such. I miss them! :crying
I think, that my request is not possible, otherwise it may have happened already, but upon searching the forum I found only one thread mentioning such a feature, that was three years ago and got mostly negative comments (why would one need this, etc.). So I thought I add one of my two biggest (and only) desires to the whishlist, for completeness (and the Google searchers) and out of curiosity. Imagine, if you could use your favourite Amiga applications being hosted within the Windows Desktop. Not a real emulation (Windows window instead of Intuition window), but a sepearate Windows window popping up for every Amiga pulbic screen, for example. One could hide the pubscreens not needed (ie: Workbench) and work in those desired. :bowdown Drag&Drop from the Windows side to these windows would not work as would not other things, but it would allow woring with applications, that open a pubscreen on the Amiga side right on the Windows desktop. |
An intriguing idea but I don't know how to program it. And I already know what Toni is going to say. :p
|
Ssshhht! Don't influence his opinion ;-)
|
(perhaps this isn't what you expected)
I am interested (!) BUT I don't have enough knowledge about intuition/layers.library internals. (and no, there is not enough official documentation, don't suggest anything basic like "check RKRM"..) |
Though it may be too basic, what about those windowgrabbers, Pubscreen-openers, that one could install as a commodity ? They knew how to intercept these things. Now I am totally dumb at this high level of programming, but I could imagine, that if you intercept the stuff just like those programs, and since it is you, who defines where the painting goes (into WinUAE)...
But then, I am just a worthless twit. Okay, enough of self-humilation for today. ;) Going to :sleep |
Screengrabbers just copy the display memory of the window/screen you want grabbed.
To have amiga windows open in microsoft windows the programmer would need to patch intuition/layers.library(and possibly a lot of others) functions to redirect the opening of the window on your windows desktop. That and some things are handled fundamently diffrent on amiga compared to microsoft windows(eg. menu, window resizing, ...) |
I wonder if you are thinking like WINE with Linux.... Click on the icon and the Amiga program loads using WinUAE to handle the emulation.
Interesting but how many Amiga apps are better than their PC counterparts when Amiga has lain dormant for so long? :( |
My first reply will magically change if you ask or reply offtopic questions :)
|
Quote:
Here's how it could work. I'm mainly referring to native chipset screens, though I guess the P96 case would be similar. For testing purposes, write a program that SetFunction()s OpenScreen, CloseScreen, ScreenToFront, ScreenToBack etc. When a screen is opened, check whether: - its name matches "WinUAE test" (or whatever) - screen is public - screen is opened exclusive and non-draggable In that case tell the emulation to do something special. When the screen is moved to the back or closed the emulation code would be told about it. Whenever the screen is at the front, instead of WinUAE doing its normal display refresh routine, just copy the contents of the screen's BitMap to a window on the desktop. (That is, instead of rendering everything, screen and overscan borders, just render the actual screen area in a window.) That could be extended to multiple screens. E.g. if there were three screens, only one would be active at a time. The other two (in separate windows on the desktop) could be minimised, or open but inactive. (Maybe periodically refresh them in case a program using that screen is rendering in the background.) Mouse pointer handling would need to be patched, so the emulated Amiga pointer follows the Windows pointer. If the user moves the pointer out of one screen's window and clicks in another, the emulation would effectively call ScreenToFront() to bring the just-clicked in screen to the front. Periodically refreshing non-frontmost screens could mostly be avoided if you patch all rendering functions in graphics.library etc. so WinUAE knows whether any rendering to those screens has occurred. (I'm guessing Picasso96 patches those functions and more? Maybe the P96 authors could help -- if they're still interested/involved with the Amiga.) -- M |
Quote:
Quote:
Don't misunderstand me! There is a lot of software on Windows, that is brilliant or cool (Multimedia stuff, Photoshop, Office, OpenOffice, Web-Browsers, InstantMessaging, Telephony, IDE, etc.) But some things are simply missing, underpowered or just too professional for someone like me. |
Quote:
Quote:
But as I understand, this is the problem, since it would mean, that the screen-opening within the same window of WinUAE would need to be supressed. And that seems to require patching AmigaOS. |
If you want it like that you can just run multiple instances of winuae in windowed mode.
But this setup would provide some limits though. |
Better an uhgly hack in the program than an uhgly hack on my desktop ;)
No, serious, I would not want that. Imagine, several instances accessing the same filesystem, CPU load etc. (I did not even know one could run more than one WinUAE instance at the same time). |
All times are GMT +2. The time now is 07:25. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.