Amiga.org

Operating System Specific Discussions => AROS Research Operating System => Topic started by: Karlos on September 14, 2003, 08:35:28 PM

Title: First serious question....
Post by: Karlos on September 14, 2003, 08:35:28 PM
Hi dudes :-)

In my long term goal to take over the world and create an cross platform OOP framework in C++, where would I find the developer info for AROS?

Im interested primarily in its low level API's for sound, graphics and IO.

I understand much of this is source compatible with amigaOS 3.1 but what 'AROS only' performance enhancements might my code be able to take advantage of? My aim is to ensure that each platforms class implementations are as efficient as possible.

Please bear in mind that I don't know a great deal about AROS at the moment but intend to investigate it thoroughly later...
Title: Re: First serious question....
Post by: Druideck on September 14, 2003, 10:40:30 PM
I'm no dude, but maybe aros.org can help.
Title: Re: First serious question....
Post by: whabang on September 15, 2003, 08:26:43 AM
My programming abilities are limited to Pascal, but http://www.aros.org/documentation/developers/application-development.php (http://www.aros.org/documentation/developers/application-development.php) might be good...
Title: Re: First serious question....
Post by: csirac_ on September 15, 2003, 10:29:16 AM
Quote
Im interested primarily in its low level API's for sound, graphics and IO.


Whoa, of all the APIs you could have mentioned, those are the least mature of AROS :-) sound: started (I think); graphics: Well, GUI stuff should be ok, but there's no decent graphics HIDD yet AFAIK; IO - not sure about that, they're starting on PCI stuff right now actually..

Join the dev list, read back a few months, the website has some good docs too.

By the way, what's wrong with http://www.wxwindows.org ?
C++ bindings, cross platform goodness... from what I've read it's written using as much C++ as reasonably possible, but the emphasis is allowing wxwindows to compile on heaps (and I mean HEAPS) of different non-gcc compilers so some aspects of C++ aren't utilised... can't really give an example right now... hrmm.

- Paul
Title: Re: First serious question....
Post by: csirac_ on September 15, 2003, 10:33:26 AM
Oh and BTW, wxWindows would be in my top 5 things to port list when I get an A1 with OS4.. also in that list: GTK, Anjuta/GCC3.2 suite, a good X server, a good SSH client (putty?), Abiword...

I'm dreaming there, but I'd probably start with putty :-)

As for the GNU dev stuff, I was thinking that perhaps the cygwin code base would be a good start, seeing as it works on Win98 it shouldn't be that hard to get it working on Amiga (from the point of view of being a single user environment) but then again I have no idea how all the libs are implimented, or even how Amiga libs work since I'm not an experienced Amiga coder at all.

- Paul
Title: Re: First serious question....
Post by: Karlos on September 15, 2003, 11:11:55 AM
I'm sure vxwindows is just fine. As for the why, well this project is a pet of myself and some like minded friends who only ever wanted to write games :-)

Actually, what were is aiming for is to create a low overhead C++ interface to common OS features. It isn't aimed at providing high level interfaces (ie encapsulating the OS GU), rather it is designed for performance. In other words, gaming and multimedia :-) Similar in intent to SDL but aimed soley at C++.

There are several libraries, in different stages of completion:

systemlib (memory, threading, locking, timers etc.)

gfxlib (pixels, surfaces, displays, blits, 3D rasterizer, drawing classes etc.)

iolib (file io, input devices, event filtering etc.)

guilib (abstract gui control framework, experimental)

soundlib (not started yet)
netlib (not started yet)

The code is split into 2 parts - system independent code and system dependent code. Only truly OS independent code is allowed in the former section for cleanliness. One of the design aims is that no system defined behaviour or data is present in the user APIs. Code using only the provided classes (and derived from them)  should ideally compile 'out of the box'.

The latter section of the code has an OS tree and the implementation level classes are free to utilize as much of a given OS's functionality as they can to provide performance as long as the overall expected behaviour is maintained.

Naturally, the amigaos tree is the most developed, but there is a guy working on the winblows2k part of the OS tree and another who hopefully will start the macosx part in the not too distant :-)

This brings me to my current problem. Currently all the work has been done in storm but it is being moved to gcc 2.95.3 as a minimum compiler spec largely because storm lacks some features (reliable templates, namespaces, thread safe exceptions etc) that caused me to make some awkward design descisions a while back.

By moving to gcc I aim to clean up some of the encapsulation (using namespaces) and also to make the code more accessible on other platforms.

Once the whole project is at an acceptable state of completion no doubt it will go open source ;-)
Title: Re: First serious question....
Post by: 4pLaY on September 15, 2003, 12:04:42 PM
Just gonna give a few pointers here!

Sound: we have AHI but missing drivers
Gfx:Again missing drivers (commong thing with aros as we have few hardware coders in fact 2 of them and one is busy porting AROS to Pegasos and the other to busy with his work)

as for finding dev information check the webpage,join the dev list or for a conversation come to our irc channel if your used to IRC that is ;).
Title: Re: First serious question....
Post by: csirac_ on September 15, 2003, 02:08:59 PM
Sounds great! I would have loved to say that I could help with the Linux implimentation specifics, but I already committed to AROS months ago and I still havent' written a single line of code for those guys yet ;-(

