Amiga.org

Operating System Specific Discussions => AROS Research Operating System => Topic started by: 4pLaY on March 05, 2004, 11:54:02 PM

Title: AROS Hits the Papers.
Post by: 4pLaY on March 05, 2004, 11:54:02 PM
A Status Update is overdue, we know that already, no need to remind us ;-) In the meantime, let me announce an important fact: thanks to Paolo Besser, this month's edition of the best selling Italian PC game magazine, TGM, is shipping with a copy of AROS on its DVD, a review of AROS and a full blown tutorial which will guide you trough the process of installing AROS on an hard disk.
Title: Re: AROS Hits the Papers.
Post by: Matt_H on March 06, 2004, 12:09:15 AM
Cool. I've played with some of the AROS ISO images, but I haven't tried actually installing it to disk yet. That tutorial sounds useful.
Title: Re: AROS Hits the Papers.
Post by: 4pLaY on March 06, 2004, 12:11:35 AM
Im afraid its in italian :).
Title: Re: AROS Hits the Papers.
Post by: Matt_H on March 06, 2004, 12:13:33 AM
Well, yes. But I meant that as more of a general statement. :-) I'm sure Italians will find it useful!
Title: Re: AROS Hits the Papers.
Post by: 4pLaY on March 06, 2004, 12:16:31 AM
Its quite easy to install AROS :) however it takes its time (the _very_ basic installer is slow)! on another note support for PNG icons has been added :Q + there is more goodies comming this and next month stay tuned.
Title: Re: AROS Hits the Papers.
Post by: Matt_H on March 06, 2004, 12:21:53 AM
Is there a 68K JIT emulator in the works? When/if that's available, I'll have an x86 AROS box assembled faster than you can say "Operating System"
Title: Re: AROS Hits the Papers.
Post by: 4pLaY on March 06, 2004, 12:25:01 AM
This has probably been said to death before but ill repeat it anyways  no its not and its has not been planned at all (nobody in the current AROS team has any interest in it as far as i know! for us UAE inside AROS is more then enough).
Title: Re: AROS Hits the Papers.
Post by: KennyR on March 06, 2004, 01:26:44 AM
Quote
4pLaY wrote:
This has probably been said to death before but ill repeat it anyways no its not and its has not been planned at all (nobody in the current AROS team has any interest in it as far as i know! for us UAE inside AROS is more then enough).


The idea of having to write every single AROS app that will exist doesn't sound very appealing. What about existing system-friendly Amiga browers, paint packages, apps, etc? UAE is serious overkill for those. And 99% of the Amiga stuff I use here on MOS isn't open source and isn't ever going to be open source. Without it all I wouldn't really have much of a system.
Title: Re: AROS Hits the Papers.
Post by: 4pLaY on March 06, 2004, 01:30:36 AM
Id rather have native appz then emulated ones but maybe thats just me :) im quite confident AROS will gain more and more software as time passes by! some Amiga appz of course you will never see an AROS version of but you cant have everything you want here in life.
Title: Re: AROS Hits the Papers.
Post by: KennyR on March 06, 2004, 01:38:20 AM
I really, really think AROS people should rethink their position on 68k emulation. I mean, what are you going to do for a browser? AROS can't really sit without one until someone manages to port Mozilla or Firebird 3 years down the line (if ever). Voyager and IB are closed source and can't be recompiled. AWeb can, but needs ClassAct, which isn't open source, so you can't get that either!

And that's just the browers. There's a whole other bunch of stuff that Amiga ppl take for granted that would take major effort and time (and bounties?) to clone on AROS.
Title: Re: AROS Hits the Papers.
Post by: 4pLaY on March 06, 2004, 01:43:23 AM
Im sorry but as we have probably stated a zillion times ;) its quite hard implementing a 68k emulator in the same way as on MOS/OS4 in fact if we do it will dragg down the whole OS performance (on x86)  and thats NOT AN OPTION (at least in my eyes)! then we should also add that there is starting to be quite vocal requests for MP and other things its impossile to add without breaking compatibility with AmigaOS! you just cant have it all im afraid.
Title: Re: AROS Hits the Papers.
Post by: CodeSmith on March 06, 2004, 02:37:51 AM
Aros is open source, what license does it fall under?  If it's GPL, why not just "borrow" the UAE CPU emulator core?  It will benefit both projects, that's the whole point of open source after all.
Title: Re: AROS Hits the Papers.
Post by: dammy on March 06, 2004, 03:31:39 AM
It's under AROS Public License.  GPL can be used for certain things (not libraries), but it's pretty restricted within AROS in order to perserve the APL.  LGPL, OTOH, it's all good. ;)

