OldComp.cz http://oldcomp.cz/ |
|
Popis SCREENu pro Sam? http://oldcomp.cz/viewtopic.php?f=65&t=6761 |
Stránka 1 z 2 |
Autor: | mmartinka [ 06.10.2018, 15:47 ] |
Předmět příspěvku: | Popis SCREENu pro Sam? |
Přidávám si do svého prohlížece podporu pro Sam, ale nějak mi není jasné jak je ten obraz organizovaný. Co asi vím Mode 1 = ZX Spectrum kompatibilní 256x192 Mode 2 = Timex Hi-color 8*1 compatibilní ? 256x192 Mode 3 = jak jsem pochopil to je spíše textový rezim 512x192 Mode 4 = 256x192x4bit Organizovaní jako 192 řádků po 128 bajtech a jeden bajt reprezentuje 2bity obr a barvu? 1) Co je obraz a co barva? 2) každý obr (mode 4) má na konci 41 bajtů asi barevná tabulka? Mohl by mi to nějaký zkušený uživatel Sama osvětlit...díky |
Autor: | dex [ 06.10.2018, 16:28 ] |
Předmět příspěvku: | Re: Popis SCREENu pro Sam? |
Citace: Přidávám si do svého prohlížece podporu pro Sam, ale nějak mi není jasné jak je ten obraz organizovaný. Co asi vím Mode 1 = ZX Spectrum kompatibilní 256x192 Mode 2 = Timex Hi-color 8*1 compatibilní ? 256x192 Ne-e. Nerespektuje "napřeskáčku" adresování Spectra, ale adresuje postupně. Má ovšem, jako Timex, oddělený blok pixelů a blok atributů. Je mezi nimi ovšem 2 KiO mezera. Citace: Mode 3 = jak jsem pochopil to je spíše textový rezim 512x192 Ne-e. Je to režim s dvojnásobným horizontálním rozlišením (proti módu 4 a dalším) za cenu polovičního prostoru pro kódování barvy (proti módu 4 jen 4 barvy z palety 128 místo 16 barev z palety 128). Jeden oktet nese informaci o 4 pixelech. Citace: Mode 4 = 256x192x4bit Organizovaní jako 192 řádků po 128 bajtech a jeden bajt reprezentuje 2bity obr a barvu? Ne-e. Mode 4 má barvu kódovanou 4 bity (0-15), 16 možných barev (resp. položek z palety 128 barev). Jeden oktet tedy nese informaci o dvou pixelech. VRAM je v tomto módu organizována lineárně. Citace: 1) Co je obraz a co barva? Pixely a atributy jsou jen v režimech 1 a 2. Režimy 3 a 4 kódují co pixel, to samostatná barva. Citace: 2) každý obr (mode 4) má na konci 41 bajtů asi barevná tabulka? Tabulka palety by měla být jen 16 bajtů. Ale záleží na formátu, co máš - superSCREEN$ teba přidává hlavičku 128 bajtů. Doporučuji technický manuál: https://sam.speccy.cz/systech/sam-coupe ... n_v3-0.pdf |
Autor: | SCjoe [ 06.10.2018, 17:15 ] |
Předmět příspěvku: | Re: Popis SCREENu pro Sam? |
Je to takto: Mód 1 je spektrácký, tj. 256x192 bodů a 32x24 buněk se 2 barvami z celkových 16. Mírné vylepšení je v tom, že do jakékoliv z pozice 16 barev lze dát libovolnou z celkového počtu 128 barev, tedy mít nejen 15 spektráckých (neb zxs-černá je v jasu stejná). Někdy se to plete, hovoří se o paletě a není jasné, zda o obrazové paletě 16 barev či o celkové paletě 128 barev. Mód 2 je podobný, s atributy v rastru 32x192, tj. 6144 obrazové a 6144 atributové paměti. Lineární, pixely, resp. bajty jdou pěkně za sebou. Poukování do obrazové paměti si lze po resetu vyzkoušet POKE od adresy 507904 (pak lze se začátkem obrazu šoupat). V tomto módu jsou atributy umístěny až 8192 bajtů od bitmapy. Čili POKE 507904,pixelový-bajt a pomocí POKE 507904+8192,barvy lze prvních 8 pixelů obarvit. Mód 3 je klasická a plnohodnotná, lineárně uspořádaná grafika, ale jen s málo, totiž 4 barvami. Už žádné atributy, barvy jsou přímo v pixelu a podle tohoto množství barev se vejde pixelů do bajtu. Zde jeden bajt uchovává 4 pixely aneb 2 bity tvoří a barví pixel. Viz https://sam.speccy.cz/gfxm3.html Textový mód se mu říká, protože v něm listing a borlandovský desktop v 85x24 nebo 64x24 znacích vypadá profi Příkazem CSIZE si lze vyzkoušet i jiné výšky, např. CSIZE 8,10 nebo CSIZE 6,7, v MasterBASICu lze měnit i šířky znaků. Mód 4 má na rozdíl od předchozího 16 barev. Tedy jeden bajt určuje dva pixely, jeden pixel potřebuje 4 bity. Maximální počet barev v jednotlivých módech (4 nebo 16 barev) znamená především to, s kolika barvami se běžně počítá na jednom řádku. Programově lze dostat barev na obrazovku více, v SAM BASICu lze rychle dvě barvy v jedné barvové pozici střídat a nastavit i rychlost tohoto blikání. A především lze měnit od libovolné řádky barvu nebo i více barev. Tyhle basicové možnosti se ukládají do SCREENů, pracuje se tedy nejen s paletou 16 pozic (PALETTE TABLE), ale i se změnami (LINE INTERRUPT COLOUR TABLE). Samíkovi lze vnutit i více barev přímo na řádku, ale tohle už basic nepodporuje, chce to časování a žralo by to hodně strojového času. Tuším, že SHAMVIEV pracuje s 32 barvami na řádek. Po řádcích i přímo na nich lze přepínat mezi graf. módy - něco umí MasterBASIC a pár utilit pro modeswitching, viz vlevo na https://sam.speccy.cz/coding.html Ale tyhle libůstky už ve standardních SCREENech nejsou. Jestli jde o to, podporovat klasické SCREENy, pak stačí následující info: https://sam.speccy.cz/systech/sam-coupe ... n_v3-0.pdf https://sam.speccy.cz/basic/sam-basic_c ... _guide.pdf Jen je třeba počítat s tím, že obrázek může občas mít více než 16 barev a že MasterBASIC někdy ukládá na disketu obrazovky spakované (má 3 stupně - buď žádná, mírná nebo ultra komprese). |
Autor: | SCjoe [ 06.10.2018, 18:03 ] | |||
Předmět příspěvku: | Re: Popis SCREENu pro Sam? | |||
V příloze diskimage s obrázky se 16 a 32 barvami. Např. s pomocí DISK MANAGERu či SCADM je patrno, že uložené screeny mají rozdílnou velikost. Generující program je taky na disketě.
|
Autor: | Antony/DTA [ 06.10.2018, 18:11 ] |
Předmět příspěvku: | Re: Popis SCREENu pro Sam? |
Pozerám, že mi odpoveď dosť trvá, ale niečim prispejem. Mode 1 = 256x192 ZX Spectrum kompatibilný (Scr=6144 bytes, Atr=768 bytes) 16 farieb zo 128. Mode 2 = 256x192 Atribút je 8x1 pixel. (Scr=6144 bytes, Atr=6144 bytes) 16 farieb zo 128. V pamäti je uloženy lineárne a AdrAtr=&2000+AdrScr. Mode 3 = 512x192x2bit (24576 bytes) 4 farby zo 128. Mode 4 = 256x192x4bit (24576 bytes) 16 farieb zo 128. Mode 1 a 2 môže byť na začiatku ľubovolnej stránky základnej pamäte 512KB. Mode 3 a 4 musí byť na začiatku párnej stránky. Jeden bajt obrazovky obsahuje 2 pixle v mode 4 alebo 4 pixle v mode 3, najvyššie bity sú pre pixel vľavo, najnižšie pre pixel vpravo. Napríklad v mode 4 bajt z obrazovky s hodnotou &78 znamená pixel s farbou 7 vľavo a pixel s farbou 8 vpravo. V mode 3 je asi chybička (inak si to neviem vysvetliť) a tak je prehodený význam bitov pre hodnotu farby, takže bajt s hodnotou &1B znamená 4 pixle s farbou 0,2,1,3. "každý obr (mode 4) má na konci 41 bajtů" to platí len pre obrázky bez zmeny palety. Inak je to 40 bajtov zo systému z adresy &55D8 PALTAB, plus 1 bajt z &5600 LINICOLS čo je len koncová značka tuším &FF (riadok môže byť len 0 až 191). Inak prerušenie na riadku sa vykoná na konci predchádzajúceho riadku a to platí aj pre riadok 0. Tých 40 bajtov je: 16 bajtov paleta farieb od 0 do 15 4 bajty nejaká paleta farieb pre mode 3 16 bajtov alternatívna paleta farieb pre striedanie paliet 4 bajty nejaká alternatívna paleta pre mode 3 |
Autor: | Antony/DTA [ 06.10.2018, 18:27 ] |
Předmět příspěvku: | Re: Popis SCREENu pro Sam? |
SCjoe píše: Tuším, že SHAMVIEV pracuje s 32 barvami na řádek. Maximálne 11 farebných zmien na riadok (od farby 15 dole), ale SAM zvládne 13 a s FastRam 24. |
Autor: | SCjoe [ 06.10.2018, 18:46 ] |
Předmět příspěvku: | Re: Popis SCREENu pro Sam? |
Antony/DTA píše: V mode 3 je asi chybička (inak si to neviem vysvetliť) a tak je prehodený význam bitov pre hodnotu farby, takže bajt s hodnotou &1B znamená 4 pixle s farbou 0,2,1,3. Vida. Nechápal jsem taky (a nikdo v Kapse mi to neuměl vysvětlit) a myslel, že je v tom nějaký vyšší záměr s převrácenou adresací úměrný logice architektů videa Sharpa. A ještě pěkný příklad pro MODE 4: asi nejvíce barev na obrazovce v basicu má Velesoftův SNAPER |
Autor: | mmartinka [ 06.10.2018, 20:09 ] |
Předmět příspěvku: | Re: Popis SCREENu pro Sam? |
Chlapy díky za vysvětlení a doufám že se to bude hodit i někomu dalšímu... |
Autor: | Antony/DTA [ 07.10.2018, 21:45 ] |
Předmět příspěvku: | Re: Popis SCREENu pro Sam? |
https://en.wikipedia.org/wiki/List_of_8 ... e_graphics Ten obrázok papagája nie je zo Sama, ale ostatné sedí. |
Autor: | SCjoe [ 28.10.2018, 06:57 ] | |||
Předmět příspěvku: | Re: Popis SCREENu pro Sam? | |||
Jsem při disketových vykopávkách našel stařičký obrázek s více než 20 barvami. O barvy tohoto původně černobílého spektráckého díla z Art Studia ale ani moc nešlo. Dojem mělo udělat hlavně protažení barevných pásů do borderu. Bohužel aktuální barva borderu se do SCREEN fajlu neukládá...
|
Autor: | Antony/DTA [ 28.10.2018, 10:06 ] |
Předmět příspěvku: | Re: Popis SCREENu pro Sam? |
SCjoe píše: Bohužel aktuální barva borderu se do SCREEN fajlu neukládá... Áno, to je škoda, ale ten sa neukladá ani na ZX Spectre.Mne viac vadí, že sa neukladá ani mód, v ktorom sa má obrázok zobraziť. |
Autor: | mmartinka [ 28.10.2018, 21:00 ] |
Předmět příspěvku: | Re: Popis SCREENu pro Sam? |
Antony/DTA píše: Mne viac vadí, že sa neukladá ani mód, v ktorom sa má obrázok zobraziť. Taky jsem koukal že obrázky v mode 4 i mode 3 mají stejnou velikost. Tudíš se nedaji rozlišit podle velikosti. Jak funguje přepínání těch (barvových) bank když je v obrazku více jak 16 barev? |
Autor: | Antony/DTA [ 28.10.2018, 22:30 ] |
Předmět příspěvku: | Re: Popis SCREENu pro Sam? |
mmartinka píše: Jak funguje přepínání těch (barvových) bank když je v obrazku více jak 16 barev? Prepínanie bank je pre FLASH, ktorý je v mode 1 a 2 hardvérový podľa atribútov. V mode 3 a 4 niesu atribúty a FLASH sa robí softvérovo prepínaním dvoch paliet, rýchlosť prepínania sa v Basicu nastavuje premennou SPEEDINK na adrese &5A08. Na začiatku obrazovky sa nastaví celá paleta podľa PALTAB a počas zobrazovania sa môžu meniť jednotlivé farby na určenom riadku podľa LINICOLS. Tieto data sú hneď za sebou aj v súbore. V Basicu je maximum 127 zmien palety, lebo LINICOLS má len 512 bajtov a každá zmena farby má 4 bajty: Line 0-191, CLUT 0-15, Color1 0-127, Color2 0-127 Line je číslo riadku (zhora dole) na ktorom sa prevedie zmena farby. Basicový príkaz "PALETTE CLUT,Color1(,Color2) LINE Line" riadky samozrejme čísluje opačne (zdola hore). Koniec LINICOLS indikuje číslo>191. |
Autor: | SCjoe [ 29.10.2018, 21:46 ] |
Předmět příspěvku: | Re: Popis SCREENu pro Sam? |
Antony/DTA píše: Mne viac vadí, že sa neukladá ani mód, v ktorom sa má obrázok zobraziť. Jak to myslíš? A co 17. bajt UIFA aneb 222. bajt položky v adresáři: If the file type is 20 then these bytes contain the screen mode. |
Stránka 1 z 2 | Všechny časy jsou v UTC + 1 hodina [ Letní čas ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |