Aros Raspberry

Jezry · 1305

Jezry

  • Newbie
  • *
    • Posts: 3
    • Karma: +1/-0
on: December 10, 2019, 12:57:35 PM
Hi everybody.
Is there Any news Regarding native Aros on Raspberry pi.
Or Any other of the arm sbc boards out there.
  :)



Alexandrabzh

  • Newbie
  • *
    • Posts: 1
    • Karma: +0/-0
Reply #1 on: December 22, 2019, 11:52:08 AM
Hello all
yes good question, i have a new pi4 4 go so it will be really cool to get aros on it and i hope at full speed



Samurai_Crow

  • Junior Member
  • **
    • Posts: 61
    • Karma: +1/-0
  • Hobby coder
Reply #2 on: December 22, 2019, 09:54:39 PM
Dr. Michal Schulz has been buying various ARM Linux machines including a PineBook Pro but hasn't gotten the ARM EB (big endian) version complete yet.  He's mostly working on the 68k compatability JIT right now.



mschulz

  • Moderator
  • Newbie
  • *****
    • Posts: 12
    • Karma: +1/-0
Reply #3 on: December 22, 2019, 10:19:26 PM
Hello all
yes good question, i have a new pi4 4 go so it will be really cool to get aros on it and i hope at full speed


The status of AROS for RasPi was quite good already. System booting, USB working (although with some issues but I have a plan to fix them). Where I got stuck was modifying the ABI (application binary interface) and adjusting binutils/gcc to support it. I wanted to have real executable files but I got stuck a little - I had to change the type of relocations embedded in ARM files and I'm not sure if this very type is well supported, on the other hand without this changes ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable.

In parallel I was working on m68k emulation. Surprised by the performance (in positive way) I have focused on developing it. The project called Emu68 is at the moment intensively developed. The project brings a very fast m68k JIT working on bare metal ARM. On top of that emulator there will be a m68k version of AROS working. So yes, not exactly a full speed, but still much faster than a real amiga emulation. The JIT is already at a stage where it can execute simple m68k apps (of course those which do not need AmigaOS or AROS) which talk to RasPi hardware directly. In next stage which I'm going to start in few weeks, I will start building a m68k AROS version working on this JIT.

PS: The Emu68 supports RasPi2B, RasPi3B, RasPi3B+ and RasPi4. Support for other machines (RockPro64, PineBookPro) is planned. You can follow the progress here: https://www.patreon.com/michal_schulz/posts?tag=JIT or watch the repository on GitHub: https://github.com/michalsc/Emu68



OldAmigan

  • Newbie
  • *
    • Posts: 4
    • Karma: +0/-0
Reply #4 on: December 23, 2019, 03:25:12 PM
Excellent news. Thanks for the update and thank you very much for your work.

Fred



Jezry

  • Newbie
  • *
    • Posts: 3
    • Karma: +1/-0
Reply #5 on: December 23, 2019, 04:55:04 PM
Great.
Thank you for that great  answer.
Regards Johan



mschulz

  • Moderator
  • Newbie
  • *****
    • Posts: 12
    • Karma: +1/-0
Reply #6 on: December 31, 2019, 11:29:00 PM
Emu68 is going AArch64! The 32bit and 64bit ARM versions will be developed in parallel.

https://www.patreon.com/posts/32705355

Happy New Year!



Samurai_Crow

  • Junior Member
  • **
    • Posts: 61
    • Karma: +1/-0
  • Hobby coder
Reply #7 on: January 01, 2020, 04:45:43 AM
Excellent news, mschulz! :D



x-vision

  • Newbie
  • *
    • Posts: 33
    • Karma: +1/-0
Reply #8 on: January 03, 2020, 04:03:26 PM
Hello all
yes good question, i have a new pi4 4 go so it will be really cool to get aros on it and i hope at full speed


The status of AROS for RasPi was quite good already. System booting, USB working (although with some issues but I have a plan to fix them). Where I got stuck was modifying the ABI (application binary interface) and adjusting binutils/gcc to support it. I wanted to have real executable files but I got stuck a little - I had to change the type of relocations embedded in ARM files and I'm not sure if this very type is well supported, on the other hand without this changes ARM version of AROS wouldn't work well. By reverting the change to ABI we could have a (somehow) working AROS on RasPi, but unfortunately still unstable.