Never thought I'd say this.. but I can't wait 'till I get a job, I'll have more free time, hmmm. Provided I'm not self employed and only do 40 hours a week, which I'm sure is never the case...

- Paul
Title: Re: First serious question....
Post by: bloodline on September 15, 2003, 10:16:08 PM
Quote
Im interested primarily in its low level API's for sound, graphics and IO.

I understand much of this is source compatible with amigaOS 3.1 but what 'AROS only' performance enhancements might my code be able to take advantage of? My aim is to ensure that each platforms class implementations are as efficient as possible.


In terms of API's:
Sound = AHI (no paula audio.device though)
Graphics = graphics.library, Cybergraphics.library, AROS HIDD
I/O = Standard Amiga 3.1 IO systems :-)

There aren't any AROS specific enhancements, but our OOP based driver system, I'm reliably informed, will allow Hardware acceration (from the Graphics card, once suitable drivers have been made for example) to be avaiable via the CGX.library, again for example...
Title: Re: First serious question....
Post by: Karlos on September 15, 2003, 10:48:06 PM
Thanks.

I should sign up on your dev list at some point I guess :-)
Title: Re: First serious question....
Post by: bloodline on September 15, 2003, 11:07:29 PM
Quote
I should sign up on your dev list at some point I guess :-)


You should, it's quite an interesting place :-)
Title: Re: First serious question....
Post by: DonnyEMU on October 09, 2003, 11:00:40 AM
Someone should port the Mono framework to AROS.. and bypass much of the issues and provide an OOP evironment... It would give us a C# and VB like BASIC compiler... Also it would give us a very nice non-oop restricted environment that's cross platform..


http://www.go-mono.com/ (http://www.go-mono.com/)
Title: Re: First serious question....
Post by: that_punk_guy on October 09, 2003, 12:50:12 PM
Quote

whabang wrote:
My programming abilities are limited to Pascal, but http://www.aros.org/documentation/developers/application-development.php (http://www.aros.org/documentation/developers/application-development.php) might be good...


I want a Pascal compiler for AROS  :-D

Edit:  ...Okay someone called David Somerton was working on one. What happened?

Title: Re: First serious question....
Post by: dammy on October 09, 2003, 04:37:43 PM
by DonnyEMU on 2003/10/9 6:00:40

Quote
Someone should port the Mono framework to AROS.. and bypass much of the issues and provide an OOP evironment... It would give us a C# and VB like BASIC compiler... Also it would give us a very nice non-oop restricted environment that's cross platform..


Problem is, that's a huge hunking port job to do.  I'm sure mono would be nice for AROS, but I rather seem more people jumping in to help out with GCC native port and TCP/IP ports.

Of course, someone could always start up a bounty for mono porting. ;)

Dammy
Title: Re: First serious question....
Post by: Kronos on October 09, 2003, 04:45:12 PM
@Karlos

AROS-gcc (actually Linux-gcc started with a small script) does not
support C++  :-x  Has something to do with missing link-libs and I ran
into that the hard way ~1 year ago (yeah finally I had everything compiled
only to let the linker show me it's finger  :-o ).

Hope that will change someday soon,but don't hold your breath.

@that_pop_girl
Try P2C (under Linux), and compile that for AROS (not tested).  :-P
Title: Re: First serious question....
Post by: dammy on October 09, 2003, 05:40:48 PM
by Kronos on 2003/10/9 11:45:12


Quote
AROS-gcc (actually Linux-gcc started with a small script) does not support C++ Has something to do with missing link-libs and I ran into that the hard way ~1 year ago (yeah finally I had everything compiled only to let the linker show me it's finger ).


Hope that will change someday soon,but don't hold your breath.


There is indeed a Bounty (http://www.thenostromo.com/teamaros/) (#4) on it.  We have one dev looking into it but wants to split it up between C and C++.  So far, the reactions aren't positive in splitting up the GCC into C and C++ parts for the bounty.

Dammy
Title: Re: First serious question....
Post by: Treke on October 09, 2003, 07:13:06 PM
Quote
by DonnyEMU on 2003/10/9 12:00:40

Someone should port the Mono framework to AROS.. and bypass much of the issues and provide an OOP evironment... It would give us a C# and VB like BASIC compiler... Also it would give us a very nice non-oop restricted environment that's cross platform..



Huh.
As dammy said, it's not a job for a lonely developer ( not even tens of them - they can spend a life on it).  And, I never saw Mono in action, but .NET is not so responsive as one can think , i.e not suitable for some serious (i.e big projects )application development with defined responses ...
Second, a .NET Hello world app has a memory footprint of about 10Mb, running under WinXP.
I'm not sure what will be a killer argument for Amiga then ;-)

re
Treke
Title: Re: First serious question....
Post by: Karlos on October 10, 2003, 12:53:04 AM
Quote

Kronos wrote:
@Karlos

AROS-gcc (actually Linux-gcc started with a small script) does not
support C++  :-x  Has something to do with missing link-libs and I ran
into that the hard way ~1 year ago (yeah finally I had everything compiled
only to let the linker show me it's finger  :-o ).


Bummer :-( Still, the rate ,y project is running at the moment, aros gcc c++ support may be fixed by the time it's ready to port :-(