Oh no! Where's the JavaScript?
Your Web browser does not have JavaScript enabled or does not support JavaScript. Please enable JavaScript on your Web browser to properly view this Web site, or upgrade to a Web browser that does support JavaScript.

Prototype of AROS ABIv0 emulator for 64-bit AROS

Last updated on 5 months ago
AMIGASYSTEMAMIGASYSTEMDistro Maintainer
Posted 8 months ago

deadwood wrote:

@deadwood - Hello,

Emulator reached a point where it can successfully run ABIv0 calculator - check the attached video.

As you can see, the 32-bit calculator is integrated with other 64-bit programs so as a user you don't really know that you are running a 32-bit application. Prototype implementation of "proxy" graphics.library and intuition.library is proceeding and while there are some caveats around message passing, so far no blocker problem has been found.

I also defined a checklist of tests needed to be completed before a final decision on emulator can be made:

1) Test a recent program written in C using new C library (Calculator) [DONE]
2) Test an old, 3rd party program written in C using old C library (ZuneARC) [IN PROGRESS]
3) Test program written in Hollywood
4) Test program written in Pascal
5) Test emulator under AxRuntime and confirm ABIv0 programs can be run directly on Linux/Windows

Emulator sources are available here: https://github.com/deadwood2/AROS/tree/AoA/workbench/tools/AoA

If you are a developer and you would be interested in contributing to emulator in future, please send me an email or PM on the forums.

Thanks deadwood, you are great, I spread your post on the sites I frequent !
O
OlafSchMember
Posted 8 months ago
There are some components I would also like to see on a potential new linux environment. Diskimage device to f.e. mount adf. Then datatypes. It is a cool concept in my view. And Arexx ports. And of course a amiga desktop as base. I know and like both magellan and scalos. With both you can do similar things. What you prefer is a matter of taste. The basic difference, Magellan always was a solution on its own, whereas Scalos always obviously was designed as a workbench replacement. If possible both would be nice to have Wink.
D
deadwoodAROS Dev
Posted 8 months ago

OlafSch wrote:

@OlafSch - Then datatypes. It is a cool concept in my view..


In what function do you see datatypes? They are already included in AxRuntime.
M
magoriumSoftware Dev
Posted 8 months ago

deadwood wrote:


4) Test program written in Pascal

Note that I still have the intention to fork Free Pascal as soon as a new version emerges in order to add/implement the necessary changes to support 64-bit AROS.

So far I have not noticed any issues with Free Pascal compiled 64-bit AROS executables, it is just that the ruling dragons decided that they will not support AROS ABIv11 and seem to have a sweet-spot for ABIv1 (which does not work and will never work for Free Pascal with current imposed restrictions. But hey, what do I know Smile )

The only thing that I can not seem to realize is AXRuntime. That really requires 2 different RTL's to be active at the same time for which FPC does not have provision (and I was already told it will not be accepted would it be added)
Edited by magorium on 31-03-2024 03:22, 8 months ago
O
OlafSchMember
Posted 8 months ago

deadwood wrote:

@deadwood -

OlafSch wrote:

@OlafSch - Then datatypes. It is a cool concept in my view..


In what function do you see datatypes? They are already included in AxRuntime.


that might be enough. Two questions.... you can develope a picture viewer, multiview as example, that accepts path to a picture as parameter and then shows it? Second, how do you add or improve datatypes? Normally you copy a file in a directory.. How is it done in AxRuntime?
M
magoriumSoftware Dev
Posted 8 months ago

OlafSch wrote:


you can develope a picture viewer, multiview as example, that accepts path to a picture as parameter and then shows it?

That question has many hidden subfeatures inside it. Could you elaborate ?

Know that it is already possible to show a picture using multiview using tooltypes, hence the question.

Quote


Second, how do you add or improve datatypes? Normally you copy a file in a directory.. How is it done in AxRuntime?

Exactly the same.

In principle: anything that goes for classic amigaos/AROS also works for AxRuntime. If it doesn't then it is worth considering a feature request but that is ofc if deadwood decides it would be beneficial to support such a feature or not. Perhaps better to compare it with hosted instead of native.

If AxRuntime does not support something in particular then it is possible to use host functionality in order to accomplish such task.
D
deadwoodAROS Dev
Posted 8 months ago
@OlafSch

It's pretty much like @magorium described. See attached screen shot for MultiView running through AxRuntime and using datatypes to display picture.

One thing that is not yes implemented is passing arguments - so opening an image via double-click won't work yet .
You do not have access to view attachments
D
deadwoodAROS Dev
Posted 8 months ago

magorium wrote:

@magorium

The only thing that I can not seem to realize is AXRuntime. That really requires 2 different RTL's to be active at the same time for which FPC does not have provision (and I was already told it will not be accepted would it be added)


That should be ok - AxRuntime can run ABIv11 AROS executables, so as long as you can compiled Pascal source code to AROS executable, the program will also be available for Linux/Windows users.
O
OlafSchMember
Posted 8 months ago

deadwood wrote:

@deadwood - @OlafSch

It's pretty much like @magorium described. See attached screen shot for MultiView running through AxRuntime and using datatypes to display picture.

One thing that is not yes implemented is passing arguments - so opening an image via double-click won't work yet .


Looks good. It would be fantastic if you could mix it like on Aros 68k mixing Aros and AmigaOS binaries. For example starting components with parameters, be it AxRuntime components (Aros) or real Linux components

In this example starting Multiview with path to picture as parameter
D
deadwoodAROS Dev
Posted 7 months ago
Hi All,

Over last week I've been able to successfully complete step of testing 32-bit ZuneARC. As you can see on attached video, it is possible to start it, select a zip file and decompress it. Unziping is done via 64-bit UnZip command which 32-bit ZuneARC calls. There are graphical artifacts and most needed functions is not fully implemeted, but what is there right now it good enough to move to next stage.

On a technical note, the greatest challenge so far was integrating BOOPSI gadgets. While MUI objects are fully on the 32-bit side and need a narrow interface into graphics.library and intuition.library, BOOPSI gadgets (as seen for example in ASL requester) are created on 32-bit side, but need close communication with login on 64-bit side in intuition to render and respond to user input. The implemented solution seems to be working but needs to be further extended to provide fully proper rendering.

Also you will notice lack of images on MUI buttons. This is due to fact that while the 32-bit datatypes.library is working, no 32-bit datatypes are actually loaded into it. This is problem with known solution, so it will be omitted for now.

As a reminder, here is test plan that will be execute before final decision on emulator will be taken:

1) Test a recent program written in C using new C library (Calculator) [DONE]
2) Test an old, 3rd party program written in C using old C library (ZuneARC) [DONE]
3) Test program written in Hollywood
4) Test program written in Pascal
5) Test emulator under native AROS x86_64 and confirm it can work with native kernel
6) Test emulator under AxRuntime and confirm ABIv0 programs can be run directly on Linux/Windows

Emulator sources are available here: https://github.com/deadwood2/AROS/tree/AoA/workbench/tools/AoA

If you are a developer and you would be interested in contributing to emulator in future, please send me an email or PM on the forums.
Edited by deadwood on 13-04-2024 02:40, 7 months ago
retrofaza, Argo, mmartinka, ntromans, G-linx
You do not have access to view attachments
AMIGASYSTEMAMIGASYSTEMDistro Maintainer
Posted 7 months ago
deadwood I think is already a good step forward, we confidently wait for the first official release !
D
deadwoodAROS Dev
Posted 7 months ago

AMIGASYSTEM wrote:

@AMIGASYSTEM - deadwood I think is already a good step forward, we confidently wait for the first official release !


Thanks, but keep in mind that the goal of prototype is to prove that emulation is possible with limited amount of work rather then deliver a working solution.
D
deadwoodAROS Dev
Posted 6 months ago
An update from me on the emulator.

I'm currently working on getting a test Hollywood application (HFinder) to run through the emulator. At this point I'm able to start it and exit it without a crash. UI is still not rendering correctly (see screenshot) and mouse/keyboard does not seem to be working yet. More work is needed and it's a bit time consuming - as there are no sources available, I need to debug directly in assembler.
retrofaza, amigamia, G-linx, Amiwell79, mmartinka, Deremon
You do not have access to view attachments
AMIGASYSTEMAMIGASYSTEMDistro Maintainer
Posted 6 months ago
Already a good step forward, congratulations and thank you for the great work you are doing!
mattson62mattson62Junior Member
Posted 6 months ago
@ deadwood Awesome news what may seem a small step is a big awesome step! thanks for all you do!
A
Amiwell79Distro Maintainer
Posted 6 months ago
Great DeadwoodSmile
D
deadwoodAROS Dev
Posted 6 months ago
Hi All,

I'm happy to report that I got a Hollywood application up and running. Check the attached video and/or screen shot.

There are a number of missing functions which I needed to implement as well as it turned out that HFinder needed working datatypes - so they also have been added to the emulation. In general, work in now progressing slower and with applications without sources, I need to dive directly into assembler to understand what application is doing and what it expects to get from operating system. However these kind of applications, which can't be re-compiled, are probably going to be the main use cases for the emulator.

We are now half-way with emulator prototype. As a reminder, here is test plan that will be execute before final decision on emulator will be taken:

1) Test a recent program written in C using new C library (Calculator) [DONE]
2) Test an old, 3rd party program written in C using old C library (ZuneARC) [DONE]
3) Test program written in Hollywood (HFinder) [DONE]
4) Test program written in Pascal
5) Test emulator under native AROS x86_64 and confirm it can work with native kernel
6) Test emulator under AxRuntime and confirm ABIv0 programs can be run directly on Linux/Windows

Emulator sources are available here: https://github.com/deadwood2/AROS/tree/AoA/workbench/tools/AoA

If you are a developer and you would be interested in contributing to emulator in future, please send me an email or PM on the forums.
OlafSch, retrofaza, mmartinka
You do not have access to view attachments
O
OlafSchMember
Posted 6 months ago
Regarding Hollywood, why do you not directly talk to the developer?
D
deadwoodAROS Dev
Posted 6 months ago
You mean to the developer of Hollywood to get version for 64-bit AROS?
D
deadwoodAROS Dev
Posted 6 months ago
.
Edited by deadwood on 30-05-2024 11:34, 6 months ago
You can view all discussion threads in this forum.
You cannot start a new discussion thread in this forum.
You cannot reply in this discussion thread.
You cannot start on a poll in this forum.
You cannot upload attachments in this forum.
You cannot download attachments in this forum.
Users who participated in discussion: magorium, aha, deadwood, AMIGASYSTEM, pixie, Amiwell79, G-linx, miker1264, OlafSch, mattson62
Sign In
Not a member yet? Click here to register.
Forgot Password?
Users Online Now
Guests Online 9
Members Online 0

Total Members: 265
Newest Member: metaneutrons
Member Polls
Should AROSWorld continue with AROS-Exec files (SMF based)?
Yes44 %
44% [12 Votes]
No26 %
26% [7 Votes]
Not sure30 %
30% [8 Votes]