@gnugpl,
post #33
Wybrałem dział MorphOS ze względu na Abox który jest właśnie komercyjnym odpowiednikiem tego o czym myślę
Nie, nie jest. Abox nie ma pod spodem nic poza mikrokernelem nie implementującym żadnych funkcji graficznych, systemowych, etc.
Poza tym Abox sam w całości obsługuje sprzęt. Więc z dużą dozą przykrości śpieszę donieść że to kompletnie nie to o czym myślisz. ;)
nie widzę innej możliwości jak statyczne zadeklarowanie dla...
Tak. To o czym piszesz jest znanym od dawna pojęciem określanym jako "sandbox". W praktyce to niestety trochę więcej niż tylko "mapowanie blittera", i "przydzielanie programom pamięci".
Mówiąc o czymś niszowym zapominasz że tylko 3% użytkowników komputera mają zainstalowany Linux
Nie, nie zapominam. O linuksie jednak słyszała stanowcza większość użytkowników komputerów. I te 3% w przeliczeniu na ogólną ilość użytkowników komputerów, to co najmniej kilka milionów użytkowników, z których wielu to aktywni developerzy. Amigowe podwórko może być liczone co najwyżej w tysiącach.
Poza tym tych struktór, funkcji, eventów etc. na przwdę nie jest aż tak dużo - w końcu ile może się zmieścić do 256 KB ROM i kilkunastu bibliotek
Pisząc w ten sposób obnażasz fakt, że nie masz pojęcia absolutnie o czym piszesz w ogóle. Po pierwsze: 256KB ROM to jakieś archaiki o których nie warto pamiętać. Jakakolwiek reimplementacja amigowego API powinna dotyczyć minimum systemu 3.0, a to już jest 512KB. I to jest podstawowe API, które w 90% przypadkach programów NIE WYSTARCZY do uruchomienia jakiegokolwiek obecnego programu, który wymaga bibliotek i komponentów systemowych zgrupowanych w postaci bibliotek, klas, sterowników, i innych, znajdujących się w systemie pod postacią plików.
które mając już Linuksowe API pod sobą byłoby bardzo proste do zaimplementowania poprzez odpowiednie wykożystanie Linuksowego API.
To nie ma nic wspólnego z prawdą. Nic nie jest proste co wydaje się być proste na początku, zwłaszcza gdy patrzy na to laik. Albo jak kto woli, słowami Murphyego - "wszystko jest możliwe pod warunkiem że wie się o czym się mówi".
Zrób nam przysługę i zerknij na to jak jest skonstruowany "wrapper" MUI -> gtk.
I oczywiście nie trzeba emulować WSZYSTKIEGO bo typowa gra wykożystuje co najwyżej 1% amigowskiego API a mało który program wykożystuje więcej niż 30% API
Możesz podać ogólne wzory na takie wyliczenia? Jestem ich ciekawy. Poza tym o jakich grach my tu w ogóle mówimy? Systemowych czy niedosowych wyłączających system? Jeśli o tych drugich, to naprawdę myślisz że emulacja blittera i coppera wystarczy? A CIA, i związane z tym timery, i system przerwań? A DMA? A Dźwięk - emulacja Pauli? To wszystko też jest "bardzo proste do zaimplementowania korzystając z linuksowego API"?
Odnośnie natomiast programów systemowych - NIGDY nie można zakładać tego, że jakiś program nie musi czegoś wymagać, gdy się pisze reimplementację jakiegoś systemu. Chyba że się pisze taką reimplementację pod KONKRETNY program.
sami widzicie że Abox nie obsługuje wszystkiego
Bzdura. Abox obsługuje AmigaOS niemal w 100%, i do tego wnosi wiele nowego od strony API (OS4, MOS, i AROS mają nowe funkcje i struktury niedostępne w OS3.x). I tego ciągle przybywa, bo wszystkie te systemy są ciągle rozwijane. więc zdanie:
Wracając do dyskusji skoro klasyczne API jest niezmienne od 10+ lat i juz takie pozostanie
Jest błędne.
W mojej opini gdyby projekt był sensowny to by się znaleźli - w końcy WinUAE jest z powodzeniem rozwijany do dzisiaj.
WinUAE w 99% służy do emulacji pod kątem starych gier, i emuluje TYLKO sprzęt (nie liczę pcheł w rodzaju specjalny sterownik pod picasso czy AHI).
Podstawowy koncept UAE powstał w czasach gdy Amiga trzymała się jeszcze całkiem nieźle. I na tamte czasy notowany jest największy rozwój tego emulatora, w sensie implementacji emulacji konkretnych składników hardware. Obecny rozwój to głównie dodawanie nieistotnych pierdół, fixowanie błędów, i spowalnianie całości.
Uważam, że warstwa systemu obsługująca sprzęt nie powinna mieć nic wspólnego z oryginalną amigowską implemenatcją (maże to byc np. Linux) a dopiero na tej solidnej podstawie budujemy amigowski front-end zamiast budować kolosa nagliniannych nogach
Szkoda tylko że sam linux staje się powoli kolosem na glinianych nogach, które to w wielu przypadkach mają zaszłości sprzed kilkunastu dobrych lat.
który tak naprawdę jest w pełni kompatybilny tylko z samym sobą jak np. AROS.
AROS spełnia swoje podstawowe założenie (twórców), czyli kompatybilność z AmigaOS 3.x na poziomie źródeł. Naprawdę nie potrzeba wielkiego nakładu pracy by skompilować AROSową wersję jakiegoś amigowego programu. Uwierz. AROS nigdy w założeniach nie miał emulować niczego więcej.
Ale borykają się, ze sterownikami nvidii, nie mają sprzętowego wsparcia grafiki 2D
AROS posiada sterowniki dla NVidii (mschulz się już z nimi nie "boryka" z tego co wiem), sterownik ten posiada równiez pełną akcelerację trybów 2d.
zamiast tego wszystkiego wystarczyłoby jedynie skupić się na odpowiedniku czegoś takiego jak mono dla .net, wine, opensourcowa wirtualna maszyna java
Zawsze wtedy pozostaje w cholerę problemów do rozwiązania, o których pisałem wcześniej. W przypadku .net czy java tych problemów było by jeszcze więcej, ze względu na ogólną konstrukcję obu tych środowisk.
co programy mają bezpośredni dostęp do adresów mapowanych na ROM przez co źle napisane programy nawet nie kwapiły się odszukiwać adresu funkcji ROM w tablicy skoków
Tym nie zajmuje się typowy program... Tylko co najwyżej jakaś łata na system.
w takiej sytuacji chyba najlepiej jest od nowa napisać najlepsze programy amigowskie jako open-source jak to miało miejsce w przypadku
Więc zrób to, zamiast rozkręcać bezsensowne dyskusje na amigowych portalach. Tyle że to wtedy nie miało by NIC wspólnego z amigą w jakikolwiek sposób.