In parallel I was working on m68k emulation. Surprised by the performance (in positive way) I have focused on developing it. The project called Emu68 is at the moment intensively developed. The project brings a very fast m68k JIT working on bare metal ARM. On top of that emulator there will be a m68k version of AROS working. So yes, not exactly a full speed, but still much faster than a real amiga emulation. The JIT is already at a stage where it can execute simple m68k apps (of course those which do not need AmigaOS or AROS) which talk to RasPi hardware directly. In next stage which I'm going to start in few weeks, I will start building a m68k AROS version working on this JIT.

PS: The Emu68 supports RasPi2B, RasPi3B, RasPi3B+ and RasPi4. Support for other machines (RockPro64, PineBookPro) is planned. You can follow the progress here: https://www.patreon.com/michal_schulz/posts?tag=JIT or watch the repository on GitHub: https://github.com/michalsc/Emu68

Thanks for the update, and great job! but: does that mean we will never have a native version? :( I think it is important because many people is waiting to adopt it as their main Aros system, but also because it will attract many new devs from outside the community.



moochris

  • Newbie
  • *
    • Posts: 1
    • Karma: +0/-0
Reply #9 on: January 04, 2020, 08:03:48 AM
Thanks for the update, and great job! but: does that mean we will never have a native version? :( I think it is important because many people is waiting to adopt it as their main Aros system, but also because it will attract many new devs from outside the community.

I have been wondering about this myself, and I have a couple of thoughts about this that may or may not be correct...  :)

I think the most important thing is that this is written for big endian mode ARM. This means that:
  • The emulated 68K is also big endian and so the emulator doesn't have to do any kind of expensive byte reordering, so this thing is fast.
  • Remember Amithlon? It had a provision for native code to run to accelerate datatypes etc., but had to deal with endian conversion. This wouldn't be a problem here with BE mode ARM code.
As I understand from mschulz's posts, there will be direct access to the hardware from the 68K side as well for drivers etc., so it won't be a like a virtualisation with abstracted hardware - the 68K will have full access.

Chris



x-vision

  • Newbie
  • *
    • Posts: 33
    • Karma: +1/-0
Reply #10 on: January 04, 2020, 02:31:00 PM
Thanks for the update, and great job! but: does that mean we will never have a native version? :( I think it is important because many people is waiting to adopt it as their main Aros system, but also because it will attract many new devs from outside the community.

I have been wondering about this myself, and I have a couple of thoughts about this that may or may not be correct...  :)

I think the most important thing is that this is written for big endian mode ARM. This means that:
  • The emulated 68K is also big endian and so the emulator doesn't have to do any kind of expensive byte reordering, so this thing is fast.
  • Remember Amithlon? It had a provision for native code to run to accelerate datatypes etc., but had to deal with endian conversion. This wouldn't be a problem here with BE mode ARM code.
As I understand from mschulz's posts, there will be direct access to the hardware from the 68K side as well for drivers etc., so it won't be a like a virtualisation with abstracted hardware - the 68K will have full access.

Chris

I don't have any doubts that his code will be wonderful. And that it will be very fast, but from an amigan perspective. Devs and users form outside, I'm afraid they won't be seduced by this translation penalty.

As I know it is very hard to convince people about this, let me bring an example: there are amazing emulators that perform an blazing fast JIT translation from x86 code to arm, so imagine the vast amount of amazing software and games library that it instantly brings to Pi. Well, it does not succeed. It does not sell well. Almost nobody care about it. Why will they do it with 68K code? just because we are cooler?

Pi users want to explore the system limits and features, not be  "constrained" by any kind of translation even it is the most transparent and thin it can be.

This will be cool for us amigans, but just for us. Very few people more. And it will always have the problem of the lack of support for any feature (devices or processor/core) that it is not supported by the emulator.

This is a step forward from an Amiga user perspective, but not from a Pi or a new user perspective.