Oznámení

Sbalit
Aktuálně žádná oznámení.

Metro Siege

Sbalit
X
 
  • Filtr
  • Čas
  • Zobrazit
Vymazat vše
new posts

    #61
    Osobně jsem měl AGA v dobách, kdy jsem vlastnil A1200 (cca roky 1995-1999), velmi rád. Možnost mít Productivity mód ve více než 16 barvách 4 barvách z palety 64 (omezení ECS) bylo fajn. Ale stejně jsem Workbench a programy při 31kHz proháněl jen ve dvou nebo max třech bitplanes a více barev tak bylo dobré leda na statické obrázky.
    Amigu 1200 patřičně dovybavenou nějakou rozumnou turbokartou (B1230?) doteď považuju za to nejlepší, co si člověk může pro ukojení své nostalgie pořídit.

    Ale smutným faktem je, že AGA byla hodně velká bída.
    Z pohledu programátora přinesla jen tři věci navíc: 1. Větší počet bitplanes (osm), 2. Lepší podpora 35 nSec pixelů (rozlišení), 3. 4x data fetch mode. To první a druhé bylo nutností, pokud Commodore chtěl aspoň trochu zlepšit konkurenceschopnost Amigy proti VGA (SVGA) PC kartám (a dalším počítačům jako byl Mac, Atari Falcon, ...). A to třetí byla nutnost, protože Commodore nezrychlil Chip-RAM sběrnici. Proč tak neučinil netuším. Nejspíš kvůli ceně a zpětné kompatibilitě? Samozřejmě A1200 těch vylepšení přinesla o něco víc (68020, expansion slot, PCMCIA, IDE, ...), ale co se týče on-board grafiky, tak to byla bída.

    Zvětšení počtu bitplanes je jistě skvělá věc. Jenomže sběrnice zůstala stejně pomalá, jako u OCS z roku 1985. Na šestnáct vygenerovaných low-res pixelů stále existuje jen osm DMA slotů. Takže udělat fetch všech osmi bitplanes sebere všechny DMA sloty a tak se, když se generuje obraz, nikdo do Chip-RAM (a ke custom chip registrům) nedostane. Copper, Blitter, CPU - nikdo. A pokud by chtěl programátor použít 72nSec nebo 35nSec rozlišení (640, 1280), tak prostě není možno přečíst data z víc jak čtyř (nebo dvou) bitplánů. Tak jak je to tedy u AGA řešené? Commodore přidal 2x a 4x fetch mody. Když se zapnou, tak Alice pro Lisu čte v jednom DMA slotu (taktu sběrnice) 4 nebo dokonce 8 bajtů (oproti původním dvěma). Jen díky tomu je možno mít 1280 horizontální rozlišení (nebo chcete-li 640 při 31kHz) v 256 barvách.
    A pokud programátor použije menší rozlišení (ve hrách tedy klasický 140nSec pixely), má k dispozici hodně volných DMA slotů (pro Copper, Blitter, CPU). Zatím to tedy vypadá všechno nádherně. Problém je v omezeních. Tím menším (ale pro začínajícího programátora asi překvapivým) je, že tento 32-bit a 64-bit přístup má skutečně jen Alice. Takže CPU a Copper nemá možnost nakrmit Lisu v jednom taktu čtyřmi bajty. Ale nevadí. Horší je, že adresa začátku každého řádku v bitplanes musí být zarovnána na 4 nebo 8 bajtů (v případě 2x nebo 4x fetch). A to už začíná být poněkud otravné. Ale dá se s tím žít, i když to může v některých případech zbytečně plýtvat Chip-RAM. Ale horší to je pokud by programátor chtěl použít 4x fetch mode a současně chce použít hardwarovou podporu horizontálního scrollu. V tom případě musí zajistit, aby se prvních osm bajtů ze všech bitplánů načetlo dostatečně s předstihem vpravo na řádku (než se pixely začnou zobrazovat).​ Jenomže takové včasné načtení se bohužel překrývá s fixně danými sloty pro načítání sprajtů! Co to znamená? Pokud chceme mít hw horizontální scroll pro screeny širší než 256 pixelů a využít 4x fetch mode (protože to je to největší zrychlení AGA), tak musíme oželet téměř všechny sprajty (myslím, že tak jeden dva nám zbudou). Dá se to vyřešit tím, že si hra vystačí jen s užší obrazovkou nebo použijeme Copper k načítání dat potřebných sprajtů. Není to neřešitelné, ale je to prostě pruda.
    No a pak tu máme barvy. Je jich 256. Jenomže jak dostat toto množství do palety, která má i u AGA jen 32 položek? Commodore to vyřešil tak, že existuje osm palet, které se přepínají zápisem do registru BPLCON3. Bohužel tím to nekončí, protože AGA má osm bitů u R, G a B odstínů ("true-color"). Jenomže barevné registry mají jen 4 bity na barevnou složku. Takže nastavením bitu LOCT v BPLCON3 se přepíná, jestli ty čtyří bity jsou horní nebo dolní. Přičemž kvůli zpětné kompatibilitě se musejí nejdřív nastavovat ty horní. Opět se s tím vším dá žít, ale je to pruda.

    Copper se u AGA nijak nezlepšil. CPU sice může po sběrnici číst a zapisovat v jednom taktů až 4 bajty, ale Copper zůstal stejný jako v roce 1985 a umí zapisovat jen 16 bitů v jedné instrukci. Stejný zůstal i Blitter, který se tak stal skoro zbytečným. Umí sice využít (téměř) každý volný DMA slot, ale umí číst a zapisovat jen po 16 bitech. CPU se sice dostane ke sběrnici jen v každém druhém taktu (když je volná), ale umí načíst a zapsat rovnou 4 bajty. CPU má ale instrukční cache (a 030+ ji má nejen větší, ale má i datovou) a jeho frekvence se zdvojnásobila, takže na jeden takt sběrnice má své čtyři vlastní. Když se k tomu přidá zlepšené provádění aritmetických a logických operací (např. bit-shift má konstantní počet taktů bez ohledu na délku posunu) a Fast-RAM, tak byl Blitter už v podstatě zbytečný.

    Sprajty se na AGA zlepšily jen díky fetch modu. Tak jako Alice krmí Lisu až čtyřmi nebo osmi bajty v jednom taktu z bitplanes, je schopná předat Lise i více dat sprajtů v jednom taktu. A tak se nám šířka sprajtu zvětšila na 32 nebo 64 pixelů (2x nebo 4x fetch). Ale to je vše. Barevná hloubla zůstala, protože stále máme jen SPRxDATA a SPRxDATB registry -- takže tři barvy (nebo s​edm při spřažení). Jo a sprajty se tentokrát dají kreslít i na okrajích obrazu. U OCS je Denisa kreslila jen když generovala obraz z bitplanes. No jupííí.

    Takže si to shrňme: Sprajty se v roce 1992 sice rozšíříly na 64 pixelů, ale jejich počet a barevnost zůstala. Při tom ale Blitter byl stále stejně rychlý (nebo spíše pomalý)- Přístup k bitplanes se sice o něco zrychlil (bylo víc volných DMA slotů + CPU mělo 32-bit přístup), ale objem dat se zvýšil až dvojnásobně (osm bitplánů). A to v době, kdy se hráči už běžně dívali na hry na SNESu, Sega Megadrive nebo PC Engine (nemluvě o Arcade strojích)...

    Ještě tu bylo logické rozšíření dual-playfield a HAM modu (ten první měl 4+4 bitplanes, ten druhý měl víc bitů na modifikování barevné složky a větší základní paletu). 15 barev pro jednu nezávislou vrstvu ze dvou? Jako je to fajn, ale nic moc převratného. Aspoň že ten HAM8 mod umožňoval hezké "true-color" chunky2planar mody, tak často vídané v demáčích. Ale to zase vyžadovalo rychlejší procesor, aby to bylo k užitku a v běžných hrách to asi k vidění nebylo (mimo 3D).
    Nějak mne už nenapadá víc vylepšení, které přineslo AGA pro běžného programátora, který chtěl dělat hry nebo si prostě chtěl hrát s grafikou. Tohle byla vylepšení, která Commodoru trvala 7 let.

    Ale klidně mne vyveďte z omylu. Diskuzi o výhodách/nevýhodách AGA se vůbec nebráním.

    Ještě bych dodal, že OCS je stále zajímavé pro svou nostalgickou hodnotu, pro své (ve své době) skvělé navržení a určitou revolučnost. AGA se naproti tomu jeví spíše jako takový rychlý "hack". A další výhodou OCS je v současné době skvělá cycle-exact emulace (emulují se i chyby). U AGA to myslím stále neplatí.
    Naposledy upravil Defor; 20.01.2022, 10:57:49.

    Komentovat


      #62
      Defor díky za skvělý popis. Já jsem v době A500 měla Amigu jen na hraní a psaní matematických (tj. text in/out) prográmků v céčku. Nic se na tom nezměnilo ani když jsem si pořídila A1200. Takže grafiku jsem nikdy neprogramovala a znám to jen jako uživatel.
      Souhlasím že AGA byl jen "rychlý hack" aby Amiga tolik nezaostávala za PC. Špatný nebyl, mé nejoblíbenější hry byly pak CivilizationAGA a GalagaAGA, ale fakt je, že to už nic moc nezměnilo.
      Obecně ale rychlé hacky nejsou špatné, umožní získat čas než se dovyvine něco nového. To se bohužel u Amigy nestalo, ale například u Intelu jsou poslední dvě generace procesorů také rychlé hacky, a podle všeho to nevadí Fakt ovšem je, že Intel je poněkud větší firma a dočasné technologické zaostávání ustojí s větší pravděpodobností.
      AmigaOS3: Amiga 1200
      AmigaOS4: Micro A1-C, AmigaOne XE, Pegasos II, Sam440ep, Sam440ep-flex, AmigaOneX1000
      MorphOS: Efika 5200b, Pegasos I, Pegasos II, Powerbook G4, Mac Mini, iMac G5, Powermac G5 Quad

      Komentovat


        #63
        Protože jsem patron BitBeamu a můžu tak mít na hru trošku vliv, Michael Parent nám sponzorům dal šanci navrhnout vlastní grafitti ve hře. Moje se dostalo hned do prvního levelu. Takže tady je...

        Přiložené soubory
        "Venku leje. Naimpregnuju si hlavu pivem." (Červ, 2023)

        Komentovat


          #64
          Autorem citovaného textu je Predseda Přejít na původní příspěvek
          Protože jsem patron BitBeamu a můžu tak mít na hru trošku vliv, Michael Parent nám sponzorům dal šanci navrhnout vlastní grafitti ve hře. Moje se dostalo hned do prvního levelu. Takže tady je...
          dobře ty
          pařba a flink chtěj celýho člověka...

          Komentovat


            #65


            čas 11:40
            Naposledy upravil Predseda; 17.11.2022, 18:30:04.
            "Venku leje. Naimpregnuju si hlavu pivem." (Červ, 2023)

            Komentovat


              #66
              Jo, ses tam 👍
              Powerbook G4 A1138, MOS 3.18, MACOSX Tiger + LubuntuPPC 16.04
              Mkr. Tower Inf. II, Amiga 1200, BPPC603e+/210MHz/060/50MHz, 256MB Ram, BVision, SCSI 2.5" 80GB, AOS3.2,MOS,AOS4.1FE
              E/Box Tower, Amiga 1200, Blizzard 1260/50MHz, 128MB Ram, Mediator 1200TX, Voodoo 3 2000, SB128, Fast ETH, CF 8GB, AOS3.9
              Amiga 600, X601, Furia EC020, SMC PCMCIA WiFi Network Card
              AmigaCD32 + TF330 64MB RAM, Paravision_SX1, 8MB Ram


              registered on https://amigamap.com/amiga-slovak_republic.html

              Komentovat


                #67
                Defor: diky za popis k tej AGA architekture, ano bol to len rychly hack a v praxi na pracu bola AGA nepouzitelna uz v rozliseni 640x512 pri viac nez 8 farbach to bolo neskutocne pomale, ale aj tak vzdy budem mat z Amig A1200 najradsej, ked som si stiahol prvy AGA obrazok fraktalu v HAM8, cumel som jak puk na tu nadhernu grafiku

                sikovni programatori dokazu robit zazraky, takym zazrakom je pre mna hra Zynaps plus na C64, je to neskutocne rychle a hratelne, fantasticky je Project X na Amige 500 a bohuzial, A1200 prisla neskoro a skutocnych AGA hier je velmi malo (biedne prekreslene OCS hry do AGA neratam)
                --------------------------------------------------
                A1200 + Blizzard 1230/50Mhz + 32MB RAM, AMD RYZEN 9 5900x 32GB DDR4 RAM AMD R9 380 4GB, MAC OS X BigSur,

                Komentovat


                  #68
                  Predseda importers a Miss you Chain - vypadá to perfektně
                  Amiga 1200, Blizzard 1230 / 50MHz, 32MB Fast RAM, CF 8GB, OS 3.2

                  Komentovat

                  Zpracovávám...
                  X