Hej,
Ostatnio namnożyło się projektów sprzętowych - najważniejszym jest chyba Vampire V2.
Bardzo brakuje mi jednakże projektów w dziedzinie oprogramowania na Amigę. Ostatnio na różnych zrzutach ekranów widać z reguły klasyczny Workbench jaki go Commodore-Amiga stworzyło.
Od dłuższego czasu projektuję pewien program, który w założeniu ma usprawnić dosyć powolny system graficzny Amigi z naciskiem na layers.library. Jednocześnie chciałbym, by taki program był w pełni zgodny z systemem, dzięki czemu wykorzystywał dobrodziejstwo bibliotek systemowych oraz nie miał problemów z kompatybilnością pomiędzy różnymi modelami Amig.
Program zarazem musi działać na Amigach, które są wyposażone w oryginalne układy wideo Amigi, w szczególności AGA i wykorzystać potencjał Blittera.
Oznacza to, że program nie ma być łatką na funkcje systemowe, ani sprzętowym hakiem. Pojawia się pytanie, czy da się coś takiego skonstruować.
Okazuje się, że tak. Program według moich założeń wykorzystuje bogactwo funkcjonalności, które zapewnia biblioteka intuition.library (oraz inne) działając przykładowo na standardowym ekranie intuition w wielozadaniowości, a zarazem wprowadza nową funkcjonalność, w szczególności przyśpieszone funkcje rysowania.
Załączam małą demonstrację mojego pomysłu. Program wykorzystuje Blitter bezpośrednio, również do narysowania całego tła. Wszystkie funkcje rysujące odbywają się w czasie rzeczywistym. Ekran jest w wysokiej rozdzielczości 640x256 w 256 kolorach. Można za pomocą myszy przesuwać "okienko" z fragmentem obrazka na ekranie. Demonstracja w prosty sposób pokazuje potencjał Blittera oraz możliwości graficzne Amigi i kości AGA. Oryginalne funkcje rysujące obarczone są ogromnym narzutem, dlatego wielokolorowy Workbench działa nieco wolniej.
Mam ambicję stworzyć taki podsystem "kafelkowy", który działałby na własnym ekranie i właśnie w wielu kolorach (np. 32-256). Mam też pomysł, by "kafelki" nie nakładały się na siebie częściowo (co najwyżej całkowicie z możliwością przełączania między warstwami) wyłączając requestery, które mogłyby zasłaniać okno główne.
Generalnie ja jestem zdania, że do pracy na Amidze nie potrzeba super grafiki, feerii barw, czy bardzo wysokiej rozdzielczości. 4, 8 czy 16 kolorów do pracy wystarczą. Wordworth, Turbo Calc, Organiser i inne programy są tego dowodem. Dlatego też moje rozwiązanie to pojedynczy program, a nie kompleksowa łata, która powstawałaby latami bez gwarancji powodzenia.
Chciałbym by mój program to był taki kolorowy i atrakcyjny, ale też funkcjonalny program jak Workbench służący do pracy z komputerem. Na razie postawiłem na szybkie funkcje rysujące w wielu kolorach.
Program korzysta z biblioteki datatypes.library do załadowania grafiki. Docelowo jednakże planuję "nieco" zoptymalizować ładowanie (oraz inne, wolne funkcje systemowe) pisząc je całościowo w asemblerze. Wymaga systemu Amiga OS 3.0 oraz kości AGA.
Polecam pobrać tą wczesną demonstrację i podzielić się opinią. Dziękuję.
Na koniec chciałbym napisać, że realizacja tego pomysłu to moje duże marzenie. Jestem bardzo szczęśliwy, że udało mi się wpaść na tego typu pomysł. Nie jest to kolejna łatka tylko kompleksowa idea, by na AGA uzyskać szybki i atrakcyjny pulpit. AmigaOS 3.5/3.9 nie zapewniają tego, bo bazują na tym samym starym kodzie layers.library (który jest łatany, w przypadku użycia karty graficznej).
Zapewniam, że kocham system Amiga OS oraz chipset Amigi, a ten projekt jest tylko tego dowodem. Nie mam zamiaru zamieniać funkcje systemowe, tylko je troszkę uzupełnić i usprawnić. Mam nadzieję, że projekt zostanie ciepło przyjęty i padną jakieś sugestie, albo propozycje funkcjonalności.
Mam też nadzieję, że uda mi się projekt rozwijać w jako-takim tempie. Nie jest to mój jedyny obecny projekt.
Tutaj można pobrać archiwum z demonstracjąA tak to powinno wyglądać: