Windows for ARM ... PB for ARM ?

Everything else that doesn't fall into one of the other PB categories.
USCode
Addict
Addict
Posts: 923
Joined: Wed Mar 24, 2004 11:04 pm
Location: Seattle

Re: Windows for ARM ... PB for ARM ?

Post by USCode »

Thorium wrote:FASM for ARM doesnt matters, if there would be no ARM FASM they could just use another assembler.
I guess the biggest part would be the ARM compiler. Second all the libs need to be adjusted for other API's. And we would need some new libs to fully use mobile features.

I hope they will do it some time and i hope they support Android or just plain Linux. I am not a fan of iOS and it's Apple only.
If I understand correctly, most of the PB libraries were written in C? And wouldn't Microsoft have to have created an ARM compiler for Windows and made the necessary changes to the Win32 libraries for ARM? If so, wouldn't Fred mostly just have to recompile his libraries on the ARM platform using the Microsoft ARM compiler?
There are undoubtedly many other things he is going to have to do but that is a big portion of it, correct?
Ramihyn_
Enthusiast
Enthusiast
Posts: 314
Joined: Fri Feb 24, 2006 9:40 am

Re: Windows for ARM ... PB for ARM ?

Post by Ramihyn_ »

USCode wrote:
Thorium wrote:FASM for ARM doesnt matters, if there would be no ARM FASM they could just use another assembler.
I guess the biggest part would be the ARM compiler. Second all the libs need to be adjusted for other API's. And we would need some new libs to fully use mobile features.

I hope they will do it some time and i hope they support Android or just plain Linux. I am not a fan of iOS and it's Apple only.
If I understand correctly, most of the PB libraries were written in C? And wouldn't Microsoft have to have created an ARM compiler for Windows and made the necessary changes to the Win32 libraries for ARM? If so, wouldn't Fred mostly just have to recompile his libraries on the ARM platform using the Microsoft ARM compiler?
There are undoubtedly many other things he is going to have to do but that is a big portion of it, correct?
I havent tried the Win8 developer preview yet and Microsoft still seems to adjust and change things. So the following informations might change or already be outdated.

Windows 8 will run on the well known x86 architecture and also on ARM. For Windows8 there are two general application types you can create. So called "Metro style apps" and "Desktop apps". For traditional Desktop apps, you can use Win32 or NET but for Metro style apps, there is a new Systemservice called WinRT.

See the Windows 8 platform and tools image here: http://www.heise.de/developer/artikel/W ... oom;zoom=1
(Sorry i couldnt include it due to the size of the image and board restrictions)

WinRT and Win32/Net are NOT compatible and may NOT be as easy to port between as developers would hope. Some C++/C# class names/functions changed and there are incompatibilities with XAML/UI description. Other articles went into more detail about this, regarding changed control's and the general consent seemed to be that the differences are large enough so you may have to maintain two code bases even.

From what was said so far, you can run Metro apps on Windows 8 X86 and ARM, but desktop apps can only run on Windows 8 x86. That makes sense if you look at the target platforms and different environment settings. ARM CPU's can't (yet) compete with x86 in cpu power and x86 CPU's can't yet compete with ARM in power efficiency. I am pretty sure both companies work hard to close the respective gap for their CPU.

Windows 8 wasnt released yet and i havent had a look at the developer preview. So these parameters might change due to Microsoft listening to developers as they did in the past (WinFX for example).

But if nothing changes and these rules will apply for windows 8:
  • - metro style apps run on windows 8 x86 and ARM
    - desktop apps run on windows 8 x86
then it won't be as easy to enable PureBasic to run on ARM based windows8 because it would also mean changing from Win32 to WinRT services :|

We will see... (in 2012 when the final version is released)
USCode
Addict
Addict
Posts: 923
Joined: Wed Mar 24, 2004 11:04 pm
Location: Seattle

Re: Windows for ARM ... PB for ARM ?

Post by USCode »

Ramihyn_ wrote:...then it won't be as easy to enable PureBasic to run on ARM based windows8 because it would also mean changing from Win32 to WinRT services ...
Initially couldn't PB just support Desktop-style applications on Win8 and if so wouldn't need to utilize the WinRT services?
Later a separate Windows-only library could be added with support for Metro-style apps.
Thorium
Addict
Addict
Posts: 1305
Joined: Sat Aug 15, 2009 6:59 pm

Re: Windows for ARM ... PB for ARM ?

Post by Thorium »

Ramihyn_ wrote:
  • - metro style apps run on windows 8 x86 and ARM
    - desktop apps run on windows 8 x86
I guess this is why many think Win 8 will fail on ARM. In it's current state metro is a disaster, on Desktops it's pretty useless and just kills the workflow of every work.
While the mobile version does not get the desktop, so dont enables porting of windows apps by just compiling them for Win 8 ARM.
Mobile devices could benefit from a full fledged desktop. There are not much out there that actualy do have one. I love the OpenPandora handheld for having a full fledged Linux desktop.
Ramihyn_
Enthusiast
Enthusiast
Posts: 314
Joined: Fri Feb 24, 2006 9:40 am

Re: Windows for ARM ... PB for ARM ?

Post by Ramihyn_ »

USCode wrote:
Ramihyn_ wrote:...then it won't be as easy to enable PureBasic to run on ARM based windows8 because it would also mean changing from Win32 to WinRT services ...
Initially couldn't PB just support Desktop-style applications on Win8 and if so wouldn't need to utilize the WinRT services?
Later a separate Windows-only library could be added with support for Metro-style apps.
I am pretty certain that PureBasic x86/x64 applications will run fine on Windows 8 as desktop apps. But how would that help ARM support?

On a sidenote, Intel seems happy about their "competitive edge" with windows 8 because "there are hardly any drivers or applications" (for metro mode and therefore ARM, right now).
Thorium wrote:
Ramihyn_ wrote:
  • - metro style apps run on windows 8 x86 and ARM
    - desktop apps run on windows 8 x86
I guess this is why many think Win 8 will fail on ARM. In it's current state metro is a disaster, on Desktops it's pretty useless and just kills the workflow of every work.
While the mobile version does not get the desktop, so dont enables porting of windows apps by just compiling them for Win 8 ARM.
Mobile devices could benefit from a full fledged desktop. There are not much out there that actualy do have one. I love the OpenPandora handheld for having a full fledged Linux desktop.
I really like my Ideapad S10-3t with it's x86 compatible Atom CPU running both Windows 7 x86 and Linux x86 and being useable both as pad and as netbook. Best of both worlds and with an SSD and some configuration, i can work 8 1/2 to 9 hours mobile. So i personally don't need see why i would want an ARM based Windows8 pad, unless they get a large market and i need to test Metro apps ;)

OpenPandora looks interesting, but i never saw it in any shop and i see they still arent in "regular production". Do you actually own one?
User avatar
Kuron
Addict
Addict
Posts: 1626
Joined: Sat Oct 17, 2009 10:51 pm
Location: Pacific Northwest

Re: Windows for ARM ... PB for ARM ?

Post by Kuron »

USCode wrote:Initially couldn't PB just support Desktop-style applications on Win8 and if so wouldn't need to utilize the WinRT services?
Correct. PB programs being run on Windows 8 won't be using WinRT. WinRT is for use with "Metro-style" apps. MS's official words:

"WinRT is the provider of all Windows system services to interpreted code. Networking, device access, file system access, security protocols, and graphical layout are among these services - the same categories you'd expect from .NET, but not the same functions."

Image

USCode wrote:Later a separate Windows-only library could be added with support for Metro-style apps.
You won't be able to write Metro apps with PureBasic even if PB compiled for ARM. Metro apps can only be written in HTML5, JavaScript or .NET. This is the ONLY way to get apps onto a Windows 8 ARM tablet. Metro apps will only be able to be sold via Microsoft's app store. Microsoft's official words are in italics:

Metro apps will be “Distributed through the Windows Store. Apps must pass certification so that users download and try apps with confidence in their safety and privacy. Side-loading is available for enterprises and developers.


I am sure somebody could attempt to write a PB to HTML5/JavaScript code converter, but it would be best to do a complete "do over" like Mark Sibly did with monkey. You simply won't be able to convert some PB code into something that is Metro compatible because Metro apps interface with the system differently. Metro apps run sandboxed and rely on the application broker for access to system resources. Also, APIs like the common dialog will not be available.

For PB to support Windows 8's ARM implementation, PB will have to quit compiling and just start exporting code into one of the supported syntaxes like monkey does for the platforms it supports. Unfortunately, all of the Windows system commands in PB are made for Win32, not WinRT and there would be some major compatibility issues.

Here is a good presentation on how Metro apps should be written:

http://channel9.msdn.com/Events/BUILD/B ... 1/BPS-1004
Best wishes to the PB community. Thank you for the memories. ♥️
Zach
Addict
Addict
Posts: 1675
Joined: Sun Dec 12, 2010 12:36 am
Location: Somewhere in the midwest
Contact:

Re: Windows for ARM ... PB for ARM ?

Post by Zach »

Kuron wrote:
Zach wrote:Windows is an entire operating system, PureBasic is a programming language.

Isn't that a little apples to oranges? :?
So you expect PB and PB created programs to be able to be used without an operating system?
Now you're just playing games.

You equated the task of porting PB to ARM with the complexity of porting an entire OS like Windows. Still, it requires an even bigger leap of logic to get to "PB would not work on ARM because MS will "fail" with its Windows port", when the fact of the matter is the attempt to port it is being made, and it will exist as an OS running on ARM.

Whether or not it is commercially viable is not very relevant to my point. But as long as the OS is there, then it should be feasible to attempt porting PB. I was not addressing whether or not is was a good idea.
User avatar
Tenaja
Addict
Addict
Posts: 1959
Joined: Tue Nov 09, 2010 10:15 pm

Re: Windows for ARM ... PB for ARM ?

Post by Tenaja »

