Welcome, Guest. Please login or register.
Amiga Kit Amiga Store Iridium Banner AMIStore App Store A1200/A600 4xIDE Interface

AuthorTopic: First serious question....  (Read 2168 times)

0 Members and 1 Guest are viewing this topic.

Offline Karlos

First serious question....
« 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...
int p; // A
 

Offline Druideck

Re: First serious question....
« Reply #1 on: September 14, 2003, 10:40:30 PM »
I'm no dude, but maybe aros.org can help.
 

Offline whabang

Re: First serious question....
« Reply #2 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 might be good...
Beating the dead horse since 2002.
 

Offline csirac_

Re: First serious question....
« Reply #3 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
 

Offline csirac_

Re: First serious question....
« Reply #4 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
 

Offline Karlos

Re: First serious question....
« Reply #5 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 ;-)
int p; // A
 

Offline 4pLaY

  • Hero Member
  • *****
  • Join Date: Apr 2002
  • Posts: 777
  • Country: no
  • Total likes: 5
  • Gender: Male
    • https://www.amigalife.org
Re: First serious question....
« Reply #6 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 ;).

Offline csirac_

Re: First serious question....
« Reply #7 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
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
  • Total likes: 0
    • http://www.troubled-mind.com
Re: First serious question....
« Reply #8 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...

Offline Karlos

Re: First serious question....
« Reply #9 on: September 15, 2003, 10:48:06 PM »
Thanks.

I should sign up on your dev list at some point I guess :-)
int p; // A
 

Offline bloodline

  • Master Sock Abuser
  • Hero Member
  • *****
  • Join Date: Mar 2002
  • Posts: 12113
  • Total likes: 0
    • http://www.troubled-mind.com
Re: First serious question....
« Reply #10 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 :-)

Offline DonnyEMU

Re: First serious question....
« Reply #11 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/
======================================
Don Burnett Developer
http://blog.donburnett.com
don@donburnett.com
======================================
 

Offline that_punk_guy

Re: First serious question....
« Reply #12 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 might be good...


I want a Pascal compiler for AROS  :-D

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

 

Offline dammy

Re: First serious question....
« Reply #13 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
Dammy

https://www.facebook.com/pages/Arix-OS/414578091930728
Unless otherwise noted, I speak only for myself.
 

Offline Kronos

  • Resident blue troll
  • Hero Member
  • *****
  • Join Date: Feb 2002
  • Posts: 4017
  • Total likes: 0
    • http://www.SteamDraw.de
Re: First serious question....
« Reply #14 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
1. Make an announcment.
2. Wait a while.
3. Check if it can actually be done.
4. Wait for someone else to do it.
5. Start working on it while giving out hillarious progress-reports.
6. Deny that you have ever announced it
7. Blame someone else