Kłopoty Hyperionu

Kłopoty firmy Hyperion. Jak zwykle Hyperion samo zło, upada i w ogóle koniec świata Amigi NG. Koniecznie natychmiast trzeba przejść gdzie indziej.

 

Jakie mamy opcje?

Klasyk

Ja to wiecie pamiętam jak latem 1992 składałem pewną gazetę na 386 z FPU Weitek na Windows 3.1. Już wtedy pc jeśli chodzi o grafikę zostawiał Amigę daleko w tyle.
System był pomieszany jak nie wiem co, ale grafika była dużo lepsza niż na amidze. Później była AGA ale wiele klasykowi nie pomogła.
Mam w piwnicy 386SX z 1991 roku z kartą CL z 1992 roku.
CPU o połowę wolniejszy niż 020 ale i tak rysuje linie parę razy szybciej niż biedny amigowy blitter może teoretycznie.
Transfer 8 bit chunky pixel do karty graficznej też lepszy niż najlepsze c2p na 060.
Rok 1992 wydawałoby się tak nie dawno a to już ponad ćwierć wieku minęło.
Jakbym się miał bawić w takie rekonstrukcje historyczne to chyba wybrałbym coś innego. Może postawiłbym przed domem altankę z szachulca (belki z drewna, pomiędzy nimi glina z sieczką) zbudowaną w stylu Tudorów. Albo przerobił samochód na parowy.
Za dwa miesiące będziemy obchodzić ćwierć wieku jak na rynek weszła pierwsza konsola z prawdziwym 3D. 3D0 zrobione przez ludzi którzy wcześniej byli w zespole Minera i tworzyli Amigę.
Za kolejne dwa miesiące będzie ćwierć wieku jak pojawił się DOOM i nastała rewolucja 3D w grach.
Wrócić do chipsetu to się po prostu nie da.
Nie skreślam całkowicie klasyka, jak klasykowcy wezmą się do roboty i dorobią tanią grafikę przynajmniej na poziomie tego 3D0 to może co z tego będzie.

AROS

Dwadzieścia parę lat minęło, gui AROSa x86 dalej nie kompatybilne z gui Amigi,  dalej nie ma kompatybilności z softem 68k i dalej nie ma ochrony pamięci.

Wnioski

Nie ma na co zmienić Amigi NG. Przecież nie będę używał amigowego GPU z 1983 roku, mającego parametry i wydajność z 1983 roku, ani nie będę używał systemu który nie jest kompatybilny z 68k i nie ma ochrony pamięci. Dalej będę używał sprzętu na którym chodzi mi prawie wszystko co używałem na a1200 tylko o wiele lepiej i szybciej.

Psy szczekają karawana jedzie dalej.

 

 

 

 

Advertisements

Vampire 2.10

FPU dalej ma problemy z obsługą standardów, wychodzą problemy zaokrągleniami.

Na szczęście można programowo włączać/wyłączać FPU, i używać FPU tylko do wybranego softu, gdzie błędy nie występują, a przynajmniej nie są widoczne.

 

 

Programowanie Amiga 500 oraz 1200 w C

Amiga 500

Jeśli chodzi o Amigę 500.

IDE do A500 nie ma, to nie te czasy.

Do robienia gier pod a500 są potrzebne:

Książki z opisem hardware:

– Vademecum Programisty Amiga – autor Grzegorz Miechowski

– AMIGA bez tajemnic – książka niezbędna dla każdego kodera – zrób własne demo

– Mapa pamięci Amiga 500 2000

Kompilator SAS C – wersja 6.x

Oraz mnóstwo wolnego czasu. Do opanowania jest ponad sto rejestrów oryginalnych układów Amigi.
Assembler coopera – drugiego procesora z oryginalnych układów Amigi.
Skomplikowany system sprite’ów, dwa obrazy wyświetlane naraz.

2D można robić w 320×256 dwie płaszczyzny po 8 kolorów.

3D tylko bez tekstur. Maksymalna teoretyczna wydajność oryginalnych układów Amigi to 320×200 w 16 kolorach.
Najlepszym udało się wyciągnąć 256×200 w 8 kolorach (gra Desert Wolf).

Nie polecam pisania na Amigę 500 ze względu na czas potrzebny do opanowania oryginalnego amigowego hardware,
czas żeby móc zrobić coś co nie będzie kompletną pomyłką.

Amigi bez karty graficznej

Jeśli chodzi o 3D nie warto używać Amig bez kart graficznych, zajmować się zagadnieniami typu c2p, szkoda czasu.
Nikt nigdy nic wartościowego nie pokazał na Amidze bez dodatkowej karty graficznej.
Mimo heroicznych wysiłków max co się udało osiągnąć to trochę lepiej niż DOOM czyli gra Alien Breed 3D II The Killing Grounds.
Zakodowana max hakersko, chodzi wolno w niskich rozdzielczościach, na super drogich Amigach z cpu 060.
https://www.youtube.com/watch?v=z7L5yFKMaWo
O innych klonach DOOMa na Amigę bez karty graficznej wstyd pisać.

3D na amigach z kartami graficznymi

Tu jest duży wybór.

– drogie duże Amigi od Commodore z drogimi kartami Amiga<->PCI i kartami VooDoo na PCI
– Amigi od Commodore z ppc i kartami graficznymi c/bvision.
– WinUae z emulacją 3D – dwa rozwiązania – QuarTex i Wazp3D
– nowe Amigi po Commodore

Grafika 3D – głównie OpenGL 1.x, tylko na nowszych Amigach z Amiga OS 4 OpenGL 2.x

Kompilator gcc.

Jeśli ktoś zna OpenGL 1.x to najprościej zrobić grę na pc w OpenGL 1.X i potem przenieść na Amigę, to będzie chodzić prawie wszędzie.

OpenGL 2.x – dużo mniej sprzętu, głównie nowsze i droższe modele Amig.

 

Amiga i shadery

Shadery.

Jak pisze wikipedia – Shader – krótki program komputerowy, często napisany w specjalnym języku (shader language), który w grafice trójwymiarowej opisuje właściwości pikseli oraz wierzchołków.
Od trzydziestu lat podstawa współczesnej grafiki 3D. Najpierw raytracing – także na Amidze – własne shadery można pisać do Lightvawe, potem wraz z rozwojem kart graficznych używane w OpenGL i DirectX.

Osobiście zetknąłem się z tym tematem dawno temu na pc, pod DirectX, shadery były pisane wtedy w assemblerze.
Przed rokiem 2000 nie miałem okazji pisać w starym OpenGL bez shaderów, a teraz uczenie się starego OpenGL bez shaderów, jest w zasadzie bez sensu.

Jakie są możliwości odnośnie shaderów na amidze.

I Raytracing

Kod shaderów wykonywany przez główny procesor. Można pisać własne shadery do softu do raytracingu np Lightvawe i rozszerzać możliwości tego softu o rzeczy które się dwadzieścia lat temu autorom amigowych wersji nie śniły.
Zmiana kolorów, odbicia, oświetlenia itp itd.

II Karty graficzne

Kod shaderów jest wykonywany przez procsory na karcie graficznej.

1. Mac mini, Sam440, Amiga One G4 itp itd

Radeon R200 – shadery bardzo stare wiadomo R200 to rok 2001 – standard shader model 1.4 czyli sprzed Windows XP.
Pod Amiga OS i MOS nie wspierane.
Pod linux ppc wspierane dwa rozszerzenia do OpenGL:
a)vertex shader – ARB_vertex_program – shadery tylko w assemblerze, możliwa kompilacja na cg na pc
b)pixel shader – opengl dla linuxa ppc wspiera tylko rozszerzenie ATI_fragment_shader shadery definiowane jako funkcje w C

Jest to o tyle fajne że działa na mm, który jest cichy i malutki.

2. G5 i R300

Na razie nie skończone. Kompilacja ok, ale nic na ekran nie idzie.
Trzeba czekać do nowej wersji MOS aż je skończą.

3. Radeon SI – Amiga 500 1 GHz

Działa, wersja OpenGL całkiem jak na amigowe warunki nowoczesna – 3.0 ES.

III Sieć.

W zasadzie i tak kod szaderów wykonuje inny procesor – procesor a właściwie procesory, nic nie straci na koszerności. Można przesłać wszystko przez sieć do pc, rpi czy czego innego co będzie robić za kartę graficzną do amigi.

Atari

Pokochałem me Atari, było z drewna i ze stali…

Atari 8 bit.

Ostatnio trochę się zajmowałem atari 8 bit. Tak bardziej z sentymentu do 6502.

Historia małego atari przypomina to trochę historie amigi za czasów Commodore. Firma Atari oszczędzała na badaniach i rozwoju i jak opracowali komputery atari 8 bit w 1978 tak tłukli je aż do końca.

Sprzęt ten miał kiepskie możliwości graficzne i muzyczne w porównaniu do cztery lata młodszego c64, szczególnie sprite’y które są małe, trudne do oprogramowania, albo strasznie brzydkie jak się je rozciągnie – zależy z której strony spojrzeć. Są szerokie na 8 pixeli mono, co prawda można je rozciągać 4 razy w poziomie, wtedy są łatwiejsze do programowania, ale strasznie brzydkie.

Efekt jest taki  że ze sprzętowych sprite’ów nikt nie korzysta. Wszyscy robią je programowo, co zajmuje czas procesora i pamięć.

Społeczność małego atari, poza paroma pozytywnie zakręconymi jak  yerz, xxl, Monteuzma składa się głownie z zakompleksionych osobników mających olbrzymie kompleksy względem wszystkiego co było później jak c64, amiga, pc.

C64 wszedł na rynek 8 bit i pozamiatał, ale niektórzy atarowcy do dzisiaj nie mogą się z tym pogodzić. Chcą dorównać c64 i pokazać że wcale c64 nie rządzi. A że stock atari ma grafikę z 1978 to mają pomysły by wywalić z atari w wszystko co się da i zastąpić nowym lepszym.  Zmienia się cpu, grafikę, dźwięk. Wychodzi absurdalnie drogie PC AT z innym gorszym procesorem.  Potem normalni ludzie chcą się pobawić trochę w kodowanie na 6502 i jest problem.

Są fajne rozszerzenia do małego atari typu SIO* np SIO2BT, SIO2WFIF, SIO2PC-USB  ale fanatykom śmierdzom, bo to transmisja szeregowa a oni chcą podpinać hdd do atari. A szkoda bo całkiem tanie i fajne i pozwala nawet na połączenie małego atari z siecią co bardzo ułatwia wiele rzeczy.

Tak ogólnie to miło było znowu popatrzeć na to kod w asemblerze 6502, ale złapałem się na tym, że niestety bardziej podoba mi się kod w C na 6502. Trochę szkoda, bo poza 6502 małe atari nie ma nic do zaoferowania.