Thorium wrote:...I guess the biggest part would be the ARM compiler. Second all the libs need to be adjusted for other API's. And we would need some new libs to fully use mobile features.
Actually, you have it totally backwards; the most time consuming--by FAR--will be the commands. Look at the pbcompiler.exe file size--about 200k--and only a tiny fraction of that is actual code output; most is lexing and parsing. The libraries, on the other hand, are enormous. So much so, in fact, that it would very likely be faster for him to port it to Java so he can take advantage of the libraries already done. Then he'd have the advantage of open source libraries that are code compatible... but that's another topic. Like comparing it to Jabaco.
Fred
Administrator
Administrator
Posts: 18162
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Re: Windows for ARM ... PB for ARM ?

Post by Fred »

Actually, all the libs are mainly in C, so porting them should be no problem. But for the compiler, it's another story because the code generator not only have to output ARM code, but also ARM which works ! And that's a lot of work, test, and so on.
Ramihyn_
Enthusiast
Enthusiast
Posts: 314
Joined: Fri Feb 24, 2006 9:40 am

Re: Windows for ARM ... PB for ARM ?

Post by Ramihyn_ »

Fred wrote:Actually, all the libs are mainly in C, so porting them should be no problem.
Yes, but how different are the SystemService calls between WinRT and Win32? Have you looked into the WinRT api yet?
Thorium
Addict
Addict
Posts: 1305
Joined: Sat Aug 15, 2009 6:59 pm

Re: Windows for ARM ... PB for ARM ?

Post by Thorium »

Ramihyn_ wrote: OpenPandora looks interesting, but i never saw it in any shop and i see they still arent in "regular production". Do you actually own one?
Yes, i do own one.
And yes they are not in "regular production". The project is made by just a few guys and it's their first project of this kind. So they had many unexpected problems, like companies dont stick to their promised production speeds, etc.
Right now board population is moved from USA to germany because the company in USA did a very bad and slow job.

It is definitly a enthusiast device. If you order one you have to wait a long time for it. I waited one year. For retro gaming it is worth the wait and price for anything else it's a bit outdated.
If you are into retro gaming the Pandora has the best gaming controlls i ever used, and i did used a lot. The analog controllers are extremly good and especialy developed for the Pandora.
Emulation state is awesome. Many of the best emulator developers work on emulators for the Pandora. It can even emulate the N64.
Last edited by Thorium on Thu Dec 01, 2011 8:23 pm, edited 2 times in total.
User avatar
Kuron
Addict
Addict
Posts: 1626
Joined: Sat Oct 17, 2009 10:51 pm
Location: Pacific Northwest

Re: Windows for ARM ... PB for ARM ?

Post by Kuron »

Zach wrote: You equated the task of porting PB to ARM with the complexity of porting an entire OS like Windows.
No, I didn't. You are intentionally misrepresenting what I said.
Best wishes to the PB community. Thank you for the memories. ♥️
User avatar
Kuron
Addict
Addict
Posts: 1626
Joined: Sat Oct 17, 2009 10:51 pm
Location: Pacific Northwest

Re: Windows for ARM ... PB for ARM ?

Post by Kuron »

Ramihyn_ wrote:
Fred wrote:Actually, all the libs are mainly in C, so porting them should be no problem.
Yes, but how different are the SystemService calls between WinRT and Win32? Have you looked into the WinRT api yet?
Asking about WinRT is irrelevant since PB would NOT be able to create Metro apps even if PB compiled for ARM.
Best wishes to the PB community. Thank you for the memories. ♥️
Ramihyn_
Enthusiast
Enthusiast
Posts: 314
Joined: Fri Feb 24, 2006 9:40 am

Re: Windows for ARM ... PB for ARM ?

Post by Ramihyn_ »

Kuron wrote:Asking about WinRT is irrelevant since PB would NOT be able to create Metro apps even if PB compiled for ARM.
Ramihyn_ wrote:But if nothing changes and these rules will apply for windows 8:
  • - metro style apps run on windows 8 x86 and ARM
    - desktop apps run on windows 8 x86
The most recent source which confirms this, is the Intel CEO in a statement from 30th november 2011. So it isnt irrelevant, but a necessity.
User avatar
Kuron
Addict
Addict
Posts: 1626
Joined: Sat Oct 17, 2009 10:51 pm
Location: Pacific Northwest

Re: Windows for ARM ... PB for ARM ?

Post by Kuron »

Ramihyn_ wrote:
Kuron wrote:Asking about WinRT is irrelevant since PB would NOT be able to create Metro apps even if PB compiled for ARM.
Ramihyn_ wrote:But if nothing changes and these rules will apply for windows 8:
  • - metro style apps run on windows 8 x86 and ARM
    - desktop apps run on windows 8 x86
The most recent source which confirms this, is the Intel CEO in a statement from 30th november 2011. So it isnt irrelevant, but a necessity.
Like I have said, asking about WinRT is irrelevant since PB will not be able to create Mero apps! Whether on the ARM version of Windows 8 or on the x86 version of Windows 8, Metro apps can ONLY be written in HTML5, JavaScript or .NET. You cannot write Metro apps using native code. Only desktop apps can be native code. Did you watch the video I linked to above where MS fully explains Metro apps and how they must be made? It will clear up your confusion. Did you look at the image I inserted above? It will clear up your confusion.
Best wishes to the PB community. Thank you for the memories. ♥️
Post Reply