Vlákno názorů k článku Grafické karty a grafické akcelerátory (4) od zilog - Musím opravit jedno tvrzení: "grafický režim 256x192 pixelů, každý...

  • Článek je starý, nové názory již nelze přidávat.
  • 23. 3. 2005 8:04

    zilog (neregistrovaný)
    Musím opravit jedno tvrzení:
    "grafický režim 256x192 pixelů, každý pixel může nabývat jedné ze čtyř /OPRAVA: ŠESTNÁCTI/ barev..."

    Jinak řečeno o grafických módech SAMa:

    Mode 1: 256*192 bodů, 2 barvy ze 16 pro 8*8 pixelů - mód ZX Spectra, 6144 bajtů pixelů + 32*24, tj. 768 bajtů atributů
    Mode 2: 256*192 bodů, 2 barvy ze 16 pro 8*1 pixel, 6144 bajtů pixelů + 32*192, tj. 6144 bajtů atributů
    Mode 3: 512*192, 4 barvy, 24576 bajtů
    Mode 4: 256*192, 16 barev, 24576 bajtů

    Barvy je možno vybrat z celkové palety 128 barev (s HW rozšířením Kaleidoscope 32768 barev - to se však příliš dlouho neprodávalo).

    Více barev než 16 (256*192 bodů) nebo 4 (512*192) jde zobrazit v rámci přepínání palety 16 (nebo 4) barev na řádek. Přepínání barevných palet a dokonce i grafických módů v rámci zobrazeného screenu provádí ASIC čip (kromě stránkování emuluje i hw porty ZX Spectra 48k) a lze tak činit přímo příkazy SAM Basicu (resp. Master Basicu).

    Textové režimy se tvoří v grafice, v režimu 256*192 obvykle znaky o velikosti 8*8 až 8*12, 6*8, 4*8 bodů. Rozlišení 512*192 je používáno pro znaky o šířce 6 či 8 bodů, tedy obvykle 64*24 znaků či 85*24 znaků (proměnlivou velikost znaků nastavíte příkazem CSIZE v SAM Basicu).

    Práce s přepínáním obrazovek dovoluje např. textovku s grafikou v módu 4 (16 barev), pod tím ikony v 16 barvách s jinými 16 barvami, a v dolní polovině obrazovky mód 3 se 64 znaky na řádek ve 4 barvách. Nejspodnější informační (stavový) řádek může mít opět další odlišné 4 barvy.

    S trochou šikovnosti lze na obrazovku dostat obrázky s 32 barvami z Amigy. SAM Basic to už nepodporuje, ale při využití přerušení, se správným načasováním, lze přepnout balík barev a dokonce graf. mód i uprostřed řádky!

    Levným a efektivním řešením je přepínání obrazovek (obdoba jednoduššího řešení se 2 obrazovkami u ZX Spectra 128k). I SAM Basic dovoluje v rámci základní paměti 512 KB otevřít si větší počet obrazovek (OPEN SCREEN), střídavě v nich tvořit grafiku (náhravat obrázky), z nichž lze některou zobrazit (DISPLAY).

    Obrazovku lze také vypnout, neboť grafika vlastně SAMa zpomaluje :o), takže některé programy při vybraných operacích, např. assembler Comet při překladu zdrojového textu do binárky, vypínají obraz - v takovém případě počítač "běží" na maximu 6 MHz.

    Ještě dvě zajímavosti:

    1. Autorem SAM Basicu je autor Beta Basicu pro ZX Spectrum Dr. Andy Wright, SAM Coupe přečte spectrácké kazety, diskety s formátem dobově nejkvalitnějšího disk. řadiče Disciple či Plus D a spustí basicové programy, tedy i vykreslí grafikou. I když SAM Coupe dokáže plně emulovat ZX Spectrum i na úrovni strojového kódu a přístupu k periferiím, je v emulačním módu o trochu rychlejší, takže časování některých kritických rutin v trikové grafice spectráckých programů (hlavně dem) je třeba upravit :-)

    2. SAM měl mít původně 64 barev, ale když Bo Jangeborg (autor spectráckých her Fairlight 1 a 2 a graf. programů Artist 1 a 2) začal psát - SAMovi a jeho graf. možnostem na míru - graf. balík "Flash!" , doporučil počet barev zvýšit.

    Emulátor SAMa (troufám si tvrdit, že jeden z nejkvalitnějších emulátorů i s ohledem na možnosti nastavení) naleznete na:
    http://www.simonowen.com/
  • 23. 3. 2005 20:21

    tisnik (neregistrovaný)
    Ta chybicka se vloudila diky memu chaotickemu psani poznamek :-) Proste jsem si kdysi napsal rozliseni 256x192x4, ale problem je v tom, ze nekdy tu ctverku chapu jako pocet bitu na pixel (tj. zname bpp) a nekdy jako pocet barev :-)

    Dekuji za vycerpavajici popis SAMa. To zpomalovani vypoctu pri zapnute grafice je celkem logicke (vyplyva to z rezimu pristupu do pameti) a napriklad u Atarka se vypnutim DMA pro grafiku dal urychlit vypocet az o tricet procent! (pouzival jsem to napriklad u svych "fraktalovacu"). Jeste si to pamatuju: vypnuti DMA: POKE 559,0, opetovne zapnuti: POKE 559,34.

    Samozrejme, ze to zpomaleni zalezelo na nahozenem grafickem rezimu, cim mene informaci na obrazovce, tim mensi zpomaleni.
  • 24. 3. 2005 7:28

    zilog (neregistrovaný)
    U SAMa zpomalovala jen zakl. pamet 512k, v niz mohla lezet videopamet.

    Externi 4MB RAM a pamet ROM bezi bez omezeni rychlosti.
    Techn. manual k SAMovi proto doporucuje napr. pouzivat blok kodu s LDIR ulozeny v ROM.
  • 24. 3. 2005 8:05

    Pavel Tišnovský
    Zlatý podporovatel
    Ten soucasny pristup byl reseny dvema sbernicema? Na Atarku se totiz pri pristupu GFX cipu (tj. Anticu) do pameti poslal CPU signal HALT a procesorek se slusne na jeden nebo vice taktu odpojil od sbernice (vystupy na velkou impedanci). Trosku to obchazel az obvod ve vyssich modelech, tj. Atari 130XE.
  • 15. 2. 2007 0:52

    jarop (neregistrovaný)
    Neviem ako na SAMovi ale na Amige boli dva druhy pamate - Fast RAM a Chip RAM.
    Do FAST mal pristup len procesor a CHIP bola zdielana s chipsetom. Na urovni zbernice to zrejme tiez muselo byt nejako rozdelene.
  • 23. 3. 2005 22:35

    Pepík
    Parada, funkcni emulator. Nemate prosim jeste nekdo link na rom image sama? Patral jsem a nevypatral - dekuju moc.
  • 24. 3. 2005 7:25

    zilog (neregistrovaný)
    ROM image je soucasti dodavky emulatoru (jako samostatny file), tak proc hledat :-)
    Pro ty, co se chteji presvedcit, ze se jedna o pravou ROM ;-), jeden odkaz:
    sam.speccy.cz

    Samozrejme si lze do emulatoru nastavit i upravene, cizi, tedy "externi" ROMky, napr. 16k ze ZX Spectra...