Dammy
Title: Re: AROS Hits the Papers.
Post by: that_punk_guy on March 06, 2004, 05:38:40 AM
Nice! :-D
Title: Re: AROS Hits the Papers.
Post by: BigBenAussie on March 06, 2004, 11:00:27 AM
Hmmmm....Let me get this straight. AROS is not compatable with any Amiga software at all?

Or is it a simple matter of recompilation?

Or do you have to write explicitly for AROS?

I guess...errr....cool..and all.....but what does it mean?

What can I actually do with AROS?

Except look like I am using an Amiga.
Title: Re: AROS Hits the Papers.
Post by: that_punk_guy on March 06, 2004, 11:09:26 AM
Quote
BigBenAussie wrote:
Hmmmm....Let me get this straight. AROS is not compatable with any Amiga software at all?


You can't run Amiga executables on it directly, but...

Quote

Or is it a simple matter of recompilation?


AROS is supposed to be compatible at source-code level. As far as I'm aware, recompiling programs for AROS requires little or no changes to the program source.

Quote

I guess...errr....cool..and all.....but what does it mean?

What can I actually do with AROS?

Except look like I am using an Amiga.


No, if you want to look like you're using an Amiga, use WindowBlinds on top of Win2K.

AROS is an Amiga-like OS that aims to run on a variety of different architectures. How it looks is not really important.
Title: Re: AROS Hits the Papers.
Post by: dammy on March 06, 2004, 11:30:43 AM
by BigBenAussie on 2004/3/6 6:00:27

Quote
Hmmmm....Let me get this straight. AROS is not compatable with any Amiga software at all?


Not unless your running UAE.  68K code has to be emulated, wether it's AOS/MOS or AROS, there is emulation somewhere going on if it's being run on a none 68K machine.  Now there is a bounty (http://www.thenostromo.com/teamaros/bounty_details_7.html) for intergration of UAE for those who want it simplied.

Quote
Or is it a simple matter of recompilation?


That is the perferred method of running the code, natively.

Quote
Or do you have to write explicitly for AROS?


I should let the devs answer this one since they have more complete knowledge. Now from what I understand, if the amiga application source isn't banging on the hardware, it should recompile on AROS with minimum of hassle.  YMMV.  Since it's coming from the code intended to run on the Amiga to a portable OS with minimum hassles, is pretty impressive, IMO.

Quote
I guess...errr....cool..and all.....but what does it mean?

What can I actually do with AROS?

Except look like I am using an Amiga.


Currently, you can develope code on AROS.  In the near future, with FAT32 support and TCP/IP being worked on, it's real capabilities as a desktop OS will be more apparent to the end user.  If your not a developer, you can sit with us beta testers and watch as a OS is created in front of you.  Remember, alot of things general computer users are use to in a desktop OS were never included in any C= WB releases.  Even with the H&P 3.x releases, things such as tcp/ip were third part efforts.  AROS, OTOH, is working to bring those as apart of the OS, for free.  :-D

Dammy
Title: Re: AROS Hits the Papers.
Post by: Emufreak on March 06, 2004, 12:17:42 PM
For all of you who want to run Amiga Apps Natively on AROS. Put 50 Bucks on the integration of UAE into AROS bounty. It's basicly the same as just JIT-Emulation. Well maybe a little slower. But with it you could even run hardwarebanging apps "natively".
Title: Re: AROS Hits the Papers.
Post by: asian1 on March 06, 2004, 12:38:10 PM
>68K emulation

Hello
With future X86 CPUs at 3 GHz / more, is 68K emulation remain
a difficult problem?
What about coldfire PCI co-processor card, or 68K Smaky
PCI card from Epsitec?

Epsitec (http://www.epsitec.ch)

BTW Do TGM accept order from overseas?
Title: Re: AROS Hits the Papers.
Post by: bloodline on March 06, 2004, 03:23:02 PM
Quote

Emufreak wrote:
For all of you who want to run Amiga Apps Natively on AROS. Put 50 Bucks on the integration of UAE into AROS bounty. It's basicly the same as just JIT-Emulation. Well maybe a little slower. But with it you could even run hardwarebanging apps "natively".


I think I should point out that a method of running 68k apps on the x86 version of AROS has been decided.

Please listen as I'm a bit tired to retyping this :-):

1. We will have the AROS Port of UAE running as a task in AROS (with JIT etc...)
2. We will run a 68k version of AROS on UAE.
3. The 68k version of AROS will be special in as much as it will pass all system function calls to the Native (in this case x86) version of AROS.

This will mean that you will not see UAE as the 68k programs will be using the same interface as the x86 Apps, that is to say they will co-exist on the Workbench screen, even be able to share data, and access the same drives.
This will also have the benefit of allowing hardware banging apps to run on thier own Intuition screen (they will multitask with the x86 apps :-D ).

The one draw back is that 68k libraries cannot be used with x86 programs, and vice versa.


The thing we need to make this happen is for someone to work on the Amiga (UAE) port of AROS.
Yes, put money into the emulation bounty, as "wes" has already expressed an interest in doing this after the TCP/IP bounty.
Title: Re: AROS Hits the Papers.
Post by: dammy on March 06, 2004, 04:26:16 PM
If anyone is interested in starting a new bounty for AROS, please email damocles@thenostromo.com, thanks

Dammy
No Schedule and Rockin'!
Title: Re: AROS Hits the Papers.
Post by: Crumb on March 06, 2004, 04:43:34 PM
"Im sorry but as we have probably stated a zillion times ;) its quite hard implementing a 68k emulator in the same way as on MOS/OS4 in fact if we do it will dragg down the whole OS performance (on x86) and thats NOT AN OPTION (at least in my eyes)! then we should also add that there is starting to be quite vocal requests for MP and other things its impossile to add without breaking compatibility with AmigaOS! you just cant have it all im afraid."

I don't agree. You could split the ram in two sections using the MMU. The 68k programs would be put in one memory space and all accesses from 68k would be converted to little-endian and the accesses from x86 software to 68k modules as the 68k modules/programs would be in the "68k memory space" would simply convert the addresses.

That wouldn't slow down aros unless you use 68k programs/libs/etc and that wouldn't change much the design.

OS4 has done that and it's the most portable solution to emulate 68k on x86 IMHO. You should finish your MMU.hidd first, of course.

And I prefer native programs too, but I prefer programs that no programs at all.

The idea of using an UAE with a rom that calls directly to AROS functions sounds well the first time you hear it, but later you realize that you won't be able to use 68k libraries on AROS, so it's not a good solution.
Title: Re: AROS Hits the Papers.
Post by: bloodline on March 06, 2004, 04:48:05 PM
Quote

I don't agree. You could split the ram in two sections using the MMU. The 68k programs would be put in one memory space and all accesses from 68k would be converted to little-endian and the accesses from x86 software to 68k modules as the 68k modules/programs would be in the "68k memory space" would simply convert the addresses.


I have no idea how one could actually do that... Why don't you build an emulator as you've described so that we can see it.
Title: Re: AROS Hits the Papers.
Post by: falemagn on March 06, 2004, 04:53:38 PM
Quote

I don't agree. You could split the ram in two sections using the MMU. The 68k programs would be put in one memory space and all accesses from 68k would be converted to little-endian and the accesses from x86 software to 68k modules as the 68k modules/programs would be in the "68k memory space" would simply convert the addresses.


Sorry, not possible.

Take, for instance, this case. We have a little-endian ULONG in memory, whose value is, say, 0x01020304, hence it's stored like this (values are in HEX, pipes divide bytes from one another, leftmost digit is the one at the lowest memory address):

Little endian 0x01020304:

|04|03|02|01|

Now say a 68k program wants to access that value, but for some reasons it will do it one byte at time, storing each one of those bytes in consecutive memory locations. Now, since it's doing a byte access to memory, there's presumably no need to do any byte swapping, or rather, it's simply impossible to do any byte swapping. Now, let's see what's the end result of this operation:

Big endian 0x04030201:

|04|03|02|01|

As you can see, the 68k program read the wrong value: it read 0x04030201 whilst it should have read 0x01020304.

Quote

OS4 has done that and it's the most portable solution to emulate 68k on x86 IMHO.


AOS4 (why do you people keep forgetting the 'A'?) has not done that at all, it doesn't do any byteswapping, it simply doesn't need to.
Title: Re: AROS Hits the Papers.
Post by: on March 06, 2004, 05:01:31 PM
Couldn't you force all emulation accesses to read longwords (rounded down to the nearest boundary) and bytewap, then use fairly simple logic to retreive the correct byte or word? :)
Title: Re: AROS Hits the Papers.
Post by: falemagn on March 06, 2004, 08:26:17 PM
Quote

Couldn't you force all emulation accesses to read longwords (rounded down to the nearest boundary) and bytewap, then use fairly simple logic to retreive the correct byte or word? :)


Eh... that would work in that specific case, not certainly in the general case: what if the data is NOT in litte-endian mode, but it's just text being copied from one memory location to another? You see, it doesn't work.
Title: Re: AROS Hits the Papers.
Post by: Crumb on March 08, 2004, 05:47:38 PM
@Bloodline:
"I have no idea how one could actually do that... Why don't you build an emulator as you've described so that we can see it."

Firstly I would need an MMU.hidd. ;-)

And later AROS would need virtual addressing to make it work efficiently, otherwise we would have to reserve the memory of each cpu zone

@falemagna:
Of course OS4 (I ommit the "A" because it is THE AmigaOS) doesn't need to switch words, it's running on a big-endian cpu so no need to do that...
If you have the x86 and the 68k data long-word aligned you could do it this way:

|0A|0B|0C|0D| addresses-> 01,02,03,04

if I wanted to read the 2nd byte from the little endian ram zone the first thing I would do is to check what byte of the longword would it be part of...

if the byte is in the address from 01-04 it is part of the first longword, if the byte is in the address 05-08 etc...

so we read the address 02 and it's detected that it's part of the first longword, so we flip the bytes and we read 0C. If we read the third byte we read 0B, if we read the 4th, 0A. So now we have in the 680x0 memory area:
0D|0C|0B|0A

if the x86 native program tries to access some bytes, as the memory will be aligned we will choose the right byte thanks to the memory alignment.

So basicly we would check ALL the accesses to memory and we would byteswap absolutly everything.

In conclusion:
-we have an MMU to mark one zone as 68k and other as x86 (that would require MMU.hidd to work, and virtual addressing activated to be efficient and to avoid wasting too much memory)
-we have everything long-word aligned (more or less easy)
-we determine if a byte is part of one longword or part of the next one (a bit slow, I know)
-we swap the bytes to copy the right one to the different memory areas (680x0 and x86)


I said that it was similar to the OS4 approach only because they also split the memory in two parts, the 680x0 zone and the x86 zone.

BTW, I've translated the AROS introduction to Spanish, where should I send it?

-edit-
I've read the other comment later...
"what if the data is NOT in litte-endian mode, but it's just text being copied from one memory location to another? You see, it doesn't work. "

mmm If I read a text in a little-endian machine, wouldn't it be stored this way?:

Original text: "THIS_IS_TEXT"

1st longword: SIHT
2nd longword: _SI_
3rd longword: TXET

Then it would be copied correctly to the 680x0 memory area swapping the bytes just like in the other situation
Title: Re: AROS Hits the Papers.
Post by: bloodline on March 08, 2004, 09:51:41 PM
Quote

BTW, I've translated the AROS introduction to Spanish, where should I send it?


That's great! Just send it to the aros-dev mailing list, thanks :-)
Title: Re: AROS Hits the Papers.
Post by: falemagn on March 10, 2004, 01:01:17 PM
Quote

If you have the x86 and the 68k data long-word aligned you could do it this way:


This is a requirement impossible to meet, there's no way to know the alignment of the data being accessed, since the processor doesn't know what _type_ that data is, the processor, virtual or not, just accesses some data of certain size as the program tells it, it doesn't know anything about the big picture.

Quote

|0A|0B|0C|0D| addresses-> 01,02,03,04

if I wanted to read the 2nd byte from the little endian ram zone the first thing I would do is to check what byte of the longword would it be part of...

if the byte is in the address from 01-04 it is part of the first longword, if the byte is in the address 05-08 etc...

so we read the address 02 and it's detected that it's part of the first longword, so we flip the bytes and we read 0C. If we read the third byte we read 0B, if we read the 4th, 0A. So now we have in the 680x0 memory area:
0D|0C|0B|0A


This is what Neko proposed, and I already explained why it wouldn't work.


Quote

-we have everything long-word aligned (more or less easy)


Nope, that's not easy at all, it's actually impossible.

Besides, even if everything were aligned to 4 bytes, it would simply not work anyway (again, think about text, or even about 2 WORDs being accessed as one LONG).

Quote

-edit-
I've read the other comment later...
"what if the data is NOT in litte-endian mode, but it's just text being copied from one memory location to another? You see, it doesn't work. "

mmm If I read a text in a little-endian machine, wouldn't it be stored this way?:

Original text: "THIS_IS_TEXT"

1st longword: SIHT
2nd longword: _SI_
3rd longword: TXET


Nope, not at all, it would still be stored like "THIS_IS_TEXT".
Title: Re: AROS Hits the Papers.
Post by: Crumb on March 10, 2004, 01:36:30 PM
"This is a requirement impossible to meet"

You could force your malloc() function to always align the data. Don't tell me that aligning the data is impossible because powerUP aligned ppc exes for example...

about knowing the data type... yes, I've thinked about it and it would be impossible or almost impossible...

lets say we use two bytes to store a number and then 4 bytes to store a little text. We would have:

12TEXT...

yes... even if we aligned the stuff it would be impossible... you are right. Thank you Fabio :-)

but...

That leaves me with only one idea (/doubt), using the 68k memory area as the guy who did executor (a mac emu). He used memory in the oposite order...

....TXET21

if we wanted to read the first two bytes we would only have to substract the offset of the address we want to access to the end of the memory to access to the right position.

If we wanted to access an entire word from the 3rd postition the cpu would read it correctly as the order of memory is opposite

mmm what do you think about this? The 68k emu may have to be changed...

but this should work...
Title: Re: AROS Hits the Papers.
Post by: bloodline on March 10, 2004, 01:52:36 PM
Quote

12TEXT...

yes... even if we aligned the stuff it would be impossible... you are right. Thank you Fabio

but...

That leaves me with only one idea (/doubt), using the 68k memory area as the guy who did executor (a mac emu). He used memory in the oposite order...

....TXET21
 


Actually wouldn't the 68k see that text as 21ETTX :-)
Title: Re: AROS Hits the Papers.
Post by: falemagn on March 10, 2004, 01:53:09 PM
Quote

That leaves me with only one idea (/doubt), using the 68k memory area as the guy who did executor (a mac emu). He used memory in the oposite order...

....TXET21

if we wanted to read the first two bytes we would only have to substract the offset of the address we want to access to the end of the memory to access to the right position.

If we wanted to access an entire word from the 3rd postition the cpu would read it correctly as the order of memory is opposite

mmm what do you think about this? The 68k emu may have to be changed...

but this should work...


To be honest, I've not understood what you're saying... any chance you could make it more clear? What do you mean with "offset of the address", for example?
Title: Re: AROS Hits the Papers.
Post by: Crumb on March 10, 2004, 03:28:47 PM
In the normal memory area we would count from 0x0000 and upwards... with this method we will define an area of memory for the 680x0 so we'll start from the end of the chunk of memory reserved. The 68k emu will think that the end of the chunk of memory reserved for him is 0x0000 instead of being 0xffff (for example).

We would have something like this:

Real addresses:
0x0000.....(x86 memory)........0x8000...(680x0 memory)...0xffff

The logic address the 68k programs would see will be:
0xffff.....(x86 mem).......0x8000....(68k memory)...0x0000


The data from the x86 memory area would look like this:

(start of memory)...12345678THIS_IS_MY_TEXT...(end of mem)

and after copying it to the 68k area it would always be stored in reverse order and the real aspect would be this:

(start of memory)...TXET_YM_SI_SIHT87654321...(end of mem)

But logically as the 68k addresses will start from the end of the chunk they would look as the x86 memory area

(start of memory)...12345678THIS_IS_MY_TEXT...(end of mem)

If we want to modify the numbers "3456" (4 bytes from the 3rd position) and change them by "ASDF" we would look the variable that stores the real ending address of the 68k memory chunk. Let's say it's 100. Our 4 bytes start in the 3rd byte, so we'll make 100 minus 2(the address)+the size of the data to transfer, the real starting address will be 94, and the real ending address will be 98. We simply copy the bytes byte per byte (using the method I have explained to get the real address) if we want to make a byte per byte copy. If the transfer involves copying a 32bit number, for example 12|34|56|78 in big endian, in the x86 memory it will look like 78|56|34|12, so copying it to the 68k ram will not require swapping the bytes because the memory is already reversed.

Have I explained my idea more clearly?

The thing that should be changed is the 68k emu, to use the addresses in the opposite order. The author of Executor did this previously, but I guess that using memory in the opossite order may require some important changes in UAE's 68k emulator. Once we are inside the emulator there shouldn't exist many problems in changing the addresses... it would be transparent for the programs.
Title: Re: AROS Hits the Papers.
Post by: Crumb on March 10, 2004, 03:31:44 PM
"Actually wouldn't the 68k see that text as 21ETTX "

well, my example was transfering byte per byte so the result would look as I said. But if the memory transfer was done word by word it would look as you have described. But we have stated that the emulator will use memory in reverse order, so it will read the right values :-)
Title: Re: AROS Hits the Papers.
Post by: restore2003 on March 10, 2004, 03:34:11 PM
whats this all about?  :-?

Posted by BBRV:

Quote
Hi Wayne, it is "official" now. The question remains how far the application of the ruling will extend. In any case, Genesi will NOT do it themselves and it will have nothing to do with MorphOS. We would like to sub-license AROS in a scheme that would provide a portion of the royalties to them (majority) and to this site (and perhaps Amiga-News too and others, etc.?) as we discussed what seems now to be years ago. We would still like to do that. If we did that this site would become a promotional/community arm of the effort and there would not be trademark challenge to this site ever again. Plus, the AROS people would then undeniably have "official" recognition too. $4.50/unit would still need to go to a escrow account for Amiga Inc. so that employees and creditors with legal judgments against Amiga Inc. could be paid.


Title: Re: AROS Hits the Papers.
Post by: bloodline on March 10, 2004, 04:10:05 PM
Quote

restore2003 wrote:
whats this all about?  :-?

Posted by BBRV:

Quote
Hi Wayne, it is "official" now. The question remains how far the application of the ruling will extend. In any case, Genesi will NOT do it themselves and it will have nothing to do with MorphOS. We would like to sub-license AROS in a scheme that would provide a portion of the royalties to them (majority) and to this site (and perhaps Amiga-News too and others, etc.?) as we discussed what seems now to be years ago. We would still like to do that. If we did that this site would become a promotional/community arm of the effort and there would not be trademark challenge to this site ever again. Plus, the AROS people would then undeniably have "official" recognition too. $4.50/unit would still need to go to a escrow account for Amiga Inc. so that employees and creditors with legal judgments against Amiga Inc. could be paid.





I think he is simply, stating that he will licence AROS... perhaps for the Pegasos, which may bring some income into the AROS development, and allow us to use the Amiga Name, through our conenction with Genesi...

Thats just my understanding.
Title: Re: AROS Hits the Papers.
Post by: bbrv on March 10, 2004, 04:15:09 PM

That is a good understanding, but we can tune that to meet the needs or desires of the AROS Team.  The License Agreement has to be respected, but there is plenty of opportunity and it might finally help cool down some of the Community dysfunction and if successful help fund not only AROS, but sites like this one.

Again, we do not want and will not mix AmigaDE/OS with MorphOS.  The objective is to add more opportunities for people who use the Pegasos.

R&B