owbreaction.wordpress.com – amigowanie współcześnie bez złudzeń i niedomówień

Taką sygnaturkę se dałem na ppa.pl

owbreaction.wordpress.com – amigowanie współcześnie bez złudzeń i niedomówień.

Niektórzy ludzie mają złudzenia co do retro na Amidze. Cóż amigowy chipset to tylko kawałek krzemu zaprojektowany prawie czterdzieści lat temu. Wtedy było to genialnie, ale prawie czterdzieści lat minęło. Za dużo czasu i pracy.

Jak taką Agony robiło zespół czterech ludzi na pełny etat przez półtora roku, to nie ma co liczyć na to że po godzinach zrobi się coś podobnego w mniej niż dziesięć lat. Można zrobić jakieś dziadostwo gdzie grafika będzie 1/20 jakości Agony mniej wiecęj ciutkę lepiej niż 64 w pół roku, tylko po co?

Niektórzy mają złudzenia co do pc, ale dalej jak ćwierć wieku temu nie ma open source działającej wersji amigowego gui. A bez tego to bez sensu.

Co nam zostaje Amiga z lepszą grafiką niż oryginalna i nie pc, czyli NG.

 

 

 

Amiga 500

Zwykle problemy.

Jak zwykle pojawiło się jakieś coś co uważa że my Amigowcy powinniśmy się zajmować retro, grami w starym stylu, że nowe lepsze Amigi to nie Amigi bo gry z Amigi 500 nie chodzą.

Nie da się.

Technologia Amigi 500 z 1983 choć genialna jak na rok 1983 to dalej coś co opracowano w roku 1983. Owszem gry robiły niesamowite wrażenie początkiem lat 90 tych, ale to dalej hardware sprzed prawie czterdziestu lat. Jak na hobby zajmuje ze dużo czasu, za dużo przy tym pracy. Amiga to tylko hobby i czas jaki można na to zmarnować jest ograniczony.

Problemy to bardzo skomplikowana i wolna grafika oraz fdd. Obie rzeczy cud techniki w 1983, obie rzeczy dużo lepiej niż na pc w 1983, ale to dalej prawie nie zmienione od 1983. Obie rzeczy by trzeba było zmienić ale to już nie będzie czyste retro. Amiga 500 umarła i nigdy nie wróci. Trzeba się z tym pogodzić.

 

 

 

Retrogralnia

Retrogralnia co jak i po co?

Przypadek co chce powrócić do Amigi 500.
We wcześniejszym filmie lepiej opisane.
Chce wrócić do kolorowych gier z czasów Amigi 500.
Do prostej nieskomplikowanej obsługi.
Ewentualnie tylko z gotekiem.

Problem jest taki że to się nikomu nie opłaca.

fdd czy gotek jest po prostu za wolne i za małe.
chipset to technologia dalej z 1983 za wolne za skomplikowane zbyt dużo czasu zajmuje oprogramowanie tego zabytku.

Choć może nie nasz rynek coś fajnego dałoby się zrobić.
Oczywiście wtedy trzeba dopuścić jakąś rozbudowę.
Jakieś 030 bo MMU musi być.
Jakiś dopał graficzny bo sam chipset to nie.
Jakieś połączenie z netem.
Tak żeby było w miarę przyjemne do programowania, tanie i łatwe w obsłudze.

MorphOS oczami użytkownika OS4

MOS a Amiga Os 4. Różnice podebieństwa.

1. karty graficzne

Karty graficzne do MOS są stare.
Mace ppc Apple przestało sprzedawać w styczniu 2006 piętnaście lat temu, to i karty są sprzed około piętnastu lat, mają wyjście cyfrowe DVI już wtedy było.
Jak dla mnie wystarczają do filmów.
Problemem są sterowniki.
OpenGL z shaderami na MOS nie ma.
To jest problem bo za dawnych lat nie miałem okazji zająć się OpenGL 1.x
a potem weszły shadery i dzisiaj OpenGL 1.x to już jest retro.
Ktoś może wrzucić to się naucz OpenGL 1.x.
Nie.
Po pierwsze po co?
Po drugie wszystkie podręczniki i kursy są teraz do OpenGL do shaderów.
Nie chodzi o to że to co se tam dłubię to jakieś wybitne jest.
Chodzi o to że to jakiś standard.
że jak są shadery to zawsze można się kogoś spytać jak to czy tamto zrobić.
że można podpatrzyć jak coś jest zrobione.
OpenGL 1.x?
Tu będzie odpowiedź zwykle, o panie ja to już dwadzieścia lat w tym nie koduje.
Sprzęt do MOS np mac mini jest mały fajny tani wszędzie można zabrać ale sprzętu do Amiga Os 4 nie zastąpi właśnie przez grafikę.

Oczywiście część zwolenników MOS może dodać że jak to? przecież MOS obsługuje 10 letnie karty graf?

Obsługuje w maszynach pod Amiga Os 4. Bo G5 nie ruszy z kartą która nie ma biosu pod ppc. Oczywiście bez 3D. A że pod Amiga Os 4 jest 3D z nowoczesnym OpenGL to Amigi X5000 czy Amigi X1000 czy nowej Amigi 500 1 GHz nikt nie używa do MOSa.

 
2. Skanery
Wiem że rz sie narobił przy scandalu.
Ale mnie to niepotrzebne.
Ja w sobotę robiłem porządki i znalazłem na szafie pudło ze skanerem USB którego od ponad dziesięciu lat nie użyłem.
Zawsze albo foto komórką albo jak potrzebna lepsza jakość to skan na maila.

3. Drukarki.
To samo od piętnastu lat może więcej nie drukowałem przez drukarkę podpiętą do mojego sprzętu.
Zawsze przed PDF.

4. Program do poczty.
Z dawien dawna używam WWW.

5. ShowCase.
mnie to niepotrzebne.
Zdjęcia obrabiam ImageFX.
Jak coś jest za wolne albo się nie da to piszę sobie sam soft.
Bawi mnie to podwójnie bo jest kodowanie i obróbka grafiki.

6. Przeglądarka.
JS JIT nie ma.

Od siebie dodam jeszcze gdb.
Tak wiem MOS ma własne narzędzie.
Ale gdb to jest standard.

Podsumowując korzystam z MOS i Amiga Os 4.x.
MOS bo mm jest mały tani wszędzie można zabrać.
Amiga Os 4.x ze wględu na gdb i nowoczesne OpenGL.

Kolejne wspomnienie o a500 – programowanie

Wspomnienie o Amidze 500 z czasów jej świetności.

Czyli u nas od końca 1989 do końca 1992 kiedy weszło Windows 3.1, Comanche, Wolf i jego lepsze klony jak Ultima UnderWorld.

Tym razem o programowaniu.

Internet. Internet w RP wystartował w 1991 w sierpniu. Nie było to jeszcze www tylko email usenet i gopher. Na dodatek po modemie czyli szybkość typu 1 KB/s. Dane przenosiło się głównie na dyskietkach. Dokumenty się drukowało na igłówce. Życie toczyło się wolniej.

Grafika. Ciągle nie było jeszcze Windows 3.1. Windows 3.0 choć dużo lepiej niż poprzednie to cały czas nie było to. Windows 3.0 kod tylko 16 bit. W Windows 3.0 nie grafiki 24 bit, TrueType. Cały czas grafika i gui Amigi 500 były dużo lepsze. No i te 16 bit. Zarządzanie pamięcią to był koszmar. Nie to co na Amidze która od zawsze miała cpu 32 bit. Nawet jak reszta komputera była 16 bit.

PC też były głównie 286. 386  cały ten szał z ciągłą zmianą na szybsze przyjdą później wraz z grami 3D czyli DOOMem.

Czy w czasach świetności Amigi 500 typowego programistę użytków interesowały bitplany itp bzdety?

Oczywiście że nie. Grafika na Amidze 500 była ciągle dużo lepsza niż na PC więc to że jest wolniej nikogo nie obchodziło. Standardowy PC ciągle nie mógł wyświetlić tylu kolorów. Używało się funkcji systemowych do rysowania po ekranie a w przypadku HAM gotowych bibliotek.

Samo opracowanie softu też było dużo łatwiejsze niż na PC. Jak wspomniałem Amiga 500 miała 32 bit cpu więc nie trzeba się było bawić w segmenty, długie i krótkie wskaźniki itp itd. Jak się ktoś postarał to na dyskietce mieścił się kompilator C wraz z edytorem tekstu.  Można było bawić się w programowanie. Przydawała się też druga stacja dysków. Programowało się miło i fajnie pod systemem operacyjnym. Fajnie robiło się rzeczy do grafiki.

 

 

Kolejne wspomnienie o a500

Czas. 8 bit i Amiga oraz Atari ST wszystko to były cztery lata. Od końca 1989 do końca 1993. Przed 1989 komputery były prawie niedostępne, a w 1993 nastał DOOM, pc stał się komputerem domowym i maszynką do gier.

Amiga 500 to jeszcze rok mniej bo końcem 1992 przestali produkować. Zatem trzy lata koniec 1989 – koniec 1992.

Amiga 500 wtedy prawdziwy profesjonalny komputer. Soft graficzny, do raytracingu, CAD, muzyczny, multimedialny, tekst, arkusze kalkulacyjne, bazy danych typu dBase, compilatory pascal, c, c++.  Można było robić na Amidze 500 dużo więcej ciekawych rzeczy niż tylko grać. Był to komputer na tyle dobry że choć gry były fajne to szkoda było na nie czasu.  W końcu doba ma tylko 24 godziny. Choć czasami grało się w takie hity jak Agony, Apidya, Lotus.

W czasach Amigi 500 prawie wszystko było na papierze, nie odczuwało się potrzeby wymiany danych, drukarki głównie igłowe bo inne kosztowały absurdalne pieniądze, pracujące w trybie znakowym, tryb graficzny dla jakiś super wypasionych rzeczy typu prace dyplomowe. Rzadko się drukowało jakąś grafikę typu wykres, schemat, czy kawałek mapy. Oczywiście wtedy w trybie czarno białym. Amiga 500 wystarczała do biura. Problemem był twardy dysk bo to było drogie i kosztowało prawie tyle co Amiga 500 ale jakoś się dało.

CAD jakoś chodził dużo mniej rozbudowany niż dziś, wymiana danych głównie papier, ale export/import z/do DXF był jakby ktoś chciał coś wrzucić na plotter. CrossDos pozwalający na wymianę danych z pc na dyskietkach, później wbudowany do Amiga Os 2.0 był dla 1.3 komercyjnym produktem ale działał bez problemu. Oczywiście wtedy CAD to były głównie rysunki bez większego wspomagania, bez bibliotek online. Jak na tamte czasy było ok.

Bazy danych głównie w stylu dBase ale to wtedy tylko takie można było używać na tanim sprzęcie, na pc również wszędzie było dBase i klony jak Clipper. Nawet w poważnych urzędach państwowych, gdzie czasami zostały do dziś. SQL na szeroką skalę to parę lat później wraz z rozwojem linuxa i Windows NT.

Arkusze kalkulacyjne na pc to był ciągle ms-dos i Lotus 1-2-3 pod ms-dos. Tryb znakowy bez wymiany danych z Wordem – OLE będzie dopiero w Windows 3.1 w 1992.

Edytory tekstu na pc – TAG i ChiWriter nawet w poważnych państwowych urzędach.

Amiga niczym tu nie ustępowała, nawet był na Amigę WordPerfect. Można było prowadzić na Amidze poważne biuro.

Word i Excel to wszystko zmieni ale dopiero z nadejściem łatwej wymiany danych czyli OLE co będzie dopiero w Windows 3.1 w 1992.

Grafika tu było super tryb HAM tysiące kolorów można było na zwykłym domowym komputerze wyświetlić zdjęcie i nawet je obrabiać. Niesamowite biorąc pod uwagę że choć były karty do PC nawet 24 bit to nie było standardu i soft na pc trzeba było pisać pod kartę graficzną przez co były to rozwiązania koszmarnie drogie. Albo używać jeszcze droższych maców albo jeszcze droższych stacji unixowych. A tu proszę na komputerze w domu można obrabiać zdjęcie. Co prawda w małej rozdzielczości ale zawsze.

Dźwięk tak samo cztery kanały 8 bit to był wtedy super ekstra dużo powyżej możliwości absurdalnie drogich kart dźwiękowych do pc.

Praktycznie do końca produkcji w październiku 1992 Amiga 500 była komputerem lepszym i tańszym niż pc.

Dlaczego to piszę? Po to żeby pokazać że w złotych latach Amigi 500 można było na niej robić dużo ciekawszych rzeczy niż granie czy robienie gier.

 

Omówienie sposobów programowania na Amidze…

Opublikowane na https://www.ppa.pl/forum/programowanie/41420/omowienie-sposobow-programowania-na-amidze.

Pytania:

może Ktoś zaznajomiony w temacie, pokusił by się o napisanie artykułu czy szkółki, omawiającego
techniki i sposoby programowania na Amidze?

Przyznam, że jest to temat dość zamotany ze względu na mnogość opcji i sposobów, myślę,
że cześć osób się ze mną zgodzi. Już samo to trochę zniechęca. I nawet nie za bardzo wiem jak
wytłumaczyć o co mi chodzi i jak to podzielić, ale spróbuje poniżej w skrócie:

(dla uproszczenia bierzemy pod uwagę programowanie gry/grafiki a nie np. jakieś aplikacji okienkowej GUI)

Wariant 1. Amiga stokowa AGA – nie rozbudowana
Wariant 2. Amiga AGA + procesor 030/040/060 30-50mhz i wyższe + RAM
Wariant 3. Amiga + procesor + RAM + karta graficzna (rtg?)

Moje odpowiedzi:

ad 1. Królowa czyli jedyny prawdziwy klasyk oryginalna konstrukcja z 1983 w różnych odmianach produkowana do 1992.
OCS cud techniki w 1983. ECS mały litfing w 1988.
Kodowanie nie pod system jak pisałem na swoim blogu.
Fajna zabawa dla kogoś na emeryturze kto już zarobił tyle kasy że nie musi nic robić i ma kasę na wynajęcie mających talent do pixelartu i rozumiejących co się do nich mówi grafików.
Problem ze wsadem graficznym.
Ciężko znaleźć ludzi rysujących pixel art w 1,2,3,4 bity swobodnie się między tym przełączających.
Przymitywny cell shading nie działa, trzeba ręcznie poustawiać pixele i mądrze dobrać paletę.
Do tego trzeba opanować biegle ponad dwieście rejestrów chipsetu.

O problemach najlepiej świadczy fakt że w zasadzie po 1992 nikt nic nie zrobił pod to czegokolwiek wartościowego.
Jak jest coś na poziomie to same tylko wykopaliska.

Choć miło powspominać stare czasy i może kiedyś na emeryturze będę sobie działał na a500 z gotek na DPIV, AsmOne, PT.

ad 2. Wszystko od a1200 z fastem w górę ale bez karty graficznej. Słabsze NG.
AGA wiadomo za późno za mało.
Sprite nadal 16 kolorów, dualplayfield ciutkę lepiej niż OCS bo 16 zamiast 8 kolorów.
W zasadzie żeby otrzymać jakość z czasów a1200 gdzieś około połowy 1993 czyli tła i postacie 256 kolorów trzeba zrezygnować z większości chipsetu a grafika na samym cpu jest za wolna by się dobrze bawić w programowanie.

ad 3. Amiga z kartą graficzną. Rozsądny kompromis między czasem potrzebnym na kodowanie a wynikami.
Dwa standardy Picasso 96 i CGX.
Do 256 kolorów używa się funkcji z Amiga Os 3.1 które działają i tu i tu.
Więcej kolorów funkcje podobne ale różne.
Są bilioteki które emulują P96 na CGX i na odwrót. Choć te parę funkcji można się nauczyć.

 

 

 

 

AROS wirusy

Brak ochrony pamięci.

Na razie AROS x86 ratuje to że używa około dziesięciu osób na świecie.

Nie opłaca się pisać żadnych wirusów ani żadnego innego malware.

Po prostu czas poświęcony na to się nie zwróci.

Jak by było trochę więcej to niepatchowana od lat przeglądarka plus brak ochrony pamięci plus brak firewalla to była by rzeź.

 

 

 

Porty Amiga Os x86 i ARM

Amiga OS używa exec, dos które używają niesławnych Forbid/Permit, przez co soft  kompatybilny z starym Amiga OS może działać tylko na jednym rdzeniu.

Ja to pamiętam jak w 2007 kupowałem swój pierwszy cpu dwu rdzeniowy. AMD Athlon.  Różnica między jednym rdzeniem a dwoma to było 15 PLN. Oczywiście każdy brał dwa rdzenie.

W tym momencie dumb port pod x86 stał się bez sensu bo po co skoro uae jest szybsze?

No tak szybsze bo na jednym rdzeniu leci uae z wydajnością 1/3 cpu a drugi idzie pełną parą.

I tak to się skończyło bo na Forbid/Permit nie ma rady. Forbid czyli wyłączamy wielozadaniowość w ogóle coś tam robimy po czym Permit włączamy z powrotem. Żeby to było kompatybilne trzeba by wyłączać wielozadaniowość na wszystkich rdzeniach. Co oznacza że praktycznie przez większość czasu działa jeden rdzeń. Na jednym rdzeniu jeszcze z ochroną pamięci można by co pokombinować, choć ciężko, jeszcze można by kombinować jakąś lipę ze sterownikami. Ale na Forbid/Permit nie ma rady.

PS

Jest coś takiego jak AROS SMP ale jak zwykle w przypadku AROSa jest to oszustwo. Nie rozwiązali problemu Forbid/Permit na wielu rdzeniach. Uruchamiają exec na każdym rdzeniu i na każdym rdzeniu Forbid/Permit działa oddzielnie. Jak się chce używać pamięci dzielonej na wielu rdzeniach to trzeba użyć nowego API niezgodnego ze starym oryginalnym API Amiga OS. Bez sensu. Po co zmieniać API na jakąś samoróbkę a nie standard jakim jest unix?

(*) On EXECSMP builds, Forbid() only aplies to the processor
it is called from. Data which needs to be protected from
parallel access will also require a spinlock.

Dema

Dema

Dlaczego nie interesują mnie dema?

Po pierwsze demo pisało się za starych dobrych czasów po to żeby pokazać że nasza platforma jest lepsza od innych, że my jesteśmy lepsi w kodowaniu od innych.

Tego od czasu jak amigowa demoscena zrobiła foch w kierunku kart graficznych nie ma. Nie ma bo kiepska AGA to grafika dużo wolniejsza od tanich kart do 386SX i nic się nie da z tym zrobić. Sceniarze owszem próbowali ale do dziś na najszybszych 060 nie udało im się pokazać tak dobrej i dynamicznej grafiki jaką miałem na swoim pierwszym pc pentium 90 MHz z S3 Virge w roku 1996.

Po drugie demo nic nie mówi o umiejętnościach programisty.

W roku 1995 na studiach zrobiłem demo na pc. Obejrzał to mój wykładowca, zachwycił się grafiką a mnie zrobiło się wstyd. Najbardziej czasochłonne obliczenia zostały zrobione wcześniej i stablicowane. Chodzi o to że ponieważ nie ma interakcji z użytkownikiem wiele rzeczy można wyliczyć wcześniej i później tylko ładować z dysku. Dlatego też demo o niczym nie świadczy. Dopiero w momencie kiedy wejdzie użytkownik i zacznie coś robić zaczyna się prawdziwa zabawa. Bo nigdy nie wiadomo na co wpadnie druga osoba. To jest prawdziwa informatyka a nie dema. Tak samo w grach jak i w programach użytkowych.

Po trzecie i najważniejsze Commodore CD32 FMV i VideoCD.

Nie lubię jak różni dziwni na siłę próbują robić z Amigi komputer bardziej przestarzały niż jest. Commodore zrobiło CD32 FMV sprzęt który pozwala na oglądanie VideoCD czyli normalnych filmów MPEG1 na CD i jest to symboliczny koniec dem. Robienie aplikacji która nie ma interakcji z użytkownikiem jest bez sensu jak jest hardware do odtwarzania filmów.