[#1] Pisanie przenośnego softu
Witam.
Zamierzam napisać proste demo dla Amigi. Znam język C, pisałem już kod dla wielu architektur, ale nie pmam doświadczenia w kodowaniu na Amidze. Chciałbym aby napisane przezemnie demo działało na jak największej liczbie ami-systemów.

Z jakich API powinienem korzystać aby osiągnąć jak najlepszą przenośność? Wiem, że np. do obsługi dźwięku mogę skorzystać z AHI i (teoretycznie) ten sam kod powinien mi się skompilować i działać na OS 3.x, 4.x, MOSie. A jak wygląda sytuacja z grafiką? Chyba aktualnie najpopularniejszymi systemami RTG są CGX i Picasso96?

Ktoś się orientuje jak wygląda sytuacja z ich kompatybilnością na poziomie źródel i binarek? Skąd można pobrać aktualne SDK dla nich?

Wolałbym uniknąć korzystania z SDL, bo w SDLu to sobie mogę i na linuchu poklikać. Chciałbym użyć typowo amigowych interfejsów.

Albo może ktoś z forumowiczów zna publikacje na temat pisania przenośnych aplikacji dla systemów Amigowych?

[#2] Re: Pisanie przenośnego softu

@strim, post #1

Pisz pod CGX ze wspomaganiem się graphics.library. Picasso96 wrappuje CGX, dzięki temu kod dla CGX uruchamia się na nim.

Co do AHI... Dźwięk na amiplatformach to dość śliska sprawa. Teoretycznie jest tak jak piszesz, i ten sam kod pod AHI skompiluje się pod wszystkimi amiplatformami, i powinien działać. Ale w praktyce różnie to bywa.

Kompatybilność na poziomie źrodeł jeśli chodzi o amisystemy, i CGX/AHI jest bardzo duża. Jeśli przyjmiesz podstawę w postaci API OS3.x - to ten sam kod będziesz w stanie skompilować bez większych przeróbek na wszystkich amiplatformach. Jeśli sięgniesz po jakieś "nowe" funkcje, to musisz się liczyć z tym, że nie każda amiplatforma ma swój odpowiednik danej funkcji. Nie jest tego aż tak dużo, i w przypadku czegoś takiego jak demo nie sądzę żeby miało to jakiekolwiek znaczenie.

Kompatybilność na poziomie binarek również w jakimś stopniu jest - binarki skompilowane pod OS3.x działają na OS4 i MorphOS. Binarki skompilowane na MorphOS działają tylko na MorphOS. Podobnie binarki OS4 - tylko OS4 (chyba że skompilujesz starym kompilatorem, wtedy powinno ruszyć też na MOSie pod OS4emu). Binarki AROSowe działają tylko na AROSie.

Jeśli pytasz o CGX, to zapewne Twoje demo nie wykorzystuje czegoś w rodzaju OpenGL/wspomagania 3d?

SDK możesz pobrać razem ze środowiskiem AmidevCPP. Masz tam ustawione wszystko, i możesz prawie od strzału kompilować programy na os3/4/mos/aros.

[#3] Re: Pisanie przenośnego softu

@MinisterQ, post #2

Ok, dzięki z info.

Screenshot AmiDevCpp wygląda fajnie, ale nie mam żadnego Windowsa na którym mógłbym to uruchomić ;). No ale ściągne, obejrze, w razie czego wyjmę sobie librarki i includy z niego. Właśnie przed chwilą znalazłem SDK do AHI na aminecie, a do CGX na stronie AWeb'a, więc może nie będzie to koniecznie.

Dysponuje A1200 z OSem 3.1, więc generalnie chyba na niej będę developował i "patrzył czy działa", w następnej kolejności testował na Pegu z MOSem.

Btw. głupia sprawa, nie mogę znaleźć żadnego debuggera dla MOSa... Coś takiego w ogóle istnieje?

[#4] Re: Pisanie przenośnego softu

@strim, post #3

Jedyne co służy do debugu pod mosem to morphosowy debuglog - czyli zrzut systemowych komunikatów o błędach aplikacji wysyłanych na serial, do tego objdump z pakietu GCC, i na koniec śledzenie hitów w kodzie na podstawie offsetów w debuglogu i wyniku działania objdumpa na binarce skompilowanej z debugiem...
Epoka kamienia łupanego pod tym względem. Czasem się odniechciewa pod tym rzeźbić.

[#5] Re: Pisanie przenośnego softu

@strim, post #1

http://amigadev.free.fr/files/PortableCode-en.pdf

[#6] Re: Pisanie przenośnego softu

@MinisterQ, post #2

Podobnie binarki OS4 - tylko OS4 (chyba że skompilujesz starym kompilatorem, wtedy powinno ruszyć też na MOSie pod OS4emu)

To nie jest moim zdaniem kwestia kompilatora, wystarczy nie linkować z biblioteką standardową.

[#7] Re: Pisanie przenośnego softu

@MinisterQ, post #4

Z jakiego debugera pod OS 3.x korzystacie? Ja mam jakąś przedpotopową wersję gdb i generalnie jest OK, więc pytam raczej z ciekawości, niż żebym faktycznie potrzebował.

[#8] Re: Pisanie przenośnego softu

@strim, post #7

Ja mam jakąś przedpotopową wersję gdb i generalnie jest OK(...)

Jak ja pytałem kiedyś o debuger to się dowiedziałem, że dla AmigaOS/MorphOS nie ma żadnego i opcje do gdb w CubicIDE są od parady. :)

[#9] Re: Pisanie przenośnego softu

@MDW, post #8

przepraszam, a debugger zaszyty w StormC ?

[#10] Re: Pisanie przenośnego softu

@MDW, post #8

Bardzo dobry kolega Kaczusiem zwany napisał mi na priv, że gdb faktycznie działa na AmigaOS ale nie działa na MorphOS. Poza tym chyba łyka tylko programy pisane pod ixemul. W takim razie olewam go z góry. Tym bardziej, że o debuger pytałem z ciekawości. Jakoś zawsze sobie radzę bez takich rzeczy. Nawymyślali tych durackich maszyn jakby kprintf nie mieli. :)

[#11] Re: Pisanie przenośnego softu

@baderman, post #9

przepraszam, a debugger zaszyty w StormC ?

Bardzo słuszna uwaga. Faktycznie coś tam było! Na śmierć zapomniałem. Oczywiście nigdy tego nie używałem. :)

[#12] Re: Pisanie przenośnego softu

@strim, post #7

Z jakiego debugera pod OS 3.x korzystacie?

Z żadnego. kprintf() rządzi :D

[#13] Re: Pisanie przenośnego softu

@MDW, post #10

Zwrócono mi uwagę na pewien fakt, który rzeczywiście należałoby w tym wątku uwzględnić. Otóż AmigaOS 4.0 ma wbudowany debugger, który współpracuje z grim reaperem.

Dzięki Sz. :)

Na stronie www.PPA.pl, podobnie jak na wielu innych stronach internetowych, wykorzystywane są tzw. cookies (ciasteczka). Służą ona m.in. do tego, aby zalogować się na swoje konto, czy brać udział w ankietach. Ze względu na nowe regulacje prawne jesteśmy zobowiązani do poinformowania Cię o tym w wyraźniejszy niż dotychczas sposób. Dalsze korzystanie z naszej strony bez zmiany ustawień przeglądarki internetowej będzie oznaczać, że zgadzasz się na ich wykorzystywanie.
OK, rozumiem