English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   request.UAE Wishlist (https://eab.abime.net/forumdisplay.php?f=56)
-   -   Having each Amiga Pubscreen running windowed on the Windows Desktop ? (https://eab.abime.net/showthread.php?t=32659)

amix 16 October 2007 23:52

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.

YoJoe! 17 October 2007 07:11

An intriguing idea but I don't know how to program it. And I already know what Toni is going to say. :p

amix 17 October 2007 14:49

Ssshhht! Don't influence his opinion ;-)

Toni Wilen 17 October 2007 19:35

(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"..)

amix 18 October 2007 01:36

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

smoorke 18 October 2007 11:01

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, ...)

Methanoid 18 October 2007 13:18

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? :(

Toni Wilen 18 October 2007 13:28

My first reply will magically change if you ask or reply offtopic questions :)

mark_k 18 October 2007 16:53

Quote:

Originally Posted by Toni Wilen (Post 365128)
(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"..)

To do it in a neat, efficient way I guess you would need some internal knowledge. However, at least what amix suggested regarding public screens (as opposed to individual windows) might be feasible without too much trouble.

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

amix 18 October 2007 22:41

Quote:

Originally Posted by Methanoid (Post 365241)
I wonder if you are thinking like WINE with Linux....

No, what I meant was: Have each Screen/Pubscreen (or Pubscreen only, whatever is more easy) be displayed in a seperate WinUAE window. So each time the user changes the screen (upper right gadget in AmigaOS menubar), it opens within (or switches to) a new WinUAE window on the Windows desktop. 1 Windows window = 1 AmigaOS screen. That's all. ;)

Quote:

Interesting but how many Amiga apps are better than their PC counterparts when Amiga has lain dormant for so long? :(
Oh, these come to my mind:
  • GoldED (best easy-to-use Text Editor ever (IMO), only Emacs can do more)
  • YAM
  • NewsRog
  • Dynamite! :great
  • AmIRC (only alternative I know of: www.klient.com, but AmIRC has much more winderful scripts available for download!)
  • ever seen an easy to use Bitmap Paint program on Windows ? I didn't. PersonalPaint (my favorite, full ARexx scripting), XiPaint (also ARexx) (There is raster-image editors, but most are focussed on image-processing (even with a photography bias) and not on painting/drawing)
  • fxPaint, ArtEffect, ImageFX (very simple to use image-processors. Yes, I know, there is Photoshop and Gimp, but are they as easy ? Do they run my Arexx macros, oh, and at what price (at least Photoshop) ?)
  • SoundFX
Just compare the text-editor situation on Windows, KDE, Gnome (not talking Vim and Emacs here) and AmigaOS. Most editor programmers are fond of syntax-highlighting and folding. That's the reality! :banghead I registered Zeus for Windows, which is pretty powerful, but it can't match GoldED still.

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.

amix 18 October 2007 22:48

Quote:

Originally Posted by smoorke (Post 365220)
Screengrabbers just copy the display memory of the window/screen you want grabbed.

And wouldn't this be what is needed ? Copy the memory ?

Quote:

That and some things are handled fundamently diffrent on amiga compared to microsoft windows(eg. menu, window resizing, ...)
But this would already mean, that WinUAE emulates behavior. I did not have this in mind. What I meant was simply (?) grabbing the whole screen and let it stay an Amiga screen. No emulation of menus, window resizing. All would stay as is with WinUAE now, with the only dfference, that WinUAE redirects any screen opening to another window. If you open a menu on AmigaOS it would just happen as it is now. The only (?) difference would be the opening of any Amiga screen as a seperate WinUAE-window.

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.

smoorke 19 October 2007 13:58

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.

amix 19 October 2007 14:10

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.

Page generated in 0.06535 seconds with 11 queries