[#1] Programowanie pod AmigaOS-MorphOS
Mam kilka pytań do programujących w amisystemach:

1. Czy można tak napisać program, aby działał jednocześnie na AmigaOS3, AmigaOS4 i MorphOS?

2. Jakie należałoby przyjąc założenia/ograniczenia, aby było to możliwe?

Z tego co rozumiem, musiałby to był program pod 68k i wykorzystywać podstawowe pliki/biblioteki/funkcje oraz GUI klasycznego systemu AmigaOS3.1.
Pewnie wydajność takiego rozwiązania nie byłaby zbyt wysoka, ale czy dobrze myślę, że jest to możliwe?
[#2] Re: Programowanie pod AmigaOS-MorphOS

@monohrs, post #1

1 Programy pisane pod AmigaOS 3.x beda dzialac na wszystkich wymienionych systemach.
2 Trzeba pisac uzywajac funkcji systemowych, pozbywamy sie nowych mozliwosci badz usunietych ograniczen AmigaOS 3.x

[#3] Re: Programowanie pod AmigaOS-MorphOS

@monohrs, post #1

Na większość odpowiedział stefkos, a co do wydajności, to zależy czego oczekujesz - na maszynach z G4 1 - 1.5 GHz i Morphosem (innych nie miałem okazji dłużej używać), programy napisane dla AmigaOS3.x działają szybciej niż na najszybszym istniejącym 68060.
I jeszcze jedno - kiedy program AmigaOS3 wywołuje funkcje systemowe (głównie mam na myśli GUI), to otwierane są oczywiście ich Morphosowe odpowiedniki (dla programu 68k nie ma to znaczenia). Daje to wyższą wydajność (bo są one napisane dla PPC) i większe możliwośći (np. okna wyboru plików są Morphosowe - dużo bardziej funkcjonalne i estetyczne, bo w MUI).
Najlepiej pisać program wykorzystując MUI, bo dla wszystkich wymienionych systemów istnieje MUI bodajże 3.8 (tzn. dla Morphosa MUI jest 4.0, ale programy wymagające 3.8 działają idealnie na 4.0).



Ostatnia modyfikacja: 01.08.2011 12:29:58
[#4] Re: Programowanie pod AmigaOS-MorphOS

@wali7, post #3

Dzięki za informacje, czyli sprawdziły się moje przypuszczenia.

Biorąc to pod uwage czy nie możnaby na tej bazie tworzyć oprogramowania multisystemowego? Mogłoby sie to przyczynić do scalenia naszej społeczności. Może stworzyć jakiś pakiet para-developerski, który mogłby ogarniać takie kwestie.

Nie rozumiem po co tworzyć np. 4 wersje Snapshotera, skoro jest to prosty program i mógłby działać na każdym systemie? W moim przekonaniu gdyby istniał w miare prosty pakiet wspomagający takie projekty to ludziom nie chciałoby się bawić w pisanie pod Hollywood.
[#5] Re: Programowanie pod AmigaOS-MorphOS

@monohrs, post #4

Nie potrzebujesz żadnych dodatkowych pakietów: każdy lepszy pakiet stworzony dla OS3.x będzie produkował takie multisystemowe oprogramowanie (czyli kod 68k 100% zgodny z API AmigaOS3.1). Jednym z lepszych jest np. Storm C, czy inne kompilatory C, albo E.
[#6] Re: Programowanie pod AmigaOS-MorphOS

@monohrs, post #4

Nie rozumiem po co tworzyć np. 4 wersje Snapshotera, skoro jest to prosty program i mógłby działać na każdym systemie?


Przyczyna jest tak oczywista że aż boli: program pisany pod konkretny system z wykorzystaniem wszystkich jego plusów i ominięciem wszelkich minusów działa znacznie efektywniej. Może nie ma to wielkiego znaczenia dla programów typu "Hello world", ale dla bardziej ambitnych programów typu przeglądarka internetowa wzrost prędkości/jakości używania wynosi ok. kilkaset razy.
[#7] Re: Programowanie pod AmigaOS-MorphOS

@stachu100, post #6

program pisany pod konkretny system z wykorzystaniem wszystkich jego plusów i ominięciem wszelkich minusów działa znacznie efektywniej


Ja to rozumiem, ale wydaje mi sie, ze w przypadku malych programow to nie ma wiekszego znaczenia. Bo np. jesli wezmiemy takiego MPlayera to wiadomo, ze liczy sie wydajnosc, film musi sie odtwarzac plynnie. Ale przy projektach typu Snapshoter czy DjVuViewer szybkosc reakcji nie jest az tak istotna, wazna jest natomiast spojnosc interfejsu, obslugiwane formaty plikow, itd.

Skoro da sie to zrobic multiplatformowo to po co komplikowac sprawe? Nie mozna napisac programu tak, aby sprawdzal na jakim systemie jest uruchomiony i ew. wlaczal lub wylaczal okreslone opcje w menu? Wydaje mi sie, ze to jest szybsze niz przepisywanie kazdej wersji programu pod wszystkie systemy po kolei.



Ostatnia modyfikacja: 01.08.2011 22:20:24
[#8] Re: Programowanie pod AmigaOS-MorphOS

@monohrs, post #7

Pal licho wydajnosc ale dochodza nowe mozliwosci, zmniejszona ilosc bledow itp.

Gdy np. piszesz pod Mos-a az zal nie wykorzystac nowych mozliwosci MUI, funkcji systemowych i 3rd party libsow.
Kazdy dazy do tego aby bylo latwiej osiagnac zamierzony cel.
Dlatego tez programowanie w takim przypadku zgodne z aos3 jest wtedy balastem.

[#9] Re: Programowanie pod AmigaOS-MorphOS

@AmiChris, post #8

Balast balastem, ale jesli pisze program to przepisywanie kazdego wydania pod 3 systemy jest dla mnie bezsensowne. Przeciez wszystkie funkcje mozna zawrzec w jednej wersji, tylko trzeba wybrac multiplatformowe GUI.
[#10] Re: Programowanie pod AmigaOS-MorphOS

@AmiChris, post #8

Chodzi mi o to, aby napisac jedna wersje programu i w ramach tej wersji zrobic opcje pod kazdy system, gdzie po prostu konkretne elementy programu moga dzialac inaczej pod wzgledem technicznym (od strony programisty), ale przy zachowaniu takiej samej funkcjonalnosci. Czy to nie jest szybsze niz przepisywanie kazdej wersji pod kilka systemow?
[#11] Re: Programowanie pod AmigaOS-MorphOS

@wali7, post #5

Skoro jest tak jak piszesz to nie rozumiem dlaczego np., DjVuViewer nie moze dzialac jednoczesnie na MOS i OS4? Chyba tylko przez brak dbalosci programistow o multiplatformowy kod.
[#12] Re: Programowanie pod AmigaOS-MorphOS

@monohrs, post #7

W zasadzie jeśli korzystamy z API AmigaOS 3.1, to każdy program wszędzie (AmigaOS 3.x, AmigaOS 4, MorphOS, AROS) powinien działać tak samo. Oraz tak samo efektywnie.

Niestety różnice bywa z jakością emulacji (jeśli korzystamy z binariów 68k), oraz różnicami w implementacji API (jeśli na każdym systemie kompilujemy ten sam program ze źródeł).

Ktoś kiedyś powinien napisać bibliotekę abstrakcjonującą dostęp do bardziej zaawansowanych funkcji systemów rodziny AmigaOS... Albo producenci powinni stworzyć standard ;). Obecnie dość trudno jest napisać nietrywialny program, który byłby przenośny w obrębie tych systemów. Warto rzucić okiem do niedawnego wątku na temat gry Nurek, tam wspomina się o takich problemach i niekompatybilnościach.

Można też poszukać na forum tematów dot. DigiBoostera 3, Krashan często wspominał o problemach z pisaniem na kilka Amigowych systemów na raz.

Ciekawym kontrastem jest rodzina systemów UNIXowych, która istnieje od początku lat '70. Mimo tego, że powstało tryliardy różnych systemów tej rodziny, to większość oprogramowania jest doskonale przenośna między nimi. Oczywiście są różnice. Ale stopień kompatybilności na poziomie kodu źródłowego jest bardzo duży. Może dlatego, że każdy z tych systemów stara się być zgodny z pewnymi standardami (np. POSIX). A na Amidze takich standardów nie ma, co najwyżej pewnymi wytycznymi jest dokumentacjia AmigaOS 3.1.

Poza tym dochodzi też kwestia mentalności programistów ("moja kopia AmigaOS jest najmojsza, nie będę pisał na inne badziewia") itd. Ale to już zupełnie inna bajka. Ok, czasem to nie jest kwestia złej woli, tylko nie można wymagać od jednego programisty, żeby inwestował czas i pieniądze w 4 różne OSy. Czasem zwyczajnie osoba posiadająca AmigaOS 4 nie ma możliwości przetestowania programu na MorphOSie i na odwrót.



Ostatnia modyfikacja: 01.08.2011 22:34:50
[#13] Re: Programowanie pod AmigaOS-MorphOS

@strim, post #12

Czyli wychodzi na to, ze brakuje jakiegos centralnego osrodka, ktory moglby tworzyc i nadzorowac standardy, tak jak kiedys robilo to Commodore, choc chyba dosc nieudolnie.

Smutne to, ze nie mozemy polaczyc sil.
[#14] Re: Programowanie pod AmigaOS-MorphOS

@monohrs, post #10

Najszybsze chyba jest pisanie wersji tylko pod ten system, który się posiada (i na którym od razu można wszystko przetestować).

A pytanie "czemu wszyscy nie piszą programów w stary sposób, tak żeby uruchomiły się wszędzie" przypomina mi inne: "czemu ludzie nie chcą pisać programów zgodnych z systemem 1.3, tylko nie wiedzieć czemu wymagają 2.0+?". Przecież po coś te nowe możliwości do systemu dodano, prawda?

[#15] Re: Programowanie pod AmigaOS-MorphOS

@monohrs, post #9

No ale wezmy dla przykladu taka sytuacje. Masz gotowa bibliotek umozliwiajaca zrobienie pewnej operacji. Na innym systemie nie masz takowej.
Powiesz mi teraz, ze bys dopisal tego libsa albo napisal wszystko samemu?
Z tego tez powodu nikt sie nie bawi takim aos3, ktory mozna rzec umarl ze wzgledu na coraz mniejsza ilosc nowego oprogramowania.
W aos4 polozono nacisk na latwiejsze portowanie wszelakiego linuxowego oprogramowania. Po czesci to wina tego, ze natywne UI (Reaction) jest cienkie w porownaniu do MUI.

Zatem chcesz pisac systemowo? Zostaje ci skrobanie po intuition + gadtools albo MUI(wersje najnowsze to: klasyk mui3.8, os4 mui3.9, mos mui4).
Popisz sobie troche programow na te wszystkie programy i bedziesz mial rozeznanie.



Ostatnia modyfikacja: 01.08.2011 22:38:37



Ostatnia modyfikacja: 01.08.2011 22:39:02
[#16] Re: Programowanie pod AmigaOS-MorphOS

@recedent, post #14

Przecież po coś te nowe możliwości do systemu dodano, prawda?


No tak, ale w przypadku MOSa te dodatkowe mozliwosc sa inne , wiec nie jest to zgodne z AmigaOS. I troche nie rozumiem po co tworzyc takie rozbieznosci.
[#17] Re: Programowanie pod AmigaOS-MorphOS

@AmiChris, post #15

Zatem chcesz pisac systemowo? Zostaje ci skrobanie po intuition + gadtools albo MUI


Ale przeciez kazdy program dla AmigaOS lub MorphOSa jesli jest systemowy (pomijajac SDLe czy Hollywoody) to korzystac musi z intutition+gadtools/mui, wiec co w tym zlego?



Ostatnia modyfikacja: 01.08.2011 22:48:00
[#18] Re: Programowanie pod AmigaOS-MorphOS

@monohrs, post #17

MUI oferuje wyzszy poziom abstrakcji. W wielu przypadkach nie bedziesz sie musial babrac intuition (gadtools-a tam nie uswiadczysz). Poczytaj MUI SDK.



Ostatnia modyfikacja: 01.08.2011 22:49:32
[#19] Re: Programowanie pod AmigaOS-MorphOS

@AmiChris, post #18

To ja juz nic nie kumam. Najpierw piszecie, ze nie ma standardow, potem, ze niedobrze jest skrobac w gadtools/mui, a na koniec, ze najlepsze jest mui. No to jaki problem zrobic mui w tej samej wersji dla OS4/MOS i pod to pisac multiplatformowe narzedzia? Pomijajac ew. zewnetrzne biblioteki, ktore mozna sportowac i chyba wiekszosc jest sportowana na oba systemy.
[#20] Re: Programowanie pod AmigaOS-MorphOS

@monohrs, post #1

Szanowny uzytkowniku mam genijalna rade pisz pod prawdziwa Amige a inne pseudojudasze niech sie martwia jak to uruchomic ..banalne prawda :)) OK

[#21] Re: Programowanie pod AmigaOS-MorphOS

@monohrs, post #16

A widziales jakies wytyczne commodore powiedzmy po 1995? Nie bylo takowych, wiec porownanie do unixa jest calkowicie nietrafione. Unix to kernel, a to ze zachowano kompatybilnosc jest wynikiem tego, ze nikomu nie chcialo sie tworzyc innych UI, a sam system byl otwarty dzieki czemu mozna bylo "kopiowac" jego API. AmigaOS byl systemem zamknietym i komercyjnym.
Wracajac do twojego pytania, chcesz uniwersalnosci pisz w MUI( + SDI, wygoda i abstrakcja) wraz z generowaniem binarek m68k.

[#22] Re: Programowanie pod AmigaOS-MorphOS

@strim, post #12

pozostaje czekac na update3 dla os4, wtedy sie sytuacja unormuje bardziej

[#23] Re: Programowanie pod AmigaOS-MorphOS

@HOŁDYS, post #20

Szanowny uzytkowniku mam genijalna rade pisz pod prawdziwa Amige a inne pseudojudasze niech sie martwia jak to uruchomic ..banalne prawda


Wiesz co, caly watek jest merytoryczny, a Ty wchodzisz i robisz balagan. Po co? Mi nie chodzi o zadne wzgledy typu sympatie-antypatie tylko staram sie zrozumiec pewne mechanizmy po powrocie do spolecznosci Amigi. Tylko tyle i az tyle. Moze nie powinienem w ogole nic pisac, sorry... :(
[#24] Re: Programowanie pod AmigaOS-MorphOS

@AmiChris, post #21

A widziales jakies wytyczne commodore powiedzmy po 1995?


Myslalem o tych wydanych wczesniej.

Wracajac do twojego pytania, chcesz uniwersalnosci pisz w MUI( + SDI, wygoda i abstrakcja) wraz z generowaniem binarek m68k.


Dzieki za konkretna rade. Moze cos splodze :)
[#25] Re: Programowanie pod AmigaOS-MorphOS

@monohrs, post #19

Problem jest taki, ze tworcom nie zawsze oplaca/nie chce sie bawic w rozwoj dla wszystkich platform. Dlaczego, zapytasz? Sam system klasyczny i sprzet na niego jest stary, niewydajny. Byle komorka bije wydajnoscia najmocniejsze m68k. Nikt nie bedzie sie w to bawil w nieskonczonosc. Recedent dobrze zauwazyl, analogia z aos 1.3 jest tutaj jak najbardziej trafiona.

[#26] Re: Programowanie pod AmigaOS-MorphOS

@monohrs, post #24

Dobrze, zatem powiedz mi, jakie wytyczne mozesz mi podac w temacie standardow dzwieku 16/24 bit dla aos. Podobnie ma sie sprawa z kartami graficznymi.
Rozwiazania typu MUI, AHI, CGX pojawily sie juz po upadku. Te standardy byly z amiga od zawsze. Ich tworcy sa czescie Morphos team i kontynuuja swoje dzielo na bardziej wydajnych sprzetach i systemie przez siebie napisanym. Ciezko oczekiwac, zeby pisali tez pod klasyka, strata czasu i energii.

[#27] Re: Programowanie pod AmigaOS-MorphOS

@monohrs, post #24

Tylko pamietaj, ze musisz rownac w dol. A wiec wszystko musi byc pod mui 3.8 (najnowsza wersja dla amig klasycznych)

[#28] Re: Programowanie pod AmigaOS-MorphOS

@AmiChris, post #26

Dobrze, zatem powiedz mi, jakie wytyczne mozesz mi podac w temacie standardow dzwieku 16/24 bit dla aos.


Jesli to ma byc standard to na dzisiaj jest AHI, przeciez jest pod kazdym amigowym systemem i obsluguje Paule oraz karty muzyczne. Wiadomo, ze na klasyku nie musi to dzialac szybko, ale w ogole ma szanse sie uruchomic, a biorac pod uwage szybkosc emulacji na PC moznaby stosowac taki standard wszedzie.
[#29] Re: Programowanie pod AmigaOS-MorphOS

@AmiChris, post #26

Ich tworcy sa czescie Morphos team i kontynuuja swoje dzielo na bardziej wydajnych sprzetach i systemie przez siebie napisanym. Ciezko oczekiwac, zeby pisali tez pod klasyka, strata czasu i energii.


Ale ja nie oczekuje, ze beda pisali pod klasyka, tylko ze beda korzystali ze standardow typu AHI, CGX (Picasso96) itd. Wtedy nie trzeba pisac, ze dany program jest pod MOS/OS4, tylko ze wymaga "takich a takich" elementow systemowych. Nie byloby prosciej? Przeciez niedlugo pojawi sie Natami i problem skomplikuje sie jeszcze bardziej, a tak byloby przejrzyscie.
[#30] Re: Programowanie pod AmigaOS-MorphOS

@AmiChris, post #27

Kiedys (w czasach popularnosci Amigi) pisalo sie, ze program wymaga np. AmigaOS2.0+, MUI 3.5+ i bylo wszystko jasne - kto ma minimum program uruchomi, kto ma wiecej - bedzie mial dodatkowe mozliwosci w nowszych wersjach AOS/MUI. Nie mozna zastosowac tej samej zasady dzisiaj? Czy po prostu programistom sie "nie chce"